@galacean/engine-loader 1.3.26 → 1.3.28

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/main.js CHANGED
@@ -286,7 +286,7 @@ var FileHeader = /*#__PURE__*/ function() {
286
286
  exports.MeshDecoder = /*#__PURE__*/ function() {
287
287
  function MeshDecoder() {}
288
288
  MeshDecoder.decode = function decode(engine, bufferReader) {
289
- return new Promise(function(resolve) {
289
+ return new engineCore.AssetPromise(function(resolve) {
290
290
  var modelMesh = new engineCore.ModelMesh(engine);
291
291
  var jsonDataString = bufferReader.nextStr();
292
292
  var encodedMeshData = JSON.parse(jsonDataString);
@@ -420,7 +420,8 @@ function float32ArrayToVector2(float32Array, vertexCount) {
420
420
  exports.Texture2DDecoder = /*#__PURE__*/ function() {
421
421
  function Texture2DDecoder() {}
422
422
  Texture2DDecoder.decode = function decode(engine, bufferReader) {
423
- return new Promise(function(resolve, reject) {
423
+ var _this = this;
424
+ return new engineCore.AssetPromise(function(resolve, reject) {
424
425
  var objectId = bufferReader.nextStr();
425
426
  var mipmap = !!bufferReader.nextUint8();
426
427
  var filterMode = bufferReader.nextUint8();
@@ -452,40 +453,52 @@ exports.Texture2DDecoder = /*#__PURE__*/ function() {
452
453
  engine.resourceManager._objectPool[objectId] = texture2D;
453
454
  resolve(texture2D);
454
455
  } else {
455
- var blob = new window.Blob([
456
- imagesData[0]
457
- ]);
458
- var img = new Image();
459
- img.onload = function() {
460
- texture2D.setImageSource(img);
461
- var completedCount = 0;
462
- var onComplete = function() {
463
- completedCount++;
464
- if (completedCount >= mipCount) {
465
- resolve(texture2D);
466
- }
467
- };
468
- onComplete();
469
- if (mipmap) {
470
- var _loop = function(i) {
471
- var blob = new window.Blob([
472
- imagesData[i]
473
- ]);
474
- var img = new Image();
475
- img.onload = function() {
476
- texture2D.setImageSource(img, i);
477
- onComplete();
478
- };
479
- img.src = URL.createObjectURL(blob);
480
- };
481
- texture2D.generateMipmaps();
482
- for(var i = 1; i < mipCount; i++)_loop(i);
456
+ var completedCount = 0;
457
+ var onComplete = function() {
458
+ completedCount++;
459
+ if (completedCount >= mipCount) {
460
+ resolve(texture2D);
483
461
  }
484
462
  };
485
- img.src = URL.createObjectURL(blob);
463
+ _this._loadImageBuffer(imagesData[0]).then(function(img) {
464
+ texture2D.setImageSource(img);
465
+ onComplete();
466
+ }, reject);
467
+ if (mipmap) {
468
+ var _loop = function(i1) {
469
+ _this._loadImageBuffer(imagesData[i1]).then(function(img) {
470
+ texture2D.setImageSource(img, i1);
471
+ onComplete();
472
+ }, reject);
473
+ };
474
+ texture2D.generateMipmaps();
475
+ for(var i1 = 1; i1 < mipCount; i1++)_loop(i1);
476
+ }
486
477
  }
487
478
  });
488
479
  };
480
+ Texture2DDecoder._loadImageBuffer = function _loadImageBuffer(imageBuffer) {
481
+ return new Promise(function(resolve, reject) {
482
+ var blob = new window.Blob([
483
+ imageBuffer
484
+ ]);
485
+ var img = new Image();
486
+ img.onerror = function() {
487
+ reject(new Error("Failed to load image buffer"));
488
+ };
489
+ img.onload = function() {
490
+ // Call requestAnimationFrame to avoid iOS's bug.
491
+ requestAnimationFrame(function() {
492
+ resolve(img);
493
+ img.onload = null;
494
+ img.onerror = null;
495
+ img.onabort = null;
496
+ });
497
+ };
498
+ img.crossOrigin = "anonymous";
499
+ img.src = URL.createObjectURL(blob);
500
+ });
501
+ };
489
502
  return Texture2DDecoder;
490
503
  }();
491
504
  exports.Texture2DDecoder = __decorate([
@@ -744,7 +757,7 @@ exports.InterpolableValueType = void 0;
744
757
  exports.AnimationClipDecoder = /*#__PURE__*/ function() {
745
758
  function AnimationClipDecoder() {}
746
759
  AnimationClipDecoder.decode = function decode(engine, bufferReader) {
747
- return new Promise(function(resolve) {
760
+ return new engineCore.AssetPromise(function(resolve) {
748
761
  var name = bufferReader.nextStr();
749
762
  var clip = new engineCore.AnimationClip(name);
750
763
  var eventsLen = bufferReader.nextUint16();
@@ -1336,15 +1349,11 @@ exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
1336
1349
  }
1337
1350
  var _proto = EditorTextureLoader.prototype;
1338
1351
  _proto.load = function load(item, resourceManager) {
1339
- return new engineCore.AssetPromise(function(resolve, reject) {
1340
- resourceManager// @ts-ignore
1341
- ._request(item.url, _extends({}, item, {
1342
- type: "arraybuffer"
1343
- })).then(function(data) {
1344
- decode(data, resourceManager.engine).then(function(texture) {
1345
- resolve(texture);
1346
- });
1347
- }).catch(reject);
1352
+ return resourceManager// @ts-ignore
1353
+ ._request(item.url, _extends({}, item, {
1354
+ type: "arraybuffer"
1355
+ })).then(function(data) {
1356
+ return decode(data, resourceManager.engine);
1348
1357
  });
1349
1358
  };
1350
1359
  return EditorTextureLoader;
@@ -1430,79 +1439,77 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
1430
1439
  var _proto = AnimatorControllerLoader.prototype;
1431
1440
  _proto.load = function load(item, resourceManager) {
1432
1441
  var _this = this;
1433
- return new engineCore.AssetPromise(function(resolve, reject) {
1434
- resourceManager// @ts-ignore
1435
- ._request(item.url, _extends({}, item, {
1436
- type: "json"
1437
- })).then(function(data) {
1438
- var animatorController = new engineCore.AnimatorController(resourceManager.engine);
1439
- var layers = data.layers, parameters = data.parameters;
1440
- var promises = [];
1441
- layers.forEach(function(layerData, layerIndex) {
1442
- var name = layerData.name, blendingMode = layerData.blendingMode, weight = layerData.weight, stateMachineData = layerData.stateMachine;
1443
- var layer = new engineCore.AnimatorControllerLayer(name);
1444
- layer.blendingMode = blendingMode;
1445
- layer.weight = weight;
1446
- if (stateMachineData) {
1447
- var states = stateMachineData.states, transitions = stateMachineData.transitions, entryTransitions = stateMachineData.entryTransitions, anyTransitions = stateMachineData.anyTransitions;
1448
- var stateMachine = layer.stateMachine;
1449
- var statesMap = {};
1450
- var transitionsMap = {};
1451
- states.forEach(function(stateData, stateIndex) {
1452
- 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;
1453
- var state = stateMachine.addState(name);
1454
- state.speed = speed;
1455
- state.wrapMode = wrapMode;
1456
- state.clipStartTime = clipStartNormalizedTime;
1457
- state.clipEndTime = clipEndNormalizedTime;
1458
- scripts.forEach(function(script) {
1459
- state.addStateMachineScript(engineCore.Loader.getClass(script));
1460
- });
1461
- statesMap[id] = state;
1462
- if (clipData) {
1463
- promises.push(new Promise(function(resolve) {
1464
- //@ts-ignore
1465
- resourceManager.getResourceByRef(clipData).then(function(clip) {
1466
- resolve({
1467
- layerIndex: layerIndex,
1468
- stateIndex: stateIndex,
1469
- clip: clip
1470
- });
1471
- });
1472
- }));
1473
- }
1474
- });
1475
- transitions.forEach(function(transitionData) {
1476
- var transition = _this._createTransition(transitionData, statesMap[transitionData.destinationStateId]);
1477
- transitionsMap[transitionData.id] = transition;
1478
- });
1479
- states.forEach(function(stateData) {
1480
- var id = stateData.id, transitions = stateData.transitions;
1481
- transitions.forEach(function(transitionId) {
1482
- var transition = transitionsMap[transitionId];
1483
- transition && statesMap[id].addTransition(transition);
1484
- });
1485
- });
1486
- entryTransitions.forEach(function(entryTransitionData) {
1487
- stateMachine.addEntryStateTransition(_this._createTransition(entryTransitionData, statesMap[entryTransitionData.destinationStateId]));
1442
+ return resourceManager// @ts-ignore
1443
+ ._request(item.url, _extends({}, item, {
1444
+ type: "json"
1445
+ })).then(function(data) {
1446
+ var animatorController = new engineCore.AnimatorController(resourceManager.engine);
1447
+ var layers = data.layers, parameters = data.parameters;
1448
+ var promises = [];
1449
+ layers.forEach(function(layerData, layerIndex) {
1450
+ var name = layerData.name, blendingMode = layerData.blendingMode, weight = layerData.weight, stateMachineData = layerData.stateMachine;
1451
+ var layer = new engineCore.AnimatorControllerLayer(name);
1452
+ layer.blendingMode = blendingMode;
1453
+ layer.weight = weight;
1454
+ if (stateMachineData) {
1455
+ var states = stateMachineData.states, transitions = stateMachineData.transitions, entryTransitions = stateMachineData.entryTransitions, anyTransitions = stateMachineData.anyTransitions;
1456
+ var stateMachine = layer.stateMachine;
1457
+ var statesMap = {};
1458
+ var transitionsMap = {};
1459
+ states.forEach(function(stateData, stateIndex) {
1460
+ 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;
1461
+ var state = stateMachine.addState(name);
1462
+ state.speed = speed;
1463
+ state.wrapMode = wrapMode;
1464
+ state.clipStartTime = clipStartNormalizedTime;
1465
+ state.clipEndTime = clipEndNormalizedTime;
1466
+ scripts.forEach(function(script) {
1467
+ state.addStateMachineScript(engineCore.Loader.getClass(script));
1488
1468
  });
1489
- anyTransitions.forEach(function(anyTransitionData) {
1490
- stateMachine.addAnyStateTransition(_this._createTransition(anyTransitionData, statesMap[anyTransitionData.destinationStateId]));
1469
+ statesMap[id] = state;
1470
+ if (clipData) {
1471
+ promises.push(//@ts-ignore
1472
+ resourceManager.getResourceByRef(clipData).then(function(clip) {
1473
+ return {
1474
+ layerIndex: layerIndex,
1475
+ stateIndex: stateIndex,
1476
+ clip: clip
1477
+ };
1478
+ }));
1479
+ }
1480
+ });
1481
+ transitions.forEach(function(transitionData) {
1482
+ var transition = _this._createTransition(transitionData, statesMap[transitionData.destinationStateId]);
1483
+ transitionsMap[transitionData.id] = transition;
1484
+ });
1485
+ states.forEach(function(stateData) {
1486
+ var id = stateData.id, transitions = stateData.transitions;
1487
+ transitions.forEach(function(transitionId) {
1488
+ var transition = transitionsMap[transitionId];
1489
+ transition && statesMap[id].addTransition(transition);
1491
1490
  });
1492
- }
1493
- animatorController.addLayer(layer);
1494
- });
1495
- parameters.forEach(function(parameterData) {
1496
- animatorController.addParameter(parameterData.name, parameterData.defaultValue);
1497
- });
1498
- Promise.all(promises).then(function(clipData) {
1491
+ });
1492
+ entryTransitions.forEach(function(entryTransitionData) {
1493
+ stateMachine.addEntryStateTransition(_this._createTransition(entryTransitionData, statesMap[entryTransitionData.destinationStateId]));
1494
+ });
1495
+ anyTransitions.forEach(function(anyTransitionData) {
1496
+ stateMachine.addAnyStateTransition(_this._createTransition(anyTransitionData, statesMap[anyTransitionData.destinationStateId]));
1497
+ });
1498
+ }
1499
+ animatorController.addLayer(layer);
1500
+ });
1501
+ parameters.forEach(function(parameterData) {
1502
+ animatorController.addParameter(parameterData.name, parameterData.defaultValue);
1503
+ });
1504
+ return new engineCore.AssetPromise(function(resolve, reject) {
1505
+ engineCore.AssetPromise.all(promises).then(function(clipData) {
1499
1506
  clipData.forEach(function(data) {
1500
1507
  var layerIndex = data.layerIndex, stateIndex = data.stateIndex, clip = data.clip;
1501
1508
  animatorController.layers[layerIndex].stateMachine.states[stateIndex].clip = clip;
1502
1509
  });
1503
1510
  resolve(animatorController);
1504
- });
1505
- }).catch(reject);
1511
+ }, reject).catch(reject);
1512
+ });
1506
1513
  });
1507
1514
  };
1508
1515
  _proto._createTransition = function _createTransition(transitionData, destinationState) {
@@ -1703,6 +1710,203 @@ FontLoader = __decorate([
1703
1710
  ], false)
1704
1711
  ], FontLoader);
1705
1712
 
1713
+ // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
1714
+ var ready;
1715
+ function getMeshoptDecoder() {
1716
+ var unpack = function unpack(data) {
1717
+ var result = new Uint8Array(data.length);
1718
+ for(var i = 0; i < data.length; ++i){
1719
+ var ch = data.charCodeAt(i);
1720
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
1721
+ }
1722
+ var write = 0;
1723
+ for(var i1 = 0; i1 < data.length; ++i1){
1724
+ result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
1725
+ }
1726
+ return result.buffer.slice(0, write);
1727
+ };
1728
+ var decode = function decode(fun, target, count, size, source, filter) {
1729
+ var sbrk = instance.exports.sbrk;
1730
+ var count4 = count + 3 & ~3;
1731
+ var tp = sbrk(count4 * size);
1732
+ var sp = sbrk(source.length);
1733
+ var heap = new Uint8Array(instance.exports.memory.buffer);
1734
+ heap.set(source, sp);
1735
+ var res = fun(tp, count, size, sp, source.length);
1736
+ if (res == 0 && filter) {
1737
+ filter(tp, count4, size);
1738
+ }
1739
+ target.set(heap.subarray(tp, tp + count * size));
1740
+ sbrk(tp - sbrk(0));
1741
+ if (res != 0) {
1742
+ throw new Error("Malformed buffer data: " + res);
1743
+ }
1744
+ };
1745
+ var createWorker = function createWorker(url) {
1746
+ var worker = {
1747
+ object: new Worker(url),
1748
+ pending: 0,
1749
+ requests: {}
1750
+ };
1751
+ worker.object.onmessage = function(event) {
1752
+ var data = event.data;
1753
+ worker.pending -= data.count;
1754
+ worker.requests[data.id][data.action](data.value);
1755
+ delete worker.requests[data.id];
1756
+ };
1757
+ return worker;
1758
+ };
1759
+ var initWorkers = function initWorkers(count) {
1760
+ 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 }';
1761
+ var blob = new Blob([
1762
+ source
1763
+ ], {
1764
+ type: "text/javascript"
1765
+ });
1766
+ var url = URL.createObjectURL(blob);
1767
+ for(var i = 0; i < count; ++i){
1768
+ workers[i] = createWorker(url);
1769
+ }
1770
+ URL.revokeObjectURL(url);
1771
+ };
1772
+ var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
1773
+ var worker = workers[0];
1774
+ for(var i = 1; i < workers.length; ++i){
1775
+ if (workers[i].pending < worker.pending) {
1776
+ worker = workers[i];
1777
+ }
1778
+ }
1779
+ return new Promise(function(resolve, reject) {
1780
+ var data = new Uint8Array(source);
1781
+ var id = requestId++;
1782
+ worker.pending += count;
1783
+ worker.requests[id] = {
1784
+ resolve: resolve,
1785
+ reject: reject
1786
+ };
1787
+ worker.object.postMessage({
1788
+ id: id,
1789
+ count: count,
1790
+ size: size,
1791
+ source: data,
1792
+ mode: mode,
1793
+ filter: filter
1794
+ }, [
1795
+ data.buffer
1796
+ ]);
1797
+ });
1798
+ };
1799
+ if (ready) return ready;
1800
+ 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";
1801
+ 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";
1802
+ var wasmpack = new Uint8Array([
1803
+ 32,
1804
+ 0,
1805
+ 65,
1806
+ 2,
1807
+ 1,
1808
+ 106,
1809
+ 34,
1810
+ 33,
1811
+ 3,
1812
+ 128,
1813
+ 11,
1814
+ 4,
1815
+ 13,
1816
+ 64,
1817
+ 6,
1818
+ 253,
1819
+ 10,
1820
+ 7,
1821
+ 15,
1822
+ 116,
1823
+ 127,
1824
+ 5,
1825
+ 8,
1826
+ 12,
1827
+ 40,
1828
+ 16,
1829
+ 19,
1830
+ 54,
1831
+ 20,
1832
+ 9,
1833
+ 27,
1834
+ 255,
1835
+ 113,
1836
+ 17,
1837
+ 42,
1838
+ 67,
1839
+ 24,
1840
+ 23,
1841
+ 146,
1842
+ 148,
1843
+ 18,
1844
+ 14,
1845
+ 22,
1846
+ 45,
1847
+ 70,
1848
+ 69,
1849
+ 56,
1850
+ 114,
1851
+ 101,
1852
+ 21,
1853
+ 25,
1854
+ 63,
1855
+ 75,
1856
+ 136,
1857
+ 108,
1858
+ 28,
1859
+ 118,
1860
+ 29,
1861
+ 73,
1862
+ 115
1863
+ ]);
1864
+ // @ts-ignore
1865
+ var wasm = engineCore.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
1866
+ var instance;
1867
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
1868
+ instance = result.instance;
1869
+ instance.exports.__wasm_call_ctors();
1870
+ }).then(function() {
1871
+ return {
1872
+ workerCount: 4,
1873
+ ready: ready,
1874
+ useWorkers: function useWorkers(workerCount) {
1875
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
1876
+ initWorkers(this.workerCount);
1877
+ },
1878
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
1879
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
1880
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
1881
+ return ready.then(function() {
1882
+ var target = new Uint8Array(count * stride);
1883
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
1884
+ return target;
1885
+ });
1886
+ },
1887
+ release: function release() {
1888
+ for(var i = 0; i < workers.length; i++){
1889
+ workers[i].object.terminate();
1890
+ }
1891
+ }
1892
+ };
1893
+ });
1894
+ var filters = {
1895
+ NONE: "",
1896
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
1897
+ QUATERNION: "meshopt_decodeFilterQuat",
1898
+ EXPONENTIAL: "meshopt_decodeFilterExp"
1899
+ };
1900
+ var decoders = {
1901
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
1902
+ TRIANGLES: "meshopt_decodeIndexBuffer",
1903
+ INDICES: "meshopt_decodeIndexSequence"
1904
+ };
1905
+ var workers = [];
1906
+ var requestId = 0;
1907
+ return ready;
1908
+ }
1909
+
1706
1910
  /**
1707
1911
  * The glTF resource.
1708
1912
  */ var GLTFResource = /*#__PURE__*/ function(ReferResource1) {
@@ -1729,14 +1933,16 @@ FontLoader = __decorate([
1729
1933
  materials && this._disassociationSuperResource(materials);
1730
1934
  if (meshes) {
1731
1935
  for(var i = 0, n = meshes.length; i < n; i++){
1732
- this._disassociationSuperResource(meshes[i]);
1936
+ var meshArr = meshes[i];
1937
+ meshArr && this._disassociationSuperResource(meshArr);
1733
1938
  }
1734
1939
  }
1735
1940
  };
1736
1941
  _proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
1737
1942
  for(var i = 0, n = resources.length; i < n; i++){
1738
- // @ts-ignore
1739
- resources[i]._disassociationSuperResource(this);
1943
+ var // @ts-ignore
1944
+ _resources_i;
1945
+ (_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
1740
1946
  }
1741
1947
  };
1742
1948
  _create_class(GLTFResource, [
@@ -1927,6 +2133,7 @@ var TextureWrapMode;
1927
2133
  this.params = params;
1928
2134
  this.accessorBufferCache = {};
1929
2135
  this.needAnimatorController = false;
2136
+ this./** @internal */ _getPromises = [];
1930
2137
  this._resourceCache = new Map();
1931
2138
  this._progress = {
1932
2139
  taskDetail: {},
@@ -1951,7 +2158,7 @@ var TextureWrapMode;
1951
2158
  var _this = this;
1952
2159
  var parser = GLTFParserContext._parsers[type];
1953
2160
  if (!parser) {
1954
- return Promise.resolve(null);
2161
+ return engineCore.AssetPromise.resolve(null);
1955
2162
  }
1956
2163
  var cache = this._resourceCache;
1957
2164
  var cacheKey = index === undefined ? "" + type : type + ":" + index;
@@ -1967,7 +2174,7 @@ var TextureWrapMode;
1967
2174
  if (index === undefined) {
1968
2175
  resource = type === 8 ? glTFItems.map(function(_, index) {
1969
2176
  return _this.get(type, index);
1970
- }) : Promise.all(glTFItems.map(function(_, index) {
2177
+ }) : engineCore.AssetPromise.all(glTFItems.map(function(_, index) {
1971
2178
  return _this.get(type, index);
1972
2179
  }));
1973
2180
  } else {
@@ -1975,12 +2182,15 @@ var TextureWrapMode;
1975
2182
  isSubAsset && this._handleSubAsset(resource, type, index);
1976
2183
  }
1977
2184
  } else {
1978
- resource = Promise.resolve(null);
2185
+ resource = engineCore.AssetPromise.resolve(null);
1979
2186
  }
1980
2187
  } else {
1981
2188
  resource = parser.parse(this, index);
1982
2189
  isSubAsset && this._handleSubAsset(resource, type, index);
1983
2190
  }
2191
+ if (_instanceof(resource, engineCore.AssetPromise)) {
2192
+ this._getPromises.push(resource);
2193
+ }
1984
2194
  cache.set(cacheKey, resource);
1985
2195
  return resource;
1986
2196
  };
@@ -1989,7 +2199,7 @@ var TextureWrapMode;
1989
2199
  var promise = this.get(0).then(function(json) {
1990
2200
  _this.glTF = json;
1991
2201
  _this.needAnimatorController = !!(json.skins || json.animations);
1992
- return Promise.all([
2202
+ return engineCore.AssetPromise.all([
1993
2203
  _this.get(1),
1994
2204
  _this.get(5),
1995
2205
  _this.get(6),
@@ -2020,6 +2230,8 @@ var TextureWrapMode;
2020
2230
  task.total += 1;
2021
2231
  taskPromise.then(function() {
2022
2232
  _this._setTaskCompleteProgress(++task.loaded, task.total);
2233
+ }, function(e) {
2234
+ engineCore.Logger.error("Failed to complete task", e);
2023
2235
  });
2024
2236
  };
2025
2237
  _proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
@@ -2052,6 +2264,8 @@ var TextureWrapMode;
2052
2264
  _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
2053
2265
  }
2054
2266
  }
2267
+ }).catch(function(e) {
2268
+ engineCore.Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
2055
2269
  });
2056
2270
  }
2057
2271
  };
@@ -2232,13 +2446,15 @@ function registerGLTFParser(pipeline) {
2232
2446
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
2233
2447
  }
2234
2448
  return bufferInfo;
2449
+ }).catch(function(e) {
2450
+ engineCore.Logger.error("GLTFUtil getAccessorBuffer error", e);
2235
2451
  });
2236
2452
  } else {
2237
2453
  var count = accessorCount * dataElementSize;
2238
2454
  var data = new TypedArray(count);
2239
2455
  var bufferInfo = new BufferInfo(data, false, elementStride);
2240
2456
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
2241
- promise = Promise.resolve(bufferInfo);
2457
+ promise = engineCore.AssetPromise.resolve(bufferInfo);
2242
2458
  }
2243
2459
  return accessor.sparse ? promise.then(function(bufferInfo) {
2244
2460
  return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
@@ -2273,7 +2489,7 @@ function registerGLTFParser(pipeline) {
2273
2489
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
2274
2490
  var indicesBufferView = bufferViews[indices.bufferView];
2275
2491
  var valuesBufferView = bufferViews[values.bufferView];
2276
- return Promise.all([
2492
+ return engineCore.AssetPromise.all([
2277
2493
  context.get(exports.GLTFParserType.BufferView, indices.bufferView),
2278
2494
  context.get(exports.GLTFParserType.BufferView, values.bufferView)
2279
2495
  ]).then(function(param) {
@@ -2300,6 +2516,8 @@ function registerGLTFParser(pipeline) {
2300
2516
  }
2301
2517
  }
2302
2518
  bufferInfo.data = data;
2519
+ }).catch(function(e) {
2520
+ engineCore.Logger.error("GLTFUtil processingSparseData error", e);
2303
2521
  });
2304
2522
  };
2305
2523
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
@@ -3817,11 +4035,10 @@ exports.GLTFExtensionMode = void 0;
3817
4035
  for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
3818
4036
  extra[_key - 5] = arguments[_key];
3819
4037
  }
4038
+ var _parser;
4039
+ var _parser1;
3820
4040
  var parser = GLTFParser.getExtensionParser(extensionName, exports.GLTFExtensionMode.AdditiveParse);
3821
- if (parser) {
3822
- var _parser;
3823
- (_parser = parser).additiveParse.apply(_parser, [].concat(context, parseResource, extensionSchema, ownerSchema, extra));
3824
- }
4041
+ (_parser1 = parser) == null ? void 0 : (_parser = _parser1).additiveParse.apply(_parser, [].concat(context, parseResource, extensionSchema, ownerSchema, extra));
3825
4042
  };
3826
4043
  return GLTFParser;
3827
4044
  }();
@@ -3891,7 +4108,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3891
4108
  var animationInfo = context.glTF.animations[index];
3892
4109
  var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
3893
4110
  var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || exports.GLTFAnimationParser._parseStandardProperty(context, new engineCore.AnimationClip(name), animationInfo);
3894
- return Promise.resolve(animationClipPromise).then(function(animationClip) {
4111
+ return engineCore.AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
3895
4112
  GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
3896
4113
  return animationClip;
3897
4114
  });
@@ -3903,7 +4120,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3903
4120
  var glTFSampler = samplers[j];
3904
4121
  var inputAccessor = accessors[glTFSampler.input];
3905
4122
  var outputAccessor = accessors[glTFSampler.output];
3906
- var promise = Promise.all([
4123
+ var promise = engineCore.AssetPromise.all([
3907
4124
  GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
3908
4125
  GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
3909
4126
  ]).then(function(bufferInfos) {
@@ -3954,7 +4171,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3954
4171
  // parse samplers
3955
4172
  for(var j = 0, m = len; j < m; j++)_loop(j);
3956
4173
  promises.push(context.get(exports.GLTFParserType.Scene));
3957
- return Promise.all(promises).then(function() {
4174
+ return engineCore.AssetPromise.all(promises).then(function() {
3958
4175
  for(var j = 0, m = channels.length; j < m; j++){
3959
4176
  var glTFChannel = channels[j];
3960
4177
  var target = glTFChannel.target;
@@ -4084,7 +4301,7 @@ exports.GLTFBufferParser = /*#__PURE__*/ function(GLTFParser1) {
4084
4301
  var _proto = GLTFBufferParser.prototype;
4085
4302
  _proto.parse = function parse(context, index) {
4086
4303
  var buffers = context.glTF.buffers;
4087
- return context.buffers ? Promise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4304
+ return context.buffers ? engineCore.AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4088
4305
  };
4089
4306
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
4090
4307
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
@@ -4171,18 +4388,15 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4171
4388
  material.name = materialInfo.name;
4172
4389
  exports.GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
4173
4390
  }
4174
- return Promise.resolve(material).then(function(material) {
4175
- material || (material = exports.GLTFMaterialParser._getDefaultMaterial(engine));
4391
+ return engineCore.AssetPromise.resolve(material).then(function(material) {
4392
+ // @ts-ignore
4393
+ material || (material = engine._basicResources._getBlinnPhongMaterial());
4176
4394
  GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
4177
4395
  // @ts-ignore
4178
4396
  material._associationSuperResource(glTFResource);
4179
4397
  return material;
4180
4398
  });
4181
4399
  };
4182
- /** @internal */ GLTFMaterialParser1._getDefaultMaterial = function _getDefaultMaterial(engine) {
4183
- var _GLTFMaterialParser;
4184
- return (_GLTFMaterialParser = exports.GLTFMaterialParser)._defaultMaterial || (_GLTFMaterialParser._defaultMaterial = new engineCore.BlinnPhongMaterial(engine));
4185
- };
4186
4400
  /**
4187
4401
  * @internal
4188
4402
  */ GLTFMaterialParser1._checkOtherTextureTransform = function _checkOtherTextureTransform(texture, textureName) {
@@ -4204,6 +4418,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4204
4418
  context.get(exports.GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
4205
4419
  material.baseTexture = texture;
4206
4420
  GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
4421
+ }).catch(function(e) {
4422
+ engineCore.Logger.error("GLTFMaterialParser: baseColorTexture error", e);
4207
4423
  });
4208
4424
  }
4209
4425
  if (material.constructor === engineCore.PBRMaterial) {
@@ -4213,6 +4429,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4213
4429
  exports.GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
4214
4430
  context.get(exports.GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
4215
4431
  material.roughnessMetallicTexture = texture;
4432
+ }).catch(function(e) {
4433
+ engineCore.Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
4216
4434
  });
4217
4435
  }
4218
4436
  }
@@ -4222,6 +4440,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4222
4440
  exports.GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
4223
4441
  context.get(exports.GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
4224
4442
  material.emissiveTexture = texture;
4443
+ }).catch(function(e) {
4444
+ engineCore.Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4225
4445
  });
4226
4446
  }
4227
4447
  if (emissiveFactor) {
@@ -4232,6 +4452,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4232
4452
  exports.GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
4233
4453
  context.get(exports.GLTFParserType.Texture, index).then(function(texture) {
4234
4454
  material.normalTexture = texture;
4455
+ }).catch(function(e) {
4456
+ engineCore.Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4235
4457
  });
4236
4458
  if (scale !== undefined) {
4237
4459
  material.normalTextureIntensity = scale;
@@ -4242,6 +4464,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4242
4464
  exports.GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
4243
4465
  context.get(exports.GLTFParserType.Texture, index1).then(function(texture) {
4244
4466
  material.occlusionTexture = texture;
4467
+ }).catch(function(e) {
4468
+ engineCore.Logger.error("GLTFMaterialParser: occlusionTexture error", e);
4245
4469
  });
4246
4470
  if (strength !== undefined) {
4247
4471
  material.occlusionTextureIntensity = strength;
@@ -4286,7 +4510,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4286
4510
  _proto.parse = function parse(context, index) {
4287
4511
  var _loop = function(i, length) {
4288
4512
  var gltfPrimitive = meshInfo.primitives[i];
4289
- primitivePromises[i] = new Promise(function(resolve) {
4513
+ primitivePromises[i] = new engineCore.AssetPromise(function(resolve, reject) {
4290
4514
  var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
4291
4515
  if (mesh) {
4292
4516
  if (_instanceof(mesh, engineCore.ModelMesh)) {
@@ -4307,7 +4531,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4307
4531
  var meshRestoreInfo = new ModelMeshRestoreInfo();
4308
4532
  meshRestoreInfo.mesh = mesh1;
4309
4533
  context.contentRestorer.meshes.push(meshRestoreInfo);
4310
- exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
4534
+ exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
4311
4535
  }
4312
4536
  });
4313
4537
  };
@@ -4316,7 +4540,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4316
4540
  var engine = glTFResource.engine;
4317
4541
  var primitivePromises = new Array();
4318
4542
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
4319
- return Promise.all(primitivePromises);
4543
+ return engineCore.AssetPromise.all(primitivePromises);
4320
4544
  };
4321
4545
  /**
4322
4546
  * @internal
@@ -4399,7 +4623,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4399
4623
  var bufferBindIndex = 0;
4400
4624
  var promises = new Array();
4401
4625
  for(var attribute in attributes)_loop(attribute);
4402
- return Promise.all(promises).then(function() {
4626
+ return engineCore.AssetPromise.all(promises).then(function() {
4403
4627
  mesh.setVertexElements(vertexElements);
4404
4628
  // Indices
4405
4629
  if (indices !== undefined) {
@@ -4449,7 +4673,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4449
4673
  var tangentTarget = targets["TANGENT"];
4450
4674
  var hasNormal = normalTarget !== undefined;
4451
4675
  var hasTangent = tangentTarget !== undefined;
4452
- var promise = Promise.all([
4676
+ var promise = engineCore.AssetPromise.all([
4453
4677
  _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
4454
4678
  hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
4455
4679
  hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
@@ -4470,7 +4694,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4470
4694
  var blendShapeCount = glTFTargets.length;
4471
4695
  var blendShapeCollection = new Array(blendShapeCount);
4472
4696
  for(var i = 0; i < blendShapeCount; i++)_loop(i);
4473
- return Promise.all(promises).then(function() {
4697
+ return engineCore.AssetPromise.all(promises).then(function() {
4474
4698
  for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
4475
4699
  var blendShape = _step.value;
4476
4700
  mesh.addBlendShape(blendShape.blendShape);
@@ -4518,7 +4742,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4518
4742
  for(var i1 = 0; i1 < sceneNodes.length; i1++){
4519
4743
  promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
4520
4744
  }
4521
- return Promise.all(promises).then(function() {
4745
+ return engineCore.AssetPromise.all(promises).then(function() {
4522
4746
  GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
4523
4747
  return sceneRoot;
4524
4748
  });
@@ -4536,7 +4760,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4536
4760
  if (meshID !== undefined) {
4537
4761
  promise = this._createRenderer(context, entityInfo, entity);
4538
4762
  }
4539
- return Promise.resolve(promise).then(function() {
4763
+ return engineCore.AssetPromise.resolve(promise).then(function() {
4540
4764
  var promises = [];
4541
4765
  var children = entityInfo.children;
4542
4766
  if (children) {
@@ -4544,7 +4768,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4544
4768
  promises.push(_this._parseEntityComponent(context, children[i]));
4545
4769
  }
4546
4770
  }
4547
- return Promise.all(promises);
4771
+ return engineCore.AssetPromise.all(promises);
4548
4772
  });
4549
4773
  };
4550
4774
  _proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
@@ -4593,13 +4817,14 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4593
4817
  var _glTFMeshPrimitives_i_material;
4594
4818
  materialPromises[i] = context.get(exports.GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
4595
4819
  }
4596
- return Promise.all([
4820
+ return engineCore.AssetPromise.all([
4597
4821
  context.get(exports.GLTFParserType.Mesh, meshID),
4598
4822
  skinID !== undefined && context.get(exports.GLTFParserType.Skin, skinID),
4599
- Promise.all(materialPromises)
4823
+ engineCore.AssetPromise.all(materialPromises)
4600
4824
  ]).then(function(param) {
4601
4825
  var _loop = function(i) {
4602
- var material = materials[i] || exports.GLTFMaterialParser._getDefaultMaterial(context.glTFResource.engine);
4826
+ // @ts-ignore
4827
+ var material = materials[i] || context.glTFResource.engine._basicResources._getBlinnPhongMaterial();
4603
4828
  var glTFPrimitive = glTFMeshPrimitives[i];
4604
4829
  var mesh = meshes[i];
4605
4830
  var renderer = void 0;
@@ -4629,6 +4854,8 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4629
4854
  };
4630
4855
  var meshes = param[0], skin = param[1], materials = param[2];
4631
4856
  for(var i = 0; i < rendererCount; i++)_loop(i);
4857
+ }).catch(function(e) {
4858
+ engineCore.Logger.error("GLTFSceneParser: create renderer error", e);
4632
4859
  });
4633
4860
  };
4634
4861
  _proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
@@ -4713,7 +4940,7 @@ exports.GLTFSkinParser = /*#__PURE__*/ function(GLTFParser1) {
4713
4940
  }
4714
4941
  return skin;
4715
4942
  });
4716
- return Promise.resolve(skinPromise);
4943
+ return engineCore.AssetPromise.resolve(skinPromise);
4717
4944
  };
4718
4945
  _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
4719
4946
  var paths = {};
@@ -4764,7 +4991,7 @@ exports.GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFPar
4764
4991
  if (!texture) {
4765
4992
  texture = exports.GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
4766
4993
  }
4767
- return Promise.resolve(texture).then(function(texture) {
4994
+ return engineCore.AssetPromise.resolve(texture).then(function(texture) {
4768
4995
  GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
4769
4996
  // @ts-ignore
4770
4997
  texture._associationSuperResource(glTFResource);
@@ -4811,6 +5038,8 @@ exports.GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFPar
4811
5038
  context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
4812
5039
  return texture;
4813
5040
  });
5041
+ }).catch(function(e) {
5042
+ engineCore.Logger.error("GLTFTextureParser: image buffer error", e);
4814
5043
  });
4815
5044
  }
4816
5045
  return texture;
@@ -4854,7 +5083,7 @@ exports.GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
4854
5083
  }
4855
5084
  }
4856
5085
  }
4857
- return Promise.resolve(null);
5086
+ return engineCore.AssetPromise.resolve(null);
4858
5087
  };
4859
5088
  return GLTFValidator;
4860
5089
  }(GLTFParser);
@@ -4873,6 +5102,8 @@ exports.GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
4873
5102
  var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
4874
5103
  return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(exports.GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
4875
5104
  return new Uint8Array(buffer, byteOffset, byteLength);
5105
+ }).catch(function(e) {
5106
+ engineCore.Logger.error("GLTFBufferViewParser: buffer error", e);
4876
5107
  });
4877
5108
  };
4878
5109
  return GLTFBufferViewParser;
@@ -4890,11 +5121,13 @@ exports.GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser1) {
4890
5121
  _proto.parse = function parse(context) {
4891
5122
  var _this = this;
4892
5123
  if (!context.needAnimatorController) {
4893
- return Promise.resolve(null);
5124
+ return engineCore.AssetPromise.resolve(null);
4894
5125
  }
4895
5126
  return context.get(exports.GLTFParserType.Animation).then(function(animations) {
4896
5127
  var animatorController = _this._createAnimatorController(context, animations);
4897
- return Promise.resolve(animatorController);
5128
+ return engineCore.AssetPromise.resolve(animatorController);
5129
+ }).catch(function(e) {
5130
+ engineCore.Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
4898
5131
  });
4899
5132
  };
4900
5133
  _proto._createAnimatorController = function _createAnimatorController(context, animations) {
@@ -4925,203 +5158,6 @@ exports.GLTFAnimatorControllerParser = __decorate([
4925
5158
  registerGLTFParser(exports.GLTFParserType.AnimatorController)
4926
5159
  ], exports.GLTFAnimatorControllerParser);
4927
5160
 
4928
- // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
4929
- var ready;
4930
- function getMeshoptDecoder() {
4931
- var unpack = function unpack(data) {
4932
- var result = new Uint8Array(data.length);
4933
- for(var i = 0; i < data.length; ++i){
4934
- var ch = data.charCodeAt(i);
4935
- result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
4936
- }
4937
- var write = 0;
4938
- for(var i1 = 0; i1 < data.length; ++i1){
4939
- result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
4940
- }
4941
- return result.buffer.slice(0, write);
4942
- };
4943
- var decode = function decode(fun, target, count, size, source, filter) {
4944
- var sbrk = instance.exports.sbrk;
4945
- var count4 = count + 3 & ~3;
4946
- var tp = sbrk(count4 * size);
4947
- var sp = sbrk(source.length);
4948
- var heap = new Uint8Array(instance.exports.memory.buffer);
4949
- heap.set(source, sp);
4950
- var res = fun(tp, count, size, sp, source.length);
4951
- if (res == 0 && filter) {
4952
- filter(tp, count4, size);
4953
- }
4954
- target.set(heap.subarray(tp, tp + count * size));
4955
- sbrk(tp - sbrk(0));
4956
- if (res != 0) {
4957
- throw new Error("Malformed buffer data: " + res);
4958
- }
4959
- };
4960
- var createWorker = function createWorker(url) {
4961
- var worker = {
4962
- object: new Worker(url),
4963
- pending: 0,
4964
- requests: {}
4965
- };
4966
- worker.object.onmessage = function(event) {
4967
- var data = event.data;
4968
- worker.pending -= data.count;
4969
- worker.requests[data.id][data.action](data.value);
4970
- delete worker.requests[data.id];
4971
- };
4972
- return worker;
4973
- };
4974
- var initWorkers = function initWorkers(count) {
4975
- 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 }';
4976
- var blob = new Blob([
4977
- source
4978
- ], {
4979
- type: "text/javascript"
4980
- });
4981
- var url = URL.createObjectURL(blob);
4982
- for(var i = 0; i < count; ++i){
4983
- workers[i] = createWorker(url);
4984
- }
4985
- URL.revokeObjectURL(url);
4986
- };
4987
- var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
4988
- var worker = workers[0];
4989
- for(var i = 1; i < workers.length; ++i){
4990
- if (workers[i].pending < worker.pending) {
4991
- worker = workers[i];
4992
- }
4993
- }
4994
- return new Promise(function(resolve, reject) {
4995
- var data = new Uint8Array(source);
4996
- var id = requestId++;
4997
- worker.pending += count;
4998
- worker.requests[id] = {
4999
- resolve: resolve,
5000
- reject: reject
5001
- };
5002
- worker.object.postMessage({
5003
- id: id,
5004
- count: count,
5005
- size: size,
5006
- source: data,
5007
- mode: mode,
5008
- filter: filter
5009
- }, [
5010
- data.buffer
5011
- ]);
5012
- });
5013
- };
5014
- if (ready) return ready;
5015
- 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";
5016
- 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";
5017
- var wasmpack = new Uint8Array([
5018
- 32,
5019
- 0,
5020
- 65,
5021
- 2,
5022
- 1,
5023
- 106,
5024
- 34,
5025
- 33,
5026
- 3,
5027
- 128,
5028
- 11,
5029
- 4,
5030
- 13,
5031
- 64,
5032
- 6,
5033
- 253,
5034
- 10,
5035
- 7,
5036
- 15,
5037
- 116,
5038
- 127,
5039
- 5,
5040
- 8,
5041
- 12,
5042
- 40,
5043
- 16,
5044
- 19,
5045
- 54,
5046
- 20,
5047
- 9,
5048
- 27,
5049
- 255,
5050
- 113,
5051
- 17,
5052
- 42,
5053
- 67,
5054
- 24,
5055
- 23,
5056
- 146,
5057
- 148,
5058
- 18,
5059
- 14,
5060
- 22,
5061
- 45,
5062
- 70,
5063
- 69,
5064
- 56,
5065
- 114,
5066
- 101,
5067
- 21,
5068
- 25,
5069
- 63,
5070
- 75,
5071
- 136,
5072
- 108,
5073
- 28,
5074
- 118,
5075
- 29,
5076
- 73,
5077
- 115
5078
- ]);
5079
- // @ts-ignore
5080
- var wasm = engineCore.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
5081
- var instance;
5082
- ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
5083
- instance = result.instance;
5084
- instance.exports.__wasm_call_ctors();
5085
- }).then(function() {
5086
- return {
5087
- workerCount: 4,
5088
- ready: ready,
5089
- useWorkers: function useWorkers(workerCount) {
5090
- this.workerCount = workerCount != null ? workerCount : this.workerCount;
5091
- initWorkers(this.workerCount);
5092
- },
5093
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
5094
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
5095
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
5096
- return ready.then(function() {
5097
- var target = new Uint8Array(count * stride);
5098
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
5099
- return target;
5100
- });
5101
- },
5102
- release: function release() {
5103
- for(var i = 0; i < workers.length; i++){
5104
- workers[i].object.terminate();
5105
- }
5106
- }
5107
- };
5108
- });
5109
- var filters = {
5110
- NONE: "",
5111
- OCTAHEDRAL: "meshopt_decodeFilterOct",
5112
- QUATERNION: "meshopt_decodeFilterQuat",
5113
- EXPONENTIAL: "meshopt_decodeFilterExp"
5114
- };
5115
- var decoders = {
5116
- ATTRIBUTES: "meshopt_decodeVertexBuffer",
5117
- TRIANGLES: "meshopt_decodeIndexBuffer",
5118
- INDICES: "meshopt_decodeIndexSequence"
5119
- };
5120
- var workers = [];
5121
- var requestId = 0;
5122
- return ready;
5123
- }
5124
-
5125
5161
  exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5126
5162
  _inherits(GLTFLoader, Loader1);
5127
5163
  function GLTFLoader() {
@@ -5145,10 +5181,19 @@ exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5145
5181
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
5146
5182
  keepMeshData: false
5147
5183
  }, params));
5148
- return new engineCore.AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
5184
+ return new engineCore.AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
5149
5185
  context._setTaskCompleteProgress = setTaskCompleteProgress;
5150
5186
  context._setTaskDetailProgress = setTaskDetailProgress;
5151
- context.parse().then(resolve).catch(reject);
5187
+ onTaskCancel(function() {
5188
+ var getPromises = context._getPromises;
5189
+ for(var i = 0, n = getPromises.length; i < n; i++){
5190
+ getPromises[i].cancel();
5191
+ }
5192
+ });
5193
+ context.parse().then(resolve).catch(function(e) {
5194
+ glTFResource.destroy();
5195
+ reject(e);
5196
+ });
5152
5197
  });
5153
5198
  };
5154
5199
  /**
@@ -6697,18 +6742,24 @@ var KHR_materials_clearcoat = /*#__PURE__*/ function(GLTFExtensionParser1) {
6697
6742
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
6698
6743
  context.get(exports.GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
6699
6744
  material.clearCoatTexture = texture;
6745
+ }).catch(function(e) {
6746
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
6700
6747
  });
6701
6748
  }
6702
6749
  if (clearcoatRoughnessTexture) {
6703
6750
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
6704
6751
  context.get(exports.GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
6705
6752
  material.clearCoatRoughnessTexture = texture;
6753
+ }).catch(function(e) {
6754
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
6706
6755
  });
6707
6756
  }
6708
6757
  if (clearcoatNormalTexture) {
6709
6758
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
6710
6759
  context.get(exports.GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
6711
6760
  material.clearCoatNormalTexture = texture;
6761
+ }).catch(function(e) {
6762
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
6712
6763
  });
6713
6764
  }
6714
6765
  };
@@ -6751,6 +6802,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6751
6802
  context.get(exports.GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
6752
6803
  material.baseTexture = texture;
6753
6804
  GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
6805
+ }).catch(function(e) {
6806
+ engineCore.Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
6754
6807
  });
6755
6808
  }
6756
6809
  if (specularFactor) {
@@ -6763,6 +6816,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6763
6816
  exports.GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
6764
6817
  context.get(exports.GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
6765
6818
  material.specularGlossinessTexture = texture;
6819
+ }).catch(function(e) {
6820
+ engineCore.Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
6766
6821
  });
6767
6822
  }
6768
6823
  material.name = ownerSchema.name;
@@ -6811,6 +6866,8 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser1) {
6811
6866
  return variantNames[index].name;
6812
6867
  })
6813
6868
  });
