@itwin/rpcinterface-full-stack-tests 5.0.0-dev.23 → 5.0.0-dev.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/_bea9.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +278 -67
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_1_6_node_modules_loaders_gl_draco_di-0642a6.bundled-tests.js.map +1 -1
- package/package.json +13 -13
- package/lib/dist/vendors-common_temp_node_modules_pnpm_meshoptimizer_0_20_0_node_modules_meshoptimizer_index_m-a5ae61.bundled-tests.js +0 -698
- package/lib/dist/vendors-common_temp_node_modules_pnpm_meshoptimizer_0_20_0_node_modules_meshoptimizer_index_m-a5ae61.bundled-tests.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\
|
|
1
|
+
{"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\15\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
|
|
@@ -73355,13 +73355,13 @@ var CurrentImdlVersion;
|
|
|
73355
73355
|
* front-end is not capable of reading the tile content. Otherwise, this front-end can read the tile content even if the header specifies a
|
|
73356
73356
|
* greater minor version than CurrentVersion.Minor, although some data may be skipped.
|
|
73357
73357
|
*/
|
|
73358
|
-
CurrentImdlVersion[CurrentImdlVersion["Major"] =
|
|
73358
|
+
CurrentImdlVersion[CurrentImdlVersion["Major"] = 36] = "Major";
|
|
73359
73359
|
/** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can
|
|
73360
73360
|
* read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.
|
|
73361
73361
|
*/
|
|
73362
73362
|
CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
|
|
73363
73363
|
/** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
|
|
73364
|
-
CurrentImdlVersion[CurrentImdlVersion["Combined"] =
|
|
73364
|
+
CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2359296] = "Combined";
|
|
73365
73365
|
})(CurrentImdlVersion || (CurrentImdlVersion = {}));
|
|
73366
73366
|
/** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
|
|
73367
73367
|
* @internal
|
|
@@ -85112,8 +85112,10 @@ class ThreeAxes {
|
|
|
85112
85112
|
class AccuDraw {
|
|
85113
85113
|
constructor() {
|
|
85114
85114
|
this._currentState = CurrentState.NotEnabled;
|
|
85115
|
-
|
|
85116
|
-
this.
|
|
85115
|
+
/** The current compass mode */
|
|
85116
|
+
this.compassMode = CompassMode.Rectangular;
|
|
85117
|
+
/** The current compass rotation */
|
|
85118
|
+
this.rotationMode = RotationMode.View;
|
|
85117
85119
|
/** @internal */
|
|
85118
85120
|
this.published = new AccudrawData(); // Staging area for hints
|
|
85119
85121
|
/** @internal */
|
|
@@ -85186,15 +85188,23 @@ class AccuDraw {
|
|
|
85186
85188
|
this._frameColorNoFocus = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.create(_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName.darkGrey);
|
|
85187
85189
|
/** @internal */
|
|
85188
85190
|
this._fillColorNoFocus = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.create(_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName.lightGrey);
|
|
85189
|
-
|
|
85191
|
+
/** When true improve behavior for +/- input when cursor switches side and try to automatically manage focus */
|
|
85190
85192
|
this.smartKeyin = true;
|
|
85193
|
+
/** When true the compass follows the origin hint as opposed to remaining at a fixed location */
|
|
85191
85194
|
this.floatingOrigin = true;
|
|
85195
|
+
/** When true the z input field will remain locked with it's current value after a data button */
|
|
85192
85196
|
this.stickyZLock = false;
|
|
85197
|
+
/** When true the compass is always active and on screen instead of following the current tools request to activate */
|
|
85193
85198
|
this.alwaysShowCompass = false;
|
|
85199
|
+
/** When true all tool hints are applied as opposed to only selected hints */
|
|
85194
85200
|
this.contextSensitive = true;
|
|
85201
|
+
/** When true the current point is adjusted to the x and y axes when within a close tolerance */
|
|
85195
85202
|
this.axisIndexing = true;
|
|
85203
|
+
/** When true the current point is adjusted to the last locked distance value when within a close tolerance */
|
|
85196
85204
|
this.distanceIndexing = true;
|
|
85205
|
+
/** When true locking the angle also moves focus to the angle input field */
|
|
85197
85206
|
this.autoFocusFields = true;
|
|
85207
|
+
/** When true fully specifying a point by entering both distance and angle in polar mode or XY[Z] in rectangular mode, the point is automatically accepted */
|
|
85198
85208
|
this.autoPointPlacement = false;
|
|
85199
85209
|
}
|
|
85200
85210
|
/** Current AccuDraw state */
|
|
@@ -85216,9 +85226,13 @@ class AccuDraw {
|
|
|
85216
85226
|
_itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Matrix3d.createRows(this.axes.x, this.axes.y, this.axes.z, rMatrix);
|
|
85217
85227
|
return rMatrix;
|
|
85218
85228
|
}
|
|
85219
|
-
|
|
85229
|
+
/** When true AccuDraw is enabled by the application and can be used by interactive tools */
|
|
85220
85230
|
get isEnabled() { return (this.currentState > CurrentState.NotEnabled); }
|
|
85231
|
+
/** When true the compass is displayed and adjusting input points for the current interactive tool */
|
|
85232
|
+
get isActive() { return CurrentState.Active === this.currentState; }
|
|
85233
|
+
/** When true the compass is not displayed or adjusting points, but it can be automatically activated by the current interactive tool or via shortcuts */
|
|
85221
85234
|
get isInactive() { return (CurrentState.Inactive === this.currentState); }
|
|
85235
|
+
/** When true the compass is not displayed or adjusting points, the current interactive tool has disabled automatic activation, but can still be enabled via shortcuts */
|
|
85222
85236
|
get isDeactivated() { return (CurrentState.Deactivated === this.currentState); }
|
|
85223
85237
|
/** Get the current lock state for the supplied input field */
|
|
85224
85238
|
getFieldLock(index) { return this._fieldLocked[index]; }
|
|
@@ -85784,25 +85798,64 @@ class AccuDraw {
|
|
|
85784
85798
|
getLengthParser() {
|
|
85785
85799
|
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findParserSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Length);
|
|
85786
85800
|
}
|
|
85801
|
+
/** Allow the AccuDraw user interface to supply the distance parser */
|
|
85802
|
+
getLengthFormatter() {
|
|
85803
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Length);
|
|
85804
|
+
}
|
|
85787
85805
|
stringToDistance(str) {
|
|
85788
85806
|
const parserSpec = this.getLengthParser();
|
|
85789
85807
|
if (parserSpec)
|
|
85790
85808
|
return parserSpec.parseToQuantityValue(str);
|
|
85791
85809
|
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.ParseError.InvalidParserSpec };
|
|
85792
85810
|
}
|
|
85811
|
+
stringFromDistance(distance) {
|
|
85812
|
+
const formatterSpec = this.getLengthFormatter();
|
|
85813
|
+
let formattedValue = distance.toString();
|
|
85814
|
+
if (formatterSpec)
|
|
85815
|
+
formattedValue = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(distance, formatterSpec);
|
|
85816
|
+
return formattedValue;
|
|
85817
|
+
}
|
|
85793
85818
|
/** Allow the AccuDraw user interface to specify bearing */
|
|
85794
|
-
get isBearingMode() { return
|
|
85819
|
+
get isBearingMode() { return this.getAngleParser()?.format.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.FormatType.Bearing; }
|
|
85820
|
+
/** Allow the AccuDraw user interface to specify bearing directions are always in xy plane */
|
|
85821
|
+
get bearingFixedToPlane2d() { return this.flags.bearingFixToPlane2D; }
|
|
85822
|
+
set bearingFixedToPlane2d(enable) { this.flags.bearingFixToPlane2D = enable; }
|
|
85795
85823
|
/** Allow the AccuDraw user interface to supply the angle/direction parser */
|
|
85796
85824
|
getAngleParser() {
|
|
85797
|
-
// TODO: Use QuantityType.Angle when isBearingMode=false and "Bearing" for isBearingMode=true.
|
|
85798
85825
|
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findParserSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Angle);
|
|
85799
85826
|
}
|
|
85827
|
+
/** Allow the AccuDraw user interface to supply the angle/direction formatter */
|
|
85828
|
+
getAngleFormatter() {
|
|
85829
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Angle);
|
|
85830
|
+
}
|
|
85800
85831
|
stringToAngle(inString) {
|
|
85801
85832
|
const parserSpec = this.getAngleParser();
|
|
85802
85833
|
if (parserSpec)
|
|
85803
85834
|
return parserSpec.parseToQuantityValue(inString);
|
|
85804
85835
|
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.ParseError.InvalidParserSpec };
|
|
85805
85836
|
}
|
|
85837
|
+
stringFromAngle(angle) {
|
|
85838
|
+
if (this.isBearingMode && this.flags.bearingFixToPlane2D) {
|
|
85839
|
+
const point = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.axes.x.x, this.axes.x.y, 0.0);
|
|
85840
|
+
point.normalizeInPlace();
|
|
85841
|
+
let adjustment = Math.acos(point.x);
|
|
85842
|
+
if (point.y < 0.0)
|
|
85843
|
+
adjustment = -adjustment;
|
|
85844
|
+
angle += adjustment;
|
|
85845
|
+
}
|
|
85846
|
+
const formatterSpec = this.getAngleFormatter();
|
|
85847
|
+
let formattedValue = angle.toString();
|
|
85848
|
+
if (formatterSpec)
|
|
85849
|
+
formattedValue = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(angle, formatterSpec);
|
|
85850
|
+
return formattedValue;
|
|
85851
|
+
}
|
|
85852
|
+
/** Can be called by sub-classes to get a formatted value to display for an AccuDraw input field */
|
|
85853
|
+
getFormattedValueByIndex(index) {
|
|
85854
|
+
const value = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.getValueByIndex(index);
|
|
85855
|
+
if (ItemField.ANGLE_Item === index)
|
|
85856
|
+
return this.stringFromAngle(value);
|
|
85857
|
+
return this.stringFromDistance(value);
|
|
85858
|
+
}
|
|
85806
85859
|
updateFieldValue(index, input) {
|
|
85807
85860
|
if (input.length === 0)
|
|
85808
85861
|
return _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR;
|
|
@@ -87311,9 +87364,35 @@ class AccuDraw {
|
|
|
87311
87364
|
onBeginDynamics() { return this.upgradeToActiveState(); }
|
|
87312
87365
|
/** @internal */
|
|
87313
87366
|
onEndDynamics() { return this.downgradeInactiveState(); }
|
|
87367
|
+
/** Can be called by sub-classes as the default implementation of onMotion.
|
|
87368
|
+
* @see [[onMotion]]
|
|
87369
|
+
* @note Input fields are expected to call [[AccuDrawShortcuts.itemFieldNewInput]] when the user enters a value that is not a shortcut
|
|
87370
|
+
* and call [[AccuDrawShortcuts.itemFieldCompletedInput]] when a value is accepted, such as when focusing out of the field. This is
|
|
87371
|
+
* required for processMotion to correctly handle updating dynamic field values to reflect the current cursor location.
|
|
87372
|
+
*/
|
|
87373
|
+
processMotion() {
|
|
87374
|
+
if (this.flags.dialogNeedsUpdate || !this.isActive) {
|
|
87375
|
+
if (this.isActive && this.smartKeyin) {
|
|
87376
|
+
// NOTE: fixPointRectangular sets newFocus to either x or y based on which axis is closer to the input point...
|
|
87377
|
+
if (CompassMode.Rectangular === this.compassMode && !this.dontMoveFocus && !this.getFieldLock(this.newFocus))
|
|
87378
|
+
this.setFocusItem(this.newFocus);
|
|
87379
|
+
}
|
|
87380
|
+
const sendDynamicFieldValueChange = (item) => {
|
|
87381
|
+
if (KeyinStatus.Dynamic === this.getKeyinStatus(item))
|
|
87382
|
+
this.onFieldValueChange(item);
|
|
87383
|
+
};
|
|
87384
|
+
// NOTE: Shows the current deltas for rectangular mode when active and current coordinate when not active...
|
|
87385
|
+
sendDynamicFieldValueChange(ItemField.X_Item);
|
|
87386
|
+
sendDynamicFieldValueChange(ItemField.Y_Item);
|
|
87387
|
+
sendDynamicFieldValueChange(ItemField.Z_Item);
|
|
87388
|
+
sendDynamicFieldValueChange(ItemField.ANGLE_Item);
|
|
87389
|
+
sendDynamicFieldValueChange(ItemField.DIST_Item);
|
|
87390
|
+
}
|
|
87391
|
+
}
|
|
87314
87392
|
/** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.
|
|
87315
87393
|
* Should also choose active x or y input field in rectangular mode based on cursor position when
|
|
87316
87394
|
* axis isn't locked to support "smart lock".
|
|
87395
|
+
* @see [[processMotion]]
|
|
87317
87396
|
*/
|
|
87318
87397
|
onMotion(_ev) { }
|
|
87319
87398
|
/** @internal */
|
|
@@ -111986,6 +112065,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
111986
112065
|
/* harmony import */ var _internal_render_AnimationNodeId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../internal/render/AnimationNodeId */ "../../core/frontend/lib/esm/common/internal/render/AnimationNodeId.js");
|
|
111987
112066
|
/* harmony import */ var _internal_render_VertexIndices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../internal/render/VertexIndices */ "../../core/frontend/lib/esm/common/internal/render/VertexIndices.js");
|
|
111988
112067
|
/* harmony import */ var _CompactEdges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CompactEdges */ "../../core/frontend/lib/esm/common/imdl/CompactEdges.js");
|
|
112068
|
+
/* harmony import */ var _tile_internal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../tile/internal */ "../../core/frontend/lib/esm/tile/internal.js");
|
|
111989
112069
|
/*---------------------------------------------------------------------------------------------
|
|
111990
112070
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
111991
112071
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -112004,6 +112084,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
112004
112084
|
|
|
112005
112085
|
|
|
112006
112086
|
|
|
112087
|
+
|
|
112007
112088
|
/** Header preceding "glTF" data in iMdl tile. */
|
|
112008
112089
|
class GltfHeader extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileHeader {
|
|
112009
112090
|
get isValid() { return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileFormat.Gltf === this.format; }
|
|
@@ -112195,10 +112276,15 @@ class Parser {
|
|
|
112195
112276
|
this._stream = stream;
|
|
112196
112277
|
this._timeline = options.timeline;
|
|
112197
112278
|
}
|
|
112198
|
-
parse() {
|
|
112279
|
+
async parse() {
|
|
112199
112280
|
const featureTable = this.parseFeatureTable();
|
|
112200
112281
|
if (!featureTable)
|
|
112201
112282
|
return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.InvalidFeatureTable;
|
|
112283
|
+
if (this.hasMeshoptCompression()) {
|
|
112284
|
+
this._meshoptDecoder = await (0,_tile_internal__WEBPACK_IMPORTED_MODULE_11__.getMeshoptDecoder)();
|
|
112285
|
+
if (!this._meshoptDecoder)
|
|
112286
|
+
return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.InvalidTileData;
|
|
112287
|
+
}
|
|
112202
112288
|
const rtcCenter = this._document.rtcCenter ? {
|
|
112203
112289
|
x: this._document.rtcCenter[0] ?? 0,
|
|
112204
112290
|
y: this._document.rtcCenter[1] ?? 0,
|
|
@@ -112215,6 +112301,26 @@ class Parser {
|
|
|
112215
112301
|
patterns: this._patterns,
|
|
112216
112302
|
};
|
|
112217
112303
|
}
|
|
112304
|
+
hasMeshoptCompression() {
|
|
112305
|
+
let hasMeshoptCompression = false;
|
|
112306
|
+
for (const meshKey of Object.keys(this._document.meshes)) {
|
|
112307
|
+
const mesh = this._document.meshes[meshKey];
|
|
112308
|
+
mesh?.primitives?.forEach((primitive) => {
|
|
112309
|
+
if (primitive.type !== "areaPattern") {
|
|
112310
|
+
const imdlPrimitive = primitive;
|
|
112311
|
+
const vertexTable = imdlPrimitive.vertices;
|
|
112312
|
+
if (vertexTable.compressedSize && vertexTable.compressedSize > 0) {
|
|
112313
|
+
hasMeshoptCompression = true;
|
|
112314
|
+
}
|
|
112315
|
+
const surf = imdlPrimitive.surface;
|
|
112316
|
+
if (surf && surf.compressedIndexCount && surf.compressedIndexCount > 0) {
|
|
112317
|
+
hasMeshoptCompression = true;
|
|
112318
|
+
}
|
|
112319
|
+
}
|
|
112320
|
+
});
|
|
112321
|
+
}
|
|
112322
|
+
return hasMeshoptCompression;
|
|
112323
|
+
}
|
|
112218
112324
|
parseFeatureTable() {
|
|
112219
112325
|
this._stream.curPos = this._featureTableInfo.startPos;
|
|
112220
112326
|
const header = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FeatureTableHeader.readFrom(this._stream);
|
|
@@ -112716,9 +112822,25 @@ class Parser {
|
|
|
112716
112822
|
const surf = mesh.surface;
|
|
112717
112823
|
if (!surf)
|
|
112718
112824
|
return undefined;
|
|
112719
|
-
|
|
112825
|
+
let indices = this.findBuffer(surf.indices);
|
|
112720
112826
|
if (!indices)
|
|
112721
112827
|
return undefined;
|
|
112828
|
+
if (surf.compressedIndexCount && surf.compressedIndexCount > 0) {
|
|
112829
|
+
if (!this._meshoptDecoder) {
|
|
112830
|
+
return undefined;
|
|
112831
|
+
}
|
|
112832
|
+
const decompressedIndices = new Uint8Array(surf.compressedIndexCount * 4);
|
|
112833
|
+
this._meshoptDecoder.decodeIndexSequence(decompressedIndices, surf.compressedIndexCount, 4, indices);
|
|
112834
|
+
// reduce from 32 to 24 bits
|
|
112835
|
+
indices = new Uint8Array(surf.compressedIndexCount * 3);
|
|
112836
|
+
for (let i = 0; i < surf.compressedIndexCount; i++) {
|
|
112837
|
+
const srcIndex = i * 4;
|
|
112838
|
+
const dstIndex = i * 3;
|
|
112839
|
+
indices[dstIndex + 0] = decompressedIndices[srcIndex + 0];
|
|
112840
|
+
indices[dstIndex + 1] = decompressedIndices[srcIndex + 1];
|
|
112841
|
+
indices[dstIndex + 2] = decompressedIndices[srcIndex + 2];
|
|
112842
|
+
}
|
|
112843
|
+
}
|
|
112722
112844
|
const type = surf.type;
|
|
112723
112845
|
if (!(0,_internal_render_SurfaceParams__WEBPACK_IMPORTED_MODULE_4__.isValidSurfaceType)(type))
|
|
112724
112846
|
return undefined;
|
|
@@ -112778,9 +112900,40 @@ class Parser {
|
|
|
112778
112900
|
const json = primitive.vertices;
|
|
112779
112901
|
if (!json)
|
|
112780
112902
|
return undefined;
|
|
112781
|
-
|
|
112782
|
-
if (
|
|
112783
|
-
|
|
112903
|
+
let bytes;
|
|
112904
|
+
if (json.compressedSize && json.compressedSize > 0) {
|
|
112905
|
+
if (!this._meshoptDecoder) {
|
|
112906
|
+
return undefined;
|
|
112907
|
+
}
|
|
112908
|
+
const bufferViewJson = this._document.bufferViews[_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asString(json.bufferView)];
|
|
112909
|
+
if (undefined === bufferViewJson)
|
|
112910
|
+
return undefined;
|
|
112911
|
+
const byteOffset = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asInt(bufferViewJson.byteOffset);
|
|
112912
|
+
const byteLength = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asInt(bufferViewJson.byteLength);
|
|
112913
|
+
if (0 === byteLength)
|
|
112914
|
+
return undefined;
|
|
112915
|
+
const compressedBytes = this._binaryData.subarray(byteOffset, byteOffset + json.compressedSize);
|
|
112916
|
+
if (!compressedBytes)
|
|
112917
|
+
return undefined;
|
|
112918
|
+
bytes = new Uint8Array(json.width * json.height * 4);
|
|
112919
|
+
this._meshoptDecoder.decodeVertexBuffer(bytes, json.count, json.numRgbaPerVertex * 4, compressedBytes);
|
|
112920
|
+
const remainingBytesSize = byteLength - json.compressedSize;
|
|
112921
|
+
// if there are remaining bytes, copy the data that did not go through the compression
|
|
112922
|
+
if (remainingBytesSize > 0) {
|
|
112923
|
+
const remainingBytes = this._binaryData.subarray(byteOffset + json.compressedSize, byteOffset + byteLength);
|
|
112924
|
+
if (!remainingBytes)
|
|
112925
|
+
return undefined;
|
|
112926
|
+
const decompressedSize = json.count * json.numRgbaPerVertex * 4;
|
|
112927
|
+
for (let i = 0; i < remainingBytesSize; i++) {
|
|
112928
|
+
bytes[decompressedSize + i] = remainingBytes[i];
|
|
112929
|
+
}
|
|
112930
|
+
}
|
|
112931
|
+
}
|
|
112932
|
+
else {
|
|
112933
|
+
bytes = this.findBuffer(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asString(json.bufferView));
|
|
112934
|
+
if (!bytes)
|
|
112935
|
+
return undefined;
|
|
112936
|
+
}
|
|
112784
112937
|
const uniformFeatureID = undefined !== json.featureID ? _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asInt(json.featureID) : undefined;
|
|
112785
112938
|
const rangeMin = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asArray(json.params.decodedMin);
|
|
112786
112939
|
const rangeMax = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asArray(json.params.decodedMax);
|
|
@@ -112992,7 +113145,7 @@ function convertFeatureTable(imdlFeatureTable, batchModelId) {
|
|
|
112992
113145
|
return table;
|
|
112993
113146
|
}
|
|
112994
113147
|
/** @internal */
|
|
112995
|
-
function parseImdlDocument(options) {
|
|
113148
|
+
async function parseImdlDocument(options) {
|
|
112996
113149
|
const stream = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ByteStream.fromUint8Array(options.data);
|
|
112997
113150
|
const imdlHeader = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImdlHeader(stream);
|
|
112998
113151
|
if (!imdlHeader.isValid)
|
|
@@ -113037,7 +113190,7 @@ function parseImdlDocument(options) {
|
|
|
113037
113190
|
multiModel: 0 !== (imdlHeader.flags & _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImdlFlags.MultiModelFeatureTable),
|
|
113038
113191
|
};
|
|
113039
113192
|
const parser = new Parser(imdlDoc, binaryData, options, featureTable, stream);
|
|
113040
|
-
return parser.parse();
|
|
113193
|
+
return await parser.parse();
|
|
113041
113194
|
}
|
|
113042
113195
|
catch {
|
|
113043
113196
|
return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.InvalidTileData;
|
|
@@ -118941,6 +119094,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
118941
119094
|
/* harmony export */ getGcsConverterAvailable: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.getGcsConverterAvailable),
|
|
118942
119095
|
/* harmony export */ getImageSourceFormatForMimeType: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.getImageSourceFormatForMimeType),
|
|
118943
119096
|
/* harmony export */ getImageSourceMimeType: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.getImageSourceMimeType),
|
|
119097
|
+
/* harmony export */ getMeshoptDecoder: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.getMeshoptDecoder),
|
|
118944
119098
|
/* harmony export */ getQuantityTypeKey: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_71__.getQuantityTypeKey),
|
|
118945
119099
|
/* harmony export */ headersIncludeAuthMethod: () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_124__.headersIncludeAuthMethod),
|
|
118946
119100
|
/* harmony export */ iModelTileParamsFromJSON: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.iModelTileParamsFromJSON),
|
|
@@ -159193,10 +159347,10 @@ function acquireImdlParser(args) {
|
|
|
159193
159347
|
const timeline = args.timeline;
|
|
159194
159348
|
if (args.noWorker) {
|
|
159195
159349
|
return {
|
|
159196
|
-
parse: async (options) =>
|
|
159350
|
+
parse: async (options) => (0,_common_imdl_ParseImdlDocument__WEBPACK_IMPORTED_MODULE_3__.parseImdlDocument)({
|
|
159197
159351
|
...options,
|
|
159198
159352
|
timeline,
|
|
159199
|
-
})
|
|
159353
|
+
}),
|
|
159200
159354
|
release: () => undefined,
|
|
159201
159355
|
};
|
|
159202
159356
|
}
|
|
@@ -159329,7 +159483,7 @@ async function readImdlContent(args) {
|
|
|
159329
159483
|
createUntransformedRootNode: args.containsTransformNodes,
|
|
159330
159484
|
modelGroups: args.modelGroups,
|
|
159331
159485
|
};
|
|
159332
|
-
const document = args.parseDocument ? (await args.parseDocument(parseOpts)) : (0,_common_imdl_ParseImdlDocument__WEBPACK_IMPORTED_MODULE_5__.parseImdlDocument)({ ...parseOpts, timeline: args.timeline });
|
|
159486
|
+
const document = args.parseDocument ? (await args.parseDocument(parseOpts)) : await (0,_common_imdl_ParseImdlDocument__WEBPACK_IMPORTED_MODULE_5__.parseImdlDocument)({ ...parseOpts, timeline: args.timeline });
|
|
159333
159487
|
if (isCanceled())
|
|
159334
159488
|
return { isLeaf: true, readStatus: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.Canceled };
|
|
159335
159489
|
else if (typeof document === "number")
|
|
@@ -159755,7 +159909,8 @@ class LRUTileList {
|
|
|
159755
159909
|
"use strict";
|
|
159756
159910
|
__webpack_require__.r(__webpack_exports__);
|
|
159757
159911
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
159758
|
-
/* harmony export */ decodeMeshoptBuffer: () => (/* binding */ decodeMeshoptBuffer)
|
|
159912
|
+
/* harmony export */ decodeMeshoptBuffer: () => (/* binding */ decodeMeshoptBuffer),
|
|
159913
|
+
/* harmony export */ getMeshoptDecoder: () => (/* binding */ getMeshoptDecoder)
|
|
159759
159914
|
/* harmony export */ });
|
|
159760
159915
|
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
159761
159916
|
/* harmony import */ var _common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/FrontendLoggerCategory */ "../../core/frontend/lib/esm/common/FrontendLoggerCategory.js");
|
|
@@ -159768,61 +159923,115 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
159768
159923
|
*/
|
|
159769
159924
|
|
|
159770
159925
|
|
|
159771
|
-
|
|
159772
|
-
|
|
159773
|
-
|
|
159774
|
-
|
|
159926
|
+
;
|
|
159927
|
+
// This is a modified version of https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js.
|
|
159928
|
+
// The orginial code will load wasm when the module is imported, which seems to upset vitest somehow.
|
|
159929
|
+
// This version loads wasm only when a decoder is requested, which only occurs when parsing a compressed tile.
|
|
159930
|
+
async function getDecoder() {
|
|
159931
|
+
// Built with clang version 16.0.0
|
|
159932
|
+
// Built from meshoptimizer 0.20
|
|
159933
|
+
const wasmBase = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
|
|
159934
|
+
const wasmSimd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
|
|
159935
|
+
const detector = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]);
|
|
159936
|
+
const wasmpack = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
|
|
159937
|
+
if (typeof WebAssembly !== 'object') {
|
|
159938
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory.Render, "WebAssembly is not supported in this environment");
|
|
159939
|
+
return undefined;
|
|
159775
159940
|
}
|
|
159776
|
-
|
|
159777
|
-
|
|
159778
|
-
|
|
159779
|
-
|
|
159780
|
-
|
|
159781
|
-
|
|
159782
|
-
return undefined;
|
|
159783
|
-
case "ready":
|
|
159784
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== this._decoder);
|
|
159785
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined === this._promise);
|
|
159786
|
-
return this._decoder;
|
|
159787
|
-
case "loading":
|
|
159788
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== this._promise);
|
|
159789
|
-
await this._promise;
|
|
159790
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)("failed" === this._status || "ready" === this._status);
|
|
159791
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined === this._promise);
|
|
159792
|
-
return this._decoder;
|
|
159793
|
-
}
|
|
159794
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)("uninitialized" === status);
|
|
159795
|
-
this._status = "loading";
|
|
159796
|
-
this._promise = this.load();
|
|
159797
|
-
return this.getDecoder();
|
|
159941
|
+
const wasm = WebAssembly.validate(detector) ? unpack(wasmSimd) : unpack(wasmBase);
|
|
159942
|
+
let instance;
|
|
159943
|
+
try {
|
|
159944
|
+
const result = await WebAssembly.instantiate(wasm, {});
|
|
159945
|
+
instance = result.instance;
|
|
159946
|
+
instance.exports.__wasm_call_ctors();
|
|
159798
159947
|
}
|
|
159799
|
-
|
|
159800
|
-
|
|
159801
|
-
|
|
159802
|
-
|
|
159803
|
-
|
|
159804
|
-
|
|
159805
|
-
|
|
159806
|
-
|
|
159807
|
-
|
|
159808
|
-
}
|
|
159809
|
-
|
|
159810
|
-
|
|
159811
|
-
|
|
159812
|
-
}
|
|
159813
|
-
|
|
159814
|
-
|
|
159815
|
-
|
|
159948
|
+
catch (err) {
|
|
159949
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logException(_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory.Render, err);
|
|
159950
|
+
return undefined;
|
|
159951
|
+
}
|
|
159952
|
+
function unpack(data) {
|
|
159953
|
+
const result = new Uint8Array(data.length);
|
|
159954
|
+
for (let i = 0; i < data.length; ++i) {
|
|
159955
|
+
const ch = data.charCodeAt(i);
|
|
159956
|
+
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
159957
|
+
}
|
|
159958
|
+
let write = 0;
|
|
159959
|
+
for (let i = 0; i < data.length; ++i) {
|
|
159960
|
+
result[write++] = (result[i] < 60) ? wasmpack[result[i]] : (result[i] - 60) * 64 + result[++i];
|
|
159961
|
+
}
|
|
159962
|
+
return result.buffer.slice(0, write);
|
|
159963
|
+
}
|
|
159964
|
+
function decode(decoder, target, count, size, source, filter) {
|
|
159965
|
+
const fun = instance.exports[decoder];
|
|
159966
|
+
const sbrk = instance.exports.sbrk;
|
|
159967
|
+
const count4 = (count + 3) & ~3;
|
|
159968
|
+
const tp = sbrk(count4 * size);
|
|
159969
|
+
const sp = sbrk(source.length);
|
|
159970
|
+
const heap = new Uint8Array(instance.exports.memory.buffer);
|
|
159971
|
+
heap.set(source, sp);
|
|
159972
|
+
const res = fun(tp, count, size, sp, source.length);
|
|
159973
|
+
if (res === 0 && filter) {
|
|
159974
|
+
filter(tp, count4, size);
|
|
159975
|
+
}
|
|
159976
|
+
target.set(heap.subarray(tp, tp + count * size));
|
|
159977
|
+
sbrk(tp - sbrk(0));
|
|
159978
|
+
if (res !== 0) {
|
|
159979
|
+
throw new Error(`Malformed buffer data: ${res}`);
|
|
159980
|
+
}
|
|
159981
|
+
}
|
|
159982
|
+
const decoders = {
|
|
159983
|
+
//eslint-disable-next-line @typescript-eslint/naming-convention
|
|
159984
|
+
ATTRIBUTES: 'meshopt_decodeVertexBuffer',
|
|
159985
|
+
//eslint-disable-next-line @typescript-eslint/naming-convention
|
|
159986
|
+
TRIANGLES: 'meshopt_decodeIndexBuffer',
|
|
159987
|
+
//eslint-disable-next-line @typescript-eslint/naming-convention
|
|
159988
|
+
INDICES: 'meshopt_decodeIndexSequence',
|
|
159989
|
+
};
|
|
159990
|
+
const filters = {
|
|
159991
|
+
//eslint-disable-next-line @typescript-eslint/naming-convention
|
|
159992
|
+
NONE: '',
|
|
159993
|
+
//eslint-disable-next-line @typescript-eslint/naming-convention
|
|
159994
|
+
OCTAHEDRAL: 'meshopt_decodeFilterOct',
|
|
159995
|
+
//eslint-disable-next-line @typescript-eslint/naming-convention
|
|
159996
|
+
QUATERNION: 'meshopt_decodeFilterQuat',
|
|
159997
|
+
//eslint-disable-next-line @typescript-eslint/naming-convention
|
|
159998
|
+
EXPONENTIAL: 'meshopt_decodeFilterExp',
|
|
159999
|
+
};
|
|
160000
|
+
return {
|
|
160001
|
+
decodeVertexBuffer(target, count, size, source, filter) {
|
|
160002
|
+
decode(decoders.ATTRIBUTES, target, count, size, source, filter ? instance.exports[filters[filter]] : undefined);
|
|
160003
|
+
},
|
|
160004
|
+
decodeIndexBuffer(target, count, size, source) {
|
|
160005
|
+
decode(decoders.TRIANGLES, target, count, size, source);
|
|
160006
|
+
},
|
|
160007
|
+
decodeIndexSequence(target, count, size, source) {
|
|
160008
|
+
decode(decoders.INDICES, target, count, size, source);
|
|
160009
|
+
},
|
|
160010
|
+
decodeGltfBuffer(target, count, size, source, mode, filter) {
|
|
160011
|
+
decode(decoders[mode], target, count, size, source, filter ? instance.exports[filters[filter]] : undefined);
|
|
160012
|
+
},
|
|
160013
|
+
};
|
|
160014
|
+
}
|
|
160015
|
+
;
|
|
160016
|
+
let meshoptDecoderLoaded = false;
|
|
160017
|
+
let meshoptDecoder;
|
|
160018
|
+
/** @internal */
|
|
160019
|
+
async function getMeshoptDecoder() {
|
|
160020
|
+
if (!meshoptDecoderLoaded) {
|
|
160021
|
+
meshoptDecoder = await getDecoder();
|
|
160022
|
+
meshoptDecoderLoaded = true;
|
|
159816
160023
|
}
|
|
160024
|
+
return meshoptDecoder;
|
|
159817
160025
|
}
|
|
159818
|
-
const loader = new Loader();
|
|
159819
160026
|
/** @internal */
|
|
159820
160027
|
async function decodeMeshoptBuffer(source, args) {
|
|
159821
|
-
const decoder = await
|
|
160028
|
+
const decoder = await getMeshoptDecoder();
|
|
159822
160029
|
if (!decoder) {
|
|
159823
160030
|
return undefined;
|
|
159824
160031
|
}
|
|
159825
|
-
|
|
160032
|
+
const target = new Uint8Array(args.count * args.byteStride);
|
|
160033
|
+
decoder.decodeGltfBuffer(target, args.count, args.byteStride, source, args.mode, args.filter);
|
|
160034
|
+
return target;
|
|
159826
160035
|
}
|
|
159827
160036
|
|
|
159828
160037
|
|
|
@@ -167058,6 +167267,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
167058
167267
|
/* harmony export */ getCesiumOSMBuildingsUrl: () => (/* reexport safe */ _map_CesiumTerrainProvider__WEBPACK_IMPORTED_MODULE_67__.getCesiumOSMBuildingsUrl),
|
|
167059
167268
|
/* harmony export */ getCesiumTerrainProvider: () => (/* reexport safe */ _map_CesiumTerrainProvider__WEBPACK_IMPORTED_MODULE_67__.getCesiumTerrainProvider),
|
|
167060
167269
|
/* harmony export */ getGcsConverterAvailable: () => (/* reexport safe */ _map_MapTileTree__WEBPACK_IMPORTED_MODULE_64__.getGcsConverterAvailable),
|
|
167270
|
+
/* harmony export */ getMeshoptDecoder: () => (/* reexport safe */ _MeshoptCompression__WEBPACK_IMPORTED_MODULE_92__.getMeshoptDecoder),
|
|
167061
167271
|
/* harmony export */ iModelTileParamsFromJSON: () => (/* reexport safe */ _IModelTile__WEBPACK_IMPORTED_MODULE_78__.iModelTileParamsFromJSON),
|
|
167062
167272
|
/* harmony export */ iModelTileTreeParamsFromJSON: () => (/* reexport safe */ _IModelTileTree__WEBPACK_IMPORTED_MODULE_80__.iModelTileTreeParamsFromJSON),
|
|
167063
167273
|
/* harmony export */ internalMapLayerImageryFormats: () => (/* reexport safe */ _map_MapLayerImageryFormats__WEBPACK_IMPORTED_MODULE_62__.internalMapLayerImageryFormats),
|
|
@@ -175749,6 +175959,7 @@ class AccuDrawShortcuts {
|
|
|
175749
175959
|
accudraw.dontMoveFocus = true;
|
|
175750
175960
|
}
|
|
175751
175961
|
static itemFieldNewInput(index) { _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.setKeyinStatus(index, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Partial); }
|
|
175962
|
+
static itemFieldCompletedInput(index) { _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.setKeyinStatus(index, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic); }
|
|
175752
175963
|
static async itemFieldAcceptInput(index, str) {
|
|
175753
175964
|
const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
|
|
175754
175965
|
await accudraw.processFieldInput(index, str, true);
|
|
@@ -304788,7 +304999,7 @@ class TestContext {
|
|
|
304788
304999
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
304789
305000
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
304790
305001
|
await core_frontend_1.NoRenderApp.startup({
|
|
304791
|
-
applicationVersion: "5.0.0-dev.
|
|
305002
|
+
applicationVersion: "5.0.0-dev.25",
|
|
304792
305003
|
applicationId: this.settings.gprid,
|
|
304793
305004
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
|
|
304794
305005
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -332378,7 +332589,7 @@ function __disposeResources(env) {
|
|
|
332378
332589
|
/***/ ((module) => {
|
|
332379
332590
|
|
|
332380
332591
|
"use strict";
|
|
332381
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.
|
|
332592
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.25","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run --coverage","test:debug":"vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.2.5","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
|
|
332382
332593
|
|
|
332383
332594
|
/***/ }),
|
|
332384
332595
|
|