@galacean/engine 1.3.0-alpha.3 → 1.3.0-beta.5

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/dist/browser.js CHANGED
@@ -15124,14 +15124,17 @@
15124
15124
  var replacementSubShaders = replacementShader.subShaders;
15125
15125
  var replacementTag = context.replacementTag;
15126
15126
  if (replacementTag) {
15127
+ var replacementSuccess = false;
15127
15128
  for(var j = 0, m = replacementSubShaders.length; j < m; j++){
15128
15129
  var subShader = replacementSubShaders[j];
15129
15130
  if (subShader.getTagValue(replacementTag) === materialSubShader.getTagValue(replacementTag)) {
15130
15131
  this.pushRenderElementByType(renderElement, subRenderElement, subShader.passes, renderStates);
15131
- break;
15132
+ replacementSuccess = true;
15132
15133
  }
15133
15134
  }
15134
- context.replacementFailureStrategy === exports.ReplacementFailureStrategy.KeepOriginalShader && this.pushRenderElementByType(renderElement, subRenderElement, materialSubShader.passes, renderStates);
15135
+ if (!replacementSuccess && context.replacementFailureStrategy === exports.ReplacementFailureStrategy.KeepOriginalShader) {
15136
+ this.pushRenderElementByType(renderElement, subRenderElement, materialSubShader.passes, renderStates);
15137
+ }
15135
15138
  } else {
15136
15139
  this.pushRenderElementByType(renderElement, subRenderElement, replacementSubShaders[0].passes, renderStates);
15137
15140
  }
@@ -15709,7 +15712,7 @@
15709
15712
  if (info) {
15710
15713
  return info;
15711
15714
  }
15712
- info = TextUtils._measureFontOrChar(fontString);
15715
+ info = TextUtils._measureFontOrChar(fontString, TextUtils._measureString, false);
15713
15716
  fontSizeInfoCache[fontString] = info;
15714
15717
  return info;
15715
15718
  };
@@ -15730,7 +15733,7 @@
15730
15733
  return str;
15731
15734
  };
15732
15735
  TextUtils.measureChar = function measureChar(char, fontString) {
15733
- return TextUtils._measureFontOrChar(fontString, char);
15736
+ return TextUtils._measureFontOrChar(fontString, char, true);
15734
15737
  };
15735
15738
  TextUtils.measureTextWithWrap = function measureTextWithWrap(renderer) {
15736
15739
  var subFont = renderer._getSubFont();
@@ -15949,15 +15952,15 @@
15949
15952
  };