6869
+ }).catch(function(e) {
6870
+ engineCore.Logger.error("KHR_materials_variants: material error", e);
6814
6871
  });
6815
6872
  };
6816
6873
  var _glTFResource;
@@ -6845,57 +6902,49 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser1) {
6845
6902
  }
6846
6903
  var _proto = KHR_texture_basisu.prototype;
6847
6904
  _proto.createAndParse = function createAndParse(context, schema, textureInfo) {
6848
- return _async_to_generator(function() {
6849
- var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, promise, bufferView;
6850
- return __generator(this, function(_state) {
6851
- glTF = context.glTF, glTFResource = context.glTFResource;
6852
- engine = glTFResource.engine, url = glTFResource.url;
6853
- sampler = textureInfo.sampler, textureName = textureInfo.name;
6854
- source = schema.source;
6855
- _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
6856
- samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
6857
- if (uri) {
6858
- index = uri.lastIndexOf(".");
6859
- promise = engine.resourceManager.load({
6860
- url: engineCore.Utils.resolveAbsoluteUrl(url, uri),
6861
- type: engineCore.AssetType.KTX2
6862
- }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
6863
- if (!texture.name) {
6864
- texture.name = textureName || imageName || "texture_" + index;
6865
- }
6905
+ var glTF = context.glTF, glTFResource = context.glTFResource;
6906
+ var engine = glTFResource.engine, url = glTFResource.url;
6907
+ var sampler = textureInfo.sampler, textureName = textureInfo.name;
6908
+ var source = schema.source;
6909
+ var _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
6910
+ var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
6911
+ if (uri) {
6912
+ var index = uri.lastIndexOf(".");
6913
+ var promise = engine.resourceManager.load({
6914
+ url: engineCore.Utils.resolveAbsoluteUrl(url, uri),
6915
+ type: engineCore.AssetType.KTX2
6916
+ }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
6917
+ if (!texture.name) {
6918
+ texture.name = textureName || imageName || "texture_" + index;
6919
+ }
6920
+ if (sampler !== undefined) {
6921
+ GLTFUtils.parseSampler(texture, samplerInfo);
6922
+ }
6923
+ return texture;
6924
+ });
6925
+ context._addTaskCompletePromise(promise);
6926
+ return promise;
6927
+ } else {
6928
+ var bufferView = glTF.bufferViews[bufferViewIndex];
6929
+ return new engineCore.AssetPromise(function(resolve, reject) {
6930
+ context.get(exports.GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
6931
+ var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
6932
+ exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
6933
+ var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
6934
+ var texture = exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
6935
+ texture.name = textureName || imageName || "texture_" + bufferViewIndex;
6866
6936
  if (sampler !== undefined) {
6867
6937
  GLTFUtils.parseSampler(texture, samplerInfo);
6868
6938
  }
6869
- return texture;
6870
- });
6871
- context._addTaskCompletePromise(promise);
6872
- return [
6873
- 2,
6874
- promise
6875
- ];
6876
- } else {
6877
- bufferView = glTF.bufferViews[bufferViewIndex];
6878
- return [
6879
- 2,
6880
- context.get(exports.GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
6881
- var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
6882
- return exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
6883
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
6884
- return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
6885
- }).then(function(texture) {
6886
- texture.name = textureName || imageName || "texture_" + bufferViewIndex;
6887
- if (sampler !== undefined) {
6888
- GLTFUtils.parseSampler(texture, samplerInfo);
6889
- }
6890
- var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
6891
- context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
6892
- return texture;
6893
- });
6894
- })
6895
- ];
6896
- }
6939
+ var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
6940
+ context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
6941
+ resolve(texture);
6942
+ }).catch(reject);
6943
+ }).catch(function(e) {
6944
+ engineCore.Logger.error("KHR_texture_basisu: buffer error", e);
6945
+ });
6897
6946
  });
