@jdultra/threedtiles 11.1.11 → 11.1.12

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.
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see threedtiles.min.js.LICENSE.txt */
2
- !function webpackUniversalModuleDefinition(t,a){"object"==typeof exports&&"object"==typeof module?module.exports=a(require("three")):"function"==typeof define&&define.amd?define("threedtiles",["three"],a):"object"==typeof exports?exports.threedtiles=a(require("three")):t.threedtiles=a(t.THREE)}(this,(t=>(()=>{var a={649:(t,a,r)=>{const i=r(180),o=r(31),A=r(839);t.exports={Heap:i,Queue:o,LinkedHashMap:A}},180:t=>{t.exports=class Heap{constructor(t,a){if(this._data=[],this._comparator=function compare(t,a){return t>=a},null!=t){if(!Array.isArray(t))throw Error("Constructor expects data to be an array");this._data=t}if(null!=a){if("function"!=typeof a)throw Error("Constructor expects comparator to be a function");this._comparator=a}}peek(){return this.size()<1?null:this._data[0]}pop(){if(this.size()<1)return null;const t=this._data[0];return this.swap(this.size()-1,0),this._data.pop(),this.heapifyDown(0),t}replaceTop(t){if(this.size()<1)return null;const a=this._data[0];return this._data[0]=t,this.heapifyDown(0),a}push(t){this._data.push(t),this.heapifyUp(this._data.length-1)}size(){return this._data.length}swap(t,a){const r=this._data[t];this._data[t]=this._data[a],this._data[a]=r}heapifyUp(t){if(0===t)return;const a=Math.floor((t-1)/2);this._comparator(this._data[t],this._data[a])||(this.swap(t,a),this.heapifyUp(a))}heapifyDown(t){const a=2*t+1,r=2*t+2;if(a>=this._data.length)return;const i=r<this._data.length&&!this._comparator(this._data[r],this._data[a])?r:a;this._comparator(this._data[t],this._data[i])&&(this.swap(t,i),this.heapifyDown(i))}}},839:t=>{t.exports=class LinkedHashMap{constructor(){this._data=new Map,this._link=new Map,this._head=void 0,this._tail=void 0}put(t,a,r=!1){this.has(t)?this._data.set(t,a):(this._data.set(t,a),this._link.set(t,{previous:void 0,next:void 0}),null==this._head?(this._head=t,this._tail=t):r?(this._link.get(this._head).previous=t,this._link.get(t).next=this._head,this._head=t):(this._link.get(this._tail).next=t,this._link.get(t).previous=this._tail,this._tail=t))}head(){return{key:this._head,value:this.get(this._head),next:()=>this.next(this._head),previous:()=>null}}tail(){return{key:this._tail,value:this.get(this._tail),next:()=>null,previous:()=>this.previous(this._tail)}}get(t){return this._data.get(t)}previousKey(t){const a=this._link.get(t);return null!=a?a.previous:void 0}previousValue(t){return this.get(this.previousKey(t))}previous(t){const a=this.previousKey(t);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}nextKey(t){const a=this._link.get(t);return null!=a?a.next:void 0}nextValue(t){return this.get(this.nextKey(t))}next(t){const a=this.nextKey(t);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}remove(t){const a=this._data.get(t);if(null!=a)if(1===this.size())this.reset();else{if(t===this._head){const t=this._link.get(this._head);this._link.get(t.next).previous=null,this._head=t.next}else if(t===this._tail){const t=this._link.get(this._tail);this._link.get(t.previous).next=null,this._tail=t.previous}else{const a=this._link.get(t),r=this._link.get(a.previous),i=this._link.get(a.next);r.next=a.next,i.previous=a.previous}this._link.delete(t),this._data.delete(t)}return a}has(t){return this._data.has(t)}size(){return this._data.size}reset(){this._data.clear(),this._link.clear(),this._head=void 0,this._tail=void 0}keys(){return this._data.keys()}values(){return this._data.values()}entries(){return this._data.entries()}toArray(t="orderByInsert"){if("orderByInsert"!==t){const t=[];let a=this._head;for(;null!=a;)t.push({key:a,value:this.get(a)}),a=this.nextKey(a);return t}return Array.from(this.keys()).map((t=>({key:t,value:this.get(t)})))}}},31:t=>{t.exports=class Queue{constructor(t,a){if(this._data=[],this._head=0,this._cap=null,null!=t){if(!Array.isArray(t))throw Error("Constructor expects data to be an array");this._data=t}if(null!=a){if("number"!=typeof a)throw Error("Constructor expects capacity to be a number");this._cap=a}}enqueue(t){return!(null!=this._cap&&this.size()>=this._cap)&&(this._data.push(t),!0)}dequeue(){if(0===this.size())return null;const t=this._data[this._head];return this._head+=1,2*this._head>=this._data.length&&(this._data=this._data.slice(this._head),this._head=0),t}peek(t=!1){return this.size()>0?t?this._data[this._data.length-1]:this._data[this._head]:null}size(){return this._data.length-this._head}updateCapacity(t){this._cap=t}reset(){this._data=[],this._head=0}forEach(t){for(let a=this._head;a<this._data.length;a+=1)t(this._data[a],a-this._head)}toArray(){return this._data.slice(this._head)}}},975:t=>{"use strict";function assertPath(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function normalizeStringPosix(t,a){for(var r,i="",o=0,A=-1,c=0,l=0;l<=t.length;++l){if(l<t.length)r=t.charCodeAt(l);else{if(47===r)break;r=47}if(47===r){if(A===l-1||1===c);else if(A!==l-1&&2===c){if(i.length<2||2!==o||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2))if(i.length>2){var d=i.lastIndexOf("/");if(d!==i.length-1){-1===d?(i="",o=0):o=(i=i.slice(0,d)).length-1-i.lastIndexOf("/"),A=l,c=0;continue}}else if(2===i.length||1===i.length){i="",o=0,A=l,c=0;continue}a&&(i.length>0?i+="/..":i="..",o=2)}else i.length>0?i+="/"+t.slice(A+1,l):i=t.slice(A+1,l),o=l-A-1;A=l,c=0}else 46===r&&-1!==c?++c:c=-1}return i}var a={resolve:function resolve(){for(var t,a="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var o;i>=0?o=arguments[i]:(void 0===t&&(t=process.cwd()),o=t),assertPath(o),0!==o.length&&(a=o+"/"+a,r=47===o.charCodeAt(0))}return a=normalizeStringPosix(a,!r),r?a.length>0?"/"+a:"/":a.length>0?a:"."},normalize:function normalize(t){if(assertPath(t),0===t.length)return".";var a=47===t.charCodeAt(0),r=47===t.charCodeAt(t.length-1);return 0!==(t=normalizeStringPosix(t,!a)).length||a||(t="."),t.length>0&&r&&(t+="/"),a?"/"+t:t},isAbsolute:function isAbsolute(t){return assertPath(t),t.length>0&&47===t.charCodeAt(0)},join:function join(){if(0===arguments.length)return".";for(var t,r=0;r<arguments.length;++r){var i=arguments[r];assertPath(i),i.length>0&&(void 0===t?t=i:t+="/"+i)}return void 0===t?".":a.normalize(t)},relative:function relative(t,r){if(assertPath(t),assertPath(r),t===r)return"";if((t=a.resolve(t))===(r=a.resolve(r)))return"";for(var i=1;i<t.length&&47===t.charCodeAt(i);++i);for(var o=t.length,A=o-i,c=1;c<r.length&&47===r.charCodeAt(c);++c);for(var l=r.length-c,d=A<l?A:l,h=-1,b=0;b<=d;++b){if(b===d){if(l>d){if(47===r.charCodeAt(c+b))return r.slice(c+b+1);if(0===b)return r.slice(c+b)}else A>d&&(47===t.charCodeAt(i+b)?h=b:0===b&&(h=0));break}var u=t.charCodeAt(i+b);if(u!==r.charCodeAt(c+b))break;47===u&&(h=b)}var g="";for(b=i+h+1;b<=o;++b)b!==o&&47!==t.charCodeAt(b)||(0===g.length?g+="..":g+="/..");return g.length>0?g+r.slice(c+h):(c+=h,47===r.charCodeAt(c)&&++c,r.slice(c))},_makeLong:function _makeLong(t){return t},dirname:function dirname(t){if(assertPath(t),0===t.length)return".";for(var a=t.charCodeAt(0),r=47===a,i=-1,o=!0,A=t.length-1;A>=1;--A)if(47===(a=t.charCodeAt(A))){if(!o){i=A;break}}else o=!1;return-1===i?r?"/":".":r&&1===i?"//":t.slice(0,i)},basename:function basename(t,a){if(void 0!==a&&"string"!=typeof a)throw new TypeError('"ext" argument must be a string');assertPath(t);var r,i=0,o=-1,A=!0;if(void 0!==a&&a.length>0&&a.length<=t.length){if(a.length===t.length&&a===t)return"";var c=a.length-1,l=-1;for(r=t.length-1;r>=0;--r){var d=t.charCodeAt(r);if(47===d){if(!A){i=r+1;break}}else-1===l&&(A=!1,l=r+1),c>=0&&(d===a.charCodeAt(c)?-1==--c&&(o=r):(c=-1,o=l))}return i===o?o=l:-1===o&&(o=t.length),t.slice(i,o)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!A){i=r+1;break}}else-1===o&&(A=!1,o=r+1);return-1===o?"":t.slice(i,o)},extname:function extname(t){assertPath(t);for(var a=-1,r=0,i=-1,o=!0,A=0,c=t.length-1;c>=0;--c){var l=t.charCodeAt(c);if(47!==l)-1===i&&(o=!1,i=c+1),46===l?-1===a?a=c:1!==A&&(A=1):-1!==a&&(A=-1);else if(!o){r=c+1;break}}return-1===a||-1===i||0===A||1===A&&a===i-1&&a===r+1?"":t.slice(a,i)},format:function format(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function _format(t,a){var r=a.dir||a.root,i=a.base||(a.name||"")+(a.ext||"");return r?r===a.root?r+i:r+t+i:i}("/",t)},parse:function parse(t){assertPath(t);var a={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return a;var r,i=t.charCodeAt(0),o=47===i;o?(a.root="/",r=1):r=0;for(var A=-1,c=0,l=-1,d=!0,h=t.length-1,b=0;h>=r;--h)if(47!==(i=t.charCodeAt(h)))-1===l&&(d=!1,l=h+1),46===i?-1===A?A=h:1!==b&&(b=1):-1!==A&&(b=-1);else if(!d){c=h+1;break}return-1===A||-1===l||0===b||1===b&&A===l-1&&A===c+1?-1!==l&&(a.base=a.name=0===c&&o?t.slice(1,l):t.slice(c,l)):(0===c&&o?(a.name=t.slice(1,A),a.base=t.slice(1,l)):(a.name=t.slice(c,A),a.base=t.slice(c,l)),a.ext=t.slice(A,l)),c>0?a.dir=t.slice(0,c-1):o&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,t.exports=a},818:a=>{"use strict";a.exports=t}},r={};function __webpack_require__(t){var i=r[t];if(void 0!==i)return i.exports;var o=r[t]={exports:{}};return a[t](o,o.exports,__webpack_require__),o.exports}__webpack_require__.d=(t,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};return(()=>{"use strict";__webpack_require__.r(i),__webpack_require__.d(i,{InstancedOGC3DTile:()=>Me,InstancedTileLoader:()=>Ue,OGC3DTile:()=>xe,OcclusionCullingService:()=>a,TileLoader:()=>he,getOGC3DTilesCopyrightInfo:()=>getOGC3DTilesCopyrightInfo});var t=__webpack_require__(818);function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,_toPropertyKey(i.key),i)}}function _toPropertyKey(t){var a=function _toPrimitive(t,a){if("object"!=_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==_typeof(a)?a:a+""}var a=function(){return function _createClass(t,a,r){return a&&_defineProperties(t.prototype,a),r&&_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function OcclusionCullingService(){!function _classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,OcclusionCullingService),this.cullMap=[],this.cullMaterial=new t.MeshBasicMaterial({vertexColors:!0}),this.cullMaterial.side=t.FrontSide,this.cullTarget=this._createCullTarget(),this.cullPixels=new Uint8Array(4*this.cullTarget.width*this.cullTarget.height)}),[{key:"setSide",value:function setSide(t){this.cullMaterial.side=t}},{key:"_createCullTarget",value:function _createCullTarget(){var a=new t.WebGLRenderTarget(Math.floor(.05*window.innerWidth),Math.floor(.05*window.innerHeight));return a.texture.format=t.RGBAFormat,a.texture.colorSpace=t.LinearSRGBColorSpace,a.texture.minFilter=t.NearestFilter,a.texture.magFilter=t.NearestFilter,a.texture.generateMipmaps=!1,a.stencilBuffer=!1,a.depthBuffer=!0,a.depthTexture=new t.DepthTexture,a.depthTexture.format=t.DepthFormat,a.depthTexture.type=t.UnsignedShortType,a}},{key:"update",value:function update(a,r,i){var o=r.getRenderTarget(),A=a.overrideMaterial;a.overrideMaterial=this.cullMaterial,r.setRenderTarget(this.cullTarget),r.render(a,i),a.overrideMaterial=A,r.setRenderTarget(o),r.readRenderTargetPixels(this.cullTarget,0,0,this.cullTarget.width,this.cullTarget.height,this.cullPixels),this.cullMap=[];for(var c=0;c<this.cullPixels.length;c+=4){var l=t.MathUtils.clamp(this.cullPixels[c],0,255)<<16^t.MathUtils.clamp(this.cullPixels[c+1],0,255)<<8^t.MathUtils.clamp(this.cullPixels[c+2],0,255);this.cullMap[l]=!0}}},{key:"hasID",value:function hasID(t){return this.cullMap[t]}}])}();function obb_typeof(t){return obb_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},obb_typeof(t)}function _createForOfIteratorHelper(t,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function _unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return _arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,a):void 0}}(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var i=0,o=function F(){};return{s:o,n:function n(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var A,c=!0,l=!1;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){l=!0,A=t},f:function f(){try{c||null==r.return||r.return()}finally{if(l)throw A}}}}function _arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function obb_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,obb_toPropertyKey(i.key),i)}}function obb_toPropertyKey(t){var a=function obb_toPrimitive(t,a){if("object"!=obb_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=obb_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==obb_typeof(a)?a:a+""}var r=function(){return function obb_createClass(t,a,r){return a&&obb_defineProperties(t.prototype,a),r&&obb_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function OBB(a){!function obb_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,OBB),this.center=new t.Vector3(a[0],a[1],a[2]);var r=new t.Vector3(a[3],a[4],a[4]),i=new t.Vector3(a[6],a[7],a[8]),o=new t.Vector3(a[9],a[10],a[11]);this.halfWidth=r.length(),this.halfHeight=i.length(),this.halfDepth=o.length(),this.aabb=new t.Box3;for(var A=new t.Vector3,c=[-1,1],l=0,d=c;l<d.length;l++){var h,b=d[l],u=_createForOfIteratorHelper(c);try{for(u.s();!(h=u.n()).done;){var g,p=h.value,I=_createForOfIteratorHelper(c);try{for(I.s();!(g=I.n()).done;){var y=g.value;A.copy(this.center).addScaledVector(r,b).addScaledVector(i,p).addScaledVector(o,y),this.aabb.expandByPoint(A)}}catch(t){I.e(t)}finally{I.f()}}}catch(t){u.e(t)}finally{u.f()}}r.normalize(),i.normalize(),o.normalize(),this.sphere=new t.Sphere(this.center,Math.sqrt(this.halfWidth*this.halfWidth+this.halfHeight*this.halfHeight+this.halfDepth*this.halfDepth)),this.matrixToOBBCoordinateSystem=new t.Matrix3,this.matrixToOBBCoordinateSystem.set(r.x,r.y,r.z,i.x,i.y,i.z,o.x,o.y,o.z)}),[{key:"inFrustum",value:function inFrustum(t){return t.intersectsSphere(this.sphere)}},{key:"distanceToPoint",value:function distanceToPoint(t){var a=t.clone();a.sub(this.center),a.applyMatrix3(this.matrixToOBBCoordinateSystem);var r=Math.max(0,Math.max(-this.halfWidth-a.x,a.x-this.halfWidth)),i=Math.max(0,Math.max(-this.halfHeight-a.y,a.y-this.halfHeight)),o=Math.max(0,Math.max(-this.halfDepth-a.z,a.z-this.halfDepth));return Math.sqrt(r*r+i*i+o*o)}}])}(),o=__webpack_require__(649);function FeatureTable_typeof(t){return FeatureTable_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},FeatureTable_typeof(t)}function _callSuper(t,a,r){return a=_getPrototypeOf(a),function _possibleConstructorReturn(t,a){if(a&&("object"==FeatureTable_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,_isNativeReflectConstruct()?Reflect.construct(a,r||[],_getPrototypeOf(t).constructor):a.apply(t,r))}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,a,r){var i=function _superPropBase(t,a){for(;!{}.hasOwnProperty.call(t,a)&&null!==(t=_getPrototypeOf(t)););return t}(t,a);if(i){var o=Object.getOwnPropertyDescriptor(i,a);return o.get?o.get.call(arguments.length<3?t:r):o.value}},_get.apply(null,arguments)}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _setPrototypeOf(t,a){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},_setPrototypeOf(t,a)}function FeatureTable_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}function FeatureTable_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,FeatureTable_toPropertyKey(i.key),i)}}function FeatureTable_createClass(t,a,r){return a&&FeatureTable_defineProperties(t.prototype,a),r&&FeatureTable_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function FeatureTable_toPropertyKey(t){var a=function FeatureTable_toPrimitive(t,a){if("object"!=FeatureTable_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=FeatureTable_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==FeatureTable_typeof(a)?a:a+""}var A=new TextDecoder,c=function(){return FeatureTable_createClass((function FeatureTable(t,a,r,i){FeatureTable_classCallCheck(this,FeatureTable),this.buffer=t,this.binOffset=a+r,this.binLength=i;var o=null;if(0!==r)try{var c=new Uint8Array(t,a,r);o=JSON.parse(A.decode(c))}catch(t){o={}}else o={};this.header=o}),[{key:"getKeys",value:function getKeys(){return Object.keys(this.header)}},{key:"getData",value:function getData(t,a){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=this.header;if(!(t in o))return null;var A=o[t];if(A instanceof Object){if(Array.isArray(A))return A;var c,l,d=this.buffer,h=this.binOffset,b=this.binLength,u=A.byteOffset||0,g=A.type||i,p=A.componentType||r;if("type"in A&&i&&A.type!==i)throw new Error("FeatureTable: Specified type does not match expected type.");switch(g){case"SCALAR":c=1;break;case"VEC2":c=2;break;case"VEC3":c=3;break;case"VEC4":c=4;break;default:throw new Error('FeatureTable : Feature type not provided for "'.concat(t,'".'))}var I=h+u,y=a*c;switch(p){case"BYTE":l=new Int8Array(d,I,y);break;case"UNSIGNED_BYTE":l=new Uint8Array(d,I,y);break;case"SHORT":l=new Int16Array(d,I,y);break;case"UNSIGNED_SHORT":l=new Uint16Array(d,I,y);break;case"INT":l=new Int32Array(d,I,y);break;case"UNSIGNED_INT":l=new Uint32Array(d,I,y);break;case"FLOAT":l=new Float32Array(d,I,y);break;case"DOUBLE":l=new Float64Array(d,I,y);break;default:throw new Error('FeatureTable : Feature component type not provided for "'.concat(t,'".'))}if(I+y*l.BYTES_PER_ELEMENT>h+b)throw new Error("FeatureTable: Feature data read outside binary body length.");return l}return A}}])}(),l=function(t){function BatchTable(t,a,r,i,o){var A;return FeatureTable_classCallCheck(this,BatchTable),(A=_callSuper(this,BatchTable,[t,r,i,o])).batchSize=a,A}return function _inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&_setPrototypeOf(t,a)}(BatchTable,t),FeatureTable_createClass(BatchTable,[{key:"getData",value:function getData(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return _get(_getPrototypeOf(BatchTable.prototype),"getData",this).call(this,t,this.batchSize,a,r)}}])}(c);function mergeAttributes(a){let r,i,o,A=-1,c=0;for(let t=0;t<a.length;++t){const l=a[t];if(void 0===r&&(r=l.array.constructor),r!==l.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(void 0===i&&(i=l.itemSize),i!==l.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(void 0===o&&(o=l.normalized),o!==l.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(-1===A&&(A=l.gpuType),A!==l.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;c+=l.count*i}const l=new r(c),d=new t.BufferAttribute(l,i,o);let h=0;for(let t=0;t<a.length;++t){const r=a[t];if(r.isInterleavedBufferAttribute){const t=h/i;for(let a=0,o=r.count;a<o;a++)for(let o=0;o<i;o++){const i=r.getComponent(a,o);d.setComponent(a+t,o,i)}}else l.set(r.array,h);h+=r.count*i}return void 0!==A&&(d.gpuType=A),d}function toTrianglesDrawMode(a,r){if(r===t.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),a;if(r===t.TriangleFanDrawMode||r===t.TriangleStripDrawMode){let i=a.getIndex();if(null===i){const t=[],r=a.getAttribute("position");if(void 0===r)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),a;for(let a=0;a<r.count;a++)t.push(a);a.setIndex(t),i=a.getIndex()}const o=i.count-2,A=[];if(r===t.TriangleFanDrawMode)for(let t=1;t<=o;t++)A.push(i.getX(0)),A.push(i.getX(t)),A.push(i.getX(t+1));else for(let t=0;t<o;t++)t%2==0?(A.push(i.getX(t)),A.push(i.getX(t+1)),A.push(i.getX(t+2))):(A.push(i.getX(t+2)),A.push(i.getX(t+1)),A.push(i.getX(t)));A.length/3!==o&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const c=a.clone();return c.setIndex(A),c.clearGroups(),c}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",r),a}function B3DMDecoder_typeof(t){return B3DMDecoder_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},B3DMDecoder_typeof(t)}function _regeneratorRuntime(){_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==B3DMDecoder_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(B3DMDecoder_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function _asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function B3DMDecoder_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,B3DMDecoder_toPropertyKey(i.key),i)}}function B3DMDecoder_toPropertyKey(t){var a=function B3DMDecoder_toPrimitive(t,a){if("object"!=B3DMDecoder_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=B3DMDecoder_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==B3DMDecoder_typeof(a)?a:a+""}var d=function(){return function B3DMDecoder_createClass(t,a,r){return a&&B3DMDecoder_defineProperties(t.prototype,a),r&&B3DMDecoder_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function B3DMDecoder(a){var r=this;!function B3DMDecoder_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,B3DMDecoder),function _defineProperty(t,a,r){return(a=B3DMDecoder_toPropertyKey(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}(this,"checkLoaderInitialized",_asyncToGenerator(_regeneratorRuntime().mark((function _callee(){return _regeneratorRuntime().wrap((function _callee$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t){var a=setInterval((function(){r.gltfLoader.hasDracoLoader&&!r.gltfLoader.dracoLoader||r.gltfLoader.hasKTX2Loader&&!r.gltfLoader.ktx2Loader||(clearInterval(a),t())}),10)})));case 1:case"end":return t.stop()}}),_callee)})))),this.gltfLoader=a,this.tempMatrix=new t.Matrix4,this.zUpToYUpMatrix=new t.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1)}),[{key:"parseB3DM",value:function parseB3DM(t,a,r,i){var o=this,A=this,d=new DataView(t),h=String.fromCharCode(d.getUint8(0))+String.fromCharCode(d.getUint8(1))+String.fromCharCode(d.getUint8(2))+String.fromCharCode(d.getUint8(3));console.assert("b3dm"===h);var b=d.getUint32(8,!0);console.assert(b===t.byteLength);var u=d.getUint32(12,!0),g=d.getUint32(16,!0),p=d.getUint32(20,!0),I=d.getUint32(24,!0),y=new c(t,28,u,g),m=28+u+g,C=(new l(t,y.getData("BATCH_LENGTH"),m,p,I),m+p+I),E=new Uint8Array(t,C,b-C).slice().buffer;return new Promise(function(){var t=_asyncToGenerator(_regeneratorRuntime().mark((function _callee2(t,c){return _regeneratorRuntime().wrap((function _callee2$(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,o.checkLoaderInitialized();case 2:o.gltfLoader.parse(E,null,(function(c){var l=y.getData("RTC_CENTER");l?(o.tempMatrix.makeTranslation(l[0],l[1],l[2]),c.scene.applyMatrix4(o.tempMatrix)):c.userData.gltfExtensions&&c.userData.gltfExtensions.CESIUM_RTC&&(o.tempMatrix.makeTranslation(c.userData.gltfExtensions.CESIUM_RTC.center[0],c.userData.gltfExtensions.CESIUM_RTC.center[1],c.userData.gltfExtensions.CESIUM_RTC.center[2]),c.scene.applyMatrix4(o.tempMatrix)),r&&c.scene.applyMatrix4(A.zUpToYUpMatrix),c.scene.asset=c.asset,c.scene.traverse((function(t){t.isMesh&&(i&&t.applyMatrix4(A.zUpToYUpMatrix),a&&a(t))})),t(c.scene)}),(function(t){console.error(t)}));case 3:case"end":return c.stop()}}),_callee2)})));return function(a,r){return t.apply(this,arguments)}}())}},{key:"parseB3DMInstanced",value:function parseB3DMInstanced(a,r,i,o,A){return this.parseB3DM(a,r,o,A).then((function(a){var r,o=[],A=[];a.updateWorldMatrix(!1,!0),a.traverse((function(t){t.isMesh&&(t.geometry.applyMatrix4(t.matrixWorld),o.push(t.geometry),A.push(t.material))}));var c=function normalizeAndMergeGeometries(a){var r=new Set;a.forEach((function(t){for(var a in t.attributes)r.add(a)})),a.forEach((function(a){r.forEach((function(r){if(!a.attributes[r]){var i=function getAttributeSize(t){switch(t){case"position":case"normal":case"color":return 3;case"uv":case"uv2":return 2;default:throw new Error("Unknown attribute ".concat(t))}}(r),o=new Float32Array(i*a.getAttribute("position").count).fill(0);a.setAttribute(r,new t.BufferAttribute(o,i))}}))}));var i=function mergeGeometries(a,r=!1){const i=null!==a[0].index,o=new Set(Object.keys(a[0].attributes)),A=new Set(Object.keys(a[0].morphAttributes)),c={},l={},d=a[0].morphTargetsRelative,h=new t.BufferGeometry;let b=0;for(let t=0;t<a.length;++t){const u=a[t];let g=0;if(i!==(null!==u.index))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const a in u.attributes){if(!o.has(a))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+'. All geometries must have compatible attributes; make sure "'+a+'" attribute exists among all geometries, or in none of them.'),null;void 0===c[a]&&(c[a]=[]),c[a].push(u.attributes[a]),g++}if(g!==o.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". Make sure all geometries have the same number of attributes."),null;if(d!==u.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const a in u.morphAttributes){if(!A.has(a))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". .morphAttributes must be consistent throughout all geometries."),null;void 0===l[a]&&(l[a]=[]),l[a].push(u.morphAttributes[a])}if(r){let a;if(i)a=u.index.count;else{if(void 0===u.attributes.position)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". The geometry must have either an index or a position attribute"),null;a=u.attributes.position.count}h.addGroup(b,a,t),b+=a}}if(i){let t=0;const r=[];for(let i=0;i<a.length;++i){const o=a[i].index;for(let a=0;a<o.count;++a)r.push(o.getX(a)+t);t+=a[i].attributes.position.count}h.setIndex(r)}for(const t in c){const a=mergeAttributes(c[t]);if(!a)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+t+" attribute."),null;h.setAttribute(t,a)}for(const t in l){const a=l[t][0].length;if(0===a)break;h.morphAttributes=h.morphAttributes||{},h.morphAttributes[t]=[];for(let r=0;r<a;++r){const a=[];for(let i=0;i<l[t].length;++i)a.push(l[t][i][r]);const i=mergeAttributes(a);if(!i)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+t+" morphAttribute."),null;h.morphAttributes[t].push(i)}}return h}(a,!0);return i}(o);return(r=new t.InstancedMesh(c,A,i)).baseMatrix=(new t.Matrix4).identity(),r}))}}])}();class GLTFLoader extends t.Loader{constructor(t){super(t),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register((function(t){return new GLTFMaterialsClearcoatExtension(t)})),this.register((function(t){return new GLTFMaterialsDispersionExtension(t)})),this.register((function(t){return new GLTFTextureBasisUExtension(t)})),this.register((function(t){return new GLTFTextureWebPExtension(t)})),this.register((function(t){return new GLTFTextureAVIFExtension(t)})),this.register((function(t){return new GLTFMaterialsSheenExtension(t)})),this.register((function(t){return new GLTFMaterialsTransmissionExtension(t)})),this.register((function(t){return new GLTFMaterialsVolumeExtension(t)})),this.register((function(t){return new GLTFMaterialsIorExtension(t)})),this.register((function(t){return new GLTFMaterialsEmissiveStrengthExtension(t)})),this.register((function(t){return new GLTFMaterialsSpecularExtension(t)})),this.register((function(t){return new GLTFMaterialsIridescenceExtension(t)})),this.register((function(t){return new GLTFMaterialsAnisotropyExtension(t)})),this.register((function(t){return new GLTFMaterialsBumpExtension(t)})),this.register((function(t){return new GLTFLightsExtension(t)})),this.register((function(t){return new GLTFMeshoptCompression(t)})),this.register((function(t){return new GLTFMeshGpuInstancing(t)}))}load(a,r,i,o){const A=this;let c;if(""!==this.resourcePath)c=this.resourcePath;else if(""!==this.path){const r=t.LoaderUtils.extractUrlBase(a);c=t.LoaderUtils.resolveURL(r,this.path)}else c=t.LoaderUtils.extractUrlBase(a);this.manager.itemStart(a);const _onError=function(t){o?o(t):console.error(t),A.manager.itemError(a),A.manager.itemEnd(a)},l=new t.FileLoader(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(a,(function(t){try{A.parse(t,c,(function(t){r(t),A.manager.itemEnd(a)}),_onError)}catch(t){_onError(t)}}),i,_onError)}setDRACOLoader(t){return this.dracoLoader=t,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(t){return this.ktx2Loader=t,this}setMeshoptDecoder(t){return this.meshoptDecoder=t,this}register(t){return-1===this.pluginCallbacks.indexOf(t)&&this.pluginCallbacks.push(t),this}unregister(t){return-1!==this.pluginCallbacks.indexOf(t)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(t),1),this}parse(t,a,r,i){let o;const A={},c={},l=new TextDecoder;if("string"==typeof t)o=JSON.parse(t);else if(t instanceof ArrayBuffer){if(l.decode(new Uint8Array(t,0,4))===b){try{A[h.KHR_BINARY_GLTF]=new GLTFBinaryExtension(t)}catch(t){return void(i&&i(t))}o=JSON.parse(A[h.KHR_BINARY_GLTF].content)}else o=JSON.parse(l.decode(t))}else o=t;if(void 0===o.asset||o.asset.version[0]<2)return void(i&&i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const d=new GLTFParser(o,{path:a||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});d.fileLoader.setRequestHeader(this.requestHeader);for(let t=0;t<this.pluginCallbacks.length;t++){const a=this.pluginCallbacks[t](d);a.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),c[a.name]=a,A[a.name]=!0}if(o.extensionsUsed)for(let t=0;t<o.extensionsUsed.length;++t){const a=o.extensionsUsed[t],r=o.extensionsRequired||[];switch(a){case h.KHR_MATERIALS_UNLIT:A[a]=new GLTFMaterialsUnlitExtension;break;case h.KHR_DRACO_MESH_COMPRESSION:A[a]=new GLTFDracoMeshCompressionExtension(o,this.dracoLoader);break;case h.KHR_TEXTURE_TRANSFORM:A[a]=new GLTFTextureTransformExtension;break;case h.KHR_MESH_QUANTIZATION:A[a]=new GLTFMeshQuantizationExtension;break;default:r.indexOf(a)>=0&&void 0===c[a]&&console.warn('THREE.GLTFLoader: Unknown extension "'+a+'".')}}d.setExtensions(A),d.setPlugins(c),d.parse(r,i)}parseAsync(t,a){const r=this;return new Promise((function(i,o){r.parse(t,a,i,o)}))}}function GLTFRegistry(){let t={};return{get:function(a){return t[a]},add:function(a,r){t[a]=r},remove:function(a){delete t[a]},removeAll:function(){t={}}}}const h={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class GLTFLightsExtension{constructor(t){this.parser=t,this.name=h.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const t=this.parser,a=this.parser.json.nodes||[];for(let r=0,i=a.length;r<i;r++){const i=a[r];i.extensions&&i.extensions[this.name]&&void 0!==i.extensions[this.name].light&&t._addNodeRef(this.cache,i.extensions[this.name].light)}}_loadLight(a){const r=this.parser,i="light:"+a;let o=r.cache.get(i);if(o)return o;const A=r.json,c=((A.extensions&&A.extensions[this.name]||{}).lights||[])[a];let l;const d=new t.Color(16777215);void 0!==c.color&&d.setRGB(c.color[0],c.color[1],c.color[2],t.LinearSRGBColorSpace);const h=void 0!==c.range?c.range:0;switch(c.type){case"directional":l=new t.DirectionalLight(d),l.target.position.set(0,0,-1),l.add(l.target);break;case"point":l=new t.PointLight(d),l.distance=h;break;case"spot":l=new t.SpotLight(d),l.distance=h,c.spot=c.spot||{},c.spot.innerConeAngle=void 0!==c.spot.innerConeAngle?c.spot.innerConeAngle:0,c.spot.outerConeAngle=void 0!==c.spot.outerConeAngle?c.spot.outerConeAngle:Math.PI/4,l.angle=c.spot.outerConeAngle,l.penumbra=1-c.spot.innerConeAngle/c.spot.outerConeAngle,l.target.position.set(0,0,-1),l.add(l.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+c.type)}return l.position.set(0,0,0),l.decay=2,assignExtrasToUserData(l,c),void 0!==c.intensity&&(l.intensity=c.intensity),l.name=r.createUniqueName(c.name||"light_"+a),o=Promise.resolve(l),r.cache.add(i,o),o}getDependency(t,a){if("light"===t)return this._loadLight(a)}createNodeAttachment(t){const a=this,r=this.parser,i=r.json.nodes[t],o=(i.extensions&&i.extensions[this.name]||{}).light;return void 0===o?null:this._loadLight(o).then((function(t){return r._getNodeRef(a.cache,o,t)}))}}class GLTFMaterialsUnlitExtension{constructor(){this.name=h.KHR_MATERIALS_UNLIT}getMaterialType(){return t.MeshBasicMaterial}extendParams(a,r,i){const o=[];a.color=new t.Color(1,1,1),a.opacity=1;const A=r.pbrMetallicRoughness;if(A){if(Array.isArray(A.baseColorFactor)){const r=A.baseColorFactor;a.color.setRGB(r[0],r[1],r[2],t.LinearSRGBColorSpace),a.opacity=r[3]}void 0!==A.baseColorTexture&&o.push(i.assignTexture(a,"map",A.baseColorTexture,t.SRGBColorSpace))}return Promise.all(o)}}class GLTFMaterialsEmissiveStrengthExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(t,a){const r=this.parser.json.materials[t];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const i=r.extensions[this.name].emissiveStrength;return void 0!==i&&(a.emissiveIntensity=i),Promise.resolve()}}class GLTFMaterialsClearcoatExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_CLEARCOAT}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[],c=o.extensions[this.name];if(void 0!==c.clearcoatFactor&&(r.clearcoat=c.clearcoatFactor),void 0!==c.clearcoatTexture&&A.push(i.assignTexture(r,"clearcoatMap",c.clearcoatTexture)),void 0!==c.clearcoatRoughnessFactor&&(r.clearcoatRoughness=c.clearcoatRoughnessFactor),void 0!==c.clearcoatRoughnessTexture&&A.push(i.assignTexture(r,"clearcoatRoughnessMap",c.clearcoatRoughnessTexture)),void 0!==c.clearcoatNormalTexture&&(A.push(i.assignTexture(r,"clearcoatNormalMap",c.clearcoatNormalTexture)),void 0!==c.clearcoatNormalTexture.scale)){const a=c.clearcoatNormalTexture.scale;r.clearcoatNormalScale=new t.Vector2(a,a)}return Promise.all(A)}}class GLTFMaterialsDispersionExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_DISPERSION}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser.json.materials[t];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const i=r.extensions[this.name];return a.dispersion=void 0!==i.dispersion?i.dispersion:0,Promise.resolve()}}class GLTFMaterialsIridescenceExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_IRIDESCENCE}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return void 0!==A.iridescenceFactor&&(a.iridescence=A.iridescenceFactor),void 0!==A.iridescenceTexture&&o.push(r.assignTexture(a,"iridescenceMap",A.iridescenceTexture)),void 0!==A.iridescenceIor&&(a.iridescenceIOR=A.iridescenceIor),void 0===a.iridescenceThicknessRange&&(a.iridescenceThicknessRange=[100,400]),void 0!==A.iridescenceThicknessMinimum&&(a.iridescenceThicknessRange[0]=A.iridescenceThicknessMinimum),void 0!==A.iridescenceThicknessMaximum&&(a.iridescenceThicknessRange[1]=A.iridescenceThicknessMaximum),void 0!==A.iridescenceThicknessTexture&&o.push(r.assignTexture(a,"iridescenceThicknessMap",A.iridescenceThicknessTexture)),Promise.all(o)}}class GLTFMaterialsSheenExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_SHEEN}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[];r.sheenColor=new t.Color(0,0,0),r.sheenRoughness=0,r.sheen=1;const c=o.extensions[this.name];if(void 0!==c.sheenColorFactor){const a=c.sheenColorFactor;r.sheenColor.setRGB(a[0],a[1],a[2],t.LinearSRGBColorSpace)}return void 0!==c.sheenRoughnessFactor&&(r.sheenRoughness=c.sheenRoughnessFactor),void 0!==c.sheenColorTexture&&A.push(i.assignTexture(r,"sheenColorMap",c.sheenColorTexture,t.SRGBColorSpace)),void 0!==c.sheenRoughnessTexture&&A.push(i.assignTexture(r,"sheenRoughnessMap",c.sheenRoughnessTexture)),Promise.all(A)}}class GLTFMaterialsTransmissionExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_TRANSMISSION}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return void 0!==A.transmissionFactor&&(a.transmission=A.transmissionFactor),void 0!==A.transmissionTexture&&o.push(r.assignTexture(a,"transmissionMap",A.transmissionTexture)),Promise.all(o)}}class GLTFMaterialsVolumeExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_VOLUME}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[],c=o.extensions[this.name];r.thickness=void 0!==c.thicknessFactor?c.thicknessFactor:0,void 0!==c.thicknessTexture&&A.push(i.assignTexture(r,"thicknessMap",c.thicknessTexture)),r.attenuationDistance=c.attenuationDistance||1/0;const l=c.attenuationColor||[1,1,1];return r.attenuationColor=(new t.Color).setRGB(l[0],l[1],l[2],t.LinearSRGBColorSpace),Promise.all(A)}}class GLTFMaterialsIorExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_IOR}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser.json.materials[t];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const i=r.extensions[this.name];return a.ior=void 0!==i.ior?i.ior:1.5,Promise.resolve()}}class GLTFMaterialsSpecularExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_SPECULAR}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[],c=o.extensions[this.name];r.specularIntensity=void 0!==c.specularFactor?c.specularFactor:1,void 0!==c.specularTexture&&A.push(i.assignTexture(r,"specularIntensityMap",c.specularTexture));const l=c.specularColorFactor||[1,1,1];return r.specularColor=(new t.Color).setRGB(l[0],l[1],l[2],t.LinearSRGBColorSpace),void 0!==c.specularColorTexture&&A.push(i.assignTexture(r,"specularColorMap",c.specularColorTexture,t.SRGBColorSpace)),Promise.all(A)}}class GLTFMaterialsBumpExtension{constructor(t){this.parser=t,this.name=h.EXT_MATERIALS_BUMP}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return a.bumpScale=void 0!==A.bumpFactor?A.bumpFactor:1,void 0!==A.bumpTexture&&o.push(r.assignTexture(a,"bumpMap",A.bumpTexture)),Promise.all(o)}}class GLTFMaterialsAnisotropyExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_ANISOTROPY}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return void 0!==A.anisotropyStrength&&(a.anisotropy=A.anisotropyStrength),void 0!==A.anisotropyRotation&&(a.anisotropyRotation=A.anisotropyRotation),void 0!==A.anisotropyTexture&&o.push(r.assignTexture(a,"anisotropyMap",A.anisotropyTexture)),Promise.all(o)}}class GLTFTextureBasisUExtension{constructor(t){this.parser=t,this.name=h.KHR_TEXTURE_BASISU}loadTexture(t){const a=this.parser,r=a.json,i=r.textures[t];if(!i.extensions||!i.extensions[this.name])return null;const o=i.extensions[this.name],A=a.options.ktx2Loader;if(!A){if(r.extensionsRequired&&r.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return a.loadTextureImage(t,o.source,A)}}class GLTFTextureWebPExtension{constructor(t){this.parser=t,this.name=h.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(t){const a=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[a])return null;const A=o.extensions[a],c=i.images[A.source];let l=r.textureLoader;if(c.uri){const t=r.options.manager.getHandler(c.uri);null!==t&&(l=t)}return this.detectSupport().then((function(o){if(o)return r.loadTextureImage(t,A.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(a)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(t)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(t){const a=new Image;a.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",a.onload=a.onerror=function(){t(1===a.height)}}))),this.isSupported}}class GLTFTextureAVIFExtension{constructor(t){this.parser=t,this.name=h.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(t){const a=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[a])return null;const A=o.extensions[a],c=i.images[A.source];let l=r.textureLoader;if(c.uri){const t=r.options.manager.getHandler(c.uri);null!==t&&(l=t)}return this.detectSupport().then((function(o){if(o)return r.loadTextureImage(t,A.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(a)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(t)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(t){const a=new Image;a.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",a.onload=a.onerror=function(){t(1===a.height)}}))),this.isSupported}}class GLTFMeshoptCompression{constructor(t){this.name=h.EXT_MESHOPT_COMPRESSION,this.parser=t}loadBufferView(t){const a=this.parser.json,r=a.bufferViews[t];if(r.extensions&&r.extensions[this.name]){const t=r.extensions[this.name],i=this.parser.getDependency("buffer",t.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(a.extensionsRequired&&a.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then((function(a){const r=t.byteOffset||0,i=t.byteLength||0,A=t.count,c=t.byteStride,l=new Uint8Array(a,r,i);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(A,c,l,t.mode,t.filter).then((function(t){return t.buffer})):o.ready.then((function(){const a=new ArrayBuffer(A*c);return o.decodeGltfBuffer(new Uint8Array(a),A,c,l,t.mode,t.filter),a}))}))}return null}}class GLTFMeshGpuInstancing{constructor(t){this.name=h.EXT_MESH_GPU_INSTANCING,this.parser=t}createNodeMesh(a){const r=this.parser.json,i=r.nodes[a];if(!i.extensions||!i.extensions[this.name]||void 0===i.mesh)return null;const o=r.meshes[i.mesh];for(const t of o.primitives)if(t.mode!==I.TRIANGLES&&t.mode!==I.TRIANGLE_STRIP&&t.mode!==I.TRIANGLE_FAN&&void 0!==t.mode)return null;const A=i.extensions[this.name].attributes,c=[],l={};for(const t in A)c.push(this.parser.getDependency("accessor",A[t]).then((a=>(l[t]=a,l[t]))));return c.length<1?null:(c.push(this.parser.createNodeMesh(a)),Promise.all(c).then((a=>{const r=a.pop(),i=r.isGroup?r.children:[r],o=a[0].count,A=[];for(const a of i){const r=new t.Matrix4,i=new t.Vector3,c=new t.Quaternion,d=new t.Vector3(1,1,1),h=new t.InstancedMesh(a.geometry,a.material,o);for(let t=0;t<o;t++)l.TRANSLATION&&i.fromBufferAttribute(l.TRANSLATION,t),l.ROTATION&&c.fromBufferAttribute(l.ROTATION,t),l.SCALE&&d.fromBufferAttribute(l.SCALE,t),h.setMatrixAt(t,r.compose(i,c,d));for(const r in l)if("_COLOR_0"===r){const a=l[r];h.instanceColor=new t.InstancedBufferAttribute(a.array,a.itemSize,a.normalized)}else"TRANSLATION"!==r&&"ROTATION"!==r&&"SCALE"!==r&&a.geometry.setAttribute(r,l[r]);t.Object3D.prototype.copy.call(h,a),this.parser.assignFinalMaterial(h),A.push(h)}return r.isGroup?(r.clear(),r.add(...A),r):A[0]})))}}const b="glTF",u=1313821514,g=5130562;class GLTFBinaryExtension{constructor(t){this.name=h.KHR_BINARY_GLTF,this.content=null,this.body=null;const a=new DataView(t,0,12),r=new TextDecoder;if(this.header={magic:r.decode(new Uint8Array(t.slice(0,4))),version:a.getUint32(4,!0),length:a.getUint32(8,!0)},this.header.magic!==b)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const i=this.header.length-12,o=new DataView(t,12);let A=0;for(;A<i;){const a=o.getUint32(A,!0);A+=4;const i=o.getUint32(A,!0);if(A+=4,i===u){const i=new Uint8Array(t,12+A,a);this.content=r.decode(i)}else if(i===g){const r=12+A;this.body=t.slice(r,r+a)}A+=a}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class GLTFDracoMeshCompressionExtension{constructor(t,a){if(!a)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=h.KHR_DRACO_MESH_COMPRESSION,this.json=t,this.dracoLoader=a,this.dracoLoader.preload()}decodePrimitive(a,r){const i=this.json,o=this.dracoLoader,A=a.extensions[this.name].bufferView,c=a.extensions[this.name].attributes,l={},d={},h={};for(const t in c){const a=B[t]||t.toLowerCase();l[a]=c[t]}for(const t in a.attributes){const r=B[t]||t.toLowerCase();if(void 0!==c[t]){const o=i.accessors[a.attributes[t]],A=y[o.componentType];h[r]=A.name,d[r]=!0===o.normalized}}return r.getDependency("bufferView",A).then((function(a){return new Promise((function(r,i){o.decodeDracoFile(a,(function(t){for(const a in t.attributes){const r=t.attributes[a],i=d[a];void 0!==i&&(r.normalized=i)}r(t)}),l,h,t.LinearSRGBColorSpace,i)}))}))}}class GLTFTextureTransformExtension{constructor(){this.name=h.KHR_TEXTURE_TRANSFORM}extendTexture(t,a){return void 0!==a.texCoord&&a.texCoord!==t.channel||void 0!==a.offset||void 0!==a.rotation||void 0!==a.scale?(t=t.clone(),void 0!==a.texCoord&&(t.channel=a.texCoord),void 0!==a.offset&&t.offset.fromArray(a.offset),void 0!==a.rotation&&(t.rotation=a.rotation),void 0!==a.scale&&t.repeat.fromArray(a.scale),t.needsUpdate=!0,t):t}}class GLTFMeshQuantizationExtension{constructor(){this.name=h.KHR_MESH_QUANTIZATION}}class GLTFCubicSplineInterpolant extends t.Interpolant{constructor(t,a,r,i){super(t,a,r,i)}copySampleValue_(t){const a=this.resultBuffer,r=this.sampleValues,i=this.valueSize,o=t*i*3+i;for(let t=0;t!==i;t++)a[t]=r[o+t];return a}interpolate_(t,a,r,i){const o=this.resultBuffer,A=this.sampleValues,c=this.valueSize,l=2*c,d=3*c,h=i-a,b=(r-a)/h,u=b*b,g=u*b,p=t*d,I=p-d,y=-2*g+3*u,m=g-u,C=1-y,E=m-u+b;for(let t=0;t!==c;t++){const a=A[I+t+c],r=A[I+t+l]*h,i=A[p+t+c],d=A[p+t]*h;o[t]=C*a+E*r+y*i+m*d}return o}}const p=new t.Quaternion;class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant{interpolate_(t,a,r,i){const o=super.interpolate_(t,a,r,i);return p.fromArray(o).normalize().toArray(o),o}}const I={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},y={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},m={9728:t.NearestFilter,9729:t.LinearFilter,9984:t.NearestMipmapNearestFilter,9985:t.LinearMipmapNearestFilter,9986:t.NearestMipmapLinearFilter,9987:t.LinearMipmapLinearFilter},C={33071:t.ClampToEdgeWrapping,33648:t.MirroredRepeatWrapping,10497:t.RepeatWrapping},E={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},B={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Q={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},v={CUBICSPLINE:void 0,LINEAR:t.InterpolateLinear,STEP:t.InterpolateDiscrete},w="OPAQUE",k="MASK",x="BLEND";function addUnknownExtensionsToUserData(t,a,r){for(const i in r.extensions)void 0===t[i]&&(a.userData.gltfExtensions=a.userData.gltfExtensions||{},a.userData.gltfExtensions[i]=r.extensions[i])}function assignExtrasToUserData(t,a){void 0!==a.extras&&("object"==typeof a.extras?Object.assign(t.userData,a.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+a.extras))}function updateMorphTargets(t,a){if(t.updateMorphTargets(),void 0!==a.weights)for(let r=0,i=a.weights.length;r<i;r++)t.morphTargetInfluences[r]=a.weights[r];if(a.extras&&Array.isArray(a.extras.targetNames)){const r=a.extras.targetNames;if(t.morphTargetInfluences.length===r.length){t.morphTargetDictionary={};for(let a=0,i=r.length;a<i;a++)t.morphTargetDictionary[r[a]]=a}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function createPrimitiveKey(t){let a;const r=t.extensions&&t.extensions[h.KHR_DRACO_MESH_COMPRESSION];if(a=r?"draco:"+r.bufferView+":"+r.indices+":"+createAttributesKey(r.attributes):t.indices+":"+createAttributesKey(t.attributes)+":"+t.mode,void 0!==t.targets)for(let r=0,i=t.targets.length;r<i;r++)a+=":"+createAttributesKey(t.targets[r]);return a}function createAttributesKey(t){let a="";const r=Object.keys(t).sort();for(let i=0,o=r.length;i<o;i++)a+=r[i]+":"+t[r[i]]+";";return a}function getNormalizedComponentScale(t){switch(t){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const T=new t.Matrix4;class GLTFParser{constructor(a={},r={}){this.json=a,this.extensions={},this.plugins={},this.options=r,this.cache=new GLTFRegistry,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,o=-1,A=!1,c=-1;if("undefined"!=typeof navigator){const t=navigator.userAgent;i=!0===/^((?!chrome|android).)*safari/i.test(t);const a=t.match(/Version\/(\d+)/);o=i&&a?parseInt(a[1],10):-1,A=t.indexOf("Firefox")>-1,c=A?t.match(/Firefox\/([0-9]+)\./)[1]:-1}"undefined"==typeof createImageBitmap||i&&o<17||A&&c<98?this.textureLoader=new t.TextureLoader(this.options.manager):this.textureLoader=new t.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new t.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(t){this.extensions=t}setPlugins(t){this.plugins=t}parse(t,a){const r=this,i=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll((function(t){return t._markDefs&&t._markDefs()})),Promise.all(this._invokeAll((function(t){return t.beforeRoot&&t.beforeRoot()}))).then((function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])})).then((function(a){const A={scene:a[0][i.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:i.asset,parser:r,userData:{}};return addUnknownExtensionsToUserData(o,A,i),assignExtrasToUserData(A,i),Promise.all(r._invokeAll((function(t){return t.afterRoot&&t.afterRoot(A)}))).then((function(){for(const t of A.scenes)t.updateMatrixWorld();t(A)}))})).catch(a)}_markDefs(){const t=this.json.nodes||[],a=this.json.skins||[],r=this.json.meshes||[];for(let r=0,i=a.length;r<i;r++){const i=a[r].joints;for(let a=0,r=i.length;a<r;a++)t[i[a]].isBone=!0}for(let a=0,i=t.length;a<i;a++){const i=t[a];void 0!==i.mesh&&(this._addNodeRef(this.meshCache,i.mesh),void 0!==i.skin&&(r[i.mesh].isSkinnedMesh=!0)),void 0!==i.camera&&this._addNodeRef(this.cameraCache,i.camera)}}_addNodeRef(t,a){void 0!==a&&(void 0===t.refs[a]&&(t.refs[a]=t.uses[a]=0),t.refs[a]++)}_getNodeRef(t,a,r){if(t.refs[a]<=1)return r;const i=r.clone(),updateMappings=(t,a)=>{const r=this.associations.get(t);null!=r&&this.associations.set(a,r);for(const[r,i]of t.children.entries())updateMappings(i,a.children[r])};return updateMappings(r,i),i.name+="_instance_"+t.uses[a]++,i}_invokeOne(t){const a=Object.values(this.plugins);a.push(this);for(let r=0;r<a.length;r++){const i=t(a[r]);if(i)return i}return null}_invokeAll(t){const a=Object.values(this.plugins);a.unshift(this);const r=[];for(let i=0;i<a.length;i++){const o=t(a[i]);o&&r.push(o)}return r}getDependency(t,a){const r=t+":"+a;let i=this.cache.get(r);if(!i){switch(t){case"scene":i=this.loadScene(a);break;case"node":i=this._invokeOne((function(t){return t.loadNode&&t.loadNode(a)}));break;case"mesh":i=this._invokeOne((function(t){return t.loadMesh&&t.loadMesh(a)}));break;case"accessor":i=this.loadAccessor(a);break;case"bufferView":i=this._invokeOne((function(t){return t.loadBufferView&&t.loadBufferView(a)}));break;case"buffer":i=this.loadBuffer(a);break;case"material":i=this._invokeOne((function(t){return t.loadMaterial&&t.loadMaterial(a)}));break;case"texture":i=this._invokeOne((function(t){return t.loadTexture&&t.loadTexture(a)}));break;case"skin":i=this.loadSkin(a);break;case"animation":i=this._invokeOne((function(t){return t.loadAnimation&&t.loadAnimation(a)}));break;case"camera":i=this.loadCamera(a);break;default:if(i=this._invokeOne((function(r){return r!=this&&r.getDependency&&r.getDependency(t,a)})),!i)throw new Error("Unknown type: "+t)}this.cache.add(r,i)}return i}getDependencies(t){let a=this.cache.get(t);if(!a){const r=this,i=this.json[t+("mesh"===t?"es":"s")]||[];a=Promise.all(i.map((function(a,i){return r.getDependency(t,i)}))),this.cache.add(t,a)}return a}loadBuffer(a){const r=this.json.buffers[a],i=this.fileLoader;if(r.type&&"arraybuffer"!==r.type)throw new Error("THREE.GLTFLoader: "+r.type+" buffer type is not supported.");if(void 0===r.uri&&0===a)return Promise.resolve(this.extensions[h.KHR_BINARY_GLTF].body);const o=this.options;return new Promise((function(a,A){i.load(t.LoaderUtils.resolveURL(r.uri,o.path),a,void 0,(function(){A(new Error('THREE.GLTFLoader: Failed to load buffer "'+r.uri+'".'))}))}))}loadBufferView(t){const a=this.json.bufferViews[t];return this.getDependency("buffer",a.buffer).then((function(t){const r=a.byteLength||0,i=a.byteOffset||0;return t.slice(i,i+r)}))}loadAccessor(a){const r=this,i=this.json,o=this.json.accessors[a];if(void 0===o.bufferView&&void 0===o.sparse){const a=E[o.type],r=y[o.componentType],i=!0===o.normalized,A=new r(o.count*a);return Promise.resolve(new t.BufferAttribute(A,a,i))}const A=[];return void 0!==o.bufferView?A.push(this.getDependency("bufferView",o.bufferView)):A.push(null),void 0!==o.sparse&&(A.push(this.getDependency("bufferView",o.sparse.indices.bufferView)),A.push(this.getDependency("bufferView",o.sparse.values.bufferView))),Promise.all(A).then((function(a){const A=a[0],c=E[o.type],l=y[o.componentType],d=l.BYTES_PER_ELEMENT,h=d*c,b=o.byteOffset||0,u=void 0!==o.bufferView?i.bufferViews[o.bufferView].byteStride:void 0,g=!0===o.normalized;let p,I;if(u&&u!==h){const a=Math.floor(b/u),i="InterleavedBuffer:"+o.bufferView+":"+o.componentType+":"+a+":"+o.count;let h=r.cache.get(i);h||(p=new l(A,a*u,o.count*u/d),h=new t.InterleavedBuffer(p,u/d),r.cache.add(i,h)),I=new t.InterleavedBufferAttribute(h,c,b%u/d,g)}else p=null===A?new l(o.count*c):new l(A,b,o.count*c),I=new t.BufferAttribute(p,c,g);if(void 0!==o.sparse){const r=E.SCALAR,i=y[o.sparse.indices.componentType],d=o.sparse.indices.byteOffset||0,h=o.sparse.values.byteOffset||0,b=new i(a[1],d,o.sparse.count*r),u=new l(a[2],h,o.sparse.count*c);null!==A&&(I=new t.BufferAttribute(I.array.slice(),I.itemSize,I.normalized));for(let t=0,a=b.length;t<a;t++){const a=b[t];if(I.setX(a,u[t*c]),c>=2&&I.setY(a,u[t*c+1]),c>=3&&I.setZ(a,u[t*c+2]),c>=4&&I.setW(a,u[t*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return I}))}loadTexture(t){const a=this.json,r=this.options,i=a.textures[t].source,o=a.images[i];let A=this.textureLoader;if(o.uri){const t=r.manager.getHandler(o.uri);null!==t&&(A=t)}return this.loadTextureImage(t,i,A)}loadTextureImage(a,r,i){const o=this,A=this.json,c=A.textures[a],l=A.images[r],d=(l.uri||l.bufferView)+":"+c.sampler;if(this.textureCache[d])return this.textureCache[d];const h=this.loadImageSource(r,i).then((function(r){r.flipY=!1,r.name=c.name||l.name||"",""===r.name&&"string"==typeof l.uri&&!1===l.uri.startsWith("data:image/")&&(r.name=l.uri);const i=(A.samplers||{})[c.sampler]||{};return r.magFilter=m[i.magFilter]||t.LinearFilter,r.minFilter=m[i.minFilter]||t.LinearMipmapLinearFilter,r.wrapS=C[i.wrapS]||t.RepeatWrapping,r.wrapT=C[i.wrapT]||t.RepeatWrapping,o.associations.set(r,{textures:a}),r})).catch((function(){return null}));return this.textureCache[d]=h,h}loadImageSource(a,r){const i=this,o=this.json,A=this.options;if(void 0!==this.sourceCache[a])return this.sourceCache[a].then((t=>t.clone()));const c=o.images[a],l=self.URL||self.webkitURL;let d=c.uri||"",h=!1;if(void 0!==c.bufferView)d=i.getDependency("bufferView",c.bufferView).then((function(t){h=!0;const a=new Blob([t],{type:c.mimeType});return d=l.createObjectURL(a),d}));else if(void 0===c.uri)throw new Error("THREE.GLTFLoader: Image "+a+" is missing URI and bufferView");const b=Promise.resolve(d).then((function(a){return new Promise((function(i,o){let c=i;!0===r.isImageBitmapLoader&&(c=function(a){const r=new t.Texture(a);r.needsUpdate=!0,i(r)}),r.load(t.LoaderUtils.resolveURL(a,A.path),c,void 0,o)}))})).then((function(t){return!0===h&&l.revokeObjectURL(d),assignExtrasToUserData(t,c),t.userData.mimeType=c.mimeType||function getImageURIMimeType(t){return t.search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"}(c.uri),t})).catch((function(t){throw console.error("THREE.GLTFLoader: Couldn't load texture",d),t}));return this.sourceCache[a]=b,b}assignTexture(t,a,r,i){const o=this;return this.getDependency("texture",r.index).then((function(A){if(!A)return null;if(void 0!==r.texCoord&&r.texCoord>0&&((A=A.clone()).channel=r.texCoord),o.extensions[h.KHR_TEXTURE_TRANSFORM]){const t=void 0!==r.extensions?r.extensions[h.KHR_TEXTURE_TRANSFORM]:void 0;if(t){const a=o.associations.get(A);A=o.extensions[h.KHR_TEXTURE_TRANSFORM].extendTexture(A,t),o.associations.set(A,a)}}return void 0!==i&&(A.colorSpace=i),t[a]=A,A}))}assignFinalMaterial(a){const r=a.geometry;let i=a.material;const o=void 0===r.attributes.tangent,A=void 0!==r.attributes.color,c=void 0===r.attributes.normal;if(a.isPoints){const a="PointsMaterial:"+i.uuid;let r=this.cache.get(a);r||(r=new t.PointsMaterial,t.Material.prototype.copy.call(r,i),r.color.copy(i.color),r.map=i.map,r.sizeAttenuation=!1,this.cache.add(a,r)),i=r}else if(a.isLine){const a="LineBasicMaterial:"+i.uuid;let r=this.cache.get(a);r||(r=new t.LineBasicMaterial,t.Material.prototype.copy.call(r,i),r.color.copy(i.color),r.map=i.map,this.cache.add(a,r)),i=r}if(o||A||c){let t="ClonedMaterial:"+i.uuid+":";o&&(t+="derivative-tangents:"),A&&(t+="vertex-colors:"),c&&(t+="flat-shading:");let a=this.cache.get(t);a||(a=i.clone(),A&&(a.vertexColors=!0),c&&(a.flatShading=!0),o&&(a.normalScale&&(a.normalScale.y*=-1),a.clearcoatNormalScale&&(a.clearcoatNormalScale.y*=-1)),this.cache.add(t,a),this.associations.set(a,this.associations.get(i))),i=a}a.material=i}getMaterialType(){return t.MeshStandardMaterial}loadMaterial(a){const r=this,i=this.json,o=this.extensions,A=i.materials[a];let c;const l={},d=[];if((A.extensions||{})[h.KHR_MATERIALS_UNLIT]){const t=o[h.KHR_MATERIALS_UNLIT];c=t.getMaterialType(),d.push(t.extendParams(l,A,r))}else{const i=A.pbrMetallicRoughness||{};if(l.color=new t.Color(1,1,1),l.opacity=1,Array.isArray(i.baseColorFactor)){const a=i.baseColorFactor;l.color.setRGB(a[0],a[1],a[2],t.LinearSRGBColorSpace),l.opacity=a[3]}void 0!==i.baseColorTexture&&d.push(r.assignTexture(l,"map",i.baseColorTexture,t.SRGBColorSpace)),l.metalness=void 0!==i.metallicFactor?i.metallicFactor:1,l.roughness=void 0!==i.roughnessFactor?i.roughnessFactor:1,void 0!==i.metallicRoughnessTexture&&(d.push(r.assignTexture(l,"metalnessMap",i.metallicRoughnessTexture)),d.push(r.assignTexture(l,"roughnessMap",i.metallicRoughnessTexture))),c=this._invokeOne((function(t){return t.getMaterialType&&t.getMaterialType(a)})),d.push(Promise.all(this._invokeAll((function(t){return t.extendMaterialParams&&t.extendMaterialParams(a,l)}))))}!0===A.doubleSided&&(l.side=t.DoubleSide);const b=A.alphaMode||w;if(b===x?(l.transparent=!0,l.depthWrite=!1):(l.transparent=!1,b===k&&(l.alphaTest=void 0!==A.alphaCutoff?A.alphaCutoff:.5)),void 0!==A.normalTexture&&c!==t.MeshBasicMaterial&&(d.push(r.assignTexture(l,"normalMap",A.normalTexture)),l.normalScale=new t.Vector2(1,1),void 0!==A.normalTexture.scale)){const t=A.normalTexture.scale;l.normalScale.set(t,t)}if(void 0!==A.occlusionTexture&&c!==t.MeshBasicMaterial&&(d.push(r.assignTexture(l,"aoMap",A.occlusionTexture)),void 0!==A.occlusionTexture.strength&&(l.aoMapIntensity=A.occlusionTexture.strength)),void 0!==A.emissiveFactor&&c!==t.MeshBasicMaterial){const a=A.emissiveFactor;l.emissive=(new t.Color).setRGB(a[0],a[1],a[2],t.LinearSRGBColorSpace)}return void 0!==A.emissiveTexture&&c!==t.MeshBasicMaterial&&d.push(r.assignTexture(l,"emissiveMap",A.emissiveTexture,t.SRGBColorSpace)),Promise.all(d).then((function(){const t=new c(l);return A.name&&(t.name=A.name),assignExtrasToUserData(t,A),r.associations.set(t,{materials:a}),A.extensions&&addUnknownExtensionsToUserData(o,t,A),t}))}createUniqueName(a){const r=t.PropertyBinding.sanitizeNodeName(a||"");return r in this.nodeNamesUsed?r+"_"+ ++this.nodeNamesUsed[r]:(this.nodeNamesUsed[r]=0,r)}loadGeometries(a){const r=this,i=this.extensions,o=this.primitiveCache;function createDracoPrimitive(t){return i[h.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(t,r).then((function(a){return addPrimitiveAttributes(a,t,r)}))}const A=[];for(let i=0,c=a.length;i<c;i++){const c=a[i],l=createPrimitiveKey(c),d=o[l];if(d)A.push(d.promise);else{let a;a=c.extensions&&c.extensions[h.KHR_DRACO_MESH_COMPRESSION]?createDracoPrimitive(c):addPrimitiveAttributes(new t.BufferGeometry,c,r),o[l]={primitive:c,promise:a},A.push(a)}}return Promise.all(A)}loadMesh(a){const r=this,i=this.json,o=this.extensions,A=i.meshes[a],c=A.primitives,l=[];for(let a=0,r=c.length;a<r;a++){const r=void 0===c[a].material?(void 0===(d=this.cache).DefaultMaterial&&(d.DefaultMaterial=new t.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:t.FrontSide})),d.DefaultMaterial):this.getDependency("material",c[a].material);l.push(r)}var d;return l.push(r.loadGeometries(c)),Promise.all(l).then((function(i){const l=i.slice(0,i.length-1),d=i[i.length-1],h=[];for(let i=0,b=d.length;i<b;i++){const b=d[i],u=c[i];let g;const p=l[i];if(u.mode===I.TRIANGLES||u.mode===I.TRIANGLE_STRIP||u.mode===I.TRIANGLE_FAN||void 0===u.mode)g=!0===A.isSkinnedMesh?new t.SkinnedMesh(b,p):new t.Mesh(b,p),!0===g.isSkinnedMesh&&g.normalizeSkinWeights(),u.mode===I.TRIANGLE_STRIP?g.geometry=toTrianglesDrawMode(g.geometry,t.TriangleStripDrawMode):u.mode===I.TRIANGLE_FAN&&(g.geometry=toTrianglesDrawMode(g.geometry,t.TriangleFanDrawMode));else if(u.mode===I.LINES)g=new t.LineSegments(b,p);else if(u.mode===I.LINE_STRIP)g=new t.Line(b,p);else if(u.mode===I.LINE_LOOP)g=new t.LineLoop(b,p);else{if(u.mode!==I.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+u.mode);g=new t.Points(b,p)}Object.keys(g.geometry.morphAttributes).length>0&&updateMorphTargets(g,A),g.name=r.createUniqueName(A.name||"mesh_"+a),assignExtrasToUserData(g,A),u.extensions&&addUnknownExtensionsToUserData(o,g,u),r.assignFinalMaterial(g),h.push(g)}for(let t=0,i=h.length;t<i;t++)r.associations.set(h[t],{meshes:a,primitives:t});if(1===h.length)return A.extensions&&addUnknownExtensionsToUserData(o,h[0],A),h[0];const b=new t.Group;A.extensions&&addUnknownExtensionsToUserData(o,b,A),r.associations.set(b,{meshes:a});for(let t=0,a=h.length;t<a;t++)b.add(h[t]);return b}))}loadCamera(a){let r;const i=this.json.cameras[a],o=i[i.type];if(o)return"perspective"===i.type?r=new t.PerspectiveCamera(t.MathUtils.radToDeg(o.yfov),o.aspectRatio||1,o.znear||1,o.zfar||2e6):"orthographic"===i.type&&(r=new t.OrthographicCamera(-o.xmag,o.xmag,o.ymag,-o.ymag,o.znear,o.zfar)),i.name&&(r.name=this.createUniqueName(i.name)),assignExtrasToUserData(r,i),Promise.resolve(r);console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(a){const r=this.json.skins[a],i=[];for(let t=0,a=r.joints.length;t<a;t++)i.push(this._loadNodeShallow(r.joints[t]));return void 0!==r.inverseBindMatrices?i.push(this.getDependency("accessor",r.inverseBindMatrices)):i.push(null),Promise.all(i).then((function(a){const i=a.pop(),o=a,A=[],c=[];for(let a=0,l=o.length;a<l;a++){const l=o[a];if(l){A.push(l);const r=new t.Matrix4;null!==i&&r.fromArray(i.array,16*a),c.push(r)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',r.joints[a])}return new t.Skeleton(A,c)}))}loadAnimation(a){const r=this.json,i=this,o=r.animations[a],A=o.name?o.name:"animation_"+a,c=[],l=[],d=[],h=[],b=[];for(let t=0,a=o.channels.length;t<a;t++){const a=o.channels[t],r=o.samplers[a.sampler],i=a.target,A=i.node,u=void 0!==o.parameters?o.parameters[r.input]:r.input,g=void 0!==o.parameters?o.parameters[r.output]:r.output;void 0!==i.node&&(c.push(this.getDependency("node",A)),l.push(this.getDependency("accessor",u)),d.push(this.getDependency("accessor",g)),h.push(r),b.push(i))}return Promise.all([Promise.all(c),Promise.all(l),Promise.all(d),Promise.all(h),Promise.all(b)]).then((function(a){const r=a[0],o=a[1],c=a[2],l=a[3],d=a[4],h=[];for(let t=0,a=r.length;t<a;t++){const a=r[t],A=o[t],b=c[t],u=l[t],g=d[t];if(void 0===a)continue;a.updateMatrix&&a.updateMatrix();const p=i._createAnimationTracks(a,A,b,u,g);if(p)for(let t=0;t<p.length;t++)h.push(p[t])}return new t.AnimationClip(A,void 0,h)}))}createNodeMesh(t){const a=this.json,r=this,i=a.nodes[t];return void 0===i.mesh?null:r.getDependency("mesh",i.mesh).then((function(t){const a=r._getNodeRef(r.meshCache,i.mesh,t);return void 0!==i.weights&&a.traverse((function(t){if(t.isMesh)for(let a=0,r=i.weights.length;a<r;a++)t.morphTargetInfluences[a]=i.weights[a]})),a}))}loadNode(t){const a=this,r=this.json.nodes[t],i=a._loadNodeShallow(t),o=[],A=r.children||[];for(let t=0,r=A.length;t<r;t++)o.push(a.getDependency("node",A[t]));const c=void 0===r.skin?Promise.resolve(null):a.getDependency("skin",r.skin);return Promise.all([i,Promise.all(o),c]).then((function(t){const a=t[0],r=t[1],i=t[2];null!==i&&a.traverse((function(t){t.isSkinnedMesh&&t.bind(i,T)}));for(let t=0,i=r.length;t<i;t++)a.add(r[t]);return a}))}_loadNodeShallow(a){const r=this.json,i=this.extensions,o=this;if(void 0!==this.nodeCache[a])return this.nodeCache[a];const A=r.nodes[a],c=A.name?o.createUniqueName(A.name):"",l=[],d=o._invokeOne((function(t){return t.createNodeMesh&&t.createNodeMesh(a)}));return d&&l.push(d),void 0!==A.camera&&l.push(o.getDependency("camera",A.camera).then((function(t){return o._getNodeRef(o.cameraCache,A.camera,t)}))),o._invokeAll((function(t){return t.createNodeAttachment&&t.createNodeAttachment(a)})).forEach((function(t){l.push(t)})),this.nodeCache[a]=Promise.all(l).then((function(r){let l;if(l=!0===A.isBone?new t.Bone:r.length>1?new t.Group:1===r.length?r[0]:new t.Object3D,l!==r[0])for(let t=0,a=r.length;t<a;t++)l.add(r[t]);if(A.name&&(l.userData.name=A.name,l.name=c),assignExtrasToUserData(l,A),A.extensions&&addUnknownExtensionsToUserData(i,l,A),void 0!==A.matrix){const a=new t.Matrix4;a.fromArray(A.matrix),l.applyMatrix4(a)}else void 0!==A.translation&&l.position.fromArray(A.translation),void 0!==A.rotation&&l.quaternion.fromArray(A.rotation),void 0!==A.scale&&l.scale.fromArray(A.scale);return o.associations.has(l)||o.associations.set(l,{}),o.associations.get(l).nodes=a,l})),this.nodeCache[a]}loadScene(a){const r=this.extensions,i=this.json.scenes[a],o=this,A=new t.Group;i.name&&(A.name=o.createUniqueName(i.name)),assignExtrasToUserData(A,i),i.extensions&&addUnknownExtensionsToUserData(r,A,i);const c=i.nodes||[],l=[];for(let t=0,a=c.length;t<a;t++)l.push(o.getDependency("node",c[t]));return Promise.all(l).then((function(a){for(let t=0,r=a.length;t<r;t++)A.add(a[t]);return o.associations=(a=>{const r=new Map;for(const[a,i]of o.associations)(a instanceof t.Material||a instanceof t.Texture)&&r.set(a,i);return a.traverse((t=>{const a=o.associations.get(t);null!=a&&r.set(t,a)})),r})(A),A}))}_createAnimationTracks(a,r,i,o,A){const c=[],l=a.name?a.name:a.uuid,d=[];let h;switch(Q[A.path]===Q.weights?a.traverse((function(t){t.morphTargetInfluences&&d.push(t.name?t.name:t.uuid)})):d.push(l),Q[A.path]){case Q.weights:h=t.NumberKeyframeTrack;break;case Q.rotation:h=t.QuaternionKeyframeTrack;break;case Q.position:case Q.scale:h=t.VectorKeyframeTrack;break;default:if(1===i.itemSize)h=t.NumberKeyframeTrack;else h=t.VectorKeyframeTrack}const b=void 0!==o.interpolation?v[o.interpolation]:t.InterpolateLinear,u=this._getArrayFromAccessor(i);for(let t=0,a=d.length;t<a;t++){const a=new h(d[t]+"."+Q[A.path],r.array,u,b);"CUBICSPLINE"===o.interpolation&&this._createCubicSplineTrackInterpolant(a),c.push(a)}return c}_getArrayFromAccessor(t){let a=t.array;if(t.normalized){const t=getNormalizedComponentScale(a.constructor),r=new Float32Array(a.length);for(let i=0,o=a.length;i<o;i++)r[i]=a[i]*t;a=r}return a}_createCubicSplineTrackInterpolant(a){a.createInterpolant=function InterpolantFactoryMethodGLTFCubicSpline(a){return new(this instanceof t.QuaternionKeyframeTrack?GLTFCubicSplineQuaternionInterpolant:GLTFCubicSplineInterpolant)(this.times,this.values,this.getValueSize()/3,a)},a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function addPrimitiveAttributes(a,r,i){const o=r.attributes,A=[];function assignAttributeAccessor(t,r){return i.getDependency("accessor",t).then((function(t){a.setAttribute(r,t)}))}for(const t in o){const r=B[t]||t.toLowerCase();r in a.attributes||A.push(assignAttributeAccessor(o[t],r))}if(void 0!==r.indices&&!a.index){const t=i.getDependency("accessor",r.indices).then((function(t){a.setIndex(t)}));A.push(t)}return t.ColorManagement.workingColorSpace!==t.LinearSRGBColorSpace&&"COLOR_0"in o&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${t.ColorManagement.workingColorSpace}" not supported.`),assignExtrasToUserData(a,r),function computeBounds(a,r,i){const o=r.attributes,A=new t.Box3;if(void 0===o.POSITION)return;{const a=i.json.accessors[o.POSITION],r=a.min,c=a.max;if(void 0===r||void 0===c)return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(A.set(new t.Vector3(r[0],r[1],r[2]),new t.Vector3(c[0],c[1],c[2])),a.normalized){const t=getNormalizedComponentScale(y[a.componentType]);A.min.multiplyScalar(t),A.max.multiplyScalar(t)}}const c=r.targets;if(void 0!==c){const a=new t.Vector3,r=new t.Vector3;for(let t=0,o=c.length;t<o;t++){const o=c[t];if(void 0!==o.POSITION){const t=i.json.accessors[o.POSITION],A=t.min,c=t.max;if(void 0!==A&&void 0!==c){if(r.setX(Math.max(Math.abs(A[0]),Math.abs(c[0]))),r.setY(Math.max(Math.abs(A[1]),Math.abs(c[1]))),r.setZ(Math.max(Math.abs(A[2]),Math.abs(c[2]))),t.normalized){const a=getNormalizedComponentScale(y[t.componentType]);r.multiplyScalar(a)}a.max(r)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}A.expandByVector(a)}a.boundingBox=A;const l=new t.Sphere;A.getCenter(l.center),l.radius=A.min.distanceTo(A.max)/2,a.boundingSphere=l}(a,r,i),Promise.all(A).then((function(){return void 0!==r.targets?function addMorphTargets(t,a,r){let i=!1,o=!1,A=!1;for(let t=0,r=a.length;t<r;t++){const r=a[t];if(void 0!==r.POSITION&&(i=!0),void 0!==r.NORMAL&&(o=!0),void 0!==r.COLOR_0&&(A=!0),i&&o&&A)break}if(!i&&!o&&!A)return Promise.resolve(t);const c=[],l=[],d=[];for(let h=0,b=a.length;h<b;h++){const b=a[h];if(i){const a=void 0!==b.POSITION?r.getDependency("accessor",b.POSITION):t.attributes.position;c.push(a)}if(o){const a=void 0!==b.NORMAL?r.getDependency("accessor",b.NORMAL):t.attributes.normal;l.push(a)}if(A){const a=void 0!==b.COLOR_0?r.getDependency("accessor",b.COLOR_0):t.attributes.color;d.push(a)}}return Promise.all([Promise.all(c),Promise.all(l),Promise.all(d)]).then((function(a){const r=a[0],c=a[1],l=a[2];return i&&(t.morphAttributes.position=r),o&&(t.morphAttributes.normal=c),A&&(t.morphAttributes.color=l),t.morphTargetsRelative=!0,t}))}(a,r.targets,i):a}))}const D=new WeakMap;class DRACOLoader extends t.Loader{constructor(t){super(t),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(t){return this.decoderPath=t,this}setDecoderConfig(t){return this.decoderConfig=t,this}setWorkerLimit(t){return this.workerLimit=t,this}load(a,r,i,o){const A=new t.FileLoader(this.manager);A.setPath(this.path),A.setResponseType("arraybuffer"),A.setRequestHeader(this.requestHeader),A.setWithCredentials(this.withCredentials),A.load(a,(t=>{this.parse(t,r,o)}),i,o)}parse(a,r,i=(()=>{})){this.decodeDracoFile(a,r,null,null,t.SRGBColorSpace,i).catch(i)}decodeDracoFile(a,r,i,o,A=t.LinearSRGBColorSpace,c=(()=>{})){const l={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:o||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:A};return this.decodeGeometry(a,l).then(r).catch(c)}decodeGeometry(t,a){const r=JSON.stringify(a);if(D.has(t)){const a=D.get(t);if(a.key===r)return a.promise;if(0===t.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const o=this.workerNextTaskID++,A=t.byteLength,c=this._getWorker(o,A).then((r=>(i=r,new Promise(((r,A)=>{i._callbacks[o]={resolve:r,reject:A},i.postMessage({type:"decode",id:o,taskConfig:a,buffer:t},[t])}))))).then((t=>this._createGeometry(t.geometry)));return c.catch((()=>!0)).then((()=>{i&&o&&this._releaseTask(i,o)})),D.set(t,{key:r,promise:c}),c}_createGeometry(a){const r=new t.BufferGeometry;a.index&&r.setIndex(new t.BufferAttribute(a.index.array,1));for(let i=0;i<a.attributes.length;i++){const o=a.attributes[i],A=o.name,c=o.array,l=o.itemSize,d=new t.BufferAttribute(c,l);"color"===A&&(this._assignVertexColorSpace(d,o.vertexColorSpace),d.normalized=c instanceof Float32Array==!1),r.setAttribute(A,d)}return r}_assignVertexColorSpace(a,r){if(r!==t.SRGBColorSpace)return;const i=new t.Color;for(let t=0,r=a.count;t<r;t++)i.fromBufferAttribute(a,t).convertSRGBToLinear(),a.setXYZ(t,i.r,i.g,i.b)}_loadLibrary(a,r){const i=new t.FileLoader(this.manager);return i.setPath(this.decoderPath),i.setResponseType(r),i.setWithCredentials(this.withCredentials),new Promise(((t,r)=>{i.load(a,t,void 0,r)}))}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const t="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,a=[];return t?a.push(this._loadLibrary("draco_decoder.js","text")):(a.push(this._loadLibrary("draco_wasm_wrapper.js","text")),a.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(a).then((a=>{const r=a[0];t||(this.decoderConfig.wasmBinary=a[1]);const i=DRACOWorker.toString(),o=["/* draco decoder */",r,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([o]))})),this.decoderPending}_getWorker(t,a){return this._initDecoder().then((()=>{if(this.workerPool.length<this.workerLimit){const t=new Worker(this.workerSourceURL);t._callbacks={},t._taskCosts={},t._taskLoad=0,t.postMessage({type:"init",decoderConfig:this.decoderConfig}),t.onmessage=function(a){const r=a.data;switch(r.type){case"decode":t._callbacks[r.id].resolve(r);break;case"error":t._callbacks[r.id].reject(r);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+r.type+'"')}},this.workerPool.push(t)}else this.workerPool.sort((function(t,a){return t._taskLoad>a._taskLoad?-1:1}));const r=this.workerPool[this.workerPool.length-1];return r._taskCosts[t]=a,r._taskLoad+=a,r}))}_releaseTask(t,a){t._taskLoad-=t._taskCosts[a],delete t._callbacks[a],delete t._taskCosts[a]}debug(){console.log("Task load: ",this.workerPool.map((t=>t._taskLoad)))}dispose(){for(let t=0;t<this.workerPool.length;++t)this.workerPool[t].terminate();return this.workerPool.length=0,""!==this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),this}}function DRACOWorker(){let t,a;function decodeAttribute(t,a,r,i,o,A){const c=A.num_components(),l=r.num_points()*c,d=l*o.BYTES_PER_ELEMENT,h=function getDracoDataType(t,a){switch(a){case Float32Array:return t.DT_FLOAT32;case Int8Array:return t.DT_INT8;case Int16Array:return t.DT_INT16;case Int32Array:return t.DT_INT32;case Uint8Array:return t.DT_UINT8;case Uint16Array:return t.DT_UINT16;case Uint32Array:return t.DT_UINT32}}(t,o),b=t._malloc(d);a.GetAttributeDataArrayForAllPoints(r,A,h,d,b);const u=new o(t.HEAPF32.buffer,b,l).slice();return t._free(b),{name:i,array:u,itemSize:c}}onmessage=function(r){const i=r.data;switch(i.type){case"init":t=i.decoderConfig,a=new Promise((function(a){t.onModuleLoaded=function(t){a({draco:t})},DracoDecoderModule(t)}));break;case"decode":const r=i.buffer,o=i.taskConfig;a.then((t=>{const a=t.draco,A=new a.Decoder;try{const t=function decodeGeometry(t,a,r,i){const o=i.attributeIDs,A=i.attributeTypes;let c,l;const d=a.GetEncodedGeometryType(r);if(d===t.TRIANGULAR_MESH)c=new t.Mesh,l=a.DecodeArrayToMesh(r,r.byteLength,c);else{if(d!==t.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");c=new t.PointCloud,l=a.DecodeArrayToPointCloud(r,r.byteLength,c)}if(!l.ok()||0===c.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+l.error_msg());const h={index:null,attributes:[]};for(const r in o){const l=self[A[r]];let d,b;if(i.useUniqueIDs)b=o[r],d=a.GetAttributeByUniqueId(c,b);else{if(b=a.GetAttributeId(c,t[o[r]]),-1===b)continue;d=a.GetAttribute(c,b)}const u=decodeAttribute(t,a,c,r,l,d);"color"===r&&(u.vertexColorSpace=i.vertexColorSpace),h.attributes.push(u)}d===t.TRIANGULAR_MESH&&(h.index=function decodeIndex(t,a,r){const i=r.num_faces(),o=3*i,A=4*o,c=t._malloc(A);a.GetTrianglesUInt32Array(r,A,c);const l=new Uint32Array(t.HEAPF32.buffer,c,o).slice();return t._free(c),{array:l,itemSize:1}}(t,a,c));return t.destroy(c),h}(a,A,new Int8Array(r),o),c=t.attributes.map((t=>t.array.buffer));t.index&&c.push(t.index.array.buffer),self.postMessage({type:"decode",id:i.id,geometry:t},c)}catch(t){console.error(t),self.postMessage({type:"error",id:i.id,error:t.message})}finally{a.destroy(A)}}))}}}class WorkerPool{constructor(t=4){this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(t){if(!this.workers[t]){const a=this.workerCreator();a.addEventListener("message",this._onMessage.bind(this,t)),this.workers[t]=a}}_getIdleWorker(){for(let t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1}_onMessage(t,a){const r=this.workersResolve[t];if(r&&r(a),this.queue.length){const{resolve:a,msg:r,transfer:i}=this.queue.shift();this.workersResolve[t]=a,this.workers[t].postMessage(r,i)}else this.workerStatus^=1<<t}setWorkerCreator(t){this.workerCreator=t}setWorkerLimit(t){this.pool=t}postMessage(t,a){return new Promise((r=>{const i=this._getIdleWorker();-1!==i?(this._initWorker(i),this.workerStatus|=1<<i,this.workersResolve[i]=r,this.workers[i].postMessage(t,a)):this.queue.push({resolve:r,msg:t,transfer:a})}))}dispose(){this.workers.forEach((t=>t.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const j=2,_=0,G=1,L=10,S=9,M=15,R=16,P=22,N=37,U=43,O=76,H=83,q=97,K=100,J=103,V=109,z=165,W=166;class Si{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Ii{constructor(t,a,r,i){this._dataView=new DataView(t.buffer,t.byteOffset+a,r),this._littleEndian=i,this._offset=0}_nextUint8(){const t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){const t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){const t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){const t=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_nextInt32(){const t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_skip(t){return this._offset+=t,this}_scan(t,a=0){const r=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==a&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+r,i)}}new Uint8Array([0]);const Y=[171,75,84,88,32,50,48,187,13,10,26,10];function Ei(t){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(t):Buffer.from(t).toString("utf8")}let X,Z,$;const ee={env:{emscripten_notify_memory_growth:function(t){$=new Uint8Array(Z.exports.memory.buffer)}}};class zstddec_module_Q{init(){return X||(X="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+te).then((t=>t.arrayBuffer())).then((t=>WebAssembly.instantiate(t,ee))).then(this._init):WebAssembly.instantiate(Buffer.from(te,"base64"),ee).then(this._init),X)}_init(t){Z=t.instance,ee.env.emscripten_notify_memory_growth(0)}decode(t,a=0){if(!Z)throw new Error("ZSTDDecoder: Await .init() before decoding.");const r=t.byteLength,i=Z.exports.malloc(r);$.set(t,i),a=a||Number(Z.exports.ZSTD_findDecompressedSize(i,r));const o=Z.exports.malloc(a),A=Z.exports.ZSTD_decompress(o,a,i,r),c=$.slice(o,o+A);return Z.exports.free(i),Z.exports.free(o),c}}const te="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogACgCBBATQQAhBCAHQeAAaiEMIAdB5ABqIQoDQCAHQShqEARBAksgBCAXTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEJIAcoAkggBygCREEDdGopAgAiH0IgiKchCCAeQiCIISAgHUIgiKchAgJAIB9CEIinQf8BcSIDQQJPBEACQCAGRSADQRlJckUEQCAIIAdBKGogA0EgIAcoAixrIg0gDSADSxsiDRAFIAMgDWsiA3RqIQggB0EoahAEGiADRQ0BIAdBKGogAxAFIAhqIQgMAQsgB0EoaiADEAUgCGohCCAHQShqEAQaCyAHKQJUISEgByAINgJUIAcgITcDWAwBCwJAIANFBEAgAgRAIAcoAlQhCAwDCyAHKAJYIQgMAQsCQAJAIAdBKGpBARAFIAggAkVqaiIDQQNGBEAgBygCVEF/aiIDIANFaiEIDAELIANBAnQgB2ooAlQiCCAIRWohCCADQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAg2AlQLICCnIQMgCQRAIAdBKGogCRAFIANqIQMLIAkgC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgAmohAgsgB0EoahAEGiAHIAcoAmggAmoiCSADajYCaCAKIAwgCCAJSxsoAgAhDSAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogB0EoaiAfQhiIp0H/AXEQCCEOIAdB8ABqIARBBHRqIgsgCSANaiAIazYCDCALIAg2AgggCyADNgIEIAsgAjYCACAHIA4gH6dB//8DcWo2AkQgBEEBaiEEDAELCyAEIBdIDQEgEkFgaiEYIAdB4ABqIRogB0HkAGohGyABIQMDQCAHQShqEARBAksgBCAFTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEIIAcoAkggBygCREEDdGopAgAiH0IgiKchCSAeQiCIISAgHUIgiKchDAJAIB9CEIinQf8BcSICQQJPBEACQCAGRSACQRlJckUEQCAJIAdBKGogAkEgIAcoAixrIgogCiACSxsiChAFIAIgCmsiAnRqIQkgB0EoahAEGiACRQ0BIAdBKGogAhAFIAlqIQkMAQsgB0EoaiACEAUgCWohCSAHQShqEAQaCyAHKQJUISEgByAJNgJUIAcgITcDWAwBCwJAIAJFBEAgDARAIAcoAlQhCQwDCyAHKAJYIQkMAQsCQAJAIAdBKGpBARAFIAkgDEVqaiICQQNGBEAgBygCVEF/aiICIAJFaiEJDAELIAJBAnQgB2ooAlQiCSAJRWohCSACQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAk2AlQLICCnIRQgCARAIAdBKGogCBAFIBRqIRQLIAggC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgDGohDAsgB0EoahAEGiAHIAcoAmggDGoiGSAUajYCaCAbIBogCSAZSxsoAgAhHCAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogByAHQShqIB9CGIinQf8BcRAIIB+nQf//A3FqNgJEIAcgB0HwAGogBEEDcUEEdGoiDSkDCCIdNwPIASAHIA0pAwAiHjcDwAECQAJAAkAgBygCvAEiDiAepyICaiIWIBNLDQAgAyAHKALEASIKIAJqIgtqIBhLDQAgEiADayALQSBqTw0BCyAHIAcpA8gBNwMQIAcgBykDwAE3AwggAyASIAdBCGogB0G8AWogEyAPIBUgERAeIQsMAQsgAiADaiEIIAMgDhAHIAJBEU8EQCADQRBqIQIDQCACIA5BEGoiDhAHIAJBEGoiAiAISQ0ACwsgCCAdpyIOayECIAcgFjYCvAEgDiAIIA9rSwRAIA4gCCAVa0sEQEFsIQsMAgsgESACIA9rIgJqIhYgCmogEU0EQCAIIBYgChAPGgwCCyAIIBZBACACaxAPIQggByACIApqIgo2AsQBIAggAmshCCAPIQILIA5BEE8EQCAIIApqIQoDQCAIIAIQByACQRBqIQIgCEEQaiIIIApJDQALDAELAkAgDkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgDkECdCIKQcAeaigCAGoiAhAXIAIgCkHgHmooAgBrIQIgBygCxAEhCgwBCyAIIAIQDAsgCkEJSQ0AIAggCmohCiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAKSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAKSQ0ACwsgCxADBEAgCyEQDAQFIA0gDDYCACANIBkgHGogCWs2AgwgDSAJNgIIIA0gFDYCBCAEQQFqIQQgAyALaiEDDAILAAsLIAQgBUgNASAEIBdrIQtBACEEA0AgCyAFSARAIAcgB0HwAGogC0EDcUEEdGoiAikDCCIdNwPIASAHIAIpAwAiHjcDwAECQAJAAkAgBygCvAEiDCAepyICaiIKIBNLDQAgAyAHKALEASIJIAJqIhBqIBhLDQAgEiADayAQQSBqTw0BCyAHIAcpA8gBNwMgIAcgBykDwAE3AxggAyASIAdBGGogB0G8AWogEyAPIBUgERAeIRAMAQsgAiADaiEIIAMgDBAHIAJBEU8EQCADQRBqIQIDQCACIAxBEGoiDBAHIAJBEGoiAiAISQ0ACwsgCCAdpyIGayECIAcgCjYCvAEgBiAIIA9rSwRAIAYgCCAVa0sEQEFsIRAMAgsgESACIA9rIgJqIgwgCWogEU0EQCAIIAwgCRAPGgwCCyAIIAxBACACaxAPIQggByACIAlqIgk2AsQBIAggAmshCCAPIQILIAZBEE8EQCAIIAlqIQYDQCAIIAIQByACQRBqIQIgCEEQaiIIIAZJDQALDAELAkAgBkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgBkECdCIGQcAeaigCAGoiAhAXIAIgBkHgHmooAgBrIQIgBygCxAEhCQwBCyAIIAIQDAsgCUEJSQ0AIAggCWohBiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAGSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAGSQ0ACwsgEBADDQMgC0EBaiELIAMgEGohAwwBCwsDQCAEQQNHBEAgACAEQQJ0IgJqQazQAWogAiAHaigCVDYCACAEQQFqIQQMAQsLIAcoArwBIQgLQbp/IRAgEyAIayIAIBIgA2tLDQAgAwR/IAMgCCAAEAsgAGoFQQALIAFrIRALIAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEEdCAAbiECCyAAQQh2IgEgAkEYbCIAQYwIaigCAGwgAEGICGooAgBqIgJBA3YgAmogAEGACGooAgAgAEGECGooAgAgAWxqSQs3ACAAIAMgBCAFQYAQEDMiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQMgVBuH8LC78DAQN/IwBBIGsiBSQAIAVBCGogAiADEAYiAhADRQRAIAAgAWoiB0F9aiEGIAUgBBAOIARBBGohAiAFLQACIQMDQEEAIAAgBkkgBUEIahAEGwRAIAAgAiAFQQhqIAMQAkECdGoiBC8BADsAACAFQQhqIAQtAAIQASAAIAQtAANqIgQgAiAFQQhqIAMQAkECdGoiAC8BADsAACAFQQhqIAAtAAIQASAEIAAtAANqIQAMAQUgB0F+aiEEA0AgBUEIahAEIAAgBEtyRQRAIAAgAiAFQQhqIAMQAkECdGoiBi8BADsAACAFQQhqIAYtAAIQASAAIAYtAANqIQAMAQsLA0AgACAES0UEQCAAIAIgBUEIaiADEAJBAnRqIgYvAQA7AAAgBUEIaiAGLQACEAEgACAGLQADaiEADAELCwJAIAAgB08NACAAIAIgBUEIaiADEAIiA0ECdGoiAC0AADoAACAALQADQQFGBEAgBUEIaiAALQACEAEMAQsgBSgCDEEfSw0AIAVBCGogAiADQQJ0ai0AAhABIAUoAgxBIUkNACAFQSA2AgwLIAFBbCAFQQhqEAobIQILCwsgBUEgaiQAIAILkgIBBH8jAEFAaiIJJAAgCSADQTQQCyEDAkAgBEECSA0AIAMgBEECdGooAgAhCSADQTxqIAgQIyADQQE6AD8gAyACOgA+QQAhBCADKAI8IQoDQCAEIAlGDQEgACAEQQJ0aiAKNgEAIARBAWohBAwAAAsAC0EAIQkDQCAGIAlGRQRAIAMgBSAJQQF0aiIKLQABIgtBAnRqIgwoAgAhBCADQTxqIAotAABBCHQgCGpB//8DcRAjIANBAjoAPyADIAcgC2siCiACajoAPiAEQQEgASAKa3RqIQogAygCPCELA0AgACAEQQJ0aiALNgEAIARBAWoiBCAKSQ0ACyAMIAo2AgAgCUEBaiEJDAELCyADQUBrJAALowIBCX8jAEHQAGsiCSQAIAlBEGogBUE0EAsaIAcgBmshDyAHIAFrIRADQAJAIAMgCkcEQEEBIAEgByACIApBAXRqIgYtAAEiDGsiCGsiC3QhDSAGLQAAIQ4gCUEQaiAMQQJ0aiIMKAIAIQYgCyAPTwRAIAAgBkECdGogCyAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QYyAGIA1qIQgMAgsgCUEMaiAOECMgCUEBOgAPIAkgCDoADiAGIA1qIQggCSgCDCELA0AgBiAITw0CIAAgBkECdGogCzYBACAGQQFqIQYMAAALAAsgCUHQAGokAA8LIAwgCDYCACAKQQFqIQoMAAALAAs0ACAAIAMgBCAFEDYiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQNAVBuH8LCyMAIAA/AEEQdGtB//8DakEQdkAAQX9GBEBBAA8LQQAQAEEBCzsBAX8gAgRAA0AgACABIAJBgCAgAkGAIEkbIgMQCyEAIAFBgCBqIQEgAEGAIGohACACIANrIgINAAsLCwYAIAAQAwsLqBUJAEGICAsNAQAAAAEAAAACAAAAAgBBoAgLswYBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAAAAAAEAAAABAAAABQAAAA0AAAAdAAAAPQAAAH0AAAD9AAAA/QEAAP0DAAD9BwAA/Q8AAP0fAAD9PwAA/X8AAP3/AAD9/wEA/f8DAP3/BwD9/w8A/f8fAP3/PwD9/38A/f//AP3//wH9//8D/f//B/3//w/9//8f/f//P/3//38AAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQeAPC1EBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAQcQQC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBkBIL5gQBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAEAAAAEAAAACAAAAAAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBgBcLhwIBAAEBBQAAAAAAAAUAAAAAAAAGBD0AAAAAAAkF/QEAAAAADwX9fwAAAAAVBf3/HwAAAAMFBQAAAAAABwR9AAAAAAAMBf0PAAAAABIF/f8DAAAAFwX9/38AAAAFBR0AAAAAAAgE/QAAAAAADgX9PwAAAAAUBf3/DwAAAAIFAQAAABAABwR9AAAAAAALBf0HAAAAABEF/f8BAAAAFgX9/z8AAAAEBQ0AAAAQAAgE/QAAAAAADQX9HwAAAAATBf3/BwAAAAEFAQAAABAABgQ9AAAAAAAKBf0DAAAAABAF/f8AAAAAHAX9//8PAAAbBf3//wcAABoF/f//AwAAGQX9//8BAAAYBf3//wBBkBkLhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABBpB0L2QEBAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AAAAAAEAAAACAAAABAAAAAAAAAACAAAABAAAAAgAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAEGgIAsDwBBQ",ae=new WeakMap;let re,ne=0;class KTX2Loader extends t.Loader{constructor(t){super(t),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new WorkerPool,this.workerSourceURL="",this.workerConfig=null,"undefined"!=typeof MSC_TRANSCODER&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(t){return this.transcoderPath=t,this}setWorkerLimit(t){return this.workerPool.setWorkerLimit(t),this}async detectSupportAsync(t){return this.workerConfig={astcSupported:await t.hasFeatureAsync("texture-compression-astc"),etc1Supported:await t.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await t.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await t.hasFeatureAsync("texture-compression-bc"),bptcSupported:await t.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await t.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(t){return!0===t.isWebGPURenderer?this.workerConfig={astcSupported:t.hasFeature("texture-compression-astc"),etc1Supported:t.hasFeature("texture-compression-etc1"),etc2Supported:t.hasFeature("texture-compression-etc2"),dxtSupported:t.hasFeature("texture-compression-bc"),bptcSupported:t.hasFeature("texture-compression-bptc"),pvrtcSupported:t.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:t.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:t.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:t.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:t.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:t.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:t.extensions.has("WEBGL_compressed_texture_pvrtc")||t.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const a=new t.FileLoader(this.manager);a.setPath(this.transcoderPath),a.setWithCredentials(this.withCredentials);const r=a.loadAsync("basis_transcoder.js"),i=new t.FileLoader(this.manager);i.setPath(this.transcoderPath),i.setResponseType("arraybuffer"),i.setWithCredentials(this.withCredentials);const o=i.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([r,o]).then((([t,a])=>{const r=KTX2Loader.BasisWorker.toString(),i=["/* constants */","let _EngineFormat = "+JSON.stringify(KTX2Loader.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(KTX2Loader.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(KTX2Loader.BasisFormat),"/* basis_transcoder.js */",t,"/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i])),this.transcoderBinary=a,this.workerPool.setWorkerCreator((()=>{const t=new Worker(this.workerSourceURL),a=this.transcoderBinary.slice(0);return t.postMessage({type:"init",config:this.workerConfig,transcoderBinary:a},[a]),t}))})),ne>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),ne++}return this.transcoderPending}load(a,r,i,o){if(null===this.workerConfig)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const A=new t.FileLoader(this.manager);A.setResponseType("arraybuffer"),A.setWithCredentials(this.withCredentials),A.load(a,(t=>{this.parse(t,r,o)}),i,o)}parse(t,a,r){if(null===this.workerConfig)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if(ae.has(t)){return ae.get(t).promise.then(a).catch(r)}this._createTexture(t).then((t=>a?a(t):null)).catch(r)}_createTextureFrom(a,r){const{faces:i,width:o,height:A,format:c,type:l,error:d,dfdFlags:h}=a;if("error"===l)return Promise.reject(d);let b;if(6===r.faceCount)b=new t.CompressedCubeTexture(i,c,t.UnsignedByteType);else{const a=i[0].mipmaps;b=r.layerCount>1?new t.CompressedArrayTexture(a,o,A,r.layerCount,c,t.UnsignedByteType):new t.CompressedTexture(a,o,A,c,t.UnsignedByteType)}return b.minFilter=1===i[0].mipmaps.length?t.LinearFilter:t.LinearMipmapLinearFilter,b.magFilter=t.LinearFilter,b.generateMipmaps=!1,b.needsUpdate=!0,b.colorSpace=parseColorSpace(r),b.premultiplyAlpha=!!(1&h),b}async _createTexture(a,r={}){const i=function Pi(t){const a=new Uint8Array(t.buffer,t.byteOffset,Y.length);if(a[0]!==Y[0]||a[1]!==Y[1]||a[2]!==Y[2]||a[3]!==Y[3]||a[4]!==Y[4]||a[5]!==Y[5]||a[6]!==Y[6]||a[7]!==Y[7]||a[8]!==Y[8]||a[9]!==Y[9]||a[10]!==Y[10]||a[11]!==Y[11])throw new Error("Missing KTX 2.0 identifier.");const r=new Si,i=17*Uint32Array.BYTES_PER_ELEMENT,o=new Ii(t,Y.length,i,!0);r.vkFormat=o._nextUint32(),r.typeSize=o._nextUint32(),r.pixelWidth=o._nextUint32(),r.pixelHeight=o._nextUint32(),r.pixelDepth=o._nextUint32(),r.layerCount=o._nextUint32(),r.faceCount=o._nextUint32();const A=o._nextUint32();r.supercompressionScheme=o._nextUint32();const c=o._nextUint32(),l=o._nextUint32(),d=o._nextUint32(),h=o._nextUint32(),b=o._nextUint64(),u=o._nextUint64(),g=new Ii(t,Y.length+i,3*A*8,!0);for(let a=0;a<A;a++)r.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+g._nextUint64(),g._nextUint64()),uncompressedByteLength:g._nextUint64()});const p=new Ii(t,c,l,!0),I={vendorId:p._skip(4)._nextUint16(),descriptorType:p._nextUint16(),versionNumber:p._nextUint16(),descriptorBlockSize:p._nextUint16(),colorModel:p._nextUint8(),colorPrimaries:p._nextUint8(),transferFunction:p._nextUint8(),flags:p._nextUint8(),texelBlockDimension:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],bytesPlane:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],samples:[]},y=(I.descriptorBlockSize/4-6)/4;for(let t=0;t<y;t++){const a={bitOffset:p._nextUint16(),bitLength:p._nextUint8(),channelType:p._nextUint8(),samplePosition:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};64&a.channelType?(a.sampleLower=p._nextInt32(),a.sampleUpper=p._nextInt32()):(a.sampleLower=p._nextUint32(),a.sampleUpper=p._nextUint32()),I.samples[t]=a}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(I);const m=new Ii(t,d,h,!0);for(;m._offset<h;){const t=m._nextUint32(),a=m._scan(t),i=Ei(a),o=m._scan(t-a.byteLength);r.keyValue[i]=i.match(/^ktx/i)?Ei(o):o,m._offset%4&&m._skip(4-m._offset%4)}if(u<=0)return r;const C=new Ii(t,b,u,!0),E=C._nextUint16(),B=C._nextUint16(),Q=C._nextUint32(),v=C._nextUint32(),w=C._nextUint32(),k=C._nextUint32(),x=[];for(let t=0;t<A;t++)x.push({imageFlags:C._nextUint32(),rgbSliceByteOffset:C._nextUint32(),rgbSliceByteLength:C._nextUint32(),alphaSliceByteOffset:C._nextUint32(),alphaSliceByteLength:C._nextUint32()});const T=b+C._offset,D=T+Q,j=D+v,_=j+w,G=new Uint8Array(t.buffer,t.byteOffset+T,Q),L=new Uint8Array(t.buffer,t.byteOffset+D,v),S=new Uint8Array(t.buffer,t.byteOffset+j,w),M=new Uint8Array(t.buffer,t.byteOffset+_,k);return r.globalData={endpointCount:E,selectorCount:B,imageDescs:x,endpointsData:G,selectorsData:L,tablesData:S,extendedData:M},r}(new Uint8Array(a));if(0!==i.vkFormat)return async function createRawTexture(a){const{vkFormat:r}=a;if(void 0===oe[r])throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");let i;2===a.supercompressionScheme&&(re||(re=new Promise((async t=>{const a=new zstddec_module_Q;await a.init(),t(a)}))),i=await re);const o=[];for(let A=0;A<a.levels.length;A++){const c=Math.max(1,a.pixelWidth>>A),l=Math.max(1,a.pixelHeight>>A),d=a.pixelDepth?Math.max(1,a.pixelDepth>>A):0,h=a.levels[A];let b,u;if(0===a.supercompressionScheme)b=h.levelData;else{if(2!==a.supercompressionScheme)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");b=i.decode(h.levelData,h.uncompressedByteLength)}u=Ae[r]===t.FloatType?new Float32Array(b.buffer,b.byteOffset,b.byteLength/Float32Array.BYTES_PER_ELEMENT):Ae[r]===t.HalfFloatType?new Uint16Array(b.buffer,b.byteOffset,b.byteLength/Uint16Array.BYTES_PER_ELEMENT):b,o.push({data:u,width:c,height:l,depth:d})}let A;if(ie.has(oe[r]))A=0===a.pixelDepth?new t.DataTexture(o[0].data,a.pixelWidth,a.pixelHeight):new t.Data3DTexture(o[0].data,a.pixelWidth,a.pixelHeight,a.pixelDepth);else{if(a.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");A=new t.CompressedTexture(o,a.pixelWidth,a.pixelHeight)}return A.mipmaps=o,A.type=Ae[r],A.format=oe[r],A.colorSpace=parseColorSpace(a),A.needsUpdate=!0,Promise.resolve(A)}(i);const o=r,A=this.init().then((()=>this.workerPool.postMessage({type:"transcode",buffer:a,taskConfig:o},[a]))).then((t=>this._createTextureFrom(t.data,i)));return ae.set(a,{promise:A}),A}dispose(){return this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),ne--,this}}KTX2Loader.BasisFormat={ETC1S:0,UASTC_4x4:1},KTX2Loader.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},KTX2Loader.EngineFormat={RGBAFormat:t.RGBAFormat,RGBA_ASTC_4x4_Format:t.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:t.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:t.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:t.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:t.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:t.RGB_ETC1_Format,RGB_ETC2_Format:t.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:t.RGB_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT1_Format:t.RGBA_S3TC_DXT1_Format},KTX2Loader.BasisWorker=function(){let t,a,r;const i=_EngineFormat,o=_TranscoderFormat,A=_BasisFormat;self.addEventListener("message",(function(c){const h=c.data;switch(h.type){case"init":t=h.config,function init(t){a=new Promise((a=>{r={wasmBinary:t,onRuntimeInitialized:a},BASIS(r)})).then((()=>{r.initializeBasis(),void 0===r.KTX2File&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}))}(h.transcoderBinary);break;case"transcode":a.then((()=>{try{const{faces:a,buffers:c,width:b,height:u,hasAlpha:g,format:p,dfdFlags:I}=function transcode(a){const c=new r.KTX2File(new Uint8Array(a));function cleanup(){c.close(),c.delete()}if(!c.isValid())throw cleanup(),new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file");const h=c.isUASTC()?A.UASTC_4x4:A.ETC1S,b=c.getWidth(),u=c.getHeight(),g=c.getLayers()||1,p=c.getLevels(),I=c.getFaces(),y=c.getHasAlpha(),m=c.getDFDFlags(),{transcoderFormat:C,engineFormat:E}=function getTranscoderFormat(a,r,c,h){let b,u;const g=a===A.ETC1S?l:d;for(let i=0;i<g.length;i++){const o=g[i];if(t[o.if]&&(o.basisFormat.includes(a)&&!(h&&o.transcoderFormat.length<2)&&(!o.needsPowerOfTwo||isPowerOfTwo(r)&&isPowerOfTwo(c))))return b=o.transcoderFormat[h?1:0],u=o.engineFormat[h?1:0],{transcoderFormat:b,engineFormat:u}}return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."),b=o.RGBA32,u=i.RGBAFormat,{transcoderFormat:b,engineFormat:u}}(h,b,u,y);if(!b||!u||!p)throw cleanup(),new Error("THREE.KTX2Loader:\tInvalid texture");if(!c.startTranscoding())throw cleanup(),new Error("THREE.KTX2Loader: .startTranscoding failed");const B=[],Q=[];for(let t=0;t<I;t++){const a=[];for(let r=0;r<p;r++){const i=[];let o,A;for(let a=0;a<g;a++){const l=c.getImageLevelInfo(r,a,t);0!==t||0!==r||0!==a||l.origWidth%4==0&&l.origHeight%4==0||console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),p>1?(o=l.origWidth,A=l.origHeight):(o=l.width,A=l.height);const d=new Uint8Array(c.getImageTranscodedSizeInBytes(r,a,0,C));if(!c.transcodeImage(d,r,a,t,C,0,-1,-1))throw cleanup(),new Error("THREE.KTX2Loader: .transcodeImage failed.");i.push(d)}const l=concat(i);a.push({data:l,width:o,height:A}),Q.push(l.buffer)}B.push({mipmaps:a,width:b,height:u,format:E})}return cleanup(),{faces:B,buffers:Q,width:b,height:u,hasAlpha:y,format:E,dfdFlags:m}}(h.buffer);self.postMessage({type:"transcode",id:h.id,faces:a,width:b,height:u,hasAlpha:g,format:p,dfdFlags:I},c)}catch(t){console.error(t),self.postMessage({type:"error",id:h.id,error:t.message})}}))}}));const c=[{if:"astcSupported",basisFormat:[A.UASTC_4x4],transcoderFormat:[o.ASTC_4x4,o.ASTC_4x4],engineFormat:[i.RGBA_ASTC_4x4_Format,i.RGBA_ASTC_4x4_Format],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.BC7_M5,o.BC7_M5],engineFormat:[i.RGBA_BPTC_Format,i.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.BC1,o.BC3],engineFormat:[i.RGBA_S3TC_DXT1_Format,i.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.ETC1,o.ETC2],engineFormat:[i.RGB_ETC2_Format,i.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.ETC1],engineFormat:[i.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.PVRTC1_4_RGB,o.PVRTC1_4_RGBA],engineFormat:[i.RGB_PVRTC_4BPPV1_Format,i.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0}],l=c.sort((function(t,a){return t.priorityETC1S-a.priorityETC1S})),d=c.sort((function(t,a){return t.priorityUASTC-a.priorityUASTC}));function isPowerOfTwo(t){return t<=2||!(t&t-1)&&0!==t}function concat(t){if(1===t.length)return t[0];let a=0;for(let r=0;r<t.length;r++){a+=t[r].byteLength}const r=new Uint8Array(a);let i=0;for(let a=0;a<t.length;a++){const o=t[a];r.set(o,i),i+=o.byteLength}return r}};const ie=new Set([t.RGBAFormat,t.RGFormat,t.RedFormat]),oe={[V]:t.RGBAFormat,[q]:t.RGBAFormat,[N]:t.RGBAFormat,[U]:t.RGBAFormat,[J]:t.RGFormat,[H]:t.RGFormat,[R]:t.RGFormat,[P]:t.RGFormat,[K]:t.RedFormat,[O]:t.RedFormat,[M]:t.RedFormat,[S]:t.RedFormat,[W]:t.RGBA_ASTC_6x6_Format,[z]:t.RGBA_ASTC_6x6_Format},Ae={[V]:t.FloatType,[q]:t.HalfFloatType,[N]:t.UnsignedByteType,[U]:t.UnsignedByteType,[J]:t.FloatType,[H]:t.HalfFloatType,[R]:t.UnsignedByteType,[P]:t.UnsignedByteType,[K]:t.FloatType,[O]:t.HalfFloatType,[M]:t.UnsignedByteType,[S]:t.UnsignedByteType,[W]:t.UnsignedByteType,[z]:t.UnsignedByteType};function parseColorSpace(a){const r=a.dataFormatDescriptor[0];return r.colorPrimaries===G?r.transferFunction===j?t.SRGBColorSpace:t.LinearSRGBColorSpace:r.colorPrimaries===L?r.transferFunction===j?t.DisplayP3ColorSpace:t.LinearDisplayP3ColorSpace:(r.colorPrimaries===_||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${r.colorPrimaries}"`),t.NoColorSpace)}function SubtreeDecoder_typeof(t){return SubtreeDecoder_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},SubtreeDecoder_typeof(t)}function SubtreeDecoder_regeneratorRuntime(){SubtreeDecoder_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==SubtreeDecoder_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(SubtreeDecoder_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function SubtreeDecoder_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function SubtreeDecoder_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){SubtreeDecoder_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){SubtreeDecoder_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function fetchAndDecodeSubtree(t){return _fetchAndDecodeSubtree.apply(this,arguments)}function _fetchAndDecodeSubtree(){return(_fetchAndDecodeSubtree=SubtreeDecoder_asyncToGenerator(SubtreeDecoder_regeneratorRuntime().mark((function _callee(t){var a,r,i,o,A;return SubtreeDecoder_regeneratorRuntime().wrap((function _callee$(c){for(;;)switch(c.prev=c.next){case 0:return a=t.split("?")[0],r=a.split(".").pop(),c.next=4,fetch(t);case 4:if((i=c.sent).ok){c.next=7;break}throw new Error("Failed to fetch ".concat(t,": ").concat(i.statusText));case 7:if("json"!==r){c.next=12;break}return c.next=10,i.json();case 10:return o=c.sent,c.abrupt("return",handleJSONSubtree(o,getDirectoryUrl(t)));case 12:if("subtree"!==r){c.next=19;break}return c.next=15,i.arrayBuffer();case 15:return A=c.sent,c.abrupt("return",decodeSubtreeBinary(A,getDirectoryUrl(t)));case 19:throw new Error("Unsupported file extension: ".concat(r));case 20:case"end":return c.stop()}}),_callee)})))).apply(this,arguments)}function getDirectoryUrl(t){var a=t.split("?")[0];return a.substring(0,a.lastIndexOf("/")+1)}function decodeSubtreeBinary(t,a){return _decodeSubtreeBinary.apply(this,arguments)}function _decodeSubtreeBinary(){return _decodeSubtreeBinary=SubtreeDecoder_asyncToGenerator(SubtreeDecoder_regeneratorRuntime().mark((function _callee5(t,a){var r,i,o,A,c,l,d,h,b,u,g;return SubtreeDecoder_regeneratorRuntime().wrap((function _callee5$(p){for(;;)switch(p.prev=p.next){case 0:if(r=new DataView(t),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0),A=24+Number(i),l=(c=A+(8-A%8)%8)+Number(o),d=t.slice(24,A),h=(new TextDecoder).decode(d).trim(),(b=JSON.parse(h)).buffers){p.next=12;break}throw new Error("subtree has no buffers");case 12:return u=b.buffers.map(function(){var r=SubtreeDecoder_asyncToGenerator(SubtreeDecoder_regeneratorRuntime().mark((function _callee4(r){var i,o;return SubtreeDecoder_regeneratorRuntime().wrap((function _callee4$(A){for(;;)switch(A.prev=A.next){case 0:if(!r.uri){A.next=14;break}return i=new URL(r.uri,a).href,A.next=4,fetch(i);case 4:if((o=A.sent).ok){A.next=7;break}throw new Error("Failed to fetch binary file ".concat(i,": ").concat(o.statusText));case 7:return A.t0=Uint8Array,A.next=10,o.arrayBuffer();case 10:return A.t1=A.sent,A.abrupt("return",new A.t0(A.t1));case 14:return A.abrupt("return",new Uint8Array(t.slice(c,l)));case 15:case"end":return A.stop()}}),_callee4)})));return function(t){return r.apply(this,arguments)}}()),p.next=15,Promise.all(u);case 15:return g=p.sent,p.abrupt("return",decodeSubtree(b,g));case 17:case"end":return p.stop()}}),_callee5)}))),_decodeSubtreeBinary.apply(this,arguments)}function decodeSubtree(t,a){function isAvailable(r,i){if(!r)throw new Error("incomplete json subtree");if(r.constant){if(0==r.constant)return!1;if(1==r.constant)return!0}if(null==r.bitstream)throw new Error('json subtree "tileAvailability" does not specify a bitstream');if(!t.bufferViews||!t.bufferViews[r.bitstream])throw new Error('json subtree "bufferViews" does not specify a bitstream');var o=t.bufferViews[r.bitstream];return function isAvailable2(t,a,r){var i=a+Math.floor(r/8),o=r%8;return t[i]>>o&!0}(a[o.buffer],o.byteOffset,i)}return{isTileAvailable:function isTileAvailable(a){var r=0;return r=null==a.z?computeQuadtreeIndex(a.x,a.y,a.level):computeOctreeIndex(a.x,a.y,a.z,a.level),isAvailable(t.tileAvailability,r)},isContentAvailable:function isContentAvailable(a){var r=0;r=null==a.z?computeQuadtreeIndex(a.x,a.y,a.level):computeOctreeIndex(a.x,a.y,a.z,a.level);var i=[];return t.contentAvailability.forEach((function(t){i.push(isAvailable(t,r))})),i},isChildSubtreeAvailable:function isChildSubtreeAvailable(a){var r=0;return r=null==a.z?computeQuadtreeIndex(a.x,a.y):computeOctreeIndex(a.x,a.y,a.z),isAvailable(t.childSubtreeAvailability,r)}}}function part1By1(t){return t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)^t<<8))^t<<4))^t<<2))^t<<1)}function computeQuadtreeIndex(t,a,r){var i=0;return r&&(i=(Math.pow(4,r)-1)/3),i+(part1By1(t)|part1By1(a)<<1)}function part1By2(t){return t=153391689&((t=51130563&((t=50393103&((t=4278190335&((t&=1023)^t<<16))^t<<8))^t<<4))^t<<2)}function computeOctreeIndex(t,a,r,i){var o=0;return i&&(o=(Math.pow(8,i)-1)/7),o+(part1By2(t)|part1By2(a)<<1|part1By2(r)<<2)}function ImplicitTileResolver_typeof(t){return ImplicitTileResolver_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ImplicitTileResolver_typeof(t)}function ImplicitTileResolver_regeneratorRuntime(){ImplicitTileResolver_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==ImplicitTileResolver_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(ImplicitTileResolver_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function _toConsumableArray(t){return function _arrayWithoutHoles(t){if(Array.isArray(t))return ImplicitTileResolver_arrayLikeToArray(t)}(t)||function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||ImplicitTileResolver_unsupportedIterableToArray(t)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _slicedToArray(t,a){return function _arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function _iterableToArrayLimit(t,a){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var i,o,A,c,l=[],d=!0,h=!1;try{if(A=(r=r.call(t)).next,0===a){if(Object(r)!==r)return;d=!1}else for(;!(d=(i=A.call(r)).done)&&(l.push(i.value),l.length!==a);d=!0);}catch(t){h=!0,o=t}finally{try{if(!d&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(h)throw o}}return l}}(t,a)||ImplicitTileResolver_unsupportedIterableToArray(t,a)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ImplicitTileResolver_unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return ImplicitTileResolver_arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ImplicitTileResolver_arrayLikeToArray(t,a):void 0}}function ImplicitTileResolver_arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function ImplicitTileResolver_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function ImplicitTileResolver_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){ImplicitTileResolver_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){ImplicitTileResolver_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}var se=new Map;function resolveImplicite(t,a){return _resolveImplicite.apply(this,arguments)}function _resolveImplicite(){return _resolveImplicite=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee5(t,a){var r,i,o,A,c,l,d,h,b,u,g,p;return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee5$(I){for(;;)switch(I.prev=I.next){case 0:if(p=function _buildChildren3(){return p=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee4(a){var l,d,h,b,u,p,I,y,m,C,E;return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee4$(B){for(;;)switch(B.prev=B.next){case 0:if(l=[],a.localAddress.level!=t.root.implicitTiling.availableLevels-1){B.next=3;break}return B.abrupt("return",l);case 3:if((a.localAddress.level+1)%t.root.implicitTiling.subtreeLevels!=0){B.next=16;break}d=getChildrenAddresses(a.localAddress),h=getChildrenAddresses(a.globalAddress),b=computeBoundingVolumes(r,t.root.boundingVolume,h),u=ImplicitTileResolver_regeneratorRuntime().mark((function _loop(){var u,I,y,m,C,E;return ImplicitTileResolver_regeneratorRuntime().wrap((function _loop$(B){for(;;)switch(B.prev=B.next){case 0:if(u=d[p],I=h[p],a.subtree.isChildSubtreeAvailable(u)&&(r&&i.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y),r||i.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y).replace("{z}",I.z)),se.has(c)){B.next=10;break}return B.t0=se,B.t1=c,B.next=8,fetchAndDecodeSubtree(A+c);case 8:B.t2=B.sent,B.t0.set.call(B.t0,B.t1,B.t2);case 10:y=se.get(c),m={level:0,x:0,y:0},r||(m.z=0),C=[],y.isContentAvailable(m)&&o.forEach((function(t){var a;r&&(a=t.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y)),r||(a=t.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y).replace("{z}",I.z)),C.push({uri:a})})),E={geometricError:a.geometricError/2,boundingVolume:b[p],refine:t.root.refine,globalAddress:I,localAddress:m,subtree:y,contents:C,getChildren:function(){var t=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee2(){return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee2$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",g(E));case 1:case"end":return t.stop()}}),_callee2)})));return function getChildren(){return t.apply(this,arguments)}}()},l.push(E);case 17:case"end":return B.stop()}}),_loop)})),p=0;case 9:if(!(p<d.length)){B.next=14;break}return B.delegateYield(u(),"t0",11);case 11:p++,B.next=9;break;case 14:B.next=28;break;case 16:I=getChildrenAddresses(a.localAddress),y=getChildrenAddresses(a.globalAddress),m=computeBoundingVolumes(r,t.root.boundingVolume,y),C=ImplicitTileResolver_regeneratorRuntime().mark((function _loop2(){var i,A,c,d,h,b,u,p;return ImplicitTileResolver_regeneratorRuntime().wrap((function _loop2$(C){for(;;)switch(C.prev=C.next){case 0:if(i=I[E],A=y[E],a.subtree.isTileAvailable(i)){C.next=4;break}return C.abrupt("return",1);case 4:c=[],d=a.subtree.isContentAvailable(i),h=0;case 7:if(!(h<o.length)){C.next=18;break}if(d[h]){C.next=10;break}return C.abrupt("continue",15);case 10:b=o[h],u=void 0,r&&(u=b.replace("{level}",A.level).replace("{x}",A.x).replace("{y}",A.y)),r||(u=b.replace("{level}",A.level).replace("{x}",A.x).replace("{y}",A.y).replace("{z}",A.z)),c.push({uri:u});case 15:h++,C.next=7;break;case 18:p={geometricError:a.geometricError/2,boundingVolume:m[E],refine:t.root.refine,globalAddress:A,localAddress:i,subtree:a.subtree,contents:c,getChildren:function(){var t=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee3(){return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee3$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",g(p));case 1:case"end":return t.stop()}}),_callee3)})));return function getChildren(){return t.apply(this,arguments)}}()},l.push(p);case 20:case"end":return C.stop()}}),_loop2)})),E=0;case 21:if(!(E<I.length)){B.next=28;break}return B.delegateYield(C(),"t1",23);case 23:if(!B.t1){B.next=25;break}return B.abrupt("continue",25);case 25:E++,B.next=21;break;case 28:return B.abrupt("return",l.length>0?l:void 0);case 29:case"end":return B.stop()}}),_callee4)}))),p.apply(this,arguments)},g=function _buildChildren2(t){return p.apply(this,arguments)},t.root&&t.root.implicitTiling){I.next=4;break}return I.abrupt("return",t);case 4:if(t.root.content||t.root.contents){I.next=6;break}throw new Error("implicit tiling requires a Template URI");case 6:return r=!0,t.root.implicitTiling.subdivisionScheme&&(r="QUADTREE"===t.root.implicitTiling.subdivisionScheme.toUpperCase()),i="",t.root.implicitTiling.subtrees&&(t.root.implicitTiling.subtrees.uri?i=t.root.implicitTiling.subtrees.uri:t.root.implicitTiling.subtrees.url&&(i=t.root.implicitTiling.subtrees.url)),o=[],t.root.content?t.root.content.uri?o.push(t.root.content.uri):t.root.content.url&&o.push(t.root.content.url):t.root.contents&&t.root.contents.forEach((function(t){t.uri?o.push(t.uri):t.url&&o.push(t.url)})),A=ImplicitTileResolver_getDirectoryUrl(a),r&&(c=i.replace("{level}",0).replace("{x}",0).replace("{y}",0)),r||(c=i.replace("{level}",0).replace("{x}",0).replace("{y}",0).replace("{z}",0)),l={level:0,x:0,y:0},d={level:0,x:0,y:0},r||(l.z=0,d.z=0),I.t0=se,I.t1=c,I.next=22,fetchAndDecodeSubtree(A+c);case 22:return I.t2=I.sent,I.t0.set.call(I.t0,I.t1,I.t2),h=se.get(c),b=[],h.isContentAvailable(d)&&o.forEach((function(t){var a;r&&(a=t.replace("{level}",l.level).replace("{x}",l.x).replace("{y}",l.y)),r||(a=t.replace("{level}",l.level).replace("{x}",l.x).replace("{y}",l.y).replace("{z}",l.z)),b.push({uri:a})})),u={geometricError:t.root.geometricError,boundingVolume:t.root.boundingVolume,refine:t.root.refine,globalAddress:l,localAddress:d,subtree:h,contents:b,getChildren:function(){var t=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee(){return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",g(u));case 1:case"end":return t.stop()}}),_callee)})));return function getChildren(){return t.apply(this,arguments)}}()},I.abrupt("return",{root:u});case 29:case"end":return I.stop()}}),_callee5)}))),_resolveImplicite.apply(this,arguments)}function getChildrenAddresses(t){var a=t.level,r=t.x,i=t.y,o=t.z,A=a+1;return void 0===o?[{level:A,x:2*r,y:2*i},{level:A,x:2*r+1,y:2*i},{level:A,x:2*r,y:2*i+1},{level:A,x:2*r+1,y:2*i+1}]:[{level:A,x:2*r,y:2*i,z:2*o},{level:A,x:2*r+1,y:2*i,z:2*o},{level:A,x:2*r,y:2*i+1,z:2*o},{level:A,x:2*r+1,y:2*i+1,z:2*o},{level:A,x:2*r,y:2*i,z:2*o+1},{level:A,x:2*r+1,y:2*i,z:2*o+1},{level:A,x:2*r,y:2*i+1,z:2*o+1},{level:A,x:2*r+1,y:2*i+1,z:2*o+1}]}function ImplicitTileResolver_getDirectoryUrl(t){var a=t.split("?")[0];return a.substring(0,a.lastIndexOf("/")+1)}function computeBoundingVolumes(t,a,r){for(var i=[],o=0;o<r.length;o++)i.push(computeBoundingVolume(t,a,r[o]));return i}function computeBoundingVolume(t,a,r){if(a.region)return function splitRegion(t,a,r){var i=_slicedToArray(a,6),o=i[0],A=i[1],c=i[2],l=i[3],d=i[4],h=i[5],b=(c-o)/Math.pow(2,r.level),u=(l-A)/Math.pow(2,r.level),g=t?0:(h-d)/Math.pow(2,r.level),p=o+b*r.x,I=A+u*r.y,y=p+b,m=I+u,C=t?d:d+g*r.z,E=t?h:C+g;return{region:[p,I,y,m,C,E]}}(t,a.region,r);if(a.box)return function splitBox(t,a,r){var i=a.slice(0,3),o=[a.slice(3,6),a.slice(6,9),a.slice(9,12)],A=1/Math.pow(2,r.level),c=[A,A,t?1:A],l=o.map((function(t,a){return t.map((function(t){return t*c[a]}))})),d=[i[0]-o[0][0]-o[1][0]-o[2][0],i[1]-o[0][1]-o[1][1]-o[2][1],i[2]-o[0][2]-o[1][2]-o[2][2]],h=[d[0]+(2*r.x+1)*(l[0][0]+l[1][0]+l[2][0]),d[1]+(2*r.y+1)*(l[0][1]+l[1][1]+l[2][1]),t?i[2]:d[2]+(2*r.z+1)*(l[0][2]+l[1][2]+l[2][2])];return{box:h.concat.apply(h,_toConsumableArray(l))}}(t,a.box,r);throw new Error("Unsupported bounding volume type")}!function(){var t,a=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var r=WebAssembly.instantiate(function unpack(t){for(var r=new Uint8Array(t.length),i=0;i<t.length;++i){var o=t.charCodeAt(i);r[i]=o>96?o-97:o>64?o-39:o+4}var A=0;for(i=0;i<t.length;++i)r[A++]=r[i]<60?a[r[i]]:64*(r[i]-60)+r[++i];return r.buffer.slice(0,A)}("b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:W;kekr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq:g9sLdbk;3keYu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRb:S:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9UhodndndndndnalTmbaoc;WFbGgecjdaecjd6Ehqcbhkdninakai9pmiaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndndndnaec9WGgsTmbcbhzcehHaPhOawhAxekdnaxTmbcbhAcehHaPhCinaDaAfRbbhXaDcjlfheaChoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkaraw9Ram6miawcbamzNjjjbgeTmiaCcefhCaeamfhwaAcefgAal6hHaAal9hmbxvkkaraw9Ram6mvawcbamzNjjjb8AceheinawgXamfhwalaegoSmldnaraw9Ram6mbaocefheawcbamzNjjjb8AaXmekkaoal6hHxekindnaxTmbaDazfRbbhXaDcjlfheaOhoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkkaraA9Ram6mearaAcbamzNjjjbgKamfgw9RcK6mdcbhYaDcjlfhAinaDcjlfaYfh8AcwhCczhLcehQindndnaQce9hmbcuhoa8ARbbmecbhodninaogecsSmeaecefhoaAaefcefRbbTmbkkcucbaecs6EhoxekaQcetc;:FFFeGhocuaQtcu7cFeGhXcbheinaoaXaAaefRbb9nfhoaecefgecz9hmbkkaoaLaoaL6geEhLaQaCaeEhCaQcetgQcw6mbkdndndndnaCcufPdiebkaKaYco4fgeaeRbbcdciaCclSEaYci4coGtV86bbaCcw9hmeawa8A8Pbb83bbawcwfa8Acwf8Pbb83bbawczfhwxdkaKaYco4fgeaeRbbceaYci4coGtV86bbkdncwaC9TgEmbinawcb86bbawcefhwxbkkcuaCtcu7h8Acbh3aAh5ina5heaEhQcbhoinaeRbbgLa8AcFeGgXaLaX6EaoaCtVhoaecefheaQcufgQmbkawao86bba5aEfh5awcefhwa3aEfg3cz6mbkcbheindnaAaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaYczfgYas9pmbaAczfhAaraw9RcL0mekkaYas6meawTmeaOcefhOazcefgzal6hHawhAazalSmixbkkcbhwaHceGTmexikcbhwaHceGmdkaDaPaxcufal2falz:tjjjb8AaxakfhkawmbkcbhoxokcbhoxvkaiTmekcbhoaraw9Ralcaalca0E6mialc8F9nmexdkcbhoaecufca6mdkawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9Rhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBd:S:kjjbk;rse3u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:C:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgoydbhLaocwfydbhKaoclfydbhYcbh8Adndninalc;abfavcsGcitfgoydlhEdndndnaoydbgoaL9hmbaEaYSmekdnaoaY9hmbaEaK9hmba8Acefh8AxekaoaK9hmeaEaL9hmea8Acdfh8Aka8Ac870mdaXcufhvada8AciGcx2goc:y1jjbfydbaCfcdtfydbhEadaocN1jjbfydbaCfcdtfydbhKadaoc:q1jjbfydbaCfcdtfydbhLcbhodnindnalavcsGcdtfydbaE9hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaEaOSgvaYce9iaYaH9oVgoGh3dndndndndncbcsavEaYaoEgvcs9hmbarce9imbaEaEaAaEcefaASgvEgAcefSmecmcsavEhvkasava8Acdtc;WeGV86bbavcs9hmeaEaA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbkaEhAxdkcPhvasa8AcdtcPV86bbaEhAkavTmbavaH9imekalaXcdtfaEBdbaXcefcsGhXkaOa3fhOalc;abfaQcitfgvaKBdlavaEBdbalc;abfaQcefcsGgvcitfgoaEBdlaoaLBdbavcefhoxikavcufhva8Aclfg8Ac;ab9hmbkkdnadceaKaOScetaYaOSEcx2gvc:q1jjbfydbaCfcdtfydbgLTadavcN1jjbfydbaCfcdtfydbg8AceSGadavc:y1jjbfydbaCfcdtfydbgYcdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhKxdkcuhKaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydbaY9hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaLaOSg8Efh3dndnaKcm0mbaKcefhKxekcbcsa8Aa3SgvEhKa3avfh3kdndnaEcm0mbaEcefhExekcbcsaYa3SgvEhEa3avfh3kc9:cua8EEh8FaEaKcltVhocbhvdndndninavcj1jjbfRbbaocFeGSmeavcefgvcz9hmbxdkka5aLaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeao86bbaecefhekdna8EmbaLaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaLhAkdnaKcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmbaYaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaYhAkalaXcdtfaLBdbaXcefcsGhvdndnaKPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfaYBdbavcefcsGhvkalc;abfaQcitfgoaLBdlaoa8ABdbalc;abfaQcefcsGcitfgoa8ABdlaoaYBdbalc;abfaQcdfcsGcitfgoaYBdlaoaLBdbaQcifhoavhXa3hOkascefhsaocsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:C:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:C:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:dvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhralcxfIdbhqdndnakJbbbb9GTmbaxhkxekJbbjZar:l:tgkak:maxJbbbb9GEhkJbbjZax:l:tgxax:marJbbbb9GEhrkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEavNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohmxekcjjjj94hmkdndnakJbbj:;akJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;akJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;klld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicdfciGcdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk:Hvdxue998Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6mearcearce0EhwaohDinaDc:CuBdbaDclfhDawcufgwmbkaeTmiadcl6mdarcearce0EhqarcdthkalhxcbhminaohDaxhwaqhPinaDaDydbgsawydbgzcL4cFeGc:cufcbazEgzasaz9kEBdbawclfhwaDclfhDaPcufgPmbkaxakfhxamcefgmae9hmbkkaeTmdxekaeTmekavcb9hadcl6gqVhHarcearce0Ehkarcdthrceai9Rhmcbhdindndndnavce9hmbaqmdc:CuhwalhDakhPinawaDydbgscL4cFeGc:cufcbasEgsawas9kEhwaDclfhDaPcufgPmbxdkkc:CuhwaHmbaohDalhPakhsinaDaPydbgzcL4cFeGgxc8Aaxc8A9kEc:cufcbazEBdbaPclfhPaDclfhDascufgsmbkkaqmbcbhDakhsinawhPdnavceSmbaoaDfydbhPkdndnalaDfIdbgOcjjj;8iamaPfgPcLt9R::NJbbbZJbbb:;aOJbbbb9GEMgO:lJbbb9p9DTmbaO:Ohzxekcjjjj94hzkabaDfazcFFFrGaPcKtVBdbaDclfhDascufgsmbkkabarfhbalarfhladcefgdae9hmbkkaocjdf8KjjjjbkFkdCui998Jjjjjbc:Gd9Rgv8Kjjjjbavc:4efcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgoadcFFFFi0Ecbyd:K:kjjbHjjjjbbgeBd:4eavceBd:ydaeabaoz:tjjjb8Akavc:OefcwfcbBdbav9cb83i:Oeavc:Oefaeadaiavc:4efz:njjjbcuaicdtgraicFFFFi0Egwcbyd:K:kjjbHjjjjbbhoavc:4efavyd:ydgDcdtfaoBdbavaDcefgqBd:ydaoavyd:Oegkarz:tjjjbhxavc:4efaqcdtfadci9Ugmcbyd:K:kjjbHjjjjbbgoBdbavaDcdfgrBd:ydaocbamzNjjjbhPavc:4efarcdtfawcbyd:K:kjjbHjjjjbbgsBdbavaDcifgqBd:ydaxhoashrinaralIdbalaoydbgwcwawcw6Ecdtfc;ebfIdbMUdbaoclfhoarclfhraicufgimbkavc:4efaqcdtfcuamcdtadcFFFF970Ecbyd:K:kjjbHjjjjbbgqBdbavaDclfBd:yddnadci6mbamceamce0EhiaehoaqhrinarasaoydbcdtfIdbasaoclfydbcdtfIdbMasaocwfydbcdtfIdbMUdbaocxfhoarclfhraicufgimbkkavc;qbfhzavhoavyd:SehHavyd:WehOcbhwcbhrcbhAcehCinaohXcihQaearci2gLcdtfgocwfydbhdaoydbhDabaAcx2fgiclfaoclfydbgKBdbaiaDBdbaicwfadBdbaParfce86bbazadBdwazaKBdlazaDBdbaqarcdtfcbBdbdnawTmbcihQaXhiinazaQcdtfaiydbgoBdbaQaoaD9haoaK9hGaoad9hGfhQaiclfhiawcufgwmbkkaAcefhAaxaDcdtfgoaoydbcufBdbaxaKcdtfgoaoydbcufBdbaxadcdtfgoaoydbcufBdbcbhwinaOaHaeawaLfcdtfydbcdtgifydbcdtfgKhoakaifgDydbgdhidnadTmbdninaoydbarSmeaoclfhoaicufgiTmdxbkkaoadcdtaKfc98fydbBdbaDaDydbcufBdbkawcefgwci9hmbkdndndnaQTmbcuhrJbbbbhYcbhDavyd:SehKavyd:WehLindndnakazaDcdtfydbcdtgofydbgimbaDcefhDxekaDcs0hwasaofgdIdbh8AadalcbaDcefgDawEcdtfIdbalaxaofydbgwcwawcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEaicdthiaLaKaofydbcdtfhoinaqaoydbgwcdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYawaradEhraoclfhoaic98fgimbkkaDaQ9hmbkarcu9hmekaCam9pmeindnaPaCfRbbmbaChrxdkamaCcefgC9hmbxdkkaQczaQcz6EhwazhoaXhzarcu9hmekkavyd:ydhokaocdtavc:4effc98fhrdninaoTmearydbcbyd:G:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:Gdf8Kjjjjbk;UlevucuaicdtgvaicFFFFi0Egocbyd:K:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhwdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbawceawce0EhDabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;:kivuo99lu8Jjjjjbcj;Hb9Rgl8Kjjjjbcbhvalc1;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:K:kjjbHjjjjbbgrBd19GalceBd;O9Galcwfcbyd:m:kjjbBdbalcb8Pd:e:kjjb83ibalc;W;Gbfcwfcbyd:y:kjjbBdbalcb8Pd:q:kjjb83i;W9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;W;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;49GhDalIdlhkalId;09GhxalIdbhmalId;W9GhPkdndnadTmbJbbbbJbbjZaPam:tJbbbb:xgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhialaocbyd:K:kjjbHjjjjbbgzBd:m9GdnadTmbabhHinaHaiBdbaHclfhHadaicefgi9hmbkadTmbabhiadhHinalaraiydbgecdtfydbcFrGcx2fgvavydbgvcefBdbazavcdtfaeBdbaiclfhiaHcufgHmbkazhiadhHinalaraiydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaiclfhiaHcufgHmbkabhiadhHinalaraiydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwazavcdtfaeBdbaiclfhiaHcufgHmbkadTmbcbhiinabazydbcdtfaiBdbazclfhzadaicefgi9hmbkkclhidninaic98Smealc1;Gbfaifydbcbyd:G:kjjbH:bjjjbbaic98fhixbkkalcj;Hbf8Kjjjjbk9teiucbcbyd:O:kjjbgeabcifc98GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:O:kjjbgeabcrfc94GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:O:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:O:kjjbfgdBd:O:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:6ddbcjwk:Cdb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc:Cqkzebbbebbbdbbb8WWbb"),{}).then((function(a){(t=a.instance).exports.__wasm_call_ctors(),t.exports.meshopt_encodeVertexVersion(0),t.exports.meshopt_encodeIndexVersion(1)}));function assert(t){if(!t)throw new Error("Assertion failed")}function bytes(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function encode(a,r,i,o,A){var c=t.exports.sbrk,l=c(r),d=c(o*A),h=new Uint8Array(t.exports.memory.buffer);h.set(bytes(i),d);var b=a(l,r,d,o,A),u=new Uint8Array(b);return u.set(h.subarray(l,l+b)),c(l-c(0)),u}function maxindex(t){for(var a=0,r=0;r<t.length;++r){var i=t[r];a<i?i:a}return a}function index32(t,a){if(assert(2==a||4==a),4==a)return new Uint32Array(t.buffer,t.byteOffset,t.byteLength/4);var r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);return new Uint32Array(r)}function filter(a,r,i,o,A,c,l){var d=t.exports.sbrk,h=d(i*o),b=d(i*c),u=new Uint8Array(t.exports.memory.buffer);u.set(bytes(r),b),a(h,i,o,A,b,l);var g=new Uint8Array(i*o);return g.set(u.subarray(h,h+i*o)),d(h-d(0)),g}}();var ce=function(){var t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),a=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var r,i=WebAssembly.validate(t)?"b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb":"b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",o=WebAssembly.instantiate(unpack(i),{}).then((function(t){(r=t.instance).exports.__wasm_call_ctors()}));function unpack(t){for(var r=new Uint8Array(t.length),i=0;i<t.length;++i){var o=t.charCodeAt(i);r[i]=o>96?o-97:o>64?o-39:o+4}var A=0;for(i=0;i<t.length;++i)r[A++]=r[i]<60?a[r[i]]:64*(r[i]-60)+r[++i];return r.buffer.slice(0,A)}function decode(t,a,r,i,o,A,c){var l=t.exports.sbrk,d=i+3&-4,h=l(d*o),b=l(A.length),u=new Uint8Array(t.exports.memory.buffer);u.set(A,b);var g=a(h,i,o,b,A.length);if(0==g&&c&&c(h,d,o),r.set(u.subarray(h,h+i*o)),l(h-l(0)),0!=g)throw new Error("Malformed buffer data: "+g)}var A={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},c={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},l=[],d=0;function createWorker(t){var a={object:new Worker(t),pending:0,requests:{}};return a.object.onmessage=function(t){var r=t.data;a.pending-=r.count,a.requests[r.id][r.action](r.value),delete a.requests[r.id]},a}function workerProcess(t){var a=t.data;if(!a.id)return self.close();self.ready.then((function(t){try{var r=new Uint8Array(a.count*a.size);decode(t,t.exports[a.mode],r,a.count,a.size,a.source,t.exports[a.filter]),self.postMessage({id:a.id,count:a.count,action:"resolve",value:r},[r.buffer])}catch(t){self.postMessage({id:a.id,count:a.count,action:"reject",value:t})}}))}return{ready:o,supported:!0,useWorkers:function(t){!function initWorkers(t){for(var a="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(unpack(i))+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+workerProcess.name+";"+decode.toString()+workerProcess.toString(),r=new Blob([a],{type:"text/javascript"}),o=URL.createObjectURL(r),A=l.length;A<t;++A)l[A]=createWorker(o);for(A=t;A<l.length;++A)l[A].object.postMessage({});l.length=t,URL.revokeObjectURL(o)}(t)},decodeVertexBuffer:function(t,a,i,o,c){decode(r,r.exports.meshopt_decodeVertexBuffer,t,a,i,o,r.exports[A[c]])},decodeIndexBuffer:function(t,a,i,o){decode(r,r.exports.meshopt_decodeIndexBuffer,t,a,i,o)},decodeIndexSequence:function(t,a,i,o){decode(r,r.exports.meshopt_decodeIndexSequence,t,a,i,o)},decodeGltfBuffer:function(t,a,i,o,l,d){decode(r,r.exports[c[l]],t,a,i,o,r.exports[A[d]])},decodeGltfBufferAsync:function(t,a,i,h,b){return l.length>0?function decodeWorker(t,a,r,i,o){for(var A=l[0],c=1;c<l.length;++c)l[c].pending<A.pending&&(A=l[c]);return new Promise((function(c,l){var h=new Uint8Array(r),b=++d;A.pending+=t,A.requests[b]={resolve:c,reject:l},A.object.postMessage({id:b,count:t,size:a,source:h,mode:i,filter:o},[h.buffer])}))}(t,a,i,c[h],A[b]):o.then((function(){var o=new Uint8Array(t*a);return decode(r,r.exports[c[h]],o,t,a,i,r.exports[A[b]]),o}))}}}();!function(){var t,a=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var r=WebAssembly.instantiate(function unpack(t){for(var r=new Uint8Array(t.length),i=0;i<t.length;++i){var o=t.charCodeAt(i);r[i]=o>96?o-97:o>64?o-39:o+4}var A=0;for(i=0;i<t.length;++i)r[A++]=r[i]<60?a[r[i]]:64*(r[i]-60)+r[++i];return r.buffer.slice(0,A)}("b9H79Tebbbe9Ek9Geueu9Geub9Gbb9GPuuuuuuuuuuu99uueu9Gvuuuuub9Gluuuub9Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuec:G;jekr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdxmq::9Usdbk;i6iKuY99Ou8Jjjjjbc;W;ab9RgP8KjjjjbaPcwfcbc;Kbz:ljjjb8AaPcualcefgscdtascFFFFi0Ecbyd1:jjjbHjjjjbbgzBdwaPceBd9OaPazBdbaPcuadcitadcFFFFe0Ecbyd1:jjjbHjjjjbbgHBdxaPcdBd9OaPaHBdlaPaeadalcbz:cjjjbaPcualcdtgOalcFFFFi0EgAcbyd1:jjjbHjjjjbbgCBdzaPciBd9OaPaAcbyd1:jjjbHjjjjbbgXBdCaPclBd9Oalcd4alfhQcehLinaLgscethLasaQ6mbkcbhKaPcuascdtgLascFFFFi0Ecbyd1:jjjbHjjjjbbgQBdKaPcvBd9OaQcFeaLz:ljjjbhYdnalTmbavcd4h8AascufhEinaiaKa8A2cdtfg3ydlgscH4as7c:F:b:DD2a3ydbgscH4as7c;D;O:B8J27a3ydwgscH4as7c:3F;N8N27hQcbhsdndninaYaQaEGgQcdtfg5ydbgLcuSmeaiaLa8A2cdtfa3cxz:ojjjbTmdascefgsaQfhQasaE9nmbxdkka5aKBdbaKhLkaCaKcdtfaLBdbaKcefgKal9hmbkcbhsaXhLinaLasBdbaLclfhLalascefgs9hmbkcbhsaChLaXhQindnasaLydbgESmbaQaXaEcdtfgEydbBdbaEasBdbkaLclfhLaQclfhQalascefgs9hmbkkcbh8EaYcbyd:m:jjjbH:bjjjbbaPclBd9OaPalcbyd1:jjjbHjjjjbbgEBdKaPcvBd9OaPaAcbyd1:jjjbHjjjjbbgsBd3aPcoBd9OaPaAcbyd1:jjjbHjjjjbbgLBdaaPcrBd9OascFeaOz:ljjjbh8FaLcFeaOz:ljjjbhadnalTmbaHcwfhhindnaza8EgQcefg8Ecdtfydbg3azaQcdtgsfydbgLSmba3aL9RhOaHaLcitfhgaaasfh8Ja8FasfhKcbh8Aindndnaga8Acitfydbg5aQ9hmbaKaQBdba8JaQBdbxekdnaza5cdtg8KfgsclfydbgLasydbgsSmbaHascitg3fydbaQSmeaLas9Rh8Lascu7aLfhYaha3fhLcbhsinaYasSmeascefhsaLydbh3aLcwfhLa3aQ9hmbkasa8L6mekaaa8KfgsaQa5asydbcuSEBdbaKa5aQaKydbcuSEBdbka8Acefg8AaO9hmbkka8Eal9hmbkaChLaXhQaah3a8Fh8AcbhsindndnasaLydbg59hmbdnasaQydbg59hmba8Aydbh5dna3ydbgYcu9hmba5cu9hmbaEasfcb86bbxikaEasfhKdnasaYSmbasa5SmbaKce86bbxikaKcl86bbxdkdnasaXa5cdtgYfydb9hmbdna3ydbgKcuSmbasaKSmba8AydbgOcuSmbasaOSmbaaaYfydbggcuSmbaga5Smba8FaYfydbgYcuSmbaYa5SmbdnaCaKcdtfydbaCaYcdtfydb9hmbaCaOcdtfydbaCagcdtfydb9hmbaEasfcd86bbxlkaEasfcl86bbxikaEasfcl86bbxdkaEasfcl86bbxekaEasfaEa5fRbb86bbkaLclfhLaQclfhQa3clfh3a8Aclfh8Aalascefgs9hmbkaxceGTmbaEhsalhLindnasRbbce9hmbascl86bbkascefhsaLcufgLmbkkcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8JaPcwfaPyd9Ogscdtfa8JBdbaPascefgOBd9Oa8Jaialavz:djjjbdndnaDmbcbhvxekcbh5aPcwfaOcdtfcuaDal2gLcdtaLcFFFFi0Ecbyd1:jjjbHjjjjbbgvBdbaPascdfgOBd9OalTmbarcd4cdthYaDcdthKavh8AinaohsawhLa8AhQaDh3inaQasIdbaLIdbNUdbasclfhsaLclfhLaQclfhQa3cufg3mbkaoaYfhoa8AaKfh8Aa5cefg5al9hmbkkaPcwfaOcdtfcualc8S2gsalc;D;O;f8U0EgQcbyd1:jjjbHjjjjbbgLBdbaPaOcefg3Bd9OaLcbasz:ljjjbh8EdndndnaDTmbaPcwfa3cdtfaQcbyd1:jjjbHjjjjbbgoBdbaPaOcdfgLBd9Oaocbasz:ljjjb8AaPcwfaLcdtfcuaDal2gscltgLascFFFFb0Ecbyd1:jjjbHjjjjbbgwBdbaPaOcifBd9OawcbaLz:ljjjb8AadmexdkcbhocbhwadTmekcbh8AaehLindna8JaLclfydbg5cx2fgsIdba8JaLydbgYcx2fgQIdbg8M:tg8Na8JaLcwfydbgKcx2fg3IdlaQIdlgy:tg8PNa3Idba8M:tgIasIdlay:tg8RN:tg8Sa8SNa8Ra3IdwaQIdwgR:tg8UNa8PasIdwaR:tg8RN:tg8Pa8PNa8RaINa8Ua8NN:tg8Na8NNMM:rgIJbbbb9ETmba8SaI:vh8Sa8NaI:vh8Na8PaI:vh8Pka8EaCaYcdtfydbc8S2fgsa8PaI:rgIa8PNNg8RasIdbMUdbasa8NaIa8NNg8VNg8UasIdlMUdlasa8SaIa8SNg8WNg8XasIdwMUdwasa8Va8PNg8VasIdxMUdxasa8Wa8PNg8YasIdzMUdzasa8Wa8NNg8WasIdCMUdCasa8PaIa8SaRNa8Pa8MNaya8NNMM:mgyNg8MNg8PasIdKMUdKasa8Na8MNg8NasId3MUd3asa8Sa8MNg8SasIdaMUdaasa8MayNg8MasId8KMUd8KasaIasIdyMUdya8EaCa5cdtfydbc8S2fgsa8RasIdbMUdbasa8UasIdlMUdlasa8XasIdwMUdwasa8VasIdxMUdxasa8YasIdzMUdzasa8WasIdCMUdCasa8PasIdKMUdKasa8NasId3MUd3asa8SasIdaMUdaasa8MasId8KMUd8KasaIasIdyMUdya8EaCaKcdtfydbc8S2fgsa8RasIdbMUdbasa8UasIdlMUdlasa8XasIdwMUdwasa8VasIdxMUdxasa8YasIdzMUdzasa8WasIdCMUdCasa8PasIdKMUdKasa8NasId3MUd3asa8SasIdaMUdaasa8MasId8KMUd8KasaIasIdyMUdyaLcxfhLa8Acifg8Aad6mbkcbh5aehYincbhLinaEaeaLc:G1jjbfydba5fcdtfydbgQfRbbhsdndnaEaYaLfydbg3fRbbg8Ac99fcFeGcpe0mbasceSmbascd9hmekdna8AcufcFeGce0mba8Fa3cdtfydbaQ9hmekdnascufcFeGce0mbaaaQcdtfydba39hmekdna8Acv2asfc:W1jjbfRbbTmbaCaQcdtfydbaCa3cdtfydb0mekJbbacJbbjZasceSEhIa8AceShOa8JaeaLc:K1jjbfydba5fcdtfydbcx2fhsdna8JaQcx2fg8AIdwa8Ja3cx2fgKIdwgy:tg8Pa8PNa8AIdbaKIdbgR:tg8Na8NNa8AIdlaKIdlg8R:tg8Sa8SNMM:rg8MJbbbb9ETmba8Pa8M:vh8Pa8Sa8M:vh8Sa8Na8M:vh8NkJbbacaIaOEh8WdnasIdway:tgIa8PaIa8PNasIdbaR:tg8Xa8NNa8SasIdla8R:tg8VNMMg8UN:tgIaINa8Xa8Na8UN:tg8Pa8PNa8Va8Sa8UN:tg8Na8NNMM:rg8SJbbbb9ETmbaIa8S:vhIa8Na8S:vh8Na8Pa8S:vh8Pka8EaCa3cdtfydbc8S2fgsa8Pa8Wa8MNg8Sa8PNNg8UasIdbMUdbasa8Na8Sa8NNg8WNg8XasIdlMUdlasaIa8SaINg8MNg8VasIdwMUdwasa8Wa8PNg8WasIdxMUdxasa8Ma8PNg8YasIdzMUdzasa8Ma8NNg8ZasIdCMUdCasa8Pa8SaIayNa8PaRNa8Ra8NNMM:mgyNg8MNg8PasIdKMUdKasa8Na8MNg8NasId3MUd3asaIa8MNgIasIdaMUdaasa8MayNg8MasId8KMUd8Kasa8SasIdyMUdya8EaCaQcdtfydbc8S2fgsa8UasIdbMUdbasa8XasIdlMUdlasa8VasIdwMUdwasa8WasIdxMUdxasa8YasIdzMUdzasa8ZasIdCMUdCasa8PasIdKMUdKasa8NasId3MUd3asaIasIdaMUdaasa8MasId8KMUd8Kasa8SasIdyMUdykaLclfgLcx9hmbkaYcxfhYa5cifg5ad6mbkaDTmbcbhYinJbbbbhRa8JaeaYcdtfgsclfydbgKcx2fgLIdwa8JasydbgOcx2fgQIdwg8V:tg8Na8NNaLIdbaQIdbg8Y:tgIaINaLIdlaQIdlg8Z:tg8Sa8SNMMg8Wa8Jascwfydbggcx2fgsIdwa8V:tg8MNa8Na8Na8MNaIasIdba8Y:tgyNa8SasIdla8Z:tg8RNMMg8PN:tJbbbbJbbjZa8Wa8Ma8MNayayNa8Ra8RNMMg8XNa8Pa8PN:tg8U:va8UJbbbb9BEg8UNh80a8Xa8NNa8Ma8PN:ta8UNh81a8Wa8RNa8Sa8PN:ta8UNhBa8Xa8SNa8Ra8PN:ta8UNh83a8WayNaIa8PN:ta8UNhUa8XaINaya8PN:ta8UNh85aIa8RNaya8SN:tg8Pa8PNa8Sa8MNa8Ra8NN:tg8Pa8PNa8NayNa8MaIN:tg8Pa8PNMM:r:rh8PavaOaD2cdtfhLavagaD2cdtfhQavaKaD2cdtfh3a8V:mh86a8Z:mh87a8Y:mh88cbh8AaDh5Jbbbbh8RJbbbbh8UJbbbbh8WJbbbbh8XJbbbbh8VJbbbbh8YJbbbbh8ZJbbbbh89Jbbbbh8:inaPc;Wbfa8Afgscwfa8Pa81a3IdbaLIdbg8M:tg8SNa80aQIdba8M:tgyNMg8NNUdbasclfa8Pa83a8SNaBayNMgINUdbasa8Pa85a8SNaUayNMg8SNUdbascxfa8Pa86a8NNa87aINa8Ma88a8SNMMMg8MNUdba8Pa8NaINNa8XMh8Xa8Pa8Na8SNNa8VMh8Va8PaIa8SNNa8YMh8Ya8Pa8Ma8MNNaRMhRa8Pa8Na8MNNa8RMh8Ra8PaIa8MNNa8UMh8Ua8Pa8Sa8MNNa8WMh8Wa8Pa8Na8NNNa8ZMh8Za8PaIaINNa89Mh89a8Pa8Sa8SNNa8:Mh8:aLclfhLa3clfh3aQclfhQa8Aczfh8Aa5cufg5mbkaoaCaOcdtfydbgLc8S2fgsa8:asIdbMUdbasa89asIdlMUdlasa8ZasIdwMUdwasa8YasIdxMUdxasa8VasIdzMUdzasa8XasIdCMUdCasa8WasIdKMUdKasa8UasId3MUd3asa8RasIdaMUdaasaRasId8KMUd8Kasa8PasIdyMUdyaoaCaKcdtfydbgKc8S2fgsa8:asIdbMUdbasa89asIdlMUdlasa8ZasIdwMUdwasa8YasIdxMUdxasa8VasIdzMUdzasa8XasIdCMUdCasa8WasIdKMUdKasa8UasId3MUd3asa8RasIdaMUdaasaRasId8KMUd8Kasa8PasIdyMUdyaoaCagcdtfydbgOc8S2fgsa8:asIdbMUdbasa89asIdlMUdlasa8ZasIdwMUdwasa8YasIdxMUdxasa8VasIdzMUdzasa8XasIdCMUdCasa8WasIdKMUdKasa8UasId3MUd3asa8RasIdaMUdaasaRasId8KMUd8Kasa8PasIdyMUdyawaLaD2cltfh5cbhLaDh3ina5aLfgsaPc;WbfaLfgQIdbasIdbMUdbasclfg8AaQclfIdba8AIdbMUdbascwfg8AaQcwfIdba8AIdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa3cufg3mbkawaKaD2cltfh5cbhLaDh3ina5aLfgsaPc;WbfaLfgQIdbasIdbMUdbasclfg8AaQclfIdba8AIdbMUdbascwfg8AaQcwfIdba8AIdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa3cufg3mbkawaOaD2cltfh5cbhLaDh3ina5aLfgsaPc;WbfaLfgQIdbasIdbMUdbasclfg8AaQclfIdba8AIdbMUdbascwfg8AaQcwfIdba8AIdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa3cufg3mbkaYcifgYad6mbkkdnabaeSmbabaeadcdtz:kjjjb8AkaPydbhZcbhsdnalTmbaZclfhsaZydbh3aEhLalh8AcbhQincbasydbg5a39RaLRbbcpeGEaQfhQaLcefhLasclfhsa5h3a8Acufg8AmbkaQce4hskcuadas9Rcifgrcx2arc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8LaPcwfaPyd9Ogscdtfa8LBdbaPascefgLBd9OaPcwfaLcdtfcuarcdtarcFFFFi0Ecbyd1:jjjbHjjjjbbgxBdbaPascdfgLBd9OaPcwfaLcdtfaAcbyd1:jjjbHjjjjbbgHBdbaPascifgLBd9OaPcwfaLcdtfalcbyd1:jjjbHjjjjbbgnBdbaPasclfBd9OJbbbbh8Ydnadaq9nmbdnarci6mbakakNh8VaDclthca8Lcwfh9cJbbbbh8YinaPabadghalaCz:cjjjbabhOcbhzcbhKincbhsindnaCaOasfydbgQcdtgYfydbg8AaCabasc;m1jjbfydbaKfcdtfydbgLcdtfydbg5SmbaEaLfRbbgecv2aEaQfRbbg3fc;G1jjbfRbbg8Ka3cv2aefggc;G1jjbfRbbgiVcFeGTmbdnagc:W1jjbfRbbTmba5a8A0mekdna3ae9hmba3cufcFeGce0mba8FaYfydbaL9hmeka8Lazcx2fg3aLaQaicFeGg8AEBdla3aQaLa8AEBdba3a8Aa8KGcb9hBdwazcefhzkasclfgscx9hmbkdnaKcifgKah9pmbaOcxfhOazcifar9nmekkdnazmbahhdxikcbheinJbbbbJbbjZa8EaCa8Laecx2fg3ydlg8Aa3ydbg5a3ydwgLEgKcdtfydbg8Kc8S2gifgsIdyg8P:va8PJbbbb9BEasIdwa8Ja5a8AaLEgYcx2fgLIdwg8SNasIdzaLIdbg8MNasIdaMg8Pa8PMMa8SNasIdlaLIdlgyNasIdCa8SNasId3Mg8Pa8PMMayNasIdba8MNasIdxayNasIdKMg8Pa8PMMa8MNasId8KMMM:lNh8WJbbbbJbbjZa8EaCa5cdtfydbgdc8S2gQfgsIdyg8P:va8PJbbbb9BEasIdwa8Ja8Acx2fgLIdwgINasIdzaLIdbgRNasIdaMg8Pa8PMMaINasIdlaLIdlg8RNasIdCaINasId3Mg8Pa8PMMa8RNasIdbaRNasIdxa8RNasIdKMg8Pa8PMMaRNasId8KMMM:lNh8Xa3cwfhOa3clfhgdnaDTmbaoaQfgQIdwaINaQIdzaRNaQIdaMg8Pa8PMMaINaQIdla8RNaQIdCaINaQId3Mg8Pa8PMMa8RNaQIdbaRNaQIdxa8RNaQIdKMg8Pa8PMMaRNaQId8KMMMh8Nava8AaD2cdtfhLawadaD2cltfhsaQIdyh8UaDhQinaLIdbg8PJbbb;aNascxfIdbaIascwfIdbNaRasIdbNa8RasclfIdbNMMMNa8Pa8PNa8UNa8NMMh8NaLclfhLasczfhsaQcufgQmbkaoaifgQIdwa8SNaQIdza8MNaQIdaMg8Pa8PMMa8SNaQIdlayNaQIdCa8SNaQId3Mg8Pa8PMMayNaQIdba8MNaQIdxayNaQIdKMg8Pa8PMMa8MNaQId8KMMMhIavaYaD2cdtfhLawa8KaD2cltfhsaQIdyhRaDhQinaLIdbg8PJbbb;aNascxfIdba8SascwfIdbNa8MasIdbNayasclfIdbNMMMNa8Pa8PNaRNaIMMhIaLclfhLasczfhsaQcufgQmbka8WaI:lMh8Wa8Xa8N:lMh8Xkaga8AaYa8Xa8W9FgsEBdba3a5aKasEBdbaOa8Xa8WasEUdbaecefgeaz9hmbkaPc;Wbfcbcj;abz:ljjjb8Aa9chsazhLinaPc;WbfasydbcO4c;8ZGfgQaQydbcefBdbascxfhsaLcufgLmbkcbhscbhLinaPc;WbfasfgQydbh3aQaLBdba3aLfhLasclfgscj;ab9hmbkcbhsa9chLinaPc;WbfaLydbcO4c;8ZGfgQaQydbgQcefBdbaxaQcdtfasBdbaLcxfhLazascefgs9hmbkahaq9RgQci9UhJdnalTmbcbhsaHhLinaLasBdbaLclfhLalascefgs9hmbkkcbh9eancbalz:ljjjbhTaQcO9UhSaJce4h9haPydlh9icbhicbhgdnina8Laxagcdtfydbcx2fgOIdwg8Na8V9EmeaiaJ9pmeJFFuuh8Pdna9haz9pmba8Laxa9hcdtfydbcx2fIdwJbb;aZNh8Pkdna8Na8P9ETmbaiaS0mdkdnaTaCaOydlg6cdtg9kfydbg3fg0RbbaTaCaOydbgKcdtg9mfydbg9nfg9oRbbVmbdnaZa9ncdtfgsclfydbgLasydbgsSmbaLas9Rh5a9iascitfhsa8Ja3cx2fgYcwfhdaYclfhAa8Ja9ncx2fg8Kcwfh9pa8Kclfh9qcbhLcehednindnaHasydbcdtfydbgQa3SmbaHasclfydbcdtfydbg8Aa3SmbaQa8ASmba8Ja8Acx2fg8AIdba8JaQcx2fgQIdbgI:tg8Pa9qIdbaQIdlg8S:tg8MNa8KIdbaI:tgya8AIdla8S:tg8NN:ta8PaAIdba8S:tgRNaYIdbaI:tg8Ra8NN:tNa8Na9pIdbaQIdwg8S:tg8UNa8Ma8AIdwa8S:tgIN:ta8NadIdba8S:tg8SNaRaIN:tNaIayNa8Ua8PN:taIa8RNa8Sa8PN:tNMMJbbbb9FmdkascwfhsaLcefgLa56hea5aL9hmbkkaeceGTmba9hcefh9hxeka8Ea3c8S2gQfgsa8Ea9nc8S2g8AfgLIdbasIdbMUdbasaLIdlasIdlMUdlasaLIdwasIdwMUdwasaLIdxasIdxMUdxasaLIdzasIdzMUdzasaLIdCasIdCMUdCasaLIdKasIdKMUdKasaLId3asId3MUd3asaLIdaasIdaMUdaasaLId8KasId8KMUd8KasaLIdyasIdyMUdydnaDTmbaoaQfgsaoa8AfgLIdbasIdbMUdbasaLIdlasIdlMUdlasaLIdwasIdwMUdwasaLIdxasIdxMUdxasaLIdzasIdzMUdzasaLIdCasIdCMUdCasaLIdKasIdKMUdKasaLId3asId3MUd3asaLIdaasIdaMUdaasaLId8KasId8KMUd8KasaLIdyasIdyMUdyaca9n2heaca32hYawhLaDh8AinaLaYfgsaLaefgQIdbasIdbMUdbasclfg5aQclfIdba5IdbMUdbascwfg5aQcwfIdba5IdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa8Acufg8AmbkkaOcwfhLdndndndnaEaKfgQRbbc9:fPdebdkaKhsinaHascdtgsfa3BdbaXasfydbgsaK9hmbxikkaXa9kfydbhsaXa9mfydbhKaHa9mfa6Bdbash6kaHaKcdtfa6Bdbka9oce86bba0ce86bbaLIdbg8Pa8Ya8Ya8P9DEh8Ya9ecefh9ececdaQRbbceSEaifhikagcefggaz9hmbkkdna9embahhdxikdnalTmbcbhLa8FhsindnasydbgQcuSmbdnaLaHaQcdtg3fydbgQ9hmba8Fa3fydbhQkasaQBdbkasclfhsalaLcefgL9hmbkcbhLaahsindnasydbgQcuSmbdnaLaHaQcdtg3fydbgQ9hmbaaa3fydbhQkasaQBdbkasclfhsalaLcefgL9hmbkkcbhdabhscbh8AindnaHasydbcdtfydbgLaHasclfydbcdtfydbgQSmbaLaHascwfydbcdtfydbg3SmbaQa3Smbabadcdtfg5aLBdba5clfaQBdba5cwfa3Bdbadcifhdkascxfhsa8Acifg8Aah6mbkadaq9nmdxbkkaPabadalaCz:cjjjbkdnamTmbama8Y:rUdbkaPyd9OgscdtaPcwffc98fhCdninasTmeaCydbcbyd:m:jjjbH:bjjjbbaCc98fhCascufhsxbkkaPc;W;abf8Kjjjjbadk;:ieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbarcearce0EhdinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfheadcufgdmbkkabydbcbBdbk:Zldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarcx2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkdnabTmbadTmbJbbbbJbbjZalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEgq:vaqJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabcxfhbadcufgdmbkkk8KbabaeadaialavcbcbcbcbaoarawaDz:bjjjbk8KbabaeadaialavaoarawaDaqakaxamz:bjjjbk;lOowud99wue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcwfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgqBdwawceBd9Oaqaeadaiz:djjjbawcuadcdtadcFFFFi0Egkcbyd1:jjjbHjjjjbbgxBdxawcdBd9Oadcd4adfhmceheinaegicetheaiam6mbkcbhmawcuaicdtgPaicFFFFi0Ecbyd1:jjjbHjjjjbbgsBdzawciBd9Odndnar:Zgz:rJbbbZMgH:lJbbb9p9DTmbaH:Ohexekcjjjj94hekaicufhOc:bwhAcbhCcbhXadhQinaChLaeaAgKcufaeaK9iEamgDcefaeaD9kEhYdndnadTmbaYcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbh3cbh5indnaEaxa5cdtfydbgAcm4aA7c:v;t;h;Ev2gics4ai7aOGgmcdtfgCydbgecuSmbaeaASmbcehiinaEamaifaOGgmcdtfgCydbgecuSmeaicefhiaeaA9hmbkkaCaABdba3aecuSfh3a5cefg5ad9hmbxdkkascFeaPz:ljjjb8Acbh3kaDaYa3ar0giEhmaLa3aiEhCdna3arSmbaYaKaiEgAam9Rcd9imbdndnaXcl0mbdnaQ:ZgHaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa3:Zghaz:tNNNaHaz:taaNa8Aah:tNa8Aaz:ta8FNahaH:tNM:va8EMJbbbZMgH:lJbbb9p9DTmbaH:Ohexdkcjjjj94hexekamaAfcd9Theka3aQaiEhQaXcefgXcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd1:jjjbHjjjjbbg5BdCawclBd9OdndnadTmbamcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbhDcbh3inaxa3cdtgYfydbgAcm4aA7c:v;t;h;Ev2gics4ai7hecbhidndninaEaeaOGgmcdtfgCydbgecuSmednaxaecdtgCfydbaASmbaicefgiamfheaiaO9nmekka5aCfydbhixekaCa3BdbaDhiaDcefhDka5aYfaiBdba3cefg3ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekascFeaPz:ljjjb8AcbhDcbhekawaecbyd1:jjjbHjjjjbbgeBdKawcvBd9Oaecbaiz:ljjjbhOavcd4hxdnadTmbaxcdth3a5hmalhAaqheadhEinaOamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaAc;81jjbalEgCIdbaiIdxMUdxaiaCIdlaiIdzMUdzaiaCIdwaiIdCMUdCaiaiIdKJbbjZMUdKamclfhmaAa3fhAaecxfheaEcufgEmbkkdnaDTmbaOcxfhiaDheinaictfgmamIdbJbbbbJbbjZaicxfIdbgH:vaHJbbbb9BEgHNUdbaic94fgmaHamIdbNUdbaic98fgmaHamIdbNUdbaiaHaiIdbNUdbaiclfgmaHamIdbNUdbaicwfgmaHamIdbNUdbaic3fhiaecufgembkkcbhAawcuaDcdtgYaDcFFFFi0Egicbyd1:jjjbHjjjjbbgeBd3awcoBd9Oawaicbyd1:jjjbHjjjjbbgEBdaaecFeaYz:ljjjbh3dnadTmbaoaoNh8Aaxcdthxalheina8Aaec;81jjbalEgmIdwaOa5ydbgCc32fgiIdC:tgHaHNamIdbaiIdx:tgHaHNamIdlaiIdz:tgHaHNMMNaqcwfIdbaiIdw:tgHaHNaqIdbaiIdb:tgHaHNaqclfIdbaiIdl:tgHaHNMMMhHdndna3aCcdtgifgmydbcuSmbaEaifIdbaH9ETmekamaABdbaEaifaHUdbka5clfh5aeaxfheaqcxfhqadaAcefgA9hmbkkaba3aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcwffydbcbyd:m:jjjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcifc98GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcrfc94GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:jjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:jjjbfgdBd:q:jjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:Iedbcjwk1eFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbbbbbbbbbbbbbbbbc1Dkxebbbdbbb:G9Kbb"),{}).then((function(a){(t=a.instance).exports.__wasm_call_ctors()}));function assert(t){if(!t)throw new Error("Assertion failed")}function bytes(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function simplifyPoints(a,r,i,o,A,c,l,d){var h=t.exports.sbrk,b=h(4*d),u=h(i*o),g=h(i*c),p=new Uint8Array(t.exports.memory.buffer);p.set(bytes(r),u),A&&p.set(bytes(A),g);var I=a(b,u,i,o,g,c,l,d);new Uint8Array(t.exports.memory.buffer);var y=new Uint32Array(I);return bytes(y).set(p.subarray(b,b+4*I)),h(b-h(0)),y}var i={LockBorder:1}}();function TileLoader_typeof(t){return TileLoader_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},TileLoader_typeof(t)}function TileLoader_regeneratorRuntime(){TileLoader_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==TileLoader_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(TileLoader_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function TileLoader_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function TileLoader_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){TileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){TileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function TileLoader_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,TileLoader_toPropertyKey(i.key),i)}}function TileLoader_toPropertyKey(t){var a=function TileLoader_toPrimitive(t,a){if("object"!=TileLoader_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=TileLoader_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==TileLoader_typeof(a)?a:a+""}var le,de=0,he=function(){return function TileLoader_createClass(t,a,r){return a&&TileLoader_defineProperties(t.prototype,a),r&&TileLoader_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function TileLoader(a){if(function TileLoader_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,TileLoader),this.zUpToYUpMatrix=new t.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.proxy=a.proxy,a&&(this.meshCallback=a.meshCallback,this.pointsCallback=a.pointsCallback,a.maxCachedItems&&(this.maxCachedItems=a.maxCachedItems)),this.gltfLoader=new GLTFLoader,a&&a.dracoLoader)this.gltfLoader.setDRACOLoader(a.dracoLoader),this.hasDracoLoader=!0;else{var r=new DRACOLoader;r.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"),this.gltfLoader.setDRACOLoader(r),this.gltfLoader.hasDracoLoader=!0}if(a&&a.ktx2Loader)this.gltfLoader.setKTX2Loader(a.ktx2Loader),this.hasKTX2Loader=!0;else if(a&&a.renderer){var i=new KTX2Loader;i.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(a.renderer),this.gltfLoader.setKTX2Loader(i),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(ce),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new d(this.gltfLoader),this.cache=new o.LinkedHashMap,this.register={},this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}),[{key:"update",value:function update(){de<8&&this._download(),this._loadBatch()}},{key:"_scheduleDownload",value:function _scheduleDownload(t){this.downloads.unshift(t)}},{key:"_download",value:function _download(){if(0!=this.nextDownloads.length||(this._getNextDownloads(),0!=this.nextDownloads.length))for(;this.nextDownloads.length>0;){var t=this.nextDownloads.shift();t&&t.shouldDoDownload()&&t.doDownload()}}},{key:"_meshReceived",value:function _meshReceived(t,a,r,i,o,A,c){this.ready.unshift([t,a,r,i,o,A,c])}},{key:"_loadBatch",value:function _loadBatch(){var t=this;0==this.nextReady.length&&this._getNextReady();for(var a,r=function _loop(){var a=t.nextReady.shift();if(!a)return{v:void 0};var r=a[0],i=a[1],o=a[2],A=r.get(o);A&&i[o]&&Object.keys(i[o]).forEach((function(t){var a=i[o][t];a&&(a(A),i[o][t]=null)})),0==t.nextReady.length&&t._getNextReady()};this.nextReady.length>0;)if(a=r())return a.v}},{key:"_getNextDownloads",value:function _getNextDownloads(){for(var t=Number.POSITIVE_INFINITY,a=-1,r=this.downloads.length-1;r>=0;r--)this.downloads[r].distanceFunction||this.nextDownloads.push(this.downloads.splice(r,1)[0]);if(!(this.nextDownloads.length>0)){for(var i=this.downloads.length-1;i>=0;i--){var o=this.downloads[i].distanceFunction();o<=t&&(t=o,a=i)}if(a>=0){var A=this.downloads.splice(a,1).pop();this.nextDownloads.push(A);for(var c=A.getSiblings(),l=this.downloads.length-1;l>=0;l--)c.map((function(t){return t.uuid})).includes(this.downloads[l].uuid)&&this.nextDownloads.push(this.downloads.splice(l,1).pop())}}}},{key:"_getNextReady",value:function _getNextReady(){for(var t=Number.POSITIVE_INFINITY,a=-1,r=this.ready.length-1;r>=0;r--)this.ready[r][3]||this.nextReady.push(this.ready.splice(r,1)[0]);if(!(this.nextReady.length>0)){for(var i=this.ready.length-1;i>=0;i--){var o=this.ready[i][3]()*this.ready[i][5];o<=t&&(t=o,a=i)}if(a>=0){var A=this.ready.splice(a,1).pop();this.nextReady.push(A);for(var c=A[4](),l=this.ready.length-1;l>=0;l--)c.map((function(t){return t.uuid})).includes(this.ready[l][6])&&this.nextReady.push(this.ready.splice(l,1).pop())}}}},{key:"get",value:function get(t,a,r,i,o,A,c,l,d,h){var b=this,u=this,g=_simplifyPath(r),p=new AbortController;if(t.signal.addEventListener("abort",(function(){u.register[g]&&0!=Object.keys(u.register[g]).length||p.abort("user abort")})),r.includes(".b3dm")||r.includes(".json")||r.includes(".gltf")||r.includes(".glb")){if(u.register[g]||(u.register[g]={}),u.register[g][a]&&console.error(" a tile should only be loaded once"),u.register[g][a]=i,u.cache.get(g))this._meshReceived(u.cache,u.register,g,o,A,c,a);else if(1==Object.keys(u.register[g]).length){var I;r.includes(".b3dm")?I=function downloadFunction(){var t;t=u.proxy?function fetchFunction(){return fetch(u.proxy,{method:"POST",body:r,signal:p.signal})}:function fetchFunction(){return fetch(r,{signal:p.signal})},de++,t().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+r),new Error("couldn't load \"".concat(r,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.arrayBuffer()})).then((function(t){return b.b3dmDecoder.parseB3DM(t,(function(t){u.meshCallback(t,h)}),l,d)})).then((function(t){u.cache.put(g,t),u._checkSize(),b._meshReceived(u.cache,u.register,g,o,A,c,a)})).catch((function(t){console.error(t)})).finally((function(){de--}))}:r.includes(".glb")||r.includes(".gltf")?I=function downloadFunction(){var t;t=u.proxy?function fetchFunction(){return fetch(u.proxy,{method:"POST",body:r,signal:p.signal})}:function fetchFunction(){return fetch(r,{signal:p.signal})},de++,t().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+r),new Error("couldn't load \"".concat(r,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.arrayBuffer()})).then(function(){var t=TileLoader_asyncToGenerator(TileLoader_regeneratorRuntime().mark((function _callee(t){return TileLoader_regeneratorRuntime().wrap((function _callee$(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,_checkLoaderInitialized(b.gltfLoader);case 2:b.gltfLoader.parse(t,null,(function(t){t.scene.asset=t.asset,l&&t.scene.applyMatrix4(b.zUpToYUpMatrix),t.scene.traverse((function(t){t.isMesh&&(d&&t.applyMatrix4(b.zUpToYUpMatrix),u.meshCallback&&u.meshCallback(t,h)),t.isPoints&&u.pointsCallback&&u.pointsCallback(t,h)})),u.cache.put(g,t.scene),u._checkSize(),u._meshReceived(u.cache,u.register,g,o,A,c,a)}));case 3:case"end":return r.stop()}}),_callee)})));return function(a){return t.apply(this,arguments)}}()).catch((function(t){"user abort"!==t&&20!==t.code&&console.error(t)})).finally((function(){de--}))}:r.includes(".json")&&(I=function downloadFunction(){var t;t=u.proxy?function fetchFunction(){return fetch(u.proxy,{method:"POST",body:r,signal:p.signal})}:function fetchFunction(){return fetch(r,{signal:p.signal})},de++,t().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+r),new Error("couldn't load \"".concat(r,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.json()})).then((function(t){return resolveImplicite(t,r)})).then((function(t){u.cache.put(g,t),u._checkSize(),u._meshReceived(u.cache,u.register,g)})).catch((function(t){console.error(t)})).finally((function(){de--}))}),this._scheduleDownload({shouldDoDownload:function shouldDoDownload(){return!t.signal.aborted&&!!u.register[g]&&Object.keys(u.register[g]).length>0},doDownload:I,distanceFunction:o,getSiblings:A,level:c,uuid:a})}}else console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data")}},{key:"clear",value:function clear(){var t=this.maxCachedItems;this.maxCachedItems=0,this._checkSize(),this.maxCachedItems=t}},{key:"invalidate",value:function invalidate(t,a){var r=_simplifyPath(t);this.register[r]&&delete this.register[r][a]}},{key:"_checkSize",value:function _checkSize(){for(var t=this,a=0;t.cache.size()>t.maxCachedItems&&a<t.cache.size();){a++;var r=t.cache.head(),i=t.register[r.key];i&&(Object.keys(i).length>0?(t.cache.remove(r.key),t.cache.put(r.key,r.value)):(t.cache.remove(r.key),delete t.register[r.key],r.value.traverse((function(t){if(t.material)if(t.material.length)for(var a=0;a<t.material.length;++a)t.material[a].dispose();else t.material.dispose();t.geometry&&t.geometry.dispose()}))))}}}])}();function _checkLoaderInitialized(t){return _checkLoaderInitialized2.apply(this,arguments)}function _checkLoaderInitialized2(){return(_checkLoaderInitialized2=TileLoader_asyncToGenerator(TileLoader_regeneratorRuntime().mark((function _callee2(t){return TileLoader_regeneratorRuntime().wrap((function _callee2$(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise((function(a){var r=setInterval((function(){t.hasDracoLoader&&!t.dracoLoader||t.hasKTX2Loader&&!t.ktx2Loader||(clearInterval(r),a())}),10)})));case 2:case"end":return a.stop()}}),_callee2,this)})))).apply(this,arguments)}function _simplifyPath(t){for(var a=t.split("/"),r=[],i=0,o=0;o<a.length;o++){var A=a[o];"."!==A&&""!==A&&".."!==A?r[i++]=A:".."===A&&i>0&&i--}if(0===i)return"/";var c="";for(o=0;o<i;o++)c+="/"+r[o];return c}var be=new Uint8Array(16);function rng(){if(!le&&!(le="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return le(be)}const ue=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const ge=function validate(t){return"string"==typeof t&&ue.test(t)};for(var fe=[],pe=0;pe<256;++pe)fe.push((pe+256).toString(16).substr(1));const Ie=function stringify(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(fe[t[a+0]]+fe[t[a+1]]+fe[t[a+2]]+fe[t[a+3]]+"-"+fe[t[a+4]]+fe[t[a+5]]+"-"+fe[t[a+6]]+fe[t[a+7]]+"-"+fe[t[a+8]]+fe[t[a+9]]+"-"+fe[t[a+10]]+fe[t[a+11]]+fe[t[a+12]]+fe[t[a+13]]+fe[t[a+14]]+fe[t[a+15]]).toLowerCase();if(!ge(r))throw TypeError("Stringified UUID is invalid");return r};const ye=function v4(t,a,r){var i=(t=t||{}).random||(t.rng||rng)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,a){r=r||0;for(var o=0;o<16;++o)a[r+o]=i[o];return a}return Ie(i)};var me=__webpack_require__(975);function OGC3DTile_typeof(t){return OGC3DTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},OGC3DTile_typeof(t)}function OGC3DTile_slicedToArray(t,a){return function OGC3DTile_arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function OGC3DTile_iterableToArrayLimit(t,a){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var i,o,A,c,l=[],d=!0,h=!1;try{if(A=(r=r.call(t)).next,0===a){if(Object(r)!==r)return;d=!1}else for(;!(d=(i=A.call(r)).done)&&(l.push(i.value),l.length!==a);d=!0);}catch(t){h=!0,o=t}finally{try{if(!d&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(h)throw o}}return l}}(t,a)||OGC3DTile_unsupportedIterableToArray(t,a)||function OGC3DTile_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OGC3DTile_toConsumableArray(t){return function OGC3DTile_arrayWithoutHoles(t){if(Array.isArray(t))return OGC3DTile_arrayLikeToArray(t)}(t)||function OGC3DTile_iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||OGC3DTile_unsupportedIterableToArray(t)||function OGC3DTile_nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OGC3DTile_unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return OGC3DTile_arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?OGC3DTile_arrayLikeToArray(t,a):void 0}}function OGC3DTile_arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function OGC3DTile_regeneratorRuntime(){OGC3DTile_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==OGC3DTile_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(OGC3DTile_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function OGC3DTile_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function OGC3DTile_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){OGC3DTile_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){OGC3DTile_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function ownKeys(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);a&&(i=i.filter((function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),r.push.apply(r,i)}return r}function OGC3DTile_defineProperty(t,a,r){return(a=OGC3DTile_toPropertyKey(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}function OGC3DTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,OGC3DTile_toPropertyKey(i.key),i)}}function OGC3DTile_toPropertyKey(t){var a=function OGC3DTile_toPrimitive(t,a){if("object"!=OGC3DTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=OGC3DTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==OGC3DTile_typeof(a)?a:a+""}function OGC3DTile_callSuper(t,a,r){return a=OGC3DTile_getPrototypeOf(a),function OGC3DTile_possibleConstructorReturn(t,a){if(a&&("object"==OGC3DTile_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function OGC3DTile_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,OGC3DTile_isNativeReflectConstruct()?Reflect.construct(a,r||[],OGC3DTile_getPrototypeOf(t).constructor):a.apply(t,r))}function OGC3DTile_isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(OGC3DTile_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function OGC3DTile_getPrototypeOf(t){return OGC3DTile_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},OGC3DTile_getPrototypeOf(t)}function OGC3DTile_setPrototypeOf(t,a){return OGC3DTile_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},OGC3DTile_setPrototypeOf(t,a)}var Ce,Ee=new t.Sphere(new t.Vector3(0,0,0),1),Be=(new t.Box3,new t.Vector3(0,0,0)),Qe=new t.Vector3(0,0,0),ve=new t.Vector3(0,1,0),we=new t.Quaternion,ke={};function getOGC3DTilesCopyrightInfo(){var t=[];for(var a in ke)ke.hasOwnProperty(a)&&ke[a]>0&&t.push(a);return t}var xe=function(a){function OGC3DTile(a){var r;!function OGC3DTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,OGC3DTile);var i=r=OGC3DTile_callSuper(this,OGC3DTile);if(r.contentURL=[],a.domWidth&&a.domHeight?r.rendererSize=new t.Vector2(a.domWidth,a.domHeight):r.rendererSize=new t.Vector2(1e3,1e3),r.loadingStrategy=a.loadingStrategy?a.loadingStrategy.toUpperCase():"INCREMENTAL",r.distanceBias=Math.max(1e-4,a.distanceBias?a.distanceBias:1),r.proxy=a.proxy,r.drawBoundingVolume=!!a.drawBoundingVolume&&a.drawBoundingVolume,r.displayErrors=a.displayErrors,r.displayCopyright=a.displayCopyright,a.queryParams&&(r.queryParams=function _objectSpread(t){for(var a=1;a<arguments.length;a++){var r=null!=arguments[a]?arguments[a]:{};a%2?ownKeys(Object(r),!0).forEach((function(a){OGC3DTile_defineProperty(t,a,r[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(r,a))}))}return t}({},a.queryParams)),r.uuid=ye(),a.tileLoader)r.tileLoader=a.tileLoader;else{var o={};o.meshCallback=a.meshCallback?a.meshCallback:function(a,r){a.material.wireframe=!1,a.material.side=t.DoubleSide},o.pointsCallback=a.pointsCallback?a.pointsCallback:function(t,a){t.material.size=Math.pow(a,.33),t.material.sizeAttenuation=!0},o.proxy=r.proxy,o.renderer=a.renderer,o.dracoLoader=a.dracoLoader,o.ktx2Loader=a.ktx2Loader,r.tileLoader=new he(o),r.update=function(t){r.update(t),r.tileLoader.update()}}if(r.displayCopyright=!!a.displayCopyright,r.geometricErrorMultiplier=a.geometricErrorMultiplier?a.geometricErrorMultiplier:1,r.renderer=a.renderer,r.meshCallback=a.meshCallback,r.loadOutsideView=a.loadOutsideView,r.cameraOnLoad=a.cameraOnLoad,r.parentTile=a.parentTile,r.occlusionCullingService=a.occlusionCullingService,r.static=a.static,r.occlusionCullingService&&(r.color=new t.Color,r.color.setHex(16777215*Math.random()),r.colorID=t.MathUtils.clamp(255*i.color.r,0,255)<<16^t.MathUtils.clamp(255*i.color.g,0,255)<<8^t.MathUtils.clamp(255*i.color.b,0,255)),r.static&&(r.matrixAutoUpdate=!1,r.matrixWorldAutoUpdate=!1),r.childrenTiles=[],r.meshContent=[],r.tileContent,r.refine,r.rootPath,r.geometricError,r.boundingVolume,r.json,r.materialVisibility=!1,r.level=a.level?a.level:0,r.hasMeshContent=0,r.hasUnloadedJSONContent=0,r.centerModel=a.centerModel,r.abortController=new AbortController,r.onLoadCallback=a.onLoadCallback,a.json)i._setup(a);else if(a.url){var A=a.url;if(i.queryParams){var c="";for(var l in i.queryParams)i.queryParams.hasOwnProperty(l)&&(c+="&"+l+"="+i.queryParams[l]);A.includes("?")?A+=c:A+="?"+c.substring(1)}(i.proxy?function fetchFunction(){return fetch(i.proxy,{method:"POST",body:A,signal:i.abortController.signal})}:function fetchFunction(){return fetch(A,{signal:i.abortController.signal})})().then((function(t){if(!t.ok)throw new Error("couldn't load \"".concat(a.url,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));t.json().then((function(t){return resolveImplicite(t,A)})).then((function(t){i._setup({rootPath:me.dirname(a.url),json:t})}))})).catch((function(t){i.displayErrors&&_showError(t)}))}return r}return function OGC3DTile_inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&OGC3DTile_setPrototypeOf(t,a)}(OGC3DTile,a),function OGC3DTile_createClass(t,a,r){return a&&OGC3DTile_defineProperties(t.prototype,a),r&&OGC3DTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(OGC3DTile,[{key:"updateMatrices",value:function updateMatrices(){this.updateMatrix(),this.static&&this.traverse((function(t){t.isObject3D&&(t.matrixWorldAutoUpdate=!0)})),this.updateMatrixWorld(!0),this.static&&this.traverse((function(t){t.isObject3D&&(t.matrixWorldAutoUpdate=!1)}))}},{key:"setCanvasSize",value:function setCanvasSize(t,a){this.rendererSize.set(t,a)}},{key:"_setup",value:(o=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee(a){var i,o,A,c,l,d,h;return OGC3DTile_regeneratorRuntime().wrap((function _callee$(b){for(;;)switch(b.prev=b.next){case 0:if(l=function _checkContent2(t){t.uri&&t.uri.includes("json")||t.url&&t.url.includes("json")?i.hasUnloadedJSONContent++:i.hasMeshContent++},i=this,a.json.root?(i.json=a.json.root,i.json.refine||(i.json.refine=a.json.refine),i.json.geometricError||(i.json.geometricError=a.json.geometricError),i.json.transform||(i.json.transform=a.json.transform),i.json.boundingVolume||(i.json.boundingVolume=a.json.boundingVolume)):i.json=a.json,i.json.children){b.next=11;break}if(!i.json.getChildren){b.next=10;break}return b.next=7,i.json.getChildren();case 7:i.json.children=b.sent,b.next=11;break;case 10:i.json.children=[];case 11:if(i.rootPath=a.json.rootPath?a.json.rootPath:a.rootPath,i.json.refine?i.refine=i.json.refine:i.refine=a.parentRefine,i.json.geometricError?i.geometricError=i.json.geometricError:i.geometricError=a.parentGeometricError,i.json.transform&&((o=new t.Matrix4).elements=i.json.transform,i.applyMatrix4(o)),i.json.boundingVolume?i.json.boundingVolume.box?i.boundingVolume=new r(i.json.boundingVolume.box):i.json.boundingVolume.region?(A=i.json.boundingVolume.region,i._transformWGS84ToCartesian(A[0],A[1],A[4],Be),i._transformWGS84ToCartesian(A[2],A[3],A[5],Qe),Be.lerp(Qe,.5),i.boundingVolume=new t.Sphere(new t.Vector3(Be.x,Be.y,Be.z),Be.distanceTo(Qe))):i.json.boundingVolume.sphere?(c=i.json.boundingVolume.sphere,i.boundingVolume=new t.Sphere(new t.Vector3(c[0],c[1],c[2]),c[3])):i.boundingVolume=a.parentBoundingVolume:i.boundingVolume=a.parentBoundingVolume,!i.json.content){b.next=27;break}l(i.json.content),0==i.hasMeshContent&&(i.level=Math.max(0,i.parentTile?i.parentTile.level+.01:0)),b.t0=i.loadingStrategy,b.next="IMMEDIATE"===b.t0?22:24;break;case 22:return i._load(!0,!1),b.abrupt("break",25);case 24:i._load();case 25:b.next=36;break;case 27:if(!i.json.contents){b.next=36;break}i.json.contents.forEach((function(t){return l(t)})),0==i.hasMeshContent&&(i.level=Math.max(0,i.parentTile?i.parentTile.level+.01:0)),b.t1=i.loadingStrategy,b.next="IMMEDIATE"===b.t1?33:35;break;case 33:return i._load(!0,!1),b.abrupt("break",36);case 35:i._load();case 36:i.centerModel&&(d=new t.Sphere,i.boundingVolume instanceof r?d.copy(i.boundingVolume.sphere):i.boundingVolume instanceof t.Sphere&&d.copy(i.boundingVolume),this.json.boundingVolume.region&&(this._transformWGS84ToCartesian(.5*(this.json.boundingVolume.region[0]+this.json.boundingVolume.region[2]),.5*(this.json.boundingVolume.region[1]+this.json.boundingVolume.region[3]),.5*(this.json.boundingVolume.region[4]+this.json.boundingVolume.region[5]),Be),we.setFromUnitVectors(Be.normalize(),ve.normalize()),i.applyQuaternion(we)),d.center.applyMatrix4(i.matrix),i.position.sub(d.center),i.updateMatrices()),a.onLoadCallback&&i.onLoadCallback(i),i.isSetup=!0,i.level>0&&i.drawBoundingVolume&&(i.bbox&&console.log("double setup"),this.boundingVolume.aabb&&((h=this.boundingVolume.aabb.clone()).applyMatrix4(this.matrixWorld),i.bbox=new t.Box3Helper(h,16776960),i.add(i.bbox),i.bbox.material.visible=!1));case 40:case"end":return b.stop()}}),_callee,this)}))),function _setup(t){return o.apply(this,arguments)})},{key:"_assembleURL",value:function _assembleURL(t,a){t.endsWith("/")||(t+="/");for(var r=new URL(t),i=r.pathname.split("/").filter((function(t){return""!==t})),o=a.split("/").filter((function(t){return""!==t})),A=1;A<=i.length&&!(A>=o.length);A++){if(i.slice(i.length-A,i.length).join("/")===o.slice(0,A).join("/")){for(var c=0;c<A;c++)i.pop();break}}for(;o.length>0&&".."===o[0];)i.pop(),o.shift();return"".concat(r.protocol,"//").concat(r.host,"/").concat([].concat(OGC3DTile_toConsumableArray(i),OGC3DTile_toConsumableArray(o)).join("/"))}},{key:"_extractQueryParams",value:function _extractQueryParams(t,a){var r,i=new URL(t),o=function OGC3DTile_createForOfIteratorHelper(t,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=OGC3DTile_unsupportedIterableToArray(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var i=0,o=function F(){};return{s:o,n:function n(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var A,c=!0,l=!1;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){l=!0,A=t},f:function f(){try{c||null==r.return||r.return()}finally{if(l)throw A}}}}(i.searchParams);try{for(o.s();!(r=o.n()).done;){var A=OGC3DTile_slicedToArray(r.value,2),c=A[0],l=A[1];a[c]=l}}catch(t){o.e(t)}finally{o.f()}return i.search="",i.toString()}},{key:"_load",value:(i=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee4(){var a,r,i,o,A,c,l=arguments;return OGC3DTile_regeneratorRuntime().wrap((function _callee4$(d){for(;;)switch(d.prev=d.next){case 0:if(c=function _loadContent3(){return c=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee3(a,r,o,A){var c,l,d,h;return OGC3DTile_regeneratorRuntime().wrap((function _callee3$(b){for(;;)switch(b.prev=b.next){case 0:if(a.uri?c=a.uri:a.url&&(c=a.url),(l=/^(?:http|https|ftp|tcp|udp):\/\/\S+/).test(i.rootPath)?l.test(c)||(c=i._assembleURL(i.rootPath,c)):me.isAbsolute(i.rootPath)&&(c=i.rootPath+me.sep+c),c=i._extractQueryParams(c,i.queryParams),i.queryParams){for(h in d="",i.queryParams)i.queryParams.hasOwnProperty(h)&&(d+="&"+h+"="+i.queryParams[h]);c.includes("?")?c+=d:c+="?"+d.substring(1)}if(c)if(A&&(c.includes(".b3dm")||c.includes(".glb")||c.includes(".gltf"))){i.contentURL.push(c);try{i.tileLoader.get(i.abortController,i.uuid,c,(function(a){i.deleted||(a.asset&&a.asset.copyright&&(a.asset.copyright.split(";").forEach((function(t){ke[t]?ke[t]++:ke[t]=1})),i.displayCopyright&&_updateCopyrightLabel()),a.traverse((function(a){if((a.isMesh||a.isPoints)&&a.layers.disable(0),a.isMesh&&i.occlusionCullingService){for(var r=a.geometry.attributes.position,o=[],A=0;A<r.count;A++)o.push(i.color.r,i.color.g,i.color.b);a.geometry.setAttribute("color",new t.Float32BufferAttribute(o,3))}})),i.add(a),i.meshContent.push(a))}),i.cameraOnLoad?function(){var t=1;return(i.metric&&i.metric<0||i.deleted)&&(t=2),i.parentTile?i.parentTile._calculateDistanceToCamera(i.cameraOnLoad)*t*i.level:i._calculateDistanceToCamera(i.cameraOnLoad)*t*i.level}:function(){return 0},(function(){return i._getSiblings()}),i.level,!i.json.boundingVolume.region,!!i.json.boundingVolume.region,i.geometricError)}catch(t){i.displayErrors&&_showError(t)}}else o&&c.includes(".json")&&(i.jsonRequested=c,i.tileLoader.get(i.abortController,i.uuid,c,function(){var t=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee2(t){return OGC3DTile_regeneratorRuntime().wrap((function _callee2$(a){for(;;)switch(a.prev=a.next){case 0:if(!i.deleted){a.next=2;break}return a.abrupt("return");case 2:t.rootPath=me.dirname(c),i.json.children.push(t),null==r?delete i.json.content:i.json.contents.splice(r,1),i.hasUnloadedJSONContent--;case 6:case"end":return a.stop()}}),_callee2)})));return function(a){return t.apply(this,arguments)}}()));case 6:case"end":return b.stop()}}),_callee3)}))),c.apply(this,arguments)},A=function _loadContent2(t,a,r,i){return c.apply(this,arguments)},a=!(l.length>0&&void 0!==l[0])||l[0],r=!(l.length>1&&void 0!==l[1])||l[1],!(i=this).deleted){d.next=7;break}return d.abrupt("return");case 7:if(!i.json.content){d.next=12;break}return d.next=10,A(i.json.content,null,a,r);case 10:d.next=13;break;case 12:i.json.contents&&(o=i.json.contents.map((function(t,i){return A(t,i,a,r)})),Promise.all(o));case 13:case"end":return d.stop()}}),_callee4,this)}))),function _load(){return i.apply(this,arguments)})},{key:"dispose",value:function dispose(){var t=this;t.meshContent.forEach((function(a){a&&a.asset&&a.asset.copyright&&(a.asset.copyright.split(";").forEach((function(t){ke[t]&&ke[t]--})),t.displayCopyright&&_updateCopyrightLabel())})),t.bbox&&t.bbox.dispose(),t.childrenTiles.forEach((function(t){return t.dispose()})),t.deleted=!0,t.contentURL&&(t.contentURL.forEach((function(a){t.tileLoader.invalidate(a,t.uuid)})),t.contentURL=[]),t.abortController&&t.abortController.abort("tile not needed"),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}},{key:"_disposeMeshContent",value:function _disposeMeshContent(){var t=this;if(!t.deleted){t.deleted=!0,t.abortController&&(t.abortController.abort("tile not needed"),t.abortController=new AbortController);for(var a=t.meshContent.length-1;a>=0;a--){var r=t.meshContent[a];r&&r.asset&&r.asset.copyright&&(r.asset.copyright.split(";").forEach((function(t){ke[t]&&ke[t]--})),t.displayCopyright&&_updateCopyrightLabel()),t.remove(r)}t.meshContent=[],t.contentURL.forEach((function(a){t.tileLoader.invalidate(a,t.uuid)})),t.contentURL=[]}}},{key:"_disposeChildren",value:function _disposeChildren(){var t=this;t.childrenTiles.forEach((function(a){a.dispose(),t.remove(a)})),t.childrenTiles=[]}},{key:"update",value:function update(a){var r=new t.Frustum;r.setFromProjectionMatrix((new t.Matrix4).multiplyMatrices(a.projectionMatrix,a.matrixWorldInverse));var i=[0],o=[0],A=[0],c=[0];if("REPLACE"==this.refine)if("IMMEDIATE"===this.loadingStrategy)this._updateImmediate(a,r),this._statsImmediate(A,i,c,o);else this._update(a,r),this._stats(A,i,c,o);else this._update(a,r),this._stats(A,i,c,o);return i>0&&(c[0]/=i[0]),{numTilesLoaded:i[0],numTilesRendered:o[0],maxLOD:A[0],percentageLoaded:c[0]}}},{key:"_updateImmediate",value:function _updateImmediate(t,a){this._computeMetricRecursive(t,a),this._updateNodeVisibilityImmediate(),this._expandTreeImmediate(t),this.shouldBeVisible=this.metric>0||!!this.loadOutsideView,this._shouldBeVisibleUpdateImmediate(),this._trimTreeImmediate(),this._loadMeshImmediate()}},{key:"_statsImmediate",value:function _statsImmediate(t,a,r,i){t[0]=Math.max(t[0],this.level),(this.shouldBeVisible||this.materialVisibility)&&(a[0]++,this.materialVisibility&&r[0]++),this.materialVisibility&&i[0]++,this.childrenTiles.forEach((function(o){o._statsImmediate(t,a,r,i)}))}},{key:"_stats",value:function _stats(t,a,r,i){t[0]=Math.max(t[0],this.level),this.hasMeshContent&&(a[0]++,this.meshContent.length==this.hasMeshContent&&r[0]++,this.materialVisibility&&i[0]++),this.childrenTiles.forEach((function(o){o._stats(t,a,r,i)}))}},{key:"_trimTreeImmediate",value:function _trimTreeImmediate(){null!=this.metric&&(this.hasMeshContent&&this.shouldBeVisible&&this.materialVisibility?this._disposeChildren():this.childrenTiles.forEach((function(t){t._trimTreeImmediate()})))}},{key:"_updateNodeVisibilityImmediate",value:function _updateNodeVisibilityImmediate(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=this;if(a.hasMeshContent)if(a.shouldBeVisible)a.meshContent.length==a.hasMeshContent?a.materialVisibility?a.childrenTiles.forEach((function(t){t._updateNodeVisibilityImmediate(!0)})):(a._changeContentVisibility(!0),a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))):a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}));else{if(!a.loadOutsideView&&a.metric<0)return a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),void a.childrenTiles.forEach((function(t){t._updateNodeVisibilityImmediate(!0)}));if(a.materialVisibility)if(t)a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}));else{var r=!0;a.childrenTiles.every((function(t){return!!t._isReadyImmediate()||(r=!1,!1)})),r&&a.childrenTiles.length>0?(a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))):a.childrenTiles.forEach((function(t){t._updateNodeVisibilityImmediate(!0)}))}else a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))}else a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))}},{key:"_shouldBeVisibleUpdateImmediate",value:function _shouldBeVisibleUpdateImmediate(){var t=this;t.hasMeshContent?null==t.metric?t.shouldBeVisible=!1:t.metric<0?(t.shouldBeVisible=!!t.loadOutsideView,t.childrenTiles.forEach((function(t){t._setShouldNotBeVisibleRecursive()}))):t.metric<t.geometricErrorMultiplier*t.geometricError?t.hasUnloadedJSONContent||(t.json&&t.json.children&&t.json.children.length>0?(t.shouldBeVisible=!1,t.childrenTiles.forEach((function(t){t.shouldBeVisible=!0,t._shouldBeVisibleUpdateImmediate()}))):t.shouldBeVisible=!0):t.childrenTiles.forEach((function(t){t._setShouldNotBeVisibleRecursive()})):(t.childrenTiles.forEach((function(t){t.shouldBeVisible=!0,t._shouldBeVisibleUpdateImmediate()})),t.shouldBeVisible=!1)}},{key:"_setShouldNotBeVisibleRecursive",value:function _setShouldNotBeVisibleRecursive(){this.shouldBeVisible=!1,this.childrenTiles.forEach((function(t){t._setShouldNotBeVisibleRecursive()}))}},{key:"_loadMeshImmediate",value:function _loadMeshImmediate(){var t=this;t.hasMeshContent&&t.shouldBeVisible?t.meshContent.length<t.hasMeshContent&&0==t.contentURL.length&&(t.deleted=!1,t._load(!1,!0)):t.childrenTiles.forEach((function(t){t._loadMeshImmediate()}))}},{key:"_computeMetricRecursive",value:function _computeMetricRecursive(t,a){var r=this;r.metric=-1,r.isSetup&&(r.boundingVolume&&r.geometricError&&(r.metric=r._calculateUpdateMetric(t,a)),r.childrenTiles.forEach((function(r){return r._computeMetricRecursive(t,a)})))}},{key:"_expandTreeImmediate",value:function _expandTreeImmediate(t){var a=this;a.hasUnloadedJSONContent||(a.hasMeshContent?a.occlusionCullingService&&a.hasMeshContent&&!a.occlusionCullingService.hasID(a.colorID)||a.metric>=0&&a.metric<a.geometricErrorMultiplier*a.geometricError&&a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(t):a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(t)),a.childrenTiles.forEach((function(a){return a._expandTreeImmediate(t)}))}},{key:"_update",value:function _update(t,a){var r=this;if(r.isSetup){var i=r.materialVisibility;r.boundingVolume&&r.geometricError&&(r.metric=r._calculateUpdateMetric(t,a)),r.childrenTiles.forEach((function(r){return r._update(t,a)})),function _updateNodeVisibility(t){if(!r.hasMeshContent)return;if(r.meshContent.length<r.hasMeshContent)return;if(t<0)return r.inFrustum=!1,void r._changeContentVisibility(!!r.loadOutsideView);r.inFrustum=!0;if(0==r.childrenTiles.length)return void r._changeContentVisibility(!0);if(t>=r.geometricErrorMultiplier*r.geometricError)r._changeContentVisibility(!0);else if(t<r.geometricErrorMultiplier*r.geometricError&&"REPLACE"==r.refine){var a=!0;r.childrenTiles.every((function(t){return!!t._isReady()||(a=!1,!1)})),a?r._changeContentVisibility(!1):r._changeContentVisibility(!0)}}(r.metric),function _updateTree(a){if(a<0&&r.hasMeshContent)return;if(r.occlusionCullingService&&r.hasMeshContent&&!r.occlusionCullingService.hasID(r.colorID))return;if((!r.hasMeshContent||a<=r.geometricErrorMultiplier*r.geometricError&&r.meshContent.length>0)&&r.json&&r.json.children&&r.childrenTiles.length!=r.json.children.length)return void r._loadJsonChildren(t)}(r.metric),function _trimTree(t,a){if(!r.hasMeshContent)return;if(!r.inFrustum)return void r._disposeChildren();if(r.occlusionCullingService&&!a&&r.hasMeshContent&&r.meshContent.length>0&&r.materialVisibility&&r._areAllChildrenLoadedAndHidden())return void r._disposeChildren();if(t>=r.geometricErrorMultiplier*r.geometricError)return void r._disposeChildren()}(r.metric,i)}}},{key:"_loadJsonChildren",value:function _loadJsonChildren(t){for(var a=this,r=a.json.children.length-1;r>=0;r--)a.json.children[r].root||a.json.children[r].children||a.json.children[r].getChildren||a.json.children[r].content||a.json.children[r].contents||a.json.children.splice(r,1);a.json.children.forEach((function(r){var i=new OGC3DTile({parentTile:a,queryParams:a.queryParams,parentGeometricError:a.geometricError,parentBoundingVolume:a.boundingVolume,parentRefine:a.refine,json:r,rootPath:a.rootPath,geometricErrorMultiplier:a.geometricErrorMultiplier,loadOutsideView:a.loadOutsideView,level:Math.floor(a.level)+1,tileLoader:a.tileLoader,cameraOnLoad:t,occlusionCullingService:a.occlusionCullingService,renderer:a.renderer,static:a.static,centerModel:!1,displayErrors:a.displayErrors,displayCopyright:a.displayCopyright,distanceBias:a.distanceBias,loadingStrategy:a.loadingStrategy,drawBoundingVolume:a.drawBoundingVolume});a.childrenTiles.push(i),a.add(i)})),a.updateMatrices(!0)}},{key:"_areAllChildrenLoadedAndHidden",value:function _areAllChildrenLoadedAndHidden(){var t=!0,a=this;return this.childrenTiles.every((function(r){if(r.hasMeshContent){if(r.childrenTiles.length>0)return t=!1,!1;if(!r.metric<0)return!0;if(r.materialVisibility)return t=!1,!1;if(a.occlusionCullingService.hasID(r.colorID))return t=!1,!1}else if(!r._areAllChildrenLoadedAndHidden())return t=!1,!1;return!0})),t}},{key:"_isReady",value:function _isReady(){if(null==this.metric)return!1;if(this.metric<0)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent&&0==this.json.children.length&&!this.hasUnloadedJSONContent)return!0;if(!this.hasMeshContent||0==this.meshContent.length||!this.materialVisibility){if(this.children.length>0){var t=!0;return this.childrenTiles.every((function(a){return!!a._isReady()||(t=!1,!1)})),t}return!1}return!this.hasMeshContent||!(this.meshContent.length<this.hasMeshContent)&&!!this.materialVisibility}},{key:"_isReadyImmediate",value:function _isReadyImmediate(){if(this.materialVisibility||!this.loadOutsideView&&this.metric<0)return!0;if(this.childrenTiles.length>0){var t=!0;return this.childrenTiles.every((function(a){return!!a._isReadyImmediate()||(t=!1,!1)})),t}return!1}},{key:"_changeContentVisibility",value:function _changeContentVisibility(t){var a=this;a.bbox&&(a.bbox.material.visible=t),a.hasMeshContent&&a.meshContent.length>0&&(t?a.meshContent.forEach((function(t){t.traverse((function(t){(t.isMesh||t.isPoints)&&t.layers.enable(0)}))})):a.meshContent.forEach((function(t){t.traverse((function(t){(t.isMesh||t.isPoints)&&t.layers.disable(0)}))}))),a.materialVisibility!=t&&(a.materialVisibility=t)}},{key:"_calculateUpdateMetric",value:function _calculateUpdateMetric(a,i){var o=0;if(this.boundingVolume instanceof r){if(Ee.copy(this.boundingVolume.sphere),Ee.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Ee))return-1;o=Math.max(0,a.position.distanceTo(Ee.center)-Ee.radius-a.near)}else{if(!(this.boundingVolume instanceof t.Sphere))return console.error("unsupported shape"),-1;if(Ee.copy(this.boundingVolume),Ee.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Ee))return-1;o=Math.max(0,a.position.distanceTo(Ee.center)-Ee.radius-a.near)}if(0==(o=Math.pow(o,this.distanceBias)))return 0;var A=this.matrixWorld.getMaxScaleOnAxis();this.renderer&&this.renderer.getDrawingBufferSize(this.rendererSize);var c=this.rendererSize.y,l=a.fov;a.aspect<1&&(l*=a.aspect,c=this.rendererSize.x);var d=2*Math.tan(.5*l*.017453292519943295)*o;return 16*window.devicePixelRatio*d/(c*A)}},{key:"_getSiblings",value:function _getSiblings(){var t=this,a=[];if(!t.parentTile)return a;for(var r=t.parentTile;!r.hasMeshContent&&r.parentTile;)r=r.parentTile;return r.childrenTiles.forEach((function(r){if(r&&r!=t){for(;!r.hasMeshContent&&r.childrenTiles[0];)r=r.childrenTiles[0];a.push(r)}})),a}},{key:"_calculateDistanceToCamera",value:function _calculateDistanceToCamera(a){return this.boundingVolume instanceof r?(Ee.copy(this.boundingVolume.sphere),Ee.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof t.Sphere?(Ee.copy(this.boundingVolume),Ee.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,a.position.distanceTo(Ee.center)-Ee.radius)}},{key:"setGeometricErrorMultiplier",value:function setGeometricErrorMultiplier(t){this.geometricErrorMultiplier=t,this.childrenTiles.forEach((function(a){return a.setGeometricErrorMultiplier(t)}))}},{key:"setDistanceBias",value:function setDistanceBias(t){this.distanceBias=t,this.childrenTiles.forEach((function(a){return a.setDistanceBias(t)}))}},{key:"_transformWGS84ToCartesian",value:function _transformWGS84ToCartesian(t,a,r,i){var o=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),A=Math.cos(a),c=Math.cos(t),l=Math.sin(a),d=o+r,h=d*A*c,b=d*A*Math.sin(t),u=(.993305615557957*o+r)*l;i.set(h,b,u)}}]);var i,o}(t.Object3D);function _showError(t){var a=document.createElement("div");a.textContent=t,a.style.position="fixed",a.style.top="10px",a.style.left="50%",a.style.transform="translateX(-50%)",a.style.padding="10px",a.style.backgroundColor="#ff8800",a.style.color="#ffffff",a.style.zIndex="9999",document.body.appendChild(a),setTimeout((function(){a.remove()}),8e3)}function _updateCopyrightLabel(){Ce||((Ce=document.createElement("div")).style.position="fixed",Ce.style.bottom="20px",Ce.style.left="20px",Ce.style.color="white",Ce.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",Ce.style.padding="10px",Ce.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(Ce));var t=getOGC3DTilesCopyrightInfo(),a="";t.forEach((function(t){a+=t+", "})),a=a.slice(0,-2),Ce.textContent=a}function InstancedTile_typeof(t){return InstancedTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},InstancedTile_typeof(t)}function InstancedTile_slicedToArray(t,a){return function InstancedTile_arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function InstancedTile_iterableToArrayLimit(t,a){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var i,o,A,c,l=[],d=!0,h=!1;try{if(A=(r=r.call(t)).next,0===a){if(Object(r)!==r)return;d=!1}else for(;!(d=(i=A.call(r)).done)&&(l.push(i.value),l.length!==a);d=!0);}catch(t){h=!0,o=t}finally{try{if(!d&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(h)throw o}}return l}}(t,a)||InstancedTile_unsupportedIterableToArray(t,a)||function InstancedTile_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function InstancedTile_toConsumableArray(t){return function InstancedTile_arrayWithoutHoles(t){if(Array.isArray(t))return InstancedTile_arrayLikeToArray(t)}(t)||function InstancedTile_iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||InstancedTile_unsupportedIterableToArray(t)||function InstancedTile_nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function InstancedTile_unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return InstancedTile_arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?InstancedTile_arrayLikeToArray(t,a):void 0}}function InstancedTile_arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function InstancedTile_regeneratorRuntime(){InstancedTile_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==InstancedTile_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(InstancedTile_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function InstancedTile_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function InstancedTile_ownKeys(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);a&&(i=i.filter((function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),r.push.apply(r,i)}return r}function InstancedTile_defineProperty(t,a,r){return(a=InstancedTile_toPropertyKey(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}function InstancedTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,InstancedTile_toPropertyKey(i.key),i)}}function InstancedTile_toPropertyKey(t){var a=function InstancedTile_toPrimitive(t,a){if("object"!=InstancedTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=InstancedTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==InstancedTile_typeof(a)?a:a+""}function InstancedTile_callSuper(t,a,r){return a=InstancedTile_getPrototypeOf(a),function InstancedTile_possibleConstructorReturn(t,a){if(a&&("object"==InstancedTile_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function InstancedTile_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,InstancedTile_isNativeReflectConstruct()?Reflect.construct(a,r||[],InstancedTile_getPrototypeOf(t).constructor):a.apply(t,r))}function InstancedTile_isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(InstancedTile_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function InstancedTile_getPrototypeOf(t){return InstancedTile_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},InstancedTile_getPrototypeOf(t)}function InstancedTile_setPrototypeOf(t,a){return InstancedTile_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},InstancedTile_setPrototypeOf(t,a)}var Te=new t.Sphere(new t.Vector3(0,0,0),1),De=new t.Vector3(0,0,0),je=new t.Vector3(0,0,0),_e=new t.Vector3(0,1,0),Ge=new t.Vector2,Le=new t.Quaternion,Se=new t.Matrix4,Fe=function(a){function InstancedTile(t){var a;!function InstancedTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,InstancedTile);var r=a=InstancedTile_callSuper(this,InstancedTile);if(t.queryParams&&(a.queryParams=function InstancedTile_objectSpread(t){for(var a=1;a<arguments.length;a++){var r=null!=arguments[a]?arguments[a]:{};a%2?InstancedTile_ownKeys(Object(r),!0).forEach((function(a){InstancedTile_defineProperty(t,a,r[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):InstancedTile_ownKeys(Object(r)).forEach((function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(r,a))}))}return t}({},t.queryParams)),a.uuid=ye(),t.tileLoader?a.tileLoader=t.tileLoader:console.error("an instanced tileset must be provided an InstancedTilesetLoader"),a.master=t.master,a.loadOutsideView=t.loadOutsideView,a.cameraOnLoad=t.cameraOnLoad,a.parentTile=t.parentTile,a.distanceBias=Math.max(1e-4,t.distanceBias?t.distanceBias:1),a.childrenTiles=[],a.jsonChildren=[],a.meshContent=new Set,a.static=t.static,a.static&&(a.matrixAutoUpdate=!1,a.matrixWorldAutoUpdate=!1),a.tileContent,a.refinement,a.rootPath,a.geometricError,a.boundingVolume,a.json,a.materialVisibility=!1,a.inFrustum=!0,a.level=t.level?t.level:0,a.hasMeshContent=0,a.hasUnloadedJSONContent=0,a.centerModel=t.centerModel,a.deleted=!1,a.abortController=new AbortController,t.json)a.rootPath=t.json.rootPath?t.json.rootPath:t.rootPath,t.json.children&&(a.jsonChildren=t.json.children),r.setup(t);else if(t.url){a.loadJson=function(a,i){var o=me.dirname(i);r.setup({rootPath:o,json:a,onLoadCallback:t.onLoadCallback})};var i=t.url;if(r.queryParams){var o="";for(var A in r.queryParams)r.queryParams.hasOwnProperty(A)&&(o+="&"+A+"="+r.queryParams[A]);i.includes("?")?i+=o:i+="?"+o.substring(1)}r.tileLoader.get(r.abortController,i,r.uuid,r)}return a}return function InstancedTile_inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&InstancedTile_setPrototypeOf(t,a)}(InstancedTile,a),function InstancedTile_createClass(t,a,r){return a&&InstancedTile_defineProperties(t.prototype,a),r&&InstancedTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(InstancedTile,[{key:"setup",value:(i=function InstancedTile_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){InstancedTile_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){InstancedTile_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}(InstancedTile_regeneratorRuntime().mark((function _callee(a){var i,o,A,c,l,d;return InstancedTile_regeneratorRuntime().wrap((function _callee$(h){for(;;)switch(h.prev=h.next){case 0:if(l=function _checkContent(t){t.uri&&t.uri.includes("json")||t.url&&t.url.includes("json")?i.hasUnloadedJSONContent++:i.hasMeshContent++},i=this,!a.json.root){h.next=15;break}if(i.json=a.json.root,i.json.children||!i.json.getChildren){h.next=8;break}return h.next=7,i.json.getChildren();case 7:i.json.children=h.sent;case 8:i.jsonChildren=i.json.children,i.json.refinement||(i.json.refinement=a.json.refinement),i.json.geometricError||(i.json.geometricError=a.json.geometricError),i.json.transform||(i.json.transform=a.json.transform),i.json.boundingVolume||(i.json.boundingVolume=a.json.boundingVolume),h.next=21;break;case 15:if(i.json=a.json,i.json.children||!i.json.getChildren){h.next=21;break}return h.next=19,i.json.getChildren();case 19:i.json.children=h.sent,i.jsonChildren=i.json.children;case 21:i.rootPath=a.json.rootPath?a.json.rootPath:a.rootPath,i.json.refinement?i.refinement=i.json.refinement:i.refinement=a.parentRefinement,i.json.geometricError?i.geometricError=i.json.geometricError:i.geometricError=a.parentGeometricError,o=new t.Matrix4,i.json.transform&&!i.centerModel&&(o.elements=i.json.transform),i.applyMatrix4(o),i.parentTile&&i.parentTile.matrix&&(i.matrix.premultiply(i.parentTile.matrix),i.matrix.decompose(i.position,i.quaternion,i.scale)),i.matrixWorldNeedsUpdate=!0,i.updateWorldMatrix(!0,!0),i.json.boundingVolume?i.json.boundingVolume.box?i.boundingVolume=new r(i.json.boundingVolume.box):i.json.boundingVolume.region?(A=i.json.boundingVolume.region,i.transformWGS84ToCartesian(A[0],A[1],A[4],De),i.transformWGS84ToCartesian(A[2],A[3],A[5],je),De.lerp(je,.5),i.boundingVolume=new t.Sphere(new t.Vector3(De.x,De.y,De.z),De.distanceTo(je))):i.json.boundingVolume.sphere?(c=i.json.boundingVolume.sphere,i.boundingVolume=new t.Sphere(new t.Vector3(c[0],c[1],c[2]),c[3])):i.boundingVolume=a.parentBoundingVolume:i.boundingVolume=a.parentBoundingVolume,i.json.content?(l(i.json.content),i.load()):i.json.contents&&(i.json.contents.forEach((function(t){return l(t)})),i.load()),i.centerModel&&(d=new t.Sphere,i.boundingVolume instanceof r?d.copy(i.boundingVolume.sphere):i.boundingVolume instanceof t.Sphere&&d.copy(i.boundingVolume),this.json.boundingVolume.region&&(i.transformWGS84ToCartesian(.5*(i.json.boundingVolume.region[0]+i.json.boundingVolume.region[2]),.5*(i.json.boundingVolume.region[1]+i.json.boundingVolume.region[3]),.5*(i.json.boundingVolume.region[4]+i.json.boundingVolume.region[5]),De),Le.setFromUnitVectors(De.normalize(),_e.normalize()),i.master.applyQuaternion(Le),i.master.updateWorldMatrix(!1,!1)),Se.makeTranslation(-d.center.x*i.scale.x,-d.center.y*i.scale.y,-d.center.z*i.scale.z),i.master.matrix.multiply(Se),i.master.matrix.decompose(i.master.position,i.master.quaternion,i.master.scale)),i.isSetup=!0,a.onLoadCallback&&a.onLoadCallback(i);case 35:case"end":return h.stop()}}),_callee,this)}))),function setup(t){return i.apply(this,arguments)})},{key:"isAbsolutePathOrURL",value:function isAbsolutePathOrURL(t){var a=/^(?:http|https|ftp|tcp|udp):\/\/\S+/.test(t),r=t.startsWith("/")&&!t.startsWith("//");return a||r}},{key:"assembleURL",value:function assembleURL(t,a){t.endsWith("/")||(t+="/");for(var r=new URL(t),i=r.pathname.split("/").filter((function(t){return""!==t})),o=a.split("/").filter((function(t){return""!==t})),A=1;A<=i.length&&!(A>=o.length);A++){if(i.slice(i.length-A,i.length).join("/")===o.slice(0,A).join("/")){for(var c=0;c<A;c++)i.pop();break}}for(;o.length>0&&".."===o[0];)i.pop(),o.shift();return"".concat(r.protocol,"//").concat(r.host,"/").concat([].concat(InstancedTile_toConsumableArray(i),InstancedTile_toConsumableArray(o)).join("/"))}},{key:"extractQueryParams",value:function extractQueryParams(t,a){var r,i=new URL(t),o=function InstancedTile_createForOfIteratorHelper(t,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=InstancedTile_unsupportedIterableToArray(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var i=0,o=function F(){};return{s:o,n:function n(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var A,c=!0,l=!1;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){l=!0,A=t},f:function f(){try{c||null==r.return||r.return()}finally{if(l)throw A}}}}(i.searchParams);try{for(o.s();!(r=o.n()).done;){var A=InstancedTile_slicedToArray(r.value,2),c=A[0],l=A[1];a[c]=l}}catch(t){o.e(t)}finally{o.f()}return i.search="",i.toString()}},{key:"load",value:function load(){var t=this;function loadContent(a){var r;a.uri?r=a.uri:a.url&&(r=a.url);var i=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(i.test(t.rootPath)?i.test(r)||(r=t.assembleURL(t.rootPath,r)):me.isAbsolute(t.rootPath)&&(r=t.rootPath+me.sep+r),r=t.extractQueryParams(r,t.queryParams),t.queryParams){var o="";for(var A in t.queryParams)t.queryParams.hasOwnProperty(A)&&(o+="&"+A+"="+t.queryParams[A]);r.includes("?")?r+=o:r+="?"+o.substring(1)}r&&(r.includes(".b3dm")||r.includes(".glb")||r.includes(".gltf")?(t.contentURL=r,t.tileLoader.get(t.abortController,r,t.uuid,t,t.cameraOnLoad?function(){return t.calculateDistanceToCamera(t.cameraOnLoad)}:function(){return 0},(function(){return t.getSiblings()}),t.level,!t.json.boundingVolume.region,!!t.json.boundingVolume.region,t.geometricError)):r.includes(".json")&&t.tileLoader.get(t.abortController,r,t.uuid,t))}t.deleted||(t.json.content?loadContent(t.json.content):t.json.contents&&t.json.contents.forEach((function(t){return loadContent(t)})))}},{key:"loadMesh",value:function loadMesh(t){this.deleted||this.meshContent.add(t)}},{key:"loadJson",value:function loadJson(t,a){this.deleted||(this.json.children&&(this.jsonChildren=this.json.children),t.rootPath=me.dirname(a),this.jsonChildren.push(t),this.hasUnloadedJSONContent--)}},{key:"dispose",value:function dispose(){var t=this;t.childrenTiles.forEach((function(t){return t.dispose()})),t.deleted=!0,t.abortController&&t.abortController.abort(),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}},{key:"disposeChildren",value:function disposeChildren(){this.childrenTiles.forEach((function(t){return t.dispose()})),this.childrenTiles=[]}},{key:"_update",value:function _update(t,a){var r=this;if(r.isSetup){r.materialVisibility;r.boundingVolume&&r.geometricError&&(r.metric=r.calculateUpdateMetric(t,a)),r.childrenTiles.forEach((function(r){return r._update(t,a)})),updateNodeVisibility(r.metric),function updateTree(a){if(a<0&&r.hasMeshContent)return;if((!r.hasMeshContent&&r.rootPath||a<r.master.geometricErrorMultiplier*r.geometricError&&r.meshContent.size>0)&&r.json&&r.jsonChildren&&r.childrenTiles.length!=r.jsonChildren.length)return void function loadJsonChildren(){r.jsonChildren.forEach((function(a){if(a.root||a.children||a.getChildren||a.content||a.contents){var i=new InstancedTile({parentTile:r,queryParams:r.queryParams,parentGeometricError:r.geometricError,parentBoundingVolume:r.boundingVolume,parentRefinement:r.refinement,json:a,rootPath:r.rootPath,loadOutsideView:r.loadOutsideView,level:r.level+1,tileLoader:r.tileLoader,cameraOnLoad:t,master:r.master,centerModel:!1});r.childrenTiles.push(i)}}))}()}(r.metric),function trimTree(t,a){if(!r.hasMeshContent)return;if(!r.inFrustum)return r.disposeChildren(),void updateNodeVisibility(t);if(t>=r.master.geometricErrorMultiplier*r.geometricError)return r.disposeChildren(),void updateNodeVisibility(t)}(r.metric)}function updateNodeVisibility(t){if(r.hasMeshContent&&!(r.meshContent.size<r.hasMeshContent)){if(t<0)return r.inFrustum=!1,void r.changeContentVisibility(!!r.loadOutsideView);if(r.inFrustum=!0,0!=r.childrenTiles.length){if(t>=r.master.geometricErrorMultiplier*r.geometricError)r.changeContentVisibility(!0);else if(t<r.master.geometricErrorMultiplier*r.geometricError){var a=!0;r.childrenTiles.every((function(t){return!!t.isReady()||(a=!1,!1)})),a&&r.changeContentVisibility(!1)}}else r.changeContentVisibility(!0)}}}},{key:"areAllChildrenLoadedAndHidden",value:function areAllChildrenLoadedAndHidden(){var t=!0;return this.childrenTiles.every((function(a){if(a.hasMeshContent){if(a.childrenTiles.length>0)return t=!1,!1;if(!a.inFrustum)return!0;if(!a.materialVisibility||a.meshesToDisplay!=a.meshesDisplayed)return t=!1,!1}else if(!a.areAllChildrenLoadedAndHidden())return t=!1,!1;return!0})),t}},{key:"isReady",value:function isReady(){if(!this.inFrustum)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent||0==this.meshContent.size||!this.materialVisibility){if(this.childrenTiles.length>0){var t=!0;return this.childrenTiles.every((function(a){return!!a.isReady()||(t=!1,!1)})),t}return!1}return!this.hasMeshContent||!(this.meshContent.size<this.hasMeshContent)&&!!this.materialVisibility}},{key:"changeContentVisibility",value:function changeContentVisibility(t){this.materialVisibility=t}},{key:"calculateUpdateMetric",value:function calculateUpdateMetric(a,i){if(this.boundingVolume instanceof r){if(Te.copy(this.boundingVolume.sphere),Te.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Te))return-1}else{if(!(this.boundingVolume instanceof t.Sphere))return console.error("unsupported shape"),-1;if(Te.copy(this.boundingVolume),Te.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Te))return-1}var o=Math.max(0,a.position.distanceTo(Te.center)-Te.radius);if(Math.pow(o,this.distanceBias),function _readOnlyError(t){throw new TypeError('"'+t+'" is read-only')}("distance"),0==o)return 0;var A=this.matrixWorld.getMaxScaleOnAxis();this.master._renderSize(Ge);var c=Ge.y,l=a.fov;a.aspect<1&&(l*=a.aspect,c=Ge.x);var d=2*Math.tan(.5*l*.017453292519943295)*o;return 16*window.devicePixelRatio*d/(c*A)}},{key:"getSiblings",value:function getSiblings(){var t=this,a=[];if(!t.parentTile)return a;for(var r=t.parentTile;!r.hasMeshContent&&r.parentTile;)r=r.parentTile;return r.childrenTiles.forEach((function(r){if(r&&r!=t){for(;!r.hasMeshContent&&r.childrenTiles[0];)r=r.childrenTiles[0];a.push(r)}})),a}},{key:"calculateDistanceToCamera",value:function calculateDistanceToCamera(a){return this.boundingVolume instanceof r?(Te.copy(this.boundingVolume.sphere),Te.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof t.Sphere?(Te.copy(this.boundingVolume),Te.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,a.position.distanceTo(Te.center)-Te.radius)}},{key:"getWorldMatrix",value:function getWorldMatrix(){return this.matrixWorld}},{key:"transformWGS84ToCartesian",value:function transformWGS84ToCartesian(t,a,r,i){var o=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),A=Math.cos(a),c=Math.cos(t),l=Math.sin(a),d=o+r,h=d*A*c,b=d*A*Math.sin(t),u=(.993305615557957*o+r)*l;i.set(h,b,u)}}]);var i}(t.Object3D);function InstancedOGC3DTile_typeof(t){return InstancedOGC3DTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},InstancedOGC3DTile_typeof(t)}function InstancedOGC3DTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,InstancedOGC3DTile_toPropertyKey(i.key),i)}}function InstancedOGC3DTile_toPropertyKey(t){var a=function InstancedOGC3DTile_toPrimitive(t,a){if("object"!=InstancedOGC3DTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=InstancedOGC3DTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==InstancedOGC3DTile_typeof(a)?a:a+""}function InstancedOGC3DTile_callSuper(t,a,r){return a=InstancedOGC3DTile_getPrototypeOf(a),function InstancedOGC3DTile_possibleConstructorReturn(t,a){if(a&&("object"==InstancedOGC3DTile_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function InstancedOGC3DTile_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,InstancedOGC3DTile_isNativeReflectConstruct()?Reflect.construct(a,r||[],InstancedOGC3DTile_getPrototypeOf(t).constructor):a.apply(t,r))}function InstancedOGC3DTile_isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(InstancedOGC3DTile_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function InstancedOGC3DTile_getPrototypeOf(t){return InstancedOGC3DTile_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},InstancedOGC3DTile_getPrototypeOf(t)}function InstancedOGC3DTile_setPrototypeOf(t,a){return InstancedOGC3DTile_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},InstancedOGC3DTile_setPrototypeOf(t,a)}var Me=function(a){function InstancedOGC3DTile(a){var r;return function InstancedOGC3DTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,InstancedOGC3DTile),r=InstancedOGC3DTile_callSuper(this,InstancedOGC3DTile),a.master=r,a.domWidth&&a.domHeight?r.rendererSize=new t.Vector2(a.domWidth,a.domHeight):r.rendererSize=new t.Vector2(1e3,1e3),r.renderer=a.renderer,r.distanceBias=Math.max(1e-4,a.distanceBias?a.distanceBias:1),r.geometricErrorMultiplier=a.geometricErrorMultiplier?a.geometricErrorMultiplier:1,r.tileset=new Fe(a),a.static&&(r.matrixAutoUpdate=!1),r.tileLoader=a.tileLoader,r}return function InstancedOGC3DTile_inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&InstancedOGC3DTile_setPrototypeOf(t,a)}(InstancedOGC3DTile,a),function InstancedOGC3DTile_createClass(t,a,r){return a&&InstancedOGC3DTile_defineProperties(t.prototype,a),r&&InstancedOGC3DTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(InstancedOGC3DTile,[{key:"_renderSize",value:function _renderSize(t){this.renderer?this.renderer.getDrawingBufferSize(t):t.copy(this.rendererSize)}},{key:"setCanvasSize",value:function setCanvasSize(t,a){this.rendererSize.set(t,a)}},{key:"update",value:function update(a,r){if(r)this.tileset._update(a,r);else{var i=new t.Frustum;i.setFromProjectionMatrix((new t.Matrix4).multiplyMatrices(a.projectionMatrix,a.matrixWorldInverse)),this.tileset._update(a,i)}}},{key:"setGeometricErrorMultiplier",value:function setGeometricErrorMultiplier(t){this.geometricErrorMultiplier=t||1}}])}(t.Object3D);function MeshTile_typeof(t){return MeshTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},MeshTile_typeof(t)}function MeshTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,MeshTile_toPropertyKey(i.key),i)}}function MeshTile_toPropertyKey(t){var a=function MeshTile_toPrimitive(t,a){if("object"!=MeshTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=MeshTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==MeshTile_typeof(a)?a:a+""}var Re=function(){return function MeshTile_createClass(t,a,r){return a&&MeshTile_defineProperties(t.prototype,a),r&&MeshTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function MeshTile(a){!function MeshTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,MeshTile);var r=this;r.scene=a,r.instancedTiles=[],r.instancedMesh,r.reuseableMatrix=new t.Matrix4}),[{key:"addInstance",value:function addInstance(t){var a=this;t.added=!0,t.listOMesh=a.instancedTiles,a.instancedTiles.push(t),a.instancedMesh&&t.loadMesh(a.instancedMesh)}},{key:"addToScene",value:function addToScene(){var a=this;a.instancedMesh.setMatrixAt(0,new t.Matrix4),a.instancedMesh.instanceMatrix.needsUpdate=!0,a.instancedMesh.count=1,a.scene.add(a.instancedMesh),a.instancedMesh.onAfterRender=function(){delete a.instancedMesh.onAfterRender,a.instancedMesh.displayedOnce=!0}}},{key:"setObject",value:function setObject(t){var a=this;a.instancedMesh=t,a.instancedMesh.matrixAutoUpdate=!1,a.instancedMesh.matrixWorldAutoUpdate=!1,a.scene.children.includes(t)||this.addToScene();for(var r=0;r<a.instancedTiles.length;r++)a.instancedTiles[r].loadMesh(a.instancedMesh)}},{key:"update",value:function update(){for(var t=this,a=t.instancedTiles.length-1;a>=0;a--)t.instancedTiles[a].deleted&&t.instancedTiles.splice(a,1);if(t.instancedMesh){t.instancedMesh.count=0,t.instancedMesh.instancedTiles=[];for(var r=0;r<t.instancedTiles.length;r++)t.instancedTiles[r].meshContent.add(t.instancedMesh),t.instancedTiles[r].materialVisibility&&(t.instancedMesh.count++,t.reuseableMatrix.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),t.reuseableMatrix.multiply(t.instancedTiles[r].matrixWorld),t.reuseableMatrix.multiply(t.instancedMesh.baseMatrix),t.instancedMesh.setMatrixAt(t.instancedMesh.count-1,t.reuseableMatrix),t.instancedMesh.instancedTiles.push(t.instancedTiles[r]));t.instancedMesh.instanceMatrix.needsUpdate=!0,t.instancedMesh.needsUpdate=!0,t.instancedMesh.computeBoundingSphere()}}},{key:"getCount",value:function getCount(){return this.instancedTiles.length}},{key:"dispose",value:function dispose(){var t=this;return!(t.instancedTiles.length>0)&&(!!t.instancedMesh&&(t.scene.remove(t.instancedMesh),t.instancedMesh.traverse((function(t){if(t.dispose&&t.dispose(),t.material)if(t.material.length)for(var a=0;a<t.material.length;++a)t.material[a].dispose();else t.material.dispose();t.geometry&&t.geometry.dispose()})),t.instancedMesh.dispose(),!0))}}])}();function JsonTile_typeof(t){return JsonTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},JsonTile_typeof(t)}function JsonTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,JsonTile_toPropertyKey(i.key),i)}}function JsonTile_toPropertyKey(t){var a=function JsonTile_toPrimitive(t,a){if("object"!=JsonTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=JsonTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==JsonTile_typeof(a)?a:a+""}var Pe=function(){return function JsonTile_createClass(t,a,r){return a&&JsonTile_defineProperties(t.prototype,a),r&&JsonTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function JsonTile(){!function JsonTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,JsonTile);var t=this;t.count=0,t.json,t.instancedTiles=[]}),[{key:"addInstance",value:function addInstance(t){this.instancedTiles.push(t),this.json&&t.loadJson(this.json,this.url)}},{key:"setObject",value:function setObject(t,a){var r=this;r.json=t,r.url=a;for(var i=0;i<r.instancedTiles.length;i++)r.instancedTiles[i].loadJson(r.json,r.url)}},{key:"getCount",value:function getCount(){return this.instancedTiles.length}},{key:"update",value:function update(){for(var t=this,a=t.instancedTiles.length-1;a>=0;a--)t.instancedTiles[a].deleted&&t.instancedTiles.splice(a,1)}},{key:"dispose",value:function dispose(){return!(!this.json||0!=this.instancedTiles.length)}}])}();function InstancedTileLoader_typeof(t){return InstancedTileLoader_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},InstancedTileLoader_typeof(t)}function InstancedTileLoader_regeneratorRuntime(){InstancedTileLoader_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==InstancedTileLoader_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(InstancedTileLoader_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function InstancedTileLoader_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function InstancedTileLoader_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){InstancedTileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){InstancedTileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function InstancedTileLoader_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,InstancedTileLoader_toPropertyKey(i.key),i)}}function InstancedTileLoader_toPropertyKey(t){var a=function InstancedTileLoader_toPrimitive(t,a){if("object"!=InstancedTileLoader_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=InstancedTileLoader_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==InstancedTileLoader_typeof(a)?a:a+""}var Ne=0,Ue=function(){return function InstancedTileLoader_createClass(t,a,r){return a&&InstancedTileLoader_defineProperties(t.prototype,a),r&&InstancedTileLoader_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function InstancedTileLoader(a,r){if(function InstancedTileLoader_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,InstancedTileLoader),this.zUpToYUpMatrix=new t.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.maxInstances=1,this.proxy=r.proxy,r&&(this.meshCallback=r.meshCallback,this.pointsCallback=r.pointsCallback,r.maxCachedItems&&(this.maxCachedItems=r.maxCachedItems),r.maxInstances&&(this.maxInstances=r.maxInstances)),this.gltfLoader=new GLTFLoader,r&&r.dracoLoader)this.gltfLoader.setDRACOLoader(r.dracoLoader),this.hasDracoLoader=!0;else{var i=new DRACOLoader;i.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),this.gltfLoader.setDRACOLoader(i),this.gltfLoader.hasDracoLoader=!0}if(r&&r.ktx2Loader)this.gltfLoader.setKTX2Loader(r.ktx2Loader),this.hasKTX2Loader=!0;else if(r&&r.renderer){var A=new KTX2Loader;A.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(r.renderer),this.gltfLoader.setKTX2Loader(A),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(ce),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new d(this.gltfLoader),this.cache=new o.LinkedHashMap,this.scene=a,this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}),[{key:"update",value:function update(){var t=this;t._checkSize(),t.cache._data.forEach((function(t){t.update()})),Ne<8&&t._download(),t._loadBatch()}},{key:"_download",value:function _download(){var a=this,r=this;if(0!=r.nextDownloads.length||(r._getNextDownloads(),0!=r.nextDownloads.length))for(var i,o=function _loop(){var o=r.nextDownloads.shift();o&&(o.path.includes(".b3dm")&&(i=r.proxy?function fetchFunction(){return fetch(r.proxy,{method:"POST",body:o.path})}:function fetchFunction(){return fetch(o.path)},Ne++,i().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+o.path),new Error("couldn't load \"".concat(o.path,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.arrayBuffer()})).then((function(t){return a.b3dmDecoder.parseB3DMInstanced(t,(function(t){r.meshCallback(t,o.geometricError)}),r.maxInstances,o.sceneZupToYup,o.meshZupToYup)})).then((function(t){t.frustumCulled=!1,o.tile.setObject(t),r.ready.unshift(o)})).catch((function(t){return console.error(t)})).finally((function(){Ne--}))),o.path.includes(".glb")||o.path.includes(".gltf")?(i=r.proxy?function fetchFunction(){return fetch(r.proxy,{method:"POST",body:o.path})}:function fetchFunction(){return fetch(o.path)},Ne++,i().then((function(t){if(!t.ok)throw new Error("missing content");return t.arrayBuffer()})).then(function(){var i=InstancedTileLoader_asyncToGenerator(InstancedTileLoader_regeneratorRuntime().mark((function _callee(i){return InstancedTileLoader_regeneratorRuntime().wrap((function _callee$(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,InstancedTileLoader_checkLoaderInitialized(a.gltfLoader);case 2:a.gltfLoader.parse(i,null,(function(i){var A;i.scene.asset=i.asset,o.sceneZupToYup&&i.scene.applyMatrix4(a.zUpToYUpMatrix),i.scene.traverse((function(t){t.geometricError=o.geometricError,t.isMesh&&(o.meshZupToYup&&t.applyMatrix4(a.zUpToYUpMatrix),r.meshCallback&&r.meshCallback(t,t.geometricError)),t.isPoints&&console.error("instanced point cloud is not supported")})),i.scene.updateWorldMatrix(!1,!0),i.scene.traverse((function(a){a.isMesh&&((A=new t.InstancedMesh(a.geometry,a.material,r.maxInstances)).baseMatrix=a.matrixWorld)})),r.ready.unshift(o),A?(A.frustumCulled=!1,o.tile.setObject(A)):i.scene.traverse((function(t){t.dispose&&t.dispose(),t.material&&t.material.dispose()}))}));case 3:case"end":return A.stop()}}),_callee)})));return function(t){return i.apply(this,arguments)}}(),(function(t){console.error("could not load tile : "+o.path)})).finally((function(){Ne--}))):o.path.includes(".json")&&(i=r.proxy?function fetchFunction(){return fetch(r.proxy,{method:"POST",body:o.path})}:function fetchFunction(){return fetch(o.path)},Ne++,i().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+o.path),new Error("couldn't load \"".concat(o.path,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.json()})).then((function(t){return resolveImplicite(t,o.path)})).then((function(t){o.tile.setObject(t,o.path),r.ready.unshift(o)})).catch((function(t){return console.error(t)})).finally((function(){Ne--}))))};r.nextDownloads.length>0;)o()}},{key:"_loadBatch",value:function _loadBatch(){return 0==this.nextReady.length&&(this._getNextReady(),0==this.nextReady.length)?0:this.nextReady.shift()?1:0}},{key:"_getNextReady",value:function _getNextReady(){for(var t=Number.MAX_VALUE,a=-1,r=this.ready.length-1;r>=0;r--)this.ready[r].distanceFunction||this.nextReady.push(this.ready.splice(r,1)[0]);if(!(this.nextReady.length>0)){for(var i=this.ready.length-1;i>=0;i--){var o=this.ready[i].distanceFunction()*this.ready[i].level;o<t&&(t=o,a=i)}if(a>=0){var A=this.ready.splice(a,1).pop();this.nextReady.push(A);for(var c=A.getSiblings(),l=this.ready.length-1;l>=0;l--)c.includes(this.ready[l].uuid)&&this.nextready.push(this.ready.splice(l,1).pop())}}}},{key:"get",value:function get(t,a,r,i,o,A,c,l,d,h){var b=this,u=function InstancedTileLoader_simplifyPath(t){for(var a=t.split("/"),r=[],i=0,o=0;o<a.length;o++){var A=a[o];"."!==A&&""!==A&&".."!==A?r[i++]=A:".."===A&&i>0&&i--}if(0===i)return"/";var c="";for(o=0;o<i;o++)c+="/"+r[o];return c}(a);if(a.includes(".b3dm")||a.includes(".json")||a.includes(".glb")||a.includes(".gltf")){var g=b.cache.get(u);if(g)g.addInstance(i);else if(a.includes(".b3dm")||a.includes(".glb")||a.includes(".gltf")){var p=new Re(b.scene);p.addInstance(i),b.cache.put(u,p);var I=new AbortController;t.signal.addEventListener("abort",(function(){0==p.getCount()&&I.abort()})),this.downloads.push({abortController:I,tile:p,key:u,path:a,distanceFunction:o,getSiblings:A,level:c,uuid:r,sceneZupToYup:l,meshZupToYup:d,geometricError:h,shouldDoDownload:function shouldDoDownload(){return!0}})}else if(a.includes(".json")){var y=new Pe;y.addInstance(i),b.cache.put(u,y);var m=new AbortController;t.signal.addEventListener("abort",(function(){0==y.getCount()&&m.abort()})),this.downloads.push({abortController:m,tile:y,key:u,path:a,distanceFunction:o,getSiblings:A,level:c,shouldDoDownload:function shouldDoDownload(){return!0}})}}else console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data")}},{key:"_getNextDownloads",value:function _getNextDownloads(){for(var t=Number.MAX_VALUE,a=-1,r=this.downloads.length-1;r>=0;r--){var i=this.downloads[r];i.shouldDoDownload()?i.distanceFunction||this.nextDownloads.push(this.downloads.splice(r,1)[0]):this.downloads.splice(r,1)}if(!(this.nextDownloads.length>0)){for(var o=this.downloads.length-1;o>=0;o--){var A=this.downloads[o],c=A.distanceFunction()*A.level;c<t&&(t=c,a=o)}if(a>=0){var l=this.downloads.splice(a,1).pop();this.nextDownloads.push(l);for(var d=l.getSiblings(),h=this.downloads.length-1;h>=0;h--)d.includes(this.downloads[h].uuid)&&this.nextDownloads.push(this.downloads.splice(h,1).pop())}}}},{key:"_checkSize",value:function _checkSize(){for(var t=this,a=0;t.cache.size()>t.maxCachedItems&&a<t.cache.size();){a++;var r=t.cache.head();t.cache.remove(r.key),r.value.dispose()||t.cache.put(r.key,r.value)}}}])}();function InstancedTileLoader_checkLoaderInitialized(t){return InstancedTileLoader_checkLoaderInitialized2.apply(this,arguments)}function InstancedTileLoader_checkLoaderInitialized2(){return(InstancedTileLoader_checkLoaderInitialized2=InstancedTileLoader_asyncToGenerator(InstancedTileLoader_regeneratorRuntime().mark((function _callee2(t){return InstancedTileLoader_regeneratorRuntime().wrap((function _callee2$(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise((function(a){var r=setInterval((function(){t.hasDracoLoader&&!t.dracoLoader||t.hasKTX2Loader&&!t.ktx2Loader||(clearInterval(r),a())}),10)})));case 2:case"end":return a.stop()}}),_callee2,this)})))).apply(this,arguments)}})(),i})()));
2
+ !function webpackUniversalModuleDefinition(t,a){"object"==typeof exports&&"object"==typeof module?module.exports=a(require("three")):"function"==typeof define&&define.amd?define("threedtiles",["three"],a):"object"==typeof exports?exports.threedtiles=a(require("three")):t.threedtiles=a(t.THREE)}(this,(t=>(()=>{var a={649:(t,a,r)=>{const i=r(180),o=r(31),A=r(839);t.exports={Heap:i,Queue:o,LinkedHashMap:A}},180:t=>{t.exports=class Heap{constructor(t,a){if(this._data=[],this._comparator=function compare(t,a){return t>=a},null!=t){if(!Array.isArray(t))throw Error("Constructor expects data to be an array");this._data=t}if(null!=a){if("function"!=typeof a)throw Error("Constructor expects comparator to be a function");this._comparator=a}}peek(){return this.size()<1?null:this._data[0]}pop(){if(this.size()<1)return null;const t=this._data[0];return this.swap(this.size()-1,0),this._data.pop(),this.heapifyDown(0),t}replaceTop(t){if(this.size()<1)return null;const a=this._data[0];return this._data[0]=t,this.heapifyDown(0),a}push(t){this._data.push(t),this.heapifyUp(this._data.length-1)}size(){return this._data.length}swap(t,a){const r=this._data[t];this._data[t]=this._data[a],this._data[a]=r}heapifyUp(t){if(0===t)return;const a=Math.floor((t-1)/2);this._comparator(this._data[t],this._data[a])||(this.swap(t,a),this.heapifyUp(a))}heapifyDown(t){const a=2*t+1,r=2*t+2;if(a>=this._data.length)return;const i=r<this._data.length&&!this._comparator(this._data[r],this._data[a])?r:a;this._comparator(this._data[t],this._data[i])&&(this.swap(t,i),this.heapifyDown(i))}}},839:t=>{t.exports=class LinkedHashMap{constructor(){this._data=new Map,this._link=new Map,this._head=void 0,this._tail=void 0}put(t,a,r=!1){this.has(t)?this._data.set(t,a):(this._data.set(t,a),this._link.set(t,{previous:void 0,next:void 0}),null==this._head?(this._head=t,this._tail=t):r?(this._link.get(this._head).previous=t,this._link.get(t).next=this._head,this._head=t):(this._link.get(this._tail).next=t,this._link.get(t).previous=this._tail,this._tail=t))}head(){return{key:this._head,value:this.get(this._head),next:()=>this.next(this._head),previous:()=>null}}tail(){return{key:this._tail,value:this.get(this._tail),next:()=>null,previous:()=>this.previous(this._tail)}}get(t){return this._data.get(t)}previousKey(t){const a=this._link.get(t);return null!=a?a.previous:void 0}previousValue(t){return this.get(this.previousKey(t))}previous(t){const a=this.previousKey(t);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}nextKey(t){const a=this._link.get(t);return null!=a?a.next:void 0}nextValue(t){return this.get(this.nextKey(t))}next(t){const a=this.nextKey(t);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}remove(t){const a=this._data.get(t);if(null!=a)if(1===this.size())this.reset();else{if(t===this._head){const t=this._link.get(this._head);this._link.get(t.next).previous=null,this._head=t.next}else if(t===this._tail){const t=this._link.get(this._tail);this._link.get(t.previous).next=null,this._tail=t.previous}else{const a=this._link.get(t),r=this._link.get(a.previous),i=this._link.get(a.next);r.next=a.next,i.previous=a.previous}this._link.delete(t),this._data.delete(t)}return a}has(t){return this._data.has(t)}size(){return this._data.size}reset(){this._data.clear(),this._link.clear(),this._head=void 0,this._tail=void 0}keys(){return this._data.keys()}values(){return this._data.values()}entries(){return this._data.entries()}toArray(t="orderByInsert"){if("orderByInsert"!==t){const t=[];let a=this._head;for(;null!=a;)t.push({key:a,value:this.get(a)}),a=this.nextKey(a);return t}return Array.from(this.keys()).map((t=>({key:t,value:this.get(t)})))}}},31:t=>{t.exports=class Queue{constructor(t,a){if(this._data=[],this._head=0,this._cap=null,null!=t){if(!Array.isArray(t))throw Error("Constructor expects data to be an array");this._data=t}if(null!=a){if("number"!=typeof a)throw Error("Constructor expects capacity to be a number");this._cap=a}}enqueue(t){return!(null!=this._cap&&this.size()>=this._cap)&&(this._data.push(t),!0)}dequeue(){if(0===this.size())return null;const t=this._data[this._head];return this._head+=1,2*this._head>=this._data.length&&(this._data=this._data.slice(this._head),this._head=0),t}peek(t=!1){return this.size()>0?t?this._data[this._data.length-1]:this._data[this._head]:null}size(){return this._data.length-this._head}updateCapacity(t){this._cap=t}reset(){this._data=[],this._head=0}forEach(t){for(let a=this._head;a<this._data.length;a+=1)t(this._data[a],a-this._head)}toArray(){return this._data.slice(this._head)}}},975:t=>{"use strict";function assertPath(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function normalizeStringPosix(t,a){for(var r,i="",o=0,A=-1,c=0,l=0;l<=t.length;++l){if(l<t.length)r=t.charCodeAt(l);else{if(47===r)break;r=47}if(47===r){if(A===l-1||1===c);else if(A!==l-1&&2===c){if(i.length<2||2!==o||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2))if(i.length>2){var d=i.lastIndexOf("/");if(d!==i.length-1){-1===d?(i="",o=0):o=(i=i.slice(0,d)).length-1-i.lastIndexOf("/"),A=l,c=0;continue}}else if(2===i.length||1===i.length){i="",o=0,A=l,c=0;continue}a&&(i.length>0?i+="/..":i="..",o=2)}else i.length>0?i+="/"+t.slice(A+1,l):i=t.slice(A+1,l),o=l-A-1;A=l,c=0}else 46===r&&-1!==c?++c:c=-1}return i}var a={resolve:function resolve(){for(var t,a="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var o;i>=0?o=arguments[i]:(void 0===t&&(t=process.cwd()),o=t),assertPath(o),0!==o.length&&(a=o+"/"+a,r=47===o.charCodeAt(0))}return a=normalizeStringPosix(a,!r),r?a.length>0?"/"+a:"/":a.length>0?a:"."},normalize:function normalize(t){if(assertPath(t),0===t.length)return".";var a=47===t.charCodeAt(0),r=47===t.charCodeAt(t.length-1);return 0!==(t=normalizeStringPosix(t,!a)).length||a||(t="."),t.length>0&&r&&(t+="/"),a?"/"+t:t},isAbsolute:function isAbsolute(t){return assertPath(t),t.length>0&&47===t.charCodeAt(0)},join:function join(){if(0===arguments.length)return".";for(var t,r=0;r<arguments.length;++r){var i=arguments[r];assertPath(i),i.length>0&&(void 0===t?t=i:t+="/"+i)}return void 0===t?".":a.normalize(t)},relative:function relative(t,r){if(assertPath(t),assertPath(r),t===r)return"";if((t=a.resolve(t))===(r=a.resolve(r)))return"";for(var i=1;i<t.length&&47===t.charCodeAt(i);++i);for(var o=t.length,A=o-i,c=1;c<r.length&&47===r.charCodeAt(c);++c);for(var l=r.length-c,d=A<l?A:l,h=-1,b=0;b<=d;++b){if(b===d){if(l>d){if(47===r.charCodeAt(c+b))return r.slice(c+b+1);if(0===b)return r.slice(c+b)}else A>d&&(47===t.charCodeAt(i+b)?h=b:0===b&&(h=0));break}var u=t.charCodeAt(i+b);if(u!==r.charCodeAt(c+b))break;47===u&&(h=b)}var g="";for(b=i+h+1;b<=o;++b)b!==o&&47!==t.charCodeAt(b)||(0===g.length?g+="..":g+="/..");return g.length>0?g+r.slice(c+h):(c+=h,47===r.charCodeAt(c)&&++c,r.slice(c))},_makeLong:function _makeLong(t){return t},dirname:function dirname(t){if(assertPath(t),0===t.length)return".";for(var a=t.charCodeAt(0),r=47===a,i=-1,o=!0,A=t.length-1;A>=1;--A)if(47===(a=t.charCodeAt(A))){if(!o){i=A;break}}else o=!1;return-1===i?r?"/":".":r&&1===i?"//":t.slice(0,i)},basename:function basename(t,a){if(void 0!==a&&"string"!=typeof a)throw new TypeError('"ext" argument must be a string');assertPath(t);var r,i=0,o=-1,A=!0;if(void 0!==a&&a.length>0&&a.length<=t.length){if(a.length===t.length&&a===t)return"";var c=a.length-1,l=-1;for(r=t.length-1;r>=0;--r){var d=t.charCodeAt(r);if(47===d){if(!A){i=r+1;break}}else-1===l&&(A=!1,l=r+1),c>=0&&(d===a.charCodeAt(c)?-1==--c&&(o=r):(c=-1,o=l))}return i===o?o=l:-1===o&&(o=t.length),t.slice(i,o)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!A){i=r+1;break}}else-1===o&&(A=!1,o=r+1);return-1===o?"":t.slice(i,o)},extname:function extname(t){assertPath(t);for(var a=-1,r=0,i=-1,o=!0,A=0,c=t.length-1;c>=0;--c){var l=t.charCodeAt(c);if(47!==l)-1===i&&(o=!1,i=c+1),46===l?-1===a?a=c:1!==A&&(A=1):-1!==a&&(A=-1);else if(!o){r=c+1;break}}return-1===a||-1===i||0===A||1===A&&a===i-1&&a===r+1?"":t.slice(a,i)},format:function format(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function _format(t,a){var r=a.dir||a.root,i=a.base||(a.name||"")+(a.ext||"");return r?r===a.root?r+i:r+t+i:i}("/",t)},parse:function parse(t){assertPath(t);var a={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return a;var r,i=t.charCodeAt(0),o=47===i;o?(a.root="/",r=1):r=0;for(var A=-1,c=0,l=-1,d=!0,h=t.length-1,b=0;h>=r;--h)if(47!==(i=t.charCodeAt(h)))-1===l&&(d=!1,l=h+1),46===i?-1===A?A=h:1!==b&&(b=1):-1!==A&&(b=-1);else if(!d){c=h+1;break}return-1===A||-1===l||0===b||1===b&&A===l-1&&A===c+1?-1!==l&&(a.base=a.name=0===c&&o?t.slice(1,l):t.slice(c,l)):(0===c&&o?(a.name=t.slice(1,A),a.base=t.slice(1,l)):(a.name=t.slice(c,A),a.base=t.slice(c,l)),a.ext=t.slice(A,l)),c>0?a.dir=t.slice(0,c-1):o&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,t.exports=a},818:a=>{"use strict";a.exports=t}},r={};function __webpack_require__(t){var i=r[t];if(void 0!==i)return i.exports;var o=r[t]={exports:{}};return a[t](o,o.exports,__webpack_require__),o.exports}__webpack_require__.d=(t,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};return(()=>{"use strict";__webpack_require__.r(i),__webpack_require__.d(i,{InstancedOGC3DTile:()=>Me,InstancedTileLoader:()=>Ue,OGC3DTile:()=>xe,OcclusionCullingService:()=>a,TileLoader:()=>he,getOGC3DTilesCopyrightInfo:()=>getOGC3DTilesCopyrightInfo});var t=__webpack_require__(818);function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,_toPropertyKey(i.key),i)}}function _toPropertyKey(t){var a=function _toPrimitive(t,a){if("object"!=_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==_typeof(a)?a:a+""}var a=function(){return function _createClass(t,a,r){return a&&_defineProperties(t.prototype,a),r&&_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function OcclusionCullingService(){!function _classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,OcclusionCullingService),this.cullMap=[],this.cullMaterial=new t.MeshBasicMaterial({vertexColors:!0}),this.cullMaterial.side=t.FrontSide,this.cullTarget=this._createCullTarget(),this.cullPixels=new Uint8Array(4*this.cullTarget.width*this.cullTarget.height)}),[{key:"setSide",value:function setSide(t){this.cullMaterial.side=t}},{key:"_createCullTarget",value:function _createCullTarget(){var a=new t.WebGLRenderTarget(Math.floor(.05*window.innerWidth),Math.floor(.05*window.innerHeight));return a.texture.format=t.RGBAFormat,a.texture.colorSpace=t.LinearSRGBColorSpace,a.texture.minFilter=t.NearestFilter,a.texture.magFilter=t.NearestFilter,a.texture.generateMipmaps=!1,a.stencilBuffer=!1,a.depthBuffer=!0,a.depthTexture=new t.DepthTexture,a.depthTexture.format=t.DepthFormat,a.depthTexture.type=t.UnsignedShortType,a}},{key:"update",value:function update(a,r,i){var o=r.getRenderTarget(),A=a.overrideMaterial;a.overrideMaterial=this.cullMaterial,r.setRenderTarget(this.cullTarget),r.render(a,i),a.overrideMaterial=A,r.setRenderTarget(o),r.readRenderTargetPixels(this.cullTarget,0,0,this.cullTarget.width,this.cullTarget.height,this.cullPixels),this.cullMap=[];for(var c=0;c<this.cullPixels.length;c+=4){var l=t.MathUtils.clamp(this.cullPixels[c],0,255)<<16^t.MathUtils.clamp(this.cullPixels[c+1],0,255)<<8^t.MathUtils.clamp(this.cullPixels[c+2],0,255);this.cullMap[l]=!0}}},{key:"hasID",value:function hasID(t){return this.cullMap[t]}}])}();function obb_typeof(t){return obb_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},obb_typeof(t)}function _createForOfIteratorHelper(t,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function _unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return _arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,a):void 0}}(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var i=0,o=function F(){};return{s:o,n:function n(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var A,c=!0,l=!1;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){l=!0,A=t},f:function f(){try{c||null==r.return||r.return()}finally{if(l)throw A}}}}function _arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function obb_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,obb_toPropertyKey(i.key),i)}}function obb_toPropertyKey(t){var a=function obb_toPrimitive(t,a){if("object"!=obb_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=obb_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==obb_typeof(a)?a:a+""}var r=function(){return function obb_createClass(t,a,r){return a&&obb_defineProperties(t.prototype,a),r&&obb_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function OBB(a){!function obb_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,OBB),this.center=new t.Vector3(a[0],a[1],a[2]);var r=new t.Vector3(a[3],a[4],a[4]),i=new t.Vector3(a[6],a[7],a[8]),o=new t.Vector3(a[9],a[10],a[11]);this.halfWidth=r.length(),this.halfHeight=i.length(),this.halfDepth=o.length(),this.aabb=new t.Box3;for(var A=new t.Vector3,c=[-1,1],l=0,d=c;l<d.length;l++){var h,b=d[l],u=_createForOfIteratorHelper(c);try{for(u.s();!(h=u.n()).done;){var g,p=h.value,I=_createForOfIteratorHelper(c);try{for(I.s();!(g=I.n()).done;){var y=g.value;A.copy(this.center).addScaledVector(r,b).addScaledVector(i,p).addScaledVector(o,y),this.aabb.expandByPoint(A)}}catch(t){I.e(t)}finally{I.f()}}}catch(t){u.e(t)}finally{u.f()}}r.normalize(),i.normalize(),o.normalize(),this.sphere=new t.Sphere(this.center,Math.sqrt(this.halfWidth*this.halfWidth+this.halfHeight*this.halfHeight+this.halfDepth*this.halfDepth)),this.matrixToOBBCoordinateSystem=new t.Matrix3,this.matrixToOBBCoordinateSystem.set(r.x,r.y,r.z,i.x,i.y,i.z,o.x,o.y,o.z)}),[{key:"inFrustum",value:function inFrustum(t){return t.intersectsSphere(this.sphere)}},{key:"distanceToPoint",value:function distanceToPoint(t){var a=t.clone();a.sub(this.center),a.applyMatrix3(this.matrixToOBBCoordinateSystem);var r=Math.max(0,Math.max(-this.halfWidth-a.x,a.x-this.halfWidth)),i=Math.max(0,Math.max(-this.halfHeight-a.y,a.y-this.halfHeight)),o=Math.max(0,Math.max(-this.halfDepth-a.z,a.z-this.halfDepth));return Math.sqrt(r*r+i*i+o*o)}}])}(),o=__webpack_require__(649);function FeatureTable_typeof(t){return FeatureTable_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},FeatureTable_typeof(t)}function _callSuper(t,a,r){return a=_getPrototypeOf(a),function _possibleConstructorReturn(t,a){if(a&&("object"==FeatureTable_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,_isNativeReflectConstruct()?Reflect.construct(a,r||[],_getPrototypeOf(t).constructor):a.apply(t,r))}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,a,r){var i=function _superPropBase(t,a){for(;!{}.hasOwnProperty.call(t,a)&&null!==(t=_getPrototypeOf(t)););return t}(t,a);if(i){var o=Object.getOwnPropertyDescriptor(i,a);return o.get?o.get.call(arguments.length<3?t:r):o.value}},_get.apply(null,arguments)}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _setPrototypeOf(t,a){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},_setPrototypeOf(t,a)}function FeatureTable_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}function FeatureTable_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,FeatureTable_toPropertyKey(i.key),i)}}function FeatureTable_createClass(t,a,r){return a&&FeatureTable_defineProperties(t.prototype,a),r&&FeatureTable_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function FeatureTable_toPropertyKey(t){var a=function FeatureTable_toPrimitive(t,a){if("object"!=FeatureTable_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=FeatureTable_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==FeatureTable_typeof(a)?a:a+""}var A=new TextDecoder,c=function(){return FeatureTable_createClass((function FeatureTable(t,a,r,i){FeatureTable_classCallCheck(this,FeatureTable),this.buffer=t,this.binOffset=a+r,this.binLength=i;var o=null;if(0!==r)try{var c=new Uint8Array(t,a,r);o=JSON.parse(A.decode(c))}catch(t){o={}}else o={};this.header=o}),[{key:"getKeys",value:function getKeys(){return Object.keys(this.header)}},{key:"getData",value:function getData(t,a){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=this.header;if(!(t in o))return null;var A=o[t];if(A instanceof Object){if(Array.isArray(A))return A;var c,l,d=this.buffer,h=this.binOffset,b=this.binLength,u=A.byteOffset||0,g=A.type||i,p=A.componentType||r;if("type"in A&&i&&A.type!==i)throw new Error("FeatureTable: Specified type does not match expected type.");switch(g){case"SCALAR":c=1;break;case"VEC2":c=2;break;case"VEC3":c=3;break;case"VEC4":c=4;break;default:throw new Error('FeatureTable : Feature type not provided for "'.concat(t,'".'))}var I=h+u,y=a*c;switch(p){case"BYTE":l=new Int8Array(d,I,y);break;case"UNSIGNED_BYTE":l=new Uint8Array(d,I,y);break;case"SHORT":l=new Int16Array(d,I,y);break;case"UNSIGNED_SHORT":l=new Uint16Array(d,I,y);break;case"INT":l=new Int32Array(d,I,y);break;case"UNSIGNED_INT":l=new Uint32Array(d,I,y);break;case"FLOAT":l=new Float32Array(d,I,y);break;case"DOUBLE":l=new Float64Array(d,I,y);break;default:throw new Error('FeatureTable : Feature component type not provided for "'.concat(t,'".'))}if(I+y*l.BYTES_PER_ELEMENT>h+b)throw new Error("FeatureTable: Feature data read outside binary body length.");return l}return A}}])}(),l=function(t){function BatchTable(t,a,r,i,o){var A;return FeatureTable_classCallCheck(this,BatchTable),(A=_callSuper(this,BatchTable,[t,r,i,o])).batchSize=a,A}return function _inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&_setPrototypeOf(t,a)}(BatchTable,t),FeatureTable_createClass(BatchTable,[{key:"getData",value:function getData(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return _get(_getPrototypeOf(BatchTable.prototype),"getData",this).call(this,t,this.batchSize,a,r)}}])}(c);function mergeAttributes(a){let r,i,o,A=-1,c=0;for(let t=0;t<a.length;++t){const l=a[t];if(void 0===r&&(r=l.array.constructor),r!==l.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(void 0===i&&(i=l.itemSize),i!==l.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(void 0===o&&(o=l.normalized),o!==l.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(-1===A&&(A=l.gpuType),A!==l.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;c+=l.count*i}const l=new r(c),d=new t.BufferAttribute(l,i,o);let h=0;for(let t=0;t<a.length;++t){const r=a[t];if(r.isInterleavedBufferAttribute){const t=h/i;for(let a=0,o=r.count;a<o;a++)for(let o=0;o<i;o++){const i=r.getComponent(a,o);d.setComponent(a+t,o,i)}}else l.set(r.array,h);h+=r.count*i}return void 0!==A&&(d.gpuType=A),d}function toTrianglesDrawMode(a,r){if(r===t.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),a;if(r===t.TriangleFanDrawMode||r===t.TriangleStripDrawMode){let i=a.getIndex();if(null===i){const t=[],r=a.getAttribute("position");if(void 0===r)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),a;for(let a=0;a<r.count;a++)t.push(a);a.setIndex(t),i=a.getIndex()}const o=i.count-2,A=[];if(r===t.TriangleFanDrawMode)for(let t=1;t<=o;t++)A.push(i.getX(0)),A.push(i.getX(t)),A.push(i.getX(t+1));else for(let t=0;t<o;t++)t%2==0?(A.push(i.getX(t)),A.push(i.getX(t+1)),A.push(i.getX(t+2))):(A.push(i.getX(t+2)),A.push(i.getX(t+1)),A.push(i.getX(t)));A.length/3!==o&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const c=a.clone();return c.setIndex(A),c.clearGroups(),c}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",r),a}function B3DMDecoder_typeof(t){return B3DMDecoder_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},B3DMDecoder_typeof(t)}function _regeneratorRuntime(){_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==B3DMDecoder_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(B3DMDecoder_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function _asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function B3DMDecoder_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,B3DMDecoder_toPropertyKey(i.key),i)}}function B3DMDecoder_toPropertyKey(t){var a=function B3DMDecoder_toPrimitive(t,a){if("object"!=B3DMDecoder_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=B3DMDecoder_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==B3DMDecoder_typeof(a)?a:a+""}var d=function(){return function B3DMDecoder_createClass(t,a,r){return a&&B3DMDecoder_defineProperties(t.prototype,a),r&&B3DMDecoder_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function B3DMDecoder(a){var r=this;!function B3DMDecoder_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,B3DMDecoder),function _defineProperty(t,a,r){return(a=B3DMDecoder_toPropertyKey(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}(this,"checkLoaderInitialized",_asyncToGenerator(_regeneratorRuntime().mark((function _callee(){return _regeneratorRuntime().wrap((function _callee$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t){var a=setInterval((function(){r.gltfLoader.hasDracoLoader&&!r.gltfLoader.dracoLoader||r.gltfLoader.hasKTX2Loader&&!r.gltfLoader.ktx2Loader||(clearInterval(a),t())}),10)})));case 1:case"end":return t.stop()}}),_callee)})))),this.gltfLoader=a,this.tempMatrix=new t.Matrix4,this.zUpToYUpMatrix=new t.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1)}),[{key:"parseB3DM",value:function parseB3DM(t,a,r,i){var o=this,A=this,d=new DataView(t),h=String.fromCharCode(d.getUint8(0))+String.fromCharCode(d.getUint8(1))+String.fromCharCode(d.getUint8(2))+String.fromCharCode(d.getUint8(3));console.assert("b3dm"===h);var b=d.getUint32(8,!0);console.assert(b===t.byteLength);var u=d.getUint32(12,!0),g=d.getUint32(16,!0),p=d.getUint32(20,!0),I=d.getUint32(24,!0),y=new c(t,28,u,g),m=28+u+g,C=(new l(t,y.getData("BATCH_LENGTH"),m,p,I),m+p+I),E=new Uint8Array(t,C,b-C).slice().buffer;return new Promise(function(){var t=_asyncToGenerator(_regeneratorRuntime().mark((function _callee2(t,c){return _regeneratorRuntime().wrap((function _callee2$(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,o.checkLoaderInitialized();case 2:o.gltfLoader.parse(E,null,(function(c){var l=y.getData("RTC_CENTER");l?(o.tempMatrix.makeTranslation(l[0],l[1],l[2]),c.scene.applyMatrix4(o.tempMatrix)):c.userData.gltfExtensions&&c.userData.gltfExtensions.CESIUM_RTC&&(o.tempMatrix.makeTranslation(c.userData.gltfExtensions.CESIUM_RTC.center[0],c.userData.gltfExtensions.CESIUM_RTC.center[1],c.userData.gltfExtensions.CESIUM_RTC.center[2]),c.scene.applyMatrix4(o.tempMatrix)),r&&c.scene.applyMatrix4(A.zUpToYUpMatrix),c.scene.asset=c.asset,c.scene.traverse((function(t){t.isMesh&&(i&&t.applyMatrix4(A.zUpToYUpMatrix),a&&a(t))})),t(c.scene)}),(function(t){console.error(t)}));case 3:case"end":return c.stop()}}),_callee2)})));return function(a,r){return t.apply(this,arguments)}}())}},{key:"parseB3DMInstanced",value:function parseB3DMInstanced(a,r,i,o,A){return this.parseB3DM(a,r,o,A).then((function(a){var r,o=[],A=[];a.updateWorldMatrix(!1,!0),a.traverse((function(t){t.isMesh&&(t.geometry.applyMatrix4(t.matrixWorld),o.push(t.geometry),A.push(t.material))}));var c=function normalizeAndMergeGeometries(a){var r=new Set;a.forEach((function(t){for(var a in t.attributes)r.add(a)})),a.forEach((function(a){r.forEach((function(r){if(!a.attributes[r]){var i=function getAttributeSize(t){switch(t){case"position":case"normal":case"color":return 3;case"uv":case"uv2":return 2;default:throw new Error("Unknown attribute ".concat(t))}}(r),o=new Float32Array(i*a.getAttribute("position").count).fill(0);a.setAttribute(r,new t.BufferAttribute(o,i))}}))}));var i=function mergeGeometries(a,r=!1){const i=null!==a[0].index,o=new Set(Object.keys(a[0].attributes)),A=new Set(Object.keys(a[0].morphAttributes)),c={},l={},d=a[0].morphTargetsRelative,h=new t.BufferGeometry;let b=0;for(let t=0;t<a.length;++t){const u=a[t];let g=0;if(i!==(null!==u.index))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const a in u.attributes){if(!o.has(a))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+'. All geometries must have compatible attributes; make sure "'+a+'" attribute exists among all geometries, or in none of them.'),null;void 0===c[a]&&(c[a]=[]),c[a].push(u.attributes[a]),g++}if(g!==o.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". Make sure all geometries have the same number of attributes."),null;if(d!==u.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const a in u.morphAttributes){if(!A.has(a))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". .morphAttributes must be consistent throughout all geometries."),null;void 0===l[a]&&(l[a]=[]),l[a].push(u.morphAttributes[a])}if(r){let a;if(i)a=u.index.count;else{if(void 0===u.attributes.position)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+t+". The geometry must have either an index or a position attribute"),null;a=u.attributes.position.count}h.addGroup(b,a,t),b+=a}}if(i){let t=0;const r=[];for(let i=0;i<a.length;++i){const o=a[i].index;for(let a=0;a<o.count;++a)r.push(o.getX(a)+t);t+=a[i].attributes.position.count}h.setIndex(r)}for(const t in c){const a=mergeAttributes(c[t]);if(!a)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+t+" attribute."),null;h.setAttribute(t,a)}for(const t in l){const a=l[t][0].length;if(0===a)break;h.morphAttributes=h.morphAttributes||{},h.morphAttributes[t]=[];for(let r=0;r<a;++r){const a=[];for(let i=0;i<l[t].length;++i)a.push(l[t][i][r]);const i=mergeAttributes(a);if(!i)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+t+" morphAttribute."),null;h.morphAttributes[t].push(i)}}return h}(a,!0);return i}(o);return(r=new t.InstancedMesh(c,A,i)).baseMatrix=(new t.Matrix4).identity(),r}))}}])}();class GLTFLoader extends t.Loader{constructor(t){super(t),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register((function(t){return new GLTFMaterialsClearcoatExtension(t)})),this.register((function(t){return new GLTFMaterialsDispersionExtension(t)})),this.register((function(t){return new GLTFTextureBasisUExtension(t)})),this.register((function(t){return new GLTFTextureWebPExtension(t)})),this.register((function(t){return new GLTFTextureAVIFExtension(t)})),this.register((function(t){return new GLTFMaterialsSheenExtension(t)})),this.register((function(t){return new GLTFMaterialsTransmissionExtension(t)})),this.register((function(t){return new GLTFMaterialsVolumeExtension(t)})),this.register((function(t){return new GLTFMaterialsIorExtension(t)})),this.register((function(t){return new GLTFMaterialsEmissiveStrengthExtension(t)})),this.register((function(t){return new GLTFMaterialsSpecularExtension(t)})),this.register((function(t){return new GLTFMaterialsIridescenceExtension(t)})),this.register((function(t){return new GLTFMaterialsAnisotropyExtension(t)})),this.register((function(t){return new GLTFMaterialsBumpExtension(t)})),this.register((function(t){return new GLTFLightsExtension(t)})),this.register((function(t){return new GLTFMeshoptCompression(t)})),this.register((function(t){return new GLTFMeshGpuInstancing(t)}))}load(a,r,i,o){const A=this;let c;if(""!==this.resourcePath)c=this.resourcePath;else if(""!==this.path){const r=t.LoaderUtils.extractUrlBase(a);c=t.LoaderUtils.resolveURL(r,this.path)}else c=t.LoaderUtils.extractUrlBase(a);this.manager.itemStart(a);const _onError=function(t){o?o(t):console.error(t),A.manager.itemError(a),A.manager.itemEnd(a)},l=new t.FileLoader(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(a,(function(t){try{A.parse(t,c,(function(t){r(t),A.manager.itemEnd(a)}),_onError)}catch(t){_onError(t)}}),i,_onError)}setDRACOLoader(t){return this.dracoLoader=t,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(t){return this.ktx2Loader=t,this}setMeshoptDecoder(t){return this.meshoptDecoder=t,this}register(t){return-1===this.pluginCallbacks.indexOf(t)&&this.pluginCallbacks.push(t),this}unregister(t){return-1!==this.pluginCallbacks.indexOf(t)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(t),1),this}parse(t,a,r,i){let o;const A={},c={},l=new TextDecoder;if("string"==typeof t)o=JSON.parse(t);else if(t instanceof ArrayBuffer){if(l.decode(new Uint8Array(t,0,4))===b){try{A[h.KHR_BINARY_GLTF]=new GLTFBinaryExtension(t)}catch(t){return void(i&&i(t))}o=JSON.parse(A[h.KHR_BINARY_GLTF].content)}else o=JSON.parse(l.decode(t))}else o=t;if(void 0===o.asset||o.asset.version[0]<2)return void(i&&i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const d=new GLTFParser(o,{path:a||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});d.fileLoader.setRequestHeader(this.requestHeader);for(let t=0;t<this.pluginCallbacks.length;t++){const a=this.pluginCallbacks[t](d);a.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),c[a.name]=a,A[a.name]=!0}if(o.extensionsUsed)for(let t=0;t<o.extensionsUsed.length;++t){const a=o.extensionsUsed[t],r=o.extensionsRequired||[];switch(a){case h.KHR_MATERIALS_UNLIT:A[a]=new GLTFMaterialsUnlitExtension;break;case h.KHR_DRACO_MESH_COMPRESSION:A[a]=new GLTFDracoMeshCompressionExtension(o,this.dracoLoader);break;case h.KHR_TEXTURE_TRANSFORM:A[a]=new GLTFTextureTransformExtension;break;case h.KHR_MESH_QUANTIZATION:A[a]=new GLTFMeshQuantizationExtension;break;default:r.indexOf(a)>=0&&void 0===c[a]&&console.warn('THREE.GLTFLoader: Unknown extension "'+a+'".')}}d.setExtensions(A),d.setPlugins(c),d.parse(r,i)}parseAsync(t,a){const r=this;return new Promise((function(i,o){r.parse(t,a,i,o)}))}}function GLTFRegistry(){let t={};return{get:function(a){return t[a]},add:function(a,r){t[a]=r},remove:function(a){delete t[a]},removeAll:function(){t={}}}}const h={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class GLTFLightsExtension{constructor(t){this.parser=t,this.name=h.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const t=this.parser,a=this.parser.json.nodes||[];for(let r=0,i=a.length;r<i;r++){const i=a[r];i.extensions&&i.extensions[this.name]&&void 0!==i.extensions[this.name].light&&t._addNodeRef(this.cache,i.extensions[this.name].light)}}_loadLight(a){const r=this.parser,i="light:"+a;let o=r.cache.get(i);if(o)return o;const A=r.json,c=((A.extensions&&A.extensions[this.name]||{}).lights||[])[a];let l;const d=new t.Color(16777215);void 0!==c.color&&d.setRGB(c.color[0],c.color[1],c.color[2],t.LinearSRGBColorSpace);const h=void 0!==c.range?c.range:0;switch(c.type){case"directional":l=new t.DirectionalLight(d),l.target.position.set(0,0,-1),l.add(l.target);break;case"point":l=new t.PointLight(d),l.distance=h;break;case"spot":l=new t.SpotLight(d),l.distance=h,c.spot=c.spot||{},c.spot.innerConeAngle=void 0!==c.spot.innerConeAngle?c.spot.innerConeAngle:0,c.spot.outerConeAngle=void 0!==c.spot.outerConeAngle?c.spot.outerConeAngle:Math.PI/4,l.angle=c.spot.outerConeAngle,l.penumbra=1-c.spot.innerConeAngle/c.spot.outerConeAngle,l.target.position.set(0,0,-1),l.add(l.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+c.type)}return l.position.set(0,0,0),l.decay=2,assignExtrasToUserData(l,c),void 0!==c.intensity&&(l.intensity=c.intensity),l.name=r.createUniqueName(c.name||"light_"+a),o=Promise.resolve(l),r.cache.add(i,o),o}getDependency(t,a){if("light"===t)return this._loadLight(a)}createNodeAttachment(t){const a=this,r=this.parser,i=r.json.nodes[t],o=(i.extensions&&i.extensions[this.name]||{}).light;return void 0===o?null:this._loadLight(o).then((function(t){return r._getNodeRef(a.cache,o,t)}))}}class GLTFMaterialsUnlitExtension{constructor(){this.name=h.KHR_MATERIALS_UNLIT}getMaterialType(){return t.MeshBasicMaterial}extendParams(a,r,i){const o=[];a.color=new t.Color(1,1,1),a.opacity=1;const A=r.pbrMetallicRoughness;if(A){if(Array.isArray(A.baseColorFactor)){const r=A.baseColorFactor;a.color.setRGB(r[0],r[1],r[2],t.LinearSRGBColorSpace),a.opacity=r[3]}void 0!==A.baseColorTexture&&o.push(i.assignTexture(a,"map",A.baseColorTexture,t.SRGBColorSpace))}return Promise.all(o)}}class GLTFMaterialsEmissiveStrengthExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(t,a){const r=this.parser.json.materials[t];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const i=r.extensions[this.name].emissiveStrength;return void 0!==i&&(a.emissiveIntensity=i),Promise.resolve()}}class GLTFMaterialsClearcoatExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_CLEARCOAT}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[],c=o.extensions[this.name];if(void 0!==c.clearcoatFactor&&(r.clearcoat=c.clearcoatFactor),void 0!==c.clearcoatTexture&&A.push(i.assignTexture(r,"clearcoatMap",c.clearcoatTexture)),void 0!==c.clearcoatRoughnessFactor&&(r.clearcoatRoughness=c.clearcoatRoughnessFactor),void 0!==c.clearcoatRoughnessTexture&&A.push(i.assignTexture(r,"clearcoatRoughnessMap",c.clearcoatRoughnessTexture)),void 0!==c.clearcoatNormalTexture&&(A.push(i.assignTexture(r,"clearcoatNormalMap",c.clearcoatNormalTexture)),void 0!==c.clearcoatNormalTexture.scale)){const a=c.clearcoatNormalTexture.scale;r.clearcoatNormalScale=new t.Vector2(a,a)}return Promise.all(A)}}class GLTFMaterialsDispersionExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_DISPERSION}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser.json.materials[t];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const i=r.extensions[this.name];return a.dispersion=void 0!==i.dispersion?i.dispersion:0,Promise.resolve()}}class GLTFMaterialsIridescenceExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_IRIDESCENCE}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return void 0!==A.iridescenceFactor&&(a.iridescence=A.iridescenceFactor),void 0!==A.iridescenceTexture&&o.push(r.assignTexture(a,"iridescenceMap",A.iridescenceTexture)),void 0!==A.iridescenceIor&&(a.iridescenceIOR=A.iridescenceIor),void 0===a.iridescenceThicknessRange&&(a.iridescenceThicknessRange=[100,400]),void 0!==A.iridescenceThicknessMinimum&&(a.iridescenceThicknessRange[0]=A.iridescenceThicknessMinimum),void 0!==A.iridescenceThicknessMaximum&&(a.iridescenceThicknessRange[1]=A.iridescenceThicknessMaximum),void 0!==A.iridescenceThicknessTexture&&o.push(r.assignTexture(a,"iridescenceThicknessMap",A.iridescenceThicknessTexture)),Promise.all(o)}}class GLTFMaterialsSheenExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_SHEEN}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[];r.sheenColor=new t.Color(0,0,0),r.sheenRoughness=0,r.sheen=1;const c=o.extensions[this.name];if(void 0!==c.sheenColorFactor){const a=c.sheenColorFactor;r.sheenColor.setRGB(a[0],a[1],a[2],t.LinearSRGBColorSpace)}return void 0!==c.sheenRoughnessFactor&&(r.sheenRoughness=c.sheenRoughnessFactor),void 0!==c.sheenColorTexture&&A.push(i.assignTexture(r,"sheenColorMap",c.sheenColorTexture,t.SRGBColorSpace)),void 0!==c.sheenRoughnessTexture&&A.push(i.assignTexture(r,"sheenRoughnessMap",c.sheenRoughnessTexture)),Promise.all(A)}}class GLTFMaterialsTransmissionExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_TRANSMISSION}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return void 0!==A.transmissionFactor&&(a.transmission=A.transmissionFactor),void 0!==A.transmissionTexture&&o.push(r.assignTexture(a,"transmissionMap",A.transmissionTexture)),Promise.all(o)}}class GLTFMaterialsVolumeExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_VOLUME}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[],c=o.extensions[this.name];r.thickness=void 0!==c.thicknessFactor?c.thicknessFactor:0,void 0!==c.thicknessTexture&&A.push(i.assignTexture(r,"thicknessMap",c.thicknessTexture)),r.attenuationDistance=c.attenuationDistance||1/0;const l=c.attenuationColor||[1,1,1];return r.attenuationColor=(new t.Color).setRGB(l[0],l[1],l[2],t.LinearSRGBColorSpace),Promise.all(A)}}class GLTFMaterialsIorExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_IOR}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser.json.materials[t];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const i=r.extensions[this.name];return a.ior=void 0!==i.ior?i.ior:1.5,Promise.resolve()}}class GLTFMaterialsSpecularExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_SPECULAR}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(a,r){const i=this.parser,o=i.json.materials[a];if(!o.extensions||!o.extensions[this.name])return Promise.resolve();const A=[],c=o.extensions[this.name];r.specularIntensity=void 0!==c.specularFactor?c.specularFactor:1,void 0!==c.specularTexture&&A.push(i.assignTexture(r,"specularIntensityMap",c.specularTexture));const l=c.specularColorFactor||[1,1,1];return r.specularColor=(new t.Color).setRGB(l[0],l[1],l[2],t.LinearSRGBColorSpace),void 0!==c.specularColorTexture&&A.push(i.assignTexture(r,"specularColorMap",c.specularColorTexture,t.SRGBColorSpace)),Promise.all(A)}}class GLTFMaterialsBumpExtension{constructor(t){this.parser=t,this.name=h.EXT_MATERIALS_BUMP}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return a.bumpScale=void 0!==A.bumpFactor?A.bumpFactor:1,void 0!==A.bumpTexture&&o.push(r.assignTexture(a,"bumpMap",A.bumpTexture)),Promise.all(o)}}class GLTFMaterialsAnisotropyExtension{constructor(t){this.parser=t,this.name=h.KHR_MATERIALS_ANISOTROPY}getMaterialType(a){const r=this.parser.json.materials[a];return r.extensions&&r.extensions[this.name]?t.MeshPhysicalMaterial:null}extendMaterialParams(t,a){const r=this.parser,i=r.json.materials[t];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const o=[],A=i.extensions[this.name];return void 0!==A.anisotropyStrength&&(a.anisotropy=A.anisotropyStrength),void 0!==A.anisotropyRotation&&(a.anisotropyRotation=A.anisotropyRotation),void 0!==A.anisotropyTexture&&o.push(r.assignTexture(a,"anisotropyMap",A.anisotropyTexture)),Promise.all(o)}}class GLTFTextureBasisUExtension{constructor(t){this.parser=t,this.name=h.KHR_TEXTURE_BASISU}loadTexture(t){const a=this.parser,r=a.json,i=r.textures[t];if(!i.extensions||!i.extensions[this.name])return null;const o=i.extensions[this.name],A=a.options.ktx2Loader;if(!A){if(r.extensionsRequired&&r.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return a.loadTextureImage(t,o.source,A)}}class GLTFTextureWebPExtension{constructor(t){this.parser=t,this.name=h.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(t){const a=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[a])return null;const A=o.extensions[a],c=i.images[A.source];let l=r.textureLoader;if(c.uri){const t=r.options.manager.getHandler(c.uri);null!==t&&(l=t)}return this.detectSupport().then((function(o){if(o)return r.loadTextureImage(t,A.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(a)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(t)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(t){const a=new Image;a.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",a.onload=a.onerror=function(){t(1===a.height)}}))),this.isSupported}}class GLTFTextureAVIFExtension{constructor(t){this.parser=t,this.name=h.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(t){const a=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[a])return null;const A=o.extensions[a],c=i.images[A.source];let l=r.textureLoader;if(c.uri){const t=r.options.manager.getHandler(c.uri);null!==t&&(l=t)}return this.detectSupport().then((function(o){if(o)return r.loadTextureImage(t,A.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(a)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(t)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(t){const a=new Image;a.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",a.onload=a.onerror=function(){t(1===a.height)}}))),this.isSupported}}class GLTFMeshoptCompression{constructor(t){this.name=h.EXT_MESHOPT_COMPRESSION,this.parser=t}loadBufferView(t){const a=this.parser.json,r=a.bufferViews[t];if(r.extensions&&r.extensions[this.name]){const t=r.extensions[this.name],i=this.parser.getDependency("buffer",t.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(a.extensionsRequired&&a.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then((function(a){const r=t.byteOffset||0,i=t.byteLength||0,A=t.count,c=t.byteStride,l=new Uint8Array(a,r,i);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(A,c,l,t.mode,t.filter).then((function(t){return t.buffer})):o.ready.then((function(){const a=new ArrayBuffer(A*c);return o.decodeGltfBuffer(new Uint8Array(a),A,c,l,t.mode,t.filter),a}))}))}return null}}class GLTFMeshGpuInstancing{constructor(t){this.name=h.EXT_MESH_GPU_INSTANCING,this.parser=t}createNodeMesh(a){const r=this.parser.json,i=r.nodes[a];if(!i.extensions||!i.extensions[this.name]||void 0===i.mesh)return null;const o=r.meshes[i.mesh];for(const t of o.primitives)if(t.mode!==I.TRIANGLES&&t.mode!==I.TRIANGLE_STRIP&&t.mode!==I.TRIANGLE_FAN&&void 0!==t.mode)return null;const A=i.extensions[this.name].attributes,c=[],l={};for(const t in A)c.push(this.parser.getDependency("accessor",A[t]).then((a=>(l[t]=a,l[t]))));return c.length<1?null:(c.push(this.parser.createNodeMesh(a)),Promise.all(c).then((a=>{const r=a.pop(),i=r.isGroup?r.children:[r],o=a[0].count,A=[];for(const a of i){const r=new t.Matrix4,i=new t.Vector3,c=new t.Quaternion,d=new t.Vector3(1,1,1),h=new t.InstancedMesh(a.geometry,a.material,o);for(let t=0;t<o;t++)l.TRANSLATION&&i.fromBufferAttribute(l.TRANSLATION,t),l.ROTATION&&c.fromBufferAttribute(l.ROTATION,t),l.SCALE&&d.fromBufferAttribute(l.SCALE,t),h.setMatrixAt(t,r.compose(i,c,d));for(const r in l)if("_COLOR_0"===r){const a=l[r];h.instanceColor=new t.InstancedBufferAttribute(a.array,a.itemSize,a.normalized)}else"TRANSLATION"!==r&&"ROTATION"!==r&&"SCALE"!==r&&a.geometry.setAttribute(r,l[r]);t.Object3D.prototype.copy.call(h,a),this.parser.assignFinalMaterial(h),A.push(h)}return r.isGroup?(r.clear(),r.add(...A),r):A[0]})))}}const b="glTF",u=1313821514,g=5130562;class GLTFBinaryExtension{constructor(t){this.name=h.KHR_BINARY_GLTF,this.content=null,this.body=null;const a=new DataView(t,0,12),r=new TextDecoder;if(this.header={magic:r.decode(new Uint8Array(t.slice(0,4))),version:a.getUint32(4,!0),length:a.getUint32(8,!0)},this.header.magic!==b)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const i=this.header.length-12,o=new DataView(t,12);let A=0;for(;A<i;){const a=o.getUint32(A,!0);A+=4;const i=o.getUint32(A,!0);if(A+=4,i===u){const i=new Uint8Array(t,12+A,a);this.content=r.decode(i)}else if(i===g){const r=12+A;this.body=t.slice(r,r+a)}A+=a}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class GLTFDracoMeshCompressionExtension{constructor(t,a){if(!a)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=h.KHR_DRACO_MESH_COMPRESSION,this.json=t,this.dracoLoader=a,this.dracoLoader.preload()}decodePrimitive(a,r){const i=this.json,o=this.dracoLoader,A=a.extensions[this.name].bufferView,c=a.extensions[this.name].attributes,l={},d={},h={};for(const t in c){const a=B[t]||t.toLowerCase();l[a]=c[t]}for(const t in a.attributes){const r=B[t]||t.toLowerCase();if(void 0!==c[t]){const o=i.accessors[a.attributes[t]],A=y[o.componentType];h[r]=A.name,d[r]=!0===o.normalized}}return r.getDependency("bufferView",A).then((function(a){return new Promise((function(r,i){o.decodeDracoFile(a,(function(t){for(const a in t.attributes){const r=t.attributes[a],i=d[a];void 0!==i&&(r.normalized=i)}r(t)}),l,h,t.LinearSRGBColorSpace,i)}))}))}}class GLTFTextureTransformExtension{constructor(){this.name=h.KHR_TEXTURE_TRANSFORM}extendTexture(t,a){return void 0!==a.texCoord&&a.texCoord!==t.channel||void 0!==a.offset||void 0!==a.rotation||void 0!==a.scale?(t=t.clone(),void 0!==a.texCoord&&(t.channel=a.texCoord),void 0!==a.offset&&t.offset.fromArray(a.offset),void 0!==a.rotation&&(t.rotation=a.rotation),void 0!==a.scale&&t.repeat.fromArray(a.scale),t.needsUpdate=!0,t):t}}class GLTFMeshQuantizationExtension{constructor(){this.name=h.KHR_MESH_QUANTIZATION}}class GLTFCubicSplineInterpolant extends t.Interpolant{constructor(t,a,r,i){super(t,a,r,i)}copySampleValue_(t){const a=this.resultBuffer,r=this.sampleValues,i=this.valueSize,o=t*i*3+i;for(let t=0;t!==i;t++)a[t]=r[o+t];return a}interpolate_(t,a,r,i){const o=this.resultBuffer,A=this.sampleValues,c=this.valueSize,l=2*c,d=3*c,h=i-a,b=(r-a)/h,u=b*b,g=u*b,p=t*d,I=p-d,y=-2*g+3*u,m=g-u,C=1-y,E=m-u+b;for(let t=0;t!==c;t++){const a=A[I+t+c],r=A[I+t+l]*h,i=A[p+t+c],d=A[p+t]*h;o[t]=C*a+E*r+y*i+m*d}return o}}const p=new t.Quaternion;class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant{interpolate_(t,a,r,i){const o=super.interpolate_(t,a,r,i);return p.fromArray(o).normalize().toArray(o),o}}const I={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},y={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},m={9728:t.NearestFilter,9729:t.LinearFilter,9984:t.NearestMipmapNearestFilter,9985:t.LinearMipmapNearestFilter,9986:t.NearestMipmapLinearFilter,9987:t.LinearMipmapLinearFilter},C={33071:t.ClampToEdgeWrapping,33648:t.MirroredRepeatWrapping,10497:t.RepeatWrapping},E={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},B={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Q={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},v={CUBICSPLINE:void 0,LINEAR:t.InterpolateLinear,STEP:t.InterpolateDiscrete},w="OPAQUE",k="MASK",x="BLEND";function addUnknownExtensionsToUserData(t,a,r){for(const i in r.extensions)void 0===t[i]&&(a.userData.gltfExtensions=a.userData.gltfExtensions||{},a.userData.gltfExtensions[i]=r.extensions[i])}function assignExtrasToUserData(t,a){void 0!==a.extras&&("object"==typeof a.extras?Object.assign(t.userData,a.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+a.extras))}function updateMorphTargets(t,a){if(t.updateMorphTargets(),void 0!==a.weights)for(let r=0,i=a.weights.length;r<i;r++)t.morphTargetInfluences[r]=a.weights[r];if(a.extras&&Array.isArray(a.extras.targetNames)){const r=a.extras.targetNames;if(t.morphTargetInfluences.length===r.length){t.morphTargetDictionary={};for(let a=0,i=r.length;a<i;a++)t.morphTargetDictionary[r[a]]=a}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function createPrimitiveKey(t){let a;const r=t.extensions&&t.extensions[h.KHR_DRACO_MESH_COMPRESSION];if(a=r?"draco:"+r.bufferView+":"+r.indices+":"+createAttributesKey(r.attributes):t.indices+":"+createAttributesKey(t.attributes)+":"+t.mode,void 0!==t.targets)for(let r=0,i=t.targets.length;r<i;r++)a+=":"+createAttributesKey(t.targets[r]);return a}function createAttributesKey(t){let a="";const r=Object.keys(t).sort();for(let i=0,o=r.length;i<o;i++)a+=r[i]+":"+t[r[i]]+";";return a}function getNormalizedComponentScale(t){switch(t){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const T=new t.Matrix4;class GLTFParser{constructor(a={},r={}){this.json=a,this.extensions={},this.plugins={},this.options=r,this.cache=new GLTFRegistry,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,o=-1,A=!1,c=-1;if("undefined"!=typeof navigator){const t=navigator.userAgent;i=!0===/^((?!chrome|android).)*safari/i.test(t);const a=t.match(/Version\/(\d+)/);o=i&&a?parseInt(a[1],10):-1,A=t.indexOf("Firefox")>-1,c=A?t.match(/Firefox\/([0-9]+)\./)[1]:-1}"undefined"==typeof createImageBitmap||i&&o<17||A&&c<98?this.textureLoader=new t.TextureLoader(this.options.manager):this.textureLoader=new t.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new t.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(t){this.extensions=t}setPlugins(t){this.plugins=t}parse(t,a){const r=this,i=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll((function(t){return t._markDefs&&t._markDefs()})),Promise.all(this._invokeAll((function(t){return t.beforeRoot&&t.beforeRoot()}))).then((function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])})).then((function(a){const A={scene:a[0][i.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:i.asset,parser:r,userData:{}};return addUnknownExtensionsToUserData(o,A,i),assignExtrasToUserData(A,i),Promise.all(r._invokeAll((function(t){return t.afterRoot&&t.afterRoot(A)}))).then((function(){for(const t of A.scenes)t.updateMatrixWorld();t(A)}))})).catch(a)}_markDefs(){const t=this.json.nodes||[],a=this.json.skins||[],r=this.json.meshes||[];for(let r=0,i=a.length;r<i;r++){const i=a[r].joints;for(let a=0,r=i.length;a<r;a++)t[i[a]].isBone=!0}for(let a=0,i=t.length;a<i;a++){const i=t[a];void 0!==i.mesh&&(this._addNodeRef(this.meshCache,i.mesh),void 0!==i.skin&&(r[i.mesh].isSkinnedMesh=!0)),void 0!==i.camera&&this._addNodeRef(this.cameraCache,i.camera)}}_addNodeRef(t,a){void 0!==a&&(void 0===t.refs[a]&&(t.refs[a]=t.uses[a]=0),t.refs[a]++)}_getNodeRef(t,a,r){if(t.refs[a]<=1)return r;const i=r.clone(),updateMappings=(t,a)=>{const r=this.associations.get(t);null!=r&&this.associations.set(a,r);for(const[r,i]of t.children.entries())updateMappings(i,a.children[r])};return updateMappings(r,i),i.name+="_instance_"+t.uses[a]++,i}_invokeOne(t){const a=Object.values(this.plugins);a.push(this);for(let r=0;r<a.length;r++){const i=t(a[r]);if(i)return i}return null}_invokeAll(t){const a=Object.values(this.plugins);a.unshift(this);const r=[];for(let i=0;i<a.length;i++){const o=t(a[i]);o&&r.push(o)}return r}getDependency(t,a){const r=t+":"+a;let i=this.cache.get(r);if(!i){switch(t){case"scene":i=this.loadScene(a);break;case"node":i=this._invokeOne((function(t){return t.loadNode&&t.loadNode(a)}));break;case"mesh":i=this._invokeOne((function(t){return t.loadMesh&&t.loadMesh(a)}));break;case"accessor":i=this.loadAccessor(a);break;case"bufferView":i=this._invokeOne((function(t){return t.loadBufferView&&t.loadBufferView(a)}));break;case"buffer":i=this.loadBuffer(a);break;case"material":i=this._invokeOne((function(t){return t.loadMaterial&&t.loadMaterial(a)}));break;case"texture":i=this._invokeOne((function(t){return t.loadTexture&&t.loadTexture(a)}));break;case"skin":i=this.loadSkin(a);break;case"animation":i=this._invokeOne((function(t){return t.loadAnimation&&t.loadAnimation(a)}));break;case"camera":i=this.loadCamera(a);break;default:if(i=this._invokeOne((function(r){return r!=this&&r.getDependency&&r.getDependency(t,a)})),!i)throw new Error("Unknown type: "+t)}this.cache.add(r,i)}return i}getDependencies(t){let a=this.cache.get(t);if(!a){const r=this,i=this.json[t+("mesh"===t?"es":"s")]||[];a=Promise.all(i.map((function(a,i){return r.getDependency(t,i)}))),this.cache.add(t,a)}return a}loadBuffer(a){const r=this.json.buffers[a],i=this.fileLoader;if(r.type&&"arraybuffer"!==r.type)throw new Error("THREE.GLTFLoader: "+r.type+" buffer type is not supported.");if(void 0===r.uri&&0===a)return Promise.resolve(this.extensions[h.KHR_BINARY_GLTF].body);const o=this.options;return new Promise((function(a,A){i.load(t.LoaderUtils.resolveURL(r.uri,o.path),a,void 0,(function(){A(new Error('THREE.GLTFLoader: Failed to load buffer "'+r.uri+'".'))}))}))}loadBufferView(t){const a=this.json.bufferViews[t];return this.getDependency("buffer",a.buffer).then((function(t){const r=a.byteLength||0,i=a.byteOffset||0;return t.slice(i,i+r)}))}loadAccessor(a){const r=this,i=this.json,o=this.json.accessors[a];if(void 0===o.bufferView&&void 0===o.sparse){const a=E[o.type],r=y[o.componentType],i=!0===o.normalized,A=new r(o.count*a);return Promise.resolve(new t.BufferAttribute(A,a,i))}const A=[];return void 0!==o.bufferView?A.push(this.getDependency("bufferView",o.bufferView)):A.push(null),void 0!==o.sparse&&(A.push(this.getDependency("bufferView",o.sparse.indices.bufferView)),A.push(this.getDependency("bufferView",o.sparse.values.bufferView))),Promise.all(A).then((function(a){const A=a[0],c=E[o.type],l=y[o.componentType],d=l.BYTES_PER_ELEMENT,h=d*c,b=o.byteOffset||0,u=void 0!==o.bufferView?i.bufferViews[o.bufferView].byteStride:void 0,g=!0===o.normalized;let p,I;if(u&&u!==h){const a=Math.floor(b/u),i="InterleavedBuffer:"+o.bufferView+":"+o.componentType+":"+a+":"+o.count;let h=r.cache.get(i);h||(p=new l(A,a*u,o.count*u/d),h=new t.InterleavedBuffer(p,u/d),r.cache.add(i,h)),I=new t.InterleavedBufferAttribute(h,c,b%u/d,g)}else p=null===A?new l(o.count*c):new l(A,b,o.count*c),I=new t.BufferAttribute(p,c,g);if(void 0!==o.sparse){const r=E.SCALAR,i=y[o.sparse.indices.componentType],d=o.sparse.indices.byteOffset||0,h=o.sparse.values.byteOffset||0,b=new i(a[1],d,o.sparse.count*r),u=new l(a[2],h,o.sparse.count*c);null!==A&&(I=new t.BufferAttribute(I.array.slice(),I.itemSize,I.normalized));for(let t=0,a=b.length;t<a;t++){const a=b[t];if(I.setX(a,u[t*c]),c>=2&&I.setY(a,u[t*c+1]),c>=3&&I.setZ(a,u[t*c+2]),c>=4&&I.setW(a,u[t*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return I}))}loadTexture(t){const a=this.json,r=this.options,i=a.textures[t].source,o=a.images[i];let A=this.textureLoader;if(o.uri){const t=r.manager.getHandler(o.uri);null!==t&&(A=t)}return this.loadTextureImage(t,i,A)}loadTextureImage(a,r,i){const o=this,A=this.json,c=A.textures[a],l=A.images[r],d=(l.uri||l.bufferView)+":"+c.sampler;if(this.textureCache[d])return this.textureCache[d];const h=this.loadImageSource(r,i).then((function(r){r.flipY=!1,r.name=c.name||l.name||"",""===r.name&&"string"==typeof l.uri&&!1===l.uri.startsWith("data:image/")&&(r.name=l.uri);const i=(A.samplers||{})[c.sampler]||{};return r.magFilter=m[i.magFilter]||t.LinearFilter,r.minFilter=m[i.minFilter]||t.LinearMipmapLinearFilter,r.wrapS=C[i.wrapS]||t.RepeatWrapping,r.wrapT=C[i.wrapT]||t.RepeatWrapping,o.associations.set(r,{textures:a}),r})).catch((function(){return null}));return this.textureCache[d]=h,h}loadImageSource(a,r){const i=this,o=this.json,A=this.options;if(void 0!==this.sourceCache[a])return this.sourceCache[a].then((t=>t.clone()));const c=o.images[a],l=self.URL||self.webkitURL;let d=c.uri||"",h=!1;if(void 0!==c.bufferView)d=i.getDependency("bufferView",c.bufferView).then((function(t){h=!0;const a=new Blob([t],{type:c.mimeType});return d=l.createObjectURL(a),d}));else if(void 0===c.uri)throw new Error("THREE.GLTFLoader: Image "+a+" is missing URI and bufferView");const b=Promise.resolve(d).then((function(a){return new Promise((function(i,o){let c=i;!0===r.isImageBitmapLoader&&(c=function(a){const r=new t.Texture(a);r.needsUpdate=!0,i(r)}),r.load(t.LoaderUtils.resolveURL(a,A.path),c,void 0,o)}))})).then((function(t){return!0===h&&l.revokeObjectURL(d),assignExtrasToUserData(t,c),t.userData.mimeType=c.mimeType||function getImageURIMimeType(t){return t.search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"}(c.uri),t})).catch((function(t){throw console.error("THREE.GLTFLoader: Couldn't load texture",d),t}));return this.sourceCache[a]=b,b}assignTexture(t,a,r,i){const o=this;return this.getDependency("texture",r.index).then((function(A){if(!A)return null;if(void 0!==r.texCoord&&r.texCoord>0&&((A=A.clone()).channel=r.texCoord),o.extensions[h.KHR_TEXTURE_TRANSFORM]){const t=void 0!==r.extensions?r.extensions[h.KHR_TEXTURE_TRANSFORM]:void 0;if(t){const a=o.associations.get(A);A=o.extensions[h.KHR_TEXTURE_TRANSFORM].extendTexture(A,t),o.associations.set(A,a)}}return void 0!==i&&(A.colorSpace=i),t[a]=A,A}))}assignFinalMaterial(a){const r=a.geometry;let i=a.material;const o=void 0===r.attributes.tangent,A=void 0!==r.attributes.color,c=void 0===r.attributes.normal;if(a.isPoints){const a="PointsMaterial:"+i.uuid;let r=this.cache.get(a);r||(r=new t.PointsMaterial,t.Material.prototype.copy.call(r,i),r.color.copy(i.color),r.map=i.map,r.sizeAttenuation=!1,this.cache.add(a,r)),i=r}else if(a.isLine){const a="LineBasicMaterial:"+i.uuid;let r=this.cache.get(a);r||(r=new t.LineBasicMaterial,t.Material.prototype.copy.call(r,i),r.color.copy(i.color),r.map=i.map,this.cache.add(a,r)),i=r}if(o||A||c){let t="ClonedMaterial:"+i.uuid+":";o&&(t+="derivative-tangents:"),A&&(t+="vertex-colors:"),c&&(t+="flat-shading:");let a=this.cache.get(t);a||(a=i.clone(),A&&(a.vertexColors=!0),c&&(a.flatShading=!0),o&&(a.normalScale&&(a.normalScale.y*=-1),a.clearcoatNormalScale&&(a.clearcoatNormalScale.y*=-1)),this.cache.add(t,a),this.associations.set(a,this.associations.get(i))),i=a}a.material=i}getMaterialType(){return t.MeshStandardMaterial}loadMaterial(a){const r=this,i=this.json,o=this.extensions,A=i.materials[a];let c;const l={},d=[];if((A.extensions||{})[h.KHR_MATERIALS_UNLIT]){const t=o[h.KHR_MATERIALS_UNLIT];c=t.getMaterialType(),d.push(t.extendParams(l,A,r))}else{const i=A.pbrMetallicRoughness||{};if(l.color=new t.Color(1,1,1),l.opacity=1,Array.isArray(i.baseColorFactor)){const a=i.baseColorFactor;l.color.setRGB(a[0],a[1],a[2],t.LinearSRGBColorSpace),l.opacity=a[3]}void 0!==i.baseColorTexture&&d.push(r.assignTexture(l,"map",i.baseColorTexture,t.SRGBColorSpace)),l.metalness=void 0!==i.metallicFactor?i.metallicFactor:1,l.roughness=void 0!==i.roughnessFactor?i.roughnessFactor:1,void 0!==i.metallicRoughnessTexture&&(d.push(r.assignTexture(l,"metalnessMap",i.metallicRoughnessTexture)),d.push(r.assignTexture(l,"roughnessMap",i.metallicRoughnessTexture))),c=this._invokeOne((function(t){return t.getMaterialType&&t.getMaterialType(a)})),d.push(Promise.all(this._invokeAll((function(t){return t.extendMaterialParams&&t.extendMaterialParams(a,l)}))))}!0===A.doubleSided&&(l.side=t.DoubleSide);const b=A.alphaMode||w;if(b===x?(l.transparent=!0,l.depthWrite=!1):(l.transparent=!1,b===k&&(l.alphaTest=void 0!==A.alphaCutoff?A.alphaCutoff:.5)),void 0!==A.normalTexture&&c!==t.MeshBasicMaterial&&(d.push(r.assignTexture(l,"normalMap",A.normalTexture)),l.normalScale=new t.Vector2(1,1),void 0!==A.normalTexture.scale)){const t=A.normalTexture.scale;l.normalScale.set(t,t)}if(void 0!==A.occlusionTexture&&c!==t.MeshBasicMaterial&&(d.push(r.assignTexture(l,"aoMap",A.occlusionTexture)),void 0!==A.occlusionTexture.strength&&(l.aoMapIntensity=A.occlusionTexture.strength)),void 0!==A.emissiveFactor&&c!==t.MeshBasicMaterial){const a=A.emissiveFactor;l.emissive=(new t.Color).setRGB(a[0],a[1],a[2],t.LinearSRGBColorSpace)}return void 0!==A.emissiveTexture&&c!==t.MeshBasicMaterial&&d.push(r.assignTexture(l,"emissiveMap",A.emissiveTexture,t.SRGBColorSpace)),Promise.all(d).then((function(){const t=new c(l);return A.name&&(t.name=A.name),assignExtrasToUserData(t,A),r.associations.set(t,{materials:a}),A.extensions&&addUnknownExtensionsToUserData(o,t,A),t}))}createUniqueName(a){const r=t.PropertyBinding.sanitizeNodeName(a||"");return r in this.nodeNamesUsed?r+"_"+ ++this.nodeNamesUsed[r]:(this.nodeNamesUsed[r]=0,r)}loadGeometries(a){const r=this,i=this.extensions,o=this.primitiveCache;function createDracoPrimitive(t){return i[h.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(t,r).then((function(a){return addPrimitiveAttributes(a,t,r)}))}const A=[];for(let i=0,c=a.length;i<c;i++){const c=a[i],l=createPrimitiveKey(c),d=o[l];if(d)A.push(d.promise);else{let a;a=c.extensions&&c.extensions[h.KHR_DRACO_MESH_COMPRESSION]?createDracoPrimitive(c):addPrimitiveAttributes(new t.BufferGeometry,c,r),o[l]={primitive:c,promise:a},A.push(a)}}return Promise.all(A)}loadMesh(a){const r=this,i=this.json,o=this.extensions,A=i.meshes[a],c=A.primitives,l=[];for(let a=0,r=c.length;a<r;a++){const r=void 0===c[a].material?(void 0===(d=this.cache).DefaultMaterial&&(d.DefaultMaterial=new t.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:t.FrontSide})),d.DefaultMaterial):this.getDependency("material",c[a].material);l.push(r)}var d;return l.push(r.loadGeometries(c)),Promise.all(l).then((function(i){const l=i.slice(0,i.length-1),d=i[i.length-1],h=[];for(let i=0,b=d.length;i<b;i++){const b=d[i],u=c[i];let g;const p=l[i];if(u.mode===I.TRIANGLES||u.mode===I.TRIANGLE_STRIP||u.mode===I.TRIANGLE_FAN||void 0===u.mode)g=!0===A.isSkinnedMesh?new t.SkinnedMesh(b,p):new t.Mesh(b,p),!0===g.isSkinnedMesh&&g.normalizeSkinWeights(),u.mode===I.TRIANGLE_STRIP?g.geometry=toTrianglesDrawMode(g.geometry,t.TriangleStripDrawMode):u.mode===I.TRIANGLE_FAN&&(g.geometry=toTrianglesDrawMode(g.geometry,t.TriangleFanDrawMode));else if(u.mode===I.LINES)g=new t.LineSegments(b,p);else if(u.mode===I.LINE_STRIP)g=new t.Line(b,p);else if(u.mode===I.LINE_LOOP)g=new t.LineLoop(b,p);else{if(u.mode!==I.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+u.mode);g=new t.Points(b,p)}Object.keys(g.geometry.morphAttributes).length>0&&updateMorphTargets(g,A),g.name=r.createUniqueName(A.name||"mesh_"+a),assignExtrasToUserData(g,A),u.extensions&&addUnknownExtensionsToUserData(o,g,u),r.assignFinalMaterial(g),h.push(g)}for(let t=0,i=h.length;t<i;t++)r.associations.set(h[t],{meshes:a,primitives:t});if(1===h.length)return A.extensions&&addUnknownExtensionsToUserData(o,h[0],A),h[0];const b=new t.Group;A.extensions&&addUnknownExtensionsToUserData(o,b,A),r.associations.set(b,{meshes:a});for(let t=0,a=h.length;t<a;t++)b.add(h[t]);return b}))}loadCamera(a){let r;const i=this.json.cameras[a],o=i[i.type];if(o)return"perspective"===i.type?r=new t.PerspectiveCamera(t.MathUtils.radToDeg(o.yfov),o.aspectRatio||1,o.znear||1,o.zfar||2e6):"orthographic"===i.type&&(r=new t.OrthographicCamera(-o.xmag,o.xmag,o.ymag,-o.ymag,o.znear,o.zfar)),i.name&&(r.name=this.createUniqueName(i.name)),assignExtrasToUserData(r,i),Promise.resolve(r);console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(a){const r=this.json.skins[a],i=[];for(let t=0,a=r.joints.length;t<a;t++)i.push(this._loadNodeShallow(r.joints[t]));return void 0!==r.inverseBindMatrices?i.push(this.getDependency("accessor",r.inverseBindMatrices)):i.push(null),Promise.all(i).then((function(a){const i=a.pop(),o=a,A=[],c=[];for(let a=0,l=o.length;a<l;a++){const l=o[a];if(l){A.push(l);const r=new t.Matrix4;null!==i&&r.fromArray(i.array,16*a),c.push(r)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',r.joints[a])}return new t.Skeleton(A,c)}))}loadAnimation(a){const r=this.json,i=this,o=r.animations[a],A=o.name?o.name:"animation_"+a,c=[],l=[],d=[],h=[],b=[];for(let t=0,a=o.channels.length;t<a;t++){const a=o.channels[t],r=o.samplers[a.sampler],i=a.target,A=i.node,u=void 0!==o.parameters?o.parameters[r.input]:r.input,g=void 0!==o.parameters?o.parameters[r.output]:r.output;void 0!==i.node&&(c.push(this.getDependency("node",A)),l.push(this.getDependency("accessor",u)),d.push(this.getDependency("accessor",g)),h.push(r),b.push(i))}return Promise.all([Promise.all(c),Promise.all(l),Promise.all(d),Promise.all(h),Promise.all(b)]).then((function(a){const r=a[0],o=a[1],c=a[2],l=a[3],d=a[4],h=[];for(let t=0,a=r.length;t<a;t++){const a=r[t],A=o[t],b=c[t],u=l[t],g=d[t];if(void 0===a)continue;a.updateMatrix&&a.updateMatrix();const p=i._createAnimationTracks(a,A,b,u,g);if(p)for(let t=0;t<p.length;t++)h.push(p[t])}return new t.AnimationClip(A,void 0,h)}))}createNodeMesh(t){const a=this.json,r=this,i=a.nodes[t];return void 0===i.mesh?null:r.getDependency("mesh",i.mesh).then((function(t){const a=r._getNodeRef(r.meshCache,i.mesh,t);return void 0!==i.weights&&a.traverse((function(t){if(t.isMesh)for(let a=0,r=i.weights.length;a<r;a++)t.morphTargetInfluences[a]=i.weights[a]})),a}))}loadNode(t){const a=this,r=this.json.nodes[t],i=a._loadNodeShallow(t),o=[],A=r.children||[];for(let t=0,r=A.length;t<r;t++)o.push(a.getDependency("node",A[t]));const c=void 0===r.skin?Promise.resolve(null):a.getDependency("skin",r.skin);return Promise.all([i,Promise.all(o),c]).then((function(t){const a=t[0],r=t[1],i=t[2];null!==i&&a.traverse((function(t){t.isSkinnedMesh&&t.bind(i,T)}));for(let t=0,i=r.length;t<i;t++)a.add(r[t]);return a}))}_loadNodeShallow(a){const r=this.json,i=this.extensions,o=this;if(void 0!==this.nodeCache[a])return this.nodeCache[a];const A=r.nodes[a],c=A.name?o.createUniqueName(A.name):"",l=[],d=o._invokeOne((function(t){return t.createNodeMesh&&t.createNodeMesh(a)}));return d&&l.push(d),void 0!==A.camera&&l.push(o.getDependency("camera",A.camera).then((function(t){return o._getNodeRef(o.cameraCache,A.camera,t)}))),o._invokeAll((function(t){return t.createNodeAttachment&&t.createNodeAttachment(a)})).forEach((function(t){l.push(t)})),this.nodeCache[a]=Promise.all(l).then((function(r){let l;if(l=!0===A.isBone?new t.Bone:r.length>1?new t.Group:1===r.length?r[0]:new t.Object3D,l!==r[0])for(let t=0,a=r.length;t<a;t++)l.add(r[t]);if(A.name&&(l.userData.name=A.name,l.name=c),assignExtrasToUserData(l,A),A.extensions&&addUnknownExtensionsToUserData(i,l,A),void 0!==A.matrix){const a=new t.Matrix4;a.fromArray(A.matrix),l.applyMatrix4(a)}else void 0!==A.translation&&l.position.fromArray(A.translation),void 0!==A.rotation&&l.quaternion.fromArray(A.rotation),void 0!==A.scale&&l.scale.fromArray(A.scale);return o.associations.has(l)||o.associations.set(l,{}),o.associations.get(l).nodes=a,l})),this.nodeCache[a]}loadScene(a){const r=this.extensions,i=this.json.scenes[a],o=this,A=new t.Group;i.name&&(A.name=o.createUniqueName(i.name)),assignExtrasToUserData(A,i),i.extensions&&addUnknownExtensionsToUserData(r,A,i);const c=i.nodes||[],l=[];for(let t=0,a=c.length;t<a;t++)l.push(o.getDependency("node",c[t]));return Promise.all(l).then((function(a){for(let t=0,r=a.length;t<r;t++)A.add(a[t]);return o.associations=(a=>{const r=new Map;for(const[a,i]of o.associations)(a instanceof t.Material||a instanceof t.Texture)&&r.set(a,i);return a.traverse((t=>{const a=o.associations.get(t);null!=a&&r.set(t,a)})),r})(A),A}))}_createAnimationTracks(a,r,i,o,A){const c=[],l=a.name?a.name:a.uuid,d=[];let h;switch(Q[A.path]===Q.weights?a.traverse((function(t){t.morphTargetInfluences&&d.push(t.name?t.name:t.uuid)})):d.push(l),Q[A.path]){case Q.weights:h=t.NumberKeyframeTrack;break;case Q.rotation:h=t.QuaternionKeyframeTrack;break;case Q.position:case Q.scale:h=t.VectorKeyframeTrack;break;default:if(1===i.itemSize)h=t.NumberKeyframeTrack;else h=t.VectorKeyframeTrack}const b=void 0!==o.interpolation?v[o.interpolation]:t.InterpolateLinear,u=this._getArrayFromAccessor(i);for(let t=0,a=d.length;t<a;t++){const a=new h(d[t]+"."+Q[A.path],r.array,u,b);"CUBICSPLINE"===o.interpolation&&this._createCubicSplineTrackInterpolant(a),c.push(a)}return c}_getArrayFromAccessor(t){let a=t.array;if(t.normalized){const t=getNormalizedComponentScale(a.constructor),r=new Float32Array(a.length);for(let i=0,o=a.length;i<o;i++)r[i]=a[i]*t;a=r}return a}_createCubicSplineTrackInterpolant(a){a.createInterpolant=function InterpolantFactoryMethodGLTFCubicSpline(a){return new(this instanceof t.QuaternionKeyframeTrack?GLTFCubicSplineQuaternionInterpolant:GLTFCubicSplineInterpolant)(this.times,this.values,this.getValueSize()/3,a)},a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function addPrimitiveAttributes(a,r,i){const o=r.attributes,A=[];function assignAttributeAccessor(t,r){return i.getDependency("accessor",t).then((function(t){a.setAttribute(r,t)}))}for(const t in o){const r=B[t]||t.toLowerCase();r in a.attributes||A.push(assignAttributeAccessor(o[t],r))}if(void 0!==r.indices&&!a.index){const t=i.getDependency("accessor",r.indices).then((function(t){a.setIndex(t)}));A.push(t)}return t.ColorManagement.workingColorSpace!==t.LinearSRGBColorSpace&&"COLOR_0"in o&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${t.ColorManagement.workingColorSpace}" not supported.`),assignExtrasToUserData(a,r),function computeBounds(a,r,i){const o=r.attributes,A=new t.Box3;if(void 0===o.POSITION)return;{const a=i.json.accessors[o.POSITION],r=a.min,c=a.max;if(void 0===r||void 0===c)return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(A.set(new t.Vector3(r[0],r[1],r[2]),new t.Vector3(c[0],c[1],c[2])),a.normalized){const t=getNormalizedComponentScale(y[a.componentType]);A.min.multiplyScalar(t),A.max.multiplyScalar(t)}}const c=r.targets;if(void 0!==c){const a=new t.Vector3,r=new t.Vector3;for(let t=0,o=c.length;t<o;t++){const o=c[t];if(void 0!==o.POSITION){const t=i.json.accessors[o.POSITION],A=t.min,c=t.max;if(void 0!==A&&void 0!==c){if(r.setX(Math.max(Math.abs(A[0]),Math.abs(c[0]))),r.setY(Math.max(Math.abs(A[1]),Math.abs(c[1]))),r.setZ(Math.max(Math.abs(A[2]),Math.abs(c[2]))),t.normalized){const a=getNormalizedComponentScale(y[t.componentType]);r.multiplyScalar(a)}a.max(r)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}A.expandByVector(a)}a.boundingBox=A;const l=new t.Sphere;A.getCenter(l.center),l.radius=A.min.distanceTo(A.max)/2,a.boundingSphere=l}(a,r,i),Promise.all(A).then((function(){return void 0!==r.targets?function addMorphTargets(t,a,r){let i=!1,o=!1,A=!1;for(let t=0,r=a.length;t<r;t++){const r=a[t];if(void 0!==r.POSITION&&(i=!0),void 0!==r.NORMAL&&(o=!0),void 0!==r.COLOR_0&&(A=!0),i&&o&&A)break}if(!i&&!o&&!A)return Promise.resolve(t);const c=[],l=[],d=[];for(let h=0,b=a.length;h<b;h++){const b=a[h];if(i){const a=void 0!==b.POSITION?r.getDependency("accessor",b.POSITION):t.attributes.position;c.push(a)}if(o){const a=void 0!==b.NORMAL?r.getDependency("accessor",b.NORMAL):t.attributes.normal;l.push(a)}if(A){const a=void 0!==b.COLOR_0?r.getDependency("accessor",b.COLOR_0):t.attributes.color;d.push(a)}}return Promise.all([Promise.all(c),Promise.all(l),Promise.all(d)]).then((function(a){const r=a[0],c=a[1],l=a[2];return i&&(t.morphAttributes.position=r),o&&(t.morphAttributes.normal=c),A&&(t.morphAttributes.color=l),t.morphTargetsRelative=!0,t}))}(a,r.targets,i):a}))}const D=new WeakMap;class DRACOLoader extends t.Loader{constructor(t){super(t),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(t){return this.decoderPath=t,this}setDecoderConfig(t){return this.decoderConfig=t,this}setWorkerLimit(t){return this.workerLimit=t,this}load(a,r,i,o){const A=new t.FileLoader(this.manager);A.setPath(this.path),A.setResponseType("arraybuffer"),A.setRequestHeader(this.requestHeader),A.setWithCredentials(this.withCredentials),A.load(a,(t=>{this.parse(t,r,o)}),i,o)}parse(a,r,i=(()=>{})){this.decodeDracoFile(a,r,null,null,t.SRGBColorSpace,i).catch(i)}decodeDracoFile(a,r,i,o,A=t.LinearSRGBColorSpace,c=(()=>{})){const l={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:o||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:A};return this.decodeGeometry(a,l).then(r).catch(c)}decodeGeometry(t,a){const r=JSON.stringify(a);if(D.has(t)){const a=D.get(t);if(a.key===r)return a.promise;if(0===t.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const o=this.workerNextTaskID++,A=t.byteLength,c=this._getWorker(o,A).then((r=>(i=r,new Promise(((r,A)=>{i._callbacks[o]={resolve:r,reject:A},i.postMessage({type:"decode",id:o,taskConfig:a,buffer:t},[t])}))))).then((t=>this._createGeometry(t.geometry)));return c.catch((()=>!0)).then((()=>{i&&o&&this._releaseTask(i,o)})),D.set(t,{key:r,promise:c}),c}_createGeometry(a){const r=new t.BufferGeometry;a.index&&r.setIndex(new t.BufferAttribute(a.index.array,1));for(let i=0;i<a.attributes.length;i++){const o=a.attributes[i],A=o.name,c=o.array,l=o.itemSize,d=new t.BufferAttribute(c,l);"color"===A&&(this._assignVertexColorSpace(d,o.vertexColorSpace),d.normalized=c instanceof Float32Array==!1),r.setAttribute(A,d)}return r}_assignVertexColorSpace(a,r){if(r!==t.SRGBColorSpace)return;const i=new t.Color;for(let t=0,r=a.count;t<r;t++)i.fromBufferAttribute(a,t).convertSRGBToLinear(),a.setXYZ(t,i.r,i.g,i.b)}_loadLibrary(a,r){const i=new t.FileLoader(this.manager);return i.setPath(this.decoderPath),i.setResponseType(r),i.setWithCredentials(this.withCredentials),new Promise(((t,r)=>{i.load(a,t,void 0,r)}))}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const t="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,a=[];return t?a.push(this._loadLibrary("draco_decoder.js","text")):(a.push(this._loadLibrary("draco_wasm_wrapper.js","text")),a.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(a).then((a=>{const r=a[0];t||(this.decoderConfig.wasmBinary=a[1]);const i=DRACOWorker.toString(),o=["/* draco decoder */",r,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([o]))})),this.decoderPending}_getWorker(t,a){return this._initDecoder().then((()=>{if(this.workerPool.length<this.workerLimit){const t=new Worker(this.workerSourceURL);t._callbacks={},t._taskCosts={},t._taskLoad=0,t.postMessage({type:"init",decoderConfig:this.decoderConfig}),t.onmessage=function(a){const r=a.data;switch(r.type){case"decode":t._callbacks[r.id].resolve(r);break;case"error":t._callbacks[r.id].reject(r);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+r.type+'"')}},this.workerPool.push(t)}else this.workerPool.sort((function(t,a){return t._taskLoad>a._taskLoad?-1:1}));const r=this.workerPool[this.workerPool.length-1];return r._taskCosts[t]=a,r._taskLoad+=a,r}))}_releaseTask(t,a){t._taskLoad-=t._taskCosts[a],delete t._callbacks[a],delete t._taskCosts[a]}debug(){console.log("Task load: ",this.workerPool.map((t=>t._taskLoad)))}dispose(){for(let t=0;t<this.workerPool.length;++t)this.workerPool[t].terminate();return this.workerPool.length=0,""!==this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),this}}function DRACOWorker(){let t,a;function decodeAttribute(t,a,r,i,o,A){const c=A.num_components(),l=r.num_points()*c,d=l*o.BYTES_PER_ELEMENT,h=function getDracoDataType(t,a){switch(a){case Float32Array:return t.DT_FLOAT32;case Int8Array:return t.DT_INT8;case Int16Array:return t.DT_INT16;case Int32Array:return t.DT_INT32;case Uint8Array:return t.DT_UINT8;case Uint16Array:return t.DT_UINT16;case Uint32Array:return t.DT_UINT32}}(t,o),b=t._malloc(d);a.GetAttributeDataArrayForAllPoints(r,A,h,d,b);const u=new o(t.HEAPF32.buffer,b,l).slice();return t._free(b),{name:i,array:u,itemSize:c}}onmessage=function(r){const i=r.data;switch(i.type){case"init":t=i.decoderConfig,a=new Promise((function(a){t.onModuleLoaded=function(t){a({draco:t})},DracoDecoderModule(t)}));break;case"decode":const r=i.buffer,o=i.taskConfig;a.then((t=>{const a=t.draco,A=new a.Decoder;try{const t=function decodeGeometry(t,a,r,i){const o=i.attributeIDs,A=i.attributeTypes;let c,l;const d=a.GetEncodedGeometryType(r);if(d===t.TRIANGULAR_MESH)c=new t.Mesh,l=a.DecodeArrayToMesh(r,r.byteLength,c);else{if(d!==t.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");c=new t.PointCloud,l=a.DecodeArrayToPointCloud(r,r.byteLength,c)}if(!l.ok()||0===c.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+l.error_msg());const h={index:null,attributes:[]};for(const r in o){const l=self[A[r]];let d,b;if(i.useUniqueIDs)b=o[r],d=a.GetAttributeByUniqueId(c,b);else{if(b=a.GetAttributeId(c,t[o[r]]),-1===b)continue;d=a.GetAttribute(c,b)}const u=decodeAttribute(t,a,c,r,l,d);"color"===r&&(u.vertexColorSpace=i.vertexColorSpace),h.attributes.push(u)}d===t.TRIANGULAR_MESH&&(h.index=function decodeIndex(t,a,r){const i=r.num_faces(),o=3*i,A=4*o,c=t._malloc(A);a.GetTrianglesUInt32Array(r,A,c);const l=new Uint32Array(t.HEAPF32.buffer,c,o).slice();return t._free(c),{array:l,itemSize:1}}(t,a,c));return t.destroy(c),h}(a,A,new Int8Array(r),o),c=t.attributes.map((t=>t.array.buffer));t.index&&c.push(t.index.array.buffer),self.postMessage({type:"decode",id:i.id,geometry:t},c)}catch(t){console.error(t),self.postMessage({type:"error",id:i.id,error:t.message})}finally{a.destroy(A)}}))}}}class WorkerPool{constructor(t=4){this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(t){if(!this.workers[t]){const a=this.workerCreator();a.addEventListener("message",this._onMessage.bind(this,t)),this.workers[t]=a}}_getIdleWorker(){for(let t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1}_onMessage(t,a){const r=this.workersResolve[t];if(r&&r(a),this.queue.length){const{resolve:a,msg:r,transfer:i}=this.queue.shift();this.workersResolve[t]=a,this.workers[t].postMessage(r,i)}else this.workerStatus^=1<<t}setWorkerCreator(t){this.workerCreator=t}setWorkerLimit(t){this.pool=t}postMessage(t,a){return new Promise((r=>{const i=this._getIdleWorker();-1!==i?(this._initWorker(i),this.workerStatus|=1<<i,this.workersResolve[i]=r,this.workers[i].postMessage(t,a)):this.queue.push({resolve:r,msg:t,transfer:a})}))}dispose(){this.workers.forEach((t=>t.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const j=2,_=0,G=1,L=10,S=9,M=15,R=16,P=22,N=37,U=43,O=76,H=83,q=97,K=100,J=103,V=109,z=165,W=166;class Si{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Ii{constructor(t,a,r,i){this._dataView=new DataView(t.buffer,t.byteOffset+a,r),this._littleEndian=i,this._offset=0}_nextUint8(){const t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){const t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){const t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){const t=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_nextInt32(){const t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_skip(t){return this._offset+=t,this}_scan(t,a=0){const r=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==a&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+r,i)}}new Uint8Array([0]);const Y=[171,75,84,88,32,50,48,187,13,10,26,10];function Ei(t){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(t):Buffer.from(t).toString("utf8")}let X,Z,$;const ee={env:{emscripten_notify_memory_growth:function(t){$=new Uint8Array(Z.exports.memory.buffer)}}};class zstddec_module_Q{init(){return X||(X="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+te).then((t=>t.arrayBuffer())).then((t=>WebAssembly.instantiate(t,ee))).then(this._init):WebAssembly.instantiate(Buffer.from(te,"base64"),ee).then(this._init),X)}_init(t){Z=t.instance,ee.env.emscripten_notify_memory_growth(0)}decode(t,a=0){if(!Z)throw new Error("ZSTDDecoder: Await .init() before decoding.");const r=t.byteLength,i=Z.exports.malloc(r);$.set(t,i),a=a||Number(Z.exports.ZSTD_findDecompressedSize(i,r));const o=Z.exports.malloc(a),A=Z.exports.ZSTD_decompress(o,a,i,r),c=$.slice(o,o+A);return Z.exports.free(i),Z.exports.free(o),c}}const te="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",ae=new WeakMap;let re,ne=0;class KTX2Loader extends t.Loader{constructor(t){super(t),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new WorkerPool,this.workerSourceURL="",this.workerConfig=null,"undefined"!=typeof MSC_TRANSCODER&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(t){return this.transcoderPath=t,this}setWorkerLimit(t){return this.workerPool.setWorkerLimit(t),this}async detectSupportAsync(t){return this.workerConfig={astcSupported:await t.hasFeatureAsync("texture-compression-astc"),etc1Supported:await t.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await t.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await t.hasFeatureAsync("texture-compression-bc"),bptcSupported:await t.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await t.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(t){return!0===t.isWebGPURenderer?this.workerConfig={astcSupported:t.hasFeature("texture-compression-astc"),etc1Supported:t.hasFeature("texture-compression-etc1"),etc2Supported:t.hasFeature("texture-compression-etc2"),dxtSupported:t.hasFeature("texture-compression-bc"),bptcSupported:t.hasFeature("texture-compression-bptc"),pvrtcSupported:t.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:t.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:t.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:t.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:t.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:t.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:t.extensions.has("WEBGL_compressed_texture_pvrtc")||t.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const a=new t.FileLoader(this.manager);a.setPath(this.transcoderPath),a.setWithCredentials(this.withCredentials);const r=a.loadAsync("basis_transcoder.js"),i=new t.FileLoader(this.manager);i.setPath(this.transcoderPath),i.setResponseType("arraybuffer"),i.setWithCredentials(this.withCredentials);const o=i.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([r,o]).then((([t,a])=>{const r=KTX2Loader.BasisWorker.toString(),i=["/* constants */","let _EngineFormat = "+JSON.stringify(KTX2Loader.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(KTX2Loader.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(KTX2Loader.BasisFormat),"/* basis_transcoder.js */",t,"/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i])),this.transcoderBinary=a,this.workerPool.setWorkerCreator((()=>{const t=new Worker(this.workerSourceURL),a=this.transcoderBinary.slice(0);return t.postMessage({type:"init",config:this.workerConfig,transcoderBinary:a},[a]),t}))})),ne>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),ne++}return this.transcoderPending}load(a,r,i,o){if(null===this.workerConfig)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const A=new t.FileLoader(this.manager);A.setResponseType("arraybuffer"),A.setWithCredentials(this.withCredentials),A.load(a,(t=>{this.parse(t,r,o)}),i,o)}parse(t,a,r){if(null===this.workerConfig)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if(ae.has(t)){return ae.get(t).promise.then(a).catch(r)}this._createTexture(t).then((t=>a?a(t):null)).catch(r)}_createTextureFrom(a,r){const{faces:i,width:o,height:A,format:c,type:l,error:d,dfdFlags:h}=a;if("error"===l)return Promise.reject(d);let b;if(6===r.faceCount)b=new t.CompressedCubeTexture(i,c,t.UnsignedByteType);else{const a=i[0].mipmaps;b=r.layerCount>1?new t.CompressedArrayTexture(a,o,A,r.layerCount,c,t.UnsignedByteType):new t.CompressedTexture(a,o,A,c,t.UnsignedByteType)}return b.minFilter=1===i[0].mipmaps.length?t.LinearFilter:t.LinearMipmapLinearFilter,b.magFilter=t.LinearFilter,b.generateMipmaps=!1,b.needsUpdate=!0,b.colorSpace=parseColorSpace(r),b.premultiplyAlpha=!!(1&h),b}async _createTexture(a,r={}){const i=function Pi(t){const a=new Uint8Array(t.buffer,t.byteOffset,Y.length);if(a[0]!==Y[0]||a[1]!==Y[1]||a[2]!==Y[2]||a[3]!==Y[3]||a[4]!==Y[4]||a[5]!==Y[5]||a[6]!==Y[6]||a[7]!==Y[7]||a[8]!==Y[8]||a[9]!==Y[9]||a[10]!==Y[10]||a[11]!==Y[11])throw new Error("Missing KTX 2.0 identifier.");const r=new Si,i=17*Uint32Array.BYTES_PER_ELEMENT,o=new Ii(t,Y.length,i,!0);r.vkFormat=o._nextUint32(),r.typeSize=o._nextUint32(),r.pixelWidth=o._nextUint32(),r.pixelHeight=o._nextUint32(),r.pixelDepth=o._nextUint32(),r.layerCount=o._nextUint32(),r.faceCount=o._nextUint32();const A=o._nextUint32();r.supercompressionScheme=o._nextUint32();const c=o._nextUint32(),l=o._nextUint32(),d=o._nextUint32(),h=o._nextUint32(),b=o._nextUint64(),u=o._nextUint64(),g=new Ii(t,Y.length+i,3*A*8,!0);for(let a=0;a<A;a++)r.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+g._nextUint64(),g._nextUint64()),uncompressedByteLength:g._nextUint64()});const p=new Ii(t,c,l,!0),I={vendorId:p._skip(4)._nextUint16(),descriptorType:p._nextUint16(),versionNumber:p._nextUint16(),descriptorBlockSize:p._nextUint16(),colorModel:p._nextUint8(),colorPrimaries:p._nextUint8(),transferFunction:p._nextUint8(),flags:p._nextUint8(),texelBlockDimension:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],bytesPlane:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],samples:[]},y=(I.descriptorBlockSize/4-6)/4;for(let t=0;t<y;t++){const a={bitOffset:p._nextUint16(),bitLength:p._nextUint8(),channelType:p._nextUint8(),samplePosition:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};64&a.channelType?(a.sampleLower=p._nextInt32(),a.sampleUpper=p._nextInt32()):(a.sampleLower=p._nextUint32(),a.sampleUpper=p._nextUint32()),I.samples[t]=a}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(I);const m=new Ii(t,d,h,!0);for(;m._offset<h;){const t=m._nextUint32(),a=m._scan(t),i=Ei(a),o=m._scan(t-a.byteLength);r.keyValue[i]=i.match(/^ktx/i)?Ei(o):o,m._offset%4&&m._skip(4-m._offset%4)}if(u<=0)return r;const C=new Ii(t,b,u,!0),E=C._nextUint16(),B=C._nextUint16(),Q=C._nextUint32(),v=C._nextUint32(),w=C._nextUint32(),k=C._nextUint32(),x=[];for(let t=0;t<A;t++)x.push({imageFlags:C._nextUint32(),rgbSliceByteOffset:C._nextUint32(),rgbSliceByteLength:C._nextUint32(),alphaSliceByteOffset:C._nextUint32(),alphaSliceByteLength:C._nextUint32()});const T=b+C._offset,D=T+Q,j=D+v,_=j+w,G=new Uint8Array(t.buffer,t.byteOffset+T,Q),L=new Uint8Array(t.buffer,t.byteOffset+D,v),S=new Uint8Array(t.buffer,t.byteOffset+j,w),M=new Uint8Array(t.buffer,t.byteOffset+_,k);return r.globalData={endpointCount:E,selectorCount:B,imageDescs:x,endpointsData:G,selectorsData:L,tablesData:S,extendedData:M},r}(new Uint8Array(a));if(0!==i.vkFormat)return async function createRawTexture(a){const{vkFormat:r}=a;if(void 0===oe[r])throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");let i;2===a.supercompressionScheme&&(re||(re=new Promise((async t=>{const a=new zstddec_module_Q;await a.init(),t(a)}))),i=await re);const o=[];for(let A=0;A<a.levels.length;A++){const c=Math.max(1,a.pixelWidth>>A),l=Math.max(1,a.pixelHeight>>A),d=a.pixelDepth?Math.max(1,a.pixelDepth>>A):0,h=a.levels[A];let b,u;if(0===a.supercompressionScheme)b=h.levelData;else{if(2!==a.supercompressionScheme)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");b=i.decode(h.levelData,h.uncompressedByteLength)}u=Ae[r]===t.FloatType?new Float32Array(b.buffer,b.byteOffset,b.byteLength/Float32Array.BYTES_PER_ELEMENT):Ae[r]===t.HalfFloatType?new Uint16Array(b.buffer,b.byteOffset,b.byteLength/Uint16Array.BYTES_PER_ELEMENT):b,o.push({data:u,width:c,height:l,depth:d})}let A;if(ie.has(oe[r]))A=0===a.pixelDepth?new t.DataTexture(o[0].data,a.pixelWidth,a.pixelHeight):new t.Data3DTexture(o[0].data,a.pixelWidth,a.pixelHeight,a.pixelDepth);else{if(a.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");A=new t.CompressedTexture(o,a.pixelWidth,a.pixelHeight)}return A.mipmaps=o,A.type=Ae[r],A.format=oe[r],A.colorSpace=parseColorSpace(a),A.needsUpdate=!0,Promise.resolve(A)}(i);const o=r,A=this.init().then((()=>this.workerPool.postMessage({type:"transcode",buffer:a,taskConfig:o},[a]))).then((t=>this._createTextureFrom(t.data,i)));return ae.set(a,{promise:A}),A}dispose(){return this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),ne--,this}}KTX2Loader.BasisFormat={ETC1S:0,UASTC_4x4:1},KTX2Loader.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},KTX2Loader.EngineFormat={RGBAFormat:t.RGBAFormat,RGBA_ASTC_4x4_Format:t.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:t.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:t.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:t.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:t.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:t.RGB_ETC1_Format,RGB_ETC2_Format:t.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:t.RGB_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT1_Format:t.RGBA_S3TC_DXT1_Format},KTX2Loader.BasisWorker=function(){let t,a,r;const i=_EngineFormat,o=_TranscoderFormat,A=_BasisFormat;self.addEventListener("message",(function(c){const h=c.data;switch(h.type){case"init":t=h.config,function init(t){a=new Promise((a=>{r={wasmBinary:t,onRuntimeInitialized:a},BASIS(r)})).then((()=>{r.initializeBasis(),void 0===r.KTX2File&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}))}(h.transcoderBinary);break;case"transcode":a.then((()=>{try{const{faces:a,buffers:c,width:b,height:u,hasAlpha:g,format:p,dfdFlags:I}=function transcode(a){const c=new r.KTX2File(new Uint8Array(a));function cleanup(){c.close(),c.delete()}if(!c.isValid())throw cleanup(),new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file");const h=c.isUASTC()?A.UASTC_4x4:A.ETC1S,b=c.getWidth(),u=c.getHeight(),g=c.getLayers()||1,p=c.getLevels(),I=c.getFaces(),y=c.getHasAlpha(),m=c.getDFDFlags(),{transcoderFormat:C,engineFormat:E}=function getTranscoderFormat(a,r,c,h){let b,u;const g=a===A.ETC1S?l:d;for(let i=0;i<g.length;i++){const o=g[i];if(t[o.if]&&(o.basisFormat.includes(a)&&!(h&&o.transcoderFormat.length<2)&&(!o.needsPowerOfTwo||isPowerOfTwo(r)&&isPowerOfTwo(c))))return b=o.transcoderFormat[h?1:0],u=o.engineFormat[h?1:0],{transcoderFormat:b,engineFormat:u}}return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."),b=o.RGBA32,u=i.RGBAFormat,{transcoderFormat:b,engineFormat:u}}(h,b,u,y);if(!b||!u||!p)throw cleanup(),new Error("THREE.KTX2Loader:\tInvalid texture");if(!c.startTranscoding())throw cleanup(),new Error("THREE.KTX2Loader: .startTranscoding failed");const B=[],Q=[];for(let t=0;t<I;t++){const a=[];for(let r=0;r<p;r++){const i=[];let o,A;for(let a=0;a<g;a++){const l=c.getImageLevelInfo(r,a,t);0!==t||0!==r||0!==a||l.origWidth%4==0&&l.origHeight%4==0||console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),p>1?(o=l.origWidth,A=l.origHeight):(o=l.width,A=l.height);const d=new Uint8Array(c.getImageTranscodedSizeInBytes(r,a,0,C));if(!c.transcodeImage(d,r,a,t,C,0,-1,-1))throw cleanup(),new Error("THREE.KTX2Loader: .transcodeImage failed.");i.push(d)}const l=concat(i);a.push({data:l,width:o,height:A}),Q.push(l.buffer)}B.push({mipmaps:a,width:b,height:u,format:E})}return cleanup(),{faces:B,buffers:Q,width:b,height:u,hasAlpha:y,format:E,dfdFlags:m}}(h.buffer);self.postMessage({type:"transcode",id:h.id,faces:a,width:b,height:u,hasAlpha:g,format:p,dfdFlags:I},c)}catch(t){console.error(t),self.postMessage({type:"error",id:h.id,error:t.message})}}))}}));const c=[{if:"astcSupported",basisFormat:[A.UASTC_4x4],transcoderFormat:[o.ASTC_4x4,o.ASTC_4x4],engineFormat:[i.RGBA_ASTC_4x4_Format,i.RGBA_ASTC_4x4_Format],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.BC7_M5,o.BC7_M5],engineFormat:[i.RGBA_BPTC_Format,i.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.BC1,o.BC3],engineFormat:[i.RGBA_S3TC_DXT1_Format,i.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.ETC1,o.ETC2],engineFormat:[i.RGB_ETC2_Format,i.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.ETC1],engineFormat:[i.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.PVRTC1_4_RGB,o.PVRTC1_4_RGBA],engineFormat:[i.RGB_PVRTC_4BPPV1_Format,i.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0}],l=c.sort((function(t,a){return t.priorityETC1S-a.priorityETC1S})),d=c.sort((function(t,a){return t.priorityUASTC-a.priorityUASTC}));function isPowerOfTwo(t){return t<=2||!(t&t-1)&&0!==t}function concat(t){if(1===t.length)return t[0];let a=0;for(let r=0;r<t.length;r++){a+=t[r].byteLength}const r=new Uint8Array(a);let i=0;for(let a=0;a<t.length;a++){const o=t[a];r.set(o,i),i+=o.byteLength}return r}};const ie=new Set([t.RGBAFormat,t.RGFormat,t.RedFormat]),oe={[V]:t.RGBAFormat,[q]:t.RGBAFormat,[N]:t.RGBAFormat,[U]:t.RGBAFormat,[J]:t.RGFormat,[H]:t.RGFormat,[R]:t.RGFormat,[P]:t.RGFormat,[K]:t.RedFormat,[O]:t.RedFormat,[M]:t.RedFormat,[S]:t.RedFormat,[W]:t.RGBA_ASTC_6x6_Format,[z]:t.RGBA_ASTC_6x6_Format},Ae={[V]:t.FloatType,[q]:t.HalfFloatType,[N]:t.UnsignedByteType,[U]:t.UnsignedByteType,[J]:t.FloatType,[H]:t.HalfFloatType,[R]:t.UnsignedByteType,[P]:t.UnsignedByteType,[K]:t.FloatType,[O]:t.HalfFloatType,[M]:t.UnsignedByteType,[S]:t.UnsignedByteType,[W]:t.UnsignedByteType,[z]:t.UnsignedByteType};function parseColorSpace(a){const r=a.dataFormatDescriptor[0];return r.colorPrimaries===G?r.transferFunction===j?t.SRGBColorSpace:t.LinearSRGBColorSpace:r.colorPrimaries===L?r.transferFunction===j?t.DisplayP3ColorSpace:t.LinearDisplayP3ColorSpace:(r.colorPrimaries===_||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${r.colorPrimaries}"`),t.NoColorSpace)}function SubtreeDecoder_typeof(t){return SubtreeDecoder_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},SubtreeDecoder_typeof(t)}function SubtreeDecoder_regeneratorRuntime(){SubtreeDecoder_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==SubtreeDecoder_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(SubtreeDecoder_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function SubtreeDecoder_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function SubtreeDecoder_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){SubtreeDecoder_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){SubtreeDecoder_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function fetchAndDecodeSubtree(t){return _fetchAndDecodeSubtree.apply(this,arguments)}function _fetchAndDecodeSubtree(){return(_fetchAndDecodeSubtree=SubtreeDecoder_asyncToGenerator(SubtreeDecoder_regeneratorRuntime().mark((function _callee(t){var a,r,i,o,A;return SubtreeDecoder_regeneratorRuntime().wrap((function _callee$(c){for(;;)switch(c.prev=c.next){case 0:return a=t.split("?")[0],r=a.split(".").pop(),c.next=4,fetch(t);case 4:if((i=c.sent).ok){c.next=7;break}throw new Error("Failed to fetch ".concat(t,": ").concat(i.statusText));case 7:if("json"!==r){c.next=12;break}return c.next=10,i.json();case 10:return o=c.sent,c.abrupt("return",handleJSONSubtree(o,getDirectoryUrl(t)));case 12:if("subtree"!==r){c.next=19;break}return c.next=15,i.arrayBuffer();case 15:return A=c.sent,c.abrupt("return",decodeSubtreeBinary(A,getDirectoryUrl(t)));case 19:throw new Error("Unsupported file extension: ".concat(r));case 20:case"end":return c.stop()}}),_callee)})))).apply(this,arguments)}function getDirectoryUrl(t){var a=t.split("?")[0];return a.substring(0,a.lastIndexOf("/")+1)}function decodeSubtreeBinary(t,a){return _decodeSubtreeBinary.apply(this,arguments)}function _decodeSubtreeBinary(){return _decodeSubtreeBinary=SubtreeDecoder_asyncToGenerator(SubtreeDecoder_regeneratorRuntime().mark((function _callee5(t,a){var r,i,o,A,c,l,d,h,b,u,g;return SubtreeDecoder_regeneratorRuntime().wrap((function _callee5$(p){for(;;)switch(p.prev=p.next){case 0:if(r=new DataView(t),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0),A=24+Number(i),l=(c=A+(8-A%8)%8)+Number(o),d=t.slice(24,A),h=(new TextDecoder).decode(d).trim(),(b=JSON.parse(h)).buffers){p.next=12;break}throw new Error("subtree has no buffers");case 12:return u=b.buffers.map(function(){var r=SubtreeDecoder_asyncToGenerator(SubtreeDecoder_regeneratorRuntime().mark((function _callee4(r){var i,o;return SubtreeDecoder_regeneratorRuntime().wrap((function _callee4$(A){for(;;)switch(A.prev=A.next){case 0:if(!r.uri){A.next=14;break}return i=new URL(r.uri,a).href,A.next=4,fetch(i);case 4:if((o=A.sent).ok){A.next=7;break}throw new Error("Failed to fetch binary file ".concat(i,": ").concat(o.statusText));case 7:return A.t0=Uint8Array,A.next=10,o.arrayBuffer();case 10:return A.t1=A.sent,A.abrupt("return",new A.t0(A.t1));case 14:return A.abrupt("return",new Uint8Array(t.slice(c,l)));case 15:case"end":return A.stop()}}),_callee4)})));return function(t){return r.apply(this,arguments)}}()),p.next=15,Promise.all(u);case 15:return g=p.sent,p.abrupt("return",decodeSubtree(b,g));case 17:case"end":return p.stop()}}),_callee5)}))),_decodeSubtreeBinary.apply(this,arguments)}function decodeSubtree(t,a){function isAvailable(r,i){if(!r)throw new Error("incomplete json subtree");if(r.constant){if(0==r.constant)return!1;if(1==r.constant)return!0}if(null==r.bitstream)throw new Error('json subtree "tileAvailability" does not specify a bitstream');if(!t.bufferViews||!t.bufferViews[r.bitstream])throw new Error('json subtree "bufferViews" does not specify a bitstream');var o=t.bufferViews[r.bitstream];return function isAvailable2(t,a,r){var i=a+Math.floor(r/8),o=r%8;return t[i]>>o&!0}(a[o.buffer],o.byteOffset,i)}return{isTileAvailable:function isTileAvailable(a){var r=0;return r=null==a.z?computeQuadtreeIndex(a.x,a.y,a.level):computeOctreeIndex(a.x,a.y,a.z,a.level),isAvailable(t.tileAvailability,r)},isContentAvailable:function isContentAvailable(a){var r=0;r=null==a.z?computeQuadtreeIndex(a.x,a.y,a.level):computeOctreeIndex(a.x,a.y,a.z,a.level);var i=[];return t.contentAvailability.forEach((function(t){i.push(isAvailable(t,r))})),i},isChildSubtreeAvailable:function isChildSubtreeAvailable(a){var r=0;return r=null==a.z?computeQuadtreeIndex(a.x,a.y):computeOctreeIndex(a.x,a.y,a.z),isAvailable(t.childSubtreeAvailability,r)}}}function part1By1(t){return t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)^t<<8))^t<<4))^t<<2))^t<<1)}function computeQuadtreeIndex(t,a,r){var i=0;return r&&(i=(Math.pow(4,r)-1)/3),i+(part1By1(t)|part1By1(a)<<1)}function part1By2(t){return t=153391689&((t=51130563&((t=50393103&((t=4278190335&((t&=1023)^t<<16))^t<<8))^t<<4))^t<<2)}function computeOctreeIndex(t,a,r,i){var o=0;return i&&(o=(Math.pow(8,i)-1)/7),o+(part1By2(t)|part1By2(a)<<1|part1By2(r)<<2)}function ImplicitTileResolver_typeof(t){return ImplicitTileResolver_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ImplicitTileResolver_typeof(t)}function ImplicitTileResolver_regeneratorRuntime(){ImplicitTileResolver_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==ImplicitTileResolver_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(ImplicitTileResolver_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function _toConsumableArray(t){return function _arrayWithoutHoles(t){if(Array.isArray(t))return ImplicitTileResolver_arrayLikeToArray(t)}(t)||function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||ImplicitTileResolver_unsupportedIterableToArray(t)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _slicedToArray(t,a){return function _arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function _iterableToArrayLimit(t,a){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var i,o,A,c,l=[],d=!0,h=!1;try{if(A=(r=r.call(t)).next,0===a){if(Object(r)!==r)return;d=!1}else for(;!(d=(i=A.call(r)).done)&&(l.push(i.value),l.length!==a);d=!0);}catch(t){h=!0,o=t}finally{try{if(!d&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(h)throw o}}return l}}(t,a)||ImplicitTileResolver_unsupportedIterableToArray(t,a)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ImplicitTileResolver_unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return ImplicitTileResolver_arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ImplicitTileResolver_arrayLikeToArray(t,a):void 0}}function ImplicitTileResolver_arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function ImplicitTileResolver_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function ImplicitTileResolver_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){ImplicitTileResolver_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){ImplicitTileResolver_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}var se=new Map;function resolveImplicite(t,a){return _resolveImplicite.apply(this,arguments)}function _resolveImplicite(){return _resolveImplicite=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee5(t,a){var r,i,o,A,c,l,d,h,b,u,g,p;return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee5$(I){for(;;)switch(I.prev=I.next){case 0:if(p=function _buildChildren3(){return p=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee4(a){var l,d,h,b,u,p,I,y,m,C,E;return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee4$(B){for(;;)switch(B.prev=B.next){case 0:if(l=[],a.localAddress.level!=t.root.implicitTiling.availableLevels-1){B.next=3;break}return B.abrupt("return",l);case 3:if((a.localAddress.level+1)%t.root.implicitTiling.subtreeLevels!=0){B.next=16;break}d=getChildrenAddresses(a.localAddress),h=getChildrenAddresses(a.globalAddress),b=computeBoundingVolumes(r,t.root.boundingVolume,h),u=ImplicitTileResolver_regeneratorRuntime().mark((function _loop(){var u,I,y,m,C,E;return ImplicitTileResolver_regeneratorRuntime().wrap((function _loop$(B){for(;;)switch(B.prev=B.next){case 0:if(u=d[p],I=h[p],a.subtree.isChildSubtreeAvailable(u)&&(r&&i.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y),r||i.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y).replace("{z}",I.z)),se.has(c)){B.next=10;break}return B.t0=se,B.t1=c,B.next=8,fetchAndDecodeSubtree(A+c);case 8:B.t2=B.sent,B.t0.set.call(B.t0,B.t1,B.t2);case 10:y=se.get(c),m={level:0,x:0,y:0},r||(m.z=0),C=[],y.isContentAvailable(m)&&o.forEach((function(t){var a;r&&(a=t.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y)),r||(a=t.replace("{level}",I.level).replace("{x}",I.x).replace("{y}",I.y).replace("{z}",I.z)),C.push({uri:a})})),E={geometricError:a.geometricError/2,boundingVolume:b[p],refine:t.root.refine,globalAddress:I,localAddress:m,subtree:y,contents:C,getChildren:function(){var t=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee2(){return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee2$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",g(E));case 1:case"end":return t.stop()}}),_callee2)})));return function getChildren(){return t.apply(this,arguments)}}()},l.push(E);case 17:case"end":return B.stop()}}),_loop)})),p=0;case 9:if(!(p<d.length)){B.next=14;break}return B.delegateYield(u(),"t0",11);case 11:p++,B.next=9;break;case 14:B.next=28;break;case 16:I=getChildrenAddresses(a.localAddress),y=getChildrenAddresses(a.globalAddress),m=computeBoundingVolumes(r,t.root.boundingVolume,y),C=ImplicitTileResolver_regeneratorRuntime().mark((function _loop2(){var i,A,c,d,h,b,u,p;return ImplicitTileResolver_regeneratorRuntime().wrap((function _loop2$(C){for(;;)switch(C.prev=C.next){case 0:if(i=I[E],A=y[E],a.subtree.isTileAvailable(i)){C.next=4;break}return C.abrupt("return",1);case 4:c=[],d=a.subtree.isContentAvailable(i),h=0;case 7:if(!(h<o.length)){C.next=18;break}if(d[h]){C.next=10;break}return C.abrupt("continue",15);case 10:b=o[h],u=void 0,r&&(u=b.replace("{level}",A.level).replace("{x}",A.x).replace("{y}",A.y)),r||(u=b.replace("{level}",A.level).replace("{x}",A.x).replace("{y}",A.y).replace("{z}",A.z)),c.push({uri:u});case 15:h++,C.next=7;break;case 18:p={geometricError:a.geometricError/2,boundingVolume:m[E],refine:t.root.refine,globalAddress:A,localAddress:i,subtree:a.subtree,contents:c,getChildren:function(){var t=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee3(){return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee3$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",g(p));case 1:case"end":return t.stop()}}),_callee3)})));return function getChildren(){return t.apply(this,arguments)}}()},l.push(p);case 20:case"end":return C.stop()}}),_loop2)})),E=0;case 21:if(!(E<I.length)){B.next=28;break}return B.delegateYield(C(),"t1",23);case 23:if(!B.t1){B.next=25;break}return B.abrupt("continue",25);case 25:E++,B.next=21;break;case 28:return B.abrupt("return",l.length>0?l:void 0);case 29:case"end":return B.stop()}}),_callee4)}))),p.apply(this,arguments)},g=function _buildChildren2(t){return p.apply(this,arguments)},t.root&&t.root.implicitTiling){I.next=4;break}return I.abrupt("return",t);case 4:if(t.root.content||t.root.contents){I.next=6;break}throw new Error("implicit tiling requires a Template URI");case 6:return r=!0,t.root.implicitTiling.subdivisionScheme&&(r="QUADTREE"===t.root.implicitTiling.subdivisionScheme.toUpperCase()),i="",t.root.implicitTiling.subtrees&&(t.root.implicitTiling.subtrees.uri?i=t.root.implicitTiling.subtrees.uri:t.root.implicitTiling.subtrees.url&&(i=t.root.implicitTiling.subtrees.url)),o=[],t.root.content?t.root.content.uri?o.push(t.root.content.uri):t.root.content.url&&o.push(t.root.content.url):t.root.contents&&t.root.contents.forEach((function(t){t.uri?o.push(t.uri):t.url&&o.push(t.url)})),A=ImplicitTileResolver_getDirectoryUrl(a),r&&(c=i.replace("{level}",0).replace("{x}",0).replace("{y}",0)),r||(c=i.replace("{level}",0).replace("{x}",0).replace("{y}",0).replace("{z}",0)),l={level:0,x:0,y:0},d={level:0,x:0,y:0},r||(l.z=0,d.z=0),I.t0=se,I.t1=c,I.next=22,fetchAndDecodeSubtree(A+c);case 22:return I.t2=I.sent,I.t0.set.call(I.t0,I.t1,I.t2),h=se.get(c),b=[],h.isContentAvailable(d)&&o.forEach((function(t){var a;r&&(a=t.replace("{level}",l.level).replace("{x}",l.x).replace("{y}",l.y)),r||(a=t.replace("{level}",l.level).replace("{x}",l.x).replace("{y}",l.y).replace("{z}",l.z)),b.push({uri:a})})),u={geometricError:t.root.geometricError,boundingVolume:t.root.boundingVolume,refine:t.root.refine,globalAddress:l,localAddress:d,subtree:h,contents:b,getChildren:function(){var t=ImplicitTileResolver_asyncToGenerator(ImplicitTileResolver_regeneratorRuntime().mark((function _callee(){return ImplicitTileResolver_regeneratorRuntime().wrap((function _callee$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",g(u));case 1:case"end":return t.stop()}}),_callee)})));return function getChildren(){return t.apply(this,arguments)}}()},I.abrupt("return",{root:u});case 29:case"end":return I.stop()}}),_callee5)}))),_resolveImplicite.apply(this,arguments)}function getChildrenAddresses(t){var a=t.level,r=t.x,i=t.y,o=t.z,A=a+1;return void 0===o?[{level:A,x:2*r,y:2*i},{level:A,x:2*r+1,y:2*i},{level:A,x:2*r,y:2*i+1},{level:A,x:2*r+1,y:2*i+1}]:[{level:A,x:2*r,y:2*i,z:2*o},{level:A,x:2*r+1,y:2*i,z:2*o},{level:A,x:2*r,y:2*i+1,z:2*o},{level:A,x:2*r+1,y:2*i+1,z:2*o},{level:A,x:2*r,y:2*i,z:2*o+1},{level:A,x:2*r+1,y:2*i,z:2*o+1},{level:A,x:2*r,y:2*i+1,z:2*o+1},{level:A,x:2*r+1,y:2*i+1,z:2*o+1}]}function ImplicitTileResolver_getDirectoryUrl(t){var a=t.split("?")[0];return a.substring(0,a.lastIndexOf("/")+1)}function computeBoundingVolumes(t,a,r){for(var i=[],o=0;o<r.length;o++)i.push(computeBoundingVolume(t,a,r[o]));return i}function computeBoundingVolume(t,a,r){if(a.region)return function splitRegion(t,a,r){var i=_slicedToArray(a,6),o=i[0],A=i[1],c=i[2],l=i[3],d=i[4],h=i[5],b=(c-o)/Math.pow(2,r.level),u=(l-A)/Math.pow(2,r.level),g=t?0:(h-d)/Math.pow(2,r.level),p=o+b*r.x,I=A+u*r.y,y=p+b,m=I+u,C=t?d:d+g*r.z,E=t?h:C+g;return{region:[p,I,y,m,C,E]}}(t,a.region,r);if(a.box)return function splitBox(t,a,r){var i=a.slice(0,3),o=[a.slice(3,6),a.slice(6,9),a.slice(9,12)],A=1/Math.pow(2,r.level),c=[A,A,t?1:A],l=o.map((function(t,a){return t.map((function(t){return t*c[a]}))})),d=[i[0]-o[0][0]-o[1][0]-o[2][0],i[1]-o[0][1]-o[1][1]-o[2][1],i[2]-o[0][2]-o[1][2]-o[2][2]],h=[d[0]+(2*r.x+1)*(l[0][0]+l[1][0]+l[2][0]),d[1]+(2*r.y+1)*(l[0][1]+l[1][1]+l[2][1]),t?i[2]:d[2]+(2*r.z+1)*(l[0][2]+l[1][2]+l[2][2])];return{box:h.concat.apply(h,_toConsumableArray(l))}}(t,a.box,r);throw new Error("Unsupported bounding volume type")}!function(){var t,a=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var r=WebAssembly.instantiate(function unpack(t){for(var r=new Uint8Array(t.length),i=0;i<t.length;++i){var o=t.charCodeAt(i);r[i]=o>96?o-97:o>64?o-39:o+4}var A=0;for(i=0;i<t.length;++i)r[A++]=r[i]<60?a[r[i]]:64*(r[i]-60)+r[++i];return r.buffer.slice(0,A)}("b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:W;kekr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq:g9sLdbk;3keYu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRb:S:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9UhodndndndndnalTmbaoc;WFbGgecjdaecjd6Ehqcbhkdninakai9pmiaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndndndnaec9WGgsTmbcbhzcehHaPhOawhAxekdnaxTmbcbhAcehHaPhCinaDaAfRbbhXaDcjlfheaChoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkaraw9Ram6miawcbamzNjjjbgeTmiaCcefhCaeamfhwaAcefgAal6hHaAal9hmbxvkkaraw9Ram6mvawcbamzNjjjb8AceheinawgXamfhwalaegoSmldnaraw9Ram6mbaocefheawcbamzNjjjb8AaXmekkaoal6hHxekindnaxTmbaDazfRbbhXaDcjlfheaOhoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkkaraA9Ram6mearaAcbamzNjjjbgKamfgw9RcK6mdcbhYaDcjlfhAinaDcjlfaYfh8AcwhCczhLcehQindndnaQce9hmbcuhoa8ARbbmecbhodninaogecsSmeaecefhoaAaefcefRbbTmbkkcucbaecs6EhoxekaQcetc;:FFFeGhocuaQtcu7cFeGhXcbheinaoaXaAaefRbb9nfhoaecefgecz9hmbkkaoaLaoaL6geEhLaQaCaeEhCaQcetgQcw6mbkdndndndnaCcufPdiebkaKaYco4fgeaeRbbcdciaCclSEaYci4coGtV86bbaCcw9hmeawa8A8Pbb83bbawcwfa8Acwf8Pbb83bbawczfhwxdkaKaYco4fgeaeRbbceaYci4coGtV86bbkdncwaC9TgEmbinawcb86bbawcefhwxbkkcuaCtcu7h8Acbh3aAh5ina5heaEhQcbhoinaeRbbgLa8AcFeGgXaLaX6EaoaCtVhoaecefheaQcufgQmbkawao86bba5aEfh5awcefhwa3aEfg3cz6mbkcbheindnaAaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaYczfgYas9pmbaAczfhAaraw9RcL0mekkaYas6meawTmeaOcefhOazcefgzal6hHawhAazalSmixbkkcbhwaHceGTmexikcbhwaHceGmdkaDaPaxcufal2falz:tjjjb8AaxakfhkawmbkcbhoxokcbhoxvkaiTmekcbhoaraw9Ralcaalca0E6mialc8F9nmexdkcbhoaecufca6mdkawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9Rhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBd:S:kjjbk;rse3u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:C:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgoydbhLaocwfydbhKaoclfydbhYcbh8Adndninalc;abfavcsGcitfgoydlhEdndndnaoydbgoaL9hmbaEaYSmekdnaoaY9hmbaEaK9hmba8Acefh8AxekaoaK9hmeaEaL9hmea8Acdfh8Aka8Ac870mdaXcufhvada8AciGcx2goc:y1jjbfydbaCfcdtfydbhEadaocN1jjbfydbaCfcdtfydbhKadaoc:q1jjbfydbaCfcdtfydbhLcbhodnindnalavcsGcdtfydbaE9hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaEaOSgvaYce9iaYaH9oVgoGh3dndndndndncbcsavEaYaoEgvcs9hmbarce9imbaEaEaAaEcefaASgvEgAcefSmecmcsavEhvkasava8Acdtc;WeGV86bbavcs9hmeaEaA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbkaEhAxdkcPhvasa8AcdtcPV86bbaEhAkavTmbavaH9imekalaXcdtfaEBdbaXcefcsGhXkaOa3fhOalc;abfaQcitfgvaKBdlavaEBdbalc;abfaQcefcsGgvcitfgoaEBdlaoaLBdbavcefhoxikavcufhva8Aclfg8Ac;ab9hmbkkdnadceaKaOScetaYaOSEcx2gvc:q1jjbfydbaCfcdtfydbgLTadavcN1jjbfydbaCfcdtfydbg8AceSGadavc:y1jjbfydbaCfcdtfydbgYcdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhKxdkcuhKaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydbaY9hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaLaOSg8Efh3dndnaKcm0mbaKcefhKxekcbcsa8Aa3SgvEhKa3avfh3kdndnaEcm0mbaEcefhExekcbcsaYa3SgvEhEa3avfh3kc9:cua8EEh8FaEaKcltVhocbhvdndndninavcj1jjbfRbbaocFeGSmeavcefgvcz9hmbxdkka5aLaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeao86bbaecefhekdna8EmbaLaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaLhAkdnaKcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmbaYaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaYhAkalaXcdtfaLBdbaXcefcsGhvdndnaKPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfaYBdbavcefcsGhvkalc;abfaQcitfgoaLBdlaoa8ABdbalc;abfaQcefcsGcitfgoa8ABdlaoaYBdbalc;abfaQcdfcsGcitfgoaYBdlaoaLBdbaQcifhoavhXa3hOkascefhsaocsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:C:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:C:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:dvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhralcxfIdbhqdndnakJbbbb9GTmbaxhkxekJbbjZar:l:tgkak:maxJbbbb9GEhkJbbjZax:l:tgxax:marJbbbb9GEhrkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEavNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohmxekcjjjj94hmkdndnakJbbj:;akJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;akJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;klld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicdfciGcdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk:Hvdxue998Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6mearcearce0EhwaohDinaDc:CuBdbaDclfhDawcufgwmbkaeTmiadcl6mdarcearce0EhqarcdthkalhxcbhminaohDaxhwaqhPinaDaDydbgsawydbgzcL4cFeGc:cufcbazEgzasaz9kEBdbawclfhwaDclfhDaPcufgPmbkaxakfhxamcefgmae9hmbkkaeTmdxekaeTmekavcb9hadcl6gqVhHarcearce0Ehkarcdthrceai9Rhmcbhdindndndnavce9hmbaqmdc:CuhwalhDakhPinawaDydbgscL4cFeGc:cufcbasEgsawas9kEhwaDclfhDaPcufgPmbxdkkc:CuhwaHmbaohDalhPakhsinaDaPydbgzcL4cFeGgxc8Aaxc8A9kEc:cufcbazEBdbaPclfhPaDclfhDascufgsmbkkaqmbcbhDakhsinawhPdnavceSmbaoaDfydbhPkdndnalaDfIdbgOcjjj;8iamaPfgPcLt9R::NJbbbZJbbb:;aOJbbbb9GEMgO:lJbbb9p9DTmbaO:Ohzxekcjjjj94hzkabaDfazcFFFrGaPcKtVBdbaDclfhDascufgsmbkkabarfhbalarfhladcefgdae9hmbkkaocjdf8KjjjjbkFkdCui998Jjjjjbc:Gd9Rgv8Kjjjjbavc:4efcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgoadcFFFFi0Ecbyd:K:kjjbHjjjjbbgeBd:4eavceBd:ydaeabaoz:tjjjb8Akavc:OefcwfcbBdbav9cb83i:Oeavc:Oefaeadaiavc:4efz:njjjbcuaicdtgraicFFFFi0Egwcbyd:K:kjjbHjjjjbbhoavc:4efavyd:ydgDcdtfaoBdbavaDcefgqBd:ydaoavyd:Oegkarz:tjjjbhxavc:4efaqcdtfadci9Ugmcbyd:K:kjjbHjjjjbbgoBdbavaDcdfgrBd:ydaocbamzNjjjbhPavc:4efarcdtfawcbyd:K:kjjbHjjjjbbgsBdbavaDcifgqBd:ydaxhoashrinaralIdbalaoydbgwcwawcw6Ecdtfc;ebfIdbMUdbaoclfhoarclfhraicufgimbkavc:4efaqcdtfcuamcdtadcFFFF970Ecbyd:K:kjjbHjjjjbbgqBdbavaDclfBd:yddnadci6mbamceamce0EhiaehoaqhrinarasaoydbcdtfIdbasaoclfydbcdtfIdbMasaocwfydbcdtfIdbMUdbaocxfhoarclfhraicufgimbkkavc;qbfhzavhoavyd:SehHavyd:WehOcbhwcbhrcbhAcehCinaohXcihQaearci2gLcdtfgocwfydbhdaoydbhDabaAcx2fgiclfaoclfydbgKBdbaiaDBdbaicwfadBdbaParfce86bbazadBdwazaKBdlazaDBdbaqarcdtfcbBdbdnawTmbcihQaXhiinazaQcdtfaiydbgoBdbaQaoaD9haoaK9hGaoad9hGfhQaiclfhiawcufgwmbkkaAcefhAaxaDcdtfgoaoydbcufBdbaxaKcdtfgoaoydbcufBdbaxadcdtfgoaoydbcufBdbcbhwinaOaHaeawaLfcdtfydbcdtgifydbcdtfgKhoakaifgDydbgdhidnadTmbdninaoydbarSmeaoclfhoaicufgiTmdxbkkaoadcdtaKfc98fydbBdbaDaDydbcufBdbkawcefgwci9hmbkdndndnaQTmbcuhrJbbbbhYcbhDavyd:SehKavyd:WehLindndnakazaDcdtfydbcdtgofydbgimbaDcefhDxekaDcs0hwasaofgdIdbh8AadalcbaDcefgDawEcdtfIdbalaxaofydbgwcwawcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEaicdthiaLaKaofydbcdtfhoinaqaoydbgwcdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYawaradEhraoclfhoaic98fgimbkkaDaQ9hmbkarcu9hmekaCam9pmeindnaPaCfRbbmbaChrxdkamaCcefgC9hmbxdkkaQczaQcz6EhwazhoaXhzarcu9hmekkavyd:ydhokaocdtavc:4effc98fhrdninaoTmearydbcbyd:G:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:Gdf8Kjjjjbk;UlevucuaicdtgvaicFFFFi0Egocbyd:K:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhwdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbawceawce0EhDabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;:kivuo99lu8Jjjjjbcj;Hb9Rgl8Kjjjjbcbhvalc1;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:K:kjjbHjjjjbbgrBd19GalceBd;O9Galcwfcbyd:m:kjjbBdbalcb8Pd:e:kjjb83ibalc;W;Gbfcwfcbyd:y:kjjbBdbalcb8Pd:q:kjjb83i;W9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;W;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;49GhDalIdlhkalId;09GhxalIdbhmalId;W9GhPkdndnadTmbJbbbbJbbjZaPam:tJbbbb:xgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhialaocbyd:K:kjjbHjjjjbbgzBd:m9GdnadTmbabhHinaHaiBdbaHclfhHadaicefgi9hmbkadTmbabhiadhHinalaraiydbgecdtfydbcFrGcx2fgvavydbgvcefBdbazavcdtfaeBdbaiclfhiaHcufgHmbkazhiadhHinalaraiydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaiclfhiaHcufgHmbkabhiadhHinalaraiydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwazavcdtfaeBdbaiclfhiaHcufgHmbkadTmbcbhiinabazydbcdtfaiBdbazclfhzadaicefgi9hmbkkclhidninaic98Smealc1;Gbfaifydbcbyd:G:kjjbH:bjjjbbaic98fhixbkkalcj;Hbf8Kjjjjbk9teiucbcbyd:O:kjjbgeabcifc98GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:O:kjjbgeabcrfc94GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:O:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:O:kjjbfgdBd:O:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:6ddbcjwk:Cdb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc:Cqkzebbbebbbdbbb8WWbb"),{}).then((function(a){(t=a.instance).exports.__wasm_call_ctors(),t.exports.meshopt_encodeVertexVersion(0),t.exports.meshopt_encodeIndexVersion(1)}));function assert(t){if(!t)throw new Error("Assertion failed")}function bytes(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function encode(a,r,i,o,A){var c=t.exports.sbrk,l=c(r),d=c(o*A),h=new Uint8Array(t.exports.memory.buffer);h.set(bytes(i),d);var b=a(l,r,d,o,A),u=new Uint8Array(b);return u.set(h.subarray(l,l+b)),c(l-c(0)),u}function maxindex(t){for(var a=0,r=0;r<t.length;++r){var i=t[r];a<i?i:a}return a}function index32(t,a){if(assert(2==a||4==a),4==a)return new Uint32Array(t.buffer,t.byteOffset,t.byteLength/4);var r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);return new Uint32Array(r)}function filter(a,r,i,o,A,c,l){var d=t.exports.sbrk,h=d(i*o),b=d(i*c),u=new Uint8Array(t.exports.memory.buffer);u.set(bytes(r),b),a(h,i,o,A,b,l);var g=new Uint8Array(i*o);return g.set(u.subarray(h,h+i*o)),d(h-d(0)),g}}();var ce=function(){var t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),a=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var r,i=WebAssembly.validate(t)?"b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb":"b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",o=WebAssembly.instantiate(unpack(i),{}).then((function(t){(r=t.instance).exports.__wasm_call_ctors()}));function unpack(t){for(var r=new Uint8Array(t.length),i=0;i<t.length;++i){var o=t.charCodeAt(i);r[i]=o>96?o-97:o>64?o-39:o+4}var A=0;for(i=0;i<t.length;++i)r[A++]=r[i]<60?a[r[i]]:64*(r[i]-60)+r[++i];return r.buffer.slice(0,A)}function decode(t,a,r,i,o,A,c){var l=t.exports.sbrk,d=i+3&-4,h=l(d*o),b=l(A.length),u=new Uint8Array(t.exports.memory.buffer);u.set(A,b);var g=a(h,i,o,b,A.length);if(0==g&&c&&c(h,d,o),r.set(u.subarray(h,h+i*o)),l(h-l(0)),0!=g)throw new Error("Malformed buffer data: "+g)}var A={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},c={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},l=[],d=0;function createWorker(t){var a={object:new Worker(t),pending:0,requests:{}};return a.object.onmessage=function(t){var r=t.data;a.pending-=r.count,a.requests[r.id][r.action](r.value),delete a.requests[r.id]},a}function workerProcess(t){var a=t.data;if(!a.id)return self.close();self.ready.then((function(t){try{var r=new Uint8Array(a.count*a.size);decode(t,t.exports[a.mode],r,a.count,a.size,a.source,t.exports[a.filter]),self.postMessage({id:a.id,count:a.count,action:"resolve",value:r},[r.buffer])}catch(t){self.postMessage({id:a.id,count:a.count,action:"reject",value:t})}}))}return{ready:o,supported:!0,useWorkers:function(t){!function initWorkers(t){for(var a="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(unpack(i))+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+workerProcess.name+";"+decode.toString()+workerProcess.toString(),r=new Blob([a],{type:"text/javascript"}),o=URL.createObjectURL(r),A=l.length;A<t;++A)l[A]=createWorker(o);for(A=t;A<l.length;++A)l[A].object.postMessage({});l.length=t,URL.revokeObjectURL(o)}(t)},decodeVertexBuffer:function(t,a,i,o,c){decode(r,r.exports.meshopt_decodeVertexBuffer,t,a,i,o,r.exports[A[c]])},decodeIndexBuffer:function(t,a,i,o){decode(r,r.exports.meshopt_decodeIndexBuffer,t,a,i,o)},decodeIndexSequence:function(t,a,i,o){decode(r,r.exports.meshopt_decodeIndexSequence,t,a,i,o)},decodeGltfBuffer:function(t,a,i,o,l,d){decode(r,r.exports[c[l]],t,a,i,o,r.exports[A[d]])},decodeGltfBufferAsync:function(t,a,i,h,b){return l.length>0?function decodeWorker(t,a,r,i,o){for(var A=l[0],c=1;c<l.length;++c)l[c].pending<A.pending&&(A=l[c]);return new Promise((function(c,l){var h=new Uint8Array(r),b=++d;A.pending+=t,A.requests[b]={resolve:c,reject:l},A.object.postMessage({id:b,count:t,size:a,source:h,mode:i,filter:o},[h.buffer])}))}(t,a,i,c[h],A[b]):o.then((function(){var o=new Uint8Array(t*a);return decode(r,r.exports[c[h]],o,t,a,i,r.exports[A[b]]),o}))}}}();!function(){var t,a=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var r=WebAssembly.instantiate(function unpack(t){for(var r=new Uint8Array(t.length),i=0;i<t.length;++i){var o=t.charCodeAt(i);r[i]=o>96?o-97:o>64?o-39:o+4}var A=0;for(i=0;i<t.length;++i)r[A++]=r[i]<60?a[r[i]]:64*(r[i]-60)+r[++i];return r.buffer.slice(0,A)}("b9H79Tebbbe9Ek9Geueu9Geub9Gbb9GPuuuuuuuuuuu99uueu9Gvuuuuub9Gluuuub9Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuec:G;jekr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdxmq::9Usdbk;i6iKuY99Ou8Jjjjjbc;W;ab9RgP8KjjjjbaPcwfcbc;Kbz:ljjjb8AaPcualcefgscdtascFFFFi0Ecbyd1:jjjbHjjjjbbgzBdwaPceBd9OaPazBdbaPcuadcitadcFFFFe0Ecbyd1:jjjbHjjjjbbgHBdxaPcdBd9OaPaHBdlaPaeadalcbz:cjjjbaPcualcdtgOalcFFFFi0EgAcbyd1:jjjbHjjjjbbgCBdzaPciBd9OaPaAcbyd1:jjjbHjjjjbbgXBdCaPclBd9Oalcd4alfhQcehLinaLgscethLasaQ6mbkcbhKaPcuascdtgLascFFFFi0Ecbyd1:jjjbHjjjjbbgQBdKaPcvBd9OaQcFeaLz:ljjjbhYdnalTmbavcd4h8AascufhEinaiaKa8A2cdtfg3ydlgscH4as7c:F:b:DD2a3ydbgscH4as7c;D;O:B8J27a3ydwgscH4as7c:3F;N8N27hQcbhsdndninaYaQaEGgQcdtfg5ydbgLcuSmeaiaLa8A2cdtfa3cxz:ojjjbTmdascefgsaQfhQasaE9nmbxdkka5aKBdbaKhLkaCaKcdtfaLBdbaKcefgKal9hmbkcbhsaXhLinaLasBdbaLclfhLalascefgs9hmbkcbhsaChLaXhQindnasaLydbgESmbaQaXaEcdtfgEydbBdbaEasBdbkaLclfhLaQclfhQalascefgs9hmbkkcbh8EaYcbyd:m:jjjbH:bjjjbbaPclBd9OaPalcbyd1:jjjbHjjjjbbgEBdKaPcvBd9OaPaAcbyd1:jjjbHjjjjbbgsBd3aPcoBd9OaPaAcbyd1:jjjbHjjjjbbgLBdaaPcrBd9OascFeaOz:ljjjbh8FaLcFeaOz:ljjjbhadnalTmbaHcwfhhindnaza8EgQcefg8Ecdtfydbg3azaQcdtgsfydbgLSmba3aL9RhOaHaLcitfhgaaasfh8Ja8FasfhKcbh8Aindndnaga8Acitfydbg5aQ9hmbaKaQBdba8JaQBdbxekdnaza5cdtg8KfgsclfydbgLasydbgsSmbaHascitg3fydbaQSmeaLas9Rh8Lascu7aLfhYaha3fhLcbhsinaYasSmeascefhsaLydbh3aLcwfhLa3aQ9hmbkasa8L6mekaaa8KfgsaQa5asydbcuSEBdbaKa5aQaKydbcuSEBdbka8Acefg8AaO9hmbkka8Eal9hmbkaChLaXhQaah3a8Fh8AcbhsindndnasaLydbg59hmbdnasaQydbg59hmba8Aydbh5dna3ydbgYcu9hmba5cu9hmbaEasfcb86bbxikaEasfhKdnasaYSmbasa5SmbaKce86bbxikaKcl86bbxdkdnasaXa5cdtgYfydb9hmbdna3ydbgKcuSmbasaKSmba8AydbgOcuSmbasaOSmbaaaYfydbggcuSmbaga5Smba8FaYfydbgYcuSmbaYa5SmbdnaCaKcdtfydbaCaYcdtfydb9hmbaCaOcdtfydbaCagcdtfydb9hmbaEasfcd86bbxlkaEasfcl86bbxikaEasfcl86bbxdkaEasfcl86bbxekaEasfaEa5fRbb86bbkaLclfhLaQclfhQa3clfh3a8Aclfh8Aalascefgs9hmbkaxceGTmbaEhsalhLindnasRbbce9hmbascl86bbkascefhsaLcufgLmbkkcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8JaPcwfaPyd9Ogscdtfa8JBdbaPascefgOBd9Oa8Jaialavz:djjjbdndnaDmbcbhvxekcbh5aPcwfaOcdtfcuaDal2gLcdtaLcFFFFi0Ecbyd1:jjjbHjjjjbbgvBdbaPascdfgOBd9OalTmbarcd4cdthYaDcdthKavh8AinaohsawhLa8AhQaDh3inaQasIdbaLIdbNUdbasclfhsaLclfhLaQclfhQa3cufg3mbkaoaYfhoa8AaKfh8Aa5cefg5al9hmbkkaPcwfaOcdtfcualc8S2gsalc;D;O;f8U0EgQcbyd1:jjjbHjjjjbbgLBdbaPaOcefg3Bd9OaLcbasz:ljjjbh8EdndndnaDTmbaPcwfa3cdtfaQcbyd1:jjjbHjjjjbbgoBdbaPaOcdfgLBd9Oaocbasz:ljjjb8AaPcwfaLcdtfcuaDal2gscltgLascFFFFb0Ecbyd1:jjjbHjjjjbbgwBdbaPaOcifBd9OawcbaLz:ljjjb8AadmexdkcbhocbhwadTmekcbh8AaehLindna8JaLclfydbg5cx2fgsIdba8JaLydbgYcx2fgQIdbg8M:tg8Na8JaLcwfydbgKcx2fg3IdlaQIdlgy:tg8PNa3Idba8M:tgIasIdlay:tg8RN:tg8Sa8SNa8Ra3IdwaQIdwgR:tg8UNa8PasIdwaR:tg8RN:tg8Pa8PNa8RaINa8Ua8NN:tg8Na8NNMM:rgIJbbbb9ETmba8SaI:vh8Sa8NaI:vh8Na8PaI:vh8Pka8EaCaYcdtfydbc8S2fgsa8PaI:rgIa8PNNg8RasIdbMUdbasa8NaIa8NNg8VNg8UasIdlMUdlasa8SaIa8SNg8WNg8XasIdwMUdwasa8Va8PNg8VasIdxMUdxasa8Wa8PNg8YasIdzMUdzasa8Wa8NNg8WasIdCMUdCasa8PaIa8SaRNa8Pa8MNaya8NNMM:mgyNg8MNg8PasIdKMUdKasa8Na8MNg8NasId3MUd3asa8Sa8MNg8SasIdaMUdaasa8MayNg8MasId8KMUd8KasaIasIdyMUdya8EaCa5cdtfydbc8S2fgsa8RasIdbMUdbasa8UasIdlMUdlasa8XasIdwMUdwasa8VasIdxMUdxasa8YasIdzMUdzasa8WasIdCMUdCasa8PasIdKMUdKasa8NasId3MUd3asa8SasIdaMUdaasa8MasId8KMUd8KasaIasIdyMUdya8EaCaKcdtfydbc8S2fgsa8RasIdbMUdbasa8UasIdlMUdlasa8XasIdwMUdwasa8VasIdxMUdxasa8YasIdzMUdzasa8WasIdCMUdCasa8PasIdKMUdKasa8NasId3MUd3asa8SasIdaMUdaasa8MasId8KMUd8KasaIasIdyMUdyaLcxfhLa8Acifg8Aad6mbkcbh5aehYincbhLinaEaeaLc:G1jjbfydba5fcdtfydbgQfRbbhsdndnaEaYaLfydbg3fRbbg8Ac99fcFeGcpe0mbasceSmbascd9hmekdna8AcufcFeGce0mba8Fa3cdtfydbaQ9hmekdnascufcFeGce0mbaaaQcdtfydba39hmekdna8Acv2asfc:W1jjbfRbbTmbaCaQcdtfydbaCa3cdtfydb0mekJbbacJbbjZasceSEhIa8AceShOa8JaeaLc:K1jjbfydba5fcdtfydbcx2fhsdna8JaQcx2fg8AIdwa8Ja3cx2fgKIdwgy:tg8Pa8PNa8AIdbaKIdbgR:tg8Na8NNa8AIdlaKIdlg8R:tg8Sa8SNMM:rg8MJbbbb9ETmba8Pa8M:vh8Pa8Sa8M:vh8Sa8Na8M:vh8NkJbbacaIaOEh8WdnasIdway:tgIa8PaIa8PNasIdbaR:tg8Xa8NNa8SasIdla8R:tg8VNMMg8UN:tgIaINa8Xa8Na8UN:tg8Pa8PNa8Va8Sa8UN:tg8Na8NNMM:rg8SJbbbb9ETmbaIa8S:vhIa8Na8S:vh8Na8Pa8S:vh8Pka8EaCa3cdtfydbc8S2fgsa8Pa8Wa8MNg8Sa8PNNg8UasIdbMUdbasa8Na8Sa8NNg8WNg8XasIdlMUdlasaIa8SaINg8MNg8VasIdwMUdwasa8Wa8PNg8WasIdxMUdxasa8Ma8PNg8YasIdzMUdzasa8Ma8NNg8ZasIdCMUdCasa8Pa8SaIayNa8PaRNa8Ra8NNMM:mgyNg8MNg8PasIdKMUdKasa8Na8MNg8NasId3MUd3asaIa8MNgIasIdaMUdaasa8MayNg8MasId8KMUd8Kasa8SasIdyMUdya8EaCaQcdtfydbc8S2fgsa8UasIdbMUdbasa8XasIdlMUdlasa8VasIdwMUdwasa8WasIdxMUdxasa8YasIdzMUdzasa8ZasIdCMUdCasa8PasIdKMUdKasa8NasId3MUd3asaIasIdaMUdaasa8MasId8KMUd8Kasa8SasIdyMUdykaLclfgLcx9hmbkaYcxfhYa5cifg5ad6mbkaDTmbcbhYinJbbbbhRa8JaeaYcdtfgsclfydbgKcx2fgLIdwa8JasydbgOcx2fgQIdwg8V:tg8Na8NNaLIdbaQIdbg8Y:tgIaINaLIdlaQIdlg8Z:tg8Sa8SNMMg8Wa8Jascwfydbggcx2fgsIdwa8V:tg8MNa8Na8Na8MNaIasIdba8Y:tgyNa8SasIdla8Z:tg8RNMMg8PN:tJbbbbJbbjZa8Wa8Ma8MNayayNa8Ra8RNMMg8XNa8Pa8PN:tg8U:va8UJbbbb9BEg8UNh80a8Xa8NNa8Ma8PN:ta8UNh81a8Wa8RNa8Sa8PN:ta8UNhBa8Xa8SNa8Ra8PN:ta8UNh83a8WayNaIa8PN:ta8UNhUa8XaINaya8PN:ta8UNh85aIa8RNaya8SN:tg8Pa8PNa8Sa8MNa8Ra8NN:tg8Pa8PNa8NayNa8MaIN:tg8Pa8PNMM:r:rh8PavaOaD2cdtfhLavagaD2cdtfhQavaKaD2cdtfh3a8V:mh86a8Z:mh87a8Y:mh88cbh8AaDh5Jbbbbh8RJbbbbh8UJbbbbh8WJbbbbh8XJbbbbh8VJbbbbh8YJbbbbh8ZJbbbbh89Jbbbbh8:inaPc;Wbfa8Afgscwfa8Pa81a3IdbaLIdbg8M:tg8SNa80aQIdba8M:tgyNMg8NNUdbasclfa8Pa83a8SNaBayNMgINUdbasa8Pa85a8SNaUayNMg8SNUdbascxfa8Pa86a8NNa87aINa8Ma88a8SNMMMg8MNUdba8Pa8NaINNa8XMh8Xa8Pa8Na8SNNa8VMh8Va8PaIa8SNNa8YMh8Ya8Pa8Ma8MNNaRMhRa8Pa8Na8MNNa8RMh8Ra8PaIa8MNNa8UMh8Ua8Pa8Sa8MNNa8WMh8Wa8Pa8Na8NNNa8ZMh8Za8PaIaINNa89Mh89a8Pa8Sa8SNNa8:Mh8:aLclfhLa3clfh3aQclfhQa8Aczfh8Aa5cufg5mbkaoaCaOcdtfydbgLc8S2fgsa8:asIdbMUdbasa89asIdlMUdlasa8ZasIdwMUdwasa8YasIdxMUdxasa8VasIdzMUdzasa8XasIdCMUdCasa8WasIdKMUdKasa8UasId3MUd3asa8RasIdaMUdaasaRasId8KMUd8Kasa8PasIdyMUdyaoaCaKcdtfydbgKc8S2fgsa8:asIdbMUdbasa89asIdlMUdlasa8ZasIdwMUdwasa8YasIdxMUdxasa8VasIdzMUdzasa8XasIdCMUdCasa8WasIdKMUdKasa8UasId3MUd3asa8RasIdaMUdaasaRasId8KMUd8Kasa8PasIdyMUdyaoaCagcdtfydbgOc8S2fgsa8:asIdbMUdbasa89asIdlMUdlasa8ZasIdwMUdwasa8YasIdxMUdxasa8VasIdzMUdzasa8XasIdCMUdCasa8WasIdKMUdKasa8UasId3MUd3asa8RasIdaMUdaasaRasId8KMUd8Kasa8PasIdyMUdyawaLaD2cltfh5cbhLaDh3ina5aLfgsaPc;WbfaLfgQIdbasIdbMUdbasclfg8AaQclfIdba8AIdbMUdbascwfg8AaQcwfIdba8AIdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa3cufg3mbkawaKaD2cltfh5cbhLaDh3ina5aLfgsaPc;WbfaLfgQIdbasIdbMUdbasclfg8AaQclfIdba8AIdbMUdbascwfg8AaQcwfIdba8AIdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa3cufg3mbkawaOaD2cltfh5cbhLaDh3ina5aLfgsaPc;WbfaLfgQIdbasIdbMUdbasclfg8AaQclfIdba8AIdbMUdbascwfg8AaQcwfIdba8AIdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa3cufg3mbkaYcifgYad6mbkkdnabaeSmbabaeadcdtz:kjjjb8AkaPydbhZcbhsdnalTmbaZclfhsaZydbh3aEhLalh8AcbhQincbasydbg5a39RaLRbbcpeGEaQfhQaLcefhLasclfhsa5h3a8Acufg8AmbkaQce4hskcuadas9Rcifgrcx2arc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8LaPcwfaPyd9Ogscdtfa8LBdbaPascefgLBd9OaPcwfaLcdtfcuarcdtarcFFFFi0Ecbyd1:jjjbHjjjjbbgxBdbaPascdfgLBd9OaPcwfaLcdtfaAcbyd1:jjjbHjjjjbbgHBdbaPascifgLBd9OaPcwfaLcdtfalcbyd1:jjjbHjjjjbbgnBdbaPasclfBd9OJbbbbh8Ydnadaq9nmbdnarci6mbakakNh8VaDclthca8Lcwfh9cJbbbbh8YinaPabadghalaCz:cjjjbabhOcbhzcbhKincbhsindnaCaOasfydbgQcdtgYfydbg8AaCabasc;m1jjbfydbaKfcdtfydbgLcdtfydbg5SmbaEaLfRbbgecv2aEaQfRbbg3fc;G1jjbfRbbg8Ka3cv2aefggc;G1jjbfRbbgiVcFeGTmbdnagc:W1jjbfRbbTmba5a8A0mekdna3ae9hmba3cufcFeGce0mba8FaYfydbaL9hmeka8Lazcx2fg3aLaQaicFeGg8AEBdla3aQaLa8AEBdba3a8Aa8KGcb9hBdwazcefhzkasclfgscx9hmbkdnaKcifgKah9pmbaOcxfhOazcifar9nmekkdnazmbahhdxikcbheinJbbbbJbbjZa8EaCa8Laecx2fg3ydlg8Aa3ydbg5a3ydwgLEgKcdtfydbg8Kc8S2gifgsIdyg8P:va8PJbbbb9BEasIdwa8Ja5a8AaLEgYcx2fgLIdwg8SNasIdzaLIdbg8MNasIdaMg8Pa8PMMa8SNasIdlaLIdlgyNasIdCa8SNasId3Mg8Pa8PMMayNasIdba8MNasIdxayNasIdKMg8Pa8PMMa8MNasId8KMMM:lNh8WJbbbbJbbjZa8EaCa5cdtfydbgdc8S2gQfgsIdyg8P:va8PJbbbb9BEasIdwa8Ja8Acx2fgLIdwgINasIdzaLIdbgRNasIdaMg8Pa8PMMaINasIdlaLIdlg8RNasIdCaINasId3Mg8Pa8PMMa8RNasIdbaRNasIdxa8RNasIdKMg8Pa8PMMaRNasId8KMMM:lNh8Xa3cwfhOa3clfhgdnaDTmbaoaQfgQIdwaINaQIdzaRNaQIdaMg8Pa8PMMaINaQIdla8RNaQIdCaINaQId3Mg8Pa8PMMa8RNaQIdbaRNaQIdxa8RNaQIdKMg8Pa8PMMaRNaQId8KMMMh8Nava8AaD2cdtfhLawadaD2cltfhsaQIdyh8UaDhQinaLIdbg8PJbbb;aNascxfIdbaIascwfIdbNaRasIdbNa8RasclfIdbNMMMNa8Pa8PNa8UNa8NMMh8NaLclfhLasczfhsaQcufgQmbkaoaifgQIdwa8SNaQIdza8MNaQIdaMg8Pa8PMMa8SNaQIdlayNaQIdCa8SNaQId3Mg8Pa8PMMayNaQIdba8MNaQIdxayNaQIdKMg8Pa8PMMa8MNaQId8KMMMhIavaYaD2cdtfhLawa8KaD2cltfhsaQIdyhRaDhQinaLIdbg8PJbbb;aNascxfIdba8SascwfIdbNa8MasIdbNayasclfIdbNMMMNa8Pa8PNaRNaIMMhIaLclfhLasczfhsaQcufgQmbka8WaI:lMh8Wa8Xa8N:lMh8Xkaga8AaYa8Xa8W9FgsEBdba3a5aKasEBdbaOa8Xa8WasEUdbaecefgeaz9hmbkaPc;Wbfcbcj;abz:ljjjb8Aa9chsazhLinaPc;WbfasydbcO4c;8ZGfgQaQydbcefBdbascxfhsaLcufgLmbkcbhscbhLinaPc;WbfasfgQydbh3aQaLBdba3aLfhLasclfgscj;ab9hmbkcbhsa9chLinaPc;WbfaLydbcO4c;8ZGfgQaQydbgQcefBdbaxaQcdtfasBdbaLcxfhLazascefgs9hmbkahaq9RgQci9UhJdnalTmbcbhsaHhLinaLasBdbaLclfhLalascefgs9hmbkkcbh9eancbalz:ljjjbhTaQcO9UhSaJce4h9haPydlh9icbhicbhgdnina8Laxagcdtfydbcx2fgOIdwg8Na8V9EmeaiaJ9pmeJFFuuh8Pdna9haz9pmba8Laxa9hcdtfydbcx2fIdwJbb;aZNh8Pkdna8Na8P9ETmbaiaS0mdkdnaTaCaOydlg6cdtg9kfydbg3fg0RbbaTaCaOydbgKcdtg9mfydbg9nfg9oRbbVmbdnaZa9ncdtfgsclfydbgLasydbgsSmbaLas9Rh5a9iascitfhsa8Ja3cx2fgYcwfhdaYclfhAa8Ja9ncx2fg8Kcwfh9pa8Kclfh9qcbhLcehednindnaHasydbcdtfydbgQa3SmbaHasclfydbcdtfydbg8Aa3SmbaQa8ASmba8Ja8Acx2fg8AIdba8JaQcx2fgQIdbgI:tg8Pa9qIdbaQIdlg8S:tg8MNa8KIdbaI:tgya8AIdla8S:tg8NN:ta8PaAIdba8S:tgRNaYIdbaI:tg8Ra8NN:tNa8Na9pIdbaQIdwg8S:tg8UNa8Ma8AIdwa8S:tgIN:ta8NadIdba8S:tg8SNaRaIN:tNaIayNa8Ua8PN:taIa8RNa8Sa8PN:tNMMJbbbb9FmdkascwfhsaLcefgLa56hea5aL9hmbkkaeceGTmba9hcefh9hxeka8Ea3c8S2gQfgsa8Ea9nc8S2g8AfgLIdbasIdbMUdbasaLIdlasIdlMUdlasaLIdwasIdwMUdwasaLIdxasIdxMUdxasaLIdzasIdzMUdzasaLIdCasIdCMUdCasaLIdKasIdKMUdKasaLId3asId3MUd3asaLIdaasIdaMUdaasaLId8KasId8KMUd8KasaLIdyasIdyMUdydnaDTmbaoaQfgsaoa8AfgLIdbasIdbMUdbasaLIdlasIdlMUdlasaLIdwasIdwMUdwasaLIdxasIdxMUdxasaLIdzasIdzMUdzasaLIdCasIdCMUdCasaLIdKasIdKMUdKasaLId3asId3MUd3asaLIdaasIdaMUdaasaLId8KasId8KMUd8KasaLIdyasIdyMUdyaca9n2heaca32hYawhLaDh8AinaLaYfgsaLaefgQIdbasIdbMUdbasclfg5aQclfIdba5IdbMUdbascwfg5aQcwfIdba5IdbMUdbascxfgsaQcxfIdbasIdbMUdbaLczfhLa8Acufg8AmbkkaOcwfhLdndndndnaEaKfgQRbbc9:fPdebdkaKhsinaHascdtgsfa3BdbaXasfydbgsaK9hmbxikkaXa9kfydbhsaXa9mfydbhKaHa9mfa6Bdbash6kaHaKcdtfa6Bdbka9oce86bba0ce86bbaLIdbg8Pa8Ya8Ya8P9DEh8Ya9ecefh9ececdaQRbbceSEaifhikagcefggaz9hmbkkdna9embahhdxikdnalTmbcbhLa8FhsindnasydbgQcuSmbdnaLaHaQcdtg3fydbgQ9hmba8Fa3fydbhQkasaQBdbkasclfhsalaLcefgL9hmbkcbhLaahsindnasydbgQcuSmbdnaLaHaQcdtg3fydbgQ9hmbaaa3fydbhQkasaQBdbkasclfhsalaLcefgL9hmbkkcbhdabhscbh8AindnaHasydbcdtfydbgLaHasclfydbcdtfydbgQSmbaLaHascwfydbcdtfydbg3SmbaQa3Smbabadcdtfg5aLBdba5clfaQBdba5cwfa3Bdbadcifhdkascxfhsa8Acifg8Aah6mbkadaq9nmdxbkkaPabadalaCz:cjjjbkdnamTmbama8Y:rUdbkaPyd9OgscdtaPcwffc98fhCdninasTmeaCydbcbyd:m:jjjbH:bjjjbbaCc98fhCascufhsxbkkaPc;W;abf8Kjjjjbadk;:ieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbarcearce0EhdinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfheadcufgdmbkkabydbcbBdbk:Zldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarcx2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkdnabTmbadTmbJbbbbJbbjZalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEgq:vaqJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabcxfhbadcufgdmbkkk8KbabaeadaialavcbcbcbcbaoarawaDz:bjjjbk8KbabaeadaialavaoarawaDaqakaxamz:bjjjbk;lOowud99wue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcwfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgqBdwawceBd9Oaqaeadaiz:djjjbawcuadcdtadcFFFFi0Egkcbyd1:jjjbHjjjjbbgxBdxawcdBd9Oadcd4adfhmceheinaegicetheaiam6mbkcbhmawcuaicdtgPaicFFFFi0Ecbyd1:jjjbHjjjjbbgsBdzawciBd9Odndnar:Zgz:rJbbbZMgH:lJbbb9p9DTmbaH:Ohexekcjjjj94hekaicufhOc:bwhAcbhCcbhXadhQinaChLaeaAgKcufaeaK9iEamgDcefaeaD9kEhYdndnadTmbaYcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbh3cbh5indnaEaxa5cdtfydbgAcm4aA7c:v;t;h;Ev2gics4ai7aOGgmcdtfgCydbgecuSmbaeaASmbcehiinaEamaifaOGgmcdtfgCydbgecuSmeaicefhiaeaA9hmbkkaCaABdba3aecuSfh3a5cefg5ad9hmbxdkkascFeaPz:ljjjb8Acbh3kaDaYa3ar0giEhmaLa3aiEhCdna3arSmbaYaKaiEgAam9Rcd9imbdndnaXcl0mbdnaQ:ZgHaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa3:Zghaz:tNNNaHaz:taaNa8Aah:tNa8Aaz:ta8FNahaH:tNM:va8EMJbbbZMgH:lJbbb9p9DTmbaH:Ohexdkcjjjj94hexekamaAfcd9Theka3aQaiEhQaXcefgXcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd1:jjjbHjjjjbbg5BdCawclBd9OdndnadTmbamcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbhDcbh3inaxa3cdtgYfydbgAcm4aA7c:v;t;h;Ev2gics4ai7hecbhidndninaEaeaOGgmcdtfgCydbgecuSmednaxaecdtgCfydbaASmbaicefgiamfheaiaO9nmekka5aCfydbhixekaCa3BdbaDhiaDcefhDka5aYfaiBdba3cefg3ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekascFeaPz:ljjjb8AcbhDcbhekawaecbyd1:jjjbHjjjjbbgeBdKawcvBd9Oaecbaiz:ljjjbhOavcd4hxdnadTmbaxcdth3a5hmalhAaqheadhEinaOamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaAc;81jjbalEgCIdbaiIdxMUdxaiaCIdlaiIdzMUdzaiaCIdwaiIdCMUdCaiaiIdKJbbjZMUdKamclfhmaAa3fhAaecxfheaEcufgEmbkkdnaDTmbaOcxfhiaDheinaictfgmamIdbJbbbbJbbjZaicxfIdbgH:vaHJbbbb9BEgHNUdbaic94fgmaHamIdbNUdbaic98fgmaHamIdbNUdbaiaHaiIdbNUdbaiclfgmaHamIdbNUdbaicwfgmaHamIdbNUdbaic3fhiaecufgembkkcbhAawcuaDcdtgYaDcFFFFi0Egicbyd1:jjjbHjjjjbbgeBd3awcoBd9Oawaicbyd1:jjjbHjjjjbbgEBdaaecFeaYz:ljjjbh3dnadTmbaoaoNh8Aaxcdthxalheina8Aaec;81jjbalEgmIdwaOa5ydbgCc32fgiIdC:tgHaHNamIdbaiIdx:tgHaHNamIdlaiIdz:tgHaHNMMNaqcwfIdbaiIdw:tgHaHNaqIdbaiIdb:tgHaHNaqclfIdbaiIdl:tgHaHNMMMhHdndna3aCcdtgifgmydbcuSmbaEaifIdbaH9ETmekamaABdbaEaifaHUdbka5clfh5aeaxfheaqcxfhqadaAcefgA9hmbkkaba3aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcwffydbcbyd:m:jjjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcifc98GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcrfc94GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:jjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:jjjbfgdBd:q:jjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:Iedbcjwk1eFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbbbbbbbbbbbbbbbbc1Dkxebbbdbbb:G9Kbb"),{}).then((function(a){(t=a.instance).exports.__wasm_call_ctors()}));function assert(t){if(!t)throw new Error("Assertion failed")}function bytes(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function simplifyPoints(a,r,i,o,A,c,l,d){var h=t.exports.sbrk,b=h(4*d),u=h(i*o),g=h(i*c),p=new Uint8Array(t.exports.memory.buffer);p.set(bytes(r),u),A&&p.set(bytes(A),g);var I=a(b,u,i,o,g,c,l,d);new Uint8Array(t.exports.memory.buffer);var y=new Uint32Array(I);return bytes(y).set(p.subarray(b,b+4*I)),h(b-h(0)),y}var i={LockBorder:1}}();function TileLoader_typeof(t){return TileLoader_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},TileLoader_typeof(t)}function TileLoader_regeneratorRuntime(){TileLoader_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==TileLoader_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(TileLoader_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function TileLoader_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function TileLoader_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){TileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){TileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function TileLoader_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,TileLoader_toPropertyKey(i.key),i)}}function TileLoader_toPropertyKey(t){var a=function TileLoader_toPrimitive(t,a){if("object"!=TileLoader_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=TileLoader_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==TileLoader_typeof(a)?a:a+""}var le,de=0,he=function(){return function TileLoader_createClass(t,a,r){return a&&TileLoader_defineProperties(t.prototype,a),r&&TileLoader_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function TileLoader(a){if(function TileLoader_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,TileLoader),this.zUpToYUpMatrix=new t.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.proxy=a.proxy,a&&(this.meshCallback=a.meshCallback,this.pointsCallback=a.pointsCallback,a.maxCachedItems&&(this.maxCachedItems=a.maxCachedItems)),this.gltfLoader=new GLTFLoader,a&&a.dracoLoader)this.gltfLoader.setDRACOLoader(a.dracoLoader),this.hasDracoLoader=!0;else{var r=new DRACOLoader;r.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"),this.gltfLoader.setDRACOLoader(r),this.gltfLoader.hasDracoLoader=!0}if(a&&a.ktx2Loader)this.gltfLoader.setKTX2Loader(a.ktx2Loader),this.hasKTX2Loader=!0;else if(a&&a.renderer){var i=new KTX2Loader;i.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(a.renderer),this.gltfLoader.setKTX2Loader(i),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(ce),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new d(this.gltfLoader),this.cache=new o.LinkedHashMap,this.register={},this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}),[{key:"update",value:function update(){de<8&&this._download(),this._loadBatch()}},{key:"_scheduleDownload",value:function _scheduleDownload(t){this.downloads.unshift(t)}},{key:"_download",value:function _download(){if(0!=this.nextDownloads.length||(this._getNextDownloads(),0!=this.nextDownloads.length))for(;this.nextDownloads.length>0;){var t=this.nextDownloads.shift();t&&t.shouldDoDownload()&&t.doDownload()}}},{key:"_meshReceived",value:function _meshReceived(t,a,r,i,o,A,c){this.ready.unshift([t,a,r,i,o,A,c])}},{key:"_loadBatch",value:function _loadBatch(){var t=this;0==this.nextReady.length&&this._getNextReady();for(var a,r=function _loop(){var a=t.nextReady.shift();if(!a)return{v:void 0};var r=a[0],i=a[1],o=a[2],A=r.get(o);A&&i[o]&&Object.keys(i[o]).forEach((function(t){var a=i[o][t];a&&(a(A),i[o][t]=null)})),0==t.nextReady.length&&t._getNextReady()};this.nextReady.length>0;)if(a=r())return a.v}},{key:"_getNextDownloads",value:function _getNextDownloads(){for(var t=Number.POSITIVE_INFINITY,a=-1,r=this.downloads.length-1;r>=0;r--)this.downloads[r].distanceFunction||this.nextDownloads.push(this.downloads.splice(r,1)[0]);if(!(this.nextDownloads.length>0)){for(var i=this.downloads.length-1;i>=0;i--){var o=this.downloads[i].distanceFunction();o<=t&&(t=o,a=i)}if(a>=0){var A=this.downloads.splice(a,1).pop();this.nextDownloads.push(A);for(var c=A.getSiblings(),l=this.downloads.length-1;l>=0;l--)c.map((function(t){return t.uuid})).includes(this.downloads[l].uuid)&&this.nextDownloads.push(this.downloads.splice(l,1).pop())}}}},{key:"_getNextReady",value:function _getNextReady(){for(var t=Number.POSITIVE_INFINITY,a=-1,r=this.ready.length-1;r>=0;r--)this.ready[r][3]||this.nextReady.push(this.ready.splice(r,1)[0]);if(!(this.nextReady.length>0)){for(var i=this.ready.length-1;i>=0;i--){var o=this.ready[i][3]()*this.ready[i][5];o<=t&&(t=o,a=i)}if(a>=0){var A=this.ready.splice(a,1).pop();this.nextReady.push(A);for(var c=A[4](),l=this.ready.length-1;l>=0;l--)c.map((function(t){return t.uuid})).includes(this.ready[l][6])&&this.nextReady.push(this.ready.splice(l,1).pop())}}}},{key:"get",value:function get(t,a,r,i,o,A,c,l,d,h){var b=this,u=this,g=_simplifyPath(r),p=new AbortController;if(t.signal.addEventListener("abort",(function(){u.register[g]&&0!=Object.keys(u.register[g]).length||p.abort("user abort")})),r.includes(".b3dm")||r.includes(".json")||r.includes(".gltf")||r.includes(".glb")){if(u.register[g]||(u.register[g]={}),u.register[g][a]&&console.error(" a tile should only be loaded once"),u.register[g][a]=i,u.cache.get(g))this._meshReceived(u.cache,u.register,g,o,A,c,a);else if(1==Object.keys(u.register[g]).length){var I;r.includes(".b3dm")?I=function downloadFunction(){var t;t=u.proxy?function fetchFunction(){return fetch(u.proxy,{method:"POST",body:r,signal:p.signal})}:function fetchFunction(){return fetch(r,{signal:p.signal})},de++,t().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+r),new Error("couldn't load \"".concat(r,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.arrayBuffer()})).then((function(t){return b.b3dmDecoder.parseB3DM(t,(function(t){u.meshCallback(t,h)}),l,d)})).then((function(t){u.cache.put(g,t),u._checkSize(),b._meshReceived(u.cache,u.register,g,o,A,c,a)})).catch((function(t){console.error(t)})).finally((function(){de--}))}:r.includes(".glb")||r.includes(".gltf")?I=function downloadFunction(){var t;t=u.proxy?function fetchFunction(){return fetch(u.proxy,{method:"POST",body:r,signal:p.signal})}:function fetchFunction(){return fetch(r,{signal:p.signal})},de++,t().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+r),new Error("couldn't load \"".concat(r,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.arrayBuffer()})).then(function(){var t=TileLoader_asyncToGenerator(TileLoader_regeneratorRuntime().mark((function _callee(t){return TileLoader_regeneratorRuntime().wrap((function _callee$(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,_checkLoaderInitialized(b.gltfLoader);case 2:b.gltfLoader.parse(t,null,(function(t){t.scene.asset=t.asset,l&&t.scene.applyMatrix4(b.zUpToYUpMatrix),t.scene.traverse((function(t){t.isMesh&&(d&&t.applyMatrix4(b.zUpToYUpMatrix),u.meshCallback&&u.meshCallback(t,h)),t.isPoints&&u.pointsCallback&&u.pointsCallback(t,h)})),u.cache.put(g,t.scene),u._checkSize(),u._meshReceived(u.cache,u.register,g,o,A,c,a)}));case 3:case"end":return r.stop()}}),_callee)})));return function(a){return t.apply(this,arguments)}}()).catch((function(t){"user abort"!==t&&20!==t.code&&console.error(t)})).finally((function(){de--}))}:r.includes(".json")&&(I=function downloadFunction(){var t;t=u.proxy?function fetchFunction(){return fetch(u.proxy,{method:"POST",body:r,signal:p.signal})}:function fetchFunction(){return fetch(r,{signal:p.signal})},de++,t().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+r),new Error("couldn't load \"".concat(r,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.json()})).then((function(t){return resolveImplicite(t,r)})).then((function(t){u.cache.put(g,t),u._checkSize(),u._meshReceived(u.cache,u.register,g)})).catch((function(t){console.error(t)})).finally((function(){de--}))}),this._scheduleDownload({shouldDoDownload:function shouldDoDownload(){return!t.signal.aborted&&!!u.register[g]&&Object.keys(u.register[g]).length>0},doDownload:I,distanceFunction:o,getSiblings:A,level:c,uuid:a})}}else console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data")}},{key:"clear",value:function clear(){var t=this.maxCachedItems;this.maxCachedItems=0,this._checkSize(),this.maxCachedItems=t}},{key:"invalidate",value:function invalidate(t,a){var r=_simplifyPath(t);this.register[r]&&delete this.register[r][a]}},{key:"_checkSize",value:function _checkSize(){for(var t=this,a=0;t.cache.size()>t.maxCachedItems&&a<t.cache.size();){a++;var r=t.cache.head(),i=t.register[r.key];i&&(Object.keys(i).length>0?(t.cache.remove(r.key),t.cache.put(r.key,r.value)):(t.cache.remove(r.key),delete t.register[r.key],r.value.traverse((function(t){if(t.material)if(t.material.length)for(var a=0;a<t.material.length;++a)t.material[a].dispose();else t.material.dispose();t.geometry&&t.geometry.dispose()}))))}}}])}();function _checkLoaderInitialized(t){return _checkLoaderInitialized2.apply(this,arguments)}function _checkLoaderInitialized2(){return(_checkLoaderInitialized2=TileLoader_asyncToGenerator(TileLoader_regeneratorRuntime().mark((function _callee2(t){return TileLoader_regeneratorRuntime().wrap((function _callee2$(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise((function(a){var r=setInterval((function(){t.hasDracoLoader&&!t.dracoLoader||t.hasKTX2Loader&&!t.ktx2Loader||(clearInterval(r),a())}),10)})));case 2:case"end":return a.stop()}}),_callee2,this)})))).apply(this,arguments)}function _simplifyPath(t){for(var a=t.split("/"),r=[],i=0,o=0;o<a.length;o++){var A=a[o];"."!==A&&""!==A&&".."!==A?r[i++]=A:".."===A&&i>0&&i--}if(0===i)return"/";var c="";for(o=0;o<i;o++)c+="/"+r[o];return c}var be=new Uint8Array(16);function rng(){if(!le&&!(le="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return le(be)}const ue=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const ge=function validate(t){return"string"==typeof t&&ue.test(t)};for(var fe=[],pe=0;pe<256;++pe)fe.push((pe+256).toString(16).substr(1));const Ie=function stringify(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(fe[t[a+0]]+fe[t[a+1]]+fe[t[a+2]]+fe[t[a+3]]+"-"+fe[t[a+4]]+fe[t[a+5]]+"-"+fe[t[a+6]]+fe[t[a+7]]+"-"+fe[t[a+8]]+fe[t[a+9]]+"-"+fe[t[a+10]]+fe[t[a+11]]+fe[t[a+12]]+fe[t[a+13]]+fe[t[a+14]]+fe[t[a+15]]).toLowerCase();if(!ge(r))throw TypeError("Stringified UUID is invalid");return r};const ye=function v4(t,a,r){var i=(t=t||{}).random||(t.rng||rng)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,a){r=r||0;for(var o=0;o<16;++o)a[r+o]=i[o];return a}return Ie(i)};var me=__webpack_require__(975);function OGC3DTile_typeof(t){return OGC3DTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},OGC3DTile_typeof(t)}function OGC3DTile_slicedToArray(t,a){return function OGC3DTile_arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function OGC3DTile_iterableToArrayLimit(t,a){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var i,o,A,c,l=[],d=!0,h=!1;try{if(A=(r=r.call(t)).next,0===a){if(Object(r)!==r)return;d=!1}else for(;!(d=(i=A.call(r)).done)&&(l.push(i.value),l.length!==a);d=!0);}catch(t){h=!0,o=t}finally{try{if(!d&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(h)throw o}}return l}}(t,a)||OGC3DTile_unsupportedIterableToArray(t,a)||function OGC3DTile_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OGC3DTile_toConsumableArray(t){return function OGC3DTile_arrayWithoutHoles(t){if(Array.isArray(t))return OGC3DTile_arrayLikeToArray(t)}(t)||function OGC3DTile_iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||OGC3DTile_unsupportedIterableToArray(t)||function OGC3DTile_nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OGC3DTile_unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return OGC3DTile_arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?OGC3DTile_arrayLikeToArray(t,a):void 0}}function OGC3DTile_arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function OGC3DTile_regeneratorRuntime(){OGC3DTile_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==OGC3DTile_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(OGC3DTile_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function OGC3DTile_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function OGC3DTile_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){OGC3DTile_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){OGC3DTile_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function ownKeys(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);a&&(i=i.filter((function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),r.push.apply(r,i)}return r}function OGC3DTile_defineProperty(t,a,r){return(a=OGC3DTile_toPropertyKey(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}function OGC3DTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,OGC3DTile_toPropertyKey(i.key),i)}}function OGC3DTile_toPropertyKey(t){var a=function OGC3DTile_toPrimitive(t,a){if("object"!=OGC3DTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=OGC3DTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==OGC3DTile_typeof(a)?a:a+""}function OGC3DTile_callSuper(t,a,r){return a=OGC3DTile_getPrototypeOf(a),function OGC3DTile_possibleConstructorReturn(t,a){if(a&&("object"==OGC3DTile_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function OGC3DTile_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,OGC3DTile_isNativeReflectConstruct()?Reflect.construct(a,r||[],OGC3DTile_getPrototypeOf(t).constructor):a.apply(t,r))}function OGC3DTile_isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(OGC3DTile_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function OGC3DTile_getPrototypeOf(t){return OGC3DTile_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},OGC3DTile_getPrototypeOf(t)}function OGC3DTile_setPrototypeOf(t,a){return OGC3DTile_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},OGC3DTile_setPrototypeOf(t,a)}var Ce,Ee=new t.Sphere(new t.Vector3(0,0,0),1),Be=(new t.Box3,new t.Vector3(0,0,0)),Qe=new t.Vector3(0,0,0),ve=new t.Vector3(0,1,0),we=new t.Quaternion,ke={};function getOGC3DTilesCopyrightInfo(){var t=[];for(var a in ke)ke.hasOwnProperty(a)&&ke[a]>0&&t.push(a);return t}var xe=function(a){function OGC3DTile(a){var r;!function OGC3DTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,OGC3DTile);var i=r=OGC3DTile_callSuper(this,OGC3DTile);if(r.contentURL=[],a.domWidth&&a.domHeight?r.rendererSize=new t.Vector2(a.domWidth,a.domHeight):r.rendererSize=new t.Vector2(1e3,1e3),r.loadingStrategy=a.loadingStrategy?a.loadingStrategy.toUpperCase():"INCREMENTAL",r.distanceBias=Math.max(1e-4,a.distanceBias?a.distanceBias:1),r.proxy=a.proxy,r.drawBoundingVolume=!!a.drawBoundingVolume&&a.drawBoundingVolume,r.displayErrors=a.displayErrors,r.displayCopyright=a.displayCopyright,a.queryParams&&(r.queryParams=function _objectSpread(t){for(var a=1;a<arguments.length;a++){var r=null!=arguments[a]?arguments[a]:{};a%2?ownKeys(Object(r),!0).forEach((function(a){OGC3DTile_defineProperty(t,a,r[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(r,a))}))}return t}({},a.queryParams)),r.uuid=ye(),a.tileLoader)r.tileLoader=a.tileLoader;else{var o={};o.meshCallback=a.meshCallback?a.meshCallback:function(a,r){a.material.wireframe=!1,a.material.side=t.DoubleSide},o.pointsCallback=a.pointsCallback?a.pointsCallback:function(t,a){t.material.size=Math.pow(a,.33),t.material.sizeAttenuation=!0},o.proxy=r.proxy,o.renderer=a.renderer,o.dracoLoader=a.dracoLoader,o.ktx2Loader=a.ktx2Loader,r.tileLoader=new he(o),r.update=function(t){r.update(t),r.tileLoader.update()}}if(r.displayCopyright=!!a.displayCopyright,r.geometricErrorMultiplier=a.geometricErrorMultiplier?a.geometricErrorMultiplier:1,r.renderer=a.renderer,r.meshCallback=a.meshCallback,r.loadOutsideView=a.loadOutsideView,r.cameraOnLoad=a.cameraOnLoad,r.parentTile=a.parentTile,r.occlusionCullingService=a.occlusionCullingService,r.static=a.static,r.occlusionCullingService&&(r.color=new t.Color,r.color.setHex(16777215*Math.random()),r.colorID=t.MathUtils.clamp(255*i.color.r,0,255)<<16^t.MathUtils.clamp(255*i.color.g,0,255)<<8^t.MathUtils.clamp(255*i.color.b,0,255)),r.static&&(r.matrixAutoUpdate=!1,r.matrixWorldAutoUpdate=!1),r.childrenTiles=[],r.meshContent=[],r.tileContent,r.refine,r.rootPath,r.geometricError,r.boundingVolume,r.json,r.materialVisibility=!1,r.level=a.level?a.level:0,r.hasMeshContent=0,r.hasUnloadedJSONContent=0,r.centerModel=a.centerModel,r.abortController=new AbortController,r.onLoadCallback=a.onLoadCallback,a.json)i._setup(a);else if(a.url){var A=a.url;if(i.queryParams){var c="";for(var l in i.queryParams)i.queryParams.hasOwnProperty(l)&&(c+="&"+l+"="+i.queryParams[l]);A.includes("?")?A+=c:A+="?"+c.substring(1)}(i.proxy?function fetchFunction(){return fetch(i.proxy,{method:"POST",body:A,signal:i.abortController.signal})}:function fetchFunction(){return fetch(A,{signal:i.abortController.signal})})().then((function(t){if(!t.ok)throw new Error("couldn't load \"".concat(a.url,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));t.json().then((function(t){return resolveImplicite(t,A)})).then((function(t){i._setup({rootPath:me.dirname(a.url),json:t})}))})).catch((function(t){i.displayErrors&&_showError(t)}))}return r}return function OGC3DTile_inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&OGC3DTile_setPrototypeOf(t,a)}(OGC3DTile,a),function OGC3DTile_createClass(t,a,r){return a&&OGC3DTile_defineProperties(t.prototype,a),r&&OGC3DTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(OGC3DTile,[{key:"updateMatrices",value:function updateMatrices(){this.updateMatrix(),this.static&&this.traverse((function(t){t.isObject3D&&(t.matrixWorldAutoUpdate=!0)})),this.updateMatrixWorld(!0),this.static&&this.traverse((function(t){t.isObject3D&&(t.matrixWorldAutoUpdate=!1)}))}},{key:"setCanvasSize",value:function setCanvasSize(t,a){this.rendererSize.set(t,a)}},{key:"_setup",value:(o=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee(a){var i,o,A,c,l,d,h;return OGC3DTile_regeneratorRuntime().wrap((function _callee$(b){for(;;)switch(b.prev=b.next){case 0:if(l=function _checkContent2(t){t.uri&&t.uri.includes("json")||t.url&&t.url.includes("json")?i.hasUnloadedJSONContent++:i.hasMeshContent++},i=this,a.json.root?(i.json=a.json.root,i.json.refine||(i.json.refine=a.json.refine),i.json.geometricError||(i.json.geometricError=a.json.geometricError),i.json.transform||(i.json.transform=a.json.transform),i.json.boundingVolume||(i.json.boundingVolume=a.json.boundingVolume)):i.json=a.json,i.json.children){b.next=11;break}if(!i.json.getChildren){b.next=10;break}return b.next=7,i.json.getChildren();case 7:i.json.children=b.sent,b.next=11;break;case 10:i.json.children=[];case 11:if(i.rootPath=a.json.rootPath?a.json.rootPath:a.rootPath,i.json.refine?i.refine=i.json.refine:i.refine=a.parentRefine,i.json.geometricError?i.geometricError=i.json.geometricError:i.geometricError=a.parentGeometricError,i.json.transform&&((o=new t.Matrix4).elements=i.json.transform,i.applyMatrix4(o)),i.json.boundingVolume?i.json.boundingVolume.box?i.boundingVolume=new r(i.json.boundingVolume.box):i.json.boundingVolume.region?(A=i.json.boundingVolume.region,i._transformWGS84ToCartesian(A[0],A[1],A[4],Be),i._transformWGS84ToCartesian(A[2],A[3],A[5],Qe),Be.lerp(Qe,.5),i.boundingVolume=new t.Sphere(new t.Vector3(Be.x,Be.y,Be.z),Be.distanceTo(Qe))):i.json.boundingVolume.sphere?(c=i.json.boundingVolume.sphere,i.boundingVolume=new t.Sphere(new t.Vector3(c[0],c[1],c[2]),c[3])):i.boundingVolume=a.parentBoundingVolume:i.boundingVolume=a.parentBoundingVolume,!i.json.content){b.next=27;break}l(i.json.content),0==i.hasMeshContent&&(i.level=Math.max(0,i.parentTile?i.parentTile.level+.01:0)),b.t0=i.loadingStrategy,b.next="IMMEDIATE"===b.t0?22:24;break;case 22:return i._load(!0,!1),b.abrupt("break",25);case 24:i._load();case 25:b.next=36;break;case 27:if(!i.json.contents){b.next=36;break}i.json.contents.forEach((function(t){return l(t)})),0==i.hasMeshContent&&(i.level=Math.max(0,i.parentTile?i.parentTile.level+.01:0)),b.t1=i.loadingStrategy,b.next="IMMEDIATE"===b.t1?33:35;break;case 33:return i._load(!0,!1),b.abrupt("break",36);case 35:i._load();case 36:i.centerModel&&(d=new t.Sphere,i.boundingVolume instanceof r?d.copy(i.boundingVolume.sphere):i.boundingVolume instanceof t.Sphere&&d.copy(i.boundingVolume),this.json.boundingVolume.region&&(this._transformWGS84ToCartesian(.5*(this.json.boundingVolume.region[0]+this.json.boundingVolume.region[2]),.5*(this.json.boundingVolume.region[1]+this.json.boundingVolume.region[3]),.5*(this.json.boundingVolume.region[4]+this.json.boundingVolume.region[5]),Be),we.setFromUnitVectors(Be.normalize(),ve.normalize()),i.applyQuaternion(we)),d.center.applyMatrix4(i.matrix),i.position.sub(d.center),i.updateMatrices()),a.onLoadCallback&&i.onLoadCallback(i),i.isSetup=!0,i.level>0&&i.drawBoundingVolume&&(i.bbox&&console.log("double setup"),this.boundingVolume.aabb&&((h=this.boundingVolume.aabb.clone()).applyMatrix4(this.matrixWorld),i.bbox=new t.Box3Helper(h,16776960),i.add(i.bbox),i.bbox.material.visible=!1));case 40:case"end":return b.stop()}}),_callee,this)}))),function _setup(t){return o.apply(this,arguments)})},{key:"_assembleURL",value:function _assembleURL(t,a){t.endsWith("/")||(t+="/");for(var r=new URL(t),i=r.pathname.split("/").filter((function(t){return""!==t})),o=a.split("/").filter((function(t){return""!==t})),A=1;A<=i.length&&!(A>=o.length);A++){if(i.slice(i.length-A,i.length).join("/")===o.slice(0,A).join("/")){for(var c=0;c<A;c++)i.pop();break}}for(;o.length>0&&".."===o[0];)i.pop(),o.shift();return"".concat(r.protocol,"//").concat(r.host,"/").concat([].concat(OGC3DTile_toConsumableArray(i),OGC3DTile_toConsumableArray(o)).join("/"))}},{key:"_extractQueryParams",value:function _extractQueryParams(t,a){var r,i=new URL(t),o=function OGC3DTile_createForOfIteratorHelper(t,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=OGC3DTile_unsupportedIterableToArray(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var i=0,o=function F(){};return{s:o,n:function n(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var A,c=!0,l=!1;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){l=!0,A=t},f:function f(){try{c||null==r.return||r.return()}finally{if(l)throw A}}}}(i.searchParams);try{for(o.s();!(r=o.n()).done;){var A=OGC3DTile_slicedToArray(r.value,2),c=A[0],l=A[1];a[c]=l}}catch(t){o.e(t)}finally{o.f()}return i.search="",i.toString()}},{key:"_load",value:(i=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee4(){var a,r,i,o,A,c,l=arguments;return OGC3DTile_regeneratorRuntime().wrap((function _callee4$(d){for(;;)switch(d.prev=d.next){case 0:if(c=function _loadContent3(){return c=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee3(a,r,o,A){var c,l,d,h;return OGC3DTile_regeneratorRuntime().wrap((function _callee3$(b){for(;;)switch(b.prev=b.next){case 0:if(a.uri?c=a.uri:a.url&&(c=a.url),(l=/^(?:http|https|ftp|tcp|udp):\/\/\S+/).test(i.rootPath)?l.test(c)||(c=i._assembleURL(i.rootPath,c)):me.isAbsolute(i.rootPath)&&(c=i.rootPath+me.sep+c),c=i._extractQueryParams(c,i.queryParams),i.queryParams){for(h in d="",i.queryParams)i.queryParams.hasOwnProperty(h)&&(d+="&"+h+"="+i.queryParams[h]);c.includes("?")?c+=d:c+="?"+d.substring(1)}if(c)if(A&&(c.includes(".b3dm")||c.includes(".glb")||c.includes(".gltf"))){i.contentURL.push(c);try{i.tileLoader.get(i.abortController,i.uuid,c,(function(a){i.deleted||(a.asset&&a.asset.copyright&&(a.asset.copyright.split(";").forEach((function(t){ke[t]?ke[t]++:ke[t]=1})),i.displayCopyright&&_updateCopyrightLabel()),a.traverse((function(a){if((a.isMesh||a.isPoints)&&a.layers.disable(0),a.isMesh&&i.occlusionCullingService){for(var r=a.geometry.attributes.position,o=[],A=0;A<r.count;A++)o.push(i.color.r,i.color.g,i.color.b);a.geometry.setAttribute("color",new t.Float32BufferAttribute(o,3))}})),i.add(a),i.updateMatrices(),i.meshContent.push(a))}),i.cameraOnLoad?function(){var t=1;return(i.metric&&i.metric<0||i.deleted)&&(t=2),i.parentTile?i.parentTile._calculateDistanceToCamera(i.cameraOnLoad)*t*i.level:i._calculateDistanceToCamera(i.cameraOnLoad)*t*i.level}:function(){return 0},(function(){return i._getSiblings()}),i.level,!i.json.boundingVolume.region,!!i.json.boundingVolume.region,i.geometricError)}catch(t){i.displayErrors&&_showError(t)}}else o&&c.includes(".json")&&(i.jsonRequested=c,i.tileLoader.get(i.abortController,i.uuid,c,function(){var t=OGC3DTile_asyncToGenerator(OGC3DTile_regeneratorRuntime().mark((function _callee2(t){return OGC3DTile_regeneratorRuntime().wrap((function _callee2$(a){for(;;)switch(a.prev=a.next){case 0:if(!i.deleted){a.next=2;break}return a.abrupt("return");case 2:t.rootPath=me.dirname(c),i.json.children.push(t),null==r?delete i.json.content:i.json.contents.splice(r,1),i.hasUnloadedJSONContent--;case 6:case"end":return a.stop()}}),_callee2)})));return function(a){return t.apply(this,arguments)}}()));case 6:case"end":return b.stop()}}),_callee3)}))),c.apply(this,arguments)},A=function _loadContent2(t,a,r,i){return c.apply(this,arguments)},a=!(l.length>0&&void 0!==l[0])||l[0],r=!(l.length>1&&void 0!==l[1])||l[1],!(i=this).deleted){d.next=7;break}return d.abrupt("return");case 7:if(!i.json.content){d.next=12;break}return d.next=10,A(i.json.content,null,a,r);case 10:d.next=13;break;case 12:i.json.contents&&(o=i.json.contents.map((function(t,i){return A(t,i,a,r)})),Promise.all(o));case 13:case"end":return d.stop()}}),_callee4,this)}))),function _load(){return i.apply(this,arguments)})},{key:"dispose",value:function dispose(){var t=this;t.meshContent.forEach((function(a){a&&a.asset&&a.asset.copyright&&(a.asset.copyright.split(";").forEach((function(t){ke[t]&&ke[t]--})),t.displayCopyright&&_updateCopyrightLabel())})),t.bbox&&t.bbox.dispose(),t.childrenTiles.forEach((function(t){return t.dispose()})),t.deleted=!0,t.contentURL&&(t.contentURL.forEach((function(a){t.tileLoader.invalidate(a,t.uuid)})),t.contentURL=[]),t.abortController&&t.abortController.abort("tile not needed"),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}},{key:"_disposeMeshContent",value:function _disposeMeshContent(){var t=this;if(!t.deleted){t.deleted=!0,t.abortController&&(t.abortController.abort("tile not needed"),t.abortController=new AbortController);for(var a=t.meshContent.length-1;a>=0;a--){var r=t.meshContent[a];r&&r.asset&&r.asset.copyright&&(r.asset.copyright.split(";").forEach((function(t){ke[t]&&ke[t]--})),t.displayCopyright&&_updateCopyrightLabel()),t.remove(r)}t.meshContent=[],t.contentURL.forEach((function(a){t.tileLoader.invalidate(a,t.uuid)})),t.contentURL=[]}}},{key:"_disposeChildren",value:function _disposeChildren(){var t=this;t.childrenTiles.forEach((function(a){a.dispose(),t.remove(a)})),t.childrenTiles=[]}},{key:"update",value:function update(a){var r=new t.Frustum;r.setFromProjectionMatrix((new t.Matrix4).multiplyMatrices(a.projectionMatrix,a.matrixWorldInverse));var i=[0],o=[0],A=[0],c=[0];if("REPLACE"==this.refine)if("IMMEDIATE"===this.loadingStrategy)this._updateImmediate(a,r),this._statsImmediate(A,i,c,o);else this._update(a,r),this._stats(A,i,c,o);else this._update(a,r),this._stats(A,i,c,o);return i>0&&(c[0]/=i[0]),{numTilesLoaded:i[0],numTilesRendered:o[0],maxLOD:A[0],percentageLoaded:c[0]}}},{key:"_updateImmediate",value:function _updateImmediate(t,a){this._computeMetricRecursive(t,a),this._updateNodeVisibilityImmediate(),this._expandTreeImmediate(t),this.shouldBeVisible=this.metric>0||!!this.loadOutsideView,this._shouldBeVisibleUpdateImmediate(),this._trimTreeImmediate(),this._loadMeshImmediate()}},{key:"_statsImmediate",value:function _statsImmediate(t,a,r,i){t[0]=Math.max(t[0],this.level),(this.shouldBeVisible||this.materialVisibility)&&(a[0]++,this.materialVisibility&&r[0]++),this.materialVisibility&&i[0]++,this.childrenTiles.forEach((function(o){o._statsImmediate(t,a,r,i)}))}},{key:"_stats",value:function _stats(t,a,r,i){t[0]=Math.max(t[0],this.level),this.hasMeshContent&&(a[0]++,this.meshContent.length==this.hasMeshContent&&r[0]++,this.materialVisibility&&i[0]++),this.childrenTiles.forEach((function(o){o._stats(t,a,r,i)}))}},{key:"_trimTreeImmediate",value:function _trimTreeImmediate(){null!=this.metric&&(this.hasMeshContent&&this.shouldBeVisible&&this.materialVisibility?this._disposeChildren():this.childrenTiles.forEach((function(t){t._trimTreeImmediate()})))}},{key:"_updateNodeVisibilityImmediate",value:function _updateNodeVisibilityImmediate(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=this;if(a.hasMeshContent)if(a.shouldBeVisible)a.meshContent.length==a.hasMeshContent?a.materialVisibility?a.childrenTiles.forEach((function(t){t._updateNodeVisibilityImmediate(!0)})):(a._changeContentVisibility(!0),a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))):a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}));else{if(!a.loadOutsideView&&a.metric<0)return a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),void a.childrenTiles.forEach((function(t){t._updateNodeVisibilityImmediate(!0)}));if(a.materialVisibility)if(t)a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}));else{var r=!0;a.childrenTiles.every((function(t){return!!t._isReadyImmediate()||(r=!1,!1)})),r&&a.childrenTiles.length>0?(a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))):a.childrenTiles.forEach((function(t){t._updateNodeVisibilityImmediate(!0)}))}else a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))}else a.childrenTiles.forEach((function(a){a._updateNodeVisibilityImmediate(t)}))}},{key:"_shouldBeVisibleUpdateImmediate",value:function _shouldBeVisibleUpdateImmediate(){var t=this;t.hasMeshContent?null==t.metric?t.shouldBeVisible=!1:t.metric<0?(t.shouldBeVisible=!!t.loadOutsideView,t.childrenTiles.forEach((function(t){t._setShouldNotBeVisibleRecursive()}))):t.metric<t.geometricErrorMultiplier*t.geometricError?t.hasUnloadedJSONContent||(t.json&&t.json.children&&t.json.children.length>0?(t.shouldBeVisible=!1,t.childrenTiles.forEach((function(t){t.shouldBeVisible=!0,t._shouldBeVisibleUpdateImmediate()}))):t.shouldBeVisible=!0):t.childrenTiles.forEach((function(t){t._setShouldNotBeVisibleRecursive()})):(t.childrenTiles.forEach((function(t){t.shouldBeVisible=!0,t._shouldBeVisibleUpdateImmediate()})),t.shouldBeVisible=!1)}},{key:"_setShouldNotBeVisibleRecursive",value:function _setShouldNotBeVisibleRecursive(){this.shouldBeVisible=!1,this.childrenTiles.forEach((function(t){t._setShouldNotBeVisibleRecursive()}))}},{key:"_loadMeshImmediate",value:function _loadMeshImmediate(){var t=this;t.hasMeshContent&&t.shouldBeVisible?t.meshContent.length<t.hasMeshContent&&0==t.contentURL.length&&(t.deleted=!1,t._load(!1,!0)):t.childrenTiles.forEach((function(t){t._loadMeshImmediate()}))}},{key:"_computeMetricRecursive",value:function _computeMetricRecursive(t,a){var r=this;r.metric=-1,r.isSetup&&(r.boundingVolume&&r.geometricError&&(r.metric=r._calculateUpdateMetric(t,a)),r.childrenTiles.forEach((function(r){return r._computeMetricRecursive(t,a)})))}},{key:"_expandTreeImmediate",value:function _expandTreeImmediate(t){var a=this;a.hasUnloadedJSONContent||(a.hasMeshContent?a.occlusionCullingService&&a.hasMeshContent&&!a.occlusionCullingService.hasID(a.colorID)||a.metric>=0&&a.metric<a.geometricErrorMultiplier*a.geometricError&&a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(t):a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(t)),a.childrenTiles.forEach((function(a){return a._expandTreeImmediate(t)}))}},{key:"_update",value:function _update(t,a){var r=this;if(r.isSetup){var i=r.materialVisibility;r.boundingVolume&&r.geometricError&&(r.metric=r._calculateUpdateMetric(t,a)),r.childrenTiles.forEach((function(r){return r._update(t,a)})),function _updateNodeVisibility(t){if(!r.hasMeshContent)return;if(r.meshContent.length<r.hasMeshContent)return;if(t<0)return r.inFrustum=!1,void r._changeContentVisibility(!!r.loadOutsideView);r.inFrustum=!0;if(0==r.childrenTiles.length)return void r._changeContentVisibility(!0);if(t>=r.geometricErrorMultiplier*r.geometricError)r._changeContentVisibility(!0);else if(t<r.geometricErrorMultiplier*r.geometricError&&"REPLACE"==r.refine){var a=!0;r.childrenTiles.every((function(t){return!!t._isReady()||(a=!1,!1)})),a?r._changeContentVisibility(!1):r._changeContentVisibility(!0)}}(r.metric),function _updateTree(a){if(a<0&&r.hasMeshContent)return;if(r.occlusionCullingService&&r.hasMeshContent&&!r.occlusionCullingService.hasID(r.colorID))return;if((!r.hasMeshContent||a<=r.geometricErrorMultiplier*r.geometricError&&r.meshContent.length>0)&&r.json&&r.json.children&&r.childrenTiles.length!=r.json.children.length)return void r._loadJsonChildren(t)}(r.metric),function _trimTree(t,a){if(!r.hasMeshContent)return;if(!r.inFrustum)return void r._disposeChildren();if(r.occlusionCullingService&&!a&&r.hasMeshContent&&r.meshContent.length>0&&r.materialVisibility&&r._areAllChildrenLoadedAndHidden())return void r._disposeChildren();if(t>=r.geometricErrorMultiplier*r.geometricError)return void r._disposeChildren()}(r.metric,i)}}},{key:"_loadJsonChildren",value:function _loadJsonChildren(t){for(var a=this,r=a.json.children.length-1;r>=0;r--)a.json.children[r].root||a.json.children[r].children||a.json.children[r].getChildren||a.json.children[r].content||a.json.children[r].contents||a.json.children.splice(r,1);a.json.children.forEach((function(r){var i=new OGC3DTile({parentTile:a,queryParams:a.queryParams,parentGeometricError:a.geometricError,parentBoundingVolume:a.boundingVolume,parentRefine:a.refine,json:r,rootPath:a.rootPath,geometricErrorMultiplier:a.geometricErrorMultiplier,loadOutsideView:a.loadOutsideView,level:Math.floor(a.level)+1,tileLoader:a.tileLoader,cameraOnLoad:t,occlusionCullingService:a.occlusionCullingService,renderer:a.renderer,static:a.static,centerModel:!1,displayErrors:a.displayErrors,displayCopyright:a.displayCopyright,distanceBias:a.distanceBias,loadingStrategy:a.loadingStrategy,drawBoundingVolume:a.drawBoundingVolume});a.childrenTiles.push(i),a.add(i)})),a.updateMatrices(!0)}},{key:"_areAllChildrenLoadedAndHidden",value:function _areAllChildrenLoadedAndHidden(){var t=!0,a=this;return this.childrenTiles.every((function(r){if(r.hasMeshContent){if(r.childrenTiles.length>0)return t=!1,!1;if(!r.metric<0)return!0;if(r.materialVisibility)return t=!1,!1;if(a.occlusionCullingService.hasID(r.colorID))return t=!1,!1}else if(!r._areAllChildrenLoadedAndHidden())return t=!1,!1;return!0})),t}},{key:"_isReady",value:function _isReady(){if(null==this.metric)return!1;if(this.metric<0)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent&&0==this.json.children.length&&!this.hasUnloadedJSONContent)return!0;if(!this.hasMeshContent||0==this.meshContent.length||!this.materialVisibility){if(this.children.length>0){var t=!0;return this.childrenTiles.every((function(a){return!!a._isReady()||(t=!1,!1)})),t}return!1}return!this.hasMeshContent||!(this.meshContent.length<this.hasMeshContent)&&!!this.materialVisibility}},{key:"_isReadyImmediate",value:function _isReadyImmediate(){if(this.materialVisibility||!this.loadOutsideView&&this.metric<0)return!0;if(this.childrenTiles.length>0){var t=!0;return this.childrenTiles.every((function(a){return!!a._isReadyImmediate()||(t=!1,!1)})),t}return!1}},{key:"_changeContentVisibility",value:function _changeContentVisibility(t){var a=this;a.bbox&&(a.bbox.material.visible=t),a.hasMeshContent&&a.meshContent.length>0&&(t?a.meshContent.forEach((function(t){t.traverse((function(t){(t.isMesh||t.isPoints)&&t.layers.enable(0)}))})):a.meshContent.forEach((function(t){t.traverse((function(t){(t.isMesh||t.isPoints)&&t.layers.disable(0)}))}))),a.materialVisibility!=t&&(a.materialVisibility=t)}},{key:"_calculateUpdateMetric",value:function _calculateUpdateMetric(a,i){var o=0;if(this.boundingVolume instanceof r){if(Ee.copy(this.boundingVolume.sphere),Ee.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Ee))return-1;o=Math.max(0,a.position.distanceTo(Ee.center)-Ee.radius-a.near)}else{if(!(this.boundingVolume instanceof t.Sphere))return console.error("unsupported shape"),-1;if(Ee.copy(this.boundingVolume),Ee.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Ee))return-1;o=Math.max(0,a.position.distanceTo(Ee.center)-Ee.radius-a.near)}if(0==(o=Math.pow(o,this.distanceBias)))return 0;var A=this.matrixWorld.getMaxScaleOnAxis();this.renderer&&this.renderer.getDrawingBufferSize(this.rendererSize);var c=this.rendererSize.y,l=a.fov;a.aspect<1&&(l*=a.aspect,c=this.rendererSize.x);var d=2*Math.tan(.5*l*.017453292519943295)*o;return 16*window.devicePixelRatio*d/(c*A)}},{key:"_getSiblings",value:function _getSiblings(){var t=this,a=[];if(!t.parentTile)return a;for(var r=t.parentTile;!r.hasMeshContent&&r.parentTile;)r=r.parentTile;return r.childrenTiles.forEach((function(r){if(r&&r!=t){for(;!r.hasMeshContent&&r.childrenTiles[0];)r=r.childrenTiles[0];a.push(r)}})),a}},{key:"_calculateDistanceToCamera",value:function _calculateDistanceToCamera(a){return this.boundingVolume instanceof r?(Ee.copy(this.boundingVolume.sphere),Ee.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof t.Sphere?(Ee.copy(this.boundingVolume),Ee.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,a.position.distanceTo(Ee.center)-Ee.radius)}},{key:"setGeometricErrorMultiplier",value:function setGeometricErrorMultiplier(t){this.geometricErrorMultiplier=t,this.childrenTiles.forEach((function(a){return a.setGeometricErrorMultiplier(t)}))}},{key:"setDistanceBias",value:function setDistanceBias(t){this.distanceBias=t,this.childrenTiles.forEach((function(a){return a.setDistanceBias(t)}))}},{key:"_transformWGS84ToCartesian",value:function _transformWGS84ToCartesian(t,a,r,i){var o=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),A=Math.cos(a),c=Math.cos(t),l=Math.sin(a),d=o+r,h=d*A*c,b=d*A*Math.sin(t),u=(.993305615557957*o+r)*l;i.set(h,b,u)}}]);var i,o}(t.Object3D);function _showError(t){var a=document.createElement("div");a.textContent=t,a.style.position="fixed",a.style.top="10px",a.style.left="50%",a.style.transform="translateX(-50%)",a.style.padding="10px",a.style.backgroundColor="#ff8800",a.style.color="#ffffff",a.style.zIndex="9999",document.body.appendChild(a),setTimeout((function(){a.remove()}),8e3)}function _updateCopyrightLabel(){Ce||((Ce=document.createElement("div")).style.position="fixed",Ce.style.bottom="20px",Ce.style.left="20px",Ce.style.color="white",Ce.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",Ce.style.padding="10px",Ce.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(Ce));var t=getOGC3DTilesCopyrightInfo(),a="";t.forEach((function(t){a+=t+", "})),a=a.slice(0,-2),Ce.textContent=a}function InstancedTile_typeof(t){return InstancedTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},InstancedTile_typeof(t)}function InstancedTile_slicedToArray(t,a){return function InstancedTile_arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function InstancedTile_iterableToArrayLimit(t,a){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var i,o,A,c,l=[],d=!0,h=!1;try{if(A=(r=r.call(t)).next,0===a){if(Object(r)!==r)return;d=!1}else for(;!(d=(i=A.call(r)).done)&&(l.push(i.value),l.length!==a);d=!0);}catch(t){h=!0,o=t}finally{try{if(!d&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(h)throw o}}return l}}(t,a)||InstancedTile_unsupportedIterableToArray(t,a)||function InstancedTile_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function InstancedTile_toConsumableArray(t){return function InstancedTile_arrayWithoutHoles(t){if(Array.isArray(t))return InstancedTile_arrayLikeToArray(t)}(t)||function InstancedTile_iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||InstancedTile_unsupportedIterableToArray(t)||function InstancedTile_nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function InstancedTile_unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return InstancedTile_arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?InstancedTile_arrayLikeToArray(t,a):void 0}}function InstancedTile_arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,i=Array(a);r<a;r++)i[r]=t[r];return i}function InstancedTile_regeneratorRuntime(){InstancedTile_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==InstancedTile_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(InstancedTile_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function InstancedTile_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function InstancedTile_ownKeys(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);a&&(i=i.filter((function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),r.push.apply(r,i)}return r}function InstancedTile_defineProperty(t,a,r){return(a=InstancedTile_toPropertyKey(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}function InstancedTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,InstancedTile_toPropertyKey(i.key),i)}}function InstancedTile_toPropertyKey(t){var a=function InstancedTile_toPrimitive(t,a){if("object"!=InstancedTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=InstancedTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==InstancedTile_typeof(a)?a:a+""}function InstancedTile_callSuper(t,a,r){return a=InstancedTile_getPrototypeOf(a),function InstancedTile_possibleConstructorReturn(t,a){if(a&&("object"==InstancedTile_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function InstancedTile_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,InstancedTile_isNativeReflectConstruct()?Reflect.construct(a,r||[],InstancedTile_getPrototypeOf(t).constructor):a.apply(t,r))}function InstancedTile_isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(InstancedTile_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function InstancedTile_getPrototypeOf(t){return InstancedTile_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},InstancedTile_getPrototypeOf(t)}function InstancedTile_setPrototypeOf(t,a){return InstancedTile_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},InstancedTile_setPrototypeOf(t,a)}var Te=new t.Sphere(new t.Vector3(0,0,0),1),De=new t.Vector3(0,0,0),je=new t.Vector3(0,0,0),_e=new t.Vector3(0,1,0),Ge=new t.Vector2,Le=new t.Quaternion,Se=new t.Matrix4,Fe=function(a){function InstancedTile(t){var a;!function InstancedTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,InstancedTile);var r=a=InstancedTile_callSuper(this,InstancedTile);if(t.queryParams&&(a.queryParams=function InstancedTile_objectSpread(t){for(var a=1;a<arguments.length;a++){var r=null!=arguments[a]?arguments[a]:{};a%2?InstancedTile_ownKeys(Object(r),!0).forEach((function(a){InstancedTile_defineProperty(t,a,r[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):InstancedTile_ownKeys(Object(r)).forEach((function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(r,a))}))}return t}({},t.queryParams)),a.uuid=ye(),t.tileLoader?a.tileLoader=t.tileLoader:console.error("an instanced tileset must be provided an InstancedTilesetLoader"),a.master=t.master,a.loadOutsideView=t.loadOutsideView,a.cameraOnLoad=t.cameraOnLoad,a.parentTile=t.parentTile,a.distanceBias=Math.max(1e-4,t.distanceBias?t.distanceBias:1),a.childrenTiles=[],a.jsonChildren=[],a.meshContent=new Set,a.static=t.static,a.static&&(a.matrixAutoUpdate=!1,a.matrixWorldAutoUpdate=!1),a.tileContent,a.refinement,a.rootPath,a.geometricError,a.boundingVolume,a.json,a.materialVisibility=!1,a.inFrustum=!0,a.level=t.level?t.level:0,a.hasMeshContent=0,a.hasUnloadedJSONContent=0,a.centerModel=t.centerModel,a.deleted=!1,a.abortController=new AbortController,t.json)a.rootPath=t.json.rootPath?t.json.rootPath:t.rootPath,t.json.children&&(a.jsonChildren=t.json.children),r.setup(t);else if(t.url){a.loadJson=function(a,i){var o=me.dirname(i);r.setup({rootPath:o,json:a,onLoadCallback:t.onLoadCallback})};var i=t.url;if(r.queryParams){var o="";for(var A in r.queryParams)r.queryParams.hasOwnProperty(A)&&(o+="&"+A+"="+r.queryParams[A]);i.includes("?")?i+=o:i+="?"+o.substring(1)}r.tileLoader.get(r.abortController,i,r.uuid,r)}return a}return function InstancedTile_inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&InstancedTile_setPrototypeOf(t,a)}(InstancedTile,a),function InstancedTile_createClass(t,a,r){return a&&InstancedTile_defineProperties(t.prototype,a),r&&InstancedTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(InstancedTile,[{key:"setup",value:(i=function InstancedTile_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){InstancedTile_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){InstancedTile_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}(InstancedTile_regeneratorRuntime().mark((function _callee(a){var i,o,A,c,l,d;return InstancedTile_regeneratorRuntime().wrap((function _callee$(h){for(;;)switch(h.prev=h.next){case 0:if(l=function _checkContent(t){t.uri&&t.uri.includes("json")||t.url&&t.url.includes("json")?i.hasUnloadedJSONContent++:i.hasMeshContent++},i=this,!a.json.root){h.next=15;break}if(i.json=a.json.root,i.json.children||!i.json.getChildren){h.next=8;break}return h.next=7,i.json.getChildren();case 7:i.json.children=h.sent;case 8:i.jsonChildren=i.json.children,i.json.refinement||(i.json.refinement=a.json.refinement),i.json.geometricError||(i.json.geometricError=a.json.geometricError),i.json.transform||(i.json.transform=a.json.transform),i.json.boundingVolume||(i.json.boundingVolume=a.json.boundingVolume),h.next=21;break;case 15:if(i.json=a.json,i.json.children||!i.json.getChildren){h.next=21;break}return h.next=19,i.json.getChildren();case 19:i.json.children=h.sent,i.jsonChildren=i.json.children;case 21:i.rootPath=a.json.rootPath?a.json.rootPath:a.rootPath,i.json.refinement?i.refinement=i.json.refinement:i.refinement=a.parentRefinement,i.json.geometricError?i.geometricError=i.json.geometricError:i.geometricError=a.parentGeometricError,o=new t.Matrix4,i.json.transform&&!i.centerModel&&(o.elements=i.json.transform),i.applyMatrix4(o),i.parentTile&&i.parentTile.matrix&&(i.matrix.premultiply(i.parentTile.matrix),i.matrix.decompose(i.position,i.quaternion,i.scale)),i.matrixWorldNeedsUpdate=!0,i.updateWorldMatrix(!0,!0),i.json.boundingVolume?i.json.boundingVolume.box?i.boundingVolume=new r(i.json.boundingVolume.box):i.json.boundingVolume.region?(A=i.json.boundingVolume.region,i.transformWGS84ToCartesian(A[0],A[1],A[4],De),i.transformWGS84ToCartesian(A[2],A[3],A[5],je),De.lerp(je,.5),i.boundingVolume=new t.Sphere(new t.Vector3(De.x,De.y,De.z),De.distanceTo(je))):i.json.boundingVolume.sphere?(c=i.json.boundingVolume.sphere,i.boundingVolume=new t.Sphere(new t.Vector3(c[0],c[1],c[2]),c[3])):i.boundingVolume=a.parentBoundingVolume:i.boundingVolume=a.parentBoundingVolume,i.json.content?(l(i.json.content),i.load()):i.json.contents&&(i.json.contents.forEach((function(t){return l(t)})),i.load()),i.centerModel&&(d=new t.Sphere,i.boundingVolume instanceof r?d.copy(i.boundingVolume.sphere):i.boundingVolume instanceof t.Sphere&&d.copy(i.boundingVolume),this.json.boundingVolume.region&&(i.transformWGS84ToCartesian(.5*(i.json.boundingVolume.region[0]+i.json.boundingVolume.region[2]),.5*(i.json.boundingVolume.region[1]+i.json.boundingVolume.region[3]),.5*(i.json.boundingVolume.region[4]+i.json.boundingVolume.region[5]),De),Le.setFromUnitVectors(De.normalize(),_e.normalize()),i.master.applyQuaternion(Le),i.master.updateWorldMatrix(!1,!1)),Se.makeTranslation(-d.center.x*i.scale.x,-d.center.y*i.scale.y,-d.center.z*i.scale.z),i.master.matrix.multiply(Se),i.master.matrix.decompose(i.master.position,i.master.quaternion,i.master.scale)),i.isSetup=!0,a.onLoadCallback&&a.onLoadCallback(i);case 35:case"end":return h.stop()}}),_callee,this)}))),function setup(t){return i.apply(this,arguments)})},{key:"isAbsolutePathOrURL",value:function isAbsolutePathOrURL(t){var a=/^(?:http|https|ftp|tcp|udp):\/\/\S+/.test(t),r=t.startsWith("/")&&!t.startsWith("//");return a||r}},{key:"assembleURL",value:function assembleURL(t,a){t.endsWith("/")||(t+="/");for(var r=new URL(t),i=r.pathname.split("/").filter((function(t){return""!==t})),o=a.split("/").filter((function(t){return""!==t})),A=1;A<=i.length&&!(A>=o.length);A++){if(i.slice(i.length-A,i.length).join("/")===o.slice(0,A).join("/")){for(var c=0;c<A;c++)i.pop();break}}for(;o.length>0&&".."===o[0];)i.pop(),o.shift();return"".concat(r.protocol,"//").concat(r.host,"/").concat([].concat(InstancedTile_toConsumableArray(i),InstancedTile_toConsumableArray(o)).join("/"))}},{key:"extractQueryParams",value:function extractQueryParams(t,a){var r,i=new URL(t),o=function InstancedTile_createForOfIteratorHelper(t,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=InstancedTile_unsupportedIterableToArray(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var i=0,o=function F(){};return{s:o,n:function n(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var A,c=!0,l=!1;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){l=!0,A=t},f:function f(){try{c||null==r.return||r.return()}finally{if(l)throw A}}}}(i.searchParams);try{for(o.s();!(r=o.n()).done;){var A=InstancedTile_slicedToArray(r.value,2),c=A[0],l=A[1];a[c]=l}}catch(t){o.e(t)}finally{o.f()}return i.search="",i.toString()}},{key:"load",value:function load(){var t=this;function loadContent(a){var r;a.uri?r=a.uri:a.url&&(r=a.url);var i=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(i.test(t.rootPath)?i.test(r)||(r=t.assembleURL(t.rootPath,r)):me.isAbsolute(t.rootPath)&&(r=t.rootPath+me.sep+r),r=t.extractQueryParams(r,t.queryParams),t.queryParams){var o="";for(var A in t.queryParams)t.queryParams.hasOwnProperty(A)&&(o+="&"+A+"="+t.queryParams[A]);r.includes("?")?r+=o:r+="?"+o.substring(1)}r&&(r.includes(".b3dm")||r.includes(".glb")||r.includes(".gltf")?(t.contentURL=r,t.tileLoader.get(t.abortController,r,t.uuid,t,t.cameraOnLoad?function(){return t.calculateDistanceToCamera(t.cameraOnLoad)}:function(){return 0},(function(){return t.getSiblings()}),t.level,!t.json.boundingVolume.region,!!t.json.boundingVolume.region,t.geometricError)):r.includes(".json")&&t.tileLoader.get(t.abortController,r,t.uuid,t))}t.deleted||(t.json.content?loadContent(t.json.content):t.json.contents&&t.json.contents.forEach((function(t){return loadContent(t)})))}},{key:"loadMesh",value:function loadMesh(t){this.deleted||this.meshContent.add(t)}},{key:"loadJson",value:function loadJson(t,a){this.deleted||(this.json.children&&(this.jsonChildren=this.json.children),t.rootPath=me.dirname(a),this.jsonChildren.push(t),this.hasUnloadedJSONContent--)}},{key:"dispose",value:function dispose(){var t=this;t.childrenTiles.forEach((function(t){return t.dispose()})),t.deleted=!0,t.abortController&&t.abortController.abort(),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}},{key:"disposeChildren",value:function disposeChildren(){this.childrenTiles.forEach((function(t){return t.dispose()})),this.childrenTiles=[]}},{key:"_update",value:function _update(t,a){var r=this;if(r.isSetup){r.materialVisibility;r.boundingVolume&&r.geometricError&&(r.metric=r.calculateUpdateMetric(t,a)),r.childrenTiles.forEach((function(r){return r._update(t,a)})),updateNodeVisibility(r.metric),function updateTree(a){if(a<0&&r.hasMeshContent)return;if((!r.hasMeshContent&&r.rootPath||a<r.master.geometricErrorMultiplier*r.geometricError&&r.meshContent.size>0)&&r.json&&r.jsonChildren&&r.childrenTiles.length!=r.jsonChildren.length)return void function loadJsonChildren(){r.jsonChildren.forEach((function(a){if(a.root||a.children||a.getChildren||a.content||a.contents){var i=new InstancedTile({parentTile:r,queryParams:r.queryParams,parentGeometricError:r.geometricError,parentBoundingVolume:r.boundingVolume,parentRefinement:r.refinement,json:a,rootPath:r.rootPath,loadOutsideView:r.loadOutsideView,level:r.level+1,tileLoader:r.tileLoader,cameraOnLoad:t,master:r.master,centerModel:!1});r.childrenTiles.push(i)}}))}()}(r.metric),function trimTree(t,a){if(!r.hasMeshContent)return;if(!r.inFrustum)return r.disposeChildren(),void updateNodeVisibility(t);if(t>=r.master.geometricErrorMultiplier*r.geometricError)return r.disposeChildren(),void updateNodeVisibility(t)}(r.metric)}function updateNodeVisibility(t){if(r.hasMeshContent&&!(r.meshContent.size<r.hasMeshContent)){if(t<0)return r.inFrustum=!1,void r.changeContentVisibility(!!r.loadOutsideView);if(r.inFrustum=!0,0!=r.childrenTiles.length){if(t>=r.master.geometricErrorMultiplier*r.geometricError)r.changeContentVisibility(!0);else if(t<r.master.geometricErrorMultiplier*r.geometricError){var a=!0;r.childrenTiles.every((function(t){return!!t.isReady()||(a=!1,!1)})),a&&r.changeContentVisibility(!1)}}else r.changeContentVisibility(!0)}}}},{key:"areAllChildrenLoadedAndHidden",value:function areAllChildrenLoadedAndHidden(){var t=!0;return this.childrenTiles.every((function(a){if(a.hasMeshContent){if(a.childrenTiles.length>0)return t=!1,!1;if(!a.inFrustum)return!0;if(!a.materialVisibility||a.meshesToDisplay!=a.meshesDisplayed)return t=!1,!1}else if(!a.areAllChildrenLoadedAndHidden())return t=!1,!1;return!0})),t}},{key:"isReady",value:function isReady(){if(!this.inFrustum)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent||0==this.meshContent.size||!this.materialVisibility){if(this.childrenTiles.length>0){var t=!0;return this.childrenTiles.every((function(a){return!!a.isReady()||(t=!1,!1)})),t}return!1}return!this.hasMeshContent||!(this.meshContent.size<this.hasMeshContent)&&!!this.materialVisibility}},{key:"changeContentVisibility",value:function changeContentVisibility(t){this.materialVisibility=t}},{key:"calculateUpdateMetric",value:function calculateUpdateMetric(a,i){if(this.boundingVolume instanceof r){if(Te.copy(this.boundingVolume.sphere),Te.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Te))return-1}else{if(!(this.boundingVolume instanceof t.Sphere))return console.error("unsupported shape"),-1;if(Te.copy(this.boundingVolume),Te.applyMatrix4(this.matrixWorld),!i.intersectsSphere(Te))return-1}var o=Math.max(0,a.position.distanceTo(Te.center)-Te.radius);if(Math.pow(o,this.distanceBias),function _readOnlyError(t){throw new TypeError('"'+t+'" is read-only')}("distance"),0==o)return 0;var A=this.matrixWorld.getMaxScaleOnAxis();this.master._renderSize(Ge);var c=Ge.y,l=a.fov;a.aspect<1&&(l*=a.aspect,c=Ge.x);var d=2*Math.tan(.5*l*.017453292519943295)*o;return 16*window.devicePixelRatio*d/(c*A)}},{key:"getSiblings",value:function getSiblings(){var t=this,a=[];if(!t.parentTile)return a;for(var r=t.parentTile;!r.hasMeshContent&&r.parentTile;)r=r.parentTile;return r.childrenTiles.forEach((function(r){if(r&&r!=t){for(;!r.hasMeshContent&&r.childrenTiles[0];)r=r.childrenTiles[0];a.push(r)}})),a}},{key:"calculateDistanceToCamera",value:function calculateDistanceToCamera(a){return this.boundingVolume instanceof r?(Te.copy(this.boundingVolume.sphere),Te.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof t.Sphere?(Te.copy(this.boundingVolume),Te.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,a.position.distanceTo(Te.center)-Te.radius)}},{key:"getWorldMatrix",value:function getWorldMatrix(){return this.matrixWorld}},{key:"transformWGS84ToCartesian",value:function transformWGS84ToCartesian(t,a,r,i){var o=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),A=Math.cos(a),c=Math.cos(t),l=Math.sin(a),d=o+r,h=d*A*c,b=d*A*Math.sin(t),u=(.993305615557957*o+r)*l;i.set(h,b,u)}}]);var i}(t.Object3D);function InstancedOGC3DTile_typeof(t){return InstancedOGC3DTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},InstancedOGC3DTile_typeof(t)}function InstancedOGC3DTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,InstancedOGC3DTile_toPropertyKey(i.key),i)}}function InstancedOGC3DTile_toPropertyKey(t){var a=function InstancedOGC3DTile_toPrimitive(t,a){if("object"!=InstancedOGC3DTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=InstancedOGC3DTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==InstancedOGC3DTile_typeof(a)?a:a+""}function InstancedOGC3DTile_callSuper(t,a,r){return a=InstancedOGC3DTile_getPrototypeOf(a),function InstancedOGC3DTile_possibleConstructorReturn(t,a){if(a&&("object"==InstancedOGC3DTile_typeof(a)||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function InstancedOGC3DTile_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,InstancedOGC3DTile_isNativeReflectConstruct()?Reflect.construct(a,r||[],InstancedOGC3DTile_getPrototypeOf(t).constructor):a.apply(t,r))}function InstancedOGC3DTile_isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(InstancedOGC3DTile_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function InstancedOGC3DTile_getPrototypeOf(t){return InstancedOGC3DTile_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},InstancedOGC3DTile_getPrototypeOf(t)}function InstancedOGC3DTile_setPrototypeOf(t,a){return InstancedOGC3DTile_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},InstancedOGC3DTile_setPrototypeOf(t,a)}var Me=function(a){function InstancedOGC3DTile(a){var r;return function InstancedOGC3DTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,InstancedOGC3DTile),r=InstancedOGC3DTile_callSuper(this,InstancedOGC3DTile),a.master=r,a.domWidth&&a.domHeight?r.rendererSize=new t.Vector2(a.domWidth,a.domHeight):r.rendererSize=new t.Vector2(1e3,1e3),r.renderer=a.renderer,r.distanceBias=Math.max(1e-4,a.distanceBias?a.distanceBias:1),r.geometricErrorMultiplier=a.geometricErrorMultiplier?a.geometricErrorMultiplier:1,r.tileset=new Fe(a),a.static&&(r.matrixAutoUpdate=!1),r.tileLoader=a.tileLoader,r}return function InstancedOGC3DTile_inherits(t,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(a&&a.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),a&&InstancedOGC3DTile_setPrototypeOf(t,a)}(InstancedOGC3DTile,a),function InstancedOGC3DTile_createClass(t,a,r){return a&&InstancedOGC3DTile_defineProperties(t.prototype,a),r&&InstancedOGC3DTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(InstancedOGC3DTile,[{key:"_renderSize",value:function _renderSize(t){this.renderer?this.renderer.getDrawingBufferSize(t):t.copy(this.rendererSize)}},{key:"setCanvasSize",value:function setCanvasSize(t,a){this.rendererSize.set(t,a)}},{key:"update",value:function update(a,r){if(r)this.tileset._update(a,r);else{var i=new t.Frustum;i.setFromProjectionMatrix((new t.Matrix4).multiplyMatrices(a.projectionMatrix,a.matrixWorldInverse)),this.tileset._update(a,i)}}},{key:"setGeometricErrorMultiplier",value:function setGeometricErrorMultiplier(t){this.geometricErrorMultiplier=t||1}}])}(t.Object3D);function MeshTile_typeof(t){return MeshTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},MeshTile_typeof(t)}function MeshTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,MeshTile_toPropertyKey(i.key),i)}}function MeshTile_toPropertyKey(t){var a=function MeshTile_toPrimitive(t,a){if("object"!=MeshTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=MeshTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==MeshTile_typeof(a)?a:a+""}var Re=function(){return function MeshTile_createClass(t,a,r){return a&&MeshTile_defineProperties(t.prototype,a),r&&MeshTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function MeshTile(a){!function MeshTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,MeshTile);var r=this;r.scene=a,r.instancedTiles=[],r.instancedMesh,r.reuseableMatrix=new t.Matrix4}),[{key:"addInstance",value:function addInstance(t){var a=this;t.added=!0,t.listOMesh=a.instancedTiles,a.instancedTiles.push(t),a.instancedMesh&&t.loadMesh(a.instancedMesh)}},{key:"addToScene",value:function addToScene(){var a=this;a.instancedMesh.setMatrixAt(0,new t.Matrix4),a.instancedMesh.instanceMatrix.needsUpdate=!0,a.instancedMesh.count=1,a.scene.add(a.instancedMesh),a.instancedMesh.onAfterRender=function(){delete a.instancedMesh.onAfterRender,a.instancedMesh.displayedOnce=!0}}},{key:"setObject",value:function setObject(t){var a=this;a.instancedMesh=t,a.instancedMesh.matrixAutoUpdate=!1,a.instancedMesh.matrixWorldAutoUpdate=!1,a.scene.children.includes(t)||this.addToScene();for(var r=0;r<a.instancedTiles.length;r++)a.instancedTiles[r].loadMesh(a.instancedMesh)}},{key:"update",value:function update(){for(var t=this,a=t.instancedTiles.length-1;a>=0;a--)t.instancedTiles[a].deleted&&t.instancedTiles.splice(a,1);if(t.instancedMesh){t.instancedMesh.count=0,t.instancedMesh.instancedTiles=[];for(var r=0;r<t.instancedTiles.length;r++)t.instancedTiles[r].meshContent.add(t.instancedMesh),t.instancedTiles[r].materialVisibility&&(t.instancedMesh.count++,t.reuseableMatrix.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),t.reuseableMatrix.multiply(t.instancedTiles[r].matrixWorld),t.reuseableMatrix.multiply(t.instancedMesh.baseMatrix),t.instancedMesh.setMatrixAt(t.instancedMesh.count-1,t.reuseableMatrix),t.instancedMesh.instancedTiles.push(t.instancedTiles[r]));t.instancedMesh.instanceMatrix.needsUpdate=!0,t.instancedMesh.needsUpdate=!0,t.instancedMesh.computeBoundingSphere()}}},{key:"getCount",value:function getCount(){return this.instancedTiles.length}},{key:"dispose",value:function dispose(){var t=this;return!(t.instancedTiles.length>0)&&(!!t.instancedMesh&&(t.scene.remove(t.instancedMesh),t.instancedMesh.traverse((function(t){if(t.dispose&&t.dispose(),t.material)if(t.material.length)for(var a=0;a<t.material.length;++a)t.material[a].dispose();else t.material.dispose();t.geometry&&t.geometry.dispose()})),t.instancedMesh.dispose(),!0))}}])}();function JsonTile_typeof(t){return JsonTile_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},JsonTile_typeof(t)}function JsonTile_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,JsonTile_toPropertyKey(i.key),i)}}function JsonTile_toPropertyKey(t){var a=function JsonTile_toPrimitive(t,a){if("object"!=JsonTile_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=JsonTile_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==JsonTile_typeof(a)?a:a+""}var Pe=function(){return function JsonTile_createClass(t,a,r){return a&&JsonTile_defineProperties(t.prototype,a),r&&JsonTile_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function JsonTile(){!function JsonTile_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,JsonTile);var t=this;t.count=0,t.json,t.instancedTiles=[]}),[{key:"addInstance",value:function addInstance(t){this.instancedTiles.push(t),this.json&&t.loadJson(this.json,this.url)}},{key:"setObject",value:function setObject(t,a){var r=this;r.json=t,r.url=a;for(var i=0;i<r.instancedTiles.length;i++)r.instancedTiles[i].loadJson(r.json,r.url)}},{key:"getCount",value:function getCount(){return this.instancedTiles.length}},{key:"update",value:function update(){for(var t=this,a=t.instancedTiles.length-1;a>=0;a--)t.instancedTiles[a].deleted&&t.instancedTiles.splice(a,1)}},{key:"dispose",value:function dispose(){return!(!this.json||0!=this.instancedTiles.length)}}])}();function InstancedTileLoader_typeof(t){return InstancedTileLoader_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},InstancedTileLoader_typeof(t)}function InstancedTileLoader_regeneratorRuntime(){InstancedTileLoader_regeneratorRuntime=function _regeneratorRuntime(){return a};var t,a={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(t,a,r){t[a]=r.value},A="function"==typeof Symbol?Symbol:{},c=A.iterator||"@@iterator",l=A.asyncIterator||"@@asyncIterator",d=A.toStringTag||"@@toStringTag";function define(t,a,r){return Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[a]}try{define({},"")}catch(t){define=function define(t,a,r){return t[a]=r}}function wrap(t,a,r,i){var A=a&&a.prototype instanceof Generator?a:Generator,c=Object.create(A.prototype),l=new Context(i||[]);return o(c,"_invoke",{value:makeInvokeMethod(t,r,l)}),c}function tryCatch(t,a,r){try{return{type:"normal",arg:t.call(a,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=wrap;var h="suspendedStart",b="suspendedYield",u="executing",g="completed",p={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var I={};define(I,c,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(values([])));m&&m!==r&&i.call(m,c)&&(I=m);var C=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(I);function defineIteratorMethods(t){["next","throw","return"].forEach((function(a){define(t,a,(function(t){return this._invoke(a,t)}))}))}function AsyncIterator(t,a){function invoke(r,o,A,c){var l=tryCatch(t[r],t,o);if("throw"!==l.type){var d=l.arg,h=d.value;return h&&"object"==InstancedTileLoader_typeof(h)&&i.call(h,"__await")?a.resolve(h.__await).then((function(t){invoke("next",t,A,c)}),(function(t){invoke("throw",t,A,c)})):a.resolve(h).then((function(t){d.value=t,A(d)}),(function(t){return invoke("throw",t,A,c)}))}c(l.arg)}var r;o(this,"_invoke",{value:function value(t,i){function callInvokeWithMethodAndArg(){return new a((function(a,r){invoke(t,i,a,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(a,r,i){var o=h;return function(A,c){if(o===u)throw Error("Generator is already running");if(o===g){if("throw"===A)throw c;return{value:t,done:!0}}for(i.method=A,i.arg=c;;){var l=i.delegate;if(l){var d=maybeInvokeDelegate(l,i);if(d){if(d===p)continue;return d}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===h)throw o=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=u;var I=tryCatch(a,r,i);if("normal"===I.type){if(o=i.done?g:b,I.arg===p)continue;return{value:I.arg,done:i.done}}"throw"===I.type&&(o=g,i.method="throw",i.arg=I.arg)}}}function maybeInvokeDelegate(a,r){var i=r.method,o=a.iterator[i];if(o===t)return r.delegate=null,"throw"===i&&a.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(a,r),"throw"===r.method)||"return"!==i&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+i+"' method")),p;var A=tryCatch(o,a.iterator,r.arg);if("throw"===A.type)return r.method="throw",r.arg=A.arg,r.delegate=null,p;var c=A.arg;return c?c.done?(r[a.resultName]=c.value,r.next=a.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function pushTryEntry(t){var a={tryLoc:t[0]};1 in t&&(a.catchLoc=t[1]),2 in t&&(a.finallyLoc=t[2],a.afterLoc=t[3]),this.tryEntries.push(a)}function resetTryEntry(t){var a=t.completion||{};a.type="normal",delete a.arg,t.completion=a}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(a){if(a||""===a){var r=a[c];if(r)return r.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var o=-1,A=function next(){for(;++o<a.length;)if(i.call(a,o))return next.value=a[o],next.done=!1,next;return next.value=t,next.done=!0,next};return A.next=A}}throw new TypeError(InstancedTileLoader_typeof(a)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(C,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,d,"GeneratorFunction"),a.isGeneratorFunction=function(t){var a="function"==typeof t&&t.constructor;return!!a&&(a===GeneratorFunction||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,d,"GeneratorFunction")),t.prototype=Object.create(C),t},a.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,l,(function(){return this})),a.AsyncIterator=AsyncIterator,a.async=function(t,r,i,o,A){void 0===A&&(A=Promise);var c=new AsyncIterator(wrap(t,r,i,o),A);return a.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},defineIteratorMethods(C),define(C,d,"Generator"),define(C,c,(function(){return this})),define(C,"toString",(function(){return"[object Generator]"})),a.keys=function(t){var a=Object(t),r=[];for(var i in a)r.push(i);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in a)return next.value=t,next.done=!1,next}return next.done=!0,next}},a.values=values,Context.prototype={constructor:Context,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!a)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(a){if(this.done)throw a;var r=this;function handle(i,o){return c.type="throw",c.arg=a,r.next=i,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var A=this.tryEntries[o],c=A.completion;if("root"===A.tryLoc)return handle("end");if(A.tryLoc<=this.prev){var l=i.call(A,"catchLoc"),d=i.call(A,"finallyLoc");if(l&&d){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0);if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}else if(l){if(this.prev<A.catchLoc)return handle(A.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<A.finallyLoc)return handle(A.finallyLoc)}}}},abrupt:function abrupt(t,a){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var A=o;break}}A&&("break"===t||"continue"===t)&&A.tryLoc<=a&&a<=A.finallyLoc&&(A=null);var c=A?A.completion:{};return c.type=t,c.arg=a,A?(this.method="next",this.next=A.finallyLoc,p):this.complete(c)},complete:function complete(t,a){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&a&&(this.next=a),p},finish:function finish(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),p}},catch:function _catch(t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var o=i.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(a,r,i){return this.delegate={iterator:values(a),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=t),p}},a}function InstancedTileLoader_asyncGeneratorStep(t,a,r,i,o,A,c){try{var l=t[A](c),d=l.value}catch(t){return void r(t)}l.done?a(d):Promise.resolve(d).then(i,o)}function InstancedTileLoader_asyncToGenerator(t){return function(){var a=this,r=arguments;return new Promise((function(i,o){var A=t.apply(a,r);function _next(t){InstancedTileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"next",t)}function _throw(t){InstancedTileLoader_asyncGeneratorStep(A,i,o,_next,_throw,"throw",t)}_next(void 0)}))}}function InstancedTileLoader_defineProperties(t,a){for(var r=0;r<a.length;r++){var i=a[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,InstancedTileLoader_toPropertyKey(i.key),i)}}function InstancedTileLoader_toPropertyKey(t){var a=function InstancedTileLoader_toPrimitive(t,a){if("object"!=InstancedTileLoader_typeof(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=InstancedTileLoader_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==InstancedTileLoader_typeof(a)?a:a+""}var Ne=0,Ue=function(){return function InstancedTileLoader_createClass(t,a,r){return a&&InstancedTileLoader_defineProperties(t.prototype,a),r&&InstancedTileLoader_defineProperties(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}((function InstancedTileLoader(a,r){if(function InstancedTileLoader_classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}(this,InstancedTileLoader),this.zUpToYUpMatrix=new t.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.maxInstances=1,this.proxy=r.proxy,r&&(this.meshCallback=r.meshCallback,this.pointsCallback=r.pointsCallback,r.maxCachedItems&&(this.maxCachedItems=r.maxCachedItems),r.maxInstances&&(this.maxInstances=r.maxInstances)),this.gltfLoader=new GLTFLoader,r&&r.dracoLoader)this.gltfLoader.setDRACOLoader(r.dracoLoader),this.hasDracoLoader=!0;else{var i=new DRACOLoader;i.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),this.gltfLoader.setDRACOLoader(i),this.gltfLoader.hasDracoLoader=!0}if(r&&r.ktx2Loader)this.gltfLoader.setKTX2Loader(r.ktx2Loader),this.hasKTX2Loader=!0;else if(r&&r.renderer){var A=new KTX2Loader;A.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(r.renderer),this.gltfLoader.setKTX2Loader(A),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(ce),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new d(this.gltfLoader),this.cache=new o.LinkedHashMap,this.scene=a,this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}),[{key:"update",value:function update(){var t=this;t._checkSize(),t.cache._data.forEach((function(t){t.update()})),Ne<8&&t._download(),t._loadBatch()}},{key:"_download",value:function _download(){var a=this,r=this;if(0!=r.nextDownloads.length||(r._getNextDownloads(),0!=r.nextDownloads.length))for(var i,o=function _loop(){var o=r.nextDownloads.shift();o&&(o.path.includes(".b3dm")&&(i=r.proxy?function fetchFunction(){return fetch(r.proxy,{method:"POST",body:o.path})}:function fetchFunction(){return fetch(o.path)},Ne++,i().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+o.path),new Error("couldn't load \"".concat(o.path,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.arrayBuffer()})).then((function(t){return a.b3dmDecoder.parseB3DMInstanced(t,(function(t){r.meshCallback(t,o.geometricError)}),r.maxInstances,o.sceneZupToYup,o.meshZupToYup)})).then((function(t){t.frustumCulled=!1,o.tile.setObject(t),r.ready.unshift(o)})).catch((function(t){return console.error(t)})).finally((function(){Ne--}))),o.path.includes(".glb")||o.path.includes(".gltf")?(i=r.proxy?function fetchFunction(){return fetch(r.proxy,{method:"POST",body:o.path})}:function fetchFunction(){return fetch(o.path)},Ne++,i().then((function(t){if(!t.ok)throw new Error("missing content");return t.arrayBuffer()})).then(function(){var i=InstancedTileLoader_asyncToGenerator(InstancedTileLoader_regeneratorRuntime().mark((function _callee(i){return InstancedTileLoader_regeneratorRuntime().wrap((function _callee$(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,InstancedTileLoader_checkLoaderInitialized(a.gltfLoader);case 2:a.gltfLoader.parse(i,null,(function(i){var A;i.scene.asset=i.asset,o.sceneZupToYup&&i.scene.applyMatrix4(a.zUpToYUpMatrix),i.scene.traverse((function(t){t.geometricError=o.geometricError,t.isMesh&&(o.meshZupToYup&&t.applyMatrix4(a.zUpToYUpMatrix),r.meshCallback&&r.meshCallback(t,t.geometricError)),t.isPoints&&console.error("instanced point cloud is not supported")})),i.scene.updateWorldMatrix(!1,!0),i.scene.traverse((function(a){a.isMesh&&((A=new t.InstancedMesh(a.geometry,a.material,r.maxInstances)).baseMatrix=a.matrixWorld)})),r.ready.unshift(o),A?(A.frustumCulled=!1,o.tile.setObject(A)):i.scene.traverse((function(t){t.dispose&&t.dispose(),t.material&&t.material.dispose()}))}));case 3:case"end":return A.stop()}}),_callee)})));return function(t){return i.apply(this,arguments)}}(),(function(t){console.error("could not load tile : "+o.path)})).finally((function(){Ne--}))):o.path.includes(".json")&&(i=r.proxy?function fetchFunction(){return fetch(r.proxy,{method:"POST",body:o.path})}:function fetchFunction(){return fetch(o.path)},Ne++,i().then((function(t){if(!t.ok)throw console.error("could not load tile with path : "+o.path),new Error("couldn't load \"".concat(o.path,'". Request failed with status ').concat(t.status," : ").concat(t.statusText));return t.json()})).then((function(t){return resolveImplicite(t,o.path)})).then((function(t){o.tile.setObject(t,o.path),r.ready.unshift(o)})).catch((function(t){return console.error(t)})).finally((function(){Ne--}))))};r.nextDownloads.length>0;)o()}},{key:"_loadBatch",value:function _loadBatch(){return 0==this.nextReady.length&&(this._getNextReady(),0==this.nextReady.length)?0:this.nextReady.shift()?1:0}},{key:"_getNextReady",value:function _getNextReady(){for(var t=Number.MAX_VALUE,a=-1,r=this.ready.length-1;r>=0;r--)this.ready[r].distanceFunction||this.nextReady.push(this.ready.splice(r,1)[0]);if(!(this.nextReady.length>0)){for(var i=this.ready.length-1;i>=0;i--){var o=this.ready[i].distanceFunction()*this.ready[i].level;o<t&&(t=o,a=i)}if(a>=0){var A=this.ready.splice(a,1).pop();this.nextReady.push(A);for(var c=A.getSiblings(),l=this.ready.length-1;l>=0;l--)c.includes(this.ready[l].uuid)&&this.nextready.push(this.ready.splice(l,1).pop())}}}},{key:"get",value:function get(t,a,r,i,o,A,c,l,d,h){var b=this,u=function InstancedTileLoader_simplifyPath(t){for(var a=t.split("/"),r=[],i=0,o=0;o<a.length;o++){var A=a[o];"."!==A&&""!==A&&".."!==A?r[i++]=A:".."===A&&i>0&&i--}if(0===i)return"/";var c="";for(o=0;o<i;o++)c+="/"+r[o];return c}(a);if(a.includes(".b3dm")||a.includes(".json")||a.includes(".glb")||a.includes(".gltf")){var g=b.cache.get(u);if(g)g.addInstance(i);else if(a.includes(".b3dm")||a.includes(".glb")||a.includes(".gltf")){var p=new Re(b.scene);p.addInstance(i),b.cache.put(u,p);var I=new AbortController;t.signal.addEventListener("abort",(function(){0==p.getCount()&&I.abort()})),this.downloads.push({abortController:I,tile:p,key:u,path:a,distanceFunction:o,getSiblings:A,level:c,uuid:r,sceneZupToYup:l,meshZupToYup:d,geometricError:h,shouldDoDownload:function shouldDoDownload(){return!0}})}else if(a.includes(".json")){var y=new Pe;y.addInstance(i),b.cache.put(u,y);var m=new AbortController;t.signal.addEventListener("abort",(function(){0==y.getCount()&&m.abort()})),this.downloads.push({abortController:m,tile:y,key:u,path:a,distanceFunction:o,getSiblings:A,level:c,shouldDoDownload:function shouldDoDownload(){return!0}})}}else console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data")}},{key:"_getNextDownloads",value:function _getNextDownloads(){for(var t=Number.MAX_VALUE,a=-1,r=this.downloads.length-1;r>=0;r--){var i=this.downloads[r];i.shouldDoDownload()?i.distanceFunction||this.nextDownloads.push(this.downloads.splice(r,1)[0]):this.downloads.splice(r,1)}if(!(this.nextDownloads.length>0)){for(var o=this.downloads.length-1;o>=0;o--){var A=this.downloads[o],c=A.distanceFunction()*A.level;c<t&&(t=c,a=o)}if(a>=0){var l=this.downloads.splice(a,1).pop();this.nextDownloads.push(l);for(var d=l.getSiblings(),h=this.downloads.length-1;h>=0;h--)d.includes(this.downloads[h].uuid)&&this.nextDownloads.push(this.downloads.splice(h,1).pop())}}}},{key:"_checkSize",value:function _checkSize(){for(var t=this,a=0;t.cache.size()>t.maxCachedItems&&a<t.cache.size();){a++;var r=t.cache.head();t.cache.remove(r.key),r.value.dispose()||t.cache.put(r.key,r.value)}}}])}();function InstancedTileLoader_checkLoaderInitialized(t){return InstancedTileLoader_checkLoaderInitialized2.apply(this,arguments)}function InstancedTileLoader_checkLoaderInitialized2(){return(InstancedTileLoader_checkLoaderInitialized2=InstancedTileLoader_asyncToGenerator(InstancedTileLoader_regeneratorRuntime().mark((function _callee2(t){return InstancedTileLoader_regeneratorRuntime().wrap((function _callee2$(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise((function(a){var r=setInterval((function(){t.hasDracoLoader&&!t.dracoLoader||t.hasKTX2Loader&&!t.ktx2Loader||(clearInterval(r),a())}),10)})));case 2:case"end":return a.stop()}}),_callee2,this)})))).apply(this,arguments)}})(),i})()));
3
3
  //# sourceMappingURL=threedtiles.min.js.map