15950
15953
  /**
15951
15954
  * @internal
15952
- */ TextUtils._measureFontOrChar = function _measureFontOrChar(fontString, char) {
15953
- if (char === void 0) char = "";
15955
+ */ TextUtils._measureFontOrChar = function _measureFontOrChar(fontString, measureString, isChar) {
15954
15956
  var _TextUtils_textContext = TextUtils.textContext(), canvas = _TextUtils_textContext.canvas, context = _TextUtils_textContext.context;
15955
15957
  context.font = fontString;
15956
- var measureString = char || TextUtils._measureString;
15957
15958
  // Safari gets data confusion through getImageData when the canvas width is not an integer.
15958
15959
  // The measure text width of some special invisible characters may be 0, so make sure the width is at least 1.
15959
15960
  // @todo: Text layout may vary from standard and not support emoji.
15960
- var width = Math.max(1, Math.round(context.measureText(measureString).width));
15961
+ var textMetrics = context.measureText(measureString);
15962
+ // In some case (ex: " "), actualBoundingBoxRight and actualBoundingBoxLeft will be 0, so use width.
15963
+ var width = Math.max(1, Math.round(textMetrics.actualBoundingBoxRight - textMetrics.actualBoundingBoxLeft || textMetrics.width));
15961
15964
  var baseline = Math.ceil(context.measureText(TextUtils._measureBaseline).width);
15962
15965
  var height = baseline * TextUtils._heightMultiplier;
15963
15966
  baseline = TextUtils._baselineMultiplier * baseline | 0;
@@ -16002,12 +16005,7 @@
16002
16005
  descent = bottom - baseline + 1;
16003
16006
  size = ascent + descent;
16004
16007
  }
16005
- var sizeInfo = {
16006
- ascent: ascent,
16007
- descent: descent,
16008
- size: size
16009
- };
16010
- if (char) {
16008
+ if (isChar) {
16011
16009
  var data = null;
16012
16010
  if (size > 0) {
16013
16011
  var lineIntegerW = integerW * 4;
@@ -16015,7 +16013,7 @@
16015
16013
  data = new Uint8Array(colorData.buffer, top * lineIntegerW, size * lineIntegerW);
16016
16014
  }
16017
16015
  return {
16018
- char: char,
16016
+ char: measureString,
16019
16017
  x: 0,
16020
16018
  y: 0,
16021
16019
  w: width,
@@ -16035,7 +16033,11 @@
16035
16033
  data: data
16036
16034
  };
16037
16035
  } else {
16038
- return sizeInfo;
16036
+ return {
16037
+ ascent: ascent,
16038
+ descent: descent,
16039
+ size: size
16040
+ };
16039
16041
  }
16040
16042
  };
16041
16043
  /**
@@ -22184,6 +22186,33 @@
22184
22186
  (function() {
22185
22187
  PrimitiveMesh._spherePoleIdx = 0;
22186
22188
  })();
22189
+ function _is_native_reflect_construct$1() {
22190
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
22191
+ if (Reflect.construct.sham) return false;
22192
+ if (typeof Proxy === "function") return true;
22193
+ try {
22194
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
22195
+ return true;
22196
+ } catch (e) {
22197
+ return false;
22198
+ }
22199
+ }
22200
+ function _construct$1(Parent, args, Class) {
22201
+ if (_is_native_reflect_construct$1()) _construct$1 = Reflect.construct;
22202
+ else {
22203
+ _construct$1 = function construct(Parent, args, Class) {
22204
+ var a = [
22205
+ null
22206
+ ];
22207
+ a.push.apply(a, args);
22208
+ var Constructor = Function.bind.apply(Parent, a);
22209
+ var instance = new Constructor();
22210
+ if (Class) _set_prototype_of$2(instance, Class.prototype);
22211
+ return instance;
22212
+ };
22213
+ }
22214
+ return _construct$1.apply(null, arguments);
22215
+ }
22187
22216
  var ComponentCloner = /*#__PURE__*/ function() {
22188
22217
  var ComponentCloner = function ComponentCloner() {};
22189
22218
  /**
@@ -22230,10 +22259,14 @@
22230
22259
  /**
22231
22260
  * Add component based on the component type.
22232
22261
  * @param type - The type of the component
22262
+ * @param args - The arguments of the component
22233
22263
  * @returns The component which has been added
22234
22264
  */ _proto.addComponent = function addComponent(type) {
22265
+ for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
22266
+ args[_key - 1] = arguments[_key];
22267
+ }
22235
22268
  ComponentsDependencies._addCheck(this, type);
22236
- var component = new type(this);
22269
+ var component = _construct$1(type, [].concat(this, args));
22237
22270
  this._components.push(component);
22238
22271
  component._setActive(true, ActiveChangeFlag.All);
22239
22272
  return component;
@@ -23747,6 +23780,15 @@
23747
23780
  this._loopArrayDirty = true;
23748
23781
  };
23749
23782
  /**
23783
+ * Remove item from array that pass the specified comparison function.
23784
+ * @param filter - The comparison function
23785
+ */ _proto.findAndRemove = function findAndRemove(filter) {
23786
+ var array = this._array;
23787
+ for(var i = array.length - 1; i >= 0; i--){
23788
+ filter(array[i]) && this.removeByIndex(i);
23789
+ }
23790
+ };
23791
+ /**
23750
23792
  * The index of the item.
23751
23793
  * @param item - The item which want to get the index
23752
23794
  * @returns Index of the item
@@ -24176,17 +24218,33 @@
24176
24218
  };
24177
24219
  /**
24178
24220
  * @internal
24179
- */ _proto._onSubAssetSuccess = function _onSubAssetSuccess(assetURL, value) {
24180
- var _this__subAssetPromiseCallbacks_assetURL;
24181
- (_this__subAssetPromiseCallbacks_assetURL = this._subAssetPromiseCallbacks[assetURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetURL.resolve(value);
24182
- delete this._subAssetPromiseCallbacks[assetURL];
24221
+ */ _proto._onSubAssetSuccess = function _onSubAssetSuccess(assetBaseURL, assetSubPath, value) {
24222
+ var _this__subAssetPromiseCallbacks_assetBaseURL;
24223
+ var subPromiseCallback = (_this__subAssetPromiseCallbacks_assetBaseURL = this._subAssetPromiseCallbacks[assetBaseURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetBaseURL[assetSubPath];
24224
+ if (subPromiseCallback) {
24225
+ // Already resolved
24226
+ subPromiseCallback.resolve(value);
24227
+ } else {
24228
+ var _this__subAssetPromiseCallbacks, _assetBaseURL;
24229
+ ((_this__subAssetPromiseCallbacks = this._subAssetPromiseCallbacks)[_assetBaseURL = assetBaseURL] || (_this__subAssetPromiseCallbacks[_assetBaseURL] = {}))[assetSubPath] = {
24230
+ resolve: value
24231
+ };
24232
+ }
24183
24233
  };
24184
24234
  /**
24185
24235
  * @internal
24186
- */ _proto._onSubAssetFail = function _onSubAssetFail(assetURL, value) {
24187
- var _this__subAssetPromiseCallbacks_assetURL;
24188
- (_this__subAssetPromiseCallbacks_assetURL = this._subAssetPromiseCallbacks[assetURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetURL.reject(value);
24189
- delete this._subAssetPromiseCallbacks[assetURL];
24236
+ */ _proto._onSubAssetFail = function _onSubAssetFail(assetBaseURL, assetSubPath, value) {
24237
+ var _this__subAssetPromiseCallbacks_assetBaseURL;
24238
+ var subPromiseCallback = (_this__subAssetPromiseCallbacks_assetBaseURL = this._subAssetPromiseCallbacks[assetBaseURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetBaseURL[assetSubPath];
24239
+ if (subPromiseCallback) {
24240
+ // Already rejected
24241
+ subPromiseCallback.reject(value);
24242
+ } else {
24243
+ var _this__subAssetPromiseCallbacks, _assetBaseURL;
24244
+ ((_this__subAssetPromiseCallbacks = this._subAssetPromiseCallbacks)[_assetBaseURL = assetBaseURL] || (_this__subAssetPromiseCallbacks[_assetBaseURL] = {}))[assetSubPath] = {
24245
+ reject: value
24246
+ };
24247
+ }
24190
24248
  };
24191
24249
  /**
24192
24250
  * @internal
@@ -24331,8 +24389,21 @@
24331
24389
  if (!loader) {
24332
24390
  throw "loader not found: " + item.type;
24333
24391
  }
24334
- // Load asset
24392
+ // Check sub asset
24393
+ if (queryPath) {
24394
+ // Check whether load main asset
24395
+ var mainPromise = loadingPromises[assetBaseURL] || this._loadMainAsset(loader, item, assetBaseURL);
24396
+ mainPromise.catch(function(e) {
24397
+ _this._onSubAssetFail(assetBaseURL, queryPath, e);
24398
+ });
24399
+ return this._createSubAssetPromiseCallback(assetBaseURL, assetURL, queryPath);
24400
+ }
24401
+ return this._loadMainAsset(loader, item, assetBaseURL);
24402
+ };
24403
+ _proto._loadMainAsset = function _loadMainAsset(loader, item, assetBaseURL) {
24404
+ var _this = this;
24335
24405
  item.url = assetBaseURL;
24406
+ var loadingPromises = this._loadingPromises;
24336
24407
  var promise = loader.load(item, this);
24337
24408
  loadingPromises[assetBaseURL] = promise;
24338
24409
  promise.then(function(resource) {
@@ -24340,32 +24411,46 @@
24340
24411
  _this._addAsset(assetBaseURL, resource);
24341
24412
  }
24342
24413
  delete loadingPromises[assetBaseURL];
24414
+ _this._releaseSubAssetPromiseCallback(assetBaseURL);
24343
24415
  }, function() {
24344
- return delete loadingPromises[assetBaseURL];
24416
+ delete loadingPromises[assetBaseURL];
24417
+ _this._releaseSubAssetPromiseCallback(assetBaseURL);
24345
24418
  });
24346
- if (queryPath) {
24347
- var subPromise = new AssetPromise(function(resolve, reject) {
24348
- _this._pushSubAssetPromiseCallback(assetURL, resolve, reject);
24349
- });
24350
- loadingPromises[assetURL] = subPromise;
24351
- subPromise.then(function() {
24419
+ return promise;
24420
+ };
24421
+ _proto._createSubAssetPromiseCallback = function _createSubAssetPromiseCallback(assetBaseURL, assetURL, assetSubPath) {
24422
+ var _this = this;
24423
+ var _this__subAssetPromiseCallbacks_assetBaseURL, _subPromiseCallback, _subPromiseCallback1;
24424
+ var loadingPromises = this._loadingPromises;
24425
+ var subPromiseCallback = (_this__subAssetPromiseCallbacks_assetBaseURL = this._subAssetPromiseCallbacks[assetBaseURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetBaseURL[assetSubPath];
24426
+ var resolvedValue = (_subPromiseCallback = subPromiseCallback) == null ? void 0 : _subPromiseCallback.resolve;
24427
+ var rejectedValue = (_subPromiseCallback1 = subPromiseCallback) == null ? void 0 : _subPromiseCallback1.reject;
24428
+ var promise = new AssetPromise(function(resolve, reject) {
24429
+ if (resolvedValue) {
24430
+ // Already resolved
24431
+ resolve(resolvedValue);
24432
+ } else if (rejectedValue) {
24433
+ // Already rejected
24434
+ reject(rejectedValue);
24435
+ } else {
24436
+ var _this__subAssetPromiseCallbacks, _assetBaseURL;
24437
+ // Pending
24438
+ loadingPromises[assetURL] = promise;
24439
+ ((_this__subAssetPromiseCallbacks = _this._subAssetPromiseCallbacks)[_assetBaseURL = assetBaseURL] || (_this__subAssetPromiseCallbacks[_assetBaseURL] = {}))[assetSubPath] = {
24440
+ resolve: resolve,
24441
+ reject: reject
24442
+ };
24443
+ }
24444
+ });
24445
+ if (!resolvedValue && !rejectedValue) {
24446
+ promise.then(function() {
24352
24447
  delete loadingPromises[assetURL];
24353
24448
  }, function() {
24354
24449
  return delete loadingPromises[assetURL];
24355
24450
  });
24356
- promise.catch(function(e) {
24357
- _this._onSubAssetFail(assetURL, e);
24358
- });
24359
- return subPromise;
24360
24451
  }
24361
24452
  return promise;
24362
24453
  };
24363
- _proto._pushSubAssetPromiseCallback = function _pushSubAssetPromiseCallback(assetURL, resolve, reject) {
24364
- this._subAssetPromiseCallbacks[assetURL] = {
24365
- resolve: resolve,
24366
- reject: reject
24367
- };
24368
- };
24369
24454
  _proto._gc = function _gc(forceDestroy) {
24370
24455
  var objects = Utils.objectValues(this._referResourcePool);
24371
24456
  for(var i = 0, n = objects.length; i < n; i++){
@@ -24422,6 +24507,9 @@
24422
24507
  });
24423
24508
  return result;
24424
24509
  };
24510
+ _proto._releaseSubAssetPromiseCallback = function _releaseSubAssetPromiseCallback(assetBaseURL) {
24511
+ delete this._subAssetPromiseCallbacks[assetBaseURL];
24512
+ };
24425
24513
  /**
24426
24514
  * @internal
24427
24515
  * @beta Just for internal editor, not recommended for developers.
@@ -32923,10 +33011,7 @@
32923
33011
  /**
32924
33012
  * @internal
32925
33013
  */ _proto._onEnable = function _onEnable() {
32926
- var layersData = this._animatorLayersData;
32927
- for(var i = 0, n = layersData.length; i < n; i++){
32928
- layersData[i].layerState = LayerState.Standby;
32929
- }
33014
+ this._reset();
32930
33015
  this._entity.getComponentsIncludeChildren(exports.Renderer, this._controlledRenderers);
32931
33016
  };
32932
33017
  /**
@@ -33476,8 +33561,11 @@
33476
33561
  if (exitTime >= lastClipTime) {
33477
33562
  playState.currentTransitionIndex = Math.min(transitionIndex + 1, n - 1);
33478
33563
  if (this._checkConditions(state, transition)) {
33479
- this._applyTransition(layerIndex, layerData, stateMachine, transition);
33480
- return transition;
33564
+ if (this._applyTransition(layerIndex, layerData, stateMachine, transition)) {
33565
+ return transition;
33566
+ } else {
33567
+ return null;
33568
+ }
33481
33569
  }
33482
33570
  }
33483
33571
  }
@@ -33496,8 +33584,11 @@
33496
33584
  if (exitTime <= lastClipTime) {
33497
33585
  playState.currentTransitionIndex = Math.max(transitionIndex - 1, 0);
33498
33586
  if (this._checkConditions(state, transition)) {
33499
- this._applyTransition(layerIndex, layerData, stateMachine, transition);
33500
- return transition;
33587
+ if (this._applyTransition(layerIndex, layerData, stateMachine, transition)) {
33588
+ return transition;
33589
+ } else {
33590
+ return null;
33591
+ }
33501
33592
  }
33502
33593
  }
33503
33594
  }
@@ -33507,8 +33598,11 @@
33507
33598
  for(var i = 0, n = transitions.length; i < n; i++){
33508
33599
  var transition = transitions[i];
33509
33600
  if (this._checkConditions(state, transition)) {
33510
- this._applyTransition(layerIndex, layerData, stateMachine, transition);
33511
- return transition;
33601
+ if (this._applyTransition(layerIndex, layerData, stateMachine, transition)) {
33602
+ return transition;
33603
+ } else {
33604
+ return null;
33605
+ }
33512
33606
  }
33513
33607
  }
33514
33608
  };
@@ -33528,11 +33622,12 @@
33528
33622
  };
33529
33623
  _proto._applyTransition = function _applyTransition(layerIndex, layerData, stateMachine, transition) {
33530
33624
  // Need prepare first, it should crossFade when to exit
33531
- this._prepareCrossFadeByTransition(transition, layerIndex);
33625
+ var success = this._prepareCrossFadeByTransition(transition, layerIndex);
33532
33626
  if (transition.isExit) {
33533
33627
  this._checkAnyAndEntryState(layerIndex, layerData, stateMachine);
33534
- return;
33628
+ return true;
33535
33629
  }
33630
+ return success;
33536
33631
  };
33537
33632
  _proto._checkConditions = function _checkConditions(state, transition) {
33538
33633
  var _state;
@@ -33544,6 +33639,9 @@
33544
33639
  var pass = false;
33545
33640
  var _conditions_i = conditions[i], mode = _conditions_i.mode, name1 = _conditions_i.parameterName, threshold = _conditions_i.threshold;
33546
33641
  var parameter = this.getParameter(name1);
33642
+ if (!parameter) {
33643
+ return false;
33644
+ }
33547
33645
  switch(mode){
33548
33646
  case exports.AnimatorConditionMode.Equals:
33549
33647
  if (parameter.value === threshold) {
@@ -38806,9 +38904,11 @@
38806
38904
  get AnimationVector3Curve () { return exports.AnimationVector3Curve; },
38807
38905
  get AnimationVector4Curve () { return exports.AnimationVector4Curve; },
38808
38906
  Animator: Animator,
38907
+ AnimatorCondition: AnimatorCondition,
38809
38908
  get AnimatorConditionMode () { return exports.AnimatorConditionMode; },
38810
38909
  AnimatorController: AnimatorController,
38811
38910
  AnimatorControllerLayer: AnimatorControllerLayer,
38911
+ AnimatorControllerParameter: AnimatorControllerParameter,
38812
38912
  get AnimatorCullingMode () { return exports.AnimatorCullingMode; },
38813
38913
  get AnimatorLayerBlendingMode () { return exports.AnimatorLayerBlendingMode; },
38814
38914
  AnimatorLayerMask: AnimatorLayerMask,
@@ -38900,6 +39000,7 @@
38900
39000
  Keyframe: Keyframe,
38901
39001
  get Keys () { return exports.Keys; },
38902
39002
  get Layer () { return exports.Layer; },
39003
+ LayerPathMask: LayerPathMask,
38903
39004
  Light: Light,
38904
39005
  Loader: Loader,
38905
39006
  Logger: Logger,
@@ -38957,6 +39058,7 @@
38957
39058
  ResourceManager: ResourceManager,
38958
39059
  ReturnableObjectPool: ReturnableObjectPool,
38959
39060
  RotationOverLifetimeModule: RotationOverLifetimeModule,
39061
+ SafeLoopArray: SafeLoopArray,
38960
39062
  Scene: Scene,
38961
39063
  SceneManager: SceneManager,
38962
39064
  Script: Script,
@@ -42425,9 +42527,9 @@
42425
42527
  _proto.load = function load(item, resourceManager) {
42426
42528
  var _this = this;
42427
42529
  return new AssetPromise(function(resolve, reject) {
42428
- _this.request(item.url, {
42530
+ _this.request(item.url, _extends({}, item, {
42429
42531
  type: "arraybuffer"
42430
- }).then(function(data) {
42532
+ })).then(function(data) {
42431
42533
  decode(data, resourceManager.engine).then(function(mesh) {
42432
42534
  resolve(mesh);
42433
42535
  });
@@ -42450,9 +42552,9 @@
42450
42552
  _proto.load = function load(item, resourceManager) {
42451
42553
  var _this = this;
42452
42554
  return new AssetPromise(function(resolve, reject) {
42453
- _this.request(item.url, {
42555
+ _this.request(item.url, _extends({}, item, {
42454
42556
  type: "arraybuffer"
42455
- }).then(function(data) {
42557
+ })).then(function(data) {
42456
42558
  decode(data, resourceManager.engine).then(function(texture) {
42457
42559
  resolve(texture);
42458
42560
  });
@@ -42543,7 +42645,7 @@
42543
42645
  type: "json"
42544
42646
  })).then(function(data) {
42545
42647
  var animatorController = new AnimatorController();
42546
- var layers = data.layers;
42648
+ var layers = data.layers, parameters = data.parameters;
42547
42649
  var promises = [];
42548
42650
  layers.forEach(function(layerData, layerIndex) {
42549
42651
  var name = layerData.name, blendingMode = layerData.blendingMode, weight = layerData.weight, stateMachineData = layerData.stateMachine;
@@ -42551,21 +42653,21 @@
42551
42653
  layer.blendingMode = blendingMode;
42552
42654
  layer.weight = weight;
42553
42655
  if (stateMachineData) {
42554
- var states = stateMachineData.states;
42555
- var stateMachine = layer.stateMachine = new AnimatorStateMachine();
42656
+ var states = stateMachineData.states, transitions = stateMachineData.transitions, entryTransitions = stateMachineData.entryTransitions, anyTransitions = stateMachineData.anyTransitions;
42657
+ var stateMachine = layer.stateMachine;
42658
+ var statesMap = {};
42659
+ var transitionsMap = {};
42556
42660
  states.forEach(function(stateData, stateIndex) {
42557
- var _scriptsObject;
42558
- var name = stateData.name, speed = stateData.speed, wrapMode = stateData.wrapMode, clipStartNormalizedTime = stateData.clipStartNormalizedTime, clipEndNormalizedTime = stateData.clipEndNormalizedTime, isDefaultState = stateData.isDefaultState, clipData = stateData.clip, scripts = stateData.scripts;
42661
+ var id = stateData.id, name = stateData.name, speed = stateData.speed, wrapMode = stateData.wrapMode, clipStartNormalizedTime = stateData.clipStartNormalizedTime, clipEndNormalizedTime = stateData.clipEndNormalizedTime, clipData = stateData.clip, scripts = stateData.scripts;
42559
42662
  var state = stateMachine.addState(name);
42560
- isDefaultState && (stateMachine.defaultState = state);
42561
42663
  state.speed = speed;
42562
42664
  state.wrapMode = wrapMode;
42563
42665
  state.clipStartTime = clipStartNormalizedTime;
42564
42666
  state.clipEndTime = clipEndNormalizedTime;
42565
- var scriptsObject = JSON.parse(scripts);
42566
- (_scriptsObject = scriptsObject) == null ? void 0 : _scriptsObject.forEach(function(script) {
42667
+ scripts.forEach(function(script) {
42567
42668
  state.addStateMachineScript(Loader.getClass(script));
42568
42669
  });
42670
+ statesMap[id] = state;
42569
42671
  if (clipData) {
42570
42672
  promises.push(new Promise(function(resolve) {
42571
42673
  //@ts-ignore
@@ -42579,23 +42681,32 @@
42579
42681
  }));
42580
42682
  }
42581
42683
  });
42684
+ transitions.forEach(function(transitionData) {
42685
+ var transition = _this._createTransition(transitionData, statesMap[transitionData.destinationStateId]);
42686
+ transitionsMap[transitionData.id] = transition;
42687
+ });
42582
42688
  states.forEach(function(stateData) {
42583
- var name = stateData.name, transitions = stateData.transitions;
42584
- transitions.forEach(function(transitionData) {
42585
- var targetStateName = transitionData.targetStateName, duration = transitionData.duration, offset = transitionData.offset, exitTime = transitionData.exitTime;
42586
- var sourceState = stateMachine.findStateByName(name);
42587
- var destState = stateMachine.findStateByName(targetStateName);
42588
- var transition = new AnimatorStateTransition();
42589
- transition.destinationState = destState;
42590
- transition.duration = duration;
42591
- transition.exitTime = exitTime;
42592
- transition.offset = offset;
42593
- sourceState.addTransition(transition);
42689
+ var id = stateData.id, transitions = stateData.transitions;
42690
+ transitions.forEach(function(transitionId) {
42691
+ var transition = transitionsMap[transitionId];
42692
+ transition && statesMap[id].addTransition(transition);
42594
42693
  });
42595
42694
  });
42695
+ entryTransitions.forEach(function(entryTransitionData) {
42696
+ stateMachine.addEntryStateTransition(_this._createTransition(entryTransitionData, statesMap[entryTransitionData.destinationStateId]));
42697
+ });
42698
+ anyTransitions.forEach(function(anyTransitionData) {
42699
+ stateMachine.addAnyStateTransition(_this._createTransition(anyTransitionData, statesMap[anyTransitionData.destinationStateId]));
42700
+ });
42596
42701
  }
42597
42702
  animatorController.addLayer(layer);
42598
42703
  });
42704
+ parameters.forEach(function(parameterData) {
42705
+ var parameter = new AnimatorControllerParameter();
42706
+ parameter.name = parameterData.name;
42707
+ parameter.value = parameterData.value;
42708
+ animatorController.addParameter(parameter);
42709
+ });
42599
42710
  Promise.all(promises).then(function(clipData) {
42600
42711
  clipData.forEach(function(data) {
42601
42712
  var layerIndex = data.layerIndex, stateIndex = data.stateIndex, clip = data.clip;
@@ -42606,6 +42717,21 @@
42606
42717
  }).catch(reject);
42607
42718
  });
42608
42719
  };
42720
+ _proto._createTransition = function _createTransition(transitionData, destinationState) {
42721
+ var transition = new AnimatorStateTransition();
42722
+ transition.duration = transitionData.duration;
42723
+ transition.offset = transitionData.offset;
42724
+ transition.exitTime = transitionData.exitTime;
42725
+ transition.solo = transitionData.solo;
42726
+ transition.mute = transitionData.mute;
42727
+ // @ts-ignore
42728
+ transition._isExit = transitionData.isExit;
42729
+ transition.destinationState = destinationState;
42730
+ transitionData.conditions.forEach(function(conditionData) {
42731
+ transition.addCondition(conditionData.mode, conditionData.parameterName, conditionData.threshold);
42732
+ });
42733
+ return transition;
42734
+ };
42609
42735
  return AnimatorControllerLoader;
42610
42736
  }(Loader);
42611
42737
  AnimatorControllerLoader = __decorate([
@@ -42654,9 +42780,9 @@
42654
42780
  _proto.load = function load(item, resourceManager) {
42655
42781
  var _this = this;
42656
42782
  return new AssetPromise(function(resolve, reject) {
42657
- _this.request(item.url, {
42783
+ _this.request(item.url, _extends({}, item, {
42658
42784
  type: "arraybuffer"
42659
- }).then(function(arraybuffer) {
42785
+ })).then(function(arraybuffer) {
42660
42786
  var _this;
42661
42787
  var shArray = new Float32Array(arraybuffer, 0, 27);
42662
42788
  var shByteLength = 27 * 4;
@@ -42730,9 +42856,9 @@
42730
42856
  _proto.load = function load(item, resourceManager) {
42731
42857
  var _this = this;
42732
42858
  return new AssetPromise(function(resolve, reject) {
42733
- _this.request(item.url, {
42859
+ _this.request(item.url, _extends({}, item, {
42734
42860
  type: "json"
42735
- }).then(function(data) {
42861
+ })).then(function(data) {
42736
42862
  var fontName = data.fontName, fontUrl = data.fontUrl;
42737
42863
  if (fontUrl) {
42738
42864
  _this._registerFont(fontName, fontUrl).then(function() {
@@ -43114,15 +43240,15 @@
43114
43240
  for(var i = 0, length = item.length; i < length; i++){
43115
43241
  var mesh = item[i];
43116
43242
  // @ts-ignore
43117
- _this.resourceManager._onSubAssetSuccess(url + "?q=" + glTFResourceKey + "[" + index + "][" + i + "]", mesh);
43243
+ _this.resourceManager._onSubAssetSuccess(url, glTFResourceKey + "[" + index + "][" + i + "]", mesh);
43118
43244
  }
43119
43245
  } else {
43120
43246
  // @ts-ignore
43121
- _this.resourceManager._onSubAssetSuccess(url + "?q=" + glTFResourceKey + "[" + index + "]", item);
43247
+ _this.resourceManager._onSubAssetSuccess(url, "" + glTFResourceKey + (index === undefined ? "" : "[" + index + "]"), item);
43122
43248
  var _this_glTF_scene;
43123
43249
  if (type === 2 && ((_this_glTF_scene = _this.glTF.scene) != null ? _this_glTF_scene : 0) === index) {
43124
43250
  // @ts-ignore
43125
- _this.resourceManager._onSubAssetSuccess("" + url + "?q=defaultSceneRoot", item);
43251
+ _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
43126
43252
  }
43127
43253
  }
43128
43254
  });
@@ -45544,6 +45670,8 @@
45544
45670
  sceneRoot = context.get(exports.GLTFParserType.Entity, sceneNodes[0]);
45545
45671
  } else {
45546
45672
  sceneRoot = new Entity(engine, "GLTF_ROOT");
45673
+ // @ts-ignore
45674
+ sceneRoot._markAsTemplate(glTFResource);
45547
45675
  for(var i = 0; i < sceneNodes.length; i++){
45548
45676
  var childEntity = context.get(exports.GLTFParserType.Entity, sceneNodes[i]);
45549
45677
  sceneRoot.addChild(childEntity);
@@ -45951,7 +46079,8 @@
45951
46079
  registerGLTFParser(exports.GLTFParserType.AnimatorController)
45952
46080
  ], exports.GLTFAnimatorControllerParser);
45953
46081
  // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
45954
- var MeshoptDecoder = function() {
46082
+ var ready;
46083
+ function getMeshoptDecoder() {
45955
46084
  var unpack = function unpack(data) {
45956
46085
  var result = new Uint8Array(data.length);
45957
46086
  for(var i = 0; i < data.length; ++i){
@@ -45996,7 +46125,7 @@
45996
46125
  return worker;
45997
46126
  };
45998
46127
  var initWorkers = function initWorkers(count) {
45999
- var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
46128
+ var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
46000
46129
  var blob = new Blob([
46001
46130
  source
46002
46131
  ], {
@@ -46035,6 +46164,7 @@
46035
46164
  ]);
46036
46165
  });
46037
46166
  };
46167
+ if (ready) return ready;
46038
46168
  var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok: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:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
46039
46169
  var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;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:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;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;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;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;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
46040
46170
  var wasmpack = new Uint8Array([
@@ -46102,9 +46232,32 @@
46102
46232
  // @ts-ignore
46103
46233
  var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
46104
46234
  var instance;
46105
- var ready = WebAssembly.instantiate(unpack(wasm), {}).then(function(result) {
46235
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
46106
46236
  instance = result.instance;
46107
46237
  instance.exports.__wasm_call_ctors();
46238
+ }).then(function() {
46239
+ return {
46240
+ workerCount: 4,
46241
+ ready: ready,
46242
+ useWorkers: function useWorkers(workerCount) {
46243
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
46244
+ initWorkers(this.workerCount);
46245
+ },
46246
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
46247
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
46248
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
46249
+ return ready.then(function() {
46250
+ var target = new Uint8Array(count * stride);
46251
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
46252
+ return target;
46253
+ });
46254
+ },
46255
+ release: function release() {
46256
+ for(var i = 0; i < workers.length; i++){
46257
+ workers[i].object.terminate();
46258
+ }
46259
+ }
46260
+ };
46108
46261
  });
46109
46262
  var filters = {
46110
46263
  NONE: "",
@@ -46119,28 +46272,8 @@
46119
46272
  };
46120
46273
  var workers = [];
46121
46274
  var requestId = 0;
46122
- return {
46123
- workerCount: 4,
46124
- ready: ready,
46125
- useWorkers: function useWorkers() {
46126
- initWorkers(this.workerCount);
46127
- },
46128
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
46129
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
46130
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
46131
- return ready.then(function() {
46132
- var target = new Uint8Array(count * stride);
46133
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
46134
- return target;
46135
- });
46136
- },
46137
- release: function release() {
46138
- for(var i = 0; i < workers.length; i++){
46139
- workers[i].object.terminate();
46140
- }
46141
- }
46142
- };
46143
- }();
46275
+ return ready;
46276
+ }
46144
46277
  exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
46145
46278
  var GLTFLoader = function GLTFLoader() {
46146
46279
  return Loader1.apply(this, arguments);
@@ -46148,11 +46281,13 @@
46148
46281
  _inherits(GLTFLoader, Loader1);
46149
46282
  var _proto = GLTFLoader.prototype;
46150
46283
  _proto.initialize = function initialize(_, configuration) {
46151
- var _configuration_glTF;
46152
- var meshOptOptions = (_configuration_glTF = configuration.glTF) == null ? void 0 : _configuration_glTF.meshOpt;
46284
+ var _configuration_glTFLoader, _configuration_glTF;
46285
+ var _configuration_glTFLoader_meshOpt;
46286
+ var meshOptOptions = (_configuration_glTFLoader_meshOpt = (_configuration_glTFLoader = configuration.glTFLoader) == null ? void 0 : _configuration_glTFLoader.meshOpt) != null ? _configuration_glTFLoader_meshOpt : (_configuration_glTF = configuration.glTF) == null ? void 0 : _configuration_glTF.meshOpt;
46153
46287
  if (meshOptOptions) {
46154
- MeshoptDecoder.workerCount = meshOptOptions.workerCount;
46155
- MeshoptDecoder.useWorkers();
46288
+ return getMeshoptDecoder().then(function(meshoptDecoder) {
46289
+ meshoptDecoder.useWorkers(meshOptOptions.workerCount);
46290
+ });
46156
46291
  }
46157
46292
  return Promise.resolve();
46158
46293
  };
@@ -46173,7 +46308,11 @@
46173
46308
  * Release glTF loader memory(includes meshopt workers).
46174
46309
  * @remarks If use loader after releasing, we should release again.
46175
46310
  */ GLTFLoader.release = function release() {
46176
- MeshoptDecoder.release();
46311
+ if (ready) {
46312
+ getMeshoptDecoder().then(function(meshoptDecoder) {
46313
+ meshoptDecoder.release();
46314
+ });
46315
+ }
46177
46316
  };
46178
46317
  return GLTFLoader;
46179
46318
  }(Loader);
@@ -46210,7 +46349,7 @@
46210
46349
  };
46211
46350
  return PrefabParser;
46212
46351
  }(HierarchyParser);
46213
- exports.PrefabLoader = /*#__PURE__*/ function(Loader1) {
46352
+ var PrefabLoader = /*#__PURE__*/ function(Loader1) {
46214
46353
  var PrefabLoader = function PrefabLoader() {
46215
46354
  return Loader1.apply(this, arguments);
46216
46355
  };
@@ -46229,11 +46368,11 @@
46229
46368
  };
46230
46369
  return PrefabLoader;
46231
46370
  }(Loader);
46232
- exports.PrefabLoader = __decorate([
46371
+ PrefabLoader = __decorate([
46233
46372
  resourceLoader(exports.AssetType.Prefab, [
46234
46373
  "prefab"
46235
46374
  ])
46236
- ], exports.PrefabLoader);
46375
+ ], PrefabLoader);
46237
46376
  var _HDRLoader;
46238
46377
  var PI = Math.PI;
46239
46378
  var HDRLoader = (_HDRLoader = /*#__PURE__*/ function(Loader1) {
@@ -46246,9 +46385,9 @@
46246
46385
  var _this = this;
46247
46386
  return new AssetPromise(function(resolve, reject) {
46248
46387
  var engine = resourceManager.engine;
46249
- _this.request(item.url, {
46388
+ _this.request(item.url, _extends({}, item, {
46250
46389
  type: "arraybuffer"
46251
- }).then(function(buffer) {
46390
+ })).then(function(buffer) {
46252
46391
  var uint8Array = new Uint8Array(buffer);
46253
46392
  var _HDRLoader__parseHeader = HDRLoader._parseHeader(uint8Array), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
46254
46393
  var pixels = HDRLoader._readPixels(uint8Array.subarray(dataPosition), width, height);
@@ -46986,9 +47125,9 @@
46986
47125
  var _this = this;
46987
47126
  var engine = resourceManager.engine;
46988
47127
  return new AssetPromise(function(resolve, reject) {
46989
- _this.request(item.url, {
47128
+ _this.request(item.url, _extends({}, item, {
46990
47129
  type: "json"
46991
- }).then(function(data) {
47130
+ })).then(function(data) {
46992
47131
  // @ts-ignore
46993
47132
  engine.resourceManager.initVirtualResources(data.files);
46994
47133
  return resourceManager.load({
@@ -47346,9 +47485,9 @@
47346
47485
  var _this = this;
47347
47486
  var engine = resourceManager.engine;
47348
47487
  return new AssetPromise(function(resolve, reject) {
47349
- _this.request(item.url, {
47488
+ _this.request(item.url, _extends({}, item, {
47350
47489
  type: "json"
47351
- }).then(function(data) {
47490
+ })).then(function(data) {
47352
47491
  return SceneParser.parse(engine, data).then(function(scene) {
47353
47492
  var promises = [];
47354
47493
  // parse ambient light
@@ -47447,6 +47586,7 @@
47447
47586
  var tonemappingEffect = postProcessManager._tonemappingEffect;
47448
47587
  postProcessManager.isActive = postProcessData.isActive;
47449
47588
  bloomEffect.enabled = postProcessData.bloom.enabled;
47589
+ bloomEffect.downScale = postProcessData.bloom.downScale;
47450
47590
  bloomEffect.threshold = postProcessData.bloom.threshold;
47451
47591
  bloomEffect.scatter = postProcessData.bloom.scatter;
47452
47592
  bloomEffect.intensity = postProcessData.bloom.intensity;
@@ -47820,7 +47960,9 @@
47820
47960
  var _proto = EXT_meshopt_compression.prototype;
47821
47961
  _proto.createAndParse = function createAndParse(context, schema) {
47822
47962
  return context.get(exports.GLTFParserType.Buffer, schema.buffer).then(function(arrayBuffer) {
47823
- return MeshoptDecoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
47963
+ return getMeshoptDecoder().then(function(decoder) {
47964
+ return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
47965
+ });
47824
47966
  });
47825
47967
  };
47826
47968
  return EXT_meshopt_compression;
@@ -47852,7 +47994,7 @@
47852
47994
  ], KHR_materials_anisotropy);
47853
47995
 
47854
47996
  //@ts-ignore
47855
- var version = "1.3.0-alpha.3";
47997
+ var version = "1.3.0-beta.5";
47856
47998
  console.log("Galacean engine version: " + version);
47857
47999
  for(var key in CoreObjects){
47858
48000
  Loader.registerClass(key, CoreObjects[key]);
@@ -47864,8 +48006,10 @@
47864
48006
  exports.AnimationCurve = AnimationCurve;
47865
48007
  exports.AnimationEvent = AnimationEvent;
47866
48008
  exports.Animator = Animator;
48009
+ exports.AnimatorCondition = AnimatorCondition;
47867
48010
  exports.AnimatorController = AnimatorController;
47868
48011
  exports.AnimatorControllerLayer = AnimatorControllerLayer;
48012
+ exports.AnimatorControllerParameter = AnimatorControllerParameter;
47869
48013
  exports.AnimatorLayerMask = AnimatorLayerMask;
47870
48014
  exports.AnimatorState = AnimatorState;
47871
48015
  exports.AnimatorStateMachine = AnimatorStateMachine;
@@ -47888,6 +48032,7 @@
47888
48032
  exports.Buffer = Buffer;
47889
48033
  exports.BufferInfo = BufferInfo;
47890
48034
  exports.BufferMesh = BufferMesh;
48035
+ exports.BufferReader = BufferReader;
47891
48036
  exports.BufferUtil = BufferUtil;
47892
48037
  exports.Burst = Burst;
47893
48038
  exports.Canvas = Canvas;
@@ -47913,6 +48058,7 @@
47913
48058
  exports.EngineObject = EngineObject;
47914
48059
  exports.Entity = Entity;
47915
48060
  exports.EventDispatcher = EventDispatcher;
48061
+ exports.FileHeader = FileHeader;
47916
48062
  exports.FixedJoint = FixedJoint;
47917
48063
  exports.Font = Font;
47918
48064
  exports.GLTFExtensionParser = GLTFExtensionParser;
@@ -47930,6 +48076,7 @@
47930
48076
  exports.JointLimits = JointLimits;
47931
48077
  exports.JointMotor = JointMotor;
47932
48078
  exports.Keyframe = Keyframe;
48079
+ exports.LayerPathMask = LayerPathMask;
47933
48080
  exports.Light = Light;
47934
48081
  exports.Loader = Loader;
47935
48082
  exports.Logger = Logger;
@@ -47976,6 +48123,7 @@
47976
48123
  exports.ResourceManager = ResourceManager;
47977
48124
  exports.ReturnableObjectPool = ReturnableObjectPool;
47978
48125
  exports.RotationOverLifetimeModule = RotationOverLifetimeModule;
48126
+ exports.SafeLoopArray = SafeLoopArray;
47979
48127
  exports.Scene = Scene;
47980
48128
  exports.SceneManager = SceneManager;
47981
48129
  exports.SceneParser = SceneParser;
@@ -48038,6 +48186,8 @@
48038
48186
  exports._PostProcessManager = _PostProcessManager;
48039
48187
  exports.assignmentClone = assignmentClone;
48040
48188
  exports.decode = decode;
48189
+ exports.decoder = decoder;
48190
+ exports.decoderMap = decoderMap;
48041
48191
  exports.deepClone = deepClone;
48042
48192
  exports.dependentComponents = dependentComponents;
48043
48193
  exports.ignoreClone = ignoreClone;