6898
- })();
6947
+ }
6899
6948
  };
6900
6949
  return KHR_texture_basisu;
6901
6950
  }(GLTFExtensionParser);
@@ -6985,6 +7034,8 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
6985
7034
  return getMeshoptDecoder().then(function(decoder) {
6986
7035
  return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
6987
7036
  });
7037
+ }).catch(function(e) {
7038
+ engineCore.Logger.error("EXT_meshopt_compression: buffer error", e);
6988
7039
  });
6989
7040
  };
6990
7041
  return EXT_meshopt_compression;
@@ -7007,6 +7058,8 @@ var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser1) {
7007
7058
  exports.GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
7008
7059
  context.get(exports.GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
7009
7060
  material.anisotropyTexture = texture;
7061
+ }).catch(function(e) {
7062
+ engineCore.Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
7010
7063
  });
7011
7064
  }
7012
7065
  };
@@ -7034,19 +7087,10 @@ var EXT_texture_webp = /*#__PURE__*/ function(GLTFExtensionParser1) {
7034
7087
  }
7035
7088
  var _proto = EXT_texture_webp.prototype;
7036
7089
  _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
7037
- var _this = this;
7038
- return _async_to_generator(function() {
7039
- var webPIndex, sampler, tmp, fallbackIndex, textureName, texture;
7040
- return __generator(this, function(_state) {
7041
- webPIndex = schema.source;
7042
- sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7043
- texture = exports.GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
7044
- return [
7045
- 2,
7046
- texture
7047
- ];
7048
- });
7049
- })();
7090
+ var webPIndex = schema.source;
7091
+ var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7092
+ var texture = exports.GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
7093
+ return texture;
7050
7094
  };
7051
7095
  return EXT_texture_webp;
7052
7096
  }(GLTFExtensionParser);