@realsee/five 6.4.0-alpha.21 → 6.4.0-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/classes/five.TextureLoader.html +2 -2
- package/docs/classes/five.TileCubeTextureTarget.html +2 -2
- package/five/index.js +29 -29
- package/five/index.mjs +326 -328
- package/gltf-loader/index.js +2 -2
- package/gltf-loader/index.mjs +2 -2
- package/line/index.js +2 -2
- package/line/index.mjs +2 -2
- package/package.json +1 -1
- package/plugins/index.js +1 -1
- package/plugins/index.mjs +1 -1
- package/react/index.js +1 -1
- package/react/index.mjs +1 -1
- package/shader-lib/index.js +1 -1
- package/shader-lib/index.mjs +1 -1
- package/sticker/index.js +2 -2
- package/sticker/index.mjs +2 -2
- package/umd/five-gltf-loader.js +2 -2
- package/umd/five-line.js +2 -2
- package/umd/five-plugins.js +1 -1
- package/umd/five-react.js +1 -1
- package/umd/five-shader-lib.js +1 -1
- package/umd/five-sticker.js +2 -2
- package/umd/five-vfx.js +1 -1
- package/umd/five-vue.js +1 -1
- package/umd/five.js +6 -6
- package/vfx/index.js +1 -1
- package/vfx/index.mjs +1 -1
- package/vue/index.js +1 -1
- package/vue/index.mjs +1 -1
package/umd/five.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
4
|
* Generated: 2/27/2025
|
|
5
|
-
* Version: 6.4.0-alpha.
|
|
5
|
+
* Version: 6.4.0-alpha.22
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -388,7 +388,7 @@
|
|
|
388
388
|
`}else if(H==="cRLDistributionPoints"){var k=this.getExtCRLDistributionPoints();_+=b(k)}else if(H==="authorityInfoAccess"){var N=this.getExtAuthorityInfoAccess();_+=T(N)}else H==="certificatePolicies"&&(_+=E(this.getExtCertificatePolicies()))}}return _+="signature algorithm: "+this.getSignatureAlgorithmName()+`
|
|
389
389
|
`,_+="signature: "+this.getSignatureValueHex().substr(0,16)+`...
|
|
390
390
|
`,_},typeof n=="string"&&(n.indexOf("-----BEGIN")!=-1?this.readCertPEM(n):KJUR.lang.String.isHex(n)&&this.readCertHex(n))}X509.hex2dn=function(n,t){t===void 0&&(t=0);var e=new X509;ASN1HEX.getTLV(n,t);var r=e.getX500Name(n);return r.str},X509.hex2rdn=function(n,t){if(t===void 0&&(t=0),n.substr(t,2)!=="31")throw new Error("malformed RDN");for(var e=new Array,r=ASN1HEX.getChildIdx(n,t),o=0;o<r.length;o++)e.push(X509.hex2attrTypeValue(n,r[o]));return e=e.map(function(s){return s.replace("+","\\+")}),e.join("+")},X509.hex2attrTypeValue=function(n,t){var e=ASN1HEX,r=e.getV;if(t===void 0&&(t=0),n.substr(t,2)!=="30")throw new Error("malformed attribute type and value");var o=e.getChildIdx(n,t);o.length!==2||n.substr(o[0],2);var s=r(n,o[0]),u=KJUR.asn1.ASN1Util.oidHexToInt(s),l=KJUR.asn1.x509.OID.oid2atype(u),c=r(n,o[1]),f=hextorstr(c);return l+"="+f},X509.getPublicKeyFromCertHex=function(n){var t=new X509;return t.readCertHex(n),t.getPublicKey()},X509.getPublicKeyFromCertPEM=function(n){var t=new X509;return t.readCertPEM(n),t.getPublicKey()},X509.getPublicKeyInfoPropOfCertPEM=function(n){var t=ASN1HEX,e=t.getVbyList,r={},o,s;return r.algparam=null,o=new X509,o.readCertPEM(n),s=o.getPublicKeyHex(),r.keyhex=e(s,0,[1],"03").substr(2),r.algoid=e(s,0,[0,0],"06"),r.algoid==="2a8648ce3d0201"&&(r.algparam=e(s,0,[0,1],"06")),r},X509.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];function sha256(n){return CryptoJS.SHA256(n).toString()}var certificates=[function(){var n=new X509;return n.readCertPEM(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@ PPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\x07\\QN>Z N\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@\x07ebN[bqx=ng? S^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFo\x07FgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP P>}A^VP}Ex\bU\x07Za=syDw}>Ya\x078wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr sof[wA}e{\\z}w[YDQ|dt=wC Nv\x07bR\x07Z@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`\x07N\0RXt^Z}vEpdC=\bY?\x07=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac Z guf\bF]\x07DCP?znNYf uaYu[`\x07=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB D8{B>\\sPY\x07bEU FQXz\0@\x07`zsqgfD\0[WY\bPeZc} \0bx?Rfed\x07}BUe\x07|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YB\x07Y`Ffg=sY>{t<fu]x\x07rFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw= PCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=E\x07nO}Pud8TA ?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V OUwY=>X[\\E`tW[8}VwpF\x07BQcnrPF}yUtd8<Doe_\b[oOVU\x07ep@pYY\0cegY{r ?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<\x07StX Nx\x07\0\b \0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V CVrRVtAAc[ Qp|d|tqoQ=T|XX =u\\N8XNCx\\aU>wz X<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ P\bZ\b\\YNNSZ_\\w^|TsD8db _ Y\\o^Cw>Z\0x\\^aN]wWf\bA} C^d_{\x07ZC@\by]gY@E BFY?OsaqbDcVgQbZeFc ovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z ZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),n}()];function getCertificateBySubjectHex(n,t){for(var e=0,r=t;e<r.length;e++){var o=r[e];if(o.getSubjectHex()===n)return o}}function verifyCertificate_(n,t){var e=n.getIssuerHex();if(e===n.getSubjectHex())return n.verifySignature(n.getPublicKey());var r=getCertificateBySubjectHex(e,t);return!r||n.verifySignature(r.getPublicKey())===!1?!1:verifyCertificate_(r,t)}function verifyCertificate(n){var t=n.getIssuerHex();return t===n.getSubjectHex()?!1:verifyCertificate_(n,certificates)}function addCertificate(n){var t=new X509;typeof n=="string"?t.readCertPEM(n):t.readCertHex(n.hex);var e=verifyCertificate(t);return certificates.push(t),e}function verifyMessage(n,t,e){var r=new X509;if(typeof e=="string"?r.readCertPEM(e):r.readCertHex(e.hex),verifyCertificate(r)===!1)return!1;var o=new RSAKey;return o.readCertPubKeyHex(r.hex,6),!!o.verify(n,b64tohex(t))}addCertificate(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU PPONrtNVONtVWNW=_SVw VE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ [QSnS=\b[aNBZQZ\\aZ [QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg RbZOVTN>bRPtYoTyuoz}}f`Bwo?=\x07RQN\\Ot[cONZO>Wyfd\x07 gdb\x07RaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdy\x07ndB{^T\x07}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F SA\x07e`tn[t u\b8^a]qx\bE_^\x07ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQ\x07FO=Yw\0_TePCOFV@|\x07N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{] b=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r Ao\0 F`fdzCnRtq\br \b8eBp=Z\\TRaadc}@Eub`\x07quuNqAdF\0aUay{}x>tgVz` _YBFwu_q?egt8v[o\x008 wTQcrA <z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw XDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYP\x07\x07dWV]OE^\bOFwA}<uXoO}_NDz8aon\x07zWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT| OZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO d_D}eBb?Uq^b [y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zU\x07xOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`Fy\x07WadZcAD peXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx a[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef` ?^x>X}esa{>\\r?eE]CC_cZ[vQs >gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC\x07>>g\x07vb}ACd ``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc XSq {\0\x07DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy RNRg@\x07NZCaaq8?` ^`?ryD =obzw?E]Ou\x07]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug\x078^f[YQAWad8FNqxFQE?ZOo }RnO\bsQc xyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var extendStatics=function(n,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])},extendStatics(n,t)};function __extends(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");extendStatics(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var __assign=function(){return __assign=Object.assign||function(t){for(var e,r=1,o=arguments.length;r<o;r++){e=arguments[r];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s])}return t},__assign.apply(this,arguments)};function __decorate(n,t,e,r){var o=arguments.length,s=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,t,e,r);else for(var l=n.length-1;l>=0;l--)(u=n[l])&&(s=(o<3?u(s):o>3?u(t,e,s):u(t,e))||s);return o>3&&s&&Object.defineProperty(t,e,s),s}function __metadata(n,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,t)}function __awaiter(n,t,e,r){function o(s){return s instanceof e?s:new e(function(u){u(s)})}return new(e||(e=Promise))(function(s,u){function l(d){try{f(r.next(d))}catch(p){u(p)}}function c(d){try{f(r.throw(d))}catch(p){u(p)}}function f(d){d.done?s(d.value):o(d.value).then(l,c)}f((r=r.apply(n,t||[])).next())})}function __generator(n,t){var e={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,u=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return u.next=l(0),u.throw=l(1),u.return=l(2),typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function l(f){return function(d){return c([f,d])}}function c(f){if(r)throw new TypeError("Generator is already executing.");for(;u&&(u=0,f[0]&&(e=0)),e;)try{if(r=1,o&&(s=f[0]&2?o.return:f[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,f[1])).done)return s;switch(o=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return e.label++,{value:f[1],done:!1};case 5:e.label++,o=f[1],f=[0];continue;case 7:f=e.ops.pop(),e.trys.pop();continue;default:if(s=e.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){e=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]<s[3])){e.label=f[1];break}if(f[0]===6&&e.label<s[1]){e.label=s[1],s=f;break}if(s&&e.label<s[2]){e.label=s[2],e.ops.push(f);break}s[2]&&e.ops.pop(),e.trys.pop();continue}f=t.call(n,e)}catch(d){f=[6,d],o=0}finally{r=s=0}if(f[0]&5)throw f[1];return{value:f[0]?f[1]:void 0,done:!0}}}function __spreadArray(n,t,e){if(e||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return n.concat(s||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;function createSymbol(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var EVENT_SYMBOL=createSymbol("$$FIVE_EVENT$$");function __generateEventIfNotExisted(n){return n[EVENT_SYMBOL]||(n[EVENT_SYMBOL]={}),n[EVENT_SYMBOL]}function __removeEvents(n){n[EVENT_SYMBOL]&&delete n[EVENT_SYMBOL]}var Subscribe=function(){function n(){}return n.prototype.hasListener=function(t){var e=__generateEventIfNotExisted(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var o=this,s=__generateEventIfNotExisted(this);return s[t]||(s[t]={callbacks:[]}),s[t].callbacks.push([e,r||!1]),function(){return o.off(t,e)}},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.off=function(t,e){if(t===void 0){__removeEvents(this);return}var r=__generateEventIfNotExisted(this);if(r[t]||(r[t]={callbacks:[]}),e===void 0){r[t].callbacks.length=0;return}for(var o=0;o<r[t].callbacks.length&&r[t].callbacks[o][0]!==e;o++);o<r[t].callbacks.length&&r[t].callbacks.splice(o,1)},n.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var o=!1,s=__generateEventIfNotExisted(this);s[t]||(s[t]={callbacks:[]});for(var u=s[t].callbacks.slice(),l=0,c=u;l<c.length;l++){var f=c[l],d=f[0],p=f[1],v=p===void 0?!1:p,A=d.apply(void 0,e);v&&this.off(t,d),A===!1&&(o=!0)}return o},n.prototype.waitUntil=function(t,e){var r=this;return new Promise(function(o){var s=r.on(t,function(){for(var u=[],l=0;l<arguments.length;l++)u[l]=arguments[l];(!e||e.apply(void 0,u)!==!1)&&(o(u),s())})})},n}();function noop$1(){}var start=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),now=typeof performance!="undefined"?function(){return start+performance.now()}:function(){return Date.now()};function deepFreeze(n){Object.freeze(n);var t=typeof n=="function",e=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(r){e.call(n,r)&&(!t||r!=="caller"&&r!=="callee"&&r!=="arguments")&&n[r]!==null&&(typeof n[r]=="object"||typeof n[r]=="function")&&!Object.isFrozen(n[r])&&deepFreeze(n[r])}),n}var domainRegex=/^([^.]+)(\.([^.]+))*$/;function match(n,t){if(n==="*")return!0;var e=n.split(".").reverse(),r=t.split(".").reverse();if(e.length<=1)return n===t;for(var o=0;o<e.length;o++)if(e[o]!==r[o])return!1;return!0}function isIPDomain(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function matchDomain(n,t){return domainRegex.test(n)&&domainRegex.test(t)&&match(n,t)}var JSONP_REGEXPS=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],BUILDIN_ALLOW_HOST=deepFreeze(JSON.parse(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/rnyrr;p{/9/rnyrr;p|z/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),NetworkProxyError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t}(Error),NetworkResponseError=function(n){__extends(t,n);function t(e,r,o){var s=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(o,"): ").concat(e))||this;return s.httpStatus=o,s}return t}(Error);(function(n){__extends(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var NetworkTimeoutError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(o,"ms): ").concat(e))||this}return t}(Error),NetworkFirbiddenError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t}(Error);function parseHeaders(n){if(!n)return{};for(var t={},e=n.trim().split(`
|
|
391
|
-
`),r=0;r<e.length;r++){var o=e[r],s=o.indexOf(":"),u=o.slice(0,s).trim().toLowerCase(),l=o.slice(s+1).trim();l&&(t[u]?t[u]+=", "+l:t[u]=l)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],o=n.match(r);if(o)return"jsonp_"+o[1]}return null}function isJsonpSource(n){return matchJsonpFunctionName(n)!==null}function getProtocol(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function hostnameFromURL(n){if(/^blob\:/i.test(n))return"blob:";if(/^data\:/i.test(n))return"data:";var t=n.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var NetworkSubscribe=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Subscribe);function ajax(n,t,e,r,o){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(l){return/^https\:/.test(location.href)&&/^http\:/.test(l)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(l,"'. This request was automatically upgraded to HTTPS")),l.replace(/^http\:/,"https:")):l}).catch(function(l){var c,f=matchJsonpFunctionName(n),d=f?"Script":"XMLHttpRequest",p=new NetworkProxyError(u,d,l&&l.message?String(l.message):String(l));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,d,"proxy-error",p.message),Promise.reject(p)}).then(function(l){return new Promise(function(c,f){var d,p=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),v=hostnameFromURL(l),A=matchJsonpFunctionName(l);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(L){return matchDomain(L,location.hostname)}).length===0&&!isIPDomain(v)&&p.filter(function(L){return matchDomain(L,v)}).length===0){var h=A?"Script":"XMLHttpRequest",m=new NetworkFirbiddenError(l,h,"request host(".concat(v,") is not allowed"));r(m),f(m),(d=t.networkSubscribe)===null||d===void 0||d.emit("network",l,h,"forbidden",m.message);return}if(A){var y=window,g=null,E=!1,b=document.createElement("script"),T=function(){var L;if(g=null,E!==!0){E=!0;var I=new NetworkTimeoutError(l,"Script",t.timeout||NaN);r(I),f(I),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",l,"Script","timeout",I.message)}},_=function(L){var I,F,k=now(),N=k-s;if(delete y[A],b.parentNode&&b.parentNode.removeChild(b),g!==null&&(window.clearTimeout(g),g=null),E!==!0){if(L.indexOf("data:")!==0){var D=new NetworkResponseError(l,"Script",500);r(D),f(D),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"Script","error",D.message);return}var U=L.split(","),z=(U[0].match(/:(.*?);/)||[])[1],q=U[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var G=atob(U[1]),J=G.length,j=new Uint8Array(J),X=0;X<J;X++)j[X]=G.charCodeAt(X);t.responseType==="arraybuffer"?q=j.buffer:q=new Blob([j],{type:z})}var Y={},Z={body:q,meta:{origin:u,source:l,requestTime:s,responseTime:k,costs:N,headers:Y}};e(Z),c(Z),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",l,"Script","ok",JSON.stringify(Z.meta)),E=!0}};y[A]=_,b.src=l,document.body.appendChild(b),typeof t.timeout=="number"&&(g=window.setTimeout(T,t.timeout))}else{var R=!1,S=new XMLHttpRequest,M=function(){S&&(S.removeEventListener("timeout",P,!1),S.removeEventListener("progress",H,!1),S.removeEventListener("load",w,!1),S.removeEventListener("error",C,!1)),S=null,M=noop$1},P=function(){var L;if(R!==!0){R=!0,M();var I=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(I),f(I),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",l,"XMLHttpRequest","timeout",I.message)}},H=function(L){R!==!0&&L.lengthComputable&&(L.total<=0||o(L.loaded/L.total))},w=function(L){var I;if(R!==!0){var F=this.status;if(F===0||F>=200&&F<400){R=!0,M();var k=now(),N=k-s,D=parseHeaders(this.getAllResponseHeaders()),U=L.total,z={body:this.response,meta:{origin:u,source:l,requestTime:s,responseTime:k,costs:N,headers:D,size:U}};e(z),c(z),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(z.meta))}else C.call(this)}},C=function(){var L;if(R!==!0){R=!0,M();var I=new NetworkResponseError(l,"XMLHttpRequest",this.status);r(I),f(I),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",l,"XMLHttpRequest","error",I.message)}};S.addEventListener("timeout",P,!1),S.addEventListener("progress",H,!1),S.addEventListener("load",w,!1),S.addEventListener("error",C,!1),t.responseType&&(S.responseType=t.responseType),typeof t.timeout=="number"&&(S.timeout=t.timeout),S.open("GET",l,!0),S.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(o){return/^https\:/.test(location.href)&&/^http\:/.test(o)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(o,"'. This request was automatically upgraded to HTTPS")),o.replace(/^http\:/,"https:")):o}).catch(function(o){var s,u=new NetworkProxyError(r,"Link",o&&o.message?String(o.message):String(o));return(s=t.networkSubscribe)===null||s===void 0||s.emit("network",n,"Link","proxy-error",u.message),Promise.reject(u)}).then(function(o){return o in preloadCache?preloadCache[o]:preloadCache[o]=new Promise(function(s,u){var l,c=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),f=hostnameFromURL(o);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(m){return matchDomain(m,location.hostname)}).length===0&&!isIPDomain(f)&&c.filter(function(m){return matchDomain(m,f)}).length===0){var d=new NetworkFirbiddenError(o,"Link","request host(".concat(f,") is not allowed"));u(d),(l=t.networkSubscribe)===null||l===void 0||l.emit("network",o,"Link","forbidden",d.message);return}var p=document.createElement("link"),v=!1,A=null;p.onload=function(m){var y;if(A!==null&&(clearTimeout(A),A=null),v!==!0){v=!0,s();var g=now(),E=g-e,b={},T={origin:r,source:o,requestTime:e,responseTime:g,costs:E,headers:b};(y=t.networkSubscribe)===null||y===void 0||y.emit("network",o,"Link","preload",JSON.stringify(T))}},p.onerror=function(m){var y;if(A!==null&&(clearTimeout(A),A=null),v!==!0){v=!0;var g=new NetworkResponseError(o,"Link",0);u(g),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",o,"Link","error",g.message)}},typeof t.timeout=="number"&&(A=window.setTimeout(function(){var m;if(A=null,v!==!0){v=!0,s();var y=now(),g=y-e,E={},b={origin:r,source:o,requestTime:e,responseTime:y,costs:g,headers:E};(m=t.networkSubscribe)===null||m===void 0||m.emit("network",o,"Link","timeout",JSON.stringify(b))}},t.timeout)),p.rel=p.relList&&p.relList.supports("prefetch")?"prefetch":"preload",p.as="fetch",p.crossOrigin="",p.fetchPriority="high",p.href=o;var h=document.head||document.getElementsByTagName("head")[0];h&&h.appendChild(p)})})}function loadImage(n,t,e,r,o,s){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var u=now(),l=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(c){return/^https\:/.test(location.href)&&/^http\:/.test(c)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(c,"'. This request was automatically upgraded to HTTPS")),c.replace(/^http\:/,"https:")):c}).catch(function(c){var f,d=new NetworkProxyError(l,"Image",c&&c.message?String(c.message):String(c));return(f=t.networkSubscribe)===null||f===void 0||f.emit("network",n,"Image","proxy-error",d.message),Promise.reject(d)}).then(function(c){return new Promise(function(f,d){var p,v=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),A=hostnameFromURL(c);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,location.hostname)}).length===0&&!isIPDomain(A)&&v.filter(function(T){return matchDomain(T,A)}).length===0){var h=new NetworkFirbiddenError(c,"Image","request host(".concat(A,") is not allowed"));r(h),d(h),(p=t.networkSubscribe)===null||p===void 0||p.emit("network",c,"Image","forbidden",h.message);return}var m=s!=null?s:new Image,y=!1,g=null,E=function(){var T;if(m.onload=noop$1,m.onerror=noop$1,g!==null&&(clearTimeout(g),g=null),y!==!0){var _=now(),R={headers:{},origin:l,source:c,requestTime:u,responseTime:_,costs:_-u};y=!0;var S={body:m,meta:R};o(1),e(S),f(S),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",JSON.stringify(S.meta))}},b=function(){var T;if(m.onload=noop$1,m.onerror=noop$1,g!==null&&(clearTimeout(g),g=null),y!==!0){y=!0;var _=new NetworkResponseError(c,"Image",0);r(_),d(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",_.message)}};typeof t.timeout=="number"&&(g=window.setTimeout(function(){var T;if(m.onload=noop$1,m.onerror=noop$1,g=null,y!==!0){y=!0;var _=new NetworkTimeoutError(c,"Image",t.timeout);r(_),d(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","timeout",_.message)}},t.timeout)),m.onload=E,m.onerror=b,o(0),m.src=c})})}var Fetcher=function(){function n(t){t===void 0&&(t={}),this.options=Object.freeze(t),this.options.allowHosts&&Object.freeze(this.options.allowHosts)}return n.prototype.ajax=function(t,e,r,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var l=this.options,c={responseType:e.responseType,timeout:(u=e.timeout)!==null&&u!==void 0?u:l.timeout,get allowHosts(){var f;return(f=e.allowHosts)!==null&&f!==void 0?f:l.allowHosts},get requestProxy(){var f;return(f=e.requestProxy)!==null&&f!==void 0?f:l.requestProxy},get networkSubscribe(){var f;return(f=e.networkSubscribe)!==null&&f!==void 0?f:l.networkSubscribe}};return ajax(t,c,r,o,s)},n.prototype.loadImage=function(t,e,r,o,s,u){var l;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var c=this.options,f={timeout:(l=e.timeout)!==null&&l!==void 0?l:c.timeout,get allowHosts(){var d;return(d=e.allowHosts)!==null&&d!==void 0?d:c.allowHosts},get requestProxy(){var d;return(d=e.requestProxy)!==null&&d!==void 0?d:c.requestProxy},get networkSubscribe(){var d;return(d=e.networkSubscribe)!==null&&d!==void 0?d:c.networkSubscribe}};return loadImage(t,f,r,o,s,u)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var o=this.options,s={timeout:(r=e.timeout)!==null&&r!==void 0?r:o.timeout,get allowHosts(){var u;return(u=e.allowHosts)!==null&&u!==void 0?u:o.allowHosts},get requestProxy(){var u;return(u=e.requestProxy)!==null&&u!==void 0?u:o.requestProxy},get networkSubscribe(){var u;return(u=e.networkSubscribe)!==null&&u!==void 0?u:o.networkSubscribe}};return preload(t,s)},n}(),internalFetcher=new Fetcher;function clamp$1(n,t,e){return n<t?t:n>e?e:n}var windowSTOContext=function(){var n=now();return{requestAnimationFrame:function(t){var e=now(),r=clamp$1(16+(e-n),16,33),o=setTimeout(function(){t(e+r)},r);return n=e+r,o},cancelAnimationFrame:function(t){return clearTimeout(t)}}}(),windowRAFContext=function(){if(typeof window!="undefined"){var n=window;if(n.requestAnimationFrame)return{requestAnimationFrame:n.requestAnimationFrame.bind(n),cancelAnimationFrame:n.cancelAnimationFrame.bind(n)};if(n.mozRequestAnimationFrame)return{requestAnimationFrame:n.mozRequestAnimationFrame.bind(n),cancelAnimationFrame:n.mozCancelAnimationFrame.bind(n)};if(n.webkitRequestAnimationFrame)return{requestAnimationFrame:n.webkitRequestAnimationFrame.bind(n),cancelAnimationFrame:n.webkitCancelAnimationFrame.bind(n)};if(n.msRequestAnimationFrame)return{requestAnimationFrame:n.msRequestAnimationFrame.bind(n),cancelAnimationFrame:n.msCancelAnimationFrame.bind(n)}}return windowSTOContext}(),DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=function(){function n(){this.loopType="raf",this.frames=[],this.isAnimating=!1,this.context=null;var t=now();this.loop=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(this.isAnimating!==!1){var o=now(),s=o-t;t=o,deviceFrameTime=s;for(var u=0;u<this.frames.length;u++){var l=this.frames[u];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,__spreadArray([o,s],e,!1))}catch(c){console.error(c)}l.once&&(this.frames.splice(u,1),u--)}this.requestId=this.requestAnimationFrame(this.loop)}}.bind(this),this.start()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.start=function(){this.isAnimating!==!0&&(this.isAnimating=!0,this.requestId=this.requestAnimationFrame(this.loop))},n.prototype.stop=function(){this.isAnimating=!1,this.cancelAnimationFrame(this.requestId)},n.prototype.setContext=function(t){t!==this.context&&(this.stop(),this.context=t,this.start())},n.prototype.getContext=function(){return this.context},n.prototype.setLoopType=function(t){t!==this.loopType&&(this.stop(),this.loopType=t,this.start())},n.prototype.getLoopType=function(){return this.loopType},n.prototype.requestAnimationFrame=function(t){if(this.context)return this.context.requestAnimationFrame(t);if(this.loopType==="raf")return windowRAFContext.requestAnimationFrame(t);if(this.loopType==="sto")return windowSTOContext.requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){if(this.context)this.context.cancelAnimationFrame(t);else if(this.loopType==="raf")windowRAFContext.cancelAnimationFrame(t);else if(this.loopType==="sto")return windowSTOContext.cancelAnimationFrame(t)},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,o){var s=this;e===void 0&&(e=!1),r===void 0&&(r=0),o===void 0&&(o=DEFAULT_ORDER);for(var u={callback:t,once:e,delay:r,order:o},l=this.frames.length;--l>=0;)if(this.frames[l].order<=o){this.frames.splice(l+1,0,u);break}return l<0&&this.frames.unshift(u),function(){return s.remove(u)}},n.prototype.clear=function(){this.frames.length=0},n}(),DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t){return n.replace(URL_DOMAIN_REGEX,function(e,r){return e.slice(0,e.length-r.length)+t})}function route(n,t,e){var r=t.split("."),o=r[0],s=r.slice(1);if(o==="texture")return replaceDomain(n,e.texture[0]);if(o==="pano"||o==="pano_luminance"){s[0];var u=s[1];switch(u){case"front":case"left":case"up":return replaceDomain(n,e.pano[0]);case"down":case"right":case"back":return replaceDomain(n,e.pano[1])}}else if(o==="pano_tile"||o==="pano_tile_luminance"){s[0],s[1];var l=s[2],c=s[3],f=s[4],d=Math.pow(2,Number(l))*Number(c)+Number(f);if(!isNaN(d))return replaceDomain(n,e.tile[d%2])}else if(o==="model"){var p=s[0],d=Number(p);if(!isNaN(d))return replaceDomain(n,e.model[d%2])}return replaceDomain(n,e.default[0])}var tencentCloudImageProcesser=function(n,t){var e,r=n.split("?")[0],o=r.split(".").pop();if(o==="jpeg"&&(o="jpg"),o!=="png"&&o!=="jpg")return n;var s="";if(t.format!==void 0&&t.format!==o&&(s+="/format/".concat(t.format)),t.cut!==void 0&&(s+="/cut/".concat(t.cut[2],"x").concat(t.cut[3],"x").concat(t.cut[0],"x").concat(t.cut[1])),t.quality!==void 0){var u=(e=t.format)!==null&&e!==void 0?e:o;u&&["jpg","webp","tpg","heif","avif"].indexOf(u)>=0&&(s+="/quality/".concat(t.quality))}if(t.size!==void 0){var l=n.match(/\/cube_(\d+)\//),c=l?Number(l[1]):NaN;c!==Number(t.size)&&(s+="/thumbnail/".concat(t.size,"x"))}return t.sharpen!==void 0&&(s+="/sharpen/".concat(t.sharpen)),s.length&&(s="?imageMogr2"+s),r+s},aliyunOOSImageProcesser=function(n,t){var e,r=n.split("?")[0],o=r.split(".").pop();if(o==="jpeg"&&(o="jpg"),o!=="png"&&o!=="jpg")return n;var s="",u=[],l=t.format,c=t.quality,f=t.size;if(l!==void 0&&l!==o&&u.push("format,".concat(l==="heif"?"heic":l)),t.cut!==void 0){var d=t.cut,p=d[0],v=d[1],A=d[2],h=d[3];u.push("crop,x_".concat(p,",y_").concat(v,",w_").concat(A,",h_").concat(h,",g_nw"))}if(c!==void 0&&c!==100){var m=(e=t.format)!==null&&e!==void 0?e:o;m&&["jpg","webp"].indexOf(m)>=0&&u.push("quality,Q_".concat(c))}return f&&f!==2048&&u.push("resize,w_".concat(f)),t.sharpen!==void 0&&u.push("sharpen,".concat(t.sharpen)),u.length&&(s="?x-oss-process=image/"+u.join("/")),r+s},MAX_SAFE_INTEGER=9007199254740991;function formatNumber(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function formatOptions(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=formatNumber(clamp$1(n.size,0,MAX_SAFE_INTEGER))),n.quality!==void 0&&(n.quality=formatNumber(clamp$1(n.quality,0,100))),n.cut!==void 0&&(n.cut=[formatNumber(clamp$1(n.cut[0],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[1],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[2],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[3],0,MAX_SAFE_INTEGER))]),n.sharpen!==void 0&&(n.sharpen=formatNumber(clamp$1(n.sharpen,0,MAX_SAFE_INTEGER))),n}function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;t=formatOptions(t);var o=e[r];return o?(n=route(n,t.key,o),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),o.type==="tencentCloud"?tencentCloudImageProcesser(n,t):o.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var IMAGE_SIZE_REG=/\/cube_(\d+)\//;function getImageSizeFromURL(n){var t=n.match(IMAGE_SIZE_REG);return t?Number(t[1]):null}function replaceImageSize(n,t){return n.replace(IMAGE_SIZE_REG,"/cube_".concat(t,"/"))}var webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],o=Math.floor(Number(r));if(!isNaN(o)&&isFinite(o))return{workCode:e,panoIndex:o}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var PBMGroup=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Group),PBMMesh=function(n){__extends(t,n);function t(e,r){return n.call(this,e,r)||this}return t.prototype.update=function(e,r,o,s){for(var u=0,l=this.material;u<l.length;u++){var c=l[u];c.update(e,r,o)}},t}(THREE__namespace.Mesh),PBMSkinnedMesh=function(n){__extends(t,n);function t(e,r,o){return n.call(this,e,r,o)||this}return t.prototype.update=function(e,r,o,s){for(var u=0,l=this.material;u<l.length;u++){var c=l[u];c.update(e,r,o)}},t}(THREE__namespace.SkinnedMesh);function jsonStableStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],f=jsonStableStrinfiy_(n[c],!0);f!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+f),s++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonHash(n){return"hash::".concat(jsonStableStrinfiy_(n,!1))}var CustomShader=function(){function n(t){var e,r,o,s,u,l,c,f,d,p,v,A,h,m,y,g;this.uniforms=(e=t.uniforms)!==null&&e!==void 0?e:{},this.defines=(r=t.defines)!==null&&r!==void 0?r:{},this.type=t.type,this.vertex={mainBefore:(s=(o=t.vertex)===null||o===void 0?void 0:o.mainBefore)!==null&&s!==void 0?s:"",mainStart:(l=(u=t.vertex)===null||u===void 0?void 0:u.mainStart)!==null&&l!==void 0?l:"",mainEnd:(f=(c=t.vertex)===null||c===void 0?void 0:c.mainEnd)!==null&&f!==void 0?f:""},this.fragment={mainBefore:(p=(d=t.fragment)===null||d===void 0?void 0:d.mainBefore)!==null&&p!==void 0?p:"",mainStart:(A=(v=t.fragment)===null||v===void 0?void 0:v.mainStart)!==null&&A!==void 0?A:"",mainModelColor:(m=(h=t.fragment)===null||h===void 0?void 0:h.mainModelColor)!==null&&m!==void 0?m:"",mainEnd:(g=(y=t.fragment)===null||y===void 0?void 0:y.mainEnd)!==null&&g!==void 0?g:""}}return n.prototype.getHash=function(){return jsonHash({vertex:this.vertex,fragment:this.fragment,defines:this.defines})},n.prototype.onBeforeCompile=function(t,e){},n}(),gradientTexture=function(){return typeof document!="undefined"?new THREE__namespace.TextureLoader().load("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAYAAACouxZ2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAAAAQAAAAB7UD0+AAACA0lEQVRIDXWUW3YjIQxEwdnV/GT/q8kO3FO3pAJst3PSAaR6Cbszf//9XeMxxpjXmI+pVXudp2s6PC4dqHff9e6D7/PZLy46xQvG+sZvrfK8xgXUeq85yINe9bdmtOK1+kun5vjgq58a+eZPna9jvmjiserqG/+Whathvo3L3WhV89L9sXI/m18z2uene9ap/ftsuT9WZxoHXzW56/fpj8l7+tTw7P011NdpqnY19sRsfuHMA9u8oZWfDz4+fra/dfG1V60ydZ7qba1g7UNAeK0JP7ydD7/OqH6wO2f7HTq+B/lbL9qsB3/N1/UzR81XfPzw4tp5OPvRneacteq8Xo0xR3vuv/kPz0KtX0Nhg0eHuaNXdWI3X/ld427h++vzyp99V6VPrzWFhbv4ayay4oFecm198MmUXN/mL+x7npq/uJXBGb/MTw4+t+SvbLoTZnUW5uHhz7nWcTxT73OwXV7cxT9wbBf/0LnDBgcnHmtPLYba32Hp808sMy1u88yhr58n70/v4xX92GSN19l/2UsqGmiH94Hpxjcs+DO/ccpIVNVp62PUWXu//ur1GQy1Cf+GZ13rtNYN1po3/NI79fGXibHkq4z25xvV2pW3szpneXsW8SsreTe/NIPrtXMnH7wPf+LEN6tqhUVHj3XKD/72p9eafCeYB3zuonnbv7yqP8d/o4K6gRb1wbYAAAAASUVORK5CYII="):new THREE__namespace.Texture}();gradientTexture.minFilter=THREE__namespace.NearestFilter,gradientTexture.magFilter=THREE__namespace.NearestFilter,gradientTexture.wrapS=THREE__namespace.RepeatWrapping,gradientTexture.wrapT=THREE__namespace.RepeatWrapping;var defaultPbmParameters={customShaders:[],pano0:null,pano1:null,floorStyle:"OPACITY",colorStyle:"RGB",constantColor:new THREE__namespace.Vector3(.6,.6,.6),shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:null,brightness:1,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"CIRCLE",pointScale:.03,pointMaxPixel:40,pointMinPixel:1,gradientTexture,colorSaturation:0,colorBrightness:0};function isEqualClipperParameters(n,t){var e=n!=null?n:[],r=t!=null?t:[];if(r.length!==e.length)return!1;for(var o=0;o<r.length;o++)if(!e[o].clippingBoxMatrix.equals(r[o].clippingBoxMatrix)||e[o].floorIndex!==r[o].floorIndex)return!1;return!0}function isEqualPBMPanoPicture(n,t){return n&&t?n.luminanceMap===t.luminanceMap&&n.map===t.map&&n.zoom===t.zoom&&n.matrix.equals(t.matrix):!n&&!t}function updatePBMParameters(n,t){var e=!1;for(var r in t)if(t[r]!==void 0)switch(r){case"clippers":isEqualClipperParameters(n[r],t[r])||(n[r]=t[r],e=!0);break;case"pano0":case"pano1":isEqualPBMPanoPicture(n[r],t[r])||(n[r]=t[r],e=!0);break;default:n[r]!==t[r]&&(n[r]=t[r],e=!0);break}return e}function mixNumber(n,t,e){return n+(t-n)*e}function value(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t,l=n;return o*Math.pow(r,3)+s*Math.pow(r,2)+u*r+l}function velocity(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t;return 3*o*Math.pow(r,2)+2*s*r+u}function mixCircle(n,t,e,r){var o=r[1]-r[0];return n=circleValue(n,r),t=circleValue(t,r),t-n>o/2?mixNumber(n+o,t,e):n-t>o/2?mixNumber(n-o,t,e):mixNumber(n,t,e)}function circleValue(n,t){var e=t[1]-t[0];return n<t[0]?circleValue(n+e,t):n>=t[1]?circleValue(n-e,t):n}function mixValue(n,t,e,r){return r?mixCircle(n,t,e,r):mixNumber(n,t,e)}function toNumber(n){var t=Number(n);return isNaN(t)||!isFinite(t)?0:t}var Motion=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=now(),this.startVelocity=0,this.duration=0,this.keyframes=[];for(var e in t){var r=t[e];typeof r=="object"?(this.value[e]=toNumber(r.value),this.config[e]={circle:r.circle}):(this.value[e]=toNumber(r),this.config[e]={circle:!1})}this.keyframes=[{progress:0,value:__assign({},this.value)},{progress:1,value:__assign({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-value(1,this.startVelocity,this.duration,e)},n.prototype.getValue=function(t){for(var e=1;e<this.keyframes.length;e++)if(this.keyframes[e].progress>t){var r=this.keyframes[e-1],o=this.keyframes[e],s={};for(var u in this.config){var l=(t-r.progress)/(o.progress-r.progress);s[u]=mixValue(r.value[u],o.value[u],l,this.config[u].circle)}return s}return __assign({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:velocity(1,this.startVelocity,this.duration,e)},n.prototype.update=function(t){return this.ended?!0:(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},n.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>e)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},n.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},n.prototype.set=function(t,e,r,o){var s;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),o=o!=null?o:now();var u=this.getProgress(o),l=this.getValue(u),c={};for(var f in this.config)c[f]=(s=t[f])!==null&&s!==void 0?s:l[f];var d=[{progress:0,value:l},{progress:1,value:c}];return this.setKeyframes(d,e,r,o)},n.prototype.setKeyframes=function(t,e,r,o){var s=this;if(r===void 0&&(r=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(e)&&(e=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise(function(u,l){o=o!=null?o:now(),s.progress=0,s.ended=!1,s.startTime=o,s.startVelocity=r,s.keyframes=t,s.duration=e,e===0?(s.progress=1,s.value=__assign({},t[t.length-1].value)):s.value=__assign({},t[0].value),s.callbacks=[u,l]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),APPEAR_ANIMATION_DURATION=500;function easeInOutSine(n){return-(Math.cos(Math.PI*n)-1)/2}var PBMPointCloud=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.appearMotion=new Motion({appear:0}),o}return t.prototype.update=function(e,r,o,s){var u,l;if(this.material.update(e,r,o),s&&s.refine==="ADD"&&s.tileset.rootMeta.pntsOrder==="RANDOM"){var c=this.geometry,f=this.appearMotion,d=o.visible&&s.state.selectedFrameNumber===s.tileset.frameNumber,p=s.tileset.maxScreenSpaceError,v=s.state.screenSpaceError,A=(l=(u=s.parent)===null||u===void 0?void 0:u.state.screenSpaceError)!==null&&l!==void 0?l:v,h=1;if(s.levelOfContent>s.tileset.minLevelOfDetail&&A!==v&&(h=(A-p)/(A-v)),h=clamp$1(h,0,1),h=easeInOutSine(h),d){var m=1;f.getTargetKeyframe().value.appear!==m&&f.set({appear:m},APPEAR_ANIMATION_DURATION).catch(noop$1)}else{var m=0;f.getTargetKeyframe().value.appear!==m&&f.set({appear:m},0).catch(noop$1)}f.ended!==!0&&f.update(r.time);var y=c.index?c.index.count:c.attributes.position?c.attributes.position.count:1/0,g=Math.floor(y*h*f.value.appear);c.drawRange.count!==g&&(this.geometry.setDrawRange(0,g),o.needsRender=!0)}},t}(THREE__namespace.Points),scratchMaterialSet=new Set,PBMContainer=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!0,e.pbmMaterialParametersVersion=0,e.materialParameters=__assign({},defaultPbmParameters),e}return t.prototype.getMaterial=function(){return __assign({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this;Object.assign(this.materialParameters,e),scratchMaterialSet.clear(),this.traverse(function(o){if(o instanceof PBMMesh)for(var s=0,u=o.material;s<u.length;s++){var l=u[s];scratchMaterialSet.has(l)||(Object.assign(l,r.materialParameters),scratchMaterialSet.add(l))}o instanceof PBMPointCloud&&(scratchMaterialSet.has(o.material)||(Object.assign(o.material,r.materialParameters),scratchMaterialSet.add(o.material)))}),scratchMaterialSet.clear(),this.needsRender=!0},t}(THREE__namespace.Group),FACE_ORDER$1=["right","left","up","down","front","back"];function getBox(n,t,e,r){var o=new THREE__namespace.Box3;switch(n){case"up":o.min.y=.5,o.max.y=.5,o.min.x=+t-.5,o.max.x=+t-.5+r,o.min.z=-e+.5-r,o.max.z=-e+.5;break;case"down":o.min.y=-.5,o.max.y=-.5,o.min.x=+t-.5,o.max.x=+t-.5+r,o.min.z=+e-.5,o.max.z=+e-.5+r;break;case"left":o.min.x=-.5,o.max.x=-.5,o.min.z=-t+.5-r,o.max.z=-t+.5,o.min.y=-e+.5-r,o.max.y=-e+.5;break;case"right":o.min.x=.5,o.max.x=.5,o.min.z=+t-.5,o.max.z=+t-.5+r,o.min.y=-e+.5-r,o.max.y=-e+.5;break;case"front":o.min.z=-.5,o.max.z=-.5,o.min.x=+t-.5,o.max.x=+t-.5+r,o.min.y=-e+.5-r,o.max.y=-e+.5;break;case"back":o.min.z=.5,o.max.z=.5,o.min.x=-t+.5-r,o.max.x=-t+.5,o.min.y=-e+.5-r,o.max.y=-e+.5;break}return o.applyMatrix4(new THREE__namespace.Matrix4().makeRotationY(Math.PI))}var createChildren=function(n,t){if(!(n.level>=t))for(var e=n.level+1,r=n.size/2,o=[new THREE__namespace.Vector2(n.position.x,n.position.y),new THREE__namespace.Vector2(n.position.x+r,n.position.y),new THREE__namespace.Vector2(n.position.x,n.position.y+r),new THREE__namespace.Vector2(n.position.x+r,n.position.y+r)],s=0,u=o;s<u.length;s++){var l=u[s],c={face:n.face,level:e,size:r,position:l,box:getBox(n.face,l.x,l.y,r),parent:n,children:[]};n.children.push(c),createChildren(c,t)}};function createTileCubeNode(n,t){var e={level:0,face:n,position:new THREE__namespace.Vector2(0,0),size:1,box:getBox(n,0,0,1),parent:null,children:[]};return createChildren(e,t),e}function createTileCubeTree(n){var t=FACE_ORDER$1.map(function(e){return createTileCubeNode(e,n)});return{children:t}}function traverseTileCubeNode(n,t){for(var e=0,r=n.children;e<r.length;e++){var o=r[e],s=t(o);s!==!1&&traverseTileCubeNode(o,t)}}var CUBE_GEOMETRY=new THREE__namespace.BoxBufferGeometry(1,1,1,1,1);CUBE_GEOMETRY.deleteAttribute("uv"),CUBE_GEOMETRY.deleteAttribute("normal"),CUBE_GEOMETRY.groups=[],CUBE_GEOMETRY.scale(-1,1,1);var CUBE_VERTEX_SHADER=`
|
|
391
|
+
`),r=0;r<e.length;r++){var o=e[r],s=o.indexOf(":"),u=o.slice(0,s).trim().toLowerCase(),l=o.slice(s+1).trim();l&&(t[u]?t[u]+=", "+l:t[u]=l)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],o=n.match(r);if(o)return"jsonp_"+o[1]}return null}function isJsonpSource(n){return matchJsonpFunctionName(n)!==null}function getProtocol(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function hostnameFromURL(n){if(/^blob\:/i.test(n))return"blob:";if(/^data\:/i.test(n))return"data:";var t=n.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var NetworkSubscribe=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Subscribe);function ajax(n,t,e,r,o){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(l){return/^https\:/.test(location.href)&&/^http\:/.test(l)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(l,"'. This request was automatically upgraded to HTTPS")),l.replace(/^http\:/,"https:")):l}).catch(function(l){var c,f=matchJsonpFunctionName(n),d=f?"Script":"XMLHttpRequest",p=new NetworkProxyError(u,d,l&&l.message?String(l.message):String(l));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,d,"proxy-error",p.message),Promise.reject(p)}).then(function(l){return new Promise(function(c,f){var d,p=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),v=hostnameFromURL(l),A=matchJsonpFunctionName(l);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(L){return matchDomain(L,location.hostname)}).length===0&&!isIPDomain(v)&&p.filter(function(L){return matchDomain(L,v)}).length===0){var h=A?"Script":"XMLHttpRequest",m=new NetworkFirbiddenError(l,h,"request host(".concat(v,") is not allowed"));r(m),f(m),(d=t.networkSubscribe)===null||d===void 0||d.emit("network",l,h,"forbidden",m.message);return}if(A){var y=window,g=null,E=!1,b=document.createElement("script"),T=function(){var L;if(g=null,E!==!0){E=!0;var I=new NetworkTimeoutError(l,"Script",t.timeout||NaN);r(I),f(I),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",l,"Script","timeout",I.message)}},_=function(L){var I,F,k=now(),N=k-s;if(delete y[A],b.parentNode&&b.parentNode.removeChild(b),g!==null&&(window.clearTimeout(g),g=null),E!==!0){if(L.indexOf("data:")!==0){var D=new NetworkResponseError(l,"Script",500);r(D),f(D),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"Script","error",D.message);return}var U=L.split(","),z=(U[0].match(/:(.*?);/)||[])[1],q=U[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var G=atob(U[1]),J=G.length,j=new Uint8Array(J),X=0;X<J;X++)j[X]=G.charCodeAt(X);t.responseType==="arraybuffer"?q=j.buffer:q=new Blob([j],{type:z})}var Y={},Z={body:q,meta:{origin:u,source:l,requestTime:s,responseTime:k,costs:N,headers:Y}};e(Z),c(Z),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",l,"Script","ok",JSON.stringify(Z.meta)),E=!0}};y[A]=_,b.src=l,document.body.appendChild(b),typeof t.timeout=="number"&&(g=window.setTimeout(T,t.timeout))}else{var R=!1,S=new XMLHttpRequest,M=function(){S&&(S.removeEventListener("timeout",P,!1),S.removeEventListener("progress",H,!1),S.removeEventListener("load",w,!1),S.removeEventListener("error",C,!1)),S=null,M=noop$1},P=function(){var L;if(R!==!0){R=!0,M();var I=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(I),f(I),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",l,"XMLHttpRequest","timeout",I.message)}},H=function(L){R!==!0&&L.lengthComputable&&(L.total<=0||o(L.loaded/L.total))},w=function(L){var I;if(R!==!0){var F=this.status;if(F===0||F>=200&&F<400){R=!0,M();var k=now(),N=k-s,D=parseHeaders(this.getAllResponseHeaders()),U=L.total,z={body:this.response,meta:{origin:u,source:l,requestTime:s,responseTime:k,costs:N,headers:D,size:U}};e(z),c(z),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(z.meta))}else C.call(this)}},C=function(){var L;if(R!==!0){R=!0,M();var I=new NetworkResponseError(l,"XMLHttpRequest",this.status);r(I),f(I),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",l,"XMLHttpRequest","error",I.message)}};S.addEventListener("timeout",P,!1),S.addEventListener("progress",H,!1),S.addEventListener("load",w,!1),S.addEventListener("error",C,!1),t.responseType&&(S.responseType=t.responseType),typeof t.timeout=="number"&&(S.timeout=t.timeout),S.open("GET",l,!0),S.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(o){return/^https\:/.test(location.href)&&/^http\:/.test(o)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(o,"'. This request was automatically upgraded to HTTPS")),o.replace(/^http\:/,"https:")):o}).catch(function(o){var s,u=new NetworkProxyError(r,"Link",o&&o.message?String(o.message):String(o));return(s=t.networkSubscribe)===null||s===void 0||s.emit("network",n,"Link","proxy-error",u.message),Promise.reject(u)}).then(function(o){return o in preloadCache?preloadCache[o]:preloadCache[o]=new Promise(function(s,u){var l,c=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),f=hostnameFromURL(o);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(m){return matchDomain(m,location.hostname)}).length===0&&!isIPDomain(f)&&c.filter(function(m){return matchDomain(m,f)}).length===0){var d=new NetworkFirbiddenError(o,"Link","request host(".concat(f,") is not allowed"));u(d),(l=t.networkSubscribe)===null||l===void 0||l.emit("network",o,"Link","forbidden",d.message);return}var p=document.createElement("link"),v=!1,A=null;p.onload=function(m){var y;if(A!==null&&(clearTimeout(A),A=null),v!==!0){v=!0,s();var g=now(),E=g-e,b={},T={origin:r,source:o,requestTime:e,responseTime:g,costs:E,headers:b};(y=t.networkSubscribe)===null||y===void 0||y.emit("network",o,"Link","preload",JSON.stringify(T))}},p.onerror=function(m){var y;if(A!==null&&(clearTimeout(A),A=null),v!==!0){v=!0;var g=new NetworkResponseError(o,"Link",0);u(g),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",o,"Link","error",g.message)}},typeof t.timeout=="number"&&(A=window.setTimeout(function(){var m;if(A=null,v!==!0){v=!0,s();var y=now(),g=y-e,E={},b={origin:r,source:o,requestTime:e,responseTime:y,costs:g,headers:E};(m=t.networkSubscribe)===null||m===void 0||m.emit("network",o,"Link","timeout",JSON.stringify(b))}},t.timeout)),p.rel=p.relList&&p.relList.supports("prefetch")?"prefetch":"preload",p.as="fetch",p.crossOrigin="",p.fetchPriority="high",p.href=o;var h=document.head||document.getElementsByTagName("head")[0];h&&h.appendChild(p)})})}function loadImage(n,t,e,r,o,s){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var u=now(),l=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(c){return/^https\:/.test(location.href)&&/^http\:/.test(c)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(c,"'. This request was automatically upgraded to HTTPS")),c.replace(/^http\:/,"https:")):c}).catch(function(c){var f,d=new NetworkProxyError(l,"Image",c&&c.message?String(c.message):String(c));return(f=t.networkSubscribe)===null||f===void 0||f.emit("network",n,"Image","proxy-error",d.message),Promise.reject(d)}).then(function(c){return new Promise(function(f,d){var p,v=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),A=hostnameFromURL(c);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,location.hostname)}).length===0&&!isIPDomain(A)&&v.filter(function(T){return matchDomain(T,A)}).length===0){var h=new NetworkFirbiddenError(c,"Image","request host(".concat(A,") is not allowed"));r(h),d(h),(p=t.networkSubscribe)===null||p===void 0||p.emit("network",c,"Image","forbidden",h.message);return}var m=s!=null?s:new Image,y=!1,g=null,E=function(){var T;if(m.onload=noop$1,m.onerror=noop$1,g!==null&&(clearTimeout(g),g=null),y!==!0){var _=now(),R={headers:{},origin:l,source:c,requestTime:u,responseTime:_,costs:_-u};y=!0;var S={body:m,meta:R};o(1),e(S),f(S),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",JSON.stringify(S.meta))}},b=function(){var T;if(m.onload=noop$1,m.onerror=noop$1,g!==null&&(clearTimeout(g),g=null),y!==!0){y=!0;var _=new NetworkResponseError(c,"Image",0);r(_),d(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",_.message)}};typeof t.timeout=="number"&&(g=window.setTimeout(function(){var T;if(m.onload=noop$1,m.onerror=noop$1,g=null,y!==!0){y=!0;var _=new NetworkTimeoutError(c,"Image",t.timeout);r(_),d(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","timeout",_.message)}},t.timeout)),m.onload=E,m.onerror=b,o(0),m.src=c})})}var Fetcher=function(){function n(t){t===void 0&&(t={}),this.options=Object.freeze(t),this.options.allowHosts&&Object.freeze(this.options.allowHosts)}return n.prototype.ajax=function(t,e,r,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var l=this.options,c={responseType:e.responseType,timeout:(u=e.timeout)!==null&&u!==void 0?u:l.timeout,get allowHosts(){var f;return(f=e.allowHosts)!==null&&f!==void 0?f:l.allowHosts},get requestProxy(){var f;return(f=e.requestProxy)!==null&&f!==void 0?f:l.requestProxy},get networkSubscribe(){var f;return(f=e.networkSubscribe)!==null&&f!==void 0?f:l.networkSubscribe}};return ajax(t,c,r,o,s)},n.prototype.loadImage=function(t,e,r,o,s,u){var l;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var c=this.options,f={timeout:(l=e.timeout)!==null&&l!==void 0?l:c.timeout,get allowHosts(){var d;return(d=e.allowHosts)!==null&&d!==void 0?d:c.allowHosts},get requestProxy(){var d;return(d=e.requestProxy)!==null&&d!==void 0?d:c.requestProxy},get networkSubscribe(){var d;return(d=e.networkSubscribe)!==null&&d!==void 0?d:c.networkSubscribe}};return loadImage(t,f,r,o,s,u)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var o=this.options,s={timeout:(r=e.timeout)!==null&&r!==void 0?r:o.timeout,get allowHosts(){var u;return(u=e.allowHosts)!==null&&u!==void 0?u:o.allowHosts},get requestProxy(){var u;return(u=e.requestProxy)!==null&&u!==void 0?u:o.requestProxy},get networkSubscribe(){var u;return(u=e.networkSubscribe)!==null&&u!==void 0?u:o.networkSubscribe}};return preload(t,s)},n}(),internalFetcher=new Fetcher;function clamp$1(n,t,e){return n<t?t:n>e?e:n}var windowSTOContext=function(){var n=now();return{requestAnimationFrame:function(t){var e=now(),r=clamp$1(16+(e-n),16,33),o=setTimeout(function(){t(e+r)},r);return n=e+r,o},cancelAnimationFrame:function(t){return clearTimeout(t)}}}(),windowRAFContext=function(){if(typeof window!="undefined"){var n=window;if(n.requestAnimationFrame)return{requestAnimationFrame:n.requestAnimationFrame.bind(n),cancelAnimationFrame:n.cancelAnimationFrame.bind(n)};if(n.mozRequestAnimationFrame)return{requestAnimationFrame:n.mozRequestAnimationFrame.bind(n),cancelAnimationFrame:n.mozCancelAnimationFrame.bind(n)};if(n.webkitRequestAnimationFrame)return{requestAnimationFrame:n.webkitRequestAnimationFrame.bind(n),cancelAnimationFrame:n.webkitCancelAnimationFrame.bind(n)};if(n.msRequestAnimationFrame)return{requestAnimationFrame:n.msRequestAnimationFrame.bind(n),cancelAnimationFrame:n.msCancelAnimationFrame.bind(n)}}return windowSTOContext}(),DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=function(){function n(){this.loopType="raf",this.frames=[],this.isAnimating=!1,this.context=null;var t=now();this.loop=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(this.isAnimating!==!1){var o=now(),s=o-t;t=o,deviceFrameTime=s;for(var u=0;u<this.frames.length;u++){var l=this.frames[u];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,__spreadArray([o,s],e,!1))}catch(c){console.error(c)}l.once&&(this.frames.splice(u,1),u--)}this.requestId=this.requestAnimationFrame(this.loop)}}.bind(this),this.start()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.start=function(){this.isAnimating!==!0&&(this.isAnimating=!0,this.requestId=this.requestAnimationFrame(this.loop))},n.prototype.stop=function(){this.isAnimating=!1,this.cancelAnimationFrame(this.requestId)},n.prototype.setContext=function(t){t!==this.context&&(this.stop(),this.context=t,this.start())},n.prototype.getContext=function(){return this.context},n.prototype.setLoopType=function(t){t!==this.loopType&&(this.stop(),this.loopType=t,this.start())},n.prototype.getLoopType=function(){return this.loopType},n.prototype.requestAnimationFrame=function(t){if(this.context)return this.context.requestAnimationFrame(t);if(this.loopType==="raf")return windowRAFContext.requestAnimationFrame(t);if(this.loopType==="sto")return windowSTOContext.requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){if(this.context)this.context.cancelAnimationFrame(t);else if(this.loopType==="raf")windowRAFContext.cancelAnimationFrame(t);else if(this.loopType==="sto")return windowSTOContext.cancelAnimationFrame(t)},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,o){var s=this;e===void 0&&(e=!1),r===void 0&&(r=0),o===void 0&&(o=DEFAULT_ORDER);for(var u={callback:t,once:e,delay:r,order:o},l=this.frames.length;--l>=0;)if(this.frames[l].order<=o){this.frames.splice(l+1,0,u);break}return l<0&&this.frames.unshift(u),function(){return s.remove(u)}},n.prototype.clear=function(){this.frames.length=0},n}(),DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t){return n.replace(URL_DOMAIN_REGEX,function(e,r){return e.slice(0,e.length-r.length)+t})}function route(n,t,e){var r=t.split("."),o=r[0],s=r.slice(1);if(o==="texture")return replaceDomain(n,e.texture[0]);if(o==="pano"||o==="pano_luminance"){s[0];var u=s[1];switch(u){case"front":case"left":case"up":return replaceDomain(n,e.pano[0]);case"down":case"right":case"back":return replaceDomain(n,e.pano[1])}}else if(o==="pano_tile"||o==="pano_tile_luminance"){s[0],s[1];var l=s[2],c=s[3],f=s[4],d=Math.pow(2,Number(l))*Number(c)+Number(f);if(!isNaN(d))return replaceDomain(n,e.tile[d%2])}else if(o==="model"){var p=s[0],d=Number(p);if(!isNaN(d))return replaceDomain(n,e.model[d%2])}return replaceDomain(n,e.default[0])}var tencentCloudImageProcesser=function(n,t){var e,r=n.split("?")[0],o=r.split(".").pop();if(o==="jpeg"&&(o="jpg"),o!=="png"&&o!=="jpg")return n;var s="";if(t.format!==void 0&&t.format!==o&&(s+="/format/".concat(t.format)),t.cut!==void 0&&(s+="/cut/".concat(t.cut[2],"x").concat(t.cut[3],"x").concat(t.cut[0],"x").concat(t.cut[1])),t.quality!==void 0){var u=(e=t.format)!==null&&e!==void 0?e:o;u&&["jpg","webp","tpg","heif","avif"].indexOf(u)>=0&&(s+="/quality/".concat(t.quality))}if(t.size!==void 0){var l=n.match(/\/cube_(\d+)\//),c=l?Number(l[1]):NaN;c!==Number(t.size)&&(s+="/thumbnail/".concat(t.size,"x"))}return t.sharpen!==void 0&&(s+="/sharpen/".concat(t.sharpen)),s.length&&(s="?imageMogr2"+s),r+s},aliyunOOSImageProcesser=function(n,t){var e,r=n.split("?")[0],o=r.split(".").pop();if(o==="jpeg"&&(o="jpg"),o!=="png"&&o!=="jpg")return n;var s="",u=[],l=t.format,c=t.quality,f=t.size;if(l!==void 0&&l!==o&&u.push("format,".concat(l==="heif"?"heic":l)),t.cut!==void 0){var d=t.cut,p=d[0],v=d[1],A=d[2],h=d[3];u.push("crop,x_".concat(p,",y_").concat(v,",w_").concat(A,",h_").concat(h,",g_nw"))}if(c!==void 0&&c!==100){var m=(e=t.format)!==null&&e!==void 0?e:o;m&&["jpg","webp"].indexOf(m)>=0&&u.push("quality,Q_".concat(c))}return f&&f!==2048&&u.push("resize,w_".concat(f)),t.sharpen!==void 0&&u.push("sharpen,".concat(t.sharpen)),u.length&&(s="?x-oss-process=image/"+u.join("/")),r+s},MAX_SAFE_INTEGER=9007199254740991;function formatNumber(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function formatOptions(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=formatNumber(clamp$1(n.size,0,MAX_SAFE_INTEGER))),n.quality!==void 0&&(n.quality=formatNumber(clamp$1(n.quality,0,100))),n.cut!==void 0&&(n.cut=[formatNumber(clamp$1(n.cut[0],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[1],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[2],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[3],0,MAX_SAFE_INTEGER))]),n.sharpen!==void 0&&(n.sharpen=formatNumber(clamp$1(n.sharpen,0,MAX_SAFE_INTEGER))),n}function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;t=formatOptions(t);var o=e[r];return o?(n=route(n,t.key,o),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),o.type==="tencentCloud"?tencentCloudImageProcesser(n,t):o.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var IMAGE_SIZE_REG=/\/cube_(\d+)\//;function getImageSizeFromURL(n){var t=n.match(IMAGE_SIZE_REG);return t?Number(t[1]):null}function replaceImageSize(n,t){return n.replace(IMAGE_SIZE_REG,"/cube_".concat(t,"/"))}var webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],o=Math.floor(Number(r));if(!isNaN(o)&&isFinite(o))return{workCode:e,panoIndex:o}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var PBMGroup=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Group),PBMMesh=function(n){__extends(t,n);function t(e,r){return n.call(this,e,r)||this}return t.prototype.update=function(e,r,o,s){for(var u=0,l=this.material;u<l.length;u++){var c=l[u];c.update(e,r,o)}},t}(THREE__namespace.Mesh),PBMSkinnedMesh=function(n){__extends(t,n);function t(e,r,o){return n.call(this,e,r,o)||this}return t.prototype.update=function(e,r,o,s){for(var u=0,l=this.material;u<l.length;u++){var c=l[u];c.update(e,r,o)}},t}(THREE__namespace.SkinnedMesh);function jsonStableStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],f=jsonStableStrinfiy_(n[c],!0);f!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+f),s++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonHash(n){return"hash::".concat(jsonStableStrinfiy_(n,!1))}var CustomShader=function(){function n(t){var e,r,o,s,u,l,c,f,d,p,v,A,h,m,y,g;this.uniforms=(e=t.uniforms)!==null&&e!==void 0?e:{},this.defines=(r=t.defines)!==null&&r!==void 0?r:{},this.type=t.type,this.vertex={mainBefore:(s=(o=t.vertex)===null||o===void 0?void 0:o.mainBefore)!==null&&s!==void 0?s:"",mainStart:(l=(u=t.vertex)===null||u===void 0?void 0:u.mainStart)!==null&&l!==void 0?l:"",mainEnd:(f=(c=t.vertex)===null||c===void 0?void 0:c.mainEnd)!==null&&f!==void 0?f:""},this.fragment={mainBefore:(p=(d=t.fragment)===null||d===void 0?void 0:d.mainBefore)!==null&&p!==void 0?p:"",mainStart:(A=(v=t.fragment)===null||v===void 0?void 0:v.mainStart)!==null&&A!==void 0?A:"",mainModelColor:(m=(h=t.fragment)===null||h===void 0?void 0:h.mainModelColor)!==null&&m!==void 0?m:"",mainEnd:(g=(y=t.fragment)===null||y===void 0?void 0:y.mainEnd)!==null&&g!==void 0?g:""}}return n.prototype.getHash=function(){return jsonHash({vertex:this.vertex,fragment:this.fragment,defines:this.defines})},n.prototype.onBeforeCompile=function(t,e){},n}(),gradientTexture=function(){return typeof document!="undefined"?new THREE__namespace.TextureLoader().load("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAYAAACouxZ2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAAAAQAAAAB7UD0+AAACA0lEQVRIDXWUW3YjIQxEwdnV/GT/q8kO3FO3pAJst3PSAaR6Cbszf//9XeMxxpjXmI+pVXudp2s6PC4dqHff9e6D7/PZLy46xQvG+sZvrfK8xgXUeq85yINe9bdmtOK1+kun5vjgq58a+eZPna9jvmjiserqG/+Whathvo3L3WhV89L9sXI/m18z2uene9ap/ftsuT9WZxoHXzW56/fpj8l7+tTw7P011NdpqnY19sRsfuHMA9u8oZWfDz4+fra/dfG1V60ydZ7qba1g7UNAeK0JP7ydD7/OqH6wO2f7HTq+B/lbL9qsB3/N1/UzR81XfPzw4tp5OPvRneacteq8Xo0xR3vuv/kPz0KtX0Nhg0eHuaNXdWI3X/ld427h++vzyp99V6VPrzWFhbv4ayay4oFecm198MmUXN/mL+x7npq/uJXBGb/MTw4+t+SvbLoTZnUW5uHhz7nWcTxT73OwXV7cxT9wbBf/0LnDBgcnHmtPLYba32Hp808sMy1u88yhr58n70/v4xX92GSN19l/2UsqGmiH94Hpxjcs+DO/ccpIVNVp62PUWXu//ur1GQy1Cf+GZ13rtNYN1po3/NI79fGXibHkq4z25xvV2pW3szpneXsW8SsreTe/NIPrtXMnH7wPf+LEN6tqhUVHj3XKD/72p9eafCeYB3zuonnbv7yqP8d/o4K6gRb1wbYAAAAASUVORK5CYII="):new THREE__namespace.Texture}();gradientTexture.minFilter=THREE__namespace.NearestFilter,gradientTexture.magFilter=THREE__namespace.NearestFilter,gradientTexture.wrapS=THREE__namespace.RepeatWrapping,gradientTexture.wrapT=THREE__namespace.RepeatWrapping;var defaultPbmParameters={customShaders:[],pano0:null,pano1:null,floorStyle:"OPACITY",colorStyle:"RGB",constantColor:new THREE__namespace.Vector3(.6,.6,.6),shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:null,brightness:1,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"CIRCLE",pointScale:.03,pointMaxPixel:40,pointMinPixel:1,gradientTexture,colorSaturation:0,colorBrightness:0};function isEqualClipperParameters(n,t){var e=n!=null?n:[],r=t!=null?t:[];if(r.length!==e.length)return!1;for(var o=0;o<r.length;o++)if(!e[o].clippingBoxMatrix.equals(r[o].clippingBoxMatrix)||e[o].floorIndex!==r[o].floorIndex)return!1;return!0}function isEqualPBMPanoPicture(n,t){return n&&t?n.luminanceMap===t.luminanceMap&&n.map===t.map&&n.zoom===t.zoom&&n.matrix.equals(t.matrix):!n&&!t}function updatePBMParameters(n,t){var e=!1;for(var r in t)if(t[r]!==void 0)switch(r){case"clippers":isEqualClipperParameters(n[r],t[r])||(n[r]=t[r],e=!0);break;case"pano0":case"pano1":isEqualPBMPanoPicture(n[r],t[r])||(n[r]=t[r],e=!0);break;default:n[r]!==t[r]&&(n[r]=t[r],e=!0);break}return e}function mixNumber(n,t,e){return n+(t-n)*e}function value(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t,l=n;return o*Math.pow(r,3)+s*Math.pow(r,2)+u*r+l}function velocity(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t;return 3*o*Math.pow(r,2)+2*s*r+u}function mixCircle(n,t,e,r){var o=r[1]-r[0];return n=circleValue(n,r),t=circleValue(t,r),t-n>o/2?mixNumber(n+o,t,e):n-t>o/2?mixNumber(n-o,t,e):mixNumber(n,t,e)}function circleValue(n,t){var e=t[1]-t[0];return n<t[0]?circleValue(n+e,t):n>=t[1]?circleValue(n-e,t):n}function mixValue(n,t,e,r){return r?mixCircle(n,t,e,r):mixNumber(n,t,e)}function toNumber(n){var t=Number(n);return isNaN(t)||!isFinite(t)?0:t}var Motion=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=now(),this.startVelocity=0,this.duration=0,this.keyframes=[];for(var e in t){var r=t[e];typeof r=="object"?(this.value[e]=toNumber(r.value),this.config[e]={circle:r.circle}):(this.value[e]=toNumber(r),this.config[e]={circle:!1})}this.keyframes=[{progress:0,value:__assign({},this.value)},{progress:1,value:__assign({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-value(1,this.startVelocity,this.duration,e)},n.prototype.getValue=function(t){for(var e=1;e<this.keyframes.length;e++)if(this.keyframes[e].progress>t){var r=this.keyframes[e-1],o=this.keyframes[e],s={};for(var u in this.config){var l=(t-r.progress)/(o.progress-r.progress);s[u]=mixValue(r.value[u],o.value[u],l,this.config[u].circle)}return s}return __assign({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:velocity(1,this.startVelocity,this.duration,e)},n.prototype.update=function(t){return this.ended?!0:(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},n.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>e)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},n.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},n.prototype.set=function(t,e,r,o){var s;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),o=o!=null?o:now();var u=this.getProgress(o),l=this.getValue(u),c={};for(var f in this.config)c[f]=(s=t[f])!==null&&s!==void 0?s:l[f];var d=[{progress:0,value:l},{progress:1,value:c}];return this.setKeyframes(d,e,r,o)},n.prototype.setKeyframes=function(t,e,r,o){var s=this;if(r===void 0&&(r=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(e)&&(e=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise(function(u,l){o=o!=null?o:now(),s.progress=0,s.ended=!1,s.startTime=o,s.startVelocity=r,s.keyframes=t,s.duration=e,e===0?(s.progress=1,s.value=__assign({},t[t.length-1].value)):s.value=__assign({},t[0].value),s.callbacks=[u,l]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),APPEAR_ANIMATION_DURATION=500;function easeInOutSine(n){return-(Math.cos(Math.PI*n)-1)/2}var PBMPointCloud=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.appearMotion=new Motion({appear:0}),o}return t.prototype.update=function(e,r,o,s){var u,l;if(this.material.update(e,r,o),s&&s.refine==="ADD"&&s.tileset.rootMeta.pntsOrder==="RANDOM"){var c=this.geometry,f=this.appearMotion,d=o.visible&&s.state.selectedFrameNumber===s.tileset.frameNumber,p=s.tileset.maxScreenSpaceError,v=s.state.screenSpaceError,A=(l=(u=s.parent)===null||u===void 0?void 0:u.state.screenSpaceError)!==null&&l!==void 0?l:v,h=1;if(s.levelOfContent>s.tileset.minLevelOfDetail&&A!==v&&(h=(A-p)/(A-v)),h=clamp$1(h,0,1),h=easeInOutSine(h),d){var m=1;f.getTargetKeyframe().value.appear!==m&&f.set({appear:m},APPEAR_ANIMATION_DURATION).catch(noop$1)}else{var m=0;f.getTargetKeyframe().value.appear!==m&&f.set({appear:m},0).catch(noop$1)}f.ended!==!0&&f.update(r.time);var y=c.index?c.index.count:c.attributes.position?c.attributes.position.count:1/0,g=Math.floor(y*h*f.value.appear);c.drawRange.count!==g&&(this.geometry.setDrawRange(0,g),o.needsRender=!0)}},t}(THREE__namespace.Points),scratchMaterialSet=new Set,PBMContainer=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!0,e.pbmMaterialParametersVersion=0,e.materialParameters=__assign({},defaultPbmParameters),e}return t.prototype.getMaterial=function(){return __assign({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this;Object.assign(this.materialParameters,e),scratchMaterialSet.clear(),this.traverse(function(o){if(o instanceof PBMMesh)for(var s=0,u=o.material;s<u.length;s++){var l=u[s];scratchMaterialSet.has(l)||(Object.assign(l,r.materialParameters),scratchMaterialSet.add(l))}o instanceof PBMPointCloud&&(scratchMaterialSet.has(o.material)||(Object.assign(o.material,r.materialParameters),scratchMaterialSet.add(o.material)))}),scratchMaterialSet.clear(),this.needsRender=!0},t}(THREE__namespace.Group),FACE_ORDER$1=["right","left","up","down","front","back"];function getBox(n,t,e,r){var o=new THREE__namespace.Box3;switch(n){case"up":o.min.y=.5,o.max.y=.5,o.min.x=+t-.5,o.max.x=+t-.5+r,o.min.z=-e+.5-r,o.max.z=-e+.5;break;case"down":o.min.y=-.5,o.max.y=-.5,o.min.x=+t-.5,o.max.x=+t-.5+r,o.min.z=+e-.5,o.max.z=+e-.5+r;break;case"left":o.min.x=-.5,o.max.x=-.5,o.min.z=-t+.5-r,o.max.z=-t+.5,o.min.y=-e+.5-r,o.max.y=-e+.5;break;case"right":o.min.x=.5,o.max.x=.5,o.min.z=+t-.5,o.max.z=+t-.5+r,o.min.y=-e+.5-r,o.max.y=-e+.5;break;case"front":o.min.z=-.5,o.max.z=-.5,o.min.x=+t-.5,o.max.x=+t-.5+r,o.min.y=-e+.5-r,o.max.y=-e+.5;break;case"back":o.min.z=.5,o.max.z=.5,o.min.x=-t+.5-r,o.max.x=-t+.5,o.min.y=-e+.5-r,o.max.y=-e+.5;break}return o.applyMatrix4(new THREE__namespace.Matrix4().makeRotationY(Math.PI))}var createChildren=function(n,t){if(!(n.level>=t))for(var e=n.level+1,r=n.size/2,o=[new THREE__namespace.Vector2(n.position.x,n.position.y),new THREE__namespace.Vector2(n.position.x+r,n.position.y),new THREE__namespace.Vector2(n.position.x,n.position.y+r),new THREE__namespace.Vector2(n.position.x+r,n.position.y+r)],s=0,u=o;s<u.length;s++){var l=u[s],c={face:n.face,level:e,size:r,position:l,box:getBox(n.face,l.x,l.y,r),parent:n,children:[]};n.children.push(c),createChildren(c,t)}};function createTileCubeNode(n,t){var e={level:0,face:n,position:new THREE__namespace.Vector2(0,0),size:1,box:getBox(n,0,0,1),parent:null,children:[]};return createChildren(e,t),e}function createTileCubeTree(n){var t=FACE_ORDER$1.map(function(e){return createTileCubeNode(e,n)});return{children:t}}function traverseTileCubeNode(n,t){for(var e=0,r=n.children;e<r.length;e++){var o=r[e],s=t(o);s!==!1&&traverseTileCubeNode(o,t)}}function pick(n,t){for(var e={},r=0,o=t;r<o.length;r++){var s=o[r];s in n&&(e[s]=n[s])}return e}function omit(n,t){for(var e=__assign({},n),r=0,o=t;r<o.length;r++){var s=o[r];s in e&&delete e[s]}return e}var CUBE_GEOMETRY=new THREE__namespace.BoxBufferGeometry(1,1,1,1,1);CUBE_GEOMETRY.deleteAttribute("uv"),CUBE_GEOMETRY.deleteAttribute("normal"),CUBE_GEOMETRY.groups=[],CUBE_GEOMETRY.scale(-1,1,1);var CUBE_VERTEX_SHADER=`
|
|
392
392
|
varying vec3 worldPosition;
|
|
393
393
|
void main() {
|
|
394
394
|
vec4 transform = vec4(position, 1.0);
|
|
@@ -414,7 +414,7 @@ varying vec2 vUv;
|
|
|
414
414
|
void main() {
|
|
415
415
|
gl_FragColor = texture2D(map, vUv);
|
|
416
416
|
}
|
|
417
|
-
`,cacheMaterials=[],cameraPX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPX.up.set(0,-1,0),cameraPX.lookAt(new THREE__namespace.Vector3(1,0,0)),cameraPX.updateMatrix(),cameraPX.matrixAutoUpdate=!1;var cameraNX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNX.up.set(0,-1,0),cameraNX.lookAt(new THREE__namespace.Vector3(-1,0,0)),cameraNX.updateMatrix(),cameraNX.matrixAutoUpdate=!1;var cameraPY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPY.up.set(0,0,1),cameraPY.lookAt(new THREE__namespace.Vector3(0,1,0)),cameraPY.updateMatrix(),cameraPY.matrixAutoUpdate=!1;var cameraNY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNY.up.set(0,0,-1),cameraNY.lookAt(new THREE__namespace.Vector3(0,-1,0)),cameraNY.updateMatrix(),cameraNY.matrixAutoUpdate=!1;var cameraPZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPZ.up.set(0,-1,0),cameraPZ.lookAt(new THREE__namespace.Vector3(0,0,1)),cameraPZ.updateMatrix(),cameraPZ.matrixAutoUpdate=!1;var cameraNZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNZ.up.set(0,-1,0),cameraNZ.lookAt(new THREE__namespace.Vector3(0,0,-1)),cameraNZ.updateMatrix(),cameraNZ.matrixAutoUpdate=!1;var FACES={front:{camera:cameraPZ,index:4},back:{camera:cameraNZ,index:5},up:{camera:cameraPY,index:2},down:{camera:cameraNY,index:3},left:{camera:cameraNX,index:1},right:{camera:cameraPX,index:0}};function getMaterial(){var n=cacheMaterials.pop();return n||new THREE__namespace.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:PLANE_VERTEX_SHADER,fragmentShader:PLANE_FRAGMENT_SHADER,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:THREE__namespace.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function releaseMaterial(n){n.uniforms.map.value=null,cacheMaterials.push(n)}function renderTexturesToCubeRenderTarget(n,t,e){var r=new THREE__namespace.Scene;r.matrixAutoUpdate=!1;var o=new THREE__namespace.Group;o.scale.set(1,1,-1),r.add(o);for(var s=[],u=new Set,l=0,c=n;l<c.length;l++){var f=c[l];u.add(f.face);var d=getMaterial();s.push(d),d.uniforms.map.value=f.texture,d.uniforms.flipY.value=f.flipY?1:0;var p=new THREE__namespace.Group,v=new THREE__namespace.Mesh(PLAME_GEOMETRY,d);v.position.set(f.position.x+f.size.x/2-.5,1-(f.position.y+f.size.y/2)-.5,-.5),v.scale.set(f.size.x,f.size.y,1),p.quaternion.copy(QUATERNION[f.face]),p.add(v),o.add(p)}var A=e.autoClear,h=e.sortObjects,m=e.xr.enabled,y=t.texture.generateMipmaps;e.autoClear=!1,e.sortObjects=!1,e.xr.enabled=!1,t.texture.generateMipmaps=!1;var g=e.getRenderTarget(),E=0;u.forEach(function(_){++E===u.size&&(t.texture.generateMipmaps=y),e.setRenderTarget(t,FACES[_].index),e.render(r,FACES[_].camera)}),e.setRenderTarget(g),e.autoClear=A,e.sortObjects=h,e.xr.enabled=m;for(var b=0,T=s;b<T.length;b++){var d=T[b];releaseMaterial(d)}}var canUseNativeImageBitmap=function(){return!1}();function createImageBitmapLikeImage(n){n===void 0&&(n={});var t=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onClose&&n.onClose.call(this),this.onerror=this.onload=this.close=noop$1,this.removeAttribute("src")}});return t}function createImageBitmapLike(n){return new Promise(function(t,e){var r=URL.createObjectURL(n),o=createImageBitmapLikeImage({onClose:function(){this.src===r&&URL.revokeObjectURL(r)}});o.onload=function(){o.src===r&&URL.revokeObjectURL(r),o.onload=o.onerror=noop$1,setTimeout(function(){t(o)},10)},o.onerror=function(){var s=o.src;o.onload=o.onerror=noop$1,o.close(),e(new Error("image load error: ".concat(s)))},o.decoding="async",o.src=r})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=noop$1,canvasPool.push(r)}});return r}function poolImageToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var o=new THREE__namespace.Texture(e);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){e.close(),s.call(o),o.dispose=s},o}else{var u=new THREE__namespace.Texture(n);u.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?u.flipY=!1:u.flipY=!0;var l=u.dispose;return u.dispose=function(){n.close(),l.call(u),u.dispose=l},u}}function poolImagesToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,o=n;r<o.length;r++){var s=o[r];s.close()}e.call(t),t.dispose=e},t}var sharedSortVector3$1=new THREE__namespace.Vector3,FACE_ORDER=["right","left","up","down","front","back"],TileCubeTextureTarget=function(){function n(t,e,r,o,s){var u,l,c;this.tileTree=e,this.tileSources=r,this.options=o,this.renderer=s,this.name="",this.needsRender=!1,this.baseLevel=0,this.maxRequest=n.DEFAULT_MAX_REQUEST,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.drawedCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.prepareToRender=[],this.baseCubeTexture=t;var f=(u=this.baseCubeTexture.images)!==null&&u!==void 0?u:[],d=Array.isArray(f)&&f[0]&&f[0].width||((c=(l=o.imageURL)===null||l===void 0?void 0:l.options)===null||c===void 0?void 0:c.size);typeof d!="number"&&(d=2048),this.baseLevel=Math.floor(d/512)-1}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,o,s,u,l;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:THREE__namespace.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:THREE__namespace.LinearFilter,t.texture.magFilter=(o=this.options.magFilter)!==null&&o!==void 0?o:THREE__namespace.LinearFilter,t.texture.wrapS=(s=this.options.wrapS)!==null&&s!==void 0?s:THREE__namespace.ClampToEdgeWrapping,t.texture.wrapT=(u=this.options.wrapT)!==null&&u!==void 0?u:THREE__namespace.ClampToEdgeWrapping,t.texture.generateMipmaps=(l=this.options.generateMipmaps)!==null&&l!==void 0?l:!0,this.baseCubeTexture&&(renderCubeTextureToCubeRenderTarget(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&renderCubeTextureToCubeRenderTarget(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,o,s,u,l,c,f=this.tileSources.filter(function(m){return m.level===t.level})[0];if(this.baseLevel>=t.level||!f)return this.loadedCubeNodes.add(t),this.prepareToRender.push({node:t,texture:null}),!1;var d=f.size,p=Math.pow(2,t.level)*t.position.y,v=Math.pow(2,t.level)*t.position.x,A="".concat(((s=(o=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||o===void 0?void 0:o.key)!==null&&s!==void 0?s:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(p,".").concat(v),h=__assign(__assign({},(l=(u=this.options.imageURL)===null||u===void 0?void 0:u.options)!==null&&l!==void 0?l:{key:"unknown"}),{key:A,size:f.scale>=1?void 0:d*t.size*f.scale,cut:[d*t.position.x,d*t.position.y,d*t.size,d*t.size]});return t.level==1&&(h.format==="jpg"||/\.jpg$/.test(f[t.face]))&&(h.size=void 0,h.quality||(h.quality=70)),this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(f[t.face],{imageURL:{transform:(c=this.options.imageURL)===null||c===void 0?void 0:c.transform,options:__assign({},h)},format:THREE__namespace.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(m){if(e.disposed){m.body.dispose();return}e.prepareToRender.push({node:t,texture:m.body}),e.loadedCubeNodes.add(t)}).catch(noop$1).then(function(){e.disposed||e.loadingCubeNodes.delete(t)}),!0},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var o=t.planes[5].normal,s=Math.max(this.maxRequest-this.loadingCubeNodes.size,0),u=[];traverseTileCubeNode(this.tileTree,function(m){if(m.level>e||!t.intersectsBox(m.box))return!1;!r.loadedCubeNodes.has(m)&&!r.loadingCubeNodes.has(m)&&u.push(m)}),u.sort(function(m,y){return m.level!==y.level?m.level-y.level:m.box.getCenter(sharedSortVector3$1).angleTo(o)-y.box.getCenter(sharedSortVector3$1).angleTo(o)});for(var l=0,c=u;l<c.length;l++){var f=c[l];if(s<=0)break;var d=this.requestTile(f);d&&s--}if(this.cubeRenderTarget&&this.prepareToRender.length){this.prepareToRender.sort(function(m,y){return m.node.level-y.node.level});for(var p=[],v=0;v<this.prepareToRender.length;v++){var A=this.prepareToRender[v],f=A.node,h=A.texture;(f.parent===null||this.drawedCubeNodes.has(f.parent))&&(this.drawedCubeNodes.add(f),h&&p.push({face:f.face,position:f.position,size:new THREE__namespace.Vector2(f.size,f.size),texture:h,flipY:!h.flipY}),this.prepareToRender.splice(v,1),v--)}p.length&&(renderTexturesToCubeRenderTarget(p,this.cubeRenderTarget,this.renderer),this.needsRender=!0)}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.prepareToRender;t<e.length;t++){var r=e[t];r.texture&&r.texture.dispose()}this.prepareToRender.length=0}},n.DEFAULT_MAX_REQUEST=3,n}(),TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,o,s,u){var l,c,f,d,p,v,A;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var h={};typeof e.flipY!="undefined"&&(h.flipY=e.flipY),typeof e.format!="undefined"&&(h.format=e.format),typeof e.encoding!="undefined"&&(h.encoding=e.encoding),h.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,h.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,h.magFilter=(f=e.magFilter)!==null&&f!==void 0?f:THREE__namespace.LinearFilter;var m=(p=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&p!==void 0?p:{key:"unknown"};t=applyImageURLOptions(t,(v=e.imageURL)===null||v===void 0?void 0:v.transform,m);var y=getProtocol(t),g=(A=e.viaAjax)!==null&&A!==void 0?A:canUseNativeImageBitmap,E=isJsonpSource(t),b=/^https?:/.test(y);if(E?g=!0:b||(g=!1),g){var T=null,_="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:_},void 0,void 0,s).then(function(M){return createImageBitmapLike(M.body)}).then(function(M){return poolImageToTexture(M,e.maxSize)}).then(function(M){return Object.assign(M,h),M}).then(function(M){var P={meta:T,body:M};return r(P),P}).catch(function(M){return o(M),Promise.reject(M)})}else{var R=null,S;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(M){return S=M,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,s,M)}).then(function(M){return R=M.meta,poolImageToTexture(M.body,e.maxSize)}).then(function(M){return Object.assign(M,h),M}).then(function(M){var P={meta:R,body:M};return r(P),P}).catch(function(M){return S&&S.close(),o(M),Promise.reject(M)})}},n.prototype.loadCubeTexture=function(t,e,r,o,s,u){var l,c,f,d,p,v,A;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var h={};typeof e.format!="undefined"&&(h.format=e.format),h.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,h.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,h.magFilter=(f=e.magFilter)!==null&&f!==void 0?f:THREE__namespace.LinearFilter;for(var m=[t[FACE_ORDER[0]],t[FACE_ORDER[1]],t[FACE_ORDER[2]],t[FACE_ORDER[3]],t[FACE_ORDER[4]],t[FACE_ORDER[5]]],y=[],g=[0,0,0,0,0,0],E=[],b=function(_){var R=(p=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&p!==void 0?p:{key:"unknown"},S=applyImageURLOptions(m[_],(v=e.imageURL)===null||v===void 0?void 0:v.transform,__assign(__assign({},R),{key:R.key+"."+FACE_ORDER[_]})),M=getProtocol(S),P=function(k){g[_]=k,s(g.reduce(function(N,D){return N+D},0)/6)},H=(A=e.viaAjax)!==null&&A!==void 0?A:!1,w=/^https?:$/.test(M),C=isJsonpSource(S);if(C?H=!0:w||(H=!1),H){var L="blob",I=e.fetcher.ajax(S,{timeout:e.timeout,responseType:L},void 0,void 0,P).then(function(k){return E[_]=k.meta,createImageBitmapLike(k.body)});y.push(I)}else{var F,I=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(N){return F=N,e.fetcher.loadImage(S,{timeout:e.timeout},void 0,void 0,P,N)}).then(function(N){return E[_]=N.meta,N.body}).catch(function(N){return F&&F.close(),Promise.reject(N)});y.push(I)}},T=0;T<6;T++)b(T);return Promise.all(y).then(function(_){return poolImagesToCubeTexture(_)}).then(function(_){return Object.assign(_,__assign({encoding:THREE__namespace.sRGBEncoding},h)),_}).then(function(_){var R={body:_,meta:E};return r(R),R}).catch(function(_){for(var R=0,S=y;R<S.length;R++){var M=S[R];M.then(function(P){return P.close()}).catch(noop$1)}return o(_),Promise.reject(_)})},n.prototype.loadTiledCubeTexture=function(t,e,r,o,s,u,l){var c=this;return o===void 0&&(o=noop$1),s===void 0&&(s=noop$1),u===void 0&&(u=noop$1),new Promise(function(f,d){var p,v;c.loadCubeTexture(t,{imageURL:{transform:(p=r.imageURL)===null||p===void 0?void 0:p.transform,options:(v=r.imageURL)===null||v===void 0?void 0:v.options},format:THREE__namespace.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(A){var h,m=A.meta,y=A.body,g=(h=r.tileMaxLevel)!==null&&h!==void 0?h:2,E=Math.max(1024*g,512),b=createTileCubeTree(g),T=new TileCubeTextureTarget(y,b,e,{textureSize:E,textureLoader:c,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},l),_={meta:m,body:T};o(_),f(_)},function(A){s(A),d(A)},u,l).catch(noop$1)})},n}();const meshNoneVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("n\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshNoneFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-rpA5}n{|P|y|;to9-=;=69-pynz}5z|qryNy}un-7-@=;=9-=;=9->;=66H--<<-JJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--ZNV[lR[Q\f"),meshBasicVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshBasicFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f"),meshPhongVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshPhongFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f");var pbmUniforms$1={modelAlpha:new THREE__namespace.Uniform(0),progress:new THREE__namespace.Uniform(0),pano0_map:new THREE__namespace.Uniform(null),pano0_luminanceMap:new THREE__namespace.Uniform(null),pano0_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano0_zoom:new THREE__namespace.Uniform(1),pano1_map:new THREE__namespace.Uniform(null),pano1_luminanceMap:new THREE__namespace.Uniform(null),pano1_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano1_zoom:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(new THREE__namespace.Vector3),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0)},shaderLib={none:{vertexShader:meshNoneVertexShader,fragmentShader:meshNoneFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms$1,{opacity:{value:1}},THREE__namespace.UniformsLib.fog]),lights:!1,clipping:!1},basic:{vertexShader:meshBasicVertexShader,fragmentShader:meshBasicFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms$1,THREE__namespace.ShaderLib.basic.uniforms]),lights:!1,clipping:!0},phong:{vertexShader:meshPhongVertexShader,fragmentShader:meshPhongFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms$1,THREE__namespace.ShaderLib.phong.uniforms]),lights:!0,clipping:!0}},PBMMeshMaterial=function(n){__extends(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var o=this,s,u,l,c,f,d,p,v,A,h,m,y,g,E,b,T,_,R,S,M,P,H,w,C,L,I=shaderLib[e];o=n.call(this,{vertexShader:I.vertexShader,fragmentShader:I.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(I.uniforms),lights:I.lights,clipping:I.clipping,defines:{USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_LUMINANCE:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,o.shaderType=e,o.color=new THREE__namespace.Color(16777215),o.map=null,o.lightMap=null,o.lightMapIntensity=1,o.aoMap=null,o.aoMapIntensity=1,o.specularMap=null,o.specular=new THREE__namespace.Color(1118481),o.alphaMap=null,o.envMap=null,o.reflectivity=1,o.refractionRatio=.98,o.emissiveMap=null,o.emissive=new THREE__namespace.Color(0),o.emissiveIntensity=1,o.bumpMap=null,o.bumpScale=1,o.normalMap=null,o.normalMapType=THREE__namespace.TangentSpaceNormalMap,o.normalScale=new THREE__namespace.Vector2(1,1),o.displacementMap=null,o.displacementScale=1,o.displacementBias=0,o.shininess=30;var F,k=null,N=null;return Object.defineProperties(o,{pano0:{get:function(){return k},set:function(D){if(k!==D){k=D,D===null?(this.uniforms.pano0_map.value=null,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=D.map instanceof TileCubeTextureTarget?D.map.texture:D.map,this.uniforms.pano0_luminanceMap.value=D.luminanceMap instanceof TileCubeTextureTarget?D.luminanceMap.texture:D.luminanceMap,this.uniforms.pano0_matrix.value.copy(D.matrix),this.uniforms.pano0_zoom.value=D.zoom);var U=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==U&&(this.defines.USE_LUMINANCE=U,this.needsUpdate=!0)}}},pano1:{get:function(){return N},set:function(D){if(N!==D){N=D,D===null?(this.uniforms.pano1_map.value=null,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=D.map instanceof TileCubeTextureTarget?D.map.texture:D.map,this.uniforms.pano1_luminanceMap.value=D.luminanceMap instanceof TileCubeTextureTarget?D.luminanceMap.texture:D.luminanceMap,this.uniforms.pano1_matrix.value.copy(D.matrix),this.uniforms.pano1_zoom.value=D.zoom);var U=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==U&&(this.defines.USE_LUMINANCE=U,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(D){this.uniforms.modelAlpha.value=D}},progress:{get:function(){return this.uniforms.progress.value},set:function(D){this.uniforms.progress.value=D}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(D){var U=this.defines.USE_BLACK_TRANSITION,z=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(D,"_TRANSITION")]=!0;var q=!1;U!==this.defines.USE_BLACK_TRANSITION&&(q=!0),z!==this.defines.USE_SPREAD_TRANSITION&&(q=!0),q&&(this.needsUpdate=!0)}},colorStyle:{get:function(){return this.defines.USE_COLOR_CONSTANT?"CONSTANT":this.defines.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(D){var U=D==="CONSTANT",z=D==="ALTITUDE";this.defines.USE_COLOR_CONSTANT!==U&&(this.defines.USE_COLOR_CONSTANT=U,this.needsUpdate=!0),this.defines.USE_COLOR_ALTITUDE!==z&&(this.defines.USE_COLOR_ALTITUDE=z,this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(D){this.uniforms.constantColor.value=D}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(D){this.uniforms.opacity.value=D}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(D){this.uniforms.shownFloorIndex.value=D}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(D){this.uniforms.gradientTexture.value=D}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(D){this.uniforms.brightness.value=D}},clippers:{get:function(){return F},set:function(D){F!==D&&(F=D,this.uniforms.clippers.value=(F||[]).map(function(U){var z=typeof U.floorIndex=="number"?U.floorIndex:-1,q=new THREE__namespace.Matrix4().getInverse(U.clippingBoxMatrix);return{matrixInverse:q,floorIndex:z}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(D){D!==this.defines.USE_EDL&&(this.defines.USE_EDL=D,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(D){D!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=D,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(D){D!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=D,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(D){this.uniforms.floor.value=D}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(D){this.uniforms.colorSaturation.value=D}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(D){this.uniforms.colorBrightness.value=D}}}),o.pano0=(s=r.pano0)!==null&&s!==void 0?s:defaultPbmParameters.pano0,o.pano1=(u=r.pano1)!==null&&u!==void 0?u:defaultPbmParameters.pano1,o.modelAlpha=(l=r.modelAlpha)!==null&&l!==void 0?l:defaultPbmParameters.modelAlpha,o.progress=(c=r.progress)!==null&&c!==void 0?c:defaultPbmParameters.progress,o.transition=(f=r.transition)!==null&&f!==void 0?f:defaultPbmParameters.transition,o.constantColor=(d=r.constantColor)!==null&&d!==void 0?d:defaultPbmParameters.constantColor,o.opacity=(p=r.opacity)!==null&&p!==void 0?p:defaultPbmParameters.opacity,o.floorStyle=(v=r.floorStyle)!==null&&v!==void 0?v:defaultPbmParameters.floorStyle,o.shownFloorIndex=(A=r.shownFloorIndex)!==null&&A!==void 0?A:defaultPbmParameters.shownFloorIndex,o.clippers=(h=r.clippers)!==null&&h!==void 0?h:defaultPbmParameters.clippers,o.useEDL=(m=r.useEDL)!==null&&m!==void 0?m:defaultPbmParameters.useEDL,o.useHQWeight=(y=r.useHQWeight)!==null&&y!==void 0?y:defaultPbmParameters.useHQWeight,o.useHQDepth=(g=r.useHQDepth)!==null&&g!==void 0?g:defaultPbmParameters.useHQDepth,o.pointSize=(E=r.pointSize)!==null&&E!==void 0?E:defaultPbmParameters.pointSize,o.colorStyle=(b=r.colorStyle)!==null&&b!==void 0?b:defaultPbmParameters.colorStyle,o.pointShape=(T=r.pointShape)!==null&&T!==void 0?T:defaultPbmParameters.pointShape,o.pointScale=(_=r.pointScale)!==null&&_!==void 0?_:defaultPbmParameters.pointScale,o.pointBack=(R=r.pointBack)!==null&&R!==void 0?R:defaultPbmParameters.pointBack,o.pointMinPixel=(S=r.pointMinPixel)!==null&&S!==void 0?S:defaultPbmParameters.pointMinPixel,o.pointMaxPixel=(M=r.pointMaxPixel)!==null&&M!==void 0?M:defaultPbmParameters.pointMaxPixel,o.gradientTexture=(P=r.gradientTexture)!==null&&P!==void 0?P:defaultPbmParameters.gradientTexture,o.brightness=(H=r.brightness)!==null&&H!==void 0?H:defaultPbmParameters.brightness,o.colorSaturation=(w=r.colorSaturation)!==null&&w!==void 0?w:defaultPbmParameters.colorSaturation,o.colorBrightness=(C=r.colorBrightness)!==null&&C!==void 0?C:defaultPbmParameters.colorBrightness,o.customShaders=(L=r.customShaders)!==null&&L!==void 0?L:defaultPbmParameters.customShaders,o.customShaderHash="",o.customShaderUniforms={},o.customShaderDefines={},o.floor=0,o.transparent=!1,o}return t.prototype.onBeforeCompile=function(e,r){var o=this,s,u,l=this.customShaders.filter(function(y){return y.type.includes(o.shaderType)}),c=l.reduce(function(y,g){return y+g.vertex.mainBefore},""),f=l.reduce(function(y,g){return y+g.vertex.mainStart},""),d=l.reduce(function(y,g){return y+g.vertex.mainEnd},""),p=l.reduce(function(y,g){return y+g.fragment.mainBefore},""),v=l.reduce(function(y,g){return y+g.fragment.mainStart},""),A=l.reduce(function(y,g){return y+g.fragment.mainModelColor},""),h=l.reduce(function(y,g){return y+g.fragment.mainEnd},"");e.vertexShader=e.vertexShader.replace(/MAIN_BEFORE/g,c),e.fragmentShader=e.fragmentShader.replace(/MAIN_BEFORE/g,p),e.vertexShader=e.vertexShader.replace(/MAIN_START/g,f),e.fragmentShader=e.fragmentShader.replace(/MAIN_START/g,v),e.vertexShader=e.vertexShader.replace(/MAIN_END/g,d),e.fragmentShader=e.fragmentShader.replace(/MAIN_END/g,h),e.fragmentShader=e.fragmentShader.replace(/MAIN_MODEL_COLOR/g,A);var m=String((u=(s=this.clippers)===null||s===void 0?void 0:s.length)!==null&&u!==void 0?u:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,m),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,m),l.forEach(function(y){y.onBeforeCompile(e,r)})},t.prototype.refreshUniforms=function(e){var r,o,s=this.uniforms;s.diffuse&&s.diffuse.value.copy(this.color),s.opacity&&(s.opacity.value=this.opacity),s.color&&s.diffuse.value.copy(this.color),s.emissive&&s.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),s.map&&(s.map.value=this.map),s.alphaMap&&(s.alphaMap.value=this.alphaMap),s.specularMap&&(s.specularMap.value=this.specularMap),s.envMap&&(s.envMap.value=this.envMap,s.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,s.reflectivity.value=this.reflectivity,s.refractionRatio.value=this.refractionRatio,s.maxMipLevel.value=this.envMap&&(o=e==null?void 0:e.properties.get(this.envMap).__maxMipLevel)!==null&&o!==void 0?o:0),s.lightMap&&(s.lightMap.value=this.lightMap,s.lightMapIntensity.value=this.lightMapIntensity),s.aoMap&&(s.aoMap.value=this.aoMap,s.aoMapIntensity.value=this.aoMapIntensity),s.specular&&s.specular.value.copy(this.specular),s.shininess&&(s.shininess.value=Math.max(this.shininess,1e-4)),s.emissiveMap&&(s.emissiveMap.value=this.emissiveMap),s.bumpMap&&(s.bumpMap.value=this.bumpMap,s.bumpScale.value=this.bumpScale,this.side===THREE__namespace.BackSide&&(s.bumpScale.value*=-1)),s.normalMap&&(s.normalMap.value=this.normalMap,s.normalScale.value.copy(this.normalScale),this.side===THREE__namespace.BackSide&&s.normalScale.value.negate()),s.displacementMap&&(s.displacementMap.value=this.displacementMap,s.displacementScale.value=this.displacementScale,s.displacementBias.value=this.displacementBias);var u;this.map?u=this.map:this.specularMap?u=this.specularMap:this.displacementMap?u=this.displacementMap:this.normalMap?u=this.normalMap:this.bumpMap?u=this.bumpMap:this.alphaMap?u=this.alphaMap:this.emissiveMap&&(u=this.emissiveMap),u!==void 0&&(u.matrixAutoUpdate===!0&&u.updateMatrix(),s.uvTransform.value.copy(u.matrix));var l;this.aoMap?l=this.aoMap:this.lightMap&&(l=this.lightMap),l!==void 0&&(l.matrixAutoUpdate===!0&&l.updateMatrix(),s.uv2Transform.value.copy(l.matrix))},t.prototype.update=function(e,r,o){var s="".concat(o.id,":").concat(o.materialVersion);s!==this.syncModelVersion&&(Object.assign(this,o.getMaterial()),this.syncModelVersion=s);var u=this.customShaders.map(function(g){return g.getHash()}).join("");this.customShaderHash!==u&&(this.customShaderHash=u,this.needsUpdate=!0);for(var l=this.customShaders.reduce(function(g,E){return Object.assign(g,E.defines)},{}),c=Object.keys(this.customShaderDefines),f=0,d=c;f<d.length;f++){var p=d[f];delete this.defines[p]}this.customShaderDefines=l,Object.assign(this.defines,this.customShaderDefines);for(var v=this.customShaders.reduce(function(g,E){return Object.assign(g,E.uniforms)},{}),A=Object.keys(this.customShaderUniforms),h=0,m=A;h<m.length;h++){var y=m[h];delete this.uniforms[y]}this.customShaderUniforms=v,Object.assign(this.uniforms,this.customShaderUniforms),this.visible=!0,this.refreshUniforms(e),this.shaderType==="none"?(this.depthWrite=!1,this.transparent=!0):(this.transparent=!1,this.depthWrite=!0,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.transparent&&(this.depthWrite=!1),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1)),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(o.bounding.max),this.uniforms.modelBoundingMin.value.copy(o.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.shininess=e.shininess,this.customShaders=e.customShaders,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.progress=e.progress,this.transition=e.transition,this.opacity=e.opacity,this.floorStyle=e.floorStyle,this.colorStyle=e.colorStyle,this.constantColor=e.constantColor,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.floor=e.floor,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.refreshUniforms(),this},t.prototype.clone=function(){return new this.constructor(this.shaderType).copy(this)},t}(THREE__namespace.ShaderMaterial);const pointCloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("{vs|z-sy|n-sy||H0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@-nqwP|y|arz}rnr5rp@-p|y|9-sy|n-rz}rnr6\n----<<-将色温范围从-:>;=-到->;=-映射到实际的色温范围----sy|n-rz}-J-5rz}rnr-8->;=6-7-B===;=H-<<-范围从-=-到->====----<<-计算色温系数----sy|n-lsnp|9-tlsnp|9-olsnp|H----vs-5rz}-IJ-CC==;=6-\n--------lsnp|-J->;=H--------tlsnp|-J-=;@F==E>BDEDCF=>FC=DEA-7-y|t5rz}-<->==;=6-:-=;C@>EA>AA@DEEC?DAB=FEH--------olsnp|-J-rz}-IJ->F==;=-L-=;=-G-=;BA@?=CDEF>>=>FC=DEA@-7-y|t5rz}-<->==;=-:->=;=6-:->;>FC?BA=EF>AH----\f-ryr-\n--------lsnp|-J->;?F?F@C>EC=C?DAB=FE=A-7-}|5rz}-<->==;=-:-C=;=9-:=;>@@?=ADBF?6H--------tlsnp|-J->;>?FEF=EC=EFB?FA>>DCB-7-}|5rz}-<->==;=-:-C=;=9-:=;=DBB>AEAF?6H--------olsnp|-J->;=H----\f----<<-调整颜色----rp@-nqwrqP|y|H----nqwrqP|y|;-J-pynz}5p|y|;-7-lsnp|9-=;=9->;=6H----nqwrqP|y|;t-J-pynz}5p|y|;t-7-tlsnp|9-=;=9->;=6H----nqwrqP|y|;o-J-pynz}5p|y|;o-7-olsnp|9-=;=9->;=6H----r{-nqwrqP|y|H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-点大小剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;\x07-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v r-K-@;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--rpA-sv{nyP|y|-J-_TOa|Yv{rn5rpA5P|y|9-|}npv\b66H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|;\x07\b -J-sv{nyP|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--tylSntP|y|-J-sv{nyP|y|H--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\bH--<<-JJJJJJJJJJJJJJ--tylSntP|y|;n-J-tylSntP|y|;n-7-z|qryNy}unH--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs--ZNV[lR[Q\f"),pointCloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Iortv{lrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--rpA-z]|vv|{-J-vrZnv\x07-7-d|yq]|vv|{H--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----rny]|v{`v r-7J-tr|zrvpR|H----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--]|v{`v r-J-tyl]|v{`v rH--P|y|-J-p|y|H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----P|y|-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f");var pbmUniforms=Object.assign({pointScale:new THREE__namespace.Uniform(1),pointMinPixel:new THREE__namespace.Uniform(1),pointMaxPixel:new THREE__namespace.Uniform(1),opacity:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),modelAlpha:new THREE__namespace.Uniform(0),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(new THREE__namespace.Vector3),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.fog)),PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,f,d,p,v,A,h,m,y,g,E,b,T,_,R,S,M,P,H,w,C=n.call(this,{vertexShader:pointCloudVertexShader,fragmentShader:pointCloudFragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(pbmUniforms),lights:!1,clipping:!0,defines:{USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_BLACK_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1}})||this,L;return C.customShaderHash="",C.customShaderUniforms={},C.customShaderDefines={},Object.defineProperties(C,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(I){this.uniforms.constantColor.value=I}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(I){this.uniforms.opacity.value=I}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(I){this.uniforms.modelAlpha.value=I}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(I){this.uniforms.shownFloorIndex.value=I}},clippers:{get:function(){return L},set:function(I){L!==I&&(L=I,this.uniforms.clippers.value=(L||[]).map(function(F){var k=typeof F.floorIndex=="number"?F.floorIndex:-1,N=new THREE__namespace.Matrix4().getInverse(F.clippingBoxMatrix);return{matrixInverse:N,floorIndex:k}}),this.needsUpdate=!0)}},colorStyle:{get:function(){return this.defines.USE_COLOR_CONSTANT?"CONSTANT":this.defines.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(I){var F=I==="CONSTANT",k=I==="ALTITUDE";this.defines.USE_COLOR_CONSTANT!==F&&(this.defines.USE_COLOR_CONSTANT=F,this.needsUpdate=!0),this.defines.USE_COLOR_ALTITUDE!==k&&(this.defines.USE_COLOR_ALTITUDE=k,this.needsUpdate=!0)}},pointSize:{get:function(){return this.defines.USE_POINT_SIZE_GEOMETRIC===!0?"GEOMETRIC":this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(I){var F=I==="ATTENUATION",k=I==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==k&&(this.defines.USE_POINT_SIZE_GEOMETRIC=k,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==F&&(this.defines.USE_POINT_SIZE_ATTENUATION=F,this.needsUpdate=!0)}},pointShape:{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(I){var F=I==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==F&&(this.defines.USE_POINT_SHAPE_CIRCLE=F,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(I){this.uniforms.pointScale.value=I}},pointBack:{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(I){var F=I==="HIDDEN",k=I==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==F&&(this.defines.USE_POINT_BACK_HIDDEN=F,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==k&&(this.defines.USE_POINT_BACK_DARK=k,this.needsUpdate=!0)}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(I){this.uniforms.pointMinPixel.value=I}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(I){this.uniforms.pointMaxPixel.value=I}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(I){I!==this.defines.USE_EDL&&(this.defines.USE_EDL=I,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(I){I!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=I,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(I){I!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=I,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(I){this.uniforms.gradientTexture.value=I}},floor:{get:function(){return this.uniforms.floor.value},set:function(I){this.uniforms.floor.value=I}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(I){this.uniforms.brightness.value=I}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(I){this.uniforms.colorSaturation.value=I}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(I){this.uniforms.colorBrightness.value=I}}}),C.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,C.pano1=(o=e.pano1)!==null&&o!==void 0?o:defaultPbmParameters.pano1,C.modelAlpha=(s=e.modelAlpha)!==null&&s!==void 0?s:defaultPbmParameters.modelAlpha,C.progress=(u=e.progress)!==null&&u!==void 0?u:defaultPbmParameters.progress,C.transition=(l=e.transition)!==null&&l!==void 0?l:defaultPbmParameters.transition,C.colorStyle=(c=e.colorStyle)!==null&&c!==void 0?c:defaultPbmParameters.colorStyle,C.constantColor=(f=e.constantColor)!==null&&f!==void 0?f:defaultPbmParameters.constantColor,C.opacity=(d=e.opacity)!==null&&d!==void 0?d:defaultPbmParameters.opacity,C.floorStyle=(p=e.floorStyle)!==null&&p!==void 0?p:defaultPbmParameters.floorStyle,C.shownFloorIndex=(v=e.shownFloorIndex)!==null&&v!==void 0?v:defaultPbmParameters.shownFloorIndex,C.clippers=(A=e.clippers)!==null&&A!==void 0?A:defaultPbmParameters.clippers,C.useEDL=(h=e.useEDL)!==null&&h!==void 0?h:defaultPbmParameters.useEDL,C.useHQWeight=(m=e.useHQWeight)!==null&&m!==void 0?m:defaultPbmParameters.useHQWeight,C.useHQDepth=(y=e.useHQDepth)!==null&&y!==void 0?y:defaultPbmParameters.useHQDepth,C.pointShape=(g=e.pointShape)!==null&&g!==void 0?g:defaultPbmParameters.pointShape,C.pointSize=(E=e.pointSize)!==null&&E!==void 0?E:defaultPbmParameters.pointSize,C.pointScale=(b=e.pointScale)!==null&&b!==void 0?b:defaultPbmParameters.pointScale,C.pointBack=(T=e.pointBack)!==null&&T!==void 0?T:defaultPbmParameters.pointBack,C.pointMinPixel=(_=e.pointMinPixel)!==null&&_!==void 0?_:defaultPbmParameters.pointMinPixel,C.pointMaxPixel=(R=e.pointMaxPixel)!==null&&R!==void 0?R:defaultPbmParameters.pointMaxPixel,C.gradientTexture=(S=e.gradientTexture)!==null&&S!==void 0?S:defaultPbmParameters.gradientTexture,C.brightness=(M=e.brightness)!==null&&M!==void 0?M:defaultPbmParameters.brightness,C.colorSaturation=(P=e.colorSaturation)!==null&&P!==void 0?P:defaultPbmParameters.colorSaturation,C.colorBrightness=(H=e.colorBrightness)!==null&&H!==void 0?H:defaultPbmParameters.colorBrightness,C.customShaders=(w=e.customShaders)!==null&&w!==void 0?w:defaultPbmParameters.customShaders,C.customShaderHash="",C.floor=0,C.transparent=!0,C}return t.prototype.onBeforeCompile=function(e,r){var o,s,u=this.customShaders.filter(function(m){return m.type.includes("pointcloud")}),l=u.reduce(function(m,y){return m+y.vertex.mainBefore},""),c=u.reduce(function(m,y){return m+y.vertex.mainStart},""),f=u.reduce(function(m,y){return m+y.vertex.mainEnd},""),d=u.reduce(function(m,y){return m+y.fragment.mainBefore},""),p=u.reduce(function(m,y){return m+y.fragment.mainStart},""),v=u.reduce(function(m,y){return m+y.fragment.mainModelColor},""),A=u.reduce(function(m,y){return m+y.fragment.mainEnd},"");e.vertexShader=e.vertexShader.replace(/MAIN_BEFORE/g,l),e.fragmentShader=e.fragmentShader.replace(/MAIN_BEFORE/g,d),e.vertexShader=e.vertexShader.replace(/MAIN_START/g,c),e.fragmentShader=e.fragmentShader.replace(/MAIN_START/g,p),e.vertexShader=e.vertexShader.replace(/MAIN_END/g,f),e.fragmentShader=e.fragmentShader.replace(/MAIN_END/g,A),e.fragmentShader=e.fragmentShader.replace(/MAIN_MODEL_COLOR/g,v);var h=String((s=(o=this.clippers)===null||o===void 0?void 0:o.length)!==null&&s!==void 0?s:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,h),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,h),u.forEach(function(m){m.onBeforeCompile(e,r)})},t.prototype.update=function(e,r,o){var s="".concat(o.id,":").concat(o.materialVersion);s!==this.syncModelVersion&&(Object.assign(this,o.getMaterial()),this.syncModelVersion=s);var u=this.customShaders.map(function(g){return g.getHash()}).join("");this.customShaderHash!==u&&(this.customShaderHash=u,this.needsUpdate=!0);for(var l=this.customShaders.reduce(function(g,E){return Object.assign(g,E.defines)},{}),c=Object.keys(this.customShaderDefines),f=0,d=c;f<d.length;f++){var p=d[f];delete this.defines[p]}this.customShaderDefines=l,Object.assign(this.defines,this.customShaderDefines);for(var v=this.customShaders.reduce(function(g,E){return Object.assign(g,E.uniforms)},{}),A=Object.keys(this.customShaderUniforms),h=0,m=A;h<m.length;h++){var y=m[h];delete this.uniforms[y]}this.customShaderUniforms=v,Object.assign(this.uniforms,this.customShaderUniforms),this.visible=!0,this.transparent=!1,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.modelAlpha<1&&(this.transparent=!0),this.opacity<1&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.depthWrite=!0,this.depthTest=!0,this.useEDL&&(this.transparent=!1),this.useHQWeight?(this.depthWrite=!1,this.blending=THREE__namespace.CustomBlending,this.blendSrc=THREE__namespace.SrcAlphaFactor,this.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,this.blendDst=THREE__namespace.OneFactor,this.blendDstAlpha=THREE__namespace.OneFactor):(this.blending=THREE__namespace.NormalBlending,this.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,this.blendEquation=THREE__namespace.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(o.bounding.max),this.uniforms.modelBoundingMin.value.copy(o.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,this),this.customShaders=e.customShaders,this.pano0=e.pano0,this.pano1=e.pano1,this.progress=e.progress,this.transition=e.transition,this.floorStyle=e.floorStyle,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.constantColor=e.constantColor,this.modelAlpha=e.modelAlpha,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.colorStyle=e.colorStyle,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this},t}(THREE__namespace.ShaderMaterial),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,o=r===void 0?!0:r,s=e.premultipliedAlpha,u=s===void 0?!0:s,l=e.stencil,c=l===void 0?!0:l,f=e.backgroundColor,d=f===void 0?1579548:f,p=e.backgroundAlpha,v=p===void 0?1:p,A=e.pixelRatio,h=A===void 0?1:A,m=e.antialias,y=m===void 0?!1:m,g=e.webgl2,E=e.logarithmicDepthBuffer,b=e.precision,T=e.powerPreference,_=this,R={antialias:y,alpha:!0,depth:!0,preserveDrawingBuffer:o,stencil:c,premultipliedAlpha:u,powerPreference:T},S={logarithmicDepthBuffer:E,precision:b};if(g){var M=document.createElement("canvas"),P=M.getContext("webgl2",R);P?_=n.call(this,__assign(__assign(__assign({},R),S),{antialias:!0,canvas:M,context:P}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),_=n.call(this,__assign(__assign({},R),S))||this)}else _=n.call(this,__assign(__assign({},R),S))||this;return _.setPixelRatio(h),_.setClearColor(d,v),_.outputEncoding=THREE__namespace.sRGBEncoding,_.autoClear=!0,_}return t}(THREE__namespace.WebGLRenderer),Scene=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t}(THREE__namespace.Scene);function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,o=-Math.sin(n.latitude),s=-Math.cos(n.longitude)*e;return t?t.set(r,o,s):new THREE__namespace.Vector3(r,o,s)}var DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=2e3,TAU$2=Math.PI*2,PI_2=Math.PI/2;function formatRad$1(n){return n>0&&n<=TAU$2?n:(n%TAU$2+TAU$2)%TAU$2}function matrixLerp(n,t,e,r){e=Math.pow(e,4);for(var o=0;o<16;o++)r.elements[o]=n.elements[o]+(t.elements[o]-n.elements[o])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,o,s,u,l,c){r===void 0&&(r=DEFAULT_ASPECT),o===void 0&&(o=DEFAULT_NEAR),s===void 0&&(s=DEFAULT_FAR),u===void 0&&(u=new THREE__namespace.Vector2),l===void 0&&(l=new THREE__namespace.Vector2(512,512)),c===void 0&&(c=1);var f=n.call(this)||this;f.fov=e,f.aspect=r,f.near=o,f.far=s,f.perspToOrtho=u,f.resolution=l,f.pixelRatio=c,f.time=0,f.needsRender=!0,f.refineModel=!0,f.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},f.computePose(),f.perspectiveCamera=new THREE__namespace.PerspectiveCamera(f.fov,f.aspect,.001,f.far);var d=Math.max(f.orthoDistance,.01)*Math.tan(.5*f.fov/180*Math.PI),p=-.5*f.aspect*2*d;return f.orthographicCamera=new THREE__namespace.OrthographicCamera(p,-p,d,-d,.001,f.far),f.computeProjectionMatrix(),f.lastValues={position:f.position.clone(),quaternion:f.quaternion.clone(),scale:f.scale.clone(),fov:f.fov,aspect:f.aspect,near:f.near,far:f.far,orthoDistance:f.orthoDistance,perspToOrtho:f.perspToOrtho.clone()},f.type=f.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",f.autoNearFar=!0,f}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return coordinatesToVector(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements;return this.pose.latitude=Math.asin(clamp$1(r[9],-1,1)),Math.abs(r[9])<.9999999?this.pose.longitude=formatRad$1(Math.atan2(r[8],r[10])):this.pose.longitude=formatRad$1(Math.atan2(-r[2],r[0])),this.pose.fov=this.fov,this.pose.distance=e,this.pose.offset=new THREE__namespace.Vector3(-r[8],-r[9],-r[10]).setLength(this.pose.distance).add(this.position),this},t.prototype.setFromPose=function(e){var r,o,s,u,l,c=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),f=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(o=e.latitude)!==null&&o!==void 0?o:this.pose.latitude)),d=(s=e.fov)!==null&&s!==void 0?s:this.pose.fov,p=(u=e.distance)!==null&&u!==void 0?u:this.pose.distance,v=(l=e.offset)!==null&&l!==void 0?l:this.pose.offset,A=coordinatesToVector({longitude:c,latitude:f}).normalize();return this.position.set(0,0,0),this.lookAt(A),this.position.add(v).sub(A.clone().setLength(p)),this.fov!==d&&(this.fov=d,this.updateProjectionMatrix()),this.updateMatrixWorld(!0),this.pose.longitude=c,this.pose.latitude=f,this.pose.fov=d,this.pose.distance=p,this.pose.offset.copy(v),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){matrixLerp(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,o,s,u,l){this.perspectiveCamera.setViewOffset(e,r,o,s,u,l),this.orthographicCamera.setViewOffset(e,r,o,s,u,l),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e){this.time=e;var r=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),r=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.orthoDistance!==this.orthoDistance||this.lastValues.aspect!==this.aspect){var o=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),s=-.5*this.aspect*2*o;this.orthographicCamera.left=s,this.orthographicCamera.right=-s,this.orthographicCamera.top=o,this.orthographicCamera.bottom=-o,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,this.orthographicCamera.updateProjectionMatrix(),r=!0}r&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.orthoDistance=this.orthoDistance,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(now()),this},t}(THREE__namespace.Camera),VolumePlaneIntersect;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(VolumePlaneIntersect||(VolumePlaneIntersect={}));var EPSILON$2=1e-6,scratchVector=new THREE__namespace.Vector3,scratchMatrix4$4=new THREE__namespace.Matrix4,scratchXAxis=new THREE__namespace.Vector3,scratchYAxis=new THREE__namespace.Vector3,scratchZAxis=new THREE__namespace.Vector3,scratchSize=new THREE__namespace.Vector3,scratchBox3=new THREE__namespace.Box3,scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4Inverse$1=new THREE__namespace.Matrix4,scratchRay$1=new THREE__namespace.Ray,scratchObject3D=new THREE__namespace.Object3D,scratchFrustum=new THREE__namespace.Frustum;function quaternionFromMatrix3(n,t){var e=n.elements;return t.setFromRotationMatrix(scratchMatrix4$4.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var CullingVolume=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return scratchMatrix4$4.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$4),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var o=r[e];o.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=VolumePlaneIntersect.Inside,r=0,o=this.planes;r<o.length;r++){var s=o[r],u=t.intersectPlane(s);switch(u){case VolumePlaneIntersect.Outside:return VolumePlaneIntersect.Outside;case VolumePlaneIntersect.Intersecting:e=VolumePlaneIntersect.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,o=Math.min(32,this.planes.length),s=0;s<o;++s){var u=1<<s;if(e&u){var l=this.planes[s],c=t.intersectPlane(l);if(c===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;c===VolumePlaneIntersect.Intersecting&&(r|=u)}}return r},n}(),BoxBoundingVolume=function(){function n(){this.type="box",this.center=new THREE__namespace.Vector3,this.halfSize=new THREE__namespace.Vector3,this.rotation=new THREE__namespace.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],o=e[4],s=e[5],u=e[6],l=e[7],c=e[8],f=e[9],d=e[10],p=e[11],v=Math.max(Math.sqrt(r*r+o*o+s*s),.001),A=Math.max(Math.sqrt(u*u+l*l+c*c),.001),h=Math.max(Math.sqrt(f*f+d*d+p*p),.001);this.halfSize.set(v,A,h);var m=this.halfSize.toArray().reduce(function(y,g){return y+g},0);return(isNaN(m)||m<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/v,o/v,s/v,u/A,l/A,c/A,f/h,d/h,p/h]),isNaN(this.rotation.toArray().reduce(function(y,g){return y+g},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),{box:__spreadArray(__spreadArray(__spreadArray(__spreadArray([],this.center.toArray(),!0),scratchXAxis.multiplyScalar(this.halfSize.x).toArray(),!0),scratchYAxis.multiplyScalar(this.halfSize.y).toArray(),!0),scratchZAxis.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return scratchObject3D.position.copy(this.center),quaternionFromMatrix3(this.rotation,scratchObject3D.quaternion),scratchObject3D.scale.copy(this.halfSize),scratchObject3D.matrix.compose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),scratchObject3D.matrix.premultiply(t),scratchObject3D.matrix.decompose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),this.center.copy(scratchObject3D.position),this.rotation.setFromMatrix4(scratchMatrix4$4.makeRotationFromQuaternion(scratchObject3D.quaternion)),this.halfSize.copy(scratchObject3D.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,o=t.y-this.center.y,s=t.z-this.center.z,u=0,l;return l=r*e[0]+o*e[1]+s*e[2],l<0&&(l=-l),l-=this.halfSize.x,l>0&&(u+=l*l),l=r*e[3]+o*e[4]+s*e[5],l<0&&(l=-l),l-=this.halfSize.y,l>0&&(u+=l*l),l=r*e[6]+o*e[7]+s*e[8],l<0&&(l=-l),l-=this.halfSize.z,l>0&&(u+=l*l),u},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new THREE__namespace.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchXAxis.setLength(this.halfSize.x),scratchYAxis.setLength(this.halfSize.y),scratchZAxis.setLength(this.halfSize.z),t.expandByPoint(scratchVector.copy(this.center).add(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchZAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchZAxis)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);scratchVector.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),scratchVector.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),scratchVector.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),scratchVector.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),scratchVector.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),scratchVector.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),scratchVector.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),scratchVector.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new THREE__namespace.BufferGeometry;return r.setIndex(new THREE__namespace.BufferAttribute(t,1)),r.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,o=this.rotation.elements,s=this.halfSize,u=r.x,l=r.y,c=r.z,f=Math.abs(u*o[0]*s.x+l*o[1]*s.x+c*o[2]*s.x)+Math.abs(u*o[3]*s.y+l*o[4]*s.y+c*o[5]*s.y)+Math.abs(u*o[6]*s.z+l*o[7]*s.z+c*o[8]*s.z),d=r.dot(e)+t.constant;return d<=-f?VolumePlaneIntersect.Outside:d>=f?VolumePlaneIntersect.Inside:VolumePlaneIntersect.Intersecting},n.prototype.intersectRay=function(t,e){if(scratchSize.copy(this.halfSize).multiplyScalar(2),scratchBox3.setFromCenterAndSize(scratchVector.set(0,0,0),scratchSize),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$4.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$4.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$4),scratchRay$1.copy(t).applyMatrix4(scratchMatrix4Inverse$1),scratchBox3.containsPoint(scratchRay$1.origin))return!0;var r=scratchRay$1.intersectBox(scratchBox3,scratchVector);return r?e!==void 0?r.applyMatrix4(scratchMatrix4$4).distanceTo(t.origin)<e:!0:!1},n}(),SphereBoundingVolume=function(){function n(){this.type="sphere",this.center=new THREE__namespace.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],EPSILON$2),this},n.prototype.toJson=function(){return{sphere:__spreadArray(__spreadArray([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,scratchSize.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+Math.sin(o)*this.radius,e[r*6+2]=this.center.z+0,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+Math.sin(o)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(o)*this.radius,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(o)*this.radius}var s=new THREE__namespace.BufferGeometry;return s.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),s.computeBoundingBox(),s.computeBoundingSphere(),s},n.prototype.applyMatrix4=function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,o=t.normal,s=o.dot(e)+t.constant;return s<-r?VolumePlaneIntersect.Outside:s<r?VolumePlaneIntersect.Intersecting:VolumePlaneIntersect.Inside},n.prototype.intersectRay=function(t,e){if(scratchSphere$1.set(this.center,this.radius),scratchSphere$1.containsPoint(t.origin))return!0;var r=t.intersectSphere(scratchSphere$1,scratchVector);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),RegionBoundingVolume=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function isBoundingVolume(n){return n instanceof BoxBoundingVolume||n instanceof SphereBoundingVolume||n instanceof RegionBoundingVolume}function makeBoundingVolume(n){if("box"in n)return new BoxBoundingVolume().fromJson(n);if("sphere"in n)return new SphereBoundingVolume().fromJson(n);if("region"in n)return new RegionBoundingVolume().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var debugMaterials=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new THREE__namespace.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),debugBoxGeometry=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);scratchVector.set(1,1,1).toArray(t,0),scratchVector.set(-1,1,1).toArray(t,3),scratchVector.set(-1,-1,1).toArray(t,6),scratchVector.set(1,-1,1).toArray(t,9),scratchVector.set(1,1,-1).toArray(t,12),scratchVector.set(-1,1,-1).toArray(t,15),scratchVector.set(-1,-1,-1).toArray(t,18),scratchVector.set(1,-1,-1).toArray(t,21);var e=new THREE__namespace.BufferGeometry;return e.setIndex(new THREE__namespace.BufferAttribute(n,1)),e.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),debugSphereGeometry=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o}();function createDebugBoundingMesh(n,t){if(n instanceof BoxBoundingVolume){var e=new THREE__namespace.LineSegments(debugBoxGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),quaternionFromMatrix3(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof SphereBoundingVolume){var e=new THREE__namespace.LineSegments(debugSphereGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var scratchVector3$4=new THREE__namespace.Vector3,Tile=function(){function n(t,e,r,o){var s=this,u,l,c,f;this.parent=null,this.contentParent=null,this.floor=0,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,distanceToCamera:0,centerZDepth:0,centerScreenY:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1,shouldRefine:!1,stackLength:0,finalResolution:!0,selectionDepth:0,shouldSelect:!1,lastSelect:!1,ancestorWithContent:null,ancestorWithContentAvailable:null},this.parent=o!=null?o:null,this.contentParent=o?o.hasRenderContent?o:o.contentParent:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(u=e.refine)!==null&&u!==void 0?u:this.parent?this.parent.refine:"REPLACE",this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(c=(l=this.parent)===null||l===void 0?void 0:l.geometricError)!==null&&c!==void 0?c:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=makeBoundingVolume(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=makeBoundingVolume(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=makeBoundingVolume(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=(f=e.extras)!==null&&f!==void 0?f:{},typeof this.extras.floor!="number"&&o&&typeof o.extras.floor=="number"&&(this.extras.floor=o.extras.floor),typeof this.extras.floor=="number"&&(this.floor=this.extras.floor,this.tileset.floorLength=Math.max(this.tileset.floorLength,this.floor+1)),this.boundingVolume&&(this.boundingVolumeDebugObject=createDebugBoundingMesh(this.boundingVolume,this.levelOfContent)),e.children?this.children=e.children.map(function(d,p){return new n("".concat(s.id,".").concat(p),d,r,s)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var o=r[e];o.traverse(t)}},n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;if(t.camera.type==="OrthographicCamera"){var o=new THREE__namespace.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(o)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var s=r.getCenter(scratchVector3$4).sub(t.camera.position);this.state.centerZDepth=t.camera.direction.dot(s),this.state.centerScreenY=t.camera.up.dot(s);var u=this.parent?this.parent.state.visibilityPlaneMask:CullingVolume.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,u),this.state.visible=this.state.visibilityPlaneMask!==CullingVolume.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.centerZDepth=0,this.state.visibilityPlaneMask=CullingVolume.MASK_INDETERMINATE,this.state.visible=!0;if(this.levelOfContent<=t.minLevelOfDetail&&(this.state.visible=!0),this.viewerRequestVolume){var l=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=l.distanceSquaredToPoint(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),n.prototype.getScreenSpaceError=function(t,e,r){var o=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),s=this.parent?this.parent.geometricError:this.tileset.geometricError,u=o*(r?s:this.geometricError);if(u===0)return 0;var l=t.height,c=t.camera.type==="OrthographicCamera"?2:t.sseDenominator,f=Math.max(e,.001),d=u*l/(f*c);return d},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1)return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),o=r?e.state.screenSpaceError:this.state.screenSpaceError,s=this.tileset.root?this.tileset.root.state.screenSpaceError:0,u=Math.max(s-o,0);return u},n}(),priorityCache=new Map;function getPriority(n,t){if(t&&t.has(n))return t.get(n);var e=n.refine==="ADD"||n.tileset.skipLevelOfDetail,r=n.parent,o=r&&(!e||n.state.screenSpaceError===0),s=o?r.state.screenSpaceError:n.state.screenSpaceError,u=n.tileset.root?n.tileset.root.state.screenSpaceError:0,l=Math.max(u-s,0);return t&&t.set(n,l),l}var TileRequestScheduler=function(){function n(t,e){this.tileset=t,this.options=e,this.activeRequests=0,this.requestQueue=[]}return n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];this.options.onTileSkip&&this.options.onTileSkip(r.tile)}this.requestQueue.length=0},n.prototype.update=function(t,e,r){for(var o=this,s=r.time,u=this.requestQueue,l=new Set(t),c=0;c<u.length;c++){var f=u[c];if(l.has(f.tile)){l.delete(f.tile);continue}f.status==="WAITING"&&(u.splice(c,1),c--,this.options.onTileSkip&&this.options.onTileSkip(f.tile))}l.size>0&&(l.forEach(function(g){u.push({tile:g,status:"WAITING",time:s,error:null})}),l.clear());for(var d=this.tileset.maxRequests,c=0;c<u.length&&d>0;c++){var f=u[c];if(f.status==="DONE")f.error!==null?this.options.onTileError&&this.options.onTileError(f.tile,f.error):(d--,f.tile.content&&(f.tile.content.loadState="READY"),this.options.onTileLoad&&this.options.onTileLoad(f.tile)),u.splice(c,1),c--;else if(f.status==="PENDING"&&s-f.time<1e3)break}switch(priorityCache.clear(),e){case"SCREEN_SPACE_ERROR":{u.sort(function(g,E){if(g.tile.state.requestedFrameNumber!==E.tile.state.requestedFrameNumber)return E.tile.state.requestedFrameNumber-g.tile.state.requestedFrameNumber;if(g.tile.state.requestedFrameNumber===r.frameNumber){var b=getPriority(g.tile,priorityCache),T=getPriority(E.tile,priorityCache);return b-T}else return g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera});break}case"SCREEN_VERTICAL":{u.sort(function(g,E){return g.tile.state.requestedFrameNumber!==E.tile.state.requestedFrameNumber?E.tile.state.requestedFrameNumber-g.tile.state.requestedFrameNumber:g.tile.state.requestedFrameNumber===r.frameNumber?g.tile.state.centerScreenY!==E.tile.state.centerScreenY?g.tile.state.centerScreenY-E.tile.state.centerScreenY:g.tile.state.centerZDepth!==E.tile.state.centerZDepth?g.tile.state.centerZDepth-E.tile.state.centerZDepth:g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera:g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera});break}case"SCREEN_LEVEL_VERTICAL":{u.sort(function(g,E){return g.tile.state.requestedFrameNumber!==E.tile.state.requestedFrameNumber?E.tile.state.requestedFrameNumber-g.tile.state.requestedFrameNumber:g.tile.state.requestedFrameNumber===r.frameNumber?g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.centerScreenY!==E.tile.state.centerScreenY?g.tile.state.centerScreenY-E.tile.state.centerScreenY:g.tile.state.centerZDepth!==E.tile.state.centerZDepth?g.tile.state.centerZDepth-E.tile.state.centerZDepth:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera:g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera});break}}if(d=Math.max(this.tileset.maxRequests-this.activeRequests,0),!this.tileset.skipLevelOfDetail)for(var p=0,v=u.length,c=0;c<v;c++){var A=u[c].tile;if(A.hasTilesetContent||A.contentParent===null||A.contentParent.state.selectedFrameNumber===this.tileset.frameNumber){var h=u.splice(c,1);u.splice.apply(u,__spreadArray([p++,0],h,!1))}}for(var m=function(g){var E=u[g];E.status==="WAITING"&&(d--,E.status="PENDING",E.time=s,y.activeRequests++,y.tileset.options.tileLoader(E.tile).catch(function(b){E.error=b}).then(function(){E.status="DONE",E.tile.content&&E.tile.content.loadState==="READY"&&(E.tile.content.loadState="LOADING"),o.activeRequests--}))},y=this,c=0;c<u.length&&d>0;c++)m(c)},n}(),CacheNode=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),CacheNodeList=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new CacheNode(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),TileCache=function(){function n(t){t===void 0&&(t={}),this.options=t,this.cacheNodeMap=new Map,this.list=new CacheNodeList,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touchTile=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.loadTile=function(t){if(!this.cacheNodeMap.has(t)){var e=this.list.add(t);this.cacheNodeMap.set(t,e),this.options.onTileLoad&&this.options.onTileLoad(t)}},n.prototype.unloadTile=function(t){var e=this.cacheNodeMap.get(t);e&&(this.list.remove(e),this.cacheNodeMap.delete(t),this.options.onTileUnload&&this.options.onTileUnload(t))},n.prototype.unloadTiles=function(t){for(var e=this.list.head;e!==this.sentinel&&t();){var r=e.item;e=e.next,this.unloadTile(r)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var o=r[e];o.item!=="sentinel"&&t.push(o.item)}return t},n}(),ManagedArray=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),this.array[this._length]=void 0,t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n.prototype.peek=function(){return this.array[this._length-1]},n}(),TilesetBaseTraverser=function(){function n(t){this.tileset=t,this._canSelectTile=!0,this._loadAllTilesTraversalStack=new ManagedArray,this.root=null}return n.prototype.traverse=function(t,e,r){this.root=t,this.reset()},n.prototype.reset=function(){this._loadAllTilesTraversalStack.reset(),this.tileset.hasMixedContent=!1,this.tileset.needsRefinedTiles.clear(),this.tileset.requestedTiles.length=0,this.tileset.selectedTiles.length=0},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e),t.state.shouldSelect=!1,t.state.finalResolution=!0},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&t.state.selectedFrameNumber<e.frameNumber&&(t.state.selectedFrameNumber=e.frameNumber,this.tileset.selectedTiles.push(t),this.tileset.needsRefinedTiles.add(t))},n.prototype.loadTile=function(t,e){t.state.requestedFrameNumber<e.frameNumber&&(t.state.requestedFrameNumber=e.frameNumber,t.content&&(t.content.loadState==="FAILED"&&e.time-t.content.loadStateUpdateTime>t.content.loadfailRetryDelay&&(t.content.loadState="UNLOADED",t.content.loadStateUpdateTime=e.time),t.content.loadState==="UNLOADED"&&this.tileset.requestedTiles.push(t))),this.tileset.needsRefinedTiles.add(t)},n.prototype.touchTile=function(t,e){this.tileset.cache.touchTile(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e){return!t.state.inRequestVolume||t.levelOfContent>=e.maxLevelOfDetail||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.hasTilesetContent?!0:t.state.screenSpaceError>this.tileset.maxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var o=t.children[0];this.updateTileVisibility(o,e),t.state.visible=o.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}var s=t.refine==="REPLACE";if(s&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,o=t.children,s=0,u=o;s<u.length;s++){var l=u[s];l.updateState(e),r=r||l.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail?!1:r.levelOfContent>e.maxLevelOfDetail?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<this.tileset.maxScreenSpaceError},n.prototype.sortTilesByDistanceToCamera=function(t){t.sort(function(e,r){return r.state.distanceToCamera===0&&e.state.distanceToCamera===0?r.state.centerZDepth-e.state.centerZDepth:r.state.distanceToCamera-e.state.distanceToCamera})},n.prototype.loadAllTiles=function(t,e){var r=this._loadAllTilesTraversalStack;for(r.push(t);r.length>0;){var o=r.pop();o.content&&o.content.loadState==="UNLOADED"&&o.state.requestedFrameNumber<e.frameNumber&&this.tileset.requestedTiles.push(o),this.touchTile(o,e);for(var s=0,u=o.children;s<u.length;s++){var l=u[s];r.push(l)}}},n}(),TilesetNormalTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r._emptyTraversalStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),this._emptyTraversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._emptyTraversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop(),u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var f=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)):(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var f=e.refine==="REPLACE"&&e.hasRenderContent,d=!1,p=!0,v=0,A=s;v<A.length;v++){var c=A[v];if(c.levelOfContent<=r.minLevelOfDetail||c.state.visible&&c.state.inRequestVolume?(o.find(c)&&o.delete(c),o.push(c),d===!1&&(d=!0)):(f||this.tileset.loadSiblings)&&(this.loadTile(c,r),this.touchTile(c,r)),f){var h=void 0;c.state.inRequestVolume?c.hasRenderContent?h=c.contentAvailable:h=this.executeEmptyTraversal(c,r):h=!1,p=p&&h}}return d||(p=!1),p},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var o=!0,s=this._emptyTraversalStack;for(s.push(e);s.length>0&&o;){var u=s.pop(),l=!u.hasRenderContent&&this.canTraverse(u,r);if(!l&&!u.contentAvailable&&(o=!1),this.updateTile(u,r),u.state.visible||(this.loadTile(u,r),this.touchTile(u,r)),l)for(var c=u.children,f=0,d=c;f<d.length;f++){var p=d[f];s.find(p)&&s.delete(p),s.push(p)}}return o},t}(TilesetBaseTraverser),TilesetSkipTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r.baseScreenSpaceError=1024,r.skipScreenSpaceErrorFactor=16,r.skipLevels=1,r._traversalStack=new ManagedArray,r._descendantTraversalStack=new ManagedArray,r._selectionTraversalStack=new ManagedArray,r._selectionTraversalancestorStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l),this.traverseAndSelect(e,l))}this.tileset.hasMixedContent=!1,this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r),this.traverseAndSelect(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop();this.updateTileAncestorContentLinks(s,r);var u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var f=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.inBaseTraversal(s,this.baseScreenSpaceError)?(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)):f?(this.loadTile(s,r),this.selectDesiredTile(s,r)):this.reachedSkippingThreshold(s)&&this.loadTile(s,r)):(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var f=!1,d=0,p=s;d<p.length;d++){var c=p[d];c.levelOfContent<=r.minLevelOfDetail||c.state.visible&&c.state.inRequestVolume?(o.push(c),f===!1&&(f=!0)):this.tileset.loadSiblings&&(this.loadTile(c,r),this.touchTile(c,r))}return f},t.prototype.selectDesiredTile=function(e,r){var o=e.contentAvailable?e:e.state.ancestorWithContentAvailable;o&&(o.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var o=this._descendantTraversalStack;for(o.push(e);o.length>0;)for(var s=o.pop(),u=s.children,l=0,c=u;l<c.length;l++){var f=c[l];f.state.visible&&(f.contentAvailable?(this.updateTile(f,r),this.touchTile(f,r),this.selectTile(f,r)):o.push(f))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,o=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return o},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var o=e.parent;if(o){var s=!(o.hasRenderContent&&o.hasUnloadedContent)||o.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=s?o:o.state.ancestorWithContent,e.state.ancestorWithContentAvailable=o.contentAvailable?o:o.state.ancestorWithContentAvailable}},t.prototype.inBaseTraversal=function(e,r){return e.state.ancestorWithContent?e.parent&&e.state.screenSpaceError===0?e.parent.state.screenSpaceError>r:e.state.screenSpaceError>r:!0},t.prototype.traverseAndSelect=function(e,r){var o=this._selectionTraversalStack,s=this._selectionTraversalancestorStack,u;for(o.push(e);o.length>0||s.length>0;){if(s.length>0){var l=s.peek();if(l.state.stackLength===o.length){s.pop(),l!==u&&(l.state.finalResolution=!1),this.selectTile(l,r);continue}}var c=o.pop();if(c){var f=this.canTraverse(c,r);if(c.state.shouldSelect)if(c.refine==="ADD")this.selectTile(c,r);else{if(c.state.selectionDepth=s.length,c.state.selectionDepth>0&&(c.tileset.hasMixedContent=!0),u=c,!f){this.selectTile(c,r);continue}s.push(c),c.state.stackLength=o.length}if(f)for(var d=0,p=c.children;d<p.length;d++){var v=p[d];v.state.visible&&o.push(v)}}}},t}(TilesetBaseTraverser),TilesetMostDetailTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r}return t.prototype.canTraverse=function(e,r){return!(!e.state.inRequestVolume||e.levelOfContent>=r.maxLevelOfDetail||e.children.length===0)},t.prototype.traverse=function(e,r,o){n.prototype.traverse.call(this,e,r,[]),this._traversalStack.reset(),e.updateState(r);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,e.updateState(l),this.executeTraversal(e,l))}this._traversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,e.updateState(r),this.executeTraversal(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(o.push(e);o.length>0;){var s=o.pop(),u=s.refine==="ADD",l=s.refine==="REPLACE",c=this.canTraverse(s,r);c&&this.updateAndPushChildren(s,r,o),(u||l&&!c)&&(this.loadTile(s,r),this.touchTile(s,r),this.selectDesiredTile(s,r))}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0;u<s.length;++u){var l=s[u];l.updateState(r),l.state.visible&&o.push(l)}},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t}(TilesetBaseTraverser),Trajectory=function(){function n(t,e,r){this.index=t,this.name=e.name,this.visible=!1,this.tileset=r,this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.transform.premultiply(this.tileset.root.transform),this.content={uri:e.file,byteLength:0,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,data:void 0}}return n}(),identityMatrix4=new THREE__namespace.Matrix4,Tileset=function(){function n(t,e,r){var o=this,s,u,l,c,f,d,p,v,A;if(this.id=t,this.transform=new THREE__namespace.Matrix4,this.transformIsIdentity=!0,this.hasMixedContent=!1,this.url=(s=r.url)!==null&&s!==void 0?s:"",this.referer=(u=r.referer)!==null&&u!==void 0?u:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(l=e.asset.gltfUpAxis)!==null&&l!==void 0?l:"Y",overview:e.asset.overview,trajectories:(f=(c=e.asset.trajectories)===null||c===void 0?void 0:c.list)!==null&&f!==void 0?f:[],extras:e.asset.extras},this.rootMeta=(d=e.rootMeta)!==null&&d!==void 0?d:{},this.pointLength=(p=this.rootMeta.numTotalPoints)!==null&&p!==void 0?p:1/0,this.floorLength=(v=this.rootMeta.numFloors)!==null&&v!==void 0?v:1,this.properties=(A=e.properties)!==null&&A!==void 0?A:{},this.options=r,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.mostDetail=n.DEFAULT_MOST_DETAIL,this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.loadAll=n.DEFAULT_LOAD_ALL,this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.tileRequestOrder=n.DEFAULT_REQUEST_ORDER,this.requestedTiles=[],this.selectedTiles=[],this.unloadTiles=[],this.needsRefinedTiles=new Set,this.selectedTrajectories=[],this.normalTraverser=new TilesetNormalTraverser(this),this.skipTraverser=new TilesetSkipTraverser(this),this.mostDetailTraverser=new TilesetMostDetailTraverser(this),this.cache=new TileCache({onTileLoad:function(y){o.memoryUsageInBytes+=y.contentByteLength},onTileUnload:function(y){o.memoryUsageInBytes-=y.contentByteLength,o.unloadTiles.push(y)}}),this.requestScheduler=new TileRequestScheduler(this,{onTileSkip:function(y){},onTileLoad:function(y){var g;!((g=y.content)===null||g===void 0)&&g.data&&(o.loadedTiles.add(y),o.cache.loadTile(y)),o.options.onTileLoad(y)},onTileError:function(y,g){o.options.onTileError(y,g)}}),this.frameNumber=0,this.maxLevelOfDetail=0,this.minLevelOfDetail=0,this.loadedTiles=new Set,this.memoryUsageInBytes=0,this.root=new Tile("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.trajectories=[],this.asset.trajectories)for(var h=0;h<this.asset.trajectories.length;h++){var m=new Trajectory(h,this.asset.trajectories[h],this);this.trajectories.push(m)}}return Object.defineProperty(n.prototype,"traverser",{get:function(){return this.mostDetail?this.mostDetailTraverser:this.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var o=0,s=r.children.length;o<s;o++)e.push(r.children[o]);this.cache.unloadTile(r)}for(var u=function(){var d=l.unloadTiles.pop();d&&(l.loadedTiles.delete(d),l.memoryUsageInBytes-=d.contentByteLength,l.options.tileUnloader(d).catch(function(){}).then(function(){t.options.onTileUnload&&t.options.onTileUnload(d)}))},l=this;this.unloadTiles.length;)u();this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.loadedTiles.clear();for(var c=function(){var d=f.trajectories.pop();d&&f.options.trajectoryUnloader(d).catch(function(){}).then(function(){t.options.onTrajectoryUnload&&t.options.onTrajectoryUnload(d)})},f=this;this.trajectories.length;)c()},n.prototype.update=function(t,e){var r=this,o;e===void 0&&(e=[]),this.frameNumber=t.frameNumber,this.minLevelOfDetail=t.minLevelOfDetail,this.maxLevelOfDetail=t.maxLevelOfDetail,this.transformIsIdentity=this.transform.equals(identityMatrix4),this.traverser.traverse(this.root,t,e),this.cache.unloadTiles(function(){var v=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return v}),this.requestScheduler.update(this.requestedTiles,this.tileRequestOrder,t);for(var s=function(){var v=u.unloadTiles.pop();v&&(u.loadedTiles.delete(v),u.options.tileUnloader(v).catch(function(){}).then(function(){r.options.onTileUnload&&r.options.onTileUnload(v)}))},u=this;this.unloadTiles.length;)s();this.selectedTrajectories.length=0;for(var l=function(v){v.visible===!0&&v.content.loadState==="READY"&&(!((o=v.content.data)===null||o===void 0)&&o.object)?c.selectedTrajectories.push(v):v.visible===!0&&(v.content.loadState==="FAILED"&&t.time-v.content.loadStateUpdateTime>v.content.loadfailRetryDelay&&(v.content.loadState="UNLOADED",v.content.loadStateUpdateTime=t.time),v.content.loadState==="UNLOADED"&&c.options.trajectoryLoader(v).then(function(){r.options.onTrajectoryLoad(v)}).catch(function(A){r.options.onTrajectoryError(v,A)}))},c=this,f=0,d=this.trajectories;f<d.length;f++){var p=d[f];l(p)}},n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_MOST_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_LOAD_ALL=!1,n.DEFAULT_MAX_REQUESTS=6,n.DEFAULT_REQUEST_ORDER="SCREEN_SPACE_ERROR",n}(),BVHObject=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,o=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):o.array.length/((e=o.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,o,s,u,l=this.indices,c=this.position,f=t;if(l){var d=l.array,p=(r=l.stride)!==null&&r!==void 0?r:1,v=(o=l.offset)!==null&&o!==void 0?o:0;f=d[t*p+v]}var A=c.array,h=(s=c.stride)!==null&&s!==void 0?s:3,m=(u=c.offset)!==null&&u!==void 0?u:0;return f=f*h+m,e.x=A[f],e.y=A[f+1],e.z=A[f+2],e},n.prototype.createTree=function(t,e,r){throw new Error("not implemented")},n.prototype.trianglesInSphere=function(t,e){throw new Error("not implemented")},n.prototype.intersectRay=function(t,e,r,o){throw new Error("not implemented")},n}(),BVHNode=function(){function n(t,e,r,o,s){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=o,this.deepth=s}return n}(),BYTES_PER_NODE=6*4+4+4+2+2;function packBVHNode(n,t){for(var e=new ArrayBuffer(t*BYTES_PER_NODE),r=new Float32Array(e),o=new Uint32Array(e),s=new Uint16Array(e),u=[n],l,c;l=u.pop();)c=l.id*BYTES_PER_NODE/4,r[c]=l.extents[0],r[c+1]=l.extents[1],r[c+2]=l.extents[2],r[c+3]=l.extents[3],r[c+4]=l.extents[4],r[c+5]=l.extents[5],o[c+6]=l.startIndex,o[c+7]=l.endIndex,c=l.id*BYTES_PER_NODE/2,l.node0&&(s[c+16]=l.node0.id,u.push(l.node0)),l.node1&&(s[c+17]=l.node1.id,u.push(l.node1));return e}function intersectNodeBox(n,t,e,r,o,s,u,l,c){c===void 0&&(c=0),e=e-c,r=r-c,o=o-c,s=s+c,u=u+c,l=l+c;var f=0,d=0,p=0,v=0,A=0,h=0;return t.x>=0?(f=(e-n.x)*t.x,d=(s-n.x)*t.x):(f=(s-n.x)*t.x,d=(e-n.x)*t.x),t.y>=0?(p=(r-n.y)*t.y,v=(u-n.y)*t.y):(p=(u-n.y)*t.y,v=(r-n.y)*t.y),!(f>v||p>d||(p>f&&(f=p),v<d&&(d=v),t.z>=0?(A=(o-n.z)*t.z,h=(l-n.z)*t.z):(A=(l-n.z)*t.z,h=(o-n.z)*t.z),f>h||A>d)||(A>f&&(f=A),h<d&&(d=h),d<0))}var BVHVector3=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.toArray=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,o=this.z;return this.x=r*t.z-o*t.y,this.y=o*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,o=t.y,s=t.z,u=e.x,l=e.y,c=e.z;return this.x=o*c-s*l,this.y=s*u-r*c,this.z=r*l-o*u,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,o=this.z-t.z;return e*e+r*r+o*o},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),BVHIntersect=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),EPSILON$1=1e-6,scratchVector3$3=new BVHVector3(0,0,0),scratchVector3A=new BVHVector3(0,0,0),scratchVector3B=new BVHVector3(0,0,0),scratchVector3C=new BVHVector3(0,0,0),BVHMesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionCount()/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),l=new Float32Array(s*6),c=[],f=0,d=-1;if(o)for(var p=0,v=0,A=0,h=void 0,m=void 0,y=void 0,g=void 0,E=void 0,b=void 0,T=void 0;p<s;p+=1,v+=3,A+=6)u[p]=p,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),h=g=scratchVector3A.x,T=scratchVector3B.x,T<h&&(h=T),T>g&&(g=T),T=scratchVector3C.x,T<h&&(h=T),T>g&&(g=T),m=E=scratchVector3A.y,T=scratchVector3B.y,T<m&&(m=T),T>E&&(E=T),T=scratchVector3C.y,T<m&&(m=T),T>E&&(E=T),y=b=scratchVector3A.z,T=scratchVector3B.z,T<y&&(y=T),T>b&&(b=T),T=scratchVector3C.z,T<y&&(y=T),T>b&&(b=T),l[A]=h,l[A+1]=m,l[A+2]=y,l[A+3]=g,l[A+4]=E,l[A+5]=b;else{for(var _=1/0,R=1/0,S=1/0,M=-1/0,P=-1/0,H=-1/0,p=0,v=0,A=0,h=void 0,m=void 0,y=void 0,g=void 0,E=void 0,b=void 0,T=void 0;p<s;p+=1,v+=3,A+=6)u[p]=p,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),h=g=scratchVector3A.x,T=scratchVector3B.x,T<h&&(h=T),T>g&&(g=T),T=scratchVector3C.x,T<h&&(h=T),T>g&&(g=T),m=E=scratchVector3A.y,T=scratchVector3B.y,T<m&&(m=T),T>E&&(E=T),T=scratchVector3C.y,T<m&&(m=T),T>E&&(E=T),y=b=scratchVector3A.z,T=scratchVector3B.z,T<y&&(y=T),T>b&&(b=T),T=scratchVector3C.z,T<y&&(y=T),T>b&&(b=T),l[A]=h,l[A+1]=m,l[A+2]=y,l[A+3]=g,l[A+4]=E,l[A+5]=b,h<_&&(_=h),g>M&&(M=g),m<R&&(R=m),E>P&&(P=E),y<S&&(S=y),b>H&&(H=b);o=[_,R,S,M,P,H]}var w=new BVHNode(++d,o,0,s,0);c[f++]=w;var C=[],L=[0,1,2],I=function(k,N){return C[N]-C[k]};function F(k){var N=k.startIndex,D=k.endIndex,U=k.extents;C[0]=U[3]-U[0],C[1]=U[4]-U[1],C[2]=U[5]-U[2],L.sort(I);for(var z=0;z<3;z++){for(var q=L[z],G=U[q]+U[q+3],J=N,j=D-1,X=-1,Y=void 0;J<=j;)X===-1?(Y=u[J],l[Y*6+q]+l[Y*6+q+3]<G?J++:X=Y):(Y=u[j],l[Y*6+q]+l[Y*6+q+3]>=G||(u[J]=Y,u[j]=X,X=-1,J++),j--);if(J>N&&J<D){var Z=new BVHNode(++d,calcExtents(u,l,N,J,EPSILON$1),N,J,k.deepth+1);Z.deepth<r&&Z.endIndex-Z.startIndex>e&&(c[f++]=Z);var W=new BVHNode(++d,calcExtents(u,l,J,D,EPSILON$1),J,D,k.deepth+1);W.deepth<r&&W.endIndex-W.startIndex>e&&(c[f++]=W),k.node0=Z,k.node1=W,k.startIndex=0,k.endIndex=0;break}}}for(;f;)F(c[--f]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(w,d+1),c.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),f=[0],d=[],p,v,A,h;(p=f.pop())!==void 0;){h=p*BYTES_PER_NODE/4;var m=clamp(e.x,u[h],u[h+3])-e.x,y=clamp(e.y,u[h+1],u[h+4])-e.y,g=clamp(e.z,u[h+2],u[h+5])-e.z;if(m*m+y*y+g*g<=r*r){for(var E=l[h+6];E<l[h+7];E++)d.push(o[E]);h=p*BYTES_PER_NODE/2,v=c[h+16],A=c[h+17],v&&f.push(v),A&&f.push(A)}}for(var b=d.length,T=new Float32Array(b*9),E=0;E<b;E++){var _=d[E];this.getPositionByIndex(_,scratchVector3$3),T[E*9]=scratchVector3$3.x,T[E*9+1]=scratchVector3$3.y,T[E*9+2]=scratchVector3$3.z,this.getPositionByIndex(_+1,scratchVector3$3),T[E*9+3]=scratchVector3$3.x,T[E*9+4]=scratchVector3$3.y,T[E*9+5]=scratchVector3$3.z,this.getPositionByIndex(_+2,scratchVector3$3),T[E*9+6]=scratchVector3$3.x,T[E*9+7]=scratchVector3$3.y,T[E*9+8]=scratchVector3$3.z}return T},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),f=new Uint32Array(l),d=new Uint16Array(l),p=new BVHVector3(1/r.x,1/r.y,1/r.z),v=[0],A,h,m,y;(A=v.pop())!==void 0;)if(y=A*BYTES_PER_NODE/4,intersectNodeBox(e,p,c[y],c[y+1],c[y+2],c[y+3],c[y+4],c[y+5])){for(var g=f[y+6],E=f[y+7],b=void 0,T=void 0,_=void 0,R=e.x,S=e.y,M=e.z,P=r.x,H=r.y,w=r.z,C=void 0,L=void 0,I=void 0,F=void 0,k=void 0,N=void 0,D=void 0,U=void 0,z=void 0,q=void 0,G=void 0,J=void 0,j=void 0,X=void 0,Y=void 0,Z=void 0,W=void 0,ae=void 0,re=void 0,se=void 0,ie=void 0,fe=void 0,ne=void 0,pe=void 0,_e=void 0,me=void 0,xe=void 0;g<E;g++){if(b=u[g],T=b*3,this.getPositionByIndex(T,scratchVector3$3),C=scratchVector3$3.x,L=scratchVector3$3.y,I=scratchVector3$3.z,this.getPositionByIndex(T+1,scratchVector3$3),F=scratchVector3$3.x,k=scratchVector3$3.y,N=scratchVector3$3.z,this.getPositionByIndex(T+2,scratchVector3$3),D=scratchVector3$3.x,U=scratchVector3$3.y,z=scratchVector3$3.z,q=F-C,G=k-L,J=N-I,j=D-C,X=U-L,Y=z-I,Z=G*Y-J*X,W=J*j-q*Y,ae=q*X-G*j,ne=P*Z+H*W+w*ae,ne>0)fe=1;else if(ne<0)fe=-1,ne=-ne;else continue;re=R-C,se=S-L,ie=M-I,pe=fe*(P*(se*Y-ie*X)+H*(ie*j-re*Y)+w*(re*X-se*j)),!(pe<0)&&(_e=fe*(P*(G*ie-J*se)+H*(J*re-q*ie)+w*(q*se-G*re)),!(_e<0)&&(pe+_e>ne||(me=-fe*(re*Z+se*W+ie*ae),!(me<0)&&(xe=me/ne,s.push(new BVHIntersect([C,L,I,F,k,N,D,U,z],[R+P*xe,S+H*xe,M+w*xe],b))))))}y=A*BYTES_PER_NODE/2,h=d[y+16],m=d[y+17],h&&v.push(h),m&&v.push(m)}return s},t}(BVHObject);function clamp(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,o){if(e>=r)return[0,0,0,0,0,0];for(var s=1/0,u=1/0,l=1/0,c=-1/0,f=-1/0,d=-1/0,p=e,v=void 0,A=void 0;p<r;p++)v=n[p]*6,A=t[v],A<s&&(s=A),A=t[v+1],A<u&&(u=A),A=t[v+2],A<l&&(l=A),A=t[v+3],A>c&&(c=A),A=t[v+4],A>f&&(f=A),A=t[v+5],A>d&&(d=A);return[s-o,u-o,l-o,c+o,f+o,d+o]}var EPSILON=1e-6,ORDER_AXISES=["x","y","z"],scratchVector3$2=new BVHVector3(0,0,0),BVHPoints=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionByIndex.bind(this),u=this.getPositionCount(),l=u>65535?new Uint32Array(u):new Uint16Array(u),c=[],f=0,d=-1;if(o)for(var p=0;p<u;p+=1)l[p]=p;else{s(0,scratchVector3$2);for(var v=scratchVector3$2.x,A=scratchVector3$2.y,h=scratchVector3$2.z,m=v,y=A,g=h,p=0,E=void 0,b=void 0,T=void 0;p<u;p+=1)l[p]=p,s(p,scratchVector3$2),E=scratchVector3$2.x,b=scratchVector3$2.y,T=scratchVector3$2.z,E<v?v=E:E>m&&(m=E),b<A?A=b:b>y&&(y=b),T<h?h=T:T>g&&(g=T);o=[v,A,h,m,y,g]}var _=new BVHNode(++d,o,0,u,0);c[f++]=_;var R=[],S=[0,1,2],M=function(H,w){return R[w]-R[H]};function P(H){var w=H.startIndex,C=H.endIndex,L=H.extents;R[0]=L[3]-L[0],R[1]=L[4]-L[1],R[2]=L[5]-L[2];for(var I=S.sort(M)[0],F=ORDER_AXISES[I],k=(L[I]+L[I+3])/2,N=w,D=C-1,U=-1,z;N<=D;)U===-1?(z=l[N],s(z,scratchVector3$2),scratchVector3$2[F]<k?N++:U=z):(z=l[D],s(z,scratchVector3$2),scratchVector3$2[F]>=k||(l[N]=z,l[D]=U,U=-1,N++),D--);if(N>w){var q=L.slice();q[I+3]=k+EPSILON;var G=new BVHNode(++d,q,w,N,H.deepth+1);G.deepth<r&&G.endIndex-G.startIndex>e&&(c[f++]=G),H.node0=G}if(C>N){var J=L.slice();J[I]=k-EPSILON;var j=new BVHNode(++d,J,N,C,H.deepth+1);j.deepth<r&&j.endIndex-j.startIndex>e&&(c[f++]=j),H.node1=j}H.startIndex=0,H.endIndex=0}for(;f;)P(c[--f]);return this.offsetArray=l,this.rootNodePacked=packBVHNode(_,d+1),c.length=0,this},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),f=new Uint32Array(l),d=new Uint16Array(l),p=o*o,v=new BVHVector3(1/r.x,1/r.y,1/r.z),A=[0],h,m,y,g;(h=A.pop())!==void 0;)if(g=h*BYTES_PER_NODE/4,intersectNodeBox(e,v,c[g],c[g+1],c[g+2],c[g+3],c[g+4],c[g+5],o)){for(var E=f[g+6],b=f[g+7],T=void 0,_=void 0,R=void 0,S=void 0,M=void 0,P=void 0,H=void 0,w=void 0,C=void 0,L=void 0,I=void 0,F=void 0;E<b;E++)T=u[E],this.getPositionByIndex(T,scratchVector3$2),_=scratchVector3$2.x,R=scratchVector3$2.y,S=scratchVector3$2.z,M=e.x,P=e.y,H=e.z,w=r.x,C=r.y,L=r.z,I=w*(_-M)+C*(R-P)+L*(S-H),I>0&&(M+=w*I,P+=C*I,H+=L*I),w=_-M,C=R-P,L=S-H,I=w*w+C*C+L*L,I<=p&&s.push(new BVHIntersect([_,R,S,_,R,S,_,R,S],[M,P,H],T));g=h*BYTES_PER_NODE/2,m=d[g+16],y=d[g+17],m&&A.push(m),y&&A.push(y)}return s},t}(BVHObject);const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlcj1mdW5jdGlvbihlLHIpe3JldHVybiBlcj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxvKXt0Ll9fcHJvdG9fXz1vfXx8ZnVuY3Rpb24odCxvKXtmb3IodmFyIGYgaW4gbylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobyxmKSYmKHRbZl09b1tmXSl9LGVyKGUscil9O2Z1bmN0aW9uIGhyKGUscil7aWYodHlwZW9mIHIhPSJmdW5jdGlvbiImJnIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcocikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXIoZSxyKTtmdW5jdGlvbiB0KCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXI9PT1udWxsP09iamVjdC5jcmVhdGUocik6KHQucHJvdG90eXBlPXIucHJvdG90eXBlLG5ldyB0KX10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iJiZTdXBwcmVzc2VkRXJyb3I7dmFyIGRyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQpe3RoaXMucG9zaXRpb249cix0aGlzLmluZGljZXM9dH1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25Db3VudD1mdW5jdGlvbigpe3ZhciByLHQsbz10aGlzLmluZGljZXMsZj10aGlzLnBvc2l0aW9uO3JldHVybiBvP28uYXJyYXkubGVuZ3RoLygocj1vLnN0cmlkZSkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSk6Zi5hcnJheS5sZW5ndGgvKCh0PWYuc3RyaWRlKSE9PW51bGwmJnQhPT12b2lkIDA/dDozKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25CeUluZGV4PWZ1bmN0aW9uKHIsdCl7dmFyIG8sZixkLHYsbj10aGlzLmluZGljZXMscz10aGlzLnBvc2l0aW9uLHU9cjtpZihuKXt2YXIgdz1uLmFycmF5LHk9KG89bi5zdHJpZGUpIT09bnVsbCYmbyE9PXZvaWQgMD9vOjEscD0oZj1uLm9mZnNldCkhPT1udWxsJiZmIT09dm9pZCAwP2Y6MDt1PXdbcip5K3BdfXZhciBhPXMuYXJyYXksaD0oZD1zLnN0cmlkZSkhPT1udWxsJiZkIT09dm9pZCAwP2Q6MyxBPSh2PXMub2Zmc2V0KSE9PW51bGwmJnYhPT12b2lkIDA/djowO3JldHVybiB1PXUqaCtBLHQueD1hW3VdLHQueT1hW3UrMV0sdC56PWFbdSsyXSx0fSxlLnByb3RvdHlwZS5jcmVhdGVUcmVlPWZ1bmN0aW9uKHIsdCxvKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlLnByb3RvdHlwZS50cmlhbmdsZXNJblNwaGVyZT1mdW5jdGlvbihyLHQpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9LGUucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsbyxmKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlfSgpLG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHIsdCxvLGYsZCl7dGhpcy5pZD1yLHRoaXMuZXh0ZW50cz10LHRoaXMuc3RhcnRJbmRleD1vLHRoaXMuZW5kSW5kZXg9Zix0aGlzLmRlZXB0aD1kfXJldHVybiBlfSgpLFE9Nio0KzQrNCsyKzI7ZnVuY3Rpb24geXIoZSxyKXtmb3IodmFyIHQ9bmV3IEFycmF5QnVmZmVyKHIqUSksbz1uZXcgRmxvYXQzMkFycmF5KHQpLGY9bmV3IFVpbnQzMkFycmF5KHQpLGQ9bmV3IFVpbnQxNkFycmF5KHQpLHY9W2VdLG4scztuPXYucG9wKCk7KXM9bi5pZCpRLzQsb1tzXT1uLmV4dGVudHNbMF0sb1tzKzFdPW4uZXh0ZW50c1sxXSxvW3MrMl09bi5leHRlbnRzWzJdLG9bcyszXT1uLmV4dGVudHNbM10sb1tzKzRdPW4uZXh0ZW50c1s0XSxvW3MrNV09bi5leHRlbnRzWzVdLGZbcys2XT1uLnN0YXJ0SW5kZXgsZltzKzddPW4uZW5kSW5kZXgscz1uLmlkKlEvMixuLm5vZGUwJiYoZFtzKzE2XT1uLm5vZGUwLmlkLHYucHVzaChuLm5vZGUwKSksbi5ub2RlMSYmKGRbcysxN109bi5ub2RlMS5pZCx2LnB1c2gobi5ub2RlMSkpO3JldHVybiB0fWZ1bmN0aW9uIGNyKGUscix0LG8sZixkLHYsbixzKXtzPT09dm9pZCAwJiYocz0wKSx0PXQtcyxvPW8tcyxmPWYtcyxkPWQrcyx2PXYrcyxuPW4rczt2YXIgdT0wLHc9MCx5PTAscD0wLGE9MCxoPTA7cmV0dXJuIHIueD49MD8odT0odC1lLngpKnIueCx3PShkLWUueCkqci54KToodT0oZC1lLngpKnIueCx3PSh0LWUueCkqci54KSxyLnk+PTA/KHk9KG8tZS55KSpyLnkscD0odi1lLnkpKnIueSk6KHk9KHYtZS55KSpyLnkscD0oby1lLnkpKnIueSksISh1PnB8fHk+d3x8KHk+dSYmKHU9eSkscDx3JiYodz1wKSxyLno+PTA/KGE9KGYtZS56KSpyLnosaD0obi1lLnopKnIueik6KGE9KG4tZS56KSpyLnosaD0oZi1lLnopKnIueiksdT5ofHxhPncpfHwoYT51JiYodT1hKSxoPHcmJih3PWgpLHc8MCkpfXZhciBZPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQsbyl7dGhpcy54PXIsdGhpcy55PXQsdGhpcy56PW99cmV0dXJuIGUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueD1yLngsdGhpcy55PXIueSx0aGlzLno9ci56LHRoaXN9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbihyLHQsbyl7cmV0dXJuIHRoaXMueD1yLHRoaXMueT10LHRoaXMuej1vLHRoaXN9LGUucHJvdG90eXBlLmZyb21BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSx0aGlzLng9clt0XSx0aGlzLnk9clt0KzFdLHRoaXMuej1yW3QrMl0sdGhpc30sZS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiByPT09dm9pZCAwJiYocj1bXSksdD09PXZvaWQgMCYmKHQ9MCksclt0XT10aGlzLngsclt0KzFdPXRoaXMueSxyW3QrMl09dGhpcy56LHJ9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kz1yLngsdGhpcy55Kz1yLnksdGhpcy56Kz1yLnosdGhpc30sZS5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueCo9cix0aGlzLnkqPXIsdGhpcy56Kj1yLHRoaXN9LGUucHJvdG90eXBlLnN1YlZlY3RvcnM9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54PXIueC10LngsdGhpcy55PXIueS10LnksdGhpcy56PXIuei10LnosdGhpc30sZS5wcm90b3R5cGUuYWRkU2NhbGVkVmVjdG9yPWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHRoaXMueCs9ci54KnQsdGhpcy55Kz1yLnkqdCx0aGlzLnorPXIueip0LHRoaXN9LGUucHJvdG90eXBlLmRvdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54KnIueCt0aGlzLnkqci55K3RoaXMueipyLnp9LGUucHJvdG90eXBlLmNyb3NzPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueCxvPXRoaXMueSxmPXRoaXMuejtyZXR1cm4gdGhpcy54PW8qci56LWYqci55LHRoaXMueT1mKnIueC10KnIueix0aGlzLno9dCpyLnktbypyLngsdGhpc30sZS5wcm90b3R5cGUuY3Jvc3NWZWN0b3JzPWZ1bmN0aW9uKHIsdCl7dmFyIG89ci54LGY9ci55LGQ9ci56LHY9dC54LG49dC55LHM9dC56O3JldHVybiB0aGlzLng9ZipzLWQqbix0aGlzLnk9ZCp2LW8qcyx0aGlzLno9bypuLWYqdix0aGlzfSxlLnByb3RvdHlwZS5kaXN0YW5jZVRvPWZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLnNxcnQodGhpcy5kaXN0YW5jZVRvU3F1YXJlZChyKSl9LGUucHJvdG90eXBlLmRpc3RhbmNlVG9TcXVhcmVkPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueC1yLngsbz10aGlzLnktci55LGY9dGhpcy56LXIuejtyZXR1cm4gdCp0K28qbytmKmZ9LGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKHRoaXMueCx0aGlzLnksdGhpcy56KX0sZX0oKSxwcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUocix0LG8pe3RoaXMudHJpYW5nbGU9cix0aGlzLmludGVyc2VjdGlvblBvaW50PXQsdGhpcy5pbmRleD1vfXJldHVybiBlfSgpLGxyPTFlLTYsUz1uZXcgWSgwLDAsMCksRD1uZXcgWSgwLDAsMCksZz1uZXcgWSgwLDAsMCksWD1uZXcgWSgwLDAsMCksQXI9ZnVuY3Rpb24oZSl7aHIocixlKTtmdW5jdGlvbiByKCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gci5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbih0LG8sZil7bz1NYXRoLm1pbihvLDE2KTt2YXIgZD10aGlzLmdldFBvc2l0aW9uQ291bnQoKS8zLHY9ZD42NTUzNT9uZXcgVWludDMyQXJyYXkoZCk6bmV3IFVpbnQxNkFycmF5KGQpLG49bmV3IEZsb2F0MzJBcnJheShkKjYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MCxwPTAsYT0wLGg9dm9pZCAwLEE9dm9pZCAwLGw9dm9pZCAwLEk9dm9pZCAwLGM9dm9pZCAwLHo9dm9pZCAwLGk9dm9pZCAwO3k8ZDt5Kz0xLHArPTMsYSs9Nil2W3ldPXksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCxEKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzEsZyksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCsyLFgpLGg9ST1ELngsaT1nLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLGk9WC54LGk8aCYmKGg9aSksaT5JJiYoST1pKSxBPWM9RC55LGk9Zy55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxpPVgueSxpPEEmJihBPWkpLGk+YyYmKGM9aSksbD16PUQueixpPWcueixpPGwmJihsPWkpLGk+eiYmKHo9aSksaT1YLnosaTxsJiYobD1pKSxpPnomJih6PWkpLG5bYV09aCxuW2ErMV09QSxuW2ErMl09bCxuW2ErM109SSxuW2ErNF09YyxuW2ErNV09ejtlbHNle2Zvcih2YXIgaz0xLzAsSD0xLzAsaj0xLzAscT0tMS8wLE09LTEvMCxQPS0xLzAseT0wLHA9MCxhPTAsaD12b2lkIDAsQT12b2lkIDAsbD12b2lkIDAsST12b2lkIDAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTxkO3krPTEscCs9MyxhKz02KXZbeV09eSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwLEQpLHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KHArMSxnKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzIsWCksaD1JPUQueCxpPWcueCxpPGgmJihoPWkpLGk+SSYmKEk9aSksaT1YLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLEE9Yz1ELnksaT1nLnksaTxBJiYoQT1pKSxpPmMmJihjPWkpLGk9WC55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxsPXo9RC56LGk9Zy56LGk8bCYmKGw9aSksaT56JiYoej1pKSxpPVgueixpPGwmJihsPWkpLGk+eiYmKHo9aSksblthXT1oLG5bYSsxXT1BLG5bYSsyXT1sLG5bYSszXT1JLG5bYSs0XT1jLG5bYSs1XT16LGg8ayYmKGs9aCksST5xJiYocT1JKSxBPEgmJihIPUEpLGM+TSYmKE09YyksbDxqJiYoaj1sKSx6PlAmJihQPXopO2Y9W2ssSCxqLHEsTSxQXX12YXIgVD1uZXcgbSgrK3csZiwwLGQsMCk7c1t1KytdPVQ7dmFyIE49W10sQj1bMCwxLDJdLFY9ZnVuY3Rpb24oVSxfKXtyZXR1cm4gTltfXS1OW1VdfTtmdW5jdGlvbiBSKFUpe3ZhciBfPVUuc3RhcnRJbmRleCwkPVUuZW5kSW5kZXgsRj1VLmV4dGVudHM7TlswXT1GWzNdLUZbMF0sTlsxXT1GWzRdLUZbMV0sTlsyXT1GWzVdLUZbMl0sQi5zb3J0KFYpO2Zvcih2YXIgVz0wO1c8MztXKyspe2Zvcih2YXIgTD1CW1ddLEc9RltMXStGW0wrM10seD1fLEM9JC0xLEs9LTEsSj12b2lkIDA7eDw9QzspSz09PS0xPyhKPXZbeF0sbltKKjYrTF0rbltKKjYrTCszXTxHP3grKzpLPUopOihKPXZbQ10sbltKKjYrTF0rbltKKjYrTCszXT49R3x8KHZbeF09Six2W0NdPUssSz0tMSx4KyspLEMtLSk7aWYoeD5fJiZ4PCQpe3ZhciBiPW5ldyBtKCsrdyxJcih2LG4sXyx4LGxyKSxfLHgsVS5kZWVwdGgrMSk7Yi5kZWVwdGg8byYmYi5lbmRJbmRleC1iLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1iKTt2YXIgTz1uZXcgbSgrK3csSXIodixuLHgsJCxscikseCwkLFUuZGVlcHRoKzEpO08uZGVlcHRoPG8mJk8uZW5kSW5kZXgtTy5zdGFydEluZGV4PnQmJihzW3UrK109TyksVS5ub2RlMD1iLFUubm9kZTE9TyxVLnN0YXJ0SW5kZXg9MCxVLmVuZEluZGV4PTA7YnJlYWt9fX1mb3IoO3U7KVIoc1stLXVdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9eXIoVCx3KzEpLHMubGVuZ3RoPTAsdGhpc30sci5wcm90b3R5cGUudHJpYW5nbGVzSW5TcGhlcmU9ZnVuY3Rpb24odCxvKXtmb3IodmFyIGY9dGhpcy5vZmZzZXRBcnJheSxkPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGQpLG49bmV3IFVpbnQzMkFycmF5KGQpLHM9bmV3IFVpbnQxNkFycmF5KGQpLHU9WzBdLHc9W10seSxwLGEsaDsoeT11LnBvcCgpKSE9PXZvaWQgMDspe2g9eSpRLzQ7dmFyIEE9c3IodC54LHZbaF0sdltoKzNdKS10LngsbD1zcih0LnksdltoKzFdLHZbaCs0XSktdC55LEk9c3IodC56LHZbaCsyXSx2W2grNV0pLXQuejtpZihBKkErbCpsK0kqSTw9bypvKXtmb3IodmFyIGM9bltoKzZdO2M8bltoKzddO2MrKyl3LnB1c2goZltjXSk7aD15KlEvMixwPXNbaCsxNl0sYT1zW2grMTddLHAmJnUucHVzaChwKSxhJiZ1LnB1c2goYSl9fWZvcih2YXIgej13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoeio5KSxjPTA7Yzx6O2MrKyl7dmFyIGs9d1tjXTt0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrLFMpLGlbYyo5XT1TLngsaVtjKjkrMV09Uy55LGlbYyo5KzJdPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrKzEsUyksaVtjKjkrM109Uy54LGlbYyo5KzRdPVMueSxpW2MqOSs1XT1TLnosdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaysyLFMpLGlbYyo5KzZdPVMueCxpW2MqOSs3XT1TLnksaVtjKjkrOF09Uy56fXJldHVybiBpfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PW5ldyBZKDEvby54LDEvby55LDEvby56KSxwPVswXSxhLGgsQSxsOyhhPXAucG9wKCkpIT09dm9pZCAwOylpZihsPWEqUS80LGNyKHQseSxzW2xdLHNbbCsxXSxzW2wrMl0sc1tsKzNdLHNbbCs0XSxzW2wrNV0pKXtmb3IodmFyIEk9dVtsKzZdLGM9dVtsKzddLHo9dm9pZCAwLGk9dm9pZCAwLGs9dm9pZCAwLEg9dC54LGo9dC55LHE9dC56LE09by54LFA9by55LFQ9by56LE49dm9pZCAwLEI9dm9pZCAwLFY9dm9pZCAwLFI9dm9pZCAwLFU9dm9pZCAwLF89dm9pZCAwLCQ9dm9pZCAwLEY9dm9pZCAwLFc9dm9pZCAwLEw9dm9pZCAwLEc9dm9pZCAwLHg9dm9pZCAwLEM9dm9pZCAwLEs9dm9pZCAwLEo9dm9pZCAwLGI9dm9pZCAwLE89dm9pZCAwLGFyPXZvaWQgMCxycj12b2lkIDAsdHI9dm9pZCAwLG9yPXZvaWQgMCxpcj12b2lkIDAsWj12b2lkIDAsdnI9dm9pZCAwLGZyPXZvaWQgMCx1cj12b2lkIDAsbnI9dm9pZCAwO0k8YztJKyspe2lmKHo9dltJXSxpPXoqMyx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpLFMpLE49Uy54LEI9Uy55LFY9Uy56LHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KGkrMSxTKSxSPVMueCxVPVMueSxfPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpKzIsUyksJD1TLngsRj1TLnksVz1TLnosTD1SLU4sRz1VLUIseD1fLVYsQz0kLU4sSz1GLUIsSj1XLVYsYj1HKkoteCpLLE89eCpDLUwqSixhcj1MKkstRypDLFo9TSpiK1AqTytUKmFyLFo+MClpcj0xO2Vsc2UgaWYoWjwwKWlyPS0xLFo9LVo7ZWxzZSBjb250aW51ZTtycj1ILU4sdHI9ai1CLG9yPXEtVix2cj1pciooTSoodHIqSi1vcipLKStQKihvcipDLXJyKkopK1QqKHJyKkstdHIqQykpLCEodnI8MCkmJihmcj1pciooTSooRypvci14KnRyKStQKih4KnJyLUwqb3IpK1QqKEwqdHItRypycikpLCEoZnI8MCkmJih2citmcj5afHwodXI9LWlyKihycipiK3RyKk8rb3IqYXIpLCEodXI8MCkmJihucj11ci9aLGQucHVzaChuZXcgcHIoW04sQixWLFIsVSxfLCQsRixXXSxbSCtNKm5yLGorUCpucixxK1QqbnJdLHopKSkpKSl9bD1hKlEvMixoPXdbbCsxNl0sQT13W2wrMTddLGgmJnAucHVzaChoKSxBJiZwLnB1c2goQSl9cmV0dXJuIGR9LHJ9KGRyKTtmdW5jdGlvbiBzcihlLHIsdCl7cmV0dXJuIGU8cj9yOmU+dD90OmV9ZnVuY3Rpb24gSXIoZSxyLHQsbyxmKXtpZih0Pj1vKXJldHVyblswLDAsMCwwLDAsMF07Zm9yKHZhciBkPTEvMCx2PTEvMCxuPTEvMCxzPS0xLzAsdT0tMS8wLHc9LTEvMCx5PXQscD12b2lkIDAsYT12b2lkIDA7eTxvO3krKylwPWVbeV0qNixhPXJbcF0sYTxkJiYoZD1hKSxhPXJbcCsxXSxhPHYmJih2PWEpLGE9cltwKzJdLGE8biYmKG49YSksYT1yW3ArM10sYT5zJiYocz1hKSxhPXJbcCs0XSxhPnUmJih1PWEpLGE9cltwKzVdLGE+dyYmKHc9YSk7cmV0dXJuW2QtZix2LWYsbi1mLHMrZix1K2YsdytmXX12YXIgd3I9MWUtNix6cj1bIngiLCJ5IiwieiJdLEU9bmV3IFkoMCwwLDApLFByPWZ1bmN0aW9uKGUpe2hyKHIsZSk7ZnVuY3Rpb24gcigpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHIucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24odCxvLGYpe289TWF0aC5taW4obywxNik7dmFyIGQ9dGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXguYmluZCh0aGlzKSx2PXRoaXMuZ2V0UG9zaXRpb25Db3VudCgpLG49dj42NTUzNT9uZXcgVWludDMyQXJyYXkodik6bmV3IFVpbnQxNkFycmF5KHYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MDt5PHY7eSs9MSluW3ldPXk7ZWxzZXtkKDAsRSk7Zm9yKHZhciBwPUUueCxhPUUueSxoPUUueixBPXAsbD1hLEk9aCx5PTAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTx2O3krPTEpblt5XT15LGQoeSxFKSxjPUUueCx6PUUueSxpPUUueixjPHA/cD1jOmM+QSYmKEE9YyksejxhP2E9ejp6PmwmJihsPXopLGk8aD9oPWk6aT5JJiYoST1pKTtmPVtwLGEsaCxBLGwsSV19dmFyIGs9bmV3IG0oKyt3LGYsMCx2LDApO3NbdSsrXT1rO3ZhciBIPVtdLGo9WzAsMSwyXSxxPWZ1bmN0aW9uKFAsVCl7cmV0dXJuIEhbVF0tSFtQXX07ZnVuY3Rpb24gTShQKXt2YXIgVD1QLnN0YXJ0SW5kZXgsTj1QLmVuZEluZGV4LEI9UC5leHRlbnRzO0hbMF09QlszXS1CWzBdLEhbMV09Qls0XS1CWzFdLEhbMl09Qls1XS1CWzJdO2Zvcih2YXIgVj1qLnNvcnQocSlbMF0sUj16cltWXSxVPShCW1ZdK0JbViszXSkvMixfPVQsJD1OLTEsRj0tMSxXO188PSQ7KUY9PT0tMT8oVz1uW19dLGQoVyxFKSxFW1JdPFU/XysrOkY9Vyk6KFc9blskXSxkKFcsRSksRVtSXT49VXx8KG5bX109VyxuWyRdPUYsRj0tMSxfKyspLCQtLSk7aWYoXz5UKXt2YXIgTD1CLnNsaWNlKCk7TFtWKzNdPVUrd3I7dmFyIEc9bmV3IG0oKyt3LEwsVCxfLFAuZGVlcHRoKzEpO0cuZGVlcHRoPG8mJkcuZW5kSW5kZXgtRy5zdGFydEluZGV4PnQmJihzW3UrK109RyksUC5ub2RlMD1HfWlmKE4+Xyl7dmFyIHg9Qi5zbGljZSgpO3hbVl09VS13cjt2YXIgQz1uZXcgbSgrK3cseCxfLE4sUC5kZWVwdGgrMSk7Qy5kZWVwdGg8byYmQy5lbmRJbmRleC1DLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1DKSxQLm5vZGUxPUN9UC5zdGFydEluZGV4PTAsUC5lbmRJbmRleD0wfWZvcig7dTspTShzWy0tdV0pO3JldHVybiB0aGlzLm9mZnNldEFycmF5PW4sdGhpcy5yb290Tm9kZVBhY2tlZD15cihrLHcrMSkscy5sZW5ndGg9MCx0aGlzfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PWYqZixwPW5ldyBZKDEvby54LDEvby55LDEvby56KSxhPVswXSxoLEEsbCxJOyhoPWEucG9wKCkpIT09dm9pZCAwOylpZihJPWgqUS80LGNyKHQscCxzW0ldLHNbSSsxXSxzW0krMl0sc1tJKzNdLHNbSSs0XSxzW0krNV0sZikpe2Zvcih2YXIgYz11W0krNl0sej11W0krN10saT12b2lkIDAsaz12b2lkIDAsSD12b2lkIDAsaj12b2lkIDAscT12b2lkIDAsTT12b2lkIDAsUD12b2lkIDAsVD12b2lkIDAsTj12b2lkIDAsQj12b2lkIDAsVj12b2lkIDAsUj12b2lkIDA7Yzx6O2MrKylpPXZbY10sdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaSxFKSxrPUUueCxIPUUueSxqPUUueixxPXQueCxNPXQueSxQPXQueixUPW8ueCxOPW8ueSxCPW8ueixWPVQqKGstcSkrTiooSC1NKStCKihqLVApLFY+MCYmKHErPVQqVixNKz1OKlYsUCs9QipWKSxUPWstcSxOPUgtTSxCPWotUCxWPVQqVCtOKk4rQipCLFY8PXkmJmQucHVzaChuZXcgcHIoW2ssSCxqLGssSCxqLGssSCxqXSxbcSxNLFBdLGkpKTtJPWgqUS8yLEE9d1tJKzE2XSxsPXdbSSsxN10sQSYmYS5wdXNoKEEpLGwmJmEucHVzaChsKX1yZXR1cm4gZH0scn0oZHIpO2Z1bmN0aW9uIEJyKGUpe29ubWVzc2FnZT1mdW5jdGlvbihyKXtQcm9taXNlLnJlc29sdmUoci5kYXRhKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkudGhlbihmdW5jdGlvbih0KXt2YXIgbz10Lm91dHB1dCxmPXQudHJhbnNmZXI7cmV0dXJuIHBvc3RNZXNzYWdlKG8sZil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gcG9zdE1lc3NhZ2UoeyQkZXJyb3I6dH0pfSl9fUJyKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZSkudGhlbihmdW5jdGlvbihyKXtmb3IodmFyIHQ9W10sbz1uZXcgU2V0LGY9MCxkPXI7ZjxkLmxlbmd0aDtmKyspe3ZhciB2PWRbZl0sbj12b2lkIDA7aWYodi50eXBlPT09Im1lc2giKW49bmV3IEFyKHYuYXR0cmlidXRlcy5wb3NpdGlvbix2LmluZGljZXMpO2Vsc2UgaWYodi50eXBlPT09InBvaW50cyIpbj1uZXcgUHIodi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHYuaW5kaWNlcyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO24uY3JlYXRlVHJlZSh2Lm1heEl0ZW1QZXJOb2RlLHYubWF4VHJlZURlcHRoLHYuZXh0ZW50cyk7dmFyIHM9e3R5cGU6di50eXBlLGF0dHJpYnV0ZXM6di5hdHRyaWJ1dGVzLGluZGljZXM6di5pbmRpY2VzLG9mZnNldEFycmF5Om4ub2Zmc2V0QXJyYXkscm9vdE5vZGVQYWNrZWQ6bi5yb290Tm9kZVBhY2tlZH07dC5wdXNoKHMpO3ZhciB1PXZvaWQgMDtmb3IodmFyIHcgaW4gcy5hdHRyaWJ1dGVzKXt2YXIgeT1zLmF0dHJpYnV0ZXNbd107eSYmeS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQoeS5idWZmZXIpfXU9cy5pbmRpY2VzLHUmJnUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm8uYWRkKHUuYnVmZmVyKSx1PXMub2Zmc2V0QXJyYXksdSYmdS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQodS5idWZmZXIpLG8uYWRkKHMucm9vdE5vZGVQYWNrZWQpfXJldHVybntvdXRwdXQ6dCx0cmFuc2ZlcjpBcnJheS5mcm9tKG8pfX0pfSl9KSgpOwo=",decodeBase64$1=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),blob$2=typeof self!="undefined"&&self.Blob&&new Blob([decodeBase64$1(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(n){let t;try{if(t=blob$2&&(self.URL||self.webkitURL).createObjectURL(blob$2),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+encodedJs$1,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var WorkerPool$1=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],o=r.resolve,s=r.reject;if(e.data&&"$$error"in e.data?s(e.data.$$error):o(e.data),this.queue.length){var u=this.queue.shift(),l=u.resolve,c=u.reject,f=u.input,d=u.transfer;this.workersResolver[t]={resolve:l,reject:c},this.workers[t].postMessage(f,d)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(o,s){var u=r.getIdleWorker();u!==-1?(r.initWorker(u),r.workerStatus|=1<<u,r.workersResolver[u]={resolve:o,reject:s},r.workers[u].postMessage(t,e)):r.queue.push({resolve:o,reject:s,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),bvhWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper$1},4),bvhMeshMap=new Map,scratchRay=new THREE__namespace.Ray,scratchNormalMatrix=new THREE__namespace.Matrix3,scratchInverseMatrix=new THREE__namespace.Matrix4,scratchIntersectionFaceA=new THREE__namespace.Vector3,scratchIntersectionFaceB=new THREE__namespace.Vector3,scratchIntersectionFaceC=new THREE__namespace.Vector3,scratchIntersectionTriangle=new THREE__namespace.Triangle;function raycastMesh(n,t,e,r){var o,s=n.matrixWorld;scratchInverseMatrix.getInverse(s),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var u=t.intersectRay(scratchRay.origin,scratchRay.direction,0,[]),l=n.geometry,c=n.material,f=l.groups,d=l.index,p=0,v=u.length;p<v;p++){var A=u[p],h=A.triangle,m=A.index,y=A.intersectionPoint,g=new THREE__namespace.Vector3(y[0],y[1],y[2]).applyMatrix4(s),E=e.ray.origin.distanceTo(g);if(!(E<e.near||E>e.far)){var b=void 0;if(Array.isArray(c)){if(f)for(var T=m*3,_=0,R=f;_<R.length;_++){var S=R[_];if(T>=S.start&&T-S.start<S.count){b=c[(o=S.materialIndex)!==null&&o!==void 0?o:0];break}}}else b=c;if(b){var M=scratchIntersectionTriangle.set(scratchIntersectionFaceA.set(h[0],h[1],h[2]).applyMatrix4(s),scratchIntersectionFaceB.set(h[3],h[4],h[5]).applyMatrix4(s),scratchIntersectionFaceC.set(h[6],h[7],h[8]).applyMatrix4(s)).getNormal(new THREE__namespace.Vector3),P=m*3,H=new THREE__namespace.Face3(d?d.array[P]:P,d?d.array[P+1]:P+1,d?d.array[P+2]:P+2,M),w=e.ray.direction.dot(M);b.side===THREE__namespace.FrontSide&&w>=0||b.side===THREE__namespace.BackSide&&w<=0||r.push({distance:E,object:n,face:H,point:g,distanceToRay:0,faceIndex:m})}}}}function raycastPoints(n,t,e,r){var o,s,u=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(u),scratchInverseMatrix.getInverse(u);var l=((s=(o=e.params.Points)===null||o===void 0?void 0:o.threshold)!==null&&s!==void 0?s:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var c=t.intersectRay(scratchRay.origin,scratchRay.direction,l,[]),f=n.geometry,d=f.index,p=f.getAttribute("normal"),v=0,A=c.length;v<A;v++){var h=c[v],m=h.triangle,y=h.index,g=h.intersectionPoint,E=new THREE__namespace.Vector3(g[0],g[1],g[2]).applyMatrix4(u),b=e.ray.origin.distanceTo(E);if(!(b<e.near||b>e.far)){var T=scratchIntersectionFaceA.set(m[0],m[1],m[2]).applyMatrix4(u),_=d?d.array[y]:y,R=void 0;if(p instanceof THREE__namespace.BufferAttribute){var S=new THREE__namespace.Vector3().fromBufferAttribute(p,_).applyNormalMatrix(scratchNormalMatrix);R=new THREE__namespace.Face3(_,_,_,S)}r.push({distance:b,object:n,face:R,point:E,distanceToRay:E.distanceTo(T),index:y})}}}var BVH_MESH_PROP="__bvh_mesh__",originMeshRaycast=THREE__namespace.Mesh.prototype.raycast;function overrideMeshRaycast(n,t){var e=getBvhTreeForMesh(this);e?raycastMesh(this,e,n,t):originMeshRaycast.call(this,n,t)}function getBvhTreeForMesh(n){var t=n[BVH_MESH_PROP];return t instanceof BVHMesh,t}function bindBvhTreeForMesh(n,t){var e;Object.assign(n,(e={},e[BVH_MESH_PROP]=t,e.raycast=overrideMeshRaycast,e))}var BVH_POINTS_PROP="__bvh_points__",originPointsRaycast=THREE__namespace.Points.prototype.raycast;function overridePointsRaycast(n,t){var e=getBvhTreeForPoints(this);e?raycastPoints(this,e,n,t):originPointsRaycast.call(this,n,t)}function getBvhTreeForPoints(n){var t=n[BVH_POINTS_PROP];return t instanceof BVHPoints,t}function bindBvhTreeForPoints(n,t){var e;Object.assign(n,(e={},e[BVH_POINTS_PROP]=t,e.raycast=overridePointsRaycast,e))}function generateBvhTree(n,t,e,r){var o=[];return n.traverse(function(s){(s instanceof THREE__namespace.Mesh||s instanceof THREE__namespace.Points)&&s.geometry instanceof THREE__namespace.BufferGeometry&&o.push(s)}),Promise.resolve().then(function(){for(var s=[],u=new Set,l=null,c=0;c<o.length;c++){var f=o[c],d=f.geometry;if(d instanceof THREE__namespace.BufferGeometry){var p=void 0;if(f instanceof THREE__namespace.Mesh?p="mesh":f instanceof THREE__namespace.Points&&(p="points"),!!p){var v=d.boundingBox,A=v?[v.min.x,v.min.y,v.min.z,v.max.x,v.max.y,v.max.z]:void 0,h={};for(var m in d.attributes){var y=d.attributes[m];y instanceof THREE__namespace.InterleavedBufferAttribute?(h[m]={array:y.data.array,stride:y.data.stride,offset:y.offset},l=y.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(h[m]={array:y.array},l=y.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer))}var g=void 0,E=d.getIndex();E&&(E instanceof THREE__namespace.InterleavedBufferAttribute?(g={array:E.data.array,stride:E.data.stride,offset:E.offset},l=E.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(g={array:E.array},l=E.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)));var b={type:p,attributes:h,indices:g,maxItemPerNode:e,maxTreeDepth:r,extents:A};s.push(b)}}}return bvhWorkerPool.postMessage(s,Array.from(u))}).then(function(s){for(var u=0;u<o.length;u++){var l=o[u],c=l.geometry,f=s[u];if(c instanceof THREE__namespace.BufferGeometry){for(var d in f.attributes){var p=f.attributes[d].array,v=c.attributes[d];v instanceof THREE__namespace.InterleavedBufferAttribute?v.data.array=p:v.array=p}var A=c.getIndex();if(A&&f.indices){var p=f.indices.array;A instanceof THREE__namespace.InterleavedBufferAttribute?A.data.array=p:A.array=p}if(l instanceof THREE__namespace.Mesh){var h=new BVHMesh(f.attributes.position,f.indices);h.offsetArray=f.offsetArray,h.rootNodePacked=f.rootNodePacked,bindBvhTreeForMesh(l,h)}else if(l instanceof THREE__namespace.Points){var h=new BVHPoints(f.attributes.position,f.indices);h.offsetArray=f.offsetArray,h.rootNodePacked=f.rootNodePacked,bindBvhTreeForPoints(l,h)}}}return n})}var TileNode=function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o=noop$1);var s=n.call(this)||this;return s.contentObject=r,s.name=e,s.materials=[],s.pbmObjects=[],s.disposers=[o],s.add(r),r.traverse(function(u){var l;if(u instanceof THREE__namespace.Mesh||u instanceof THREE__namespace.Points){var c=u.material;Array.isArray(c)?(l=s.materials).push.apply(l,c):s.materials.push(c)}(u instanceof PBMMesh||u instanceof PBMPointCloud)&&s.pbmObjects.push(u)}),s}return t.prototype.generateBvhTree=function(){return generateBvhTree(this,!0,200,10)},t.prototype.intersectRaycaster=function(e,r,o){r===void 0&&(r=!0),o===void 0&&(o=[]);for(var s=this.children.slice(),u,l=[];u=s.pop();)if(u.visible){u.raycast(e,l);for(var c=0,f=u.children.length;c<f;c++)s.push(u.children[c])}return l.forEach(function(d){var p=0;if((d.object instanceof PBMMesh||d.object instanceof PBMPointCloud)&&d.face){var v=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;v&&(p=v.floor)}d.floor=p}),r&&l.sort(function(d,p){return d.distance-p.distance}),o.push.apply(o,l),o},t.prototype.update=function(e,r,o,s){for(var u=0,l=this.pbmObjects;u<l.length;u++){var c=l[u];c.update(e,r,o,s)}},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var o=r[e];o()}this.disposers.length=0,this.pbmObjects.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject.clone())},t}(THREE__namespace.Object3D);function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(l){return(l!=null?l:"").trim()}).filter(function(l){return l.length>0&&!/^\/+$/.test(l)});for(var r=0;r<n.length;r++){var o=r===0,s=r===n.length-1,u=n[r];o||(u=u.replace(/^\.\//,"").replace(/^\/+/,"")),s||(u=u.replace(/\/+$/,"")),e.push(u)}return e.join("/")}function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",o=n.slice(r.length+2),s=o.indexOf("#");s>=0&&(n.slice(s),o=n.slice(0,s));var u=o.indexOf("?");u>=0&&(n.slice(u),o=n.slice(0,u));for(var l=o.split("/"),c=l.shift(),f=(t=l.pop())!==null&&t!==void 0?t:"",d=[],p=0,v=l;p<v.length;p++){var A=v[p];if(!(A===""||A===".")){if(A===".."){d.pop();continue}d.push(A)}}return r+"//"+c+"/"+d.join("/")+"/"+f}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function normalizeTileHeader(n,t,e){var r;if(n.content){var o=(r=n.content.uri)!==null&&r!==void 0?r:n.content.url;typeof o=="string"&&!isAbsoluteURL(o)&&(n.content.uri=normalizeURL(pathJoin(t,o)))}if(n.transform){for(var s=!1,u=0;u<16;u++){var l=n.transform[u];if(typeof l!="number"||isNaN(l)||!isFinite(l)){s=!0;break}}if(n.transform[15]===0&&(s=!0),s)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var c=0,f=n.children;c<f.length;c++){var d=f[c];normalizeTileHeader(d,t)}return n}function normalizeTilesetHeader(n,t){if(n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.rootMeta.taskParameters||(n.rootMeta.taskParameters={}),n.asset.overview){var e=n.asset.overview;isAbsoluteURL(e.imageFile)||(e.imageFile=normalizeURL(pathJoin(t,e.imageFile))),isAbsoluteURL(e.worldFile)||(e.worldFile=normalizeURL(pathJoin(t,e.worldFile)))}if(n.asset.trajectories)for(var r=0;r<n.asset.trajectories.list.length;r++){var o=n.asset.trajectories.list[r];o.file=normalizeURL(pathJoin(t,o.file))}return normalizeTileHeader(n.root,t),n}function initTextures(n,t,e){for(var r,o,s=Promise.resolve(),u=n.slice(),l=function(){for(var c=[],f=0,d=void 0;d=u.shift();){c.push(d);var p=((r=d.image)===null||r===void 0?void 0:r.width)*((o=d.image)===null||o===void 0?void 0:o.height);if(!isNaN(p)&&isFinite(p)&&(f+=p),f>=e)break}s=s.then(function(){return new Promise(function(v){AnimationFrameLoop.shared.add(function(){for(var A=0,h=c;A<h.length;A++){var m=h[A];t.initTexture(m)}v()},!0)})}).catch(function(){})};u.length>0;)l();return s}function appendSearch(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}var SIZEOF_UINT32$1=4;function parseHeader$1(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$4,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$4={},_a$4[GL_TYPE.DOUBLE]=Float64Array,_a$4[GL_TYPE.FLOAT]=Float32Array,_a$4[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$4[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$4[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$4[GL_TYPE.BYTE]=Int8Array,_a$4[GL_TYPE.SHORT]=Int16Array,_a$4[GL_TYPE.INT]=Int32Array,_a$4),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var o=getArrayType(n);if(e%getByteSize(n)!==0){var s=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new o(s)}else return new o(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var o=this.json[t];if(typeof o=="number"){var s=getArrayType(e);return new s([o])}else if(Array.isArray(o)){var s=getArrayType(e);return new s(o)}else if(o&&Number.isFinite(o.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,o.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(e=glTypeFromName(o.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,o.byteOffset)):this.getTypedArrayFromArray(t,e,o)},n.prototype.getProperty=function(t,e,r,o,s){var u=this.json[t];if(!u)return null;var l=this.getPropertyArray(t,e,r);if(r===1)return s[0]=l[o],s;for(var c=0;c<r;++c)s[c]=l[r*o+c];return s},n.prototype.getTypedArrayFromBinary=function(t,e,r,o,s){var u=this.cachedTypedArrays,l=u[t];return l||(l=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+s,o*r),u[t]=l),l},n.prototype.getTypedArrayFromArray=function(t,e,r){var o=this.cachedTypedArrays,s=o[t];return s||(s=createTypedArray(e,r),o[t]=s),s},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),o=new Uint8Array(n,t,e),s=r.decode(o);return s}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),o=0;n.header=n.header||{};var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var l=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,l>=570425344?(e-=SIZEOF_UINT32*2,o=s,l=u,c=0,s=0,u=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,o=l,l=s,c=u,s=0,u=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=s,n.header.featureTableBinaryByteLength=u,n.header.batchTableJsonByteLength=l,n.header.batchTableBinaryByteLength=c,n.header.batchLength=o,e}function parseFeatureTable(n,t,e){var r=n.header||{},o=r.featureTableJsonByteLength,s=r.featureTableBinaryByteLength,u=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:u||0},o&&o>0){var l=getStringFromArrayBuffer(t,e,o);n.featureTableJson=JSON.parse(l)}e+=o||0,n.featureTableBinary=new Uint8Array(t,e,s),e+=s||0,n.rtcCenter=[0,0,0];var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var f=c.json.RTC_CENTER;n.rtcCenter[0]=f[0],n.rtcCenter[1]=f[1],n.rtcCenter[2]=f[2]}else{var f=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);f&&(n.rtcCenter[0]=f[0],n.rtcCenter[1]=f[1],n.rtcCenter[2]=f[2])}return e}function parseBatchTable(n,t,e){var r=n.header||{},o=r.batchTableJsonByteLength,s=r.batchTableBinaryByteLength;if(o&&o>0){var u=getStringFromArrayBuffer(t,e,o);n.batchTableJson=JSON.parse(u),e+=o,s&&s>0&&(n.batchTableBinary=new Uint8Array(t,e,s),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=s)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),o=new Uint8Array(r);return o.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(o){return t}}var WEBGL_CONSTANTS={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},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}function composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var o=r[e];typeof o.dispose=="function"&&o.dispose(),typeof o.close=="function"&&o.close()}}}var Parser=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.textureSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),this.textureSet.clear(),this.extensions={},this.json={asset:{version:"unknown"}}},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],o=0,s=e.length;o<s;o++)for(var u=e[o].joints,l=0,c=u.length;l<c;l++)t[u[l]].isBone=!0;for(var f=0,d=t.length;f<d;f++){var p=t[f];p.mesh!==void 0&&p.skin!==void 0&&(r[p.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var o=0,s=values(r);o<s.length;o++){var u=s[o];u.markDefs(this)}return Promise.all(values(r).map(function(l){return l.prepare(t)})).then(function(){var l,c,f;return Promise.all([Promise.all(((l=e.scenes)!==null&&l!==void 0?l:[]).map(function(d,p){return t.loadScene(p)})),Promise.all(((c=e.animations)!==null&&c!==void 0?c:[]).map(function(d,p){return t.loadAnimation(p)})),Promise.all(((f=e.cameras)!==null&&f!==void 0?f:[]).map(function(d,p){return t.loadCamera(p)}))])}).then(function(l){var c=l[0],f=l[1],d=l[2],p={json:e,scene:c[e.scene||0],scenes:c,animations:f,cameras:d,textures:[],dispose:noop$1};return p}).then(function(l){return Promise.all(values(r).map(function(c){return c.emitResult(l,t)})).then(function(){return l})}).then(function(l){var c=Array.from(t.textureSet),f=composeDsiposeSet(t.disposeSet);return Object.assign(l,{textures:c,dispose:f}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),l})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadCamera(t,this),o)break}if(!o){var c=void 0,f=this.json.cameras[t],d=f[f.type];d?f.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(d.yfov),d.aspectRatio||1,d.znear||1,d.zfar||2e6):f.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-d.xmag,d.xmag,d.ymag,-d.ymag,d.znear,d.zfar):(console.warn("glTF: Invalid camera type ".concat(f.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),f.name&&(c.name=this.createUniqueName(f.name)),o=Promise.resolve(c)}return this.cache.set(e,o),o},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var o,s=this.json.skins[t],u={joints:s.joints};return s.inverseBindMatrices===void 0?o=Promise.resolve(u):o=this.loadAccessor(s.inverseBindMatrices).then(function(l){return l&&(u.inverseBindMatrices=l),u}),this.cache.set(e,o),o},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadAnimation(t,this),o)break}if(!o){for(var c=this.json,f=c.animations[t],d=[],p=[],v=[],A=[],h=[],m=0,y=f.channels.length;m<y;m++){var g=f.channels[m],E=f.samplers[g.sampler],b=g.target,T=b.node!==void 0?b.node:b.id,_=f.parameters!==void 0?f.parameters[E.input]:E.input,R=f.parameters!==void 0?f.parameters[E.output]:E.output;d.push(this.loadNode(T)),p.push(this.loadAccessor(_)),v.push(this.loadAccessor(R)),A.push(E),h.push(b)}o=Promise.all([Promise.all(d),Promise.all(p),Promise.all(v),Promise.all(A),Promise.all(h)]).then(function(S){for(var M=S[0],P=S[1],H=S[2],w=S[3],C=S[4],L=[],I=function(D,U){var z=M[D],q=P[D],G=H[D],J=w[D],j=C[D];if(z===void 0)return"continue";z.updateMatrix(),z.matrixAutoUpdate=!0;var X=void 0;switch(PATH_PROPERTIES[j.path]){case PATH_PROPERTIES.weights:X=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:X=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:X=THREE__namespace.VectorKeyframeTrack;break}var Y=z.name?z.name:z.uuid,Z=J.interpolation!==void 0?INTERPOLATION[J.interpolation]:THREE__namespace.InterpolateLinear,W=[];PATH_PROPERTIES[j.path]===PATH_PROPERTIES.weights?z.traverse(function(pe){pe.morphTargetInfluences&&W.push(pe.name?pe.name:pe.uuid)}):W.push(Y);var ae=G.array;if(G.normalized){for(var re=getNormalizedComponentScale(ae.constructor),se=new Float32Array(ae.length),ie=0,fe=ae.length;ie<fe;ie++)se[ie]=ae[ie]*re;ae=se}for(var ie=0,fe=W.length;ie<fe;ie++){var ne=new X(W[ie]+"."+PATH_PROPERTIES[j.path],q.array,ae,Z);L.push(ne)}},F=0,k=M.length;F<k;F++)I(F);var N=f.name?f.name:"animation_"+t;return new THREE__namespace.AnimationClip(N,void 0,L)})}return this.cache.set(e,o),o},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadBuffer(t,this),s)break}if(!s){var f=this.json.buffers[t];s=this.options.fetcher.ajax(this.resolveResouce(f.uri),{responseType:"arraybuffer"}).then(function(d){return d.body})}return this.cache.set(r,s),s},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadBufferView(t,this),o)break}if(!o){var c=this.json.bufferViews[t];o=this.loadBuffer(c.buffer).then(function(f){var d=c.byteLength||0,p=c.byteOffset||0;return f.slice(p,p+d)})}return this.cache.set(e,o),o},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,o=this.cache.get(r);if(o)return o;var s=null;if(!s){var u=this.json.accessors[t];if(u.bufferView===void 0&&u.sparse===void 0)s=Promise.resolve(null);else{var l=[];u.bufferView!==void 0?l.push(this.loadBufferView(u.bufferView)):l.push(Promise.resolve(null)),u.sparse!==void 0&&(l.push(this.loadBufferView(u.sparse.indices.bufferView)),l.push(this.loadBufferView(u.sparse.values.bufferView))),s=Promise.all(l).then(function(c){var f=c[0],d=WEBGL_TYPE_SIZES[u.type],p=WEBGL_COMPONENT_TYPES[u.componentType],v=p.BYTES_PER_ELEMENT,A=v*d,h=u.byteOffset||0,m=u.bufferView!==void 0?e.json.bufferViews[u.bufferView].byteStride:void 0,y=u.normalized===!0,g,E;if(m&&m!==A){var b=Math.floor(h/m),T="InterleavedBuffer:"+u.bufferView+":"+u.componentType+":"+b+":"+u.count,_=e.cache.get(T);_||(g=new p(f,b*m,u.count*m/v),_=new THREE__namespace.InterleavedBuffer(g,m/v),e.cache.set(T,_)),E=new THREE__namespace.InterleavedBufferAttribute(_,d,h%m/v,y)}else f===null?g=new p(u.count*d):g=new p(f,h,u.count*d),E=new THREE__namespace.BufferAttribute(g,d,y);if(u.sparse!==void 0){var R=WEBGL_TYPE_SIZES.SCALAR,S=WEBGL_COMPONENT_TYPES[u.sparse.indices.componentType],M=u.sparse.indices.byteOffset||0,P=u.sparse.values.byteOffset||0,H=new S(c[1],M,u.sparse.count*R),w=new p(c[2],P,u.sparse.count*d);f!==null&&(E=new THREE__namespace.BufferAttribute(E.array.slice(),E.itemSize,E.normalized));for(var C=0,L=H.length;C<L;C++){var I=H[C];if(E.setX(I,w[C*d]),d>=2&&E.setY(I,w[C*d+1]),d>=3&&E.setZ(I,w[C*d+2]),d>=4&&E.setW(I,w[C*d+3]),d>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return E})}}return this.cache.set(r,s),s},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var o=r[e],s=o.createPrimitiveKey(t,this);if(s)return s}for(var u="",l=Object.keys(t.attributes).sort(),c=0,f=l.length;c<f;c++)u+=l[c]+":"+t.attributes[l[c]]+";";return t.indices+":"+u+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(l){return e.disposeSet.add(l),l}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadImage(t,this),r)break}if(!r){var l=this.json.images[t];if(l.bufferView!==void 0){var c=this.json.bufferViews[l.bufferView];r=this.loadBuffer(c.buffer).then(function(d){var p=c.byteOffset||0,v=c.byteLength||0,A=new Uint8Array(d,p,v),h=new Blob([A],{type:l.mimeType});return createImageBitmapLike(h)})}else if(l.uri){var f=this.resolveResouce(l.uri);r=this.options.fetcher.loadImage(f,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(d){return d.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(d){return e.disposeSet.add(d),d}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],o=new THREE__namespace.MeshStandardMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(o.vertexColors=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="normal"}).length===0&&(o.flatShading=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(o.normalScale&&(o.normalScale.y*=-1),o.clearcoatNormalScale&&(o.clearcoatNormalScale.y*=-1)),t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,o.map=d,e.disposeSet.add(d)})),o.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,o.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(u.metallicRoughnessTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,o.metalnessMap=d,o.roughnessMap=d,e.disposeSet.add(d)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;if(c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&(r.push(this.createMaterialTexture(s.normalTexture).then(function(d){o.normalMap=d,e.disposeSet.add(d)})),o.normalScale=new THREE__namespace.Vector2(1,1),s.normalTexture.scale!==void 0)){var f=s.normalTexture.scale;o.normalScale.set(f,f)}s.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(s.occlusionTexture).then(function(d){o.aoMap=d,e.disposeSet.add(d)})),s.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&(o.emissive=new THREE__namespace.Color().fromArray(s.emissiveFactor)),s.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(s.emissiveTexture).then(function(d){o.emissiveMap=d,e.disposeSet.add(d)}))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(r.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;r.color.fromArray(u),r.opacity=u[3]}o.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;l===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,l===ALPHA_MODES.MASK&&(r.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],o=new THREE__namespace.PointsMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,o.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(f){return ATTRIBUTES[f]==="color"}).length>0&&(o.vertexColors=!0),Object.keys(t.attributes).filter(function(f){return ATTRIBUTES[f]==="tangent"}).length===0&&(o.normalScale&&(o.normalScale.y*=-1),o.clearcoatNormalScale&&(o.clearcoatNormalScale.y*=-1)),t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(f){f.encoding=THREE__namespace.sRGBEncoding,o.map=f,e.disposeSet.add(f)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:WEBGL_CONSTANTS.TRIANGLES,o="material:"+this.createPrimitiveKey(t),s=this.cache.get(o);if(s)return s;for(var u=null,l=0,c=values(this.extensions);l<c.length;l++){var f=c[l];if(u=f.loadMaterial(t,this),u)break}if(r===WEBGL_CONSTANTS.TRIANGLES||r===WEBGL_CONSTANTS.TRIANGLE_STRIP||r===WEBGL_CONSTANTS.TRIANGLE_FAN)u=this.loadMaterialAsMeshStandardMaterial(t);else if(r===WEBGL_CONSTANTS.LINES||r===WEBGL_CONSTANTS.LINE_STRIP||r===WEBGL_CONSTANTS.LINE_LOOP)u=this.loadMaterialAsLineBasicMaterial(t);else if(r===WEBGL_CONSTANTS.POINTS)u=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(o,u),u},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadTexture(t,this),s)break}if(!s){var f=this.json.textures[t];s=this.loadImage(f.source).then(function(d){var p=new THREE__namespace.Texture(d);p.needsUpdate=!0,p.flipY=!1,f.name&&(p.name=f.name);var v=e.json.samplers||{},A=v[f.sampler]||{};return p.magFilter=WEBGL_FILTERS[A.magFilter]||THREE__namespace.LinearFilter,p.minFilter=WEBGL_FILTERS[A.minFilter]||THREE__namespace.LinearMipmapLinearFilter,p.wrapS=WEBGL_WRAPPINGS[A.wrapS]||THREE__namespace.RepeatWrapping,p.wrapT=WEBGL_WRAPPINGS[A.wrapT]||THREE__namespace.RepeatWrapping,p.onUpdate=function(){d.close()},p})}return s=s.then(function(d){return e.disposeSet.add(d),d}),this.cache.set(r,s),s},n.prototype.loadMesh=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadMesh(t,this),r)break}if(!r){var l=this.json.meshes[t],c=l.primitives,f=Promise.all(c.map(function(p){return e.loadGeometry(p)})),d=Promise.all(c.map(function(p){return e.loadMaterial(p)}));r=Promise.all([f,d]).then(function(p){for(var v=p[0],A=p[1],h=[],m=0;m<c.length;m++){var y=c[m],g=v[m],E=A[m],b=y.mode||WEBGL_CONSTANTS.TRIANGLES,T=void 0;if(b===WEBGL_CONSTANTS.TRIANGLES||b===WEBGL_CONSTANTS.TRIANGLE_STRIP||b===WEBGL_CONSTANTS.TRIANGLE_FAN)if(b===WEBGL_CONSTANTS.TRIANGLE_STRIP?g=e.toGeometryTrianglesDrawMode(g,THREE__namespace.TriangleStripDrawMode):b===WEBGL_CONSTANTS.TRIANGLE_FAN&&(g=e.toGeometryTrianglesDrawMode(g,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(g),l.isSkinnedMesh){var _=new THREE__namespace.SkinnedMesh(g,E);g.attributes.skinWeight.normalized||_.normalizeSkinWeights(),T=_}else T=new THREE__namespace.Mesh(g,E);else if(b===WEBGL_CONSTANTS.POINTS)T=new THREE__namespace.Points(g,E);else if(b===WEBGL_CONSTANTS.LINES)T=new THREE__namespace.LineSegments(g,E);else if(b===WEBGL_CONSTANTS.LINE_STRIP)T=new THREE__namespace.Line(g,E);else if(b===WEBGL_CONSTANTS.LINE_LOOP)T=new THREE__namespace.LineLoop(g,E);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(g.morphAttributes).length>0){if(l.weights!==void 0)for(var R=0,S=l.weights.length;R<S;R++)T.morphTargetInfluences[R]=l.weights[R];if(l.extras&&Array.isArray(l.extras.targetNames)){var M=l.extras.targetNames;if(T.morphTargetInfluences.length===M.length){T.morphTargetDictionary={};for(var R=0,S=M.length;R<S;R++)T.morphTargetDictionary[M[R]]=R}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}T.name=e.createUniqueName(l.name||"mesh_"+t),h.push(T)}if(h.length===1)return h[0];for(var P=new THREE__namespace.Group,H=0,w=h;H<w.length;H++){var T=w[H];P.add(T)}return P})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,o=values(this.extensions);r<o.length;r++){var s=o[r],u=s.loadNodeAttachments(t,this);u&&e.push(u)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var o=this.json,s=o.nodes[t],u=s.name?this.createUniqueName(s.name):"",l=[];s.mesh!==void 0&&l.push(this.loadMesh(s.mesh).then(function(v){if(s.weights!==void 0){var A=s.weights;v.traverse(function(h){if(h instanceof THREE__namespace.Mesh||h instanceof THREE__namespace.Line||h instanceof THREE__namespace.Points)for(var m=0,y=A.length;m<y;m++)h.morphTargetInfluences[m]=A[m]})}return v})),s.camera!==void 0&&l.push(this.loadCamera(s.camera));for(var c=this.loadNodeAttachments(t),f=0,d=c;f<d.length;f++){var p=d[f];l.push(p)}return Promise.all(l).then(function(v){var A;if(s.isBone===!0?A=new THREE__namespace.Bone:v.length>1?A=new THREE__namespace.Group:v.length===1?A=v[0]:A=new THREE__namespace.Object3D,A!==v[0])for(var h=0,m=v.length;h<m;h++)A.add(v[h]);if(s.name&&(A.name=u),s.matrix!==void 0){var y=new THREE__namespace.Matrix4;y.fromArray(s.matrix),A.applyMatrix4(y)}else s.translation!==void 0&&A.position.fromArray(s.translation),s.rotation!==void 0&&A.quaternion.fromArray(s.rotation),s.scale!==void 0&&A.scale.fromArray(s.scale);return A})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],o=new THREE__namespace.Group;r.name&&(o.name=this.createUniqueName(r.name));for(var s=r.nodes||[],u=[],l=0,c=s.length;l<c;l++)u.push(this.buildNodeHierarchy(s[l],o));return Promise.all(u).then(function(){return o})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var o=0,s=values(e.extensions);o<s.length;o++){var u=s[o],l=u.extendTexture(r,t,e);l&&(r=l,e.disposeSet.add(r))}return e.textureSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,o=e.attributes,s=[],u=function(_){var R=ATTRIBUTES[_]||_.toLowerCase();if(R in t.attributes)return"continue";s.push(l.loadAccessor(o[_]).then(function(S){S&&t.setAttribute(R,S)}))},l=this;for(var c in o)u(c);e.indices!==void 0&&!t.index&&s.push(this.loadAccessor(e.indices).then(function(_){_&&t.setIndex(_)}));var f=new THREE__namespace.Box3;if(o.POSITION!==void 0){var d=this.json.accessors[o.POSITION],p=d.min,v=d.max;if(p!==void 0&&v!==void 0){if(f.set(new THREE__namespace.Vector3(p[0],p[1],p[2]),new THREE__namespace.Vector3(v[0],v[1],v[2])),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);f.min.multiplyScalar(A),f.max.multiplyScalar(A)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var h=e.targets;if(h!==void 0){for(var m=new THREE__namespace.Vector3,y=new THREE__namespace.Vector3,g=0,E=h.length;g<E;g++){var b=h[g];if(b.POSITION!==void 0){var d=this.json.accessors[b.POSITION],p=d.min,v=d.max;if(p!==void 0&&v!==void 0){if(y.setX(Math.max(Math.abs(p[0]),Math.abs(v[0]))),y.setY(Math.max(Math.abs(p[1]),Math.abs(v[1]))),y.setZ(Math.max(Math.abs(p[2]),Math.abs(v[2]))),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);y.multiplyScalar(A)}m.max(y)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}f.expandByVector(m)}t.boundingBox=f;var T=new THREE__namespace.Sphere;return f.getCenter(T.center),T.radius=f.min.distanceTo(f.max)/2,t.boundingSphere=T,Promise.all(s).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var _=!1,R=!1,S=0,M=e.targets.length;S<M;S++){var P=e.targets[S];if(P.POSITION!==void 0&&(_=!0),P.NORMAL!==void 0&&(R=!0),_&&R)break}if(!_&&!R)return t;var H=[];t.morphTargetsRelative=!0;for(var w=function(C,L){var I=e.targets[C];_?H.push(r.loadAccessor(I.POSITION).then(function(F){F&&(t.morphAttributes.position[C]=F)})):t.morphAttributes.position[C]=t.attributes.position,R?H.push(r.loadAccessor(I.NORMAL).then(function(F){F&&(t.morphAttributes.normal[C]=F)})):t.morphAttributes.normal[C]=t.attributes.normal},S=0,M=e.targets.length;S<M;S++)w(S,M);return Promise.all(H).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,o=this.json.nodes[t];return this.loadNode(t).then(function(s){if(o.skin===void 0)return s;var u;return r.loadSkin(o.skin).then(function(l){u=l;for(var c=[],f=0,d=u.joints.length;f<d;f++)c.push(r.loadNode(u.joints[f]));return Promise.all(c)}).then(function(l){return s.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var f=[],d=[],p=0,v=l.length;p<v;p++){var A=l[p];if(A instanceof THREE__namespace.Bone){f.push(A);var h=new THREE__namespace.Matrix4;u.inverseBindMatrices!==void 0&&h.fromArray(u.inverseBindMatrices.array,p*16),d.push(h)}else console.warn('glTF: Joint "%s" could not be found.',u.joints[p])}c.bind(new THREE__namespace.Skeleton(f,d),c.matrixWorld)}}),s})}).then(function(s){e.add(s);var u=[];if(o.children)for(var l=o.children,c=0,f=l.length;c<f;c++){var d=l[c];u.push(r.buildNodeHierarchy(d,s))}return Promise.all(u).then(function(){return s})})},n.prototype.createUniqueName=function(t){for(var e=THREE__namespace.PropertyBinding.sanitizeNodeName(t||""),r=e,o=1;this.nodeNamesUsed[r];++o)r=e+"_"+o;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var o=[],s=t.getAttribute("position");if(s!==void 0){for(var u=0;u<s.count;u++)o.push(u);t.setIndex(o),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var l=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var u=1;u<=l;u++)c.push(r.getX(0)),c.push(r.getX(u)),c.push(r.getX(u+1));else for(var u=0;u<l;u++)u%2===0?(c.push(r.getX(u)),c.push(r.getX(u+1)),c.push(r.getX(u+2))):(c.push(r.getX(u+2)),c.push(r.getX(u+1)),c.push(r.getX(u)));c.length/3!==l&&console.error("glTF: Unable to generate correct amount of triangles.");var f=t.clone();return f.setIndex(c),this.disposeSet.add(f),f},n}();function getNormalizedComponentScale(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var BaseExtension=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),KHR_binary_glTF=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var o=new DataView(e,t.HEADER_LENGTH),s=0,u=null,l=null;s<o.byteLength;){var c=o.getUint32(s,!0);if(s+=4,c!==0){var f=o.getUint32(s,!0);if(s+=4,f===t.CHUNK_TYPES.JSON){var d=new Uint8Array(e,t.HEADER_LENGTH+s,c);u=decodeText(d)}else if(f===t.CHUNK_TYPES.BIN){var p=t.HEADER_LENGTH+s;l=e.slice(p,p+c)}s+=c}}if(u===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=u,this.body=l},t.prototype.loadBuffer=function(e,r){var o=r.json.buffers[e];return o.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,o){var s={attributeIDs:r||defaultAttributeIDs,attributeTypes:o||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,s).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var o in e.attributeTypes){var s=e.attributeTypes[o];s.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[o]=s.name)}var u,l=this.workerNextTaskID++,c=t.byteLength,f=this._getWorker(l,c).then(function(d){return u=d,new Promise(function(p,v){u._callbacks[l]={resolve:p,reject:v},u.postMessage({type:"decode",id:l,taskConfig:e,buffer:t},[t])})}).then(function(d){return r._createGeometry(d.geometry)});return f.catch(function(){return!0}).then(function(){u&&l&&r._releaseTask(u,l)}),f},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var o=t.attributes[r],s=o.name,u=o.array,l=o.itemSize,c=!(u instanceof Float32Array||u instanceof Float64Array);e.setAttribute(s,new THREE__namespace.BufferAttribute(u,l,c))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(s){return s.body});this.decoderPending=r.then(function(s){var u=["/* draco decoder */",s,"","/* worker */",DRACOWorker].join(`
|
|
417
|
+
`,cacheMaterials=[],cameraPX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPX.up.set(0,-1,0),cameraPX.lookAt(new THREE__namespace.Vector3(1,0,0)),cameraPX.updateMatrix(),cameraPX.matrixAutoUpdate=!1;var cameraNX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNX.up.set(0,-1,0),cameraNX.lookAt(new THREE__namespace.Vector3(-1,0,0)),cameraNX.updateMatrix(),cameraNX.matrixAutoUpdate=!1;var cameraPY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPY.up.set(0,0,1),cameraPY.lookAt(new THREE__namespace.Vector3(0,1,0)),cameraPY.updateMatrix(),cameraPY.matrixAutoUpdate=!1;var cameraNY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNY.up.set(0,0,-1),cameraNY.lookAt(new THREE__namespace.Vector3(0,-1,0)),cameraNY.updateMatrix(),cameraNY.matrixAutoUpdate=!1;var cameraPZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPZ.up.set(0,-1,0),cameraPZ.lookAt(new THREE__namespace.Vector3(0,0,1)),cameraPZ.updateMatrix(),cameraPZ.matrixAutoUpdate=!1;var cameraNZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNZ.up.set(0,-1,0),cameraNZ.lookAt(new THREE__namespace.Vector3(0,0,-1)),cameraNZ.updateMatrix(),cameraNZ.matrixAutoUpdate=!1;var FACES={front:{camera:cameraPZ,index:4},back:{camera:cameraNZ,index:5},up:{camera:cameraPY,index:2},down:{camera:cameraNY,index:3},left:{camera:cameraNX,index:1},right:{camera:cameraPX,index:0}};function getMaterial(){var n=cacheMaterials.pop();return n||new THREE__namespace.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:PLANE_VERTEX_SHADER,fragmentShader:PLANE_FRAGMENT_SHADER,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:THREE__namespace.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function releaseMaterial(n){n.uniforms.map.value=null,cacheMaterials.push(n)}function renderTexturesToCubeRenderTarget(n,t,e){var r=new THREE__namespace.Scene;r.matrixAutoUpdate=!1;var o=new THREE__namespace.Group;o.scale.set(1,1,-1),r.add(o);for(var s=[],u=new Set,l=0,c=n;l<c.length;l++){var f=c[l];u.add(f.face);var d=getMaterial();s.push(d),d.uniforms.map.value=f.texture,d.uniforms.flipY.value=f.flipY?1:0;var p=new THREE__namespace.Group,v=new THREE__namespace.Mesh(PLAME_GEOMETRY,d);v.position.set(f.position.x+f.size.x/2-.5,1-(f.position.y+f.size.y/2)-.5,-.5),v.scale.set(f.size.x,f.size.y,1),p.quaternion.copy(QUATERNION[f.face]),p.add(v),o.add(p)}var A=e.autoClear,h=e.sortObjects,m=e.xr.enabled,y=t.texture.generateMipmaps;e.autoClear=!1,e.sortObjects=!1,e.xr.enabled=!1,t.texture.generateMipmaps=!1;var g=e.getRenderTarget(),E=0;u.forEach(function(_){++E===u.size&&(t.texture.generateMipmaps=y),e.setRenderTarget(t,FACES[_].index),e.render(r,FACES[_].camera)}),e.setRenderTarget(g),e.autoClear=A,e.sortObjects=h,e.xr.enabled=m;for(var b=0,T=s;b<T.length;b++){var d=T[b];releaseMaterial(d)}}var canUseNativeImageBitmap=function(){return!1}();function createImageBitmapLikeImage(n){n===void 0&&(n={});var t=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onClose&&n.onClose.call(this),this.onerror=this.onload=this.close=noop$1,this.removeAttribute("src")}});return t}function createImageBitmapLike(n){return new Promise(function(t,e){var r=URL.createObjectURL(n),o=createImageBitmapLikeImage({onClose:function(){this.src===r&&URL.revokeObjectURL(r)}});o.onload=function(){o.src===r&&URL.revokeObjectURL(r),o.onload=o.onerror=noop$1,setTimeout(function(){t(o)},10)},o.onerror=function(){var s=o.src;o.onload=o.onerror=noop$1,o.close(),e(new Error("image load error: ".concat(s)))},o.decoding="async",o.src=r})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=noop$1,canvasPool.push(r)}});return r}function poolImageToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var o=new THREE__namespace.Texture(e);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){e.close(),s.call(o),o.dispose=s},o}else{var u=new THREE__namespace.Texture(n);u.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?u.flipY=!1:u.flipY=!0;var l=u.dispose;return u.dispose=function(){n.close(),l.call(u),u.dispose=l},u}}function poolImagesToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,o=n;r<o.length;r++){var s=o[r];s.close()}e.call(t),t.dispose=e},t}var sharedSortVector3$1=new THREE__namespace.Vector3,FACE_ORDER=["right","left","up","down","front","back"],TileCubeTextureTarget=function(){function n(t,e,r,o,s){var u,l,c;this.tileTree=e,this.tileSources=r,this.options=o,this.renderer=s,this.name="",this.needsRender=!1,this.baseLevel=0,this.maxRequest=n.DEFAULT_MAX_REQUEST,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.drawedCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.prepareToRender=[],this.baseCubeTexture=t;var f=(u=this.baseCubeTexture.images)!==null&&u!==void 0?u:[],d=Array.isArray(f)&&f[0]&&f[0].width||((c=(l=o.imageURL)===null||l===void 0?void 0:l.options)===null||c===void 0?void 0:c.size);typeof d!="number"&&(d=2048),this.baseLevel=Math.floor(d/512)-1}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,o,s,u,l;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:THREE__namespace.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:THREE__namespace.LinearFilter,t.texture.magFilter=(o=this.options.magFilter)!==null&&o!==void 0?o:THREE__namespace.LinearFilter,t.texture.wrapS=(s=this.options.wrapS)!==null&&s!==void 0?s:THREE__namespace.ClampToEdgeWrapping,t.texture.wrapT=(u=this.options.wrapT)!==null&&u!==void 0?u:THREE__namespace.ClampToEdgeWrapping,t.texture.generateMipmaps=(l=this.options.generateMipmaps)!==null&&l!==void 0?l:!0,this.baseCubeTexture&&(renderCubeTextureToCubeRenderTarget(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&renderCubeTextureToCubeRenderTarget(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,o,s,u,l,c,f=this.tileSources.filter(function(m){return m.level===t.level})[0];if(this.baseLevel>=t.level||!f)return this.loadedCubeNodes.add(t),this.prepareToRender.push({node:t,texture:null}),!1;var d=f.size,p=Math.pow(2,t.level)*t.position.y,v=Math.pow(2,t.level)*t.position.x,A="".concat(((s=(o=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||o===void 0?void 0:o.key)!==null&&s!==void 0?s:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(p,".").concat(v),h=__assign(__assign({},pick((l=(u=this.options.imageURL)===null||u===void 0?void 0:u.options)!==null&&l!==void 0?l:{key:"unknown"},["format","sharpen","mappings"])),{key:A,size:f.scale>=1?void 0:d*t.size*f.scale,cut:[d*t.position.x,d*t.position.y,d*t.size,d*t.size]});return t.level==1&&(h.format==="jpg"||/\.jpg$/.test(f[t.face]))&&(h.size=void 0,h.quality||(h.quality=70)),this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(f[t.face],{imageURL:{transform:(c=this.options.imageURL)===null||c===void 0?void 0:c.transform,options:__assign({},h)},format:THREE__namespace.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(m){if(e.disposed){m.body.dispose();return}e.prepareToRender.push({node:t,texture:m.body}),e.loadedCubeNodes.add(t)}).catch(noop$1).then(function(){e.disposed||e.loadingCubeNodes.delete(t)}),!0},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var o=t.planes[5].normal,s=Math.max(this.maxRequest-this.loadingCubeNodes.size,0),u=[];traverseTileCubeNode(this.tileTree,function(m){if(m.level>e||!t.intersectsBox(m.box))return!1;!r.loadedCubeNodes.has(m)&&!r.loadingCubeNodes.has(m)&&u.push(m)}),u.sort(function(m,y){return m.level!==y.level?m.level-y.level:m.box.getCenter(sharedSortVector3$1).angleTo(o)-y.box.getCenter(sharedSortVector3$1).angleTo(o)});for(var l=0,c=u;l<c.length;l++){var f=c[l];if(s<=0)break;var d=this.requestTile(f);d&&s--}if(this.cubeRenderTarget&&this.prepareToRender.length){this.prepareToRender.sort(function(m,y){return m.node.level-y.node.level});for(var p=[],v=0;v<this.prepareToRender.length;v++){var A=this.prepareToRender[v],f=A.node,h=A.texture;(f.parent===null||this.drawedCubeNodes.has(f.parent))&&(this.drawedCubeNodes.add(f),h&&p.push({face:f.face,position:f.position,size:new THREE__namespace.Vector2(f.size,f.size),texture:h,flipY:!h.flipY}),this.prepareToRender.splice(v,1),v--)}p.length&&(renderTexturesToCubeRenderTarget(p,this.cubeRenderTarget,this.renderer),this.needsRender=!0)}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.prepareToRender;t<e.length;t++){var r=e[t];r.texture&&r.texture.dispose()}this.prepareToRender.length=0}},n.DEFAULT_MAX_REQUEST=3,n}(),TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,o,s,u){var l,c,f,d,p,v,A;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var h={};typeof e.flipY!="undefined"&&(h.flipY=e.flipY),typeof e.format!="undefined"&&(h.format=e.format),typeof e.encoding!="undefined"&&(h.encoding=e.encoding),h.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,h.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,h.magFilter=(f=e.magFilter)!==null&&f!==void 0?f:THREE__namespace.LinearFilter;var m=(p=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&p!==void 0?p:{key:"unknown"};t=applyImageURLOptions(t,(v=e.imageURL)===null||v===void 0?void 0:v.transform,m);var y=getProtocol(t),g=(A=e.viaAjax)!==null&&A!==void 0?A:canUseNativeImageBitmap,E=isJsonpSource(t),b=/^https?:/.test(y);if(E?g=!0:b||(g=!1),g){var T=null,_="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:_},void 0,void 0,s).then(function(M){return createImageBitmapLike(M.body)}).then(function(M){return poolImageToTexture(M,e.maxSize)}).then(function(M){return Object.assign(M,h),M}).then(function(M){var P={meta:T,body:M};return r(P),P}).catch(function(M){return o(M),Promise.reject(M)})}else{var R=null,S;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(M){return S=M,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,s,M)}).then(function(M){return R=M.meta,poolImageToTexture(M.body,e.maxSize)}).then(function(M){return Object.assign(M,h),M}).then(function(M){var P={meta:R,body:M};return r(P),P}).catch(function(M){return S&&S.close(),o(M),Promise.reject(M)})}},n.prototype.loadCubeTexture=function(t,e,r,o,s,u){var l,c,f,d,p,v,A;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var h={};typeof e.format!="undefined"&&(h.format=e.format),h.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,h.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,h.magFilter=(f=e.magFilter)!==null&&f!==void 0?f:THREE__namespace.LinearFilter;for(var m=[t[FACE_ORDER[0]],t[FACE_ORDER[1]],t[FACE_ORDER[2]],t[FACE_ORDER[3]],t[FACE_ORDER[4]],t[FACE_ORDER[5]]],y=[],g=[0,0,0,0,0,0],E=[],b=function(_){var R=(p=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&p!==void 0?p:{key:"unknown"},S=applyImageURLOptions(m[_],(v=e.imageURL)===null||v===void 0?void 0:v.transform,__assign(__assign({},R),{key:R.key+"."+FACE_ORDER[_]})),M=getProtocol(S),P=function(k){g[_]=k,s(g.reduce(function(N,D){return N+D},0)/6)},H=(A=e.viaAjax)!==null&&A!==void 0?A:!1,w=/^https?:$/.test(M),C=isJsonpSource(S);if(C?H=!0:w||(H=!1),H){var L="blob",I=e.fetcher.ajax(S,{timeout:e.timeout,responseType:L},void 0,void 0,P).then(function(k){return E[_]=k.meta,createImageBitmapLike(k.body)});y.push(I)}else{var F,I=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(N){return F=N,e.fetcher.loadImage(S,{timeout:e.timeout},void 0,void 0,P,N)}).then(function(N){return E[_]=N.meta,N.body}).catch(function(N){return F&&F.close(),Promise.reject(N)});y.push(I)}},T=0;T<6;T++)b(T);return Promise.all(y).then(function(_){return poolImagesToCubeTexture(_)}).then(function(_){return Object.assign(_,__assign({encoding:THREE__namespace.sRGBEncoding},h)),_}).then(function(_){var R={body:_,meta:E};return r(R),R}).catch(function(_){for(var R=0,S=y;R<S.length;R++){var M=S[R];M.then(function(P){return P.close()}).catch(noop$1)}return o(_),Promise.reject(_)})},n.prototype.loadTiledCubeTexture=function(t,e,r,o,s,u,l){var c=this;return o===void 0&&(o=noop$1),s===void 0&&(s=noop$1),u===void 0&&(u=noop$1),new Promise(function(f,d){var p,v;c.loadCubeTexture(t,{imageURL:{transform:(p=r.imageURL)===null||p===void 0?void 0:p.transform,options:(v=r.imageURL)===null||v===void 0?void 0:v.options},format:THREE__namespace.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(A){var h,m=A.meta,y=A.body,g=(h=r.tileMaxLevel)!==null&&h!==void 0?h:2,E=Math.max(1024*g,512),b=createTileCubeTree(g),T=new TileCubeTextureTarget(y,b,e,{textureSize:E,textureLoader:c,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},l),_={meta:m,body:T};o(_),f(_)},function(A){s(A),d(A)},u,l).catch(noop$1)})},n}();const meshNoneVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("n\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshNoneFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-rpA5}n{|P|y|;to9-=;=69-pynz}5z|qryNy}un-7-@=;=9-=;=9->;=66H--<<-JJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--ZNV[lR[Q\f"),meshBasicVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshBasicFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f"),meshPhongVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshPhongFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f");var pbmUniforms$1={modelAlpha:new THREE__namespace.Uniform(0),progress:new THREE__namespace.Uniform(0),pano0_map:new THREE__namespace.Uniform(null),pano0_luminanceMap:new THREE__namespace.Uniform(null),pano0_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano0_zoom:new THREE__namespace.Uniform(1),pano1_map:new THREE__namespace.Uniform(null),pano1_luminanceMap:new THREE__namespace.Uniform(null),pano1_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano1_zoom:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(new THREE__namespace.Vector3),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0)},shaderLib={none:{vertexShader:meshNoneVertexShader,fragmentShader:meshNoneFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms$1,{opacity:{value:1}},THREE__namespace.UniformsLib.fog]),lights:!1,clipping:!1},basic:{vertexShader:meshBasicVertexShader,fragmentShader:meshBasicFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms$1,THREE__namespace.ShaderLib.basic.uniforms]),lights:!1,clipping:!0},phong:{vertexShader:meshPhongVertexShader,fragmentShader:meshPhongFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms$1,THREE__namespace.ShaderLib.phong.uniforms]),lights:!0,clipping:!0}},PBMMeshMaterial=function(n){__extends(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var o=this,s,u,l,c,f,d,p,v,A,h,m,y,g,E,b,T,_,R,S,M,P,H,w,C,L,I=shaderLib[e];o=n.call(this,{vertexShader:I.vertexShader,fragmentShader:I.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(I.uniforms),lights:I.lights,clipping:I.clipping,defines:{USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_LUMINANCE:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,o.shaderType=e,o.color=new THREE__namespace.Color(16777215),o.map=null,o.lightMap=null,o.lightMapIntensity=1,o.aoMap=null,o.aoMapIntensity=1,o.specularMap=null,o.specular=new THREE__namespace.Color(1118481),o.alphaMap=null,o.envMap=null,o.reflectivity=1,o.refractionRatio=.98,o.emissiveMap=null,o.emissive=new THREE__namespace.Color(0),o.emissiveIntensity=1,o.bumpMap=null,o.bumpScale=1,o.normalMap=null,o.normalMapType=THREE__namespace.TangentSpaceNormalMap,o.normalScale=new THREE__namespace.Vector2(1,1),o.displacementMap=null,o.displacementScale=1,o.displacementBias=0,o.shininess=30;var F,k=null,N=null;return Object.defineProperties(o,{pano0:{get:function(){return k},set:function(D){if(k!==D){k=D,D===null?(this.uniforms.pano0_map.value=null,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=D.map instanceof TileCubeTextureTarget?D.map.texture:D.map,this.uniforms.pano0_luminanceMap.value=D.luminanceMap instanceof TileCubeTextureTarget?D.luminanceMap.texture:D.luminanceMap,this.uniforms.pano0_matrix.value.copy(D.matrix),this.uniforms.pano0_zoom.value=D.zoom);var U=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==U&&(this.defines.USE_LUMINANCE=U,this.needsUpdate=!0)}}},pano1:{get:function(){return N},set:function(D){if(N!==D){N=D,D===null?(this.uniforms.pano1_map.value=null,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=D.map instanceof TileCubeTextureTarget?D.map.texture:D.map,this.uniforms.pano1_luminanceMap.value=D.luminanceMap instanceof TileCubeTextureTarget?D.luminanceMap.texture:D.luminanceMap,this.uniforms.pano1_matrix.value.copy(D.matrix),this.uniforms.pano1_zoom.value=D.zoom);var U=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==U&&(this.defines.USE_LUMINANCE=U,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(D){this.uniforms.modelAlpha.value=D}},progress:{get:function(){return this.uniforms.progress.value},set:function(D){this.uniforms.progress.value=D}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(D){var U=this.defines.USE_BLACK_TRANSITION,z=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(D,"_TRANSITION")]=!0;var q=!1;U!==this.defines.USE_BLACK_TRANSITION&&(q=!0),z!==this.defines.USE_SPREAD_TRANSITION&&(q=!0),q&&(this.needsUpdate=!0)}},colorStyle:{get:function(){return this.defines.USE_COLOR_CONSTANT?"CONSTANT":this.defines.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(D){var U=D==="CONSTANT",z=D==="ALTITUDE";this.defines.USE_COLOR_CONSTANT!==U&&(this.defines.USE_COLOR_CONSTANT=U,this.needsUpdate=!0),this.defines.USE_COLOR_ALTITUDE!==z&&(this.defines.USE_COLOR_ALTITUDE=z,this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(D){this.uniforms.constantColor.value=D}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(D){this.uniforms.opacity.value=D}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(D){this.uniforms.shownFloorIndex.value=D}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(D){this.uniforms.gradientTexture.value=D}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(D){this.uniforms.brightness.value=D}},clippers:{get:function(){return F},set:function(D){F!==D&&(F=D,this.uniforms.clippers.value=(F||[]).map(function(U){var z=typeof U.floorIndex=="number"?U.floorIndex:-1,q=new THREE__namespace.Matrix4().getInverse(U.clippingBoxMatrix);return{matrixInverse:q,floorIndex:z}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(D){D!==this.defines.USE_EDL&&(this.defines.USE_EDL=D,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(D){D!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=D,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(D){D!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=D,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(D){this.uniforms.floor.value=D}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(D){this.uniforms.colorSaturation.value=D}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(D){this.uniforms.colorBrightness.value=D}}}),o.pano0=(s=r.pano0)!==null&&s!==void 0?s:defaultPbmParameters.pano0,o.pano1=(u=r.pano1)!==null&&u!==void 0?u:defaultPbmParameters.pano1,o.modelAlpha=(l=r.modelAlpha)!==null&&l!==void 0?l:defaultPbmParameters.modelAlpha,o.progress=(c=r.progress)!==null&&c!==void 0?c:defaultPbmParameters.progress,o.transition=(f=r.transition)!==null&&f!==void 0?f:defaultPbmParameters.transition,o.constantColor=(d=r.constantColor)!==null&&d!==void 0?d:defaultPbmParameters.constantColor,o.opacity=(p=r.opacity)!==null&&p!==void 0?p:defaultPbmParameters.opacity,o.floorStyle=(v=r.floorStyle)!==null&&v!==void 0?v:defaultPbmParameters.floorStyle,o.shownFloorIndex=(A=r.shownFloorIndex)!==null&&A!==void 0?A:defaultPbmParameters.shownFloorIndex,o.clippers=(h=r.clippers)!==null&&h!==void 0?h:defaultPbmParameters.clippers,o.useEDL=(m=r.useEDL)!==null&&m!==void 0?m:defaultPbmParameters.useEDL,o.useHQWeight=(y=r.useHQWeight)!==null&&y!==void 0?y:defaultPbmParameters.useHQWeight,o.useHQDepth=(g=r.useHQDepth)!==null&&g!==void 0?g:defaultPbmParameters.useHQDepth,o.pointSize=(E=r.pointSize)!==null&&E!==void 0?E:defaultPbmParameters.pointSize,o.colorStyle=(b=r.colorStyle)!==null&&b!==void 0?b:defaultPbmParameters.colorStyle,o.pointShape=(T=r.pointShape)!==null&&T!==void 0?T:defaultPbmParameters.pointShape,o.pointScale=(_=r.pointScale)!==null&&_!==void 0?_:defaultPbmParameters.pointScale,o.pointBack=(R=r.pointBack)!==null&&R!==void 0?R:defaultPbmParameters.pointBack,o.pointMinPixel=(S=r.pointMinPixel)!==null&&S!==void 0?S:defaultPbmParameters.pointMinPixel,o.pointMaxPixel=(M=r.pointMaxPixel)!==null&&M!==void 0?M:defaultPbmParameters.pointMaxPixel,o.gradientTexture=(P=r.gradientTexture)!==null&&P!==void 0?P:defaultPbmParameters.gradientTexture,o.brightness=(H=r.brightness)!==null&&H!==void 0?H:defaultPbmParameters.brightness,o.colorSaturation=(w=r.colorSaturation)!==null&&w!==void 0?w:defaultPbmParameters.colorSaturation,o.colorBrightness=(C=r.colorBrightness)!==null&&C!==void 0?C:defaultPbmParameters.colorBrightness,o.customShaders=(L=r.customShaders)!==null&&L!==void 0?L:defaultPbmParameters.customShaders,o.customShaderHash="",o.customShaderUniforms={},o.customShaderDefines={},o.floor=0,o.transparent=!1,o}return t.prototype.onBeforeCompile=function(e,r){var o=this,s,u,l=this.customShaders.filter(function(y){return y.type.includes(o.shaderType)}),c=l.reduce(function(y,g){return y+g.vertex.mainBefore},""),f=l.reduce(function(y,g){return y+g.vertex.mainStart},""),d=l.reduce(function(y,g){return y+g.vertex.mainEnd},""),p=l.reduce(function(y,g){return y+g.fragment.mainBefore},""),v=l.reduce(function(y,g){return y+g.fragment.mainStart},""),A=l.reduce(function(y,g){return y+g.fragment.mainModelColor},""),h=l.reduce(function(y,g){return y+g.fragment.mainEnd},"");e.vertexShader=e.vertexShader.replace(/MAIN_BEFORE/g,c),e.fragmentShader=e.fragmentShader.replace(/MAIN_BEFORE/g,p),e.vertexShader=e.vertexShader.replace(/MAIN_START/g,f),e.fragmentShader=e.fragmentShader.replace(/MAIN_START/g,v),e.vertexShader=e.vertexShader.replace(/MAIN_END/g,d),e.fragmentShader=e.fragmentShader.replace(/MAIN_END/g,h),e.fragmentShader=e.fragmentShader.replace(/MAIN_MODEL_COLOR/g,A);var m=String((u=(s=this.clippers)===null||s===void 0?void 0:s.length)!==null&&u!==void 0?u:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,m),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,m),l.forEach(function(y){y.onBeforeCompile(e,r)})},t.prototype.refreshUniforms=function(e){var r,o,s=this.uniforms;s.diffuse&&s.diffuse.value.copy(this.color),s.opacity&&(s.opacity.value=this.opacity),s.color&&s.diffuse.value.copy(this.color),s.emissive&&s.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),s.map&&(s.map.value=this.map),s.alphaMap&&(s.alphaMap.value=this.alphaMap),s.specularMap&&(s.specularMap.value=this.specularMap),s.envMap&&(s.envMap.value=this.envMap,s.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,s.reflectivity.value=this.reflectivity,s.refractionRatio.value=this.refractionRatio,s.maxMipLevel.value=this.envMap&&(o=e==null?void 0:e.properties.get(this.envMap).__maxMipLevel)!==null&&o!==void 0?o:0),s.lightMap&&(s.lightMap.value=this.lightMap,s.lightMapIntensity.value=this.lightMapIntensity),s.aoMap&&(s.aoMap.value=this.aoMap,s.aoMapIntensity.value=this.aoMapIntensity),s.specular&&s.specular.value.copy(this.specular),s.shininess&&(s.shininess.value=Math.max(this.shininess,1e-4)),s.emissiveMap&&(s.emissiveMap.value=this.emissiveMap),s.bumpMap&&(s.bumpMap.value=this.bumpMap,s.bumpScale.value=this.bumpScale,this.side===THREE__namespace.BackSide&&(s.bumpScale.value*=-1)),s.normalMap&&(s.normalMap.value=this.normalMap,s.normalScale.value.copy(this.normalScale),this.side===THREE__namespace.BackSide&&s.normalScale.value.negate()),s.displacementMap&&(s.displacementMap.value=this.displacementMap,s.displacementScale.value=this.displacementScale,s.displacementBias.value=this.displacementBias);var u;this.map?u=this.map:this.specularMap?u=this.specularMap:this.displacementMap?u=this.displacementMap:this.normalMap?u=this.normalMap:this.bumpMap?u=this.bumpMap:this.alphaMap?u=this.alphaMap:this.emissiveMap&&(u=this.emissiveMap),u!==void 0&&(u.matrixAutoUpdate===!0&&u.updateMatrix(),s.uvTransform.value.copy(u.matrix));var l;this.aoMap?l=this.aoMap:this.lightMap&&(l=this.lightMap),l!==void 0&&(l.matrixAutoUpdate===!0&&l.updateMatrix(),s.uv2Transform.value.copy(l.matrix))},t.prototype.update=function(e,r,o){var s="".concat(o.id,":").concat(o.materialVersion);s!==this.syncModelVersion&&(Object.assign(this,o.getMaterial()),this.syncModelVersion=s);var u=this.customShaders.map(function(g){return g.getHash()}).join("");this.customShaderHash!==u&&(this.customShaderHash=u,this.needsUpdate=!0);for(var l=this.customShaders.reduce(function(g,E){return Object.assign(g,E.defines)},{}),c=Object.keys(this.customShaderDefines),f=0,d=c;f<d.length;f++){var p=d[f];delete this.defines[p]}this.customShaderDefines=l,Object.assign(this.defines,this.customShaderDefines);for(var v=this.customShaders.reduce(function(g,E){return Object.assign(g,E.uniforms)},{}),A=Object.keys(this.customShaderUniforms),h=0,m=A;h<m.length;h++){var y=m[h];delete this.uniforms[y]}this.customShaderUniforms=v,Object.assign(this.uniforms,this.customShaderUniforms),this.visible=!0,this.refreshUniforms(e),this.shaderType==="none"?(this.depthWrite=!1,this.transparent=!0):(this.transparent=!1,this.depthWrite=!0,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.transparent&&(this.depthWrite=!1),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1)),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(o.bounding.max),this.uniforms.modelBoundingMin.value.copy(o.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.shininess=e.shininess,this.customShaders=e.customShaders,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.progress=e.progress,this.transition=e.transition,this.opacity=e.opacity,this.floorStyle=e.floorStyle,this.colorStyle=e.colorStyle,this.constantColor=e.constantColor,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.floor=e.floor,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.refreshUniforms(),this},t.prototype.clone=function(){return new this.constructor(this.shaderType).copy(this)},t}(THREE__namespace.ShaderMaterial);const pointCloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("{vs|z-sy|n-sy||H0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@-nqwP|y|arz}rnr5rp@-p|y|9-sy|n-rz}rnr6\n----<<-将色温范围从-:>;=-到->;=-映射到实际的色温范围----sy|n-rz}-J-5rz}rnr-8->;=6-7-B===;=H-<<-范围从-=-到->====----<<-计算色温系数----sy|n-lsnp|9-tlsnp|9-olsnp|H----vs-5rz}-IJ-CC==;=6-\n--------lsnp|-J->;=H--------tlsnp|-J-=;@F==E>BDEDCF=>FC=DEA-7-y|t5rz}-<->==;=6-:-=;C@>EA>AA@DEEC?DAB=FEH--------olsnp|-J-rz}-IJ->F==;=-L-=;=-G-=;BA@?=CDEF>>=>FC=DEA@-7-y|t5rz}-<->==;=-:->=;=6-:->;>FC?BA=EF>AH----\f-ryr-\n--------lsnp|-J->;?F?F@C>EC=C?DAB=FE=A-7-}|5rz}-<->==;=-:-C=;=9-:=;>@@?=ADBF?6H--------tlsnp|-J->;>?FEF=EC=EFB?FA>>DCB-7-}|5rz}-<->==;=-:-C=;=9-:=;=DBB>AEAF?6H--------olsnp|-J->;=H----\f----<<-调整颜色----rp@-nqwrqP|y|H----nqwrqP|y|;-J-pynz}5p|y|;-7-lsnp|9-=;=9->;=6H----nqwrqP|y|;t-J-pynz}5p|y|;t-7-tlsnp|9-=;=9->;=6H----nqwrqP|y|;o-J-pynz}5p|y|;o-7-olsnp|9-=;=9->;=6H----r{-nqwrqP|y|H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-点大小剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;\x07-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v r-K-@;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--rpA-sv{nyP|y|-J-_TOa|Yv{rn5rpA5P|y|9-|}npv\b66H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|;\x07\b -J-sv{nyP|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--tylSntP|y|-J-sv{nyP|y|H--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\bH--<<-JJJJJJJJJJJJJJ--tylSntP|y|;n-J-tylSntP|y|;n-7-z|qryNy}unH--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs--ZNV[lR[Q\f"),pointCloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Iortv{lrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--rpA-z]|vv|{-J-vrZnv\x07-7-d|yq]|vv|{H--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----rny]|v{`v r-7J-tr|zrvpR|H----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--]|v{`v r-J-tyl]|v{`v rH--P|y|-J-p|y|H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----P|y|-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f");var pbmUniforms=Object.assign({pointScale:new THREE__namespace.Uniform(1),pointMinPixel:new THREE__namespace.Uniform(1),pointMaxPixel:new THREE__namespace.Uniform(1),opacity:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),modelAlpha:new THREE__namespace.Uniform(0),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(new THREE__namespace.Vector3),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.fog)),PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,f,d,p,v,A,h,m,y,g,E,b,T,_,R,S,M,P,H,w,C=n.call(this,{vertexShader:pointCloudVertexShader,fragmentShader:pointCloudFragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(pbmUniforms),lights:!1,clipping:!0,defines:{USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_BLACK_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1}})||this,L;return C.customShaderHash="",C.customShaderUniforms={},C.customShaderDefines={},Object.defineProperties(C,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(I){this.uniforms.constantColor.value=I}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(I){this.uniforms.opacity.value=I}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(I){this.uniforms.modelAlpha.value=I}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(I){this.uniforms.shownFloorIndex.value=I}},clippers:{get:function(){return L},set:function(I){L!==I&&(L=I,this.uniforms.clippers.value=(L||[]).map(function(F){var k=typeof F.floorIndex=="number"?F.floorIndex:-1,N=new THREE__namespace.Matrix4().getInverse(F.clippingBoxMatrix);return{matrixInverse:N,floorIndex:k}}),this.needsUpdate=!0)}},colorStyle:{get:function(){return this.defines.USE_COLOR_CONSTANT?"CONSTANT":this.defines.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(I){var F=I==="CONSTANT",k=I==="ALTITUDE";this.defines.USE_COLOR_CONSTANT!==F&&(this.defines.USE_COLOR_CONSTANT=F,this.needsUpdate=!0),this.defines.USE_COLOR_ALTITUDE!==k&&(this.defines.USE_COLOR_ALTITUDE=k,this.needsUpdate=!0)}},pointSize:{get:function(){return this.defines.USE_POINT_SIZE_GEOMETRIC===!0?"GEOMETRIC":this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(I){var F=I==="ATTENUATION",k=I==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==k&&(this.defines.USE_POINT_SIZE_GEOMETRIC=k,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==F&&(this.defines.USE_POINT_SIZE_ATTENUATION=F,this.needsUpdate=!0)}},pointShape:{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(I){var F=I==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==F&&(this.defines.USE_POINT_SHAPE_CIRCLE=F,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(I){this.uniforms.pointScale.value=I}},pointBack:{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(I){var F=I==="HIDDEN",k=I==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==F&&(this.defines.USE_POINT_BACK_HIDDEN=F,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==k&&(this.defines.USE_POINT_BACK_DARK=k,this.needsUpdate=!0)}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(I){this.uniforms.pointMinPixel.value=I}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(I){this.uniforms.pointMaxPixel.value=I}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(I){I!==this.defines.USE_EDL&&(this.defines.USE_EDL=I,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(I){I!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=I,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(I){I!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=I,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(I){this.uniforms.gradientTexture.value=I}},floor:{get:function(){return this.uniforms.floor.value},set:function(I){this.uniforms.floor.value=I}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(I){this.uniforms.brightness.value=I}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(I){this.uniforms.colorSaturation.value=I}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(I){this.uniforms.colorBrightness.value=I}}}),C.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,C.pano1=(o=e.pano1)!==null&&o!==void 0?o:defaultPbmParameters.pano1,C.modelAlpha=(s=e.modelAlpha)!==null&&s!==void 0?s:defaultPbmParameters.modelAlpha,C.progress=(u=e.progress)!==null&&u!==void 0?u:defaultPbmParameters.progress,C.transition=(l=e.transition)!==null&&l!==void 0?l:defaultPbmParameters.transition,C.colorStyle=(c=e.colorStyle)!==null&&c!==void 0?c:defaultPbmParameters.colorStyle,C.constantColor=(f=e.constantColor)!==null&&f!==void 0?f:defaultPbmParameters.constantColor,C.opacity=(d=e.opacity)!==null&&d!==void 0?d:defaultPbmParameters.opacity,C.floorStyle=(p=e.floorStyle)!==null&&p!==void 0?p:defaultPbmParameters.floorStyle,C.shownFloorIndex=(v=e.shownFloorIndex)!==null&&v!==void 0?v:defaultPbmParameters.shownFloorIndex,C.clippers=(A=e.clippers)!==null&&A!==void 0?A:defaultPbmParameters.clippers,C.useEDL=(h=e.useEDL)!==null&&h!==void 0?h:defaultPbmParameters.useEDL,C.useHQWeight=(m=e.useHQWeight)!==null&&m!==void 0?m:defaultPbmParameters.useHQWeight,C.useHQDepth=(y=e.useHQDepth)!==null&&y!==void 0?y:defaultPbmParameters.useHQDepth,C.pointShape=(g=e.pointShape)!==null&&g!==void 0?g:defaultPbmParameters.pointShape,C.pointSize=(E=e.pointSize)!==null&&E!==void 0?E:defaultPbmParameters.pointSize,C.pointScale=(b=e.pointScale)!==null&&b!==void 0?b:defaultPbmParameters.pointScale,C.pointBack=(T=e.pointBack)!==null&&T!==void 0?T:defaultPbmParameters.pointBack,C.pointMinPixel=(_=e.pointMinPixel)!==null&&_!==void 0?_:defaultPbmParameters.pointMinPixel,C.pointMaxPixel=(R=e.pointMaxPixel)!==null&&R!==void 0?R:defaultPbmParameters.pointMaxPixel,C.gradientTexture=(S=e.gradientTexture)!==null&&S!==void 0?S:defaultPbmParameters.gradientTexture,C.brightness=(M=e.brightness)!==null&&M!==void 0?M:defaultPbmParameters.brightness,C.colorSaturation=(P=e.colorSaturation)!==null&&P!==void 0?P:defaultPbmParameters.colorSaturation,C.colorBrightness=(H=e.colorBrightness)!==null&&H!==void 0?H:defaultPbmParameters.colorBrightness,C.customShaders=(w=e.customShaders)!==null&&w!==void 0?w:defaultPbmParameters.customShaders,C.customShaderHash="",C.floor=0,C.transparent=!0,C}return t.prototype.onBeforeCompile=function(e,r){var o,s,u=this.customShaders.filter(function(m){return m.type.includes("pointcloud")}),l=u.reduce(function(m,y){return m+y.vertex.mainBefore},""),c=u.reduce(function(m,y){return m+y.vertex.mainStart},""),f=u.reduce(function(m,y){return m+y.vertex.mainEnd},""),d=u.reduce(function(m,y){return m+y.fragment.mainBefore},""),p=u.reduce(function(m,y){return m+y.fragment.mainStart},""),v=u.reduce(function(m,y){return m+y.fragment.mainModelColor},""),A=u.reduce(function(m,y){return m+y.fragment.mainEnd},"");e.vertexShader=e.vertexShader.replace(/MAIN_BEFORE/g,l),e.fragmentShader=e.fragmentShader.replace(/MAIN_BEFORE/g,d),e.vertexShader=e.vertexShader.replace(/MAIN_START/g,c),e.fragmentShader=e.fragmentShader.replace(/MAIN_START/g,p),e.vertexShader=e.vertexShader.replace(/MAIN_END/g,f),e.fragmentShader=e.fragmentShader.replace(/MAIN_END/g,A),e.fragmentShader=e.fragmentShader.replace(/MAIN_MODEL_COLOR/g,v);var h=String((s=(o=this.clippers)===null||o===void 0?void 0:o.length)!==null&&s!==void 0?s:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,h),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,h),u.forEach(function(m){m.onBeforeCompile(e,r)})},t.prototype.update=function(e,r,o){var s="".concat(o.id,":").concat(o.materialVersion);s!==this.syncModelVersion&&(Object.assign(this,o.getMaterial()),this.syncModelVersion=s);var u=this.customShaders.map(function(g){return g.getHash()}).join("");this.customShaderHash!==u&&(this.customShaderHash=u,this.needsUpdate=!0);for(var l=this.customShaders.reduce(function(g,E){return Object.assign(g,E.defines)},{}),c=Object.keys(this.customShaderDefines),f=0,d=c;f<d.length;f++){var p=d[f];delete this.defines[p]}this.customShaderDefines=l,Object.assign(this.defines,this.customShaderDefines);for(var v=this.customShaders.reduce(function(g,E){return Object.assign(g,E.uniforms)},{}),A=Object.keys(this.customShaderUniforms),h=0,m=A;h<m.length;h++){var y=m[h];delete this.uniforms[y]}this.customShaderUniforms=v,Object.assign(this.uniforms,this.customShaderUniforms),this.visible=!0,this.transparent=!1,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.modelAlpha<1&&(this.transparent=!0),this.opacity<1&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.depthWrite=!0,this.depthTest=!0,this.useEDL&&(this.transparent=!1),this.useHQWeight?(this.depthWrite=!1,this.blending=THREE__namespace.CustomBlending,this.blendSrc=THREE__namespace.SrcAlphaFactor,this.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,this.blendDst=THREE__namespace.OneFactor,this.blendDstAlpha=THREE__namespace.OneFactor):(this.blending=THREE__namespace.NormalBlending,this.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,this.blendEquation=THREE__namespace.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(o.bounding.max),this.uniforms.modelBoundingMin.value.copy(o.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,this),this.customShaders=e.customShaders,this.pano0=e.pano0,this.pano1=e.pano1,this.progress=e.progress,this.transition=e.transition,this.floorStyle=e.floorStyle,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.constantColor=e.constantColor,this.modelAlpha=e.modelAlpha,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.colorStyle=e.colorStyle,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this},t}(THREE__namespace.ShaderMaterial),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,o=r===void 0?!0:r,s=e.premultipliedAlpha,u=s===void 0?!0:s,l=e.stencil,c=l===void 0?!0:l,f=e.backgroundColor,d=f===void 0?1579548:f,p=e.backgroundAlpha,v=p===void 0?1:p,A=e.pixelRatio,h=A===void 0?1:A,m=e.antialias,y=m===void 0?!1:m,g=e.webgl2,E=e.logarithmicDepthBuffer,b=e.precision,T=e.powerPreference,_=this,R={antialias:y,alpha:!0,depth:!0,preserveDrawingBuffer:o,stencil:c,premultipliedAlpha:u,powerPreference:T},S={logarithmicDepthBuffer:E,precision:b};if(g){var M=document.createElement("canvas"),P=M.getContext("webgl2",R);P?_=n.call(this,__assign(__assign(__assign({},R),S),{antialias:!0,canvas:M,context:P}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),_=n.call(this,__assign(__assign({},R),S))||this)}else _=n.call(this,__assign(__assign({},R),S))||this;return _.setPixelRatio(h),_.setClearColor(d,v),_.outputEncoding=THREE__namespace.sRGBEncoding,_.autoClear=!0,_}return t}(THREE__namespace.WebGLRenderer),Scene=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t}(THREE__namespace.Scene);function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,o=-Math.sin(n.latitude),s=-Math.cos(n.longitude)*e;return t?t.set(r,o,s):new THREE__namespace.Vector3(r,o,s)}var DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=2e3,TAU$2=Math.PI*2,PI_2=Math.PI/2;function formatRad$1(n){return n>0&&n<=TAU$2?n:(n%TAU$2+TAU$2)%TAU$2}function matrixLerp(n,t,e,r){e=Math.pow(e,4);for(var o=0;o<16;o++)r.elements[o]=n.elements[o]+(t.elements[o]-n.elements[o])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,o,s,u,l,c){r===void 0&&(r=DEFAULT_ASPECT),o===void 0&&(o=DEFAULT_NEAR),s===void 0&&(s=DEFAULT_FAR),u===void 0&&(u=new THREE__namespace.Vector2),l===void 0&&(l=new THREE__namespace.Vector2(512,512)),c===void 0&&(c=1);var f=n.call(this)||this;f.fov=e,f.aspect=r,f.near=o,f.far=s,f.perspToOrtho=u,f.resolution=l,f.pixelRatio=c,f.time=0,f.needsRender=!0,f.refineModel=!0,f.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},f.computePose(),f.perspectiveCamera=new THREE__namespace.PerspectiveCamera(f.fov,f.aspect,.001,f.far);var d=Math.max(f.orthoDistance,.01)*Math.tan(.5*f.fov/180*Math.PI),p=-.5*f.aspect*2*d;return f.orthographicCamera=new THREE__namespace.OrthographicCamera(p,-p,d,-d,.001,f.far),f.computeProjectionMatrix(),f.lastValues={position:f.position.clone(),quaternion:f.quaternion.clone(),scale:f.scale.clone(),fov:f.fov,aspect:f.aspect,near:f.near,far:f.far,orthoDistance:f.orthoDistance,perspToOrtho:f.perspToOrtho.clone()},f.type=f.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",f.autoNearFar=!0,f}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return coordinatesToVector(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements;return this.pose.latitude=Math.asin(clamp$1(r[9],-1,1)),Math.abs(r[9])<.9999999?this.pose.longitude=formatRad$1(Math.atan2(r[8],r[10])):this.pose.longitude=formatRad$1(Math.atan2(-r[2],r[0])),this.pose.fov=this.fov,this.pose.distance=e,this.pose.offset=new THREE__namespace.Vector3(-r[8],-r[9],-r[10]).setLength(this.pose.distance).add(this.position),this},t.prototype.setFromPose=function(e){var r,o,s,u,l,c=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),f=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(o=e.latitude)!==null&&o!==void 0?o:this.pose.latitude)),d=(s=e.fov)!==null&&s!==void 0?s:this.pose.fov,p=(u=e.distance)!==null&&u!==void 0?u:this.pose.distance,v=(l=e.offset)!==null&&l!==void 0?l:this.pose.offset,A=coordinatesToVector({longitude:c,latitude:f}).normalize();return this.position.set(0,0,0),this.lookAt(A),this.position.add(v).sub(A.clone().setLength(p)),this.fov!==d&&(this.fov=d,this.updateProjectionMatrix()),this.updateMatrixWorld(!0),this.pose.longitude=c,this.pose.latitude=f,this.pose.fov=d,this.pose.distance=p,this.pose.offset.copy(v),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){matrixLerp(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,o,s,u,l){this.perspectiveCamera.setViewOffset(e,r,o,s,u,l),this.orthographicCamera.setViewOffset(e,r,o,s,u,l),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e){this.time=e;var r=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),r=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.orthoDistance!==this.orthoDistance||this.lastValues.aspect!==this.aspect){var o=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),s=-.5*this.aspect*2*o;this.orthographicCamera.left=s,this.orthographicCamera.right=-s,this.orthographicCamera.top=o,this.orthographicCamera.bottom=-o,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,this.orthographicCamera.updateProjectionMatrix(),r=!0}r&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.orthoDistance=this.orthoDistance,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(now()),this},t}(THREE__namespace.Camera),VolumePlaneIntersect;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(VolumePlaneIntersect||(VolumePlaneIntersect={}));var EPSILON$2=1e-6,scratchVector=new THREE__namespace.Vector3,scratchMatrix4$4=new THREE__namespace.Matrix4,scratchXAxis=new THREE__namespace.Vector3,scratchYAxis=new THREE__namespace.Vector3,scratchZAxis=new THREE__namespace.Vector3,scratchSize=new THREE__namespace.Vector3,scratchBox3=new THREE__namespace.Box3,scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4Inverse$1=new THREE__namespace.Matrix4,scratchRay$1=new THREE__namespace.Ray,scratchObject3D=new THREE__namespace.Object3D,scratchFrustum=new THREE__namespace.Frustum;function quaternionFromMatrix3(n,t){var e=n.elements;return t.setFromRotationMatrix(scratchMatrix4$4.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var CullingVolume=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return scratchMatrix4$4.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$4),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var o=r[e];o.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=VolumePlaneIntersect.Inside,r=0,o=this.planes;r<o.length;r++){var s=o[r],u=t.intersectPlane(s);switch(u){case VolumePlaneIntersect.Outside:return VolumePlaneIntersect.Outside;case VolumePlaneIntersect.Intersecting:e=VolumePlaneIntersect.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,o=Math.min(32,this.planes.length),s=0;s<o;++s){var u=1<<s;if(e&u){var l=this.planes[s],c=t.intersectPlane(l);if(c===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;c===VolumePlaneIntersect.Intersecting&&(r|=u)}}return r},n}(),BoxBoundingVolume=function(){function n(){this.type="box",this.center=new THREE__namespace.Vector3,this.halfSize=new THREE__namespace.Vector3,this.rotation=new THREE__namespace.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],o=e[4],s=e[5],u=e[6],l=e[7],c=e[8],f=e[9],d=e[10],p=e[11],v=Math.max(Math.sqrt(r*r+o*o+s*s),.001),A=Math.max(Math.sqrt(u*u+l*l+c*c),.001),h=Math.max(Math.sqrt(f*f+d*d+p*p),.001);this.halfSize.set(v,A,h);var m=this.halfSize.toArray().reduce(function(y,g){return y+g},0);return(isNaN(m)||m<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/v,o/v,s/v,u/A,l/A,c/A,f/h,d/h,p/h]),isNaN(this.rotation.toArray().reduce(function(y,g){return y+g},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),{box:__spreadArray(__spreadArray(__spreadArray(__spreadArray([],this.center.toArray(),!0),scratchXAxis.multiplyScalar(this.halfSize.x).toArray(),!0),scratchYAxis.multiplyScalar(this.halfSize.y).toArray(),!0),scratchZAxis.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return scratchObject3D.position.copy(this.center),quaternionFromMatrix3(this.rotation,scratchObject3D.quaternion),scratchObject3D.scale.copy(this.halfSize),scratchObject3D.matrix.compose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),scratchObject3D.matrix.premultiply(t),scratchObject3D.matrix.decompose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),this.center.copy(scratchObject3D.position),this.rotation.setFromMatrix4(scratchMatrix4$4.makeRotationFromQuaternion(scratchObject3D.quaternion)),this.halfSize.copy(scratchObject3D.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,o=t.y-this.center.y,s=t.z-this.center.z,u=0,l;return l=r*e[0]+o*e[1]+s*e[2],l<0&&(l=-l),l-=this.halfSize.x,l>0&&(u+=l*l),l=r*e[3]+o*e[4]+s*e[5],l<0&&(l=-l),l-=this.halfSize.y,l>0&&(u+=l*l),l=r*e[6]+o*e[7]+s*e[8],l<0&&(l=-l),l-=this.halfSize.z,l>0&&(u+=l*l),u},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new THREE__namespace.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchXAxis.setLength(this.halfSize.x),scratchYAxis.setLength(this.halfSize.y),scratchZAxis.setLength(this.halfSize.z),t.expandByPoint(scratchVector.copy(this.center).add(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchZAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchZAxis)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);scratchVector.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),scratchVector.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),scratchVector.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),scratchVector.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),scratchVector.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),scratchVector.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),scratchVector.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),scratchVector.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new THREE__namespace.BufferGeometry;return r.setIndex(new THREE__namespace.BufferAttribute(t,1)),r.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,o=this.rotation.elements,s=this.halfSize,u=r.x,l=r.y,c=r.z,f=Math.abs(u*o[0]*s.x+l*o[1]*s.x+c*o[2]*s.x)+Math.abs(u*o[3]*s.y+l*o[4]*s.y+c*o[5]*s.y)+Math.abs(u*o[6]*s.z+l*o[7]*s.z+c*o[8]*s.z),d=r.dot(e)+t.constant;return d<=-f?VolumePlaneIntersect.Outside:d>=f?VolumePlaneIntersect.Inside:VolumePlaneIntersect.Intersecting},n.prototype.intersectRay=function(t,e){if(scratchSize.copy(this.halfSize).multiplyScalar(2),scratchBox3.setFromCenterAndSize(scratchVector.set(0,0,0),scratchSize),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$4.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$4.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$4),scratchRay$1.copy(t).applyMatrix4(scratchMatrix4Inverse$1),scratchBox3.containsPoint(scratchRay$1.origin))return!0;var r=scratchRay$1.intersectBox(scratchBox3,scratchVector);return r?e!==void 0?r.applyMatrix4(scratchMatrix4$4).distanceTo(t.origin)<e:!0:!1},n}(),SphereBoundingVolume=function(){function n(){this.type="sphere",this.center=new THREE__namespace.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],EPSILON$2),this},n.prototype.toJson=function(){return{sphere:__spreadArray(__spreadArray([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,scratchSize.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+Math.sin(o)*this.radius,e[r*6+2]=this.center.z+0,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+Math.sin(o)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(o)*this.radius,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(o)*this.radius}var s=new THREE__namespace.BufferGeometry;return s.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),s.computeBoundingBox(),s.computeBoundingSphere(),s},n.prototype.applyMatrix4=function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,o=t.normal,s=o.dot(e)+t.constant;return s<-r?VolumePlaneIntersect.Outside:s<r?VolumePlaneIntersect.Intersecting:VolumePlaneIntersect.Inside},n.prototype.intersectRay=function(t,e){if(scratchSphere$1.set(this.center,this.radius),scratchSphere$1.containsPoint(t.origin))return!0;var r=t.intersectSphere(scratchSphere$1,scratchVector);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),RegionBoundingVolume=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function isBoundingVolume(n){return n instanceof BoxBoundingVolume||n instanceof SphereBoundingVolume||n instanceof RegionBoundingVolume}function makeBoundingVolume(n){if("box"in n)return new BoxBoundingVolume().fromJson(n);if("sphere"in n)return new SphereBoundingVolume().fromJson(n);if("region"in n)return new RegionBoundingVolume().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var debugMaterials=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new THREE__namespace.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),debugBoxGeometry=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);scratchVector.set(1,1,1).toArray(t,0),scratchVector.set(-1,1,1).toArray(t,3),scratchVector.set(-1,-1,1).toArray(t,6),scratchVector.set(1,-1,1).toArray(t,9),scratchVector.set(1,1,-1).toArray(t,12),scratchVector.set(-1,1,-1).toArray(t,15),scratchVector.set(-1,-1,-1).toArray(t,18),scratchVector.set(1,-1,-1).toArray(t,21);var e=new THREE__namespace.BufferGeometry;return e.setIndex(new THREE__namespace.BufferAttribute(n,1)),e.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),debugSphereGeometry=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o}();function createDebugBoundingMesh(n,t){if(n instanceof BoxBoundingVolume){var e=new THREE__namespace.LineSegments(debugBoxGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),quaternionFromMatrix3(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof SphereBoundingVolume){var e=new THREE__namespace.LineSegments(debugSphereGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var scratchVector3$4=new THREE__namespace.Vector3,Tile=function(){function n(t,e,r,o){var s=this,u,l,c,f;this.parent=null,this.contentParent=null,this.floor=0,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,distanceToCamera:0,centerZDepth:0,centerScreenY:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1,shouldRefine:!1,stackLength:0,finalResolution:!0,selectionDepth:0,shouldSelect:!1,lastSelect:!1,ancestorWithContent:null,ancestorWithContentAvailable:null},this.parent=o!=null?o:null,this.contentParent=o?o.hasRenderContent?o:o.contentParent:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(u=e.refine)!==null&&u!==void 0?u:this.parent?this.parent.refine:"REPLACE",this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(c=(l=this.parent)===null||l===void 0?void 0:l.geometricError)!==null&&c!==void 0?c:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=makeBoundingVolume(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=makeBoundingVolume(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=makeBoundingVolume(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=(f=e.extras)!==null&&f!==void 0?f:{},typeof this.extras.floor!="number"&&o&&typeof o.extras.floor=="number"&&(this.extras.floor=o.extras.floor),typeof this.extras.floor=="number"&&(this.floor=this.extras.floor,this.tileset.floorLength=Math.max(this.tileset.floorLength,this.floor+1)),this.boundingVolume&&(this.boundingVolumeDebugObject=createDebugBoundingMesh(this.boundingVolume,this.levelOfContent)),e.children?this.children=e.children.map(function(d,p){return new n("".concat(s.id,".").concat(p),d,r,s)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var o=r[e];o.traverse(t)}},n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;if(t.camera.type==="OrthographicCamera"){var o=new THREE__namespace.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(o)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var s=r.getCenter(scratchVector3$4).sub(t.camera.position);this.state.centerZDepth=t.camera.direction.dot(s),this.state.centerScreenY=t.camera.up.dot(s);var u=this.parent?this.parent.state.visibilityPlaneMask:CullingVolume.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,u),this.state.visible=this.state.visibilityPlaneMask!==CullingVolume.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.centerZDepth=0,this.state.visibilityPlaneMask=CullingVolume.MASK_INDETERMINATE,this.state.visible=!0;if(this.levelOfContent<=t.minLevelOfDetail&&(this.state.visible=!0),this.viewerRequestVolume){var l=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=l.distanceSquaredToPoint(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),n.prototype.getScreenSpaceError=function(t,e,r){var o=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),s=this.parent?this.parent.geometricError:this.tileset.geometricError,u=o*(r?s:this.geometricError);if(u===0)return 0;var l=t.height,c=t.camera.type==="OrthographicCamera"?2:t.sseDenominator,f=Math.max(e,.001),d=u*l/(f*c);return d},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1)return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),o=r?e.state.screenSpaceError:this.state.screenSpaceError,s=this.tileset.root?this.tileset.root.state.screenSpaceError:0,u=Math.max(s-o,0);return u},n}(),priorityCache=new Map;function getPriority(n,t){if(t&&t.has(n))return t.get(n);var e=n.refine==="ADD"||n.tileset.skipLevelOfDetail,r=n.parent,o=r&&(!e||n.state.screenSpaceError===0),s=o?r.state.screenSpaceError:n.state.screenSpaceError,u=n.tileset.root?n.tileset.root.state.screenSpaceError:0,l=Math.max(u-s,0);return t&&t.set(n,l),l}var TileRequestScheduler=function(){function n(t,e){this.tileset=t,this.options=e,this.activeRequests=0,this.requestQueue=[]}return n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];this.options.onTileSkip&&this.options.onTileSkip(r.tile)}this.requestQueue.length=0},n.prototype.update=function(t,e,r){for(var o=this,s=r.time,u=this.requestQueue,l=new Set(t),c=0;c<u.length;c++){var f=u[c];if(l.has(f.tile)){l.delete(f.tile);continue}f.status==="WAITING"&&(u.splice(c,1),c--,this.options.onTileSkip&&this.options.onTileSkip(f.tile))}l.size>0&&(l.forEach(function(g){u.push({tile:g,status:"WAITING",time:s,error:null})}),l.clear());for(var d=this.tileset.maxRequests,c=0;c<u.length&&d>0;c++){var f=u[c];if(f.status==="DONE")f.error!==null?this.options.onTileError&&this.options.onTileError(f.tile,f.error):(d--,f.tile.content&&(f.tile.content.loadState="READY"),this.options.onTileLoad&&this.options.onTileLoad(f.tile)),u.splice(c,1),c--;else if(f.status==="PENDING"&&s-f.time<1e3)break}switch(priorityCache.clear(),e){case"SCREEN_SPACE_ERROR":{u.sort(function(g,E){if(g.tile.state.requestedFrameNumber!==E.tile.state.requestedFrameNumber)return E.tile.state.requestedFrameNumber-g.tile.state.requestedFrameNumber;if(g.tile.state.requestedFrameNumber===r.frameNumber){var b=getPriority(g.tile,priorityCache),T=getPriority(E.tile,priorityCache);return b-T}else return g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera});break}case"SCREEN_VERTICAL":{u.sort(function(g,E){return g.tile.state.requestedFrameNumber!==E.tile.state.requestedFrameNumber?E.tile.state.requestedFrameNumber-g.tile.state.requestedFrameNumber:g.tile.state.requestedFrameNumber===r.frameNumber?g.tile.state.centerScreenY!==E.tile.state.centerScreenY?g.tile.state.centerScreenY-E.tile.state.centerScreenY:g.tile.state.centerZDepth!==E.tile.state.centerZDepth?g.tile.state.centerZDepth-E.tile.state.centerZDepth:g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera:g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera});break}case"SCREEN_LEVEL_VERTICAL":{u.sort(function(g,E){return g.tile.state.requestedFrameNumber!==E.tile.state.requestedFrameNumber?E.tile.state.requestedFrameNumber-g.tile.state.requestedFrameNumber:g.tile.state.requestedFrameNumber===r.frameNumber?g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.centerScreenY!==E.tile.state.centerScreenY?g.tile.state.centerScreenY-E.tile.state.centerScreenY:g.tile.state.centerZDepth!==E.tile.state.centerZDepth?g.tile.state.centerZDepth-E.tile.state.centerZDepth:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera:g.tile.level!==E.tile.level?g.tile.level-E.tile.level:g.tile.state.distanceToCamera-E.tile.state.distanceToCamera});break}}if(d=Math.max(this.tileset.maxRequests-this.activeRequests,0),!this.tileset.skipLevelOfDetail)for(var p=0,v=u.length,c=0;c<v;c++){var A=u[c].tile;if(A.hasTilesetContent||A.contentParent===null||A.contentParent.state.selectedFrameNumber===this.tileset.frameNumber){var h=u.splice(c,1);u.splice.apply(u,__spreadArray([p++,0],h,!1))}}for(var m=function(g){var E=u[g];E.status==="WAITING"&&(d--,E.status="PENDING",E.time=s,y.activeRequests++,y.tileset.options.tileLoader(E.tile).catch(function(b){E.error=b}).then(function(){E.status="DONE",E.tile.content&&E.tile.content.loadState==="READY"&&(E.tile.content.loadState="LOADING"),o.activeRequests--}))},y=this,c=0;c<u.length&&d>0;c++)m(c)},n}(),CacheNode=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),CacheNodeList=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new CacheNode(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),TileCache=function(){function n(t){t===void 0&&(t={}),this.options=t,this.cacheNodeMap=new Map,this.list=new CacheNodeList,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touchTile=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.loadTile=function(t){if(!this.cacheNodeMap.has(t)){var e=this.list.add(t);this.cacheNodeMap.set(t,e),this.options.onTileLoad&&this.options.onTileLoad(t)}},n.prototype.unloadTile=function(t){var e=this.cacheNodeMap.get(t);e&&(this.list.remove(e),this.cacheNodeMap.delete(t),this.options.onTileUnload&&this.options.onTileUnload(t))},n.prototype.unloadTiles=function(t){for(var e=this.list.head;e!==this.sentinel&&t();){var r=e.item;e=e.next,this.unloadTile(r)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var o=r[e];o.item!=="sentinel"&&t.push(o.item)}return t},n}(),ManagedArray=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),this.array[this._length]=void 0,t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n.prototype.peek=function(){return this.array[this._length-1]},n}(),TilesetBaseTraverser=function(){function n(t){this.tileset=t,this._canSelectTile=!0,this._loadAllTilesTraversalStack=new ManagedArray,this.root=null}return n.prototype.traverse=function(t,e,r){this.root=t,this.reset()},n.prototype.reset=function(){this._loadAllTilesTraversalStack.reset(),this.tileset.hasMixedContent=!1,this.tileset.needsRefinedTiles.clear(),this.tileset.requestedTiles.length=0,this.tileset.selectedTiles.length=0},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e),t.state.shouldSelect=!1,t.state.finalResolution=!0},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&t.state.selectedFrameNumber<e.frameNumber&&(t.state.selectedFrameNumber=e.frameNumber,this.tileset.selectedTiles.push(t),this.tileset.needsRefinedTiles.add(t))},n.prototype.loadTile=function(t,e){t.state.requestedFrameNumber<e.frameNumber&&(t.state.requestedFrameNumber=e.frameNumber,t.content&&(t.content.loadState==="FAILED"&&e.time-t.content.loadStateUpdateTime>t.content.loadfailRetryDelay&&(t.content.loadState="UNLOADED",t.content.loadStateUpdateTime=e.time),t.content.loadState==="UNLOADED"&&this.tileset.requestedTiles.push(t))),this.tileset.needsRefinedTiles.add(t)},n.prototype.touchTile=function(t,e){this.tileset.cache.touchTile(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e){return!t.state.inRequestVolume||t.levelOfContent>=e.maxLevelOfDetail||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.hasTilesetContent?!0:t.state.screenSpaceError>this.tileset.maxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var o=t.children[0];this.updateTileVisibility(o,e),t.state.visible=o.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}var s=t.refine==="REPLACE";if(s&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,o=t.children,s=0,u=o;s<u.length;s++){var l=u[s];l.updateState(e),r=r||l.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail?!1:r.levelOfContent>e.maxLevelOfDetail?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<this.tileset.maxScreenSpaceError},n.prototype.sortTilesByDistanceToCamera=function(t){t.sort(function(e,r){return r.state.distanceToCamera===0&&e.state.distanceToCamera===0?r.state.centerZDepth-e.state.centerZDepth:r.state.distanceToCamera-e.state.distanceToCamera})},n.prototype.loadAllTiles=function(t,e){var r=this._loadAllTilesTraversalStack;for(r.push(t);r.length>0;){var o=r.pop();o.content&&o.content.loadState==="UNLOADED"&&o.state.requestedFrameNumber<e.frameNumber&&this.tileset.requestedTiles.push(o),this.touchTile(o,e);for(var s=0,u=o.children;s<u.length;s++){var l=u[s];r.push(l)}}},n}(),TilesetNormalTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r._emptyTraversalStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),this._emptyTraversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._emptyTraversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop(),u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var f=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)):(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var f=e.refine==="REPLACE"&&e.hasRenderContent,d=!1,p=!0,v=0,A=s;v<A.length;v++){var c=A[v];if(c.levelOfContent<=r.minLevelOfDetail||c.state.visible&&c.state.inRequestVolume?(o.find(c)&&o.delete(c),o.push(c),d===!1&&(d=!0)):(f||this.tileset.loadSiblings)&&(this.loadTile(c,r),this.touchTile(c,r)),f){var h=void 0;c.state.inRequestVolume?c.hasRenderContent?h=c.contentAvailable:h=this.executeEmptyTraversal(c,r):h=!1,p=p&&h}}return d||(p=!1),p},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var o=!0,s=this._emptyTraversalStack;for(s.push(e);s.length>0&&o;){var u=s.pop(),l=!u.hasRenderContent&&this.canTraverse(u,r);if(!l&&!u.contentAvailable&&(o=!1),this.updateTile(u,r),u.state.visible||(this.loadTile(u,r),this.touchTile(u,r)),l)for(var c=u.children,f=0,d=c;f<d.length;f++){var p=d[f];s.find(p)&&s.delete(p),s.push(p)}}return o},t}(TilesetBaseTraverser),TilesetSkipTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r.baseScreenSpaceError=1024,r.skipScreenSpaceErrorFactor=16,r.skipLevels=1,r._traversalStack=new ManagedArray,r._descendantTraversalStack=new ManagedArray,r._selectionTraversalStack=new ManagedArray,r._selectionTraversalancestorStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l),this.traverseAndSelect(e,l))}this.tileset.hasMixedContent=!1,this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r),this.traverseAndSelect(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop();this.updateTileAncestorContentLinks(s,r);var u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var f=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.inBaseTraversal(s,this.baseScreenSpaceError)?(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)):f?(this.loadTile(s,r),this.selectDesiredTile(s,r)):this.reachedSkippingThreshold(s)&&this.loadTile(s,r)):(this.loadTile(s,r),f&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var f=!1,d=0,p=s;d<p.length;d++){var c=p[d];c.levelOfContent<=r.minLevelOfDetail||c.state.visible&&c.state.inRequestVolume?(o.push(c),f===!1&&(f=!0)):this.tileset.loadSiblings&&(this.loadTile(c,r),this.touchTile(c,r))}return f},t.prototype.selectDesiredTile=function(e,r){var o=e.contentAvailable?e:e.state.ancestorWithContentAvailable;o&&(o.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var o=this._descendantTraversalStack;for(o.push(e);o.length>0;)for(var s=o.pop(),u=s.children,l=0,c=u;l<c.length;l++){var f=c[l];f.state.visible&&(f.contentAvailable?(this.updateTile(f,r),this.touchTile(f,r),this.selectTile(f,r)):o.push(f))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,o=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return o},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var o=e.parent;if(o){var s=!(o.hasRenderContent&&o.hasUnloadedContent)||o.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=s?o:o.state.ancestorWithContent,e.state.ancestorWithContentAvailable=o.contentAvailable?o:o.state.ancestorWithContentAvailable}},t.prototype.inBaseTraversal=function(e,r){return e.state.ancestorWithContent?e.parent&&e.state.screenSpaceError===0?e.parent.state.screenSpaceError>r:e.state.screenSpaceError>r:!0},t.prototype.traverseAndSelect=function(e,r){var o=this._selectionTraversalStack,s=this._selectionTraversalancestorStack,u;for(o.push(e);o.length>0||s.length>0;){if(s.length>0){var l=s.peek();if(l.state.stackLength===o.length){s.pop(),l!==u&&(l.state.finalResolution=!1),this.selectTile(l,r);continue}}var c=o.pop();if(c){var f=this.canTraverse(c,r);if(c.state.shouldSelect)if(c.refine==="ADD")this.selectTile(c,r);else{if(c.state.selectionDepth=s.length,c.state.selectionDepth>0&&(c.tileset.hasMixedContent=!0),u=c,!f){this.selectTile(c,r);continue}s.push(c),c.state.stackLength=o.length}if(f)for(var d=0,p=c.children;d<p.length;d++){var v=p[d];v.state.visible&&o.push(v)}}}},t}(TilesetBaseTraverser),TilesetMostDetailTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r}return t.prototype.canTraverse=function(e,r){return!(!e.state.inRequestVolume||e.levelOfContent>=r.maxLevelOfDetail||e.children.length===0)},t.prototype.traverse=function(e,r,o){n.prototype.traverse.call(this,e,r,[]),this._traversalStack.reset(),e.updateState(r);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,e.updateState(l),this.executeTraversal(e,l))}this._traversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,e.updateState(r),this.executeTraversal(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(o.push(e);o.length>0;){var s=o.pop(),u=s.refine==="ADD",l=s.refine==="REPLACE",c=this.canTraverse(s,r);c&&this.updateAndPushChildren(s,r,o),(u||l&&!c)&&(this.loadTile(s,r),this.touchTile(s,r),this.selectDesiredTile(s,r))}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0;u<s.length;++u){var l=s[u];l.updateState(r),l.state.visible&&o.push(l)}},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t}(TilesetBaseTraverser),Trajectory=function(){function n(t,e,r){this.index=t,this.name=e.name,this.visible=!1,this.tileset=r,this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.transform.premultiply(this.tileset.root.transform),this.content={uri:e.file,byteLength:0,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,data:void 0}}return n}(),identityMatrix4=new THREE__namespace.Matrix4,Tileset=function(){function n(t,e,r){var o=this,s,u,l,c,f,d,p,v,A;if(this.id=t,this.transform=new THREE__namespace.Matrix4,this.transformIsIdentity=!0,this.hasMixedContent=!1,this.url=(s=r.url)!==null&&s!==void 0?s:"",this.referer=(u=r.referer)!==null&&u!==void 0?u:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(l=e.asset.gltfUpAxis)!==null&&l!==void 0?l:"Y",overview:e.asset.overview,trajectories:(f=(c=e.asset.trajectories)===null||c===void 0?void 0:c.list)!==null&&f!==void 0?f:[],extras:e.asset.extras},this.rootMeta=(d=e.rootMeta)!==null&&d!==void 0?d:{},this.pointLength=(p=this.rootMeta.numTotalPoints)!==null&&p!==void 0?p:1/0,this.floorLength=(v=this.rootMeta.numFloors)!==null&&v!==void 0?v:1,this.properties=(A=e.properties)!==null&&A!==void 0?A:{},this.options=r,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.mostDetail=n.DEFAULT_MOST_DETAIL,this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.loadAll=n.DEFAULT_LOAD_ALL,this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.tileRequestOrder=n.DEFAULT_REQUEST_ORDER,this.requestedTiles=[],this.selectedTiles=[],this.unloadTiles=[],this.needsRefinedTiles=new Set,this.selectedTrajectories=[],this.normalTraverser=new TilesetNormalTraverser(this),this.skipTraverser=new TilesetSkipTraverser(this),this.mostDetailTraverser=new TilesetMostDetailTraverser(this),this.cache=new TileCache({onTileLoad:function(y){o.memoryUsageInBytes+=y.contentByteLength},onTileUnload:function(y){o.memoryUsageInBytes-=y.contentByteLength,o.unloadTiles.push(y)}}),this.requestScheduler=new TileRequestScheduler(this,{onTileSkip:function(y){},onTileLoad:function(y){var g;!((g=y.content)===null||g===void 0)&&g.data&&(o.loadedTiles.add(y),o.cache.loadTile(y)),o.options.onTileLoad(y)},onTileError:function(y,g){o.options.onTileError(y,g)}}),this.frameNumber=0,this.maxLevelOfDetail=0,this.minLevelOfDetail=0,this.loadedTiles=new Set,this.memoryUsageInBytes=0,this.root=new Tile("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.trajectories=[],this.asset.trajectories)for(var h=0;h<this.asset.trajectories.length;h++){var m=new Trajectory(h,this.asset.trajectories[h],this);this.trajectories.push(m)}}return Object.defineProperty(n.prototype,"traverser",{get:function(){return this.mostDetail?this.mostDetailTraverser:this.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var o=0,s=r.children.length;o<s;o++)e.push(r.children[o]);this.cache.unloadTile(r)}for(var u=function(){var d=l.unloadTiles.pop();d&&(l.loadedTiles.delete(d),l.memoryUsageInBytes-=d.contentByteLength,l.options.tileUnloader(d).catch(function(){}).then(function(){t.options.onTileUnload&&t.options.onTileUnload(d)}))},l=this;this.unloadTiles.length;)u();this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.loadedTiles.clear();for(var c=function(){var d=f.trajectories.pop();d&&f.options.trajectoryUnloader(d).catch(function(){}).then(function(){t.options.onTrajectoryUnload&&t.options.onTrajectoryUnload(d)})},f=this;this.trajectories.length;)c()},n.prototype.update=function(t,e){var r=this,o;e===void 0&&(e=[]),this.frameNumber=t.frameNumber,this.minLevelOfDetail=t.minLevelOfDetail,this.maxLevelOfDetail=t.maxLevelOfDetail,this.transformIsIdentity=this.transform.equals(identityMatrix4),this.traverser.traverse(this.root,t,e),this.cache.unloadTiles(function(){var v=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return v}),this.requestScheduler.update(this.requestedTiles,this.tileRequestOrder,t);for(var s=function(){var v=u.unloadTiles.pop();v&&(u.loadedTiles.delete(v),u.options.tileUnloader(v).catch(function(){}).then(function(){r.options.onTileUnload&&r.options.onTileUnload(v)}))},u=this;this.unloadTiles.length;)s();this.selectedTrajectories.length=0;for(var l=function(v){v.visible===!0&&v.content.loadState==="READY"&&(!((o=v.content.data)===null||o===void 0)&&o.object)?c.selectedTrajectories.push(v):v.visible===!0&&(v.content.loadState==="FAILED"&&t.time-v.content.loadStateUpdateTime>v.content.loadfailRetryDelay&&(v.content.loadState="UNLOADED",v.content.loadStateUpdateTime=t.time),v.content.loadState==="UNLOADED"&&c.options.trajectoryLoader(v).then(function(){r.options.onTrajectoryLoad(v)}).catch(function(A){r.options.onTrajectoryError(v,A)}))},c=this,f=0,d=this.trajectories;f<d.length;f++){var p=d[f];l(p)}},n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_MOST_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_LOAD_ALL=!1,n.DEFAULT_MAX_REQUESTS=6,n.DEFAULT_REQUEST_ORDER="SCREEN_SPACE_ERROR",n}(),BVHObject=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,o=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):o.array.length/((e=o.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,o,s,u,l=this.indices,c=this.position,f=t;if(l){var d=l.array,p=(r=l.stride)!==null&&r!==void 0?r:1,v=(o=l.offset)!==null&&o!==void 0?o:0;f=d[t*p+v]}var A=c.array,h=(s=c.stride)!==null&&s!==void 0?s:3,m=(u=c.offset)!==null&&u!==void 0?u:0;return f=f*h+m,e.x=A[f],e.y=A[f+1],e.z=A[f+2],e},n.prototype.createTree=function(t,e,r){throw new Error("not implemented")},n.prototype.trianglesInSphere=function(t,e){throw new Error("not implemented")},n.prototype.intersectRay=function(t,e,r,o){throw new Error("not implemented")},n}(),BVHNode=function(){function n(t,e,r,o,s){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=o,this.deepth=s}return n}(),BYTES_PER_NODE=6*4+4+4+2+2;function packBVHNode(n,t){for(var e=new ArrayBuffer(t*BYTES_PER_NODE),r=new Float32Array(e),o=new Uint32Array(e),s=new Uint16Array(e),u=[n],l,c;l=u.pop();)c=l.id*BYTES_PER_NODE/4,r[c]=l.extents[0],r[c+1]=l.extents[1],r[c+2]=l.extents[2],r[c+3]=l.extents[3],r[c+4]=l.extents[4],r[c+5]=l.extents[5],o[c+6]=l.startIndex,o[c+7]=l.endIndex,c=l.id*BYTES_PER_NODE/2,l.node0&&(s[c+16]=l.node0.id,u.push(l.node0)),l.node1&&(s[c+17]=l.node1.id,u.push(l.node1));return e}function intersectNodeBox(n,t,e,r,o,s,u,l,c){c===void 0&&(c=0),e=e-c,r=r-c,o=o-c,s=s+c,u=u+c,l=l+c;var f=0,d=0,p=0,v=0,A=0,h=0;return t.x>=0?(f=(e-n.x)*t.x,d=(s-n.x)*t.x):(f=(s-n.x)*t.x,d=(e-n.x)*t.x),t.y>=0?(p=(r-n.y)*t.y,v=(u-n.y)*t.y):(p=(u-n.y)*t.y,v=(r-n.y)*t.y),!(f>v||p>d||(p>f&&(f=p),v<d&&(d=v),t.z>=0?(A=(o-n.z)*t.z,h=(l-n.z)*t.z):(A=(l-n.z)*t.z,h=(o-n.z)*t.z),f>h||A>d)||(A>f&&(f=A),h<d&&(d=h),d<0))}var BVHVector3=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.toArray=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,o=this.z;return this.x=r*t.z-o*t.y,this.y=o*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,o=t.y,s=t.z,u=e.x,l=e.y,c=e.z;return this.x=o*c-s*l,this.y=s*u-r*c,this.z=r*l-o*u,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,o=this.z-t.z;return e*e+r*r+o*o},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),BVHIntersect=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),EPSILON$1=1e-6,scratchVector3$3=new BVHVector3(0,0,0),scratchVector3A=new BVHVector3(0,0,0),scratchVector3B=new BVHVector3(0,0,0),scratchVector3C=new BVHVector3(0,0,0),BVHMesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionCount()/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),l=new Float32Array(s*6),c=[],f=0,d=-1;if(o)for(var p=0,v=0,A=0,h=void 0,m=void 0,y=void 0,g=void 0,E=void 0,b=void 0,T=void 0;p<s;p+=1,v+=3,A+=6)u[p]=p,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),h=g=scratchVector3A.x,T=scratchVector3B.x,T<h&&(h=T),T>g&&(g=T),T=scratchVector3C.x,T<h&&(h=T),T>g&&(g=T),m=E=scratchVector3A.y,T=scratchVector3B.y,T<m&&(m=T),T>E&&(E=T),T=scratchVector3C.y,T<m&&(m=T),T>E&&(E=T),y=b=scratchVector3A.z,T=scratchVector3B.z,T<y&&(y=T),T>b&&(b=T),T=scratchVector3C.z,T<y&&(y=T),T>b&&(b=T),l[A]=h,l[A+1]=m,l[A+2]=y,l[A+3]=g,l[A+4]=E,l[A+5]=b;else{for(var _=1/0,R=1/0,S=1/0,M=-1/0,P=-1/0,H=-1/0,p=0,v=0,A=0,h=void 0,m=void 0,y=void 0,g=void 0,E=void 0,b=void 0,T=void 0;p<s;p+=1,v+=3,A+=6)u[p]=p,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),h=g=scratchVector3A.x,T=scratchVector3B.x,T<h&&(h=T),T>g&&(g=T),T=scratchVector3C.x,T<h&&(h=T),T>g&&(g=T),m=E=scratchVector3A.y,T=scratchVector3B.y,T<m&&(m=T),T>E&&(E=T),T=scratchVector3C.y,T<m&&(m=T),T>E&&(E=T),y=b=scratchVector3A.z,T=scratchVector3B.z,T<y&&(y=T),T>b&&(b=T),T=scratchVector3C.z,T<y&&(y=T),T>b&&(b=T),l[A]=h,l[A+1]=m,l[A+2]=y,l[A+3]=g,l[A+4]=E,l[A+5]=b,h<_&&(_=h),g>M&&(M=g),m<R&&(R=m),E>P&&(P=E),y<S&&(S=y),b>H&&(H=b);o=[_,R,S,M,P,H]}var w=new BVHNode(++d,o,0,s,0);c[f++]=w;var C=[],L=[0,1,2],I=function(k,N){return C[N]-C[k]};function F(k){var N=k.startIndex,D=k.endIndex,U=k.extents;C[0]=U[3]-U[0],C[1]=U[4]-U[1],C[2]=U[5]-U[2],L.sort(I);for(var z=0;z<3;z++){for(var q=L[z],G=U[q]+U[q+3],J=N,j=D-1,X=-1,Y=void 0;J<=j;)X===-1?(Y=u[J],l[Y*6+q]+l[Y*6+q+3]<G?J++:X=Y):(Y=u[j],l[Y*6+q]+l[Y*6+q+3]>=G||(u[J]=Y,u[j]=X,X=-1,J++),j--);if(J>N&&J<D){var Z=new BVHNode(++d,calcExtents(u,l,N,J,EPSILON$1),N,J,k.deepth+1);Z.deepth<r&&Z.endIndex-Z.startIndex>e&&(c[f++]=Z);var W=new BVHNode(++d,calcExtents(u,l,J,D,EPSILON$1),J,D,k.deepth+1);W.deepth<r&&W.endIndex-W.startIndex>e&&(c[f++]=W),k.node0=Z,k.node1=W,k.startIndex=0,k.endIndex=0;break}}}for(;f;)F(c[--f]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(w,d+1),c.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),f=[0],d=[],p,v,A,h;(p=f.pop())!==void 0;){h=p*BYTES_PER_NODE/4;var m=clamp(e.x,u[h],u[h+3])-e.x,y=clamp(e.y,u[h+1],u[h+4])-e.y,g=clamp(e.z,u[h+2],u[h+5])-e.z;if(m*m+y*y+g*g<=r*r){for(var E=l[h+6];E<l[h+7];E++)d.push(o[E]);h=p*BYTES_PER_NODE/2,v=c[h+16],A=c[h+17],v&&f.push(v),A&&f.push(A)}}for(var b=d.length,T=new Float32Array(b*9),E=0;E<b;E++){var _=d[E];this.getPositionByIndex(_,scratchVector3$3),T[E*9]=scratchVector3$3.x,T[E*9+1]=scratchVector3$3.y,T[E*9+2]=scratchVector3$3.z,this.getPositionByIndex(_+1,scratchVector3$3),T[E*9+3]=scratchVector3$3.x,T[E*9+4]=scratchVector3$3.y,T[E*9+5]=scratchVector3$3.z,this.getPositionByIndex(_+2,scratchVector3$3),T[E*9+6]=scratchVector3$3.x,T[E*9+7]=scratchVector3$3.y,T[E*9+8]=scratchVector3$3.z}return T},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),f=new Uint32Array(l),d=new Uint16Array(l),p=new BVHVector3(1/r.x,1/r.y,1/r.z),v=[0],A,h,m,y;(A=v.pop())!==void 0;)if(y=A*BYTES_PER_NODE/4,intersectNodeBox(e,p,c[y],c[y+1],c[y+2],c[y+3],c[y+4],c[y+5])){for(var g=f[y+6],E=f[y+7],b=void 0,T=void 0,_=void 0,R=e.x,S=e.y,M=e.z,P=r.x,H=r.y,w=r.z,C=void 0,L=void 0,I=void 0,F=void 0,k=void 0,N=void 0,D=void 0,U=void 0,z=void 0,q=void 0,G=void 0,J=void 0,j=void 0,X=void 0,Y=void 0,Z=void 0,W=void 0,ae=void 0,re=void 0,se=void 0,ie=void 0,fe=void 0,ne=void 0,pe=void 0,_e=void 0,me=void 0,xe=void 0;g<E;g++){if(b=u[g],T=b*3,this.getPositionByIndex(T,scratchVector3$3),C=scratchVector3$3.x,L=scratchVector3$3.y,I=scratchVector3$3.z,this.getPositionByIndex(T+1,scratchVector3$3),F=scratchVector3$3.x,k=scratchVector3$3.y,N=scratchVector3$3.z,this.getPositionByIndex(T+2,scratchVector3$3),D=scratchVector3$3.x,U=scratchVector3$3.y,z=scratchVector3$3.z,q=F-C,G=k-L,J=N-I,j=D-C,X=U-L,Y=z-I,Z=G*Y-J*X,W=J*j-q*Y,ae=q*X-G*j,ne=P*Z+H*W+w*ae,ne>0)fe=1;else if(ne<0)fe=-1,ne=-ne;else continue;re=R-C,se=S-L,ie=M-I,pe=fe*(P*(se*Y-ie*X)+H*(ie*j-re*Y)+w*(re*X-se*j)),!(pe<0)&&(_e=fe*(P*(G*ie-J*se)+H*(J*re-q*ie)+w*(q*se-G*re)),!(_e<0)&&(pe+_e>ne||(me=-fe*(re*Z+se*W+ie*ae),!(me<0)&&(xe=me/ne,s.push(new BVHIntersect([C,L,I,F,k,N,D,U,z],[R+P*xe,S+H*xe,M+w*xe],b))))))}y=A*BYTES_PER_NODE/2,h=d[y+16],m=d[y+17],h&&v.push(h),m&&v.push(m)}return s},t}(BVHObject);function clamp(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,o){if(e>=r)return[0,0,0,0,0,0];for(var s=1/0,u=1/0,l=1/0,c=-1/0,f=-1/0,d=-1/0,p=e,v=void 0,A=void 0;p<r;p++)v=n[p]*6,A=t[v],A<s&&(s=A),A=t[v+1],A<u&&(u=A),A=t[v+2],A<l&&(l=A),A=t[v+3],A>c&&(c=A),A=t[v+4],A>f&&(f=A),A=t[v+5],A>d&&(d=A);return[s-o,u-o,l-o,c+o,f+o,d+o]}var EPSILON=1e-6,ORDER_AXISES=["x","y","z"],scratchVector3$2=new BVHVector3(0,0,0),BVHPoints=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionByIndex.bind(this),u=this.getPositionCount(),l=u>65535?new Uint32Array(u):new Uint16Array(u),c=[],f=0,d=-1;if(o)for(var p=0;p<u;p+=1)l[p]=p;else{s(0,scratchVector3$2);for(var v=scratchVector3$2.x,A=scratchVector3$2.y,h=scratchVector3$2.z,m=v,y=A,g=h,p=0,E=void 0,b=void 0,T=void 0;p<u;p+=1)l[p]=p,s(p,scratchVector3$2),E=scratchVector3$2.x,b=scratchVector3$2.y,T=scratchVector3$2.z,E<v?v=E:E>m&&(m=E),b<A?A=b:b>y&&(y=b),T<h?h=T:T>g&&(g=T);o=[v,A,h,m,y,g]}var _=new BVHNode(++d,o,0,u,0);c[f++]=_;var R=[],S=[0,1,2],M=function(H,w){return R[w]-R[H]};function P(H){var w=H.startIndex,C=H.endIndex,L=H.extents;R[0]=L[3]-L[0],R[1]=L[4]-L[1],R[2]=L[5]-L[2];for(var I=S.sort(M)[0],F=ORDER_AXISES[I],k=(L[I]+L[I+3])/2,N=w,D=C-1,U=-1,z;N<=D;)U===-1?(z=l[N],s(z,scratchVector3$2),scratchVector3$2[F]<k?N++:U=z):(z=l[D],s(z,scratchVector3$2),scratchVector3$2[F]>=k||(l[N]=z,l[D]=U,U=-1,N++),D--);if(N>w){var q=L.slice();q[I+3]=k+EPSILON;var G=new BVHNode(++d,q,w,N,H.deepth+1);G.deepth<r&&G.endIndex-G.startIndex>e&&(c[f++]=G),H.node0=G}if(C>N){var J=L.slice();J[I]=k-EPSILON;var j=new BVHNode(++d,J,N,C,H.deepth+1);j.deepth<r&&j.endIndex-j.startIndex>e&&(c[f++]=j),H.node1=j}H.startIndex=0,H.endIndex=0}for(;f;)P(c[--f]);return this.offsetArray=l,this.rootNodePacked=packBVHNode(_,d+1),c.length=0,this},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),f=new Uint32Array(l),d=new Uint16Array(l),p=o*o,v=new BVHVector3(1/r.x,1/r.y,1/r.z),A=[0],h,m,y,g;(h=A.pop())!==void 0;)if(g=h*BYTES_PER_NODE/4,intersectNodeBox(e,v,c[g],c[g+1],c[g+2],c[g+3],c[g+4],c[g+5],o)){for(var E=f[g+6],b=f[g+7],T=void 0,_=void 0,R=void 0,S=void 0,M=void 0,P=void 0,H=void 0,w=void 0,C=void 0,L=void 0,I=void 0,F=void 0;E<b;E++)T=u[E],this.getPositionByIndex(T,scratchVector3$2),_=scratchVector3$2.x,R=scratchVector3$2.y,S=scratchVector3$2.z,M=e.x,P=e.y,H=e.z,w=r.x,C=r.y,L=r.z,I=w*(_-M)+C*(R-P)+L*(S-H),I>0&&(M+=w*I,P+=C*I,H+=L*I),w=_-M,C=R-P,L=S-H,I=w*w+C*C+L*L,I<=p&&s.push(new BVHIntersect([_,R,S,_,R,S,_,R,S],[M,P,H],T));g=h*BYTES_PER_NODE/2,m=d[g+16],y=d[g+17],m&&A.push(m),y&&A.push(y)}return s},t}(BVHObject);const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlcj1mdW5jdGlvbihlLHIpe3JldHVybiBlcj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxvKXt0Ll9fcHJvdG9fXz1vfXx8ZnVuY3Rpb24odCxvKXtmb3IodmFyIGYgaW4gbylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobyxmKSYmKHRbZl09b1tmXSl9LGVyKGUscil9O2Z1bmN0aW9uIGhyKGUscil7aWYodHlwZW9mIHIhPSJmdW5jdGlvbiImJnIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcocikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXIoZSxyKTtmdW5jdGlvbiB0KCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXI9PT1udWxsP09iamVjdC5jcmVhdGUocik6KHQucHJvdG90eXBlPXIucHJvdG90eXBlLG5ldyB0KX10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iJiZTdXBwcmVzc2VkRXJyb3I7dmFyIGRyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQpe3RoaXMucG9zaXRpb249cix0aGlzLmluZGljZXM9dH1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25Db3VudD1mdW5jdGlvbigpe3ZhciByLHQsbz10aGlzLmluZGljZXMsZj10aGlzLnBvc2l0aW9uO3JldHVybiBvP28uYXJyYXkubGVuZ3RoLygocj1vLnN0cmlkZSkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSk6Zi5hcnJheS5sZW5ndGgvKCh0PWYuc3RyaWRlKSE9PW51bGwmJnQhPT12b2lkIDA/dDozKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25CeUluZGV4PWZ1bmN0aW9uKHIsdCl7dmFyIG8sZixkLHYsbj10aGlzLmluZGljZXMscz10aGlzLnBvc2l0aW9uLHU9cjtpZihuKXt2YXIgdz1uLmFycmF5LHk9KG89bi5zdHJpZGUpIT09bnVsbCYmbyE9PXZvaWQgMD9vOjEscD0oZj1uLm9mZnNldCkhPT1udWxsJiZmIT09dm9pZCAwP2Y6MDt1PXdbcip5K3BdfXZhciBhPXMuYXJyYXksaD0oZD1zLnN0cmlkZSkhPT1udWxsJiZkIT09dm9pZCAwP2Q6MyxBPSh2PXMub2Zmc2V0KSE9PW51bGwmJnYhPT12b2lkIDA/djowO3JldHVybiB1PXUqaCtBLHQueD1hW3VdLHQueT1hW3UrMV0sdC56PWFbdSsyXSx0fSxlLnByb3RvdHlwZS5jcmVhdGVUcmVlPWZ1bmN0aW9uKHIsdCxvKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlLnByb3RvdHlwZS50cmlhbmdsZXNJblNwaGVyZT1mdW5jdGlvbihyLHQpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9LGUucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsbyxmKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlfSgpLG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHIsdCxvLGYsZCl7dGhpcy5pZD1yLHRoaXMuZXh0ZW50cz10LHRoaXMuc3RhcnRJbmRleD1vLHRoaXMuZW5kSW5kZXg9Zix0aGlzLmRlZXB0aD1kfXJldHVybiBlfSgpLFE9Nio0KzQrNCsyKzI7ZnVuY3Rpb24geXIoZSxyKXtmb3IodmFyIHQ9bmV3IEFycmF5QnVmZmVyKHIqUSksbz1uZXcgRmxvYXQzMkFycmF5KHQpLGY9bmV3IFVpbnQzMkFycmF5KHQpLGQ9bmV3IFVpbnQxNkFycmF5KHQpLHY9W2VdLG4scztuPXYucG9wKCk7KXM9bi5pZCpRLzQsb1tzXT1uLmV4dGVudHNbMF0sb1tzKzFdPW4uZXh0ZW50c1sxXSxvW3MrMl09bi5leHRlbnRzWzJdLG9bcyszXT1uLmV4dGVudHNbM10sb1tzKzRdPW4uZXh0ZW50c1s0XSxvW3MrNV09bi5leHRlbnRzWzVdLGZbcys2XT1uLnN0YXJ0SW5kZXgsZltzKzddPW4uZW5kSW5kZXgscz1uLmlkKlEvMixuLm5vZGUwJiYoZFtzKzE2XT1uLm5vZGUwLmlkLHYucHVzaChuLm5vZGUwKSksbi5ub2RlMSYmKGRbcysxN109bi5ub2RlMS5pZCx2LnB1c2gobi5ub2RlMSkpO3JldHVybiB0fWZ1bmN0aW9uIGNyKGUscix0LG8sZixkLHYsbixzKXtzPT09dm9pZCAwJiYocz0wKSx0PXQtcyxvPW8tcyxmPWYtcyxkPWQrcyx2PXYrcyxuPW4rczt2YXIgdT0wLHc9MCx5PTAscD0wLGE9MCxoPTA7cmV0dXJuIHIueD49MD8odT0odC1lLngpKnIueCx3PShkLWUueCkqci54KToodT0oZC1lLngpKnIueCx3PSh0LWUueCkqci54KSxyLnk+PTA/KHk9KG8tZS55KSpyLnkscD0odi1lLnkpKnIueSk6KHk9KHYtZS55KSpyLnkscD0oby1lLnkpKnIueSksISh1PnB8fHk+d3x8KHk+dSYmKHU9eSkscDx3JiYodz1wKSxyLno+PTA/KGE9KGYtZS56KSpyLnosaD0obi1lLnopKnIueik6KGE9KG4tZS56KSpyLnosaD0oZi1lLnopKnIueiksdT5ofHxhPncpfHwoYT51JiYodT1hKSxoPHcmJih3PWgpLHc8MCkpfXZhciBZPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQsbyl7dGhpcy54PXIsdGhpcy55PXQsdGhpcy56PW99cmV0dXJuIGUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueD1yLngsdGhpcy55PXIueSx0aGlzLno9ci56LHRoaXN9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbihyLHQsbyl7cmV0dXJuIHRoaXMueD1yLHRoaXMueT10LHRoaXMuej1vLHRoaXN9LGUucHJvdG90eXBlLmZyb21BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSx0aGlzLng9clt0XSx0aGlzLnk9clt0KzFdLHRoaXMuej1yW3QrMl0sdGhpc30sZS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiByPT09dm9pZCAwJiYocj1bXSksdD09PXZvaWQgMCYmKHQ9MCksclt0XT10aGlzLngsclt0KzFdPXRoaXMueSxyW3QrMl09dGhpcy56LHJ9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kz1yLngsdGhpcy55Kz1yLnksdGhpcy56Kz1yLnosdGhpc30sZS5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueCo9cix0aGlzLnkqPXIsdGhpcy56Kj1yLHRoaXN9LGUucHJvdG90eXBlLnN1YlZlY3RvcnM9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54PXIueC10LngsdGhpcy55PXIueS10LnksdGhpcy56PXIuei10LnosdGhpc30sZS5wcm90b3R5cGUuYWRkU2NhbGVkVmVjdG9yPWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHRoaXMueCs9ci54KnQsdGhpcy55Kz1yLnkqdCx0aGlzLnorPXIueip0LHRoaXN9LGUucHJvdG90eXBlLmRvdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54KnIueCt0aGlzLnkqci55K3RoaXMueipyLnp9LGUucHJvdG90eXBlLmNyb3NzPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueCxvPXRoaXMueSxmPXRoaXMuejtyZXR1cm4gdGhpcy54PW8qci56LWYqci55LHRoaXMueT1mKnIueC10KnIueix0aGlzLno9dCpyLnktbypyLngsdGhpc30sZS5wcm90b3R5cGUuY3Jvc3NWZWN0b3JzPWZ1bmN0aW9uKHIsdCl7dmFyIG89ci54LGY9ci55LGQ9ci56LHY9dC54LG49dC55LHM9dC56O3JldHVybiB0aGlzLng9ZipzLWQqbix0aGlzLnk9ZCp2LW8qcyx0aGlzLno9bypuLWYqdix0aGlzfSxlLnByb3RvdHlwZS5kaXN0YW5jZVRvPWZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLnNxcnQodGhpcy5kaXN0YW5jZVRvU3F1YXJlZChyKSl9LGUucHJvdG90eXBlLmRpc3RhbmNlVG9TcXVhcmVkPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueC1yLngsbz10aGlzLnktci55LGY9dGhpcy56LXIuejtyZXR1cm4gdCp0K28qbytmKmZ9LGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKHRoaXMueCx0aGlzLnksdGhpcy56KX0sZX0oKSxwcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUocix0LG8pe3RoaXMudHJpYW5nbGU9cix0aGlzLmludGVyc2VjdGlvblBvaW50PXQsdGhpcy5pbmRleD1vfXJldHVybiBlfSgpLGxyPTFlLTYsUz1uZXcgWSgwLDAsMCksRD1uZXcgWSgwLDAsMCksZz1uZXcgWSgwLDAsMCksWD1uZXcgWSgwLDAsMCksQXI9ZnVuY3Rpb24oZSl7aHIocixlKTtmdW5jdGlvbiByKCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gci5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbih0LG8sZil7bz1NYXRoLm1pbihvLDE2KTt2YXIgZD10aGlzLmdldFBvc2l0aW9uQ291bnQoKS8zLHY9ZD42NTUzNT9uZXcgVWludDMyQXJyYXkoZCk6bmV3IFVpbnQxNkFycmF5KGQpLG49bmV3IEZsb2F0MzJBcnJheShkKjYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MCxwPTAsYT0wLGg9dm9pZCAwLEE9dm9pZCAwLGw9dm9pZCAwLEk9dm9pZCAwLGM9dm9pZCAwLHo9dm9pZCAwLGk9dm9pZCAwO3k8ZDt5Kz0xLHArPTMsYSs9Nil2W3ldPXksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCxEKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzEsZyksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCsyLFgpLGg9ST1ELngsaT1nLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLGk9WC54LGk8aCYmKGg9aSksaT5JJiYoST1pKSxBPWM9RC55LGk9Zy55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxpPVgueSxpPEEmJihBPWkpLGk+YyYmKGM9aSksbD16PUQueixpPWcueixpPGwmJihsPWkpLGk+eiYmKHo9aSksaT1YLnosaTxsJiYobD1pKSxpPnomJih6PWkpLG5bYV09aCxuW2ErMV09QSxuW2ErMl09bCxuW2ErM109SSxuW2ErNF09YyxuW2ErNV09ejtlbHNle2Zvcih2YXIgaz0xLzAsSD0xLzAsaj0xLzAscT0tMS8wLE09LTEvMCxQPS0xLzAseT0wLHA9MCxhPTAsaD12b2lkIDAsQT12b2lkIDAsbD12b2lkIDAsST12b2lkIDAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTxkO3krPTEscCs9MyxhKz02KXZbeV09eSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwLEQpLHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KHArMSxnKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzIsWCksaD1JPUQueCxpPWcueCxpPGgmJihoPWkpLGk+SSYmKEk9aSksaT1YLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLEE9Yz1ELnksaT1nLnksaTxBJiYoQT1pKSxpPmMmJihjPWkpLGk9WC55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxsPXo9RC56LGk9Zy56LGk8bCYmKGw9aSksaT56JiYoej1pKSxpPVgueixpPGwmJihsPWkpLGk+eiYmKHo9aSksblthXT1oLG5bYSsxXT1BLG5bYSsyXT1sLG5bYSszXT1JLG5bYSs0XT1jLG5bYSs1XT16LGg8ayYmKGs9aCksST5xJiYocT1JKSxBPEgmJihIPUEpLGM+TSYmKE09YyksbDxqJiYoaj1sKSx6PlAmJihQPXopO2Y9W2ssSCxqLHEsTSxQXX12YXIgVD1uZXcgbSgrK3csZiwwLGQsMCk7c1t1KytdPVQ7dmFyIE49W10sQj1bMCwxLDJdLFY9ZnVuY3Rpb24oVSxfKXtyZXR1cm4gTltfXS1OW1VdfTtmdW5jdGlvbiBSKFUpe3ZhciBfPVUuc3RhcnRJbmRleCwkPVUuZW5kSW5kZXgsRj1VLmV4dGVudHM7TlswXT1GWzNdLUZbMF0sTlsxXT1GWzRdLUZbMV0sTlsyXT1GWzVdLUZbMl0sQi5zb3J0KFYpO2Zvcih2YXIgVz0wO1c8MztXKyspe2Zvcih2YXIgTD1CW1ddLEc9RltMXStGW0wrM10seD1fLEM9JC0xLEs9LTEsSj12b2lkIDA7eDw9QzspSz09PS0xPyhKPXZbeF0sbltKKjYrTF0rbltKKjYrTCszXTxHP3grKzpLPUopOihKPXZbQ10sbltKKjYrTF0rbltKKjYrTCszXT49R3x8KHZbeF09Six2W0NdPUssSz0tMSx4KyspLEMtLSk7aWYoeD5fJiZ4PCQpe3ZhciBiPW5ldyBtKCsrdyxJcih2LG4sXyx4LGxyKSxfLHgsVS5kZWVwdGgrMSk7Yi5kZWVwdGg8byYmYi5lbmRJbmRleC1iLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1iKTt2YXIgTz1uZXcgbSgrK3csSXIodixuLHgsJCxscikseCwkLFUuZGVlcHRoKzEpO08uZGVlcHRoPG8mJk8uZW5kSW5kZXgtTy5zdGFydEluZGV4PnQmJihzW3UrK109TyksVS5ub2RlMD1iLFUubm9kZTE9TyxVLnN0YXJ0SW5kZXg9MCxVLmVuZEluZGV4PTA7YnJlYWt9fX1mb3IoO3U7KVIoc1stLXVdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9eXIoVCx3KzEpLHMubGVuZ3RoPTAsdGhpc30sci5wcm90b3R5cGUudHJpYW5nbGVzSW5TcGhlcmU9ZnVuY3Rpb24odCxvKXtmb3IodmFyIGY9dGhpcy5vZmZzZXRBcnJheSxkPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGQpLG49bmV3IFVpbnQzMkFycmF5KGQpLHM9bmV3IFVpbnQxNkFycmF5KGQpLHU9WzBdLHc9W10seSxwLGEsaDsoeT11LnBvcCgpKSE9PXZvaWQgMDspe2g9eSpRLzQ7dmFyIEE9c3IodC54LHZbaF0sdltoKzNdKS10LngsbD1zcih0LnksdltoKzFdLHZbaCs0XSktdC55LEk9c3IodC56LHZbaCsyXSx2W2grNV0pLXQuejtpZihBKkErbCpsK0kqSTw9bypvKXtmb3IodmFyIGM9bltoKzZdO2M8bltoKzddO2MrKyl3LnB1c2goZltjXSk7aD15KlEvMixwPXNbaCsxNl0sYT1zW2grMTddLHAmJnUucHVzaChwKSxhJiZ1LnB1c2goYSl9fWZvcih2YXIgej13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoeio5KSxjPTA7Yzx6O2MrKyl7dmFyIGs9d1tjXTt0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrLFMpLGlbYyo5XT1TLngsaVtjKjkrMV09Uy55LGlbYyo5KzJdPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrKzEsUyksaVtjKjkrM109Uy54LGlbYyo5KzRdPVMueSxpW2MqOSs1XT1TLnosdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaysyLFMpLGlbYyo5KzZdPVMueCxpW2MqOSs3XT1TLnksaVtjKjkrOF09Uy56fXJldHVybiBpfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PW5ldyBZKDEvby54LDEvby55LDEvby56KSxwPVswXSxhLGgsQSxsOyhhPXAucG9wKCkpIT09dm9pZCAwOylpZihsPWEqUS80LGNyKHQseSxzW2xdLHNbbCsxXSxzW2wrMl0sc1tsKzNdLHNbbCs0XSxzW2wrNV0pKXtmb3IodmFyIEk9dVtsKzZdLGM9dVtsKzddLHo9dm9pZCAwLGk9dm9pZCAwLGs9dm9pZCAwLEg9dC54LGo9dC55LHE9dC56LE09by54LFA9by55LFQ9by56LE49dm9pZCAwLEI9dm9pZCAwLFY9dm9pZCAwLFI9dm9pZCAwLFU9dm9pZCAwLF89dm9pZCAwLCQ9dm9pZCAwLEY9dm9pZCAwLFc9dm9pZCAwLEw9dm9pZCAwLEc9dm9pZCAwLHg9dm9pZCAwLEM9dm9pZCAwLEs9dm9pZCAwLEo9dm9pZCAwLGI9dm9pZCAwLE89dm9pZCAwLGFyPXZvaWQgMCxycj12b2lkIDAsdHI9dm9pZCAwLG9yPXZvaWQgMCxpcj12b2lkIDAsWj12b2lkIDAsdnI9dm9pZCAwLGZyPXZvaWQgMCx1cj12b2lkIDAsbnI9dm9pZCAwO0k8YztJKyspe2lmKHo9dltJXSxpPXoqMyx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpLFMpLE49Uy54LEI9Uy55LFY9Uy56LHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KGkrMSxTKSxSPVMueCxVPVMueSxfPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpKzIsUyksJD1TLngsRj1TLnksVz1TLnosTD1SLU4sRz1VLUIseD1fLVYsQz0kLU4sSz1GLUIsSj1XLVYsYj1HKkoteCpLLE89eCpDLUwqSixhcj1MKkstRypDLFo9TSpiK1AqTytUKmFyLFo+MClpcj0xO2Vsc2UgaWYoWjwwKWlyPS0xLFo9LVo7ZWxzZSBjb250aW51ZTtycj1ILU4sdHI9ai1CLG9yPXEtVix2cj1pciooTSoodHIqSi1vcipLKStQKihvcipDLXJyKkopK1QqKHJyKkstdHIqQykpLCEodnI8MCkmJihmcj1pciooTSooRypvci14KnRyKStQKih4KnJyLUwqb3IpK1QqKEwqdHItRypycikpLCEoZnI8MCkmJih2citmcj5afHwodXI9LWlyKihycipiK3RyKk8rb3IqYXIpLCEodXI8MCkmJihucj11ci9aLGQucHVzaChuZXcgcHIoW04sQixWLFIsVSxfLCQsRixXXSxbSCtNKm5yLGorUCpucixxK1QqbnJdLHopKSkpKSl9bD1hKlEvMixoPXdbbCsxNl0sQT13W2wrMTddLGgmJnAucHVzaChoKSxBJiZwLnB1c2goQSl9cmV0dXJuIGR9LHJ9KGRyKTtmdW5jdGlvbiBzcihlLHIsdCl7cmV0dXJuIGU8cj9yOmU+dD90OmV9ZnVuY3Rpb24gSXIoZSxyLHQsbyxmKXtpZih0Pj1vKXJldHVyblswLDAsMCwwLDAsMF07Zm9yKHZhciBkPTEvMCx2PTEvMCxuPTEvMCxzPS0xLzAsdT0tMS8wLHc9LTEvMCx5PXQscD12b2lkIDAsYT12b2lkIDA7eTxvO3krKylwPWVbeV0qNixhPXJbcF0sYTxkJiYoZD1hKSxhPXJbcCsxXSxhPHYmJih2PWEpLGE9cltwKzJdLGE8biYmKG49YSksYT1yW3ArM10sYT5zJiYocz1hKSxhPXJbcCs0XSxhPnUmJih1PWEpLGE9cltwKzVdLGE+dyYmKHc9YSk7cmV0dXJuW2QtZix2LWYsbi1mLHMrZix1K2YsdytmXX12YXIgd3I9MWUtNix6cj1bIngiLCJ5IiwieiJdLEU9bmV3IFkoMCwwLDApLFByPWZ1bmN0aW9uKGUpe2hyKHIsZSk7ZnVuY3Rpb24gcigpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHIucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24odCxvLGYpe289TWF0aC5taW4obywxNik7dmFyIGQ9dGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXguYmluZCh0aGlzKSx2PXRoaXMuZ2V0UG9zaXRpb25Db3VudCgpLG49dj42NTUzNT9uZXcgVWludDMyQXJyYXkodik6bmV3IFVpbnQxNkFycmF5KHYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MDt5PHY7eSs9MSluW3ldPXk7ZWxzZXtkKDAsRSk7Zm9yKHZhciBwPUUueCxhPUUueSxoPUUueixBPXAsbD1hLEk9aCx5PTAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTx2O3krPTEpblt5XT15LGQoeSxFKSxjPUUueCx6PUUueSxpPUUueixjPHA/cD1jOmM+QSYmKEE9YyksejxhP2E9ejp6PmwmJihsPXopLGk8aD9oPWk6aT5JJiYoST1pKTtmPVtwLGEsaCxBLGwsSV19dmFyIGs9bmV3IG0oKyt3LGYsMCx2LDApO3NbdSsrXT1rO3ZhciBIPVtdLGo9WzAsMSwyXSxxPWZ1bmN0aW9uKFAsVCl7cmV0dXJuIEhbVF0tSFtQXX07ZnVuY3Rpb24gTShQKXt2YXIgVD1QLnN0YXJ0SW5kZXgsTj1QLmVuZEluZGV4LEI9UC5leHRlbnRzO0hbMF09QlszXS1CWzBdLEhbMV09Qls0XS1CWzFdLEhbMl09Qls1XS1CWzJdO2Zvcih2YXIgVj1qLnNvcnQocSlbMF0sUj16cltWXSxVPShCW1ZdK0JbViszXSkvMixfPVQsJD1OLTEsRj0tMSxXO188PSQ7KUY9PT0tMT8oVz1uW19dLGQoVyxFKSxFW1JdPFU/XysrOkY9Vyk6KFc9blskXSxkKFcsRSksRVtSXT49VXx8KG5bX109VyxuWyRdPUYsRj0tMSxfKyspLCQtLSk7aWYoXz5UKXt2YXIgTD1CLnNsaWNlKCk7TFtWKzNdPVUrd3I7dmFyIEc9bmV3IG0oKyt3LEwsVCxfLFAuZGVlcHRoKzEpO0cuZGVlcHRoPG8mJkcuZW5kSW5kZXgtRy5zdGFydEluZGV4PnQmJihzW3UrK109RyksUC5ub2RlMD1HfWlmKE4+Xyl7dmFyIHg9Qi5zbGljZSgpO3hbVl09VS13cjt2YXIgQz1uZXcgbSgrK3cseCxfLE4sUC5kZWVwdGgrMSk7Qy5kZWVwdGg8byYmQy5lbmRJbmRleC1DLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1DKSxQLm5vZGUxPUN9UC5zdGFydEluZGV4PTAsUC5lbmRJbmRleD0wfWZvcig7dTspTShzWy0tdV0pO3JldHVybiB0aGlzLm9mZnNldEFycmF5PW4sdGhpcy5yb290Tm9kZVBhY2tlZD15cihrLHcrMSkscy5sZW5ndGg9MCx0aGlzfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PWYqZixwPW5ldyBZKDEvby54LDEvby55LDEvby56KSxhPVswXSxoLEEsbCxJOyhoPWEucG9wKCkpIT09dm9pZCAwOylpZihJPWgqUS80LGNyKHQscCxzW0ldLHNbSSsxXSxzW0krMl0sc1tJKzNdLHNbSSs0XSxzW0krNV0sZikpe2Zvcih2YXIgYz11W0krNl0sej11W0krN10saT12b2lkIDAsaz12b2lkIDAsSD12b2lkIDAsaj12b2lkIDAscT12b2lkIDAsTT12b2lkIDAsUD12b2lkIDAsVD12b2lkIDAsTj12b2lkIDAsQj12b2lkIDAsVj12b2lkIDAsUj12b2lkIDA7Yzx6O2MrKylpPXZbY10sdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaSxFKSxrPUUueCxIPUUueSxqPUUueixxPXQueCxNPXQueSxQPXQueixUPW8ueCxOPW8ueSxCPW8ueixWPVQqKGstcSkrTiooSC1NKStCKihqLVApLFY+MCYmKHErPVQqVixNKz1OKlYsUCs9QipWKSxUPWstcSxOPUgtTSxCPWotUCxWPVQqVCtOKk4rQipCLFY8PXkmJmQucHVzaChuZXcgcHIoW2ssSCxqLGssSCxqLGssSCxqXSxbcSxNLFBdLGkpKTtJPWgqUS8yLEE9d1tJKzE2XSxsPXdbSSsxN10sQSYmYS5wdXNoKEEpLGwmJmEucHVzaChsKX1yZXR1cm4gZH0scn0oZHIpO2Z1bmN0aW9uIEJyKGUpe29ubWVzc2FnZT1mdW5jdGlvbihyKXtQcm9taXNlLnJlc29sdmUoci5kYXRhKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkudGhlbihmdW5jdGlvbih0KXt2YXIgbz10Lm91dHB1dCxmPXQudHJhbnNmZXI7cmV0dXJuIHBvc3RNZXNzYWdlKG8sZil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gcG9zdE1lc3NhZ2UoeyQkZXJyb3I6dH0pfSl9fUJyKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZSkudGhlbihmdW5jdGlvbihyKXtmb3IodmFyIHQ9W10sbz1uZXcgU2V0LGY9MCxkPXI7ZjxkLmxlbmd0aDtmKyspe3ZhciB2PWRbZl0sbj12b2lkIDA7aWYodi50eXBlPT09Im1lc2giKW49bmV3IEFyKHYuYXR0cmlidXRlcy5wb3NpdGlvbix2LmluZGljZXMpO2Vsc2UgaWYodi50eXBlPT09InBvaW50cyIpbj1uZXcgUHIodi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHYuaW5kaWNlcyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO24uY3JlYXRlVHJlZSh2Lm1heEl0ZW1QZXJOb2RlLHYubWF4VHJlZURlcHRoLHYuZXh0ZW50cyk7dmFyIHM9e3R5cGU6di50eXBlLGF0dHJpYnV0ZXM6di5hdHRyaWJ1dGVzLGluZGljZXM6di5pbmRpY2VzLG9mZnNldEFycmF5Om4ub2Zmc2V0QXJyYXkscm9vdE5vZGVQYWNrZWQ6bi5yb290Tm9kZVBhY2tlZH07dC5wdXNoKHMpO3ZhciB1PXZvaWQgMDtmb3IodmFyIHcgaW4gcy5hdHRyaWJ1dGVzKXt2YXIgeT1zLmF0dHJpYnV0ZXNbd107eSYmeS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQoeS5idWZmZXIpfXU9cy5pbmRpY2VzLHUmJnUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm8uYWRkKHUuYnVmZmVyKSx1PXMub2Zmc2V0QXJyYXksdSYmdS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQodS5idWZmZXIpLG8uYWRkKHMucm9vdE5vZGVQYWNrZWQpfXJldHVybntvdXRwdXQ6dCx0cmFuc2ZlcjpBcnJheS5mcm9tKG8pfX0pfSl9KSgpOwo=",decodeBase64$1=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),blob$2=typeof self!="undefined"&&self.Blob&&new Blob([decodeBase64$1(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(n){let t;try{if(t=blob$2&&(self.URL||self.webkitURL).createObjectURL(blob$2),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+encodedJs$1,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var WorkerPool$1=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],o=r.resolve,s=r.reject;if(e.data&&"$$error"in e.data?s(e.data.$$error):o(e.data),this.queue.length){var u=this.queue.shift(),l=u.resolve,c=u.reject,f=u.input,d=u.transfer;this.workersResolver[t]={resolve:l,reject:c},this.workers[t].postMessage(f,d)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(o,s){var u=r.getIdleWorker();u!==-1?(r.initWorker(u),r.workerStatus|=1<<u,r.workersResolver[u]={resolve:o,reject:s},r.workers[u].postMessage(t,e)):r.queue.push({resolve:o,reject:s,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),bvhWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper$1},4),bvhMeshMap=new Map,scratchRay=new THREE__namespace.Ray,scratchNormalMatrix=new THREE__namespace.Matrix3,scratchInverseMatrix=new THREE__namespace.Matrix4,scratchIntersectionFaceA=new THREE__namespace.Vector3,scratchIntersectionFaceB=new THREE__namespace.Vector3,scratchIntersectionFaceC=new THREE__namespace.Vector3,scratchIntersectionTriangle=new THREE__namespace.Triangle;function raycastMesh(n,t,e,r){var o,s=n.matrixWorld;scratchInverseMatrix.getInverse(s),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var u=t.intersectRay(scratchRay.origin,scratchRay.direction,0,[]),l=n.geometry,c=n.material,f=l.groups,d=l.index,p=0,v=u.length;p<v;p++){var A=u[p],h=A.triangle,m=A.index,y=A.intersectionPoint,g=new THREE__namespace.Vector3(y[0],y[1],y[2]).applyMatrix4(s),E=e.ray.origin.distanceTo(g);if(!(E<e.near||E>e.far)){var b=void 0;if(Array.isArray(c)){if(f)for(var T=m*3,_=0,R=f;_<R.length;_++){var S=R[_];if(T>=S.start&&T-S.start<S.count){b=c[(o=S.materialIndex)!==null&&o!==void 0?o:0];break}}}else b=c;if(b){var M=scratchIntersectionTriangle.set(scratchIntersectionFaceA.set(h[0],h[1],h[2]).applyMatrix4(s),scratchIntersectionFaceB.set(h[3],h[4],h[5]).applyMatrix4(s),scratchIntersectionFaceC.set(h[6],h[7],h[8]).applyMatrix4(s)).getNormal(new THREE__namespace.Vector3),P=m*3,H=new THREE__namespace.Face3(d?d.array[P]:P,d?d.array[P+1]:P+1,d?d.array[P+2]:P+2,M),w=e.ray.direction.dot(M);b.side===THREE__namespace.FrontSide&&w>=0||b.side===THREE__namespace.BackSide&&w<=0||r.push({distance:E,object:n,face:H,point:g,distanceToRay:0,faceIndex:m})}}}}function raycastPoints(n,t,e,r){var o,s,u=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(u),scratchInverseMatrix.getInverse(u);var l=((s=(o=e.params.Points)===null||o===void 0?void 0:o.threshold)!==null&&s!==void 0?s:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var c=t.intersectRay(scratchRay.origin,scratchRay.direction,l,[]),f=n.geometry,d=f.index,p=f.getAttribute("normal"),v=0,A=c.length;v<A;v++){var h=c[v],m=h.triangle,y=h.index,g=h.intersectionPoint,E=new THREE__namespace.Vector3(g[0],g[1],g[2]).applyMatrix4(u),b=e.ray.origin.distanceTo(E);if(!(b<e.near||b>e.far)){var T=scratchIntersectionFaceA.set(m[0],m[1],m[2]).applyMatrix4(u),_=d?d.array[y]:y,R=void 0;if(p instanceof THREE__namespace.BufferAttribute){var S=new THREE__namespace.Vector3().fromBufferAttribute(p,_).applyNormalMatrix(scratchNormalMatrix);R=new THREE__namespace.Face3(_,_,_,S)}r.push({distance:b,object:n,face:R,point:E,distanceToRay:E.distanceTo(T),index:y})}}}var BVH_MESH_PROP="__bvh_mesh__",originMeshRaycast=THREE__namespace.Mesh.prototype.raycast;function overrideMeshRaycast(n,t){var e=getBvhTreeForMesh(this);e?raycastMesh(this,e,n,t):originMeshRaycast.call(this,n,t)}function getBvhTreeForMesh(n){var t=n[BVH_MESH_PROP];return t instanceof BVHMesh,t}function bindBvhTreeForMesh(n,t){var e;Object.assign(n,(e={},e[BVH_MESH_PROP]=t,e.raycast=overrideMeshRaycast,e))}var BVH_POINTS_PROP="__bvh_points__",originPointsRaycast=THREE__namespace.Points.prototype.raycast;function overridePointsRaycast(n,t){var e=getBvhTreeForPoints(this);e?raycastPoints(this,e,n,t):originPointsRaycast.call(this,n,t)}function getBvhTreeForPoints(n){var t=n[BVH_POINTS_PROP];return t instanceof BVHPoints,t}function bindBvhTreeForPoints(n,t){var e;Object.assign(n,(e={},e[BVH_POINTS_PROP]=t,e.raycast=overridePointsRaycast,e))}function generateBvhTree(n,t,e,r){var o=[];return n.traverse(function(s){(s instanceof THREE__namespace.Mesh||s instanceof THREE__namespace.Points)&&s.geometry instanceof THREE__namespace.BufferGeometry&&o.push(s)}),Promise.resolve().then(function(){for(var s=[],u=new Set,l=null,c=0;c<o.length;c++){var f=o[c],d=f.geometry;if(d instanceof THREE__namespace.BufferGeometry){var p=void 0;if(f instanceof THREE__namespace.Mesh?p="mesh":f instanceof THREE__namespace.Points&&(p="points"),!!p){var v=d.boundingBox,A=v?[v.min.x,v.min.y,v.min.z,v.max.x,v.max.y,v.max.z]:void 0,h={};for(var m in d.attributes){var y=d.attributes[m];y instanceof THREE__namespace.InterleavedBufferAttribute?(h[m]={array:y.data.array,stride:y.data.stride,offset:y.offset},l=y.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(h[m]={array:y.array},l=y.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer))}var g=void 0,E=d.getIndex();E&&(E instanceof THREE__namespace.InterleavedBufferAttribute?(g={array:E.data.array,stride:E.data.stride,offset:E.offset},l=E.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(g={array:E.array},l=E.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)));var b={type:p,attributes:h,indices:g,maxItemPerNode:e,maxTreeDepth:r,extents:A};s.push(b)}}}return bvhWorkerPool.postMessage(s,Array.from(u))}).then(function(s){for(var u=0;u<o.length;u++){var l=o[u],c=l.geometry,f=s[u];if(c instanceof THREE__namespace.BufferGeometry){for(var d in f.attributes){var p=f.attributes[d].array,v=c.attributes[d];v instanceof THREE__namespace.InterleavedBufferAttribute?v.data.array=p:v.array=p}var A=c.getIndex();if(A&&f.indices){var p=f.indices.array;A instanceof THREE__namespace.InterleavedBufferAttribute?A.data.array=p:A.array=p}if(l instanceof THREE__namespace.Mesh){var h=new BVHMesh(f.attributes.position,f.indices);h.offsetArray=f.offsetArray,h.rootNodePacked=f.rootNodePacked,bindBvhTreeForMesh(l,h)}else if(l instanceof THREE__namespace.Points){var h=new BVHPoints(f.attributes.position,f.indices);h.offsetArray=f.offsetArray,h.rootNodePacked=f.rootNodePacked,bindBvhTreeForPoints(l,h)}}}return n})}var TileNode=function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o=noop$1);var s=n.call(this)||this;return s.contentObject=r,s.name=e,s.materials=[],s.pbmObjects=[],s.disposers=[o],s.add(r),r.traverse(function(u){var l;if(u instanceof THREE__namespace.Mesh||u instanceof THREE__namespace.Points){var c=u.material;Array.isArray(c)?(l=s.materials).push.apply(l,c):s.materials.push(c)}(u instanceof PBMMesh||u instanceof PBMPointCloud)&&s.pbmObjects.push(u)}),s}return t.prototype.generateBvhTree=function(){return generateBvhTree(this,!0,200,10)},t.prototype.intersectRaycaster=function(e,r,o){r===void 0&&(r=!0),o===void 0&&(o=[]);for(var s=this.children.slice(),u,l=[];u=s.pop();)if(u.visible){u.raycast(e,l);for(var c=0,f=u.children.length;c<f;c++)s.push(u.children[c])}return l.forEach(function(d){var p=0;if((d.object instanceof PBMMesh||d.object instanceof PBMPointCloud)&&d.face){var v=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;v&&(p=v.floor)}d.floor=p}),r&&l.sort(function(d,p){return d.distance-p.distance}),o.push.apply(o,l),o},t.prototype.update=function(e,r,o,s){for(var u=0,l=this.pbmObjects;u<l.length;u++){var c=l[u];c.update(e,r,o,s)}},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var o=r[e];o()}this.disposers.length=0,this.pbmObjects.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject.clone())},t}(THREE__namespace.Object3D);function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(l){return(l!=null?l:"").trim()}).filter(function(l){return l.length>0&&!/^\/+$/.test(l)});for(var r=0;r<n.length;r++){var o=r===0,s=r===n.length-1,u=n[r];o||(u=u.replace(/^\.\//,"").replace(/^\/+/,"")),s||(u=u.replace(/\/+$/,"")),e.push(u)}return e.join("/")}function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",o=n.slice(r.length+2),s=o.indexOf("#");s>=0&&(n.slice(s),o=n.slice(0,s));var u=o.indexOf("?");u>=0&&(n.slice(u),o=n.slice(0,u));for(var l=o.split("/"),c=l.shift(),f=(t=l.pop())!==null&&t!==void 0?t:"",d=[],p=0,v=l;p<v.length;p++){var A=v[p];if(!(A===""||A===".")){if(A===".."){d.pop();continue}d.push(A)}}return r+"//"+c+"/"+d.join("/")+"/"+f}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function normalizeTileHeader(n,t,e){var r;if(n.content){var o=(r=n.content.uri)!==null&&r!==void 0?r:n.content.url;typeof o=="string"&&!isAbsoluteURL(o)&&(n.content.uri=normalizeURL(pathJoin(t,o)))}if(n.transform){for(var s=!1,u=0;u<16;u++){var l=n.transform[u];if(typeof l!="number"||isNaN(l)||!isFinite(l)){s=!0;break}}if(n.transform[15]===0&&(s=!0),s)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var c=0,f=n.children;c<f.length;c++){var d=f[c];normalizeTileHeader(d,t)}return n}function normalizeTilesetHeader(n,t){if(n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.rootMeta.taskParameters||(n.rootMeta.taskParameters={}),n.asset.overview){var e=n.asset.overview;isAbsoluteURL(e.imageFile)||(e.imageFile=normalizeURL(pathJoin(t,e.imageFile))),isAbsoluteURL(e.worldFile)||(e.worldFile=normalizeURL(pathJoin(t,e.worldFile)))}if(n.asset.trajectories)for(var r=0;r<n.asset.trajectories.list.length;r++){var o=n.asset.trajectories.list[r];o.file=normalizeURL(pathJoin(t,o.file))}return normalizeTileHeader(n.root,t),n}function initTextures(n,t,e){for(var r,o,s=Promise.resolve(),u=n.slice(),l=function(){for(var c=[],f=0,d=void 0;d=u.shift();){c.push(d);var p=((r=d.image)===null||r===void 0?void 0:r.width)*((o=d.image)===null||o===void 0?void 0:o.height);if(!isNaN(p)&&isFinite(p)&&(f+=p),f>=e)break}s=s.then(function(){return new Promise(function(v){AnimationFrameLoop.shared.add(function(){for(var A=0,h=c;A<h.length;A++){var m=h[A];t.initTexture(m)}v()},!0)})}).catch(function(){})};u.length>0;)l();return s}function appendSearch(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}var SIZEOF_UINT32$1=4;function parseHeader$1(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$4,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$4={},_a$4[GL_TYPE.DOUBLE]=Float64Array,_a$4[GL_TYPE.FLOAT]=Float32Array,_a$4[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$4[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$4[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$4[GL_TYPE.BYTE]=Int8Array,_a$4[GL_TYPE.SHORT]=Int16Array,_a$4[GL_TYPE.INT]=Int32Array,_a$4),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var o=getArrayType(n);if(e%getByteSize(n)!==0){var s=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new o(s)}else return new o(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var o=this.json[t];if(typeof o=="number"){var s=getArrayType(e);return new s([o])}else if(Array.isArray(o)){var s=getArrayType(e);return new s(o)}else if(o&&Number.isFinite(o.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,o.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(e=glTypeFromName(o.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,o.byteOffset)):this.getTypedArrayFromArray(t,e,o)},n.prototype.getProperty=function(t,e,r,o,s){var u=this.json[t];if(!u)return null;var l=this.getPropertyArray(t,e,r);if(r===1)return s[0]=l[o],s;for(var c=0;c<r;++c)s[c]=l[r*o+c];return s},n.prototype.getTypedArrayFromBinary=function(t,e,r,o,s){var u=this.cachedTypedArrays,l=u[t];return l||(l=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+s,o*r),u[t]=l),l},n.prototype.getTypedArrayFromArray=function(t,e,r){var o=this.cachedTypedArrays,s=o[t];return s||(s=createTypedArray(e,r),o[t]=s),s},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),o=new Uint8Array(n,t,e),s=r.decode(o);return s}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),o=0;n.header=n.header||{};var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var l=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,l>=570425344?(e-=SIZEOF_UINT32*2,o=s,l=u,c=0,s=0,u=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,o=l,l=s,c=u,s=0,u=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=s,n.header.featureTableBinaryByteLength=u,n.header.batchTableJsonByteLength=l,n.header.batchTableBinaryByteLength=c,n.header.batchLength=o,e}function parseFeatureTable(n,t,e){var r=n.header||{},o=r.featureTableJsonByteLength,s=r.featureTableBinaryByteLength,u=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:u||0},o&&o>0){var l=getStringFromArrayBuffer(t,e,o);n.featureTableJson=JSON.parse(l)}e+=o||0,n.featureTableBinary=new Uint8Array(t,e,s),e+=s||0,n.rtcCenter=[0,0,0];var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var f=c.json.RTC_CENTER;n.rtcCenter[0]=f[0],n.rtcCenter[1]=f[1],n.rtcCenter[2]=f[2]}else{var f=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);f&&(n.rtcCenter[0]=f[0],n.rtcCenter[1]=f[1],n.rtcCenter[2]=f[2])}return e}function parseBatchTable(n,t,e){var r=n.header||{},o=r.batchTableJsonByteLength,s=r.batchTableBinaryByteLength;if(o&&o>0){var u=getStringFromArrayBuffer(t,e,o);n.batchTableJson=JSON.parse(u),e+=o,s&&s>0&&(n.batchTableBinary=new Uint8Array(t,e,s),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=s)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),o=new Uint8Array(r);return o.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(o){return t}}var WEBGL_CONSTANTS={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},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}function composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var o=r[e];typeof o.dispose=="function"&&o.dispose(),typeof o.close=="function"&&o.close()}}}var Parser=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.textureSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),this.textureSet.clear(),this.extensions={},this.json={asset:{version:"unknown"}}},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],o=0,s=e.length;o<s;o++)for(var u=e[o].joints,l=0,c=u.length;l<c;l++)t[u[l]].isBone=!0;for(var f=0,d=t.length;f<d;f++){var p=t[f];p.mesh!==void 0&&p.skin!==void 0&&(r[p.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var o=0,s=values(r);o<s.length;o++){var u=s[o];u.markDefs(this)}return Promise.all(values(r).map(function(l){return l.prepare(t)})).then(function(){var l,c,f;return Promise.all([Promise.all(((l=e.scenes)!==null&&l!==void 0?l:[]).map(function(d,p){return t.loadScene(p)})),Promise.all(((c=e.animations)!==null&&c!==void 0?c:[]).map(function(d,p){return t.loadAnimation(p)})),Promise.all(((f=e.cameras)!==null&&f!==void 0?f:[]).map(function(d,p){return t.loadCamera(p)}))])}).then(function(l){var c=l[0],f=l[1],d=l[2],p={json:e,scene:c[e.scene||0],scenes:c,animations:f,cameras:d,textures:[],dispose:noop$1};return p}).then(function(l){return Promise.all(values(r).map(function(c){return c.emitResult(l,t)})).then(function(){return l})}).then(function(l){var c=Array.from(t.textureSet),f=composeDsiposeSet(t.disposeSet);return Object.assign(l,{textures:c,dispose:f}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),l})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadCamera(t,this),o)break}if(!o){var c=void 0,f=this.json.cameras[t],d=f[f.type];d?f.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(d.yfov),d.aspectRatio||1,d.znear||1,d.zfar||2e6):f.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-d.xmag,d.xmag,d.ymag,-d.ymag,d.znear,d.zfar):(console.warn("glTF: Invalid camera type ".concat(f.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),f.name&&(c.name=this.createUniqueName(f.name)),o=Promise.resolve(c)}return this.cache.set(e,o),o},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var o,s=this.json.skins[t],u={joints:s.joints};return s.inverseBindMatrices===void 0?o=Promise.resolve(u):o=this.loadAccessor(s.inverseBindMatrices).then(function(l){return l&&(u.inverseBindMatrices=l),u}),this.cache.set(e,o),o},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadAnimation(t,this),o)break}if(!o){for(var c=this.json,f=c.animations[t],d=[],p=[],v=[],A=[],h=[],m=0,y=f.channels.length;m<y;m++){var g=f.channels[m],E=f.samplers[g.sampler],b=g.target,T=b.node!==void 0?b.node:b.id,_=f.parameters!==void 0?f.parameters[E.input]:E.input,R=f.parameters!==void 0?f.parameters[E.output]:E.output;d.push(this.loadNode(T)),p.push(this.loadAccessor(_)),v.push(this.loadAccessor(R)),A.push(E),h.push(b)}o=Promise.all([Promise.all(d),Promise.all(p),Promise.all(v),Promise.all(A),Promise.all(h)]).then(function(S){for(var M=S[0],P=S[1],H=S[2],w=S[3],C=S[4],L=[],I=function(D,U){var z=M[D],q=P[D],G=H[D],J=w[D],j=C[D];if(z===void 0)return"continue";z.updateMatrix(),z.matrixAutoUpdate=!0;var X=void 0;switch(PATH_PROPERTIES[j.path]){case PATH_PROPERTIES.weights:X=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:X=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:X=THREE__namespace.VectorKeyframeTrack;break}var Y=z.name?z.name:z.uuid,Z=J.interpolation!==void 0?INTERPOLATION[J.interpolation]:THREE__namespace.InterpolateLinear,W=[];PATH_PROPERTIES[j.path]===PATH_PROPERTIES.weights?z.traverse(function(pe){pe.morphTargetInfluences&&W.push(pe.name?pe.name:pe.uuid)}):W.push(Y);var ae=G.array;if(G.normalized){for(var re=getNormalizedComponentScale(ae.constructor),se=new Float32Array(ae.length),ie=0,fe=ae.length;ie<fe;ie++)se[ie]=ae[ie]*re;ae=se}for(var ie=0,fe=W.length;ie<fe;ie++){var ne=new X(W[ie]+"."+PATH_PROPERTIES[j.path],q.array,ae,Z);L.push(ne)}},F=0,k=M.length;F<k;F++)I(F);var N=f.name?f.name:"animation_"+t;return new THREE__namespace.AnimationClip(N,void 0,L)})}return this.cache.set(e,o),o},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadBuffer(t,this),s)break}if(!s){var f=this.json.buffers[t];s=this.options.fetcher.ajax(this.resolveResouce(f.uri),{responseType:"arraybuffer"}).then(function(d){return d.body})}return this.cache.set(r,s),s},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadBufferView(t,this),o)break}if(!o){var c=this.json.bufferViews[t];o=this.loadBuffer(c.buffer).then(function(f){var d=c.byteLength||0,p=c.byteOffset||0;return f.slice(p,p+d)})}return this.cache.set(e,o),o},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,o=this.cache.get(r);if(o)return o;var s=null;if(!s){var u=this.json.accessors[t];if(u.bufferView===void 0&&u.sparse===void 0)s=Promise.resolve(null);else{var l=[];u.bufferView!==void 0?l.push(this.loadBufferView(u.bufferView)):l.push(Promise.resolve(null)),u.sparse!==void 0&&(l.push(this.loadBufferView(u.sparse.indices.bufferView)),l.push(this.loadBufferView(u.sparse.values.bufferView))),s=Promise.all(l).then(function(c){var f=c[0],d=WEBGL_TYPE_SIZES[u.type],p=WEBGL_COMPONENT_TYPES[u.componentType],v=p.BYTES_PER_ELEMENT,A=v*d,h=u.byteOffset||0,m=u.bufferView!==void 0?e.json.bufferViews[u.bufferView].byteStride:void 0,y=u.normalized===!0,g,E;if(m&&m!==A){var b=Math.floor(h/m),T="InterleavedBuffer:"+u.bufferView+":"+u.componentType+":"+b+":"+u.count,_=e.cache.get(T);_||(g=new p(f,b*m,u.count*m/v),_=new THREE__namespace.InterleavedBuffer(g,m/v),e.cache.set(T,_)),E=new THREE__namespace.InterleavedBufferAttribute(_,d,h%m/v,y)}else f===null?g=new p(u.count*d):g=new p(f,h,u.count*d),E=new THREE__namespace.BufferAttribute(g,d,y);if(u.sparse!==void 0){var R=WEBGL_TYPE_SIZES.SCALAR,S=WEBGL_COMPONENT_TYPES[u.sparse.indices.componentType],M=u.sparse.indices.byteOffset||0,P=u.sparse.values.byteOffset||0,H=new S(c[1],M,u.sparse.count*R),w=new p(c[2],P,u.sparse.count*d);f!==null&&(E=new THREE__namespace.BufferAttribute(E.array.slice(),E.itemSize,E.normalized));for(var C=0,L=H.length;C<L;C++){var I=H[C];if(E.setX(I,w[C*d]),d>=2&&E.setY(I,w[C*d+1]),d>=3&&E.setZ(I,w[C*d+2]),d>=4&&E.setW(I,w[C*d+3]),d>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return E})}}return this.cache.set(r,s),s},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var o=r[e],s=o.createPrimitiveKey(t,this);if(s)return s}for(var u="",l=Object.keys(t.attributes).sort(),c=0,f=l.length;c<f;c++)u+=l[c]+":"+t.attributes[l[c]]+";";return t.indices+":"+u+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(l){return e.disposeSet.add(l),l}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadImage(t,this),r)break}if(!r){var l=this.json.images[t];if(l.bufferView!==void 0){var c=this.json.bufferViews[l.bufferView];r=this.loadBuffer(c.buffer).then(function(d){var p=c.byteOffset||0,v=c.byteLength||0,A=new Uint8Array(d,p,v),h=new Blob([A],{type:l.mimeType});return createImageBitmapLike(h)})}else if(l.uri){var f=this.resolveResouce(l.uri);r=this.options.fetcher.loadImage(f,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(d){return d.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(d){return e.disposeSet.add(d),d}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],o=new THREE__namespace.MeshStandardMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(o.vertexColors=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="normal"}).length===0&&(o.flatShading=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(o.normalScale&&(o.normalScale.y*=-1),o.clearcoatNormalScale&&(o.clearcoatNormalScale.y*=-1)),t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,o.map=d,e.disposeSet.add(d)})),o.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,o.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(u.metallicRoughnessTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,o.metalnessMap=d,o.roughnessMap=d,e.disposeSet.add(d)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;if(c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&(r.push(this.createMaterialTexture(s.normalTexture).then(function(d){o.normalMap=d,e.disposeSet.add(d)})),o.normalScale=new THREE__namespace.Vector2(1,1),s.normalTexture.scale!==void 0)){var f=s.normalTexture.scale;o.normalScale.set(f,f)}s.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(s.occlusionTexture).then(function(d){o.aoMap=d,e.disposeSet.add(d)})),s.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&(o.emissive=new THREE__namespace.Color().fromArray(s.emissiveFactor)),s.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(s.emissiveTexture).then(function(d){o.emissiveMap=d,e.disposeSet.add(d)}))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(r.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;r.color.fromArray(u),r.opacity=u[3]}o.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;l===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,l===ALPHA_MODES.MASK&&(r.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],o=new THREE__namespace.PointsMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,o.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(f){return ATTRIBUTES[f]==="color"}).length>0&&(o.vertexColors=!0),Object.keys(t.attributes).filter(function(f){return ATTRIBUTES[f]==="tangent"}).length===0&&(o.normalScale&&(o.normalScale.y*=-1),o.clearcoatNormalScale&&(o.clearcoatNormalScale.y*=-1)),t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(f){f.encoding=THREE__namespace.sRGBEncoding,o.map=f,e.disposeSet.add(f)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:WEBGL_CONSTANTS.TRIANGLES,o="material:"+this.createPrimitiveKey(t),s=this.cache.get(o);if(s)return s;for(var u=null,l=0,c=values(this.extensions);l<c.length;l++){var f=c[l];if(u=f.loadMaterial(t,this),u)break}if(r===WEBGL_CONSTANTS.TRIANGLES||r===WEBGL_CONSTANTS.TRIANGLE_STRIP||r===WEBGL_CONSTANTS.TRIANGLE_FAN)u=this.loadMaterialAsMeshStandardMaterial(t);else if(r===WEBGL_CONSTANTS.LINES||r===WEBGL_CONSTANTS.LINE_STRIP||r===WEBGL_CONSTANTS.LINE_LOOP)u=this.loadMaterialAsLineBasicMaterial(t);else if(r===WEBGL_CONSTANTS.POINTS)u=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(o,u),u},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadTexture(t,this),s)break}if(!s){var f=this.json.textures[t];s=this.loadImage(f.source).then(function(d){var p=new THREE__namespace.Texture(d);p.needsUpdate=!0,p.flipY=!1,f.name&&(p.name=f.name);var v=e.json.samplers||{},A=v[f.sampler]||{};return p.magFilter=WEBGL_FILTERS[A.magFilter]||THREE__namespace.LinearFilter,p.minFilter=WEBGL_FILTERS[A.minFilter]||THREE__namespace.LinearMipmapLinearFilter,p.wrapS=WEBGL_WRAPPINGS[A.wrapS]||THREE__namespace.RepeatWrapping,p.wrapT=WEBGL_WRAPPINGS[A.wrapT]||THREE__namespace.RepeatWrapping,p.onUpdate=function(){d.close()},p})}return s=s.then(function(d){return e.disposeSet.add(d),d}),this.cache.set(r,s),s},n.prototype.loadMesh=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadMesh(t,this),r)break}if(!r){var l=this.json.meshes[t],c=l.primitives,f=Promise.all(c.map(function(p){return e.loadGeometry(p)})),d=Promise.all(c.map(function(p){return e.loadMaterial(p)}));r=Promise.all([f,d]).then(function(p){for(var v=p[0],A=p[1],h=[],m=0;m<c.length;m++){var y=c[m],g=v[m],E=A[m],b=y.mode||WEBGL_CONSTANTS.TRIANGLES,T=void 0;if(b===WEBGL_CONSTANTS.TRIANGLES||b===WEBGL_CONSTANTS.TRIANGLE_STRIP||b===WEBGL_CONSTANTS.TRIANGLE_FAN)if(b===WEBGL_CONSTANTS.TRIANGLE_STRIP?g=e.toGeometryTrianglesDrawMode(g,THREE__namespace.TriangleStripDrawMode):b===WEBGL_CONSTANTS.TRIANGLE_FAN&&(g=e.toGeometryTrianglesDrawMode(g,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(g),l.isSkinnedMesh){var _=new THREE__namespace.SkinnedMesh(g,E);g.attributes.skinWeight.normalized||_.normalizeSkinWeights(),T=_}else T=new THREE__namespace.Mesh(g,E);else if(b===WEBGL_CONSTANTS.POINTS)T=new THREE__namespace.Points(g,E);else if(b===WEBGL_CONSTANTS.LINES)T=new THREE__namespace.LineSegments(g,E);else if(b===WEBGL_CONSTANTS.LINE_STRIP)T=new THREE__namespace.Line(g,E);else if(b===WEBGL_CONSTANTS.LINE_LOOP)T=new THREE__namespace.LineLoop(g,E);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(g.morphAttributes).length>0){if(l.weights!==void 0)for(var R=0,S=l.weights.length;R<S;R++)T.morphTargetInfluences[R]=l.weights[R];if(l.extras&&Array.isArray(l.extras.targetNames)){var M=l.extras.targetNames;if(T.morphTargetInfluences.length===M.length){T.morphTargetDictionary={};for(var R=0,S=M.length;R<S;R++)T.morphTargetDictionary[M[R]]=R}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}T.name=e.createUniqueName(l.name||"mesh_"+t),h.push(T)}if(h.length===1)return h[0];for(var P=new THREE__namespace.Group,H=0,w=h;H<w.length;H++){var T=w[H];P.add(T)}return P})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,o=values(this.extensions);r<o.length;r++){var s=o[r],u=s.loadNodeAttachments(t,this);u&&e.push(u)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var o=this.json,s=o.nodes[t],u=s.name?this.createUniqueName(s.name):"",l=[];s.mesh!==void 0&&l.push(this.loadMesh(s.mesh).then(function(v){if(s.weights!==void 0){var A=s.weights;v.traverse(function(h){if(h instanceof THREE__namespace.Mesh||h instanceof THREE__namespace.Line||h instanceof THREE__namespace.Points)for(var m=0,y=A.length;m<y;m++)h.morphTargetInfluences[m]=A[m]})}return v})),s.camera!==void 0&&l.push(this.loadCamera(s.camera));for(var c=this.loadNodeAttachments(t),f=0,d=c;f<d.length;f++){var p=d[f];l.push(p)}return Promise.all(l).then(function(v){var A;if(s.isBone===!0?A=new THREE__namespace.Bone:v.length>1?A=new THREE__namespace.Group:v.length===1?A=v[0]:A=new THREE__namespace.Object3D,A!==v[0])for(var h=0,m=v.length;h<m;h++)A.add(v[h]);if(s.name&&(A.name=u),s.matrix!==void 0){var y=new THREE__namespace.Matrix4;y.fromArray(s.matrix),A.applyMatrix4(y)}else s.translation!==void 0&&A.position.fromArray(s.translation),s.rotation!==void 0&&A.quaternion.fromArray(s.rotation),s.scale!==void 0&&A.scale.fromArray(s.scale);return A})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],o=new THREE__namespace.Group;r.name&&(o.name=this.createUniqueName(r.name));for(var s=r.nodes||[],u=[],l=0,c=s.length;l<c;l++)u.push(this.buildNodeHierarchy(s[l],o));return Promise.all(u).then(function(){return o})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var o=0,s=values(e.extensions);o<s.length;o++){var u=s[o],l=u.extendTexture(r,t,e);l&&(r=l,e.disposeSet.add(r))}return e.textureSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,o=e.attributes,s=[],u=function(_){var R=ATTRIBUTES[_]||_.toLowerCase();if(R in t.attributes)return"continue";s.push(l.loadAccessor(o[_]).then(function(S){S&&t.setAttribute(R,S)}))},l=this;for(var c in o)u(c);e.indices!==void 0&&!t.index&&s.push(this.loadAccessor(e.indices).then(function(_){_&&t.setIndex(_)}));var f=new THREE__namespace.Box3;if(o.POSITION!==void 0){var d=this.json.accessors[o.POSITION],p=d.min,v=d.max;if(p!==void 0&&v!==void 0){if(f.set(new THREE__namespace.Vector3(p[0],p[1],p[2]),new THREE__namespace.Vector3(v[0],v[1],v[2])),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);f.min.multiplyScalar(A),f.max.multiplyScalar(A)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var h=e.targets;if(h!==void 0){for(var m=new THREE__namespace.Vector3,y=new THREE__namespace.Vector3,g=0,E=h.length;g<E;g++){var b=h[g];if(b.POSITION!==void 0){var d=this.json.accessors[b.POSITION],p=d.min,v=d.max;if(p!==void 0&&v!==void 0){if(y.setX(Math.max(Math.abs(p[0]),Math.abs(v[0]))),y.setY(Math.max(Math.abs(p[1]),Math.abs(v[1]))),y.setZ(Math.max(Math.abs(p[2]),Math.abs(v[2]))),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);y.multiplyScalar(A)}m.max(y)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}f.expandByVector(m)}t.boundingBox=f;var T=new THREE__namespace.Sphere;return f.getCenter(T.center),T.radius=f.min.distanceTo(f.max)/2,t.boundingSphere=T,Promise.all(s).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var _=!1,R=!1,S=0,M=e.targets.length;S<M;S++){var P=e.targets[S];if(P.POSITION!==void 0&&(_=!0),P.NORMAL!==void 0&&(R=!0),_&&R)break}if(!_&&!R)return t;var H=[];t.morphTargetsRelative=!0;for(var w=function(C,L){var I=e.targets[C];_?H.push(r.loadAccessor(I.POSITION).then(function(F){F&&(t.morphAttributes.position[C]=F)})):t.morphAttributes.position[C]=t.attributes.position,R?H.push(r.loadAccessor(I.NORMAL).then(function(F){F&&(t.morphAttributes.normal[C]=F)})):t.morphAttributes.normal[C]=t.attributes.normal},S=0,M=e.targets.length;S<M;S++)w(S,M);return Promise.all(H).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,o=this.json.nodes[t];return this.loadNode(t).then(function(s){if(o.skin===void 0)return s;var u;return r.loadSkin(o.skin).then(function(l){u=l;for(var c=[],f=0,d=u.joints.length;f<d;f++)c.push(r.loadNode(u.joints[f]));return Promise.all(c)}).then(function(l){return s.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var f=[],d=[],p=0,v=l.length;p<v;p++){var A=l[p];if(A instanceof THREE__namespace.Bone){f.push(A);var h=new THREE__namespace.Matrix4;u.inverseBindMatrices!==void 0&&h.fromArray(u.inverseBindMatrices.array,p*16),d.push(h)}else console.warn('glTF: Joint "%s" could not be found.',u.joints[p])}c.bind(new THREE__namespace.Skeleton(f,d),c.matrixWorld)}}),s})}).then(function(s){e.add(s);var u=[];if(o.children)for(var l=o.children,c=0,f=l.length;c<f;c++){var d=l[c];u.push(r.buildNodeHierarchy(d,s))}return Promise.all(u).then(function(){return s})})},n.prototype.createUniqueName=function(t){for(var e=THREE__namespace.PropertyBinding.sanitizeNodeName(t||""),r=e,o=1;this.nodeNamesUsed[r];++o)r=e+"_"+o;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var o=[],s=t.getAttribute("position");if(s!==void 0){for(var u=0;u<s.count;u++)o.push(u);t.setIndex(o),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var l=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var u=1;u<=l;u++)c.push(r.getX(0)),c.push(r.getX(u)),c.push(r.getX(u+1));else for(var u=0;u<l;u++)u%2===0?(c.push(r.getX(u)),c.push(r.getX(u+1)),c.push(r.getX(u+2))):(c.push(r.getX(u+2)),c.push(r.getX(u+1)),c.push(r.getX(u)));c.length/3!==l&&console.error("glTF: Unable to generate correct amount of triangles.");var f=t.clone();return f.setIndex(c),this.disposeSet.add(f),f},n}();function getNormalizedComponentScale(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var BaseExtension=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),KHR_binary_glTF=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var o=new DataView(e,t.HEADER_LENGTH),s=0,u=null,l=null;s<o.byteLength;){var c=o.getUint32(s,!0);if(s+=4,c!==0){var f=o.getUint32(s,!0);if(s+=4,f===t.CHUNK_TYPES.JSON){var d=new Uint8Array(e,t.HEADER_LENGTH+s,c);u=decodeText(d)}else if(f===t.CHUNK_TYPES.BIN){var p=t.HEADER_LENGTH+s;l=e.slice(p,p+c)}s+=c}}if(u===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=u,this.body=l},t.prototype.loadBuffer=function(e,r){var o=r.json.buffers[e];return o.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,o){var s={attributeIDs:r||defaultAttributeIDs,attributeTypes:o||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,s).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var o in e.attributeTypes){var s=e.attributeTypes[o];s.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[o]=s.name)}var u,l=this.workerNextTaskID++,c=t.byteLength,f=this._getWorker(l,c).then(function(d){return u=d,new Promise(function(p,v){u._callbacks[l]={resolve:p,reject:v},u.postMessage({type:"decode",id:l,taskConfig:e,buffer:t},[t])})}).then(function(d){return r._createGeometry(d.geometry)});return f.catch(function(){return!0}).then(function(){u&&l&&r._releaseTask(u,l)}),f},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var o=t.attributes[r],s=o.name,u=o.array,l=o.itemSize,c=!(u instanceof Float32Array||u instanceof Float64Array);e.setAttribute(s,new THREE__namespace.BufferAttribute(u,l,c))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(s){return s.body});this.decoderPending=r.then(function(s){var u=["/* draco decoder */",s,"","/* worker */",DRACOWorker].join(`
|
|
418
418
|
`);t.workerSourceURL=URL.createObjectURL(new Blob([u]))})}else{var r=ajax(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(u){return u.body}),o=ajax(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(u){return u.body});this.decoderPending=Promise.all([r,o]).then(function(u){var l=u[0],c=u[1];t.decoderConfig.wasmBinary=c;var f=["/* draco decoder */",l,"","/* worker */",DRACOWorker].join(`
|
|
419
419
|
`);t.workerSourceURL=URL.createObjectURL(new Blob([f]))})}return this.decoderPending},n.prototype._getWorker=function(t,e){var r=this;return this._initDecoder().then(function(){if(r.workerPool.length<r.workerLimit){var o=new Worker(r.workerSourceURL);o._callbacks={},o._taskCosts={},o._taskLoad=0,o.postMessage({type:"init",decoderConfig:r.decoderConfig}),o.onmessage=function(u){var l=u.data;switch(l.type){case"decode":o._callbacks[l.id].resolve(l);break;case"error":o._callbacks[l.id].reject(l);break;default:console.error('DRACO: Unexpected message, "'+l.type+'"')}},r.workerPool.push(o)}else r.workerPool.sort(function(u,l){return u._taskLoad>l._taskLoad?-1:1});var s=r.workerPool[r.workerPool.length-1];return s._taskCosts[t]=e,s._taskLoad+=e,s})},n.prototype._releaseTask=function(t,e){t._taskLoad-=t._taskCosts[e],delete t._callbacks[e],delete t._taskCosts[e]},n.prototype.dispose=function(){for(var t=0;t<this.workerPool.length;++t)this.workerPool[t].terminate();return this.workerPool.length=0,this},n}(),draco=new Draco,DRACOWorker=`
|
|
420
420
|
let decoderConfig;
|
|
@@ -925,7 +925,7 @@ self.onmessage = function(event) {
|
|
|
925
925
|
}
|
|
926
926
|
postMessage({ id: packet.id, error: "type never matched." });
|
|
927
927
|
};
|
|
928
|
-
`),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob)}catch(n){}var LZMAWorker=function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var o=r.data,s=o.id,u=o.result,l=o.error,c=t.getKey(s);t.requests[c]&&(l?t.requests[c](new Error(l)):t.requests[c](null,u),delete t.requests[c])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n}();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(u){var l={data:n[u],offset:0,readByte:function(){return this.data[this.offset++]}},c=l.data.length,f={data:[],offset:0,writeByte:function(p){var v=Math.floor(this.offset/c);this.data[v]||(this.data[v]=new Uint8Array(c)),this.data[v][this.offset%c]=p,this.offset++}};LZMA.decompressFile(l,f),o=new Uint8Array(f.offset);for(var d=0;d<f.offset;d++)o[d]=f.data[Math.floor(d/c)][d%c];t.push(o)},o,s=0;s<e;s++)r(s);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(s){t.push(new Promise(function(u,l){var c=new LZMAWorker;c.decompress(n[s],function(f,d){if(c.terminate(),f)return l(f);u(d)})}))},o=0;o<e;o++)r(o);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],o=[],s=4+e*4,u=0;u<e;u++)o[u]=readUint32(t.slice(4+u*4,8+u*4)),u===e-1?r[u]=t.subarray(s,s+o[u]):r[u]=t.slice(s,s+o[u]),s+=o[u];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}var dequeuing=!1,queue=[];function dequeue(n){if(n===void 0&&(n=!1),!(!n&&dequeuing)){dequeuing=!0;var t=queue.shift();if(t){try{t()}catch(e){}AnimationFrameLoop.shared.add(function(){return dequeue(!0)},!0,2,-100)}else dequeuing=!1}}function delay(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(o){e(o)}};queue.push(r),AnimationFrameLoop.shared.add(function(){return dequeue()},!0,2,-100)})}function pick(n,t){for(var e={},r=0,o=t;r<o.length;r++){var s=o[r];s in n&&(e[s]=n[s])}return e}function omit(n,t){for(var e=__assign({},n),r=0,o=t;r<o.length;r++){var s=o[r];s in e&&delete e[s]}return e}var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(n,t){for(var e=new Array(arguments.length-1),r=0,o=2,s=!0;o<arguments.length;)e[r++]=arguments[o++];return new Promise(function(l,c){e[r]=function(d){if(s)if(s=!1,d)c(d);else{for(var p=new Array(arguments.length-1),v=0;v<p.length;)p[v++]=arguments[v];l.apply(null,p)}};try{n.apply(t||null,e)}catch(f){s&&(s=!1,c(f))}})}var base64$1={};(function(n){var t=n;t.length=function(l){var c=l.length;if(!c)return 0;for(var f=0;--c%4>1&&l.charAt(c)==="=";)++f;return Math.ceil(l.length*3)/4-f};for(var e=new Array(64),r=new Array(123),o=0;o<64;)r[e[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;t.encode=function(l,c,f){for(var d=null,p=[],v=0,A=0,h;c<f;){var m=l[c++];switch(A){case 0:p[v++]=e[m>>2],h=(m&3)<<4,A=1;break;case 1:p[v++]=e[h|m>>4],h=(m&15)<<2,A=2;break;case 2:p[v++]=e[h|m>>6],p[v++]=e[m&63],A=0;break}v>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,p)),v=0)}return A&&(p[v++]=e[h],p[v++]=61,A===1&&(p[v++]=61)),d?(v&&d.push(String.fromCharCode.apply(String,p.slice(0,v))),d.join("")):String.fromCharCode.apply(String,p.slice(0,v))};var s="invalid encoding";t.decode=function(l,c,f){for(var d=f,p=0,v,A=0;A<l.length;){var h=l.charCodeAt(A++);if(h===61&&p>1)break;if((h=r[h])===void 0)throw Error(s);switch(p){case 0:v=h,p=1;break;case 1:c[f++]=v<<2|(h&48)>>4,v=h,p=2;break;case 2:c[f++]=(v&15)<<4|(h&60)>>2,v=h,p=3;break;case 3:c[f++]=(v&3)<<6|h,p=0;break}}if(p===1)throw Error(s);return f-d},t.test=function(l){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(l)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(t,e,r){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:r||this}),this},EventEmitter.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var r=this._listeners[t],o=0;o<r.length;)r[o].fn===e?r.splice(o,1):++o;return this},EventEmitter.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var r=[],o=1;o<arguments.length;)r.push(arguments[o++]);for(o=0;o<e.length;)e[o].fn.apply(e[o++].ctx,r)}return this};var float=factory(factory);function factory(n){return typeof Float32Array!="undefined"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),r=e[3]===128;function o(c,f,d){t[0]=c,f[d]=e[0],f[d+1]=e[1],f[d+2]=e[2],f[d+3]=e[3]}function s(c,f,d){t[0]=c,f[d]=e[3],f[d+1]=e[2],f[d+2]=e[1],f[d+3]=e[0]}n.writeFloatLE=r?o:s,n.writeFloatBE=r?s:o;function u(c,f){return e[0]=c[f],e[1]=c[f+1],e[2]=c[f+2],e[3]=c[f+3],t[0]}function l(c,f){return e[3]=c[f],e[2]=c[f+1],e[1]=c[f+2],e[0]=c[f+3],t[0]}n.readFloatLE=r?u:l,n.readFloatBE=r?l:u}():function(){function t(r,o,s,u){var l=o<0?1:0;if(l&&(o=-o),o===0)r(1/o>0?0:2147483648,s,u);else if(isNaN(o))r(2143289344,s,u);else if(o>34028234663852886e22)r((l<<31|2139095040)>>>0,s,u);else if(o<11754943508222875e-54)r((l<<31|Math.round(o/1401298464324817e-60))>>>0,s,u);else{var c=Math.floor(Math.log(o)/Math.LN2),f=Math.round(o*Math.pow(2,-c)*8388608)&8388607;r((l<<31|c+127<<23|f)>>>0,s,u)}}n.writeFloatLE=t.bind(null,writeUintLE),n.writeFloatBE=t.bind(null,writeUintBE);function e(r,o,s){var u=r(o,s),l=(u>>31)*2+1,c=u>>>23&255,f=u&8388607;return c===255?f?NaN:l*(1/0):c===0?l*1401298464324817e-60*f:l*Math.pow(2,c-150)*(f+8388608)}n.readFloatLE=e.bind(null,readUintLE),n.readFloatBE=e.bind(null,readUintBE)}(),typeof Float64Array!="undefined"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),r=e[7]===128;function o(c,f,d){t[0]=c,f[d]=e[0],f[d+1]=e[1],f[d+2]=e[2],f[d+3]=e[3],f[d+4]=e[4],f[d+5]=e[5],f[d+6]=e[6],f[d+7]=e[7]}function s(c,f,d){t[0]=c,f[d]=e[7],f[d+1]=e[6],f[d+2]=e[5],f[d+3]=e[4],f[d+4]=e[3],f[d+5]=e[2],f[d+6]=e[1],f[d+7]=e[0]}n.writeDoubleLE=r?o:s,n.writeDoubleBE=r?s:o;function u(c,f){return e[0]=c[f],e[1]=c[f+1],e[2]=c[f+2],e[3]=c[f+3],e[4]=c[f+4],e[5]=c[f+5],e[6]=c[f+6],e[7]=c[f+7],t[0]}function l(c,f){return e[7]=c[f],e[6]=c[f+1],e[5]=c[f+2],e[4]=c[f+3],e[3]=c[f+4],e[2]=c[f+5],e[1]=c[f+6],e[0]=c[f+7],t[0]}n.readDoubleLE=r?u:l,n.readDoubleBE=r?l:u}():function(){function t(r,o,s,u,l,c){var f=u<0?1:0;if(f&&(u=-u),u===0)r(0,l,c+o),r(1/u>0?0:2147483648,l,c+s);else if(isNaN(u))r(0,l,c+o),r(2146959360,l,c+s);else if(u>17976931348623157e292)r(0,l,c+o),r((f<<31|2146435072)>>>0,l,c+s);else{var d;if(u<22250738585072014e-324)d=u/5e-324,r(d>>>0,l,c+o),r((f<<31|d/4294967296)>>>0,l,c+s);else{var p=Math.floor(Math.log(u)/Math.LN2);p===1024&&(p=1023),d=u*Math.pow(2,-p),r(d*4503599627370496>>>0,l,c+o),r((f<<31|p+1023<<20|d*1048576&1048575)>>>0,l,c+s)}}}n.writeDoubleLE=t.bind(null,writeUintLE,0,4),n.writeDoubleBE=t.bind(null,writeUintBE,4,0);function e(r,o,s,u,l){var c=r(u,l+o),f=r(u,l+s),d=(f>>31)*2+1,p=f>>>20&2047,v=4294967296*(f&1048575)+c;return p===2047?v?NaN:d*(1/0):p===0?d*5e-324*v:d*Math.pow(2,p-1075)*(v+4503599627370496)}n.readDoubleLE=e.bind(null,readUintLE,0,4),n.readDoubleBE=e.bind(null,readUintBE,4,0)}(),n}function writeUintLE(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}function writeUintBE(n,t,e){t[e]=n>>>24,t[e+1]=n>>>16&255,t[e+2]=n>>>8&255,t[e+3]=n&255}function readUintLE(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function readUintBE(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}var utf8$2={};(function(n){var t=n;t.length=function(r){for(var o=0,s=0,u=0;u<r.length;++u)s=r.charCodeAt(u),s<128?o+=1:s<2048?o+=2:(s&64512)===55296&&(r.charCodeAt(u+1)&64512)===56320?(++u,o+=4):o+=3;return o},t.read=function(r,o,s){var u=s-o;if(u<1)return"";for(var l=null,c=[],f=0,d;o<s;)d=r[o++],d<128?c[f++]=d:d>191&&d<224?c[f++]=(d&31)<<6|r[o++]&63:d>239&&d<365?(d=((d&7)<<18|(r[o++]&63)<<12|(r[o++]&63)<<6|r[o++]&63)-65536,c[f++]=55296+(d>>10),c[f++]=56320+(d&1023)):c[f++]=(d&15)<<12|(r[o++]&63)<<6|r[o++]&63,f>8191&&((l||(l=[])).push(String.fromCharCode.apply(String,c)),f=0);return l?(f&&l.push(String.fromCharCode.apply(String,c.slice(0,f))),l.join("")):String.fromCharCode.apply(String,c.slice(0,f))},t.write=function(r,o,s){for(var u=s,l,c,f=0;f<r.length;++f)l=r.charCodeAt(f),l<128?o[s++]=l:l<2048?(o[s++]=l>>6|192,o[s++]=l&63|128):(l&64512)===55296&&((c=r.charCodeAt(f+1))&64512)===56320?(l=65536+((l&1023)<<10)+(c&1023),++f,o[s++]=l>>18|240,o[s++]=l>>12&63|128,o[s++]=l>>6&63|128,o[s++]=l&63|128):(o[s++]=l>>12|224,o[s++]=l>>6&63|128,o[s++]=l&63|128);return s-u}})(utf8$2);var pool_1=pool;function pool(n,t,e){var r=e||8192,o=r>>>1,s=null,u=r;return function(c){if(c<1||c>o)return n(c);u+c>r&&(s=n(r),u=0);var f=t.call(s,u,u+=c);return u&7&&(u=(u|7)+1),f}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal();function t(s,u){this.lo=s>>>0,this.hi=u>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(u){if(u===0)return e;var l=u<0;l&&(u=-u);var c=u>>>0,f=(u-c)/4294967296>>>0;return l&&(f=~f>>>0,c=~c>>>0,++c>4294967295&&(c=0,++f>4294967295&&(f=0))),new t(c,f)},t.from=function(u){if(typeof u=="number")return t.fromNumber(u);if(n.isString(u))if(n.Long)u=n.Long.fromString(u);else return t.fromNumber(parseInt(u,10));return u.low||u.high?new t(u.low>>>0,u.high>>>0):e},t.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var l=~this.lo+1>>>0,c=~this.hi>>>0;return l||(c=c+1>>>0),-(l+c*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(u){return n.Long?new n.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var o=String.prototype.charCodeAt;return t.fromHash=function(u){return u===r?e:new t((o.call(u,0)|o.call(u,1)<<8|o.call(u,2)<<16|o.call(u,3)<<24)>>>0,(o.call(u,4)|o.call(u,5)<<8|o.call(u,6)<<16|o.call(u,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},t.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},t.prototype.length=function(){var u=this.lo,l=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?l===0?u<16384?u<128?1:2:u<2097152?3:4:l<16384?l<128?5:6:l<2097152?7:8:c<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(n){var t=n;t.asPromise=aspromise,t.base64=base64$1,t.EventEmitter=eventemitter,t.float=float,t.inquire=inquire_1,t.utf8=utf8$2,t.pool=pool_1,t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||commonjsGlobal,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s},t.isString=function(s){return typeof s=="string"||s instanceof String},t.isObject=function(s){return s&&typeof s=="object"},t.isset=t.isSet=function(s,u){var l=s[u];return l!=null&&s.hasOwnProperty(u)?typeof l!="object"||(Array.isArray(l)?l.length:Object.keys(l).length)>0:!1},t.Buffer=function(){try{var o=t.inquire("buffer").Buffer;return o.prototype.utf8Write?o:null}catch(s){return null}}(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(s){return typeof s=="number"?t.Buffer?t._Buffer_allocUnsafe(s):new t.Array(s):t.Buffer?t._Buffer_from(s):typeof Uint8Array=="undefined"?s:new Uint8Array(s)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(s){return s?t.LongBits.from(s).toHash():t.LongBits.zeroHash},t.longFromHash=function(s,u){var l=t.LongBits.fromHash(s);return t.Long?t.Long.fromBits(l.lo,l.hi,u):l.toNumber(!!u)};function e(o,s,u){for(var l=Object.keys(s),c=0;c<l.length;++c)(o[l[c]]===void 0||!u)&&(o[l[c]]=s[l[c]]);return o}t.merge=e,t.lcFirst=function(s){return s.charAt(0).toLowerCase()+s.substring(1)};function r(o){function s(u,l){if(!(this instanceof s))return new s(u,l);Object.defineProperty(this,"message",{get:function(){return u}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:new Error().stack||""}),l&&e(this,l)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return o},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(s){for(var u={},l=0;l<s.length;++l)u[s[l]]=1;return function(){for(var c=Object.keys(this),f=c.length-1;f>-1;--f)if(u[c[f]]===1&&this[c[f]]!==void 0&&this[c[f]]!==null)return c[f]}},t.oneOfSetter=function(s){return function(u){for(var l=0;l<s.length;++l)s[l]!==u&&delete this[s[l]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var o=t.Buffer;if(!o){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=o.from!==Uint8Array.from&&o.from||function(u,l){return new o(u,l)},t._Buffer_allocUnsafe=o.allocUnsafe||function(u){return new o(u)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(n,t,e){this.fn=n,this.len=t,this.next=void 0,this.val=e}function noop(){}function State(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function n(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1(),Writer$1.alloc=function n(t){return new util$4.Array(t)},util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray)),Writer$1.prototype._push=function n(t,e,r){return this.tail=this.tail.next=new Op(t,e,r),this.len+=e,this};function writeByte(n,t,e){t[e]=n&255}function writeVarint32(n,t,e){for(;n>127;)t[e++]=n&127|128,n>>>=7;t[e]=n}function VarintOp(n,t){this.len=n,this.next=void 0,this.val=t}VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer$1.prototype.uint32=function n(t){return this.len+=(this.tail=this.tail.next=new VarintOp((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},Writer$1.prototype.int32=function n(t){return t<0?this._push(writeVarint64,10,LongBits$1.fromNumber(t)):this.uint32(t)},Writer$1.prototype.sint32=function n(t){return this.uint32((t<<1^t>>31)>>>0)};function writeVarint64(n,t,e){for(;n.hi;)t[e++]=n.lo&127|128,n.lo=(n.lo>>>7|n.hi<<25)>>>0,n.hi>>>=7;for(;n.lo>127;)t[e++]=n.lo&127|128,n.lo=n.lo>>>7;t[e++]=n.lo}Writer$1.prototype.uint64=function n(t){var e=LongBits$1.from(t);return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.int64=Writer$1.prototype.uint64,Writer$1.prototype.sint64=function n(t){var e=LongBits$1.from(t).zzEncode();return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.bool=function n(t){return this._push(writeByte,1,t?1:0)};function writeFixed32(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}Writer$1.prototype.fixed32=function n(t){return this._push(writeFixed32,4,t>>>0)},Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32,Writer$1.prototype.fixed64=function n(t){var e=LongBits$1.from(t);return this._push(writeFixed32,4,e.lo)._push(writeFixed32,4,e.hi)},Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64,Writer$1.prototype.float=function n(t){return this._push(util$4.float.writeFloatLE,4,t)},Writer$1.prototype.double=function n(t){return this._push(util$4.float.writeDoubleLE,8,t)};var writeBytes=util$4.Array.prototype.set?function n(t,e,r){e.set(t,r)}:function n(t,e,r){for(var o=0;o<t.length;++o)e[r+o]=t[o]};Writer$1.prototype.bytes=function n(t){var e=t.length>>>0;if(!e)return this._push(writeByte,1,0);if(util$4.isString(t)){var r=Writer$1.alloc(e=base64.length(t));base64.decode(t,r,0),t=r}return this.uint32(e)._push(writeBytes,e,t)},Writer$1.prototype.string=function n(t){var e=utf8$1.length(t);return e?this.uint32(e)._push(utf8$1.write,e,t):this._push(writeByte,1,0)},Writer$1.prototype.fork=function n(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer$1.prototype.reset=function n(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer$1.prototype.ldelim=function n(){var t=this.head,e=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=t.next,this.tail=e,this.len+=r),this},Writer$1.prototype.finish=function n(){for(var t=this.head.next,e=this.constructor.alloc(this.len),r=0;t;)t.fn(t.val,e,r),r+=t.len,t=t.next;return e},Writer$1._configure=function(n){BufferWriter$1=n,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(t,e,r){e.set(t,r)}:function(t,e,r){if(t.copy)t.copy(e,r,0,t.length);else for(var o=0;o<t.length;)e[r++]=t[o++]}},BufferWriter.prototype.bytes=function n(t){util$3.isString(t)&&(t=util$3._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(BufferWriter.writeBytesBuffer,e,t),this};function writeStringBuffer(n,t,e){n.length<40?util$3.utf8.write(n,t,e):t.utf8Write?t.utf8Write(n,e):t.write(n,e)}BufferWriter.prototype.string=function n(t){var e=util$3.Buffer.byteLength(t);return this.uint32(e),e&&this._push(writeStringBuffer,e,t),this},BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function Reader$1(n){this.buf=n,this.pos=0,this.len=n.length}var create_array=typeof Uint8Array!="undefined"?function n(t){if(t instanceof Uint8Array||Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")}:function n(t){if(Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")},create=function n(){return util$2.Buffer?function(e){return(Reader$1.create=function(o){return util$2.Buffer.isBuffer(o)?new BufferReader$1(o):create_array(o)})(e)}:create_array};Reader$1.create=create(),Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice,Reader$1.prototype.uint32=function n(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return t}}(),Reader$1.prototype.int32=function n(){return this.uint32()|0},Reader$1.prototype.sint32=function n(){var t=this.uint32();return t>>>1^-(t&1)|0};function readLongVarint(){var n=new LongBits(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function n(){return this.uint32()!==0};function readFixed32_end(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}Reader$1.prototype.fixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader$1.prototype.sfixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},Reader$1.prototype.double=function n(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},Reader$1.prototype.bytes=function n(){var t=this.uint32(),e=this.pos,r=this.pos+t;if(r>this.len)throw indexOutOfRange(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,r);if(e===r){var o=util$2.Buffer;return o?o.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,r)},Reader$1.prototype.string=function n(){var t=this.bytes();return utf8.read(t,0,t.length)},Reader$1.prototype.skip=function n(t){if(typeof t=="number"){if(this.pos+t>this.len)throw indexOutOfRange(this,t);this.pos+=t}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this},Reader$1.prototype.skipType=function(n){switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this},Reader$1._configure=function(n){BufferReader$1=n,Reader$1.create=create(),BufferReader$1._configure();var t=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(n){Reader.call(this,n)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)},BufferReader.prototype.string=function n(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(n,t,e){if(typeof n!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!e}Service.prototype.rpcCall=function n(t,e,r,o,s){if(!o)throw TypeError("request must be specified");var u=this;if(!s)return util.asPromise(n,u,t,e,r,o);if(!u.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return u.rpcImpl(t,e[u.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(c,f){if(c)return u.emit("error",c,t),s(c);if(f===null){u.end(!0);return}if(!(f instanceof r))try{f=r[u.responseDelimited?"decodeDelimited":"decode"](f)}catch(d){return u.emit("error",d,t),s(d)}return u.emit("data",f,t),s(null,f)})}catch(l){u.emit("error",l,t),setTimeout(function(){s(l)},0);return}},Service.prototype.end=function n(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},function(n){var t=n;t.Service=service}(rpc);var roots={};(function(n){var t=n;t.build="minimal",t.Writer=writer,t.BufferWriter=writer_buffer,t.Reader=reader,t.BufferReader=reader_buffer,t.util=requireMinimal(),t.rpc=rpc,t.roots=roots,t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal);var minimal=indexMinimal;const $Reader$1=minimal.Reader,$util$1=minimal.util,$root$1=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{s.createAt=e.uint64();break}case 3:{s.description=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{s.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{s.name=e.string();break}case 4:{s.texture=e.string();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:s});if(!s.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:s});if(!s.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Vertices;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.xyz&&s.xyz.length||(s.xyz=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.xyz.push(e.float())}else s.xyz.push(e.float());break}case 2:{if(s.uvs&&s.uvs.length||(s.uvs=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.uvs.push(e.float())}else s.uvs.push(e.float());break}case 3:{if(s.marks&&s.marks.length||(s.marks=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.marks.push(e.int32())}else s.marks.push(e.int32());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Faces;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.indices&&s.indices.length||(s.indices=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.indices.push(e.uint32())}else s.indices.push(e.uint32());break}case 2:{if(s.normals&&s.normals.length||(s.normals=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.normals.push(e.float())}else s.normals.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function loadPbm(n,t){var e,r,o,s;t===void 0&&(t={});var u=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),l={byteLength:0},c=autoRestImageOptionsByTextureLength((r=t.textureOptions)!==null&&r!==void 0?r:{},(s=(o=t.textureArray)===null||o===void 0?void 0:o.length)!==null&&s!==void 0?s:0),f={};if(t.textureArray)for(var d=0,p=t.textureArray;d<p.length;d++){var v=p[d];f[v]=loadTexture$1(v,c,u)}return Promise.resolve().then(function(){return u.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return l.byteLength=A.body.byteLength,delay(function(){var h=new Uint8Array(A.body);return Model$2.decode(h)})}).then(function(A){return delay(function(){var h,m;return parse$4(A,(h=t.textureBaseUri)!==null&&h!==void 0?h:function(){var y=n.lastIndexOf("/");if(y>=0){var g=n.slice(0,y)+"/";return/\/model\/$/.test(g)&&(g=g.replace(/\/model\/$/,"/materials/")),g}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),c,f,u)})}).then(function(A){var h=new THREE__namespace.Group;h.matrixAutoUpdate=!1,h.matrix.compose(h.position,h.quaternion,h.scale),h.name=n;for(var m=0,y=A.objects;m<y.length;m++){var g=y[m];h.add(g)}return{type:"pbm",upAxis:"Z",uri:n,byteLength:l.byteLength,scene:h,textures:A.textures,dispose:function(){return A.dispose()}}})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,o=typeof n.createAt=="number"?n.createAt:0,s=(t=n.description)!==null&&t!==void 0?t:"",u=[],l=!0,c=!0,f=0,d=n.chunks;f<d.length;f++){var p=d[f];if(!p.vertices.marks||p.vertices.marks.length===0){c=!1;break}}for(var v=0,A=n.chunks;v<A.length;v++){var p=A[v];if(!p.faces.normals||p.faces.normals.length===0){l=!1;break}}for(var h=n.chunks.sort(function(ne,pe){return chunkOrder(ne)-chunkOrder(pe)}),m=[],y=0,g=h;y<g.length;y++){var p=g[y],E=parseFloorName(p.name);m[E]||(m[E]=[]),m[E].push(p)}for(var b=0;b<m.length;b++){var T=m[b];if(T)if(l){for(var _=0,R=0;R<T.length;R++){var p=T[R];_+=p.faces.indices.length}for(var S=new Float32Array(_*3),M=new Float32Array(_*2),P=new Float32Array(_*3),H=c?new Float32Array(_):void 0,w=[],C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],L=0,I=0;I<T.length;I++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],p=T[I],k=p.vertices.xyz,N=p.vertices.uvs,D=p.faces.indices,U=p.faces.normals,z=p.vertices.marks,q=D.length,R=0;R<q;R++){var G=D[R],J=S[L*3+R*3]=k[G*3],j=S[L*3+R*3+1]=k[G*3+1],X=S[L*3+R*3+2]=k[G*3+2];H&&(H[L+R]=z[G]),M[L*2+R*2]=N[G*2],M[L*2+R*2+1]=N[G*2+1];var Y=Math.floor(R/3)*3;P[L*3+R*3]=U[Y],P[L*3+R*3+1]=U[Y+1],P[L*3+R*3+2]=U[Y+2],J<F[0]&&(F[0]=J),j<F[1]&&(F[1]=j),X<F[2]&&(F[2]=X),J>F[3]&&(F[3]=J),j>F[4]&&(F[4]=j),X>F[5]&&(F[5]=X)}F[0]<C[0]&&(C[0]=F[0]),F[1]<C[1]&&(C[1]=F[1]),F[2]<C[2]&&(C[2]=F[2]),F[3]>C[3]&&(C[3]=F[3]),F[4]>C[4]&&(C[4]=F[4]),F[5]>C[5]&&(C[5]=F[5]),w.push({materialIndex:I,name:p.name,chunkName:parseChunkName(p.name),start:L,count:p.faces.indices.length,texture:(e=p.texture)!==null&&e!==void 0?e:void 0}),L+=q}var Z={createAt:o,description:s,vertices:S,uvs:M,normals:P,masks:H,indices:null,floorIndex:b,groups:w,extents:C};u.push(Z)}else{for(var _=0,W=0,R=0;R<T.length;R++){var p=T[R];W+=p.vertices.xyz.length/3,_+=p.faces.indices.length}for(var S=new Float32Array(W*3),M=new Float32Array(W*2),P=void 0,ae=new Float32Array(W),re=new Uint32Array(_),H=c?new Float32Array(_):void 0,w=[],C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],se=0,L=0,I=0;I<T.length;I++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],p=T[I],k=p.vertices.xyz,ie=p.vertices.marks,N=p.vertices.uvs,D=p.faces.indices,fe=k.length/3,q=D.length,R=0;R<fe;R++){var J=S[L*3+R*3]=k[R*3],j=S[L*3+R*3+1]=k[R*3+1],X=S[L*3+R*3+2]=k[R*3+2];H&&(H[L+R]=ie[R]),M[L*2+R*2]=N[R*2],M[L*2+R*2+1]=N[R*2+1],ae[L+R]=b,J<F[0]&&(F[0]=J),j<F[1]&&(F[1]=j),X<F[2]&&(F[2]=X),J>F[3]&&(F[3]=J),j>F[4]&&(F[4]=j),X>F[5]&&(F[5]=X)}F[0]<C[0]&&(C[0]=F[0]),F[1]<C[1]&&(C[1]=F[1]),F[2]<C[2]&&(C[2]=F[2]),F[3]>C[3]&&(C[3]=F[3]),F[4]>C[4]&&(C[4]=F[4]),F[5]>C[5]&&(C[5]=F[5]);for(var R=0;R<q;R++)re[se+R]=L+D[R];w.push({materialIndex:I,name:p.name,chunkName:parseChunkName(p.name),start:se,count:p.faces.indices.length,texture:(r=p.texture)!==null&&r!==void 0?r:void 0}),L+=fe,se+=q}var Z={createAt:o,description:s,vertices:S,uvs:M,normals:P,masks:H,indices:re,floorIndex:b,groups:w,extents:C};u.push(Z)}}return u}function loadTexture$1(n,t,e){var r=__assign({key:"texture.pbm"},pick(t,["format","quality","size","sharpen","mappings"])),o=new TextureLoader,s=o.loadTexture(n,{imageURL:{transform:t.transform,options:r},encoding:THREE__namespace.sRGBEncoding,wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof r.size=="number"?new THREE__namespace.Vector2(r.size,r.size):void 0,fetcher:e}).then(function(u){var l=u.body;return l.needsUpdate=!0,l});return Object.assign(s,{url:n,textureOptions:t})}function parse$4(n,t,e,r,o,s){o===void 0&&(o={});for(var u=parsePBMModel(n),l=0,c="",f=[],d={},p=new Set,v=0,A=u;v<A.length;v++){var h=A[v],m=h.createAt,y=h.description,g=h.vertices,E=h.masks,b=h.uvs,T=h.normals,_=h.indices,R=h.floorIndex,S=h.groups,M=h.extents,P=new THREE__namespace.Box3;P.min.x=M[0],P.min.y=M[1],P.min.z=M[2],P.max.x=M[3],P.max.y=M[4],P.max.z=M[5];var H=new THREE__namespace.BufferGeometry;H.setAttribute("position",new THREE__namespace.BufferAttribute(g,3)),H.setAttribute("uv",new THREE__namespace.BufferAttribute(b,2)),T&&H.setAttribute("normal",new THREE__namespace.BufferAttribute(T,3)),E&&H.setAttribute("mask",new THREE__namespace.BufferAttribute(E,1)),_&&H.setIndex(new THREE__namespace.BufferAttribute(_,1)),H.boundingBox=P,H.boundingSphere=P.getBoundingSphere(new THREE__namespace.Sphere);for(var w=0,C=S;w<C.length;w++){var L=C[w];H.addGroup(L.start,L.count,L.materialIndex)}p.add(H);for(var I=[],F=0,k=S;F<k.length;F++){var L=k[F],N=e[L.chunkName]||(L.texture?pathJoin(t||"",L.texture):void 0),D=new PBMMeshMaterial("basic");D.floor=R,H.attributes.normal===void 0&&(D.flatShading=!0),H.attributes.mask&&(D.defines.USE_VERTEX_MARK=!0),I.push(D),N?d[N]?d[N].push(D):d[N]=[D]:D.color=new THREE__namespace.Color(16777215),p.add(D),D.refreshUniforms()}var U=new PBMMesh(H,I);U.name="model_floor_"+R,U.userData.createAt=m,U.userData.description=y,U.matrix.compose(U.position,U.quaternion,U.scale),U.matrixAutoUpdate=!1,U.frustumCulled=!1,l=m,c=y,f.push(U)}var z=function(q){q=autoRestImageOptionsByTextureLength(q,e.length);for(var G=[],J=function(Z){var W=null;Z in o&&(W=o[Z]),W||(W=loadTexture$1(Z,q,s)),G.push(W.then(function(ae){for(var re=0,se=d[Z];re<se.length;re++){var ie=se[re];ie.map&&(p.delete(ie.map),ie.map.dispose()),ie.map=ae,ie.refreshUniforms(),p.add(ae)}return ae}).catch(function(){for(var ae=0,re=d[Z];ae<re.length;ae++){var se=re[ae];se.map&&(p.delete(se.map),se.map.dispose()),se.map=null,se.color=new THREE__namespace.Color(16777215),se.refreshUniforms()}return null}))},j=0,X=Object.keys(d);j<X.length;j++){var Y=X[j];J(Y)}for(var Y in o)delete o[Y];return Promise.all(G).then(function(Z){return Z.filter(function(W){return W})})};return z(r).then(function(q){return{createAt:l,description:c,objects:f,textures:q,dispose:function(){p.forEach(function(G){G.dispose()}),p.clear()}}})}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function loadAt3d(n,t){var e,r,o,s;t===void 0&&(t={});var u=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),l={byteLength:0},c=autoRestImageOptionsByTextureLength((r=t.textureOptions)!==null&&r!==void 0?r:{},(s=(o=t.textureArray)===null||o===void 0?void 0:o.length)!==null&&s!==void 0?s:0),f={};if(t.textureArray)for(var d=0,p=t.textureArray;d<p.length;d++){var v=p[d];f[v]=loadTexture$1(v,c,u)}return Promise.resolve().then(function(){return u.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return lzma(A.body)}).then(function(A){return delay(function(){for(var h,m={chunks:[],createAt:void 0,description:void 0},y=0,g=A;y<g.length;y++){var E=g[y],b=Model$2.decode(E);b.chunks.length&&((h=m.chunks).push.apply(h,b.chunks),m.createAt=b.createAt,m.description=b.description)}return m})}).then(function(A){return delay(function(){var h,m,y;return parse$4(A,(h=t.textureBaseUri)!==null&&h!==void 0?h:function(){var g=n.lastIndexOf("/");if(g>=0){var E=n.slice(0,g)+"/";return/\/model\/$/.test(E)&&(E=E.replace(/\/model\/$/,"/materials/")),E}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),(y=t.textureOptions)!==null&&y!==void 0?y:{},f,u)})}).then(function(A){var h=new THREE__namespace.Group;h.name=n;for(var m=0,y=A.objects;m<y.length;m++){var g=y[m];h.add(g)}return{type:"at3d",upAxis:"Z",uri:n,byteLength:l.byteLength,scene:h,textures:A.textures,dispose:function(){return A.dispose()}}})}const $Reader=minimal.Reader,$util=minimal.util,$root=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.meshes&&s.meshes.length||(s.meshes=[]),s.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Mesh;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.name=e.string();break}case 2:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{s.matrix&&s.matrix.length||(s.matrix=[]),s.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})(),$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Matrix;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.elements&&s.elements.length||(s.elements=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.elements.push(e.float())}else s.elements.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})(),$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 2:{s.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{s.material&&s.material.length||(s.material=[]),s.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Geometry;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.position=$root.Position.decode(e,e.uint32());break}case 2:{s.uv=$root.UV.decode(e,e.uint32());break}case 3:{s.uv2=$root.UV.decode(e,e.uint32());break}case 4:{s.normal=$root.Normal.decode(e,e.uint32());break}case 5:{s.groups&&s.groups.length||(s.groups=[]),s.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:s});if(!s.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})(),$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Position;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})(),$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.UV;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})(),$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Normal;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})(),$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Group;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.start=e.uint32();break}case 2:{s.count=e.uint32();break}case 3:{s.materialIndex=e.uint32();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:s});if(!s.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:s});if(!s.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})(),$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Material;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.kd=$root.Color.decode(e,e.uint32());break}case 2:{s.ks=$root.Color.decode(e,e.uint32());break}case 3:{s.ke=$root.Color.decode(e,e.uint32());break}case 4:{s.mapkd=e.string();break}case 5:{s.mapks=e.string();break}case 6:{s.mapke=e.string();break}case 7:{s.norm=e.string();break}case 8:{s.mapbump=e.string();break}case 9:{s.bump=e.string();break}case 10:{s.mapd=e.string();break}case 11:{s.ns=e.float();break}case 12:{s.d=e.float();break}case 13:{s.tr=e.float();break}case 14:{s.mapkdrepeat=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})(),$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Color;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.rgb&&s.rgb.length||(s.rgb=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.rgb.push(e.float())}else s.rgb.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();var ROTATE_X_MATRIX$5=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadDome(n,t){var e;t===void 0&&(t={});var r=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),o={byteLength:0};return Promise.resolve().then(function(){return r.ajax(n,{responseType:"arraybuffer"})}).then(function(s){var u;return o.byteLength=s.body.byteLength,parse$3(new Uint8Array(s.body),t.textureBaseUri||"",(u=t.textureOptions)!==null&&u!==void 0?u:{},r)}).then(function(s){var u=new THREE__namespace.Group;u.matrixAutoUpdate=!1,u.applyMatrix4(ROTATE_X_MATRIX$5),u.matrix.compose(u.position,u.quaternion,u.scale),u.name=n;for(var l=0,c=s.objects;l<c.length;l++){var f=c[l];u.add(f)}return{type:"dome",upAxis:"Z",uri:n,byteLength:o.byteLength,scene:u,textures:s.textures,dispose:function(){return s.dispose()}}})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,o=n.uv2,s=n.groups,u=new THREE__namespace.BufferGeometry;u.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&u.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&u.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),o&&u.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=s;l<c.length;l++){var f=c[l];u.addGroup(f.start,f.count,f.materialIndex)}return u}function loadTexture(n,t,e,r,o,s,u){if(u.hasOwnProperty(n))return u[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var l=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","mappings"])),c=u[n]=o.loadTexture(n,{imageURL:{transform:e.transform,options:l},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:s}).then(function(f){var d=f.body;return r&&d.repeat.copy(r),d.needsUpdate=!0,d.updateMatrix(),d});return c}function parseMaterial(n,t,e,r,o,s,u,l){var c=[],f=new PBMMeshMaterial("phong");if(u.add(f),n.kd&&(f.color=new THREE__namespace.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var d=null;if(n.mapkdrepeat){var p=n.mapkdrepeat.split(/\s+/).map(function(m){return Number(m)}),v=p[0],A=p[1];d=new THREE__namespace.Vector2(v,A)}c.push(loadTexture(n.mapkd,t,e,d,r,o,s).then(function(m){m.encoding=THREE__namespace.sRGBEncoding,f.map=m,u.add(m),l.add(m),f.needsUpdate=!0}).catch(noop$1))}if(n.ks&&(f.specular=new THREE__namespace.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&c.push(loadTexture(n.mapks,t,e,null,r,o,s).then(function(m){f.specularMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.ke&&(f.emissive=new THREE__namespace.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&c.push(loadTexture(n.mapke,t,e,null,r,o,s).then(function(m){m.encoding=THREE__namespace.sRGBEncoding,f.emissiveMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.norm&&c.push(loadTexture(n.norm,t,e,null,r,o,s).then(function(m){f.normalMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.mapbump&&c.push(loadTexture(n.mapbump,t,e,null,r,o,s).then(function(m){f.bumpMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.bump&&c.push(loadTexture(n.bump,t,e,null,r,o,s).then(function(m){f.bumpMap=m,u.add(m),l.add(m)}).catch(noop$1)),typeof n.ns=="number"&&(f.shininess=n.ns),typeof n.d=="number"){var h=n.d;h>0&&h<1&&(f.opacity=h)}return f.floor=0,f.refreshUniforms(),{material:f,textureReady:Promise.all(c).then(function(){return f.refreshUniforms()}).then(noop$1)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$3(n,t,e,r){for(var o=[],s=[],u=new Set,l=fromProtoBuf(n),c=new TextureLoader,f=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,p=new THREE__namespace.Quaternion,v=new THREE__namespace.Vector3,A={},h=new Set,m=0,y=l;m<y.length;m++){var g=y[m],E=g.name,b=g.chunks,T=g.matrix;if(!(E==="Ceiling"||E==="CeilingDrop"))for(var _=0,R=T;_<R.length;_++){var S=R[_];f.elements=S.elements;for(var M=new THREE__namespace.Group,P=0;P<b.length;P++){var H=parseGeometry(b[P].geometry);H.applyMatrix4(f),f.decompose(d,p,v),v.x*v.y*v.z<0&&H.attributes.normal&&H.attributes.position&&H.attributes.uv&&flipBufferGeometryNormals(H),u.add(H);for(var w=[],C=0,L=b[P].material;C<L.length;C++){var I=L[C],F=parseMaterial(I,t||"",e,c,r,A,u,h),k=F.material,N=F.textureReady;s.push(N),w.push(k)}var D=new PBMMesh(H,w);D.name="chunk_"+P,D.matrix.compose(D.position,D.quaternion,D.scale),D.matrixAutoUpdate=!1,D.frustumCulled=!1,M.add(D)}M.name=E,o.push(M)}}return Promise.all(s).catch(noop$1).then(function(){return{createAt:0,description:"",objects:o,textures:Array.from(h),dispose:function(){u.forEach(function(U){U.dispose()}),u.clear()}}})}var ROTATE_X_MATRIX$4=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadDomez(n,t){var e;t===void 0&&(t={});var r=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),o={byteLength:0};return Promise.resolve().then(function(){return r.ajax(n,{responseType:"arraybuffer"})}).then(function(s){return o.byteLength=s.body.byteLength,lzma(s.body)}).then(function(s){var u=s.reduce(function(f,d){return f+d.length},0),l=new Uint8Array(u),c=0;return s.forEach(function(f){l.set(f,c),c+=f.length}),l}).then(function(s){var u;return parse$3(s,t.textureBaseUri||"",(u=t.textureOptions)!==null&&u!==void 0?u:{},r)}).then(function(s){var u=new THREE__namespace.Group;u.matrixAutoUpdate=!1,u.applyMatrix4(ROTATE_X_MATRIX$4),u.matrix.compose(u.position,u.quaternion,u.scale),u.name=n;for(var l=0,c=s.objects;l<c.length;l++){var f=c[l];u.add(f)}return{type:"domez",upAxis:"Z",uri:n,byteLength:o.byteLength,scene:u,textures:s.textures,dispose:function(){return s.dispose()}}})}var ROTATE_X_MATRIX$3=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadGltf(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Y",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u=0;return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return u=l.body.byteLength,l.body})}).then(function(l){var c;return parseGltf(l,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(c=n.split("?")[1])!==null&&c!==void 0?c:"",fetcher:s})}).then(function(l){var c=new THREE__namespace.Matrix4;if(o==="Y"&&c.premultiply(ROTATE_X_MATRIX$3),l.CESIUM_RTC){var f=new THREE__namespace.Matrix4().setPosition(l.CESIUM_RTC.center);c.premultiply(f)}var d=l.scene;return d.applyMatrix4(c),{type:"gltf",upAxis:"Z",uri:n,byteLength:u,scene:d,textures:l.textures,dispose:function(){return l.dispose()}}})}var ROTATE_X_MATRIX$2=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),scratchColor=new THREE__namespace.Color;function loadPly(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u=0;return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return u=l.body.byteLength,l.body})}).then(function(l){var c,f;return parsePly(l,{propertyNameMapping:(c=t.propertyNameMapping)!==null&&c!==void 0?c:{},customPropertyMapping:(f=t.customPropertyMapping)!==null&&f!==void 0?f:{}})}).then(function(l){var c=l.geometry;switch(t.type){case"geometry":{var f=c;return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose()}}}case"mesh":{var d="color"in c.attributes,p=new THREE__namespace.MeshBasicMaterial({vertexColors:d}),f=new THREE__namespace.Mesh(c,p);return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),p.dispose()}}}case"line":{var d="color"in c.attributes,v=new THREE__namespace.LineBasicMaterial({vertexColors:d}),f=new THREE__namespace.Line(c,v);return f.computeLineDistances(),o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),v.dispose()}}}case"points":{var A=new THREE__namespace.PointsMaterial({}),f=new THREE__namespace.Points(c,A);return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),A.dispose()}}}case"pbmPointCloud":{var h=new PBMPointCloudMaterial,f=new PBMPointCloud(c,h);return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),h.dispose()}}}}throw new Error("Invalid Type: ".concat(t.type))})}function parsePly(n,t){var e=new Uint8Array(n),r=extractHeaderText(e),o=r.headerText,s=r.headerLength,u=parseHeader(o,s,t);if(u.format==="ascii"){var l=new TextDecoder().decode(e);return{header:u,geometry:parseASCII(l,u,t)}}else return{header:u,geometry:parseBinary(n,u,t)}}function makePlyElementProperty(n,t){var e={name:"",type:n[0]};return e.type==="list"?(e.name=n[3],e.countType=n[1],e.itemType=n[2]):e.name=n[1],e.name in t.propertyNameMapping&&(e.name=t.propertyNameMapping[e.name]),e}function parseHeader(n,t,e){t===void 0&&(t=0);var r=/^ply([\s\S]*)end_header(\r\n|\r|\n)/,o="",s=r.exec(n);s!==null&&(o=s[1]);for(var u={format:"",version:"",comments:[],elements:[],headerLength:t,objInfo:""},l=o.split(/\r\n|\r|\n/),c=null,f=0;f<l.length;f++){var d=l[f];if(d=d.trim(),d!==""){var p=d.split(/\s+/),v=p.shift();switch(d=p.join(" "),v){case"format":u.format=p[0],u.version=p[1];break;case"comment":u.comments.push(d);break;case"element":c&&u.elements.push(c),c={name:p[0],count:parseInt(p[1]),properties:[]};break;case"property":c&&c.properties.push(makePlyElementProperty(p,e));break;case"obj_info":u.objInfo=d;break;default:console.log("unhandled",v,p)}}}return c&&u.elements.push(c),u}function parseASCIINumber(n,t){switch(t){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(n);case"float":case"double":case"float32":case"float64":return parseFloat(n);default:throw new Error("unspport type: "+t)}}function parseASCIIElement(n,t){for(var e={},r=0;r<n.length;r++){if(t.empty())return null;if(n[r].type==="list"){for(var o=[],s=parseASCIINumber(t.next(),n[r].countType),u=0;u<s;u++){if(t.empty())return null;o.push(parseASCIINumber(t.next(),n[r].itemType))}e[n[r].name]=o}else e[n[r].name]=parseASCIINumber(t.next(),n[r].type)}return e}function createBuffer(n){for(var t={indices:[],vertices:[],normals:[],uvs:[],faceVertexUvs:[],colors:[],faceVertexColors:[]},e=0,r=Object.keys(n.customPropertyMapping);e<r.length;e++){var o=r[e];t[o]=[]}return t}function mapElementAttributes(n){var t=n.map(function(r){return r.name});function e(r){for(var o=0,s=r.length;o<s;o++){var u=r[o];if(t.includes(u))return u}return null}return{attrX:e(["x","px","posx"])||"x",attrY:e(["y","py","posy"])||"y",attrZ:e(["z","pz","posz"])||"z",attrNX:e(["nx","normalx"]),attrNY:e(["ny","normaly"]),attrNZ:e(["nz","normalz"]),attrS:e(["s","u","texture_u","tx"]),attrT:e(["t","v","texture_v","ty"]),attrR:e(["red","diffuse_red","r","diffuse_r"]),attrG:e(["green","diffuse_green","g","diffuse_g"]),attrB:e(["blue","diffuse_blue","b","diffuse_b"])}}function parseASCII(n,t,e){var r=createBuffer(e),o=/end_header\s+(\S[\s\S]*\S|\S)\s*$/,s,u=null;(u=o.exec(n))!==null?s=u[1].split(/\s+/):s=[];var l=new ArrayStream(s);e:for(var c=0;c<t.elements.length;c++)for(var f=t.elements[c],d=mapElementAttributes(f.properties),p=0;p<f.count;p++){var v=parseASCIIElement(f.properties,l);if(!v)break e;handleElement(r,f.name,v,d,e)}return postProcess(r,e)}function postProcess(n,t){var e=new THREE__namespace.BufferGeometry;n.indices.length>0&&e.setIndex(n.indices),e.setAttribute("position",new THREE__namespace.Float32BufferAttribute(n.vertices,3)),n.normals.length>0&&e.setAttribute("normal",new THREE__namespace.Float32BufferAttribute(n.normals,3)),n.uvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.uvs,2)),n.colors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.colors,3)),(n.faceVertexUvs.length>0||n.faceVertexColors.length>0)&&(e=e.toNonIndexed(),n.faceVertexUvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.faceVertexUvs,2)),n.faceVertexColors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.faceVertexColors,3)));for(var r=0,o=Object.keys(t.customPropertyMapping);r<o.length;r++){var s=o[r];if(n[s].length>0){var u=t.customPropertyMapping[s],l=u.itemType,c=u.itemNames,f=u.normalized,d=c.length,p=void 0;switch(l){case"float32":p=new THREE__namespace.Float32BufferAttribute(n[s],d,f);break;case"uint32":p=new THREE__namespace.Uint32BufferAttribute(n[s],d,f);break;case"int32":p=new THREE__namespace.Int32BufferAttribute(n[s],d,f);break;case"uint16":p=new THREE__namespace.Uint16BufferAttribute(n[s],d,f);break;case"int16":p=new THREE__namespace.Int16BufferAttribute(n[s],d,f);break;case"uint8":p=new THREE__namespace.Uint8BufferAttribute(n[s],d,f);break;case"int8":p=new THREE__namespace.Int8BufferAttribute(n[s],d,f);break;default:p=new THREE__namespace.Float32BufferAttribute(n[s],d,f);break}e.setAttribute(s,p)}}return e.computeBoundingSphere(),e}function handleElement(n,t,e,r,o){if(t==="vertex"){r.attrX!==null&&r.attrY!==null&&r.attrZ!==null&&n.vertices.push(e[r.attrX],e[r.attrY],e[r.attrZ]),r.attrNX!==null&&r.attrNY!==null&&r.attrNZ!==null&&n.normals.push(e[r.attrNX],e[r.attrNY],e[r.attrNZ]),r.attrS!==null&&r.attrT!==null&&n.uvs.push(e[r.attrS],e[r.attrT]),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.colors.push(scratchColor.r,scratchColor.g,scratchColor.b));for(var s=0,u=Object.keys(o.customPropertyMapping);s<u.length;s++)for(var l=u[s],c=0,f=o.customPropertyMapping[l].itemNames;c<f.length;c++){var d=f[c];n[l].push(e[d])}}else if(t==="face"){var p=e.vertex_indices||e.vertex_index,v=e.texcoord;p.length===3?(n.indices.push(p[0],p[1],p[2]),v&&v.length===6&&(n.faceVertexUvs.push(v[0],v[1]),n.faceVertexUvs.push(v[2],v[3]),n.faceVertexUvs.push(v[4],v[5]))):p.length===4&&(n.indices.push(p[0],p[1],p[3]),n.indices.push(p[1],p[2],p[3])),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b))}}function binaryReadElement(n,t){for(var e={},r=0,o=0;o<t.length;o++){var s=t[o],u=s.valueReader;if(s.type==="list"){var l=[],c=s.countReader.read(n+r);r+=s.countReader.size;for(var f=0;f<c;f++)l.push(u.read(n+r)),r+=u.size;e[s.name]=l}else e[s.name]=u.read(n+r),r+=u.size}return[e,r]}function setPropertyBinaryReaders(n,t,e){function r(l,c,f){switch(c){case"int8":case"char":return{read:function(d){return l.getInt8(d)},size:1};case"uint8":case"uchar":return{read:function(d){return l.getUint8(d)},size:1};case"int16":case"short":return{read:function(d){return l.getInt16(d,f)},size:2};case"uint16":case"ushort":return{read:function(d){return l.getUint16(d,f)},size:2};case"int32":case"int":return{read:function(d){return l.getInt32(d,f)},size:4};case"uint32":case"uint":return{read:function(d){return l.getUint32(d,f)},size:4};case"float32":case"float":return{read:function(d){return l.getFloat32(d,f)},size:4};case"float64":case"double":return{read:function(d){return l.getFloat64(d,f)},size:8};default:throw new Error("not support type: "+c)}}for(var o=0,s=n.length;o<s;o++){var u=n[o];u.type==="list"?(u.countReader=r(t,u.countType,e),u.valueReader=r(t,u.itemType,e)):u.valueReader=r(t,u.type,e)}}function parseBinary(n,t,e){for(var r=createBuffer(e),o=t.format==="binary_little_endian",s=new DataView(n,t.headerLength),u,l=0,c=0;c<t.elements.length;c++){var f=t.elements[c],d=f.properties,p=mapElementAttributes(d);setPropertyBinaryReaders(d,s,o);for(var v=0;v<f.count;v++){u=binaryReadElement(l,d),l+=u[1];var A=u[0];handleElement(r,f.name,A,p,e)}}return postProcess(r,e)}function extractHeaderText(n){var t=0,e=!0,r="",o=[],s=new TextDecoder().decode(n.subarray(0,5)),u=/^ply\r\n/.test(s);do{var l=String.fromCharCode(n[t++]);l!==`
|
|
928
|
+
`),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob)}catch(n){}var LZMAWorker=function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var o=r.data,s=o.id,u=o.result,l=o.error,c=t.getKey(s);t.requests[c]&&(l?t.requests[c](new Error(l)):t.requests[c](null,u),delete t.requests[c])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n}();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(u){var l={data:n[u],offset:0,readByte:function(){return this.data[this.offset++]}},c=l.data.length,f={data:[],offset:0,writeByte:function(p){var v=Math.floor(this.offset/c);this.data[v]||(this.data[v]=new Uint8Array(c)),this.data[v][this.offset%c]=p,this.offset++}};LZMA.decompressFile(l,f),o=new Uint8Array(f.offset);for(var d=0;d<f.offset;d++)o[d]=f.data[Math.floor(d/c)][d%c];t.push(o)},o,s=0;s<e;s++)r(s);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(s){t.push(new Promise(function(u,l){var c=new LZMAWorker;c.decompress(n[s],function(f,d){if(c.terminate(),f)return l(f);u(d)})}))},o=0;o<e;o++)r(o);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],o=[],s=4+e*4,u=0;u<e;u++)o[u]=readUint32(t.slice(4+u*4,8+u*4)),u===e-1?r[u]=t.subarray(s,s+o[u]):r[u]=t.slice(s,s+o[u]),s+=o[u];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}var dequeuing=!1,queue=[];function dequeue(n){if(n===void 0&&(n=!1),!(!n&&dequeuing)){dequeuing=!0;var t=queue.shift();if(t){try{t()}catch(e){}AnimationFrameLoop.shared.add(function(){return dequeue(!0)},!0,2,-100)}else dequeuing=!1}}function delay(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(o){e(o)}};queue.push(r),AnimationFrameLoop.shared.add(function(){return dequeue()},!0,2,-100)})}var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(n,t){for(var e=new Array(arguments.length-1),r=0,o=2,s=!0;o<arguments.length;)e[r++]=arguments[o++];return new Promise(function(l,c){e[r]=function(d){if(s)if(s=!1,d)c(d);else{for(var p=new Array(arguments.length-1),v=0;v<p.length;)p[v++]=arguments[v];l.apply(null,p)}};try{n.apply(t||null,e)}catch(f){s&&(s=!1,c(f))}})}var base64$1={};(function(n){var t=n;t.length=function(l){var c=l.length;if(!c)return 0;for(var f=0;--c%4>1&&l.charAt(c)==="=";)++f;return Math.ceil(l.length*3)/4-f};for(var e=new Array(64),r=new Array(123),o=0;o<64;)r[e[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;t.encode=function(l,c,f){for(var d=null,p=[],v=0,A=0,h;c<f;){var m=l[c++];switch(A){case 0:p[v++]=e[m>>2],h=(m&3)<<4,A=1;break;case 1:p[v++]=e[h|m>>4],h=(m&15)<<2,A=2;break;case 2:p[v++]=e[h|m>>6],p[v++]=e[m&63],A=0;break}v>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,p)),v=0)}return A&&(p[v++]=e[h],p[v++]=61,A===1&&(p[v++]=61)),d?(v&&d.push(String.fromCharCode.apply(String,p.slice(0,v))),d.join("")):String.fromCharCode.apply(String,p.slice(0,v))};var s="invalid encoding";t.decode=function(l,c,f){for(var d=f,p=0,v,A=0;A<l.length;){var h=l.charCodeAt(A++);if(h===61&&p>1)break;if((h=r[h])===void 0)throw Error(s);switch(p){case 0:v=h,p=1;break;case 1:c[f++]=v<<2|(h&48)>>4,v=h,p=2;break;case 2:c[f++]=(v&15)<<4|(h&60)>>2,v=h,p=3;break;case 3:c[f++]=(v&3)<<6|h,p=0;break}}if(p===1)throw Error(s);return f-d},t.test=function(l){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(l)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(t,e,r){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:r||this}),this},EventEmitter.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var r=this._listeners[t],o=0;o<r.length;)r[o].fn===e?r.splice(o,1):++o;return this},EventEmitter.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var r=[],o=1;o<arguments.length;)r.push(arguments[o++]);for(o=0;o<e.length;)e[o].fn.apply(e[o++].ctx,r)}return this};var float=factory(factory);function factory(n){return typeof Float32Array!="undefined"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),r=e[3]===128;function o(c,f,d){t[0]=c,f[d]=e[0],f[d+1]=e[1],f[d+2]=e[2],f[d+3]=e[3]}function s(c,f,d){t[0]=c,f[d]=e[3],f[d+1]=e[2],f[d+2]=e[1],f[d+3]=e[0]}n.writeFloatLE=r?o:s,n.writeFloatBE=r?s:o;function u(c,f){return e[0]=c[f],e[1]=c[f+1],e[2]=c[f+2],e[3]=c[f+3],t[0]}function l(c,f){return e[3]=c[f],e[2]=c[f+1],e[1]=c[f+2],e[0]=c[f+3],t[0]}n.readFloatLE=r?u:l,n.readFloatBE=r?l:u}():function(){function t(r,o,s,u){var l=o<0?1:0;if(l&&(o=-o),o===0)r(1/o>0?0:2147483648,s,u);else if(isNaN(o))r(2143289344,s,u);else if(o>34028234663852886e22)r((l<<31|2139095040)>>>0,s,u);else if(o<11754943508222875e-54)r((l<<31|Math.round(o/1401298464324817e-60))>>>0,s,u);else{var c=Math.floor(Math.log(o)/Math.LN2),f=Math.round(o*Math.pow(2,-c)*8388608)&8388607;r((l<<31|c+127<<23|f)>>>0,s,u)}}n.writeFloatLE=t.bind(null,writeUintLE),n.writeFloatBE=t.bind(null,writeUintBE);function e(r,o,s){var u=r(o,s),l=(u>>31)*2+1,c=u>>>23&255,f=u&8388607;return c===255?f?NaN:l*(1/0):c===0?l*1401298464324817e-60*f:l*Math.pow(2,c-150)*(f+8388608)}n.readFloatLE=e.bind(null,readUintLE),n.readFloatBE=e.bind(null,readUintBE)}(),typeof Float64Array!="undefined"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),r=e[7]===128;function o(c,f,d){t[0]=c,f[d]=e[0],f[d+1]=e[1],f[d+2]=e[2],f[d+3]=e[3],f[d+4]=e[4],f[d+5]=e[5],f[d+6]=e[6],f[d+7]=e[7]}function s(c,f,d){t[0]=c,f[d]=e[7],f[d+1]=e[6],f[d+2]=e[5],f[d+3]=e[4],f[d+4]=e[3],f[d+5]=e[2],f[d+6]=e[1],f[d+7]=e[0]}n.writeDoubleLE=r?o:s,n.writeDoubleBE=r?s:o;function u(c,f){return e[0]=c[f],e[1]=c[f+1],e[2]=c[f+2],e[3]=c[f+3],e[4]=c[f+4],e[5]=c[f+5],e[6]=c[f+6],e[7]=c[f+7],t[0]}function l(c,f){return e[7]=c[f],e[6]=c[f+1],e[5]=c[f+2],e[4]=c[f+3],e[3]=c[f+4],e[2]=c[f+5],e[1]=c[f+6],e[0]=c[f+7],t[0]}n.readDoubleLE=r?u:l,n.readDoubleBE=r?l:u}():function(){function t(r,o,s,u,l,c){var f=u<0?1:0;if(f&&(u=-u),u===0)r(0,l,c+o),r(1/u>0?0:2147483648,l,c+s);else if(isNaN(u))r(0,l,c+o),r(2146959360,l,c+s);else if(u>17976931348623157e292)r(0,l,c+o),r((f<<31|2146435072)>>>0,l,c+s);else{var d;if(u<22250738585072014e-324)d=u/5e-324,r(d>>>0,l,c+o),r((f<<31|d/4294967296)>>>0,l,c+s);else{var p=Math.floor(Math.log(u)/Math.LN2);p===1024&&(p=1023),d=u*Math.pow(2,-p),r(d*4503599627370496>>>0,l,c+o),r((f<<31|p+1023<<20|d*1048576&1048575)>>>0,l,c+s)}}}n.writeDoubleLE=t.bind(null,writeUintLE,0,4),n.writeDoubleBE=t.bind(null,writeUintBE,4,0);function e(r,o,s,u,l){var c=r(u,l+o),f=r(u,l+s),d=(f>>31)*2+1,p=f>>>20&2047,v=4294967296*(f&1048575)+c;return p===2047?v?NaN:d*(1/0):p===0?d*5e-324*v:d*Math.pow(2,p-1075)*(v+4503599627370496)}n.readDoubleLE=e.bind(null,readUintLE,0,4),n.readDoubleBE=e.bind(null,readUintBE,4,0)}(),n}function writeUintLE(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}function writeUintBE(n,t,e){t[e]=n>>>24,t[e+1]=n>>>16&255,t[e+2]=n>>>8&255,t[e+3]=n&255}function readUintLE(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function readUintBE(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}var utf8$2={};(function(n){var t=n;t.length=function(r){for(var o=0,s=0,u=0;u<r.length;++u)s=r.charCodeAt(u),s<128?o+=1:s<2048?o+=2:(s&64512)===55296&&(r.charCodeAt(u+1)&64512)===56320?(++u,o+=4):o+=3;return o},t.read=function(r,o,s){var u=s-o;if(u<1)return"";for(var l=null,c=[],f=0,d;o<s;)d=r[o++],d<128?c[f++]=d:d>191&&d<224?c[f++]=(d&31)<<6|r[o++]&63:d>239&&d<365?(d=((d&7)<<18|(r[o++]&63)<<12|(r[o++]&63)<<6|r[o++]&63)-65536,c[f++]=55296+(d>>10),c[f++]=56320+(d&1023)):c[f++]=(d&15)<<12|(r[o++]&63)<<6|r[o++]&63,f>8191&&((l||(l=[])).push(String.fromCharCode.apply(String,c)),f=0);return l?(f&&l.push(String.fromCharCode.apply(String,c.slice(0,f))),l.join("")):String.fromCharCode.apply(String,c.slice(0,f))},t.write=function(r,o,s){for(var u=s,l,c,f=0;f<r.length;++f)l=r.charCodeAt(f),l<128?o[s++]=l:l<2048?(o[s++]=l>>6|192,o[s++]=l&63|128):(l&64512)===55296&&((c=r.charCodeAt(f+1))&64512)===56320?(l=65536+((l&1023)<<10)+(c&1023),++f,o[s++]=l>>18|240,o[s++]=l>>12&63|128,o[s++]=l>>6&63|128,o[s++]=l&63|128):(o[s++]=l>>12|224,o[s++]=l>>6&63|128,o[s++]=l&63|128);return s-u}})(utf8$2);var pool_1=pool;function pool(n,t,e){var r=e||8192,o=r>>>1,s=null,u=r;return function(c){if(c<1||c>o)return n(c);u+c>r&&(s=n(r),u=0);var f=t.call(s,u,u+=c);return u&7&&(u=(u|7)+1),f}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal();function t(s,u){this.lo=s>>>0,this.hi=u>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(u){if(u===0)return e;var l=u<0;l&&(u=-u);var c=u>>>0,f=(u-c)/4294967296>>>0;return l&&(f=~f>>>0,c=~c>>>0,++c>4294967295&&(c=0,++f>4294967295&&(f=0))),new t(c,f)},t.from=function(u){if(typeof u=="number")return t.fromNumber(u);if(n.isString(u))if(n.Long)u=n.Long.fromString(u);else return t.fromNumber(parseInt(u,10));return u.low||u.high?new t(u.low>>>0,u.high>>>0):e},t.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var l=~this.lo+1>>>0,c=~this.hi>>>0;return l||(c=c+1>>>0),-(l+c*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(u){return n.Long?new n.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var o=String.prototype.charCodeAt;return t.fromHash=function(u){return u===r?e:new t((o.call(u,0)|o.call(u,1)<<8|o.call(u,2)<<16|o.call(u,3)<<24)>>>0,(o.call(u,4)|o.call(u,5)<<8|o.call(u,6)<<16|o.call(u,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},t.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},t.prototype.length=function(){var u=this.lo,l=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?l===0?u<16384?u<128?1:2:u<2097152?3:4:l<16384?l<128?5:6:l<2097152?7:8:c<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(n){var t=n;t.asPromise=aspromise,t.base64=base64$1,t.EventEmitter=eventemitter,t.float=float,t.inquire=inquire_1,t.utf8=utf8$2,t.pool=pool_1,t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||commonjsGlobal,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s},t.isString=function(s){return typeof s=="string"||s instanceof String},t.isObject=function(s){return s&&typeof s=="object"},t.isset=t.isSet=function(s,u){var l=s[u];return l!=null&&s.hasOwnProperty(u)?typeof l!="object"||(Array.isArray(l)?l.length:Object.keys(l).length)>0:!1},t.Buffer=function(){try{var o=t.inquire("buffer").Buffer;return o.prototype.utf8Write?o:null}catch(s){return null}}(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(s){return typeof s=="number"?t.Buffer?t._Buffer_allocUnsafe(s):new t.Array(s):t.Buffer?t._Buffer_from(s):typeof Uint8Array=="undefined"?s:new Uint8Array(s)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(s){return s?t.LongBits.from(s).toHash():t.LongBits.zeroHash},t.longFromHash=function(s,u){var l=t.LongBits.fromHash(s);return t.Long?t.Long.fromBits(l.lo,l.hi,u):l.toNumber(!!u)};function e(o,s,u){for(var l=Object.keys(s),c=0;c<l.length;++c)(o[l[c]]===void 0||!u)&&(o[l[c]]=s[l[c]]);return o}t.merge=e,t.lcFirst=function(s){return s.charAt(0).toLowerCase()+s.substring(1)};function r(o){function s(u,l){if(!(this instanceof s))return new s(u,l);Object.defineProperty(this,"message",{get:function(){return u}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:new Error().stack||""}),l&&e(this,l)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return o},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(s){for(var u={},l=0;l<s.length;++l)u[s[l]]=1;return function(){for(var c=Object.keys(this),f=c.length-1;f>-1;--f)if(u[c[f]]===1&&this[c[f]]!==void 0&&this[c[f]]!==null)return c[f]}},t.oneOfSetter=function(s){return function(u){for(var l=0;l<s.length;++l)s[l]!==u&&delete this[s[l]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var o=t.Buffer;if(!o){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=o.from!==Uint8Array.from&&o.from||function(u,l){return new o(u,l)},t._Buffer_allocUnsafe=o.allocUnsafe||function(u){return new o(u)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(n,t,e){this.fn=n,this.len=t,this.next=void 0,this.val=e}function noop(){}function State(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function n(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1(),Writer$1.alloc=function n(t){return new util$4.Array(t)},util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray)),Writer$1.prototype._push=function n(t,e,r){return this.tail=this.tail.next=new Op(t,e,r),this.len+=e,this};function writeByte(n,t,e){t[e]=n&255}function writeVarint32(n,t,e){for(;n>127;)t[e++]=n&127|128,n>>>=7;t[e]=n}function VarintOp(n,t){this.len=n,this.next=void 0,this.val=t}VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer$1.prototype.uint32=function n(t){return this.len+=(this.tail=this.tail.next=new VarintOp((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},Writer$1.prototype.int32=function n(t){return t<0?this._push(writeVarint64,10,LongBits$1.fromNumber(t)):this.uint32(t)},Writer$1.prototype.sint32=function n(t){return this.uint32((t<<1^t>>31)>>>0)};function writeVarint64(n,t,e){for(;n.hi;)t[e++]=n.lo&127|128,n.lo=(n.lo>>>7|n.hi<<25)>>>0,n.hi>>>=7;for(;n.lo>127;)t[e++]=n.lo&127|128,n.lo=n.lo>>>7;t[e++]=n.lo}Writer$1.prototype.uint64=function n(t){var e=LongBits$1.from(t);return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.int64=Writer$1.prototype.uint64,Writer$1.prototype.sint64=function n(t){var e=LongBits$1.from(t).zzEncode();return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.bool=function n(t){return this._push(writeByte,1,t?1:0)};function writeFixed32(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}Writer$1.prototype.fixed32=function n(t){return this._push(writeFixed32,4,t>>>0)},Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32,Writer$1.prototype.fixed64=function n(t){var e=LongBits$1.from(t);return this._push(writeFixed32,4,e.lo)._push(writeFixed32,4,e.hi)},Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64,Writer$1.prototype.float=function n(t){return this._push(util$4.float.writeFloatLE,4,t)},Writer$1.prototype.double=function n(t){return this._push(util$4.float.writeDoubleLE,8,t)};var writeBytes=util$4.Array.prototype.set?function n(t,e,r){e.set(t,r)}:function n(t,e,r){for(var o=0;o<t.length;++o)e[r+o]=t[o]};Writer$1.prototype.bytes=function n(t){var e=t.length>>>0;if(!e)return this._push(writeByte,1,0);if(util$4.isString(t)){var r=Writer$1.alloc(e=base64.length(t));base64.decode(t,r,0),t=r}return this.uint32(e)._push(writeBytes,e,t)},Writer$1.prototype.string=function n(t){var e=utf8$1.length(t);return e?this.uint32(e)._push(utf8$1.write,e,t):this._push(writeByte,1,0)},Writer$1.prototype.fork=function n(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer$1.prototype.reset=function n(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer$1.prototype.ldelim=function n(){var t=this.head,e=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=t.next,this.tail=e,this.len+=r),this},Writer$1.prototype.finish=function n(){for(var t=this.head.next,e=this.constructor.alloc(this.len),r=0;t;)t.fn(t.val,e,r),r+=t.len,t=t.next;return e},Writer$1._configure=function(n){BufferWriter$1=n,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(t,e,r){e.set(t,r)}:function(t,e,r){if(t.copy)t.copy(e,r,0,t.length);else for(var o=0;o<t.length;)e[r++]=t[o++]}},BufferWriter.prototype.bytes=function n(t){util$3.isString(t)&&(t=util$3._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(BufferWriter.writeBytesBuffer,e,t),this};function writeStringBuffer(n,t,e){n.length<40?util$3.utf8.write(n,t,e):t.utf8Write?t.utf8Write(n,e):t.write(n,e)}BufferWriter.prototype.string=function n(t){var e=util$3.Buffer.byteLength(t);return this.uint32(e),e&&this._push(writeStringBuffer,e,t),this},BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function Reader$1(n){this.buf=n,this.pos=0,this.len=n.length}var create_array=typeof Uint8Array!="undefined"?function n(t){if(t instanceof Uint8Array||Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")}:function n(t){if(Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")},create=function n(){return util$2.Buffer?function(e){return(Reader$1.create=function(o){return util$2.Buffer.isBuffer(o)?new BufferReader$1(o):create_array(o)})(e)}:create_array};Reader$1.create=create(),Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice,Reader$1.prototype.uint32=function n(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return t}}(),Reader$1.prototype.int32=function n(){return this.uint32()|0},Reader$1.prototype.sint32=function n(){var t=this.uint32();return t>>>1^-(t&1)|0};function readLongVarint(){var n=new LongBits(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function n(){return this.uint32()!==0};function readFixed32_end(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}Reader$1.prototype.fixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader$1.prototype.sfixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},Reader$1.prototype.double=function n(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},Reader$1.prototype.bytes=function n(){var t=this.uint32(),e=this.pos,r=this.pos+t;if(r>this.len)throw indexOutOfRange(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,r);if(e===r){var o=util$2.Buffer;return o?o.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,r)},Reader$1.prototype.string=function n(){var t=this.bytes();return utf8.read(t,0,t.length)},Reader$1.prototype.skip=function n(t){if(typeof t=="number"){if(this.pos+t>this.len)throw indexOutOfRange(this,t);this.pos+=t}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this},Reader$1.prototype.skipType=function(n){switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this},Reader$1._configure=function(n){BufferReader$1=n,Reader$1.create=create(),BufferReader$1._configure();var t=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(n){Reader.call(this,n)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)},BufferReader.prototype.string=function n(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(n,t,e){if(typeof n!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!e}Service.prototype.rpcCall=function n(t,e,r,o,s){if(!o)throw TypeError("request must be specified");var u=this;if(!s)return util.asPromise(n,u,t,e,r,o);if(!u.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return u.rpcImpl(t,e[u.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(c,f){if(c)return u.emit("error",c,t),s(c);if(f===null){u.end(!0);return}if(!(f instanceof r))try{f=r[u.responseDelimited?"decodeDelimited":"decode"](f)}catch(d){return u.emit("error",d,t),s(d)}return u.emit("data",f,t),s(null,f)})}catch(l){u.emit("error",l,t),setTimeout(function(){s(l)},0);return}},Service.prototype.end=function n(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},function(n){var t=n;t.Service=service}(rpc);var roots={};(function(n){var t=n;t.build="minimal",t.Writer=writer,t.BufferWriter=writer_buffer,t.Reader=reader,t.BufferReader=reader_buffer,t.util=requireMinimal(),t.rpc=rpc,t.roots=roots,t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal);var minimal=indexMinimal;const $Reader$1=minimal.Reader,$util$1=minimal.util,$root$1=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{s.createAt=e.uint64();break}case 3:{s.description=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{s.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{s.name=e.string();break}case 4:{s.texture=e.string();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:s});if(!s.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:s});if(!s.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Vertices;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.xyz&&s.xyz.length||(s.xyz=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.xyz.push(e.float())}else s.xyz.push(e.float());break}case 2:{if(s.uvs&&s.uvs.length||(s.uvs=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.uvs.push(e.float())}else s.uvs.push(e.float());break}case 3:{if(s.marks&&s.marks.length||(s.marks=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.marks.push(e.int32())}else s.marks.push(e.int32());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Faces;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.indices&&s.indices.length||(s.indices=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.indices.push(e.uint32())}else s.indices.push(e.uint32());break}case 2:{if(s.normals&&s.normals.length||(s.normals=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.normals.push(e.float())}else s.normals.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function loadPbm(n,t){var e,r,o,s;t===void 0&&(t={});var u=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),l={byteLength:0},c=autoRestImageOptionsByTextureLength((r=t.textureOptions)!==null&&r!==void 0?r:{},(s=(o=t.textureArray)===null||o===void 0?void 0:o.length)!==null&&s!==void 0?s:0),f={};if(t.textureArray)for(var d=0,p=t.textureArray;d<p.length;d++){var v=p[d];f[v]=loadTexture$1(v,c,u)}return Promise.resolve().then(function(){return u.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return l.byteLength=A.body.byteLength,delay(function(){var h=new Uint8Array(A.body);return Model$2.decode(h)})}).then(function(A){return delay(function(){var h,m;return parse$4(A,(h=t.textureBaseUri)!==null&&h!==void 0?h:function(){var y=n.lastIndexOf("/");if(y>=0){var g=n.slice(0,y)+"/";return/\/model\/$/.test(g)&&(g=g.replace(/\/model\/$/,"/materials/")),g}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),c,f,u)})}).then(function(A){var h=new THREE__namespace.Group;h.matrixAutoUpdate=!1,h.matrix.compose(h.position,h.quaternion,h.scale),h.name=n;for(var m=0,y=A.objects;m<y.length;m++){var g=y[m];h.add(g)}return{type:"pbm",upAxis:"Z",uri:n,byteLength:l.byteLength,scene:h,textures:A.textures,dispose:function(){return A.dispose()}}})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,o=typeof n.createAt=="number"?n.createAt:0,s=(t=n.description)!==null&&t!==void 0?t:"",u=[],l=!0,c=!0,f=0,d=n.chunks;f<d.length;f++){var p=d[f];if(!p.vertices.marks||p.vertices.marks.length===0){c=!1;break}}for(var v=0,A=n.chunks;v<A.length;v++){var p=A[v];if(!p.faces.normals||p.faces.normals.length===0){l=!1;break}}for(var h=n.chunks.sort(function(ne,pe){return chunkOrder(ne)-chunkOrder(pe)}),m=[],y=0,g=h;y<g.length;y++){var p=g[y],E=parseFloorName(p.name);m[E]||(m[E]=[]),m[E].push(p)}for(var b=0;b<m.length;b++){var T=m[b];if(T)if(l){for(var _=0,R=0;R<T.length;R++){var p=T[R];_+=p.faces.indices.length}for(var S=new Float32Array(_*3),M=new Float32Array(_*2),P=new Float32Array(_*3),H=c?new Float32Array(_):void 0,w=[],C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],L=0,I=0;I<T.length;I++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],p=T[I],k=p.vertices.xyz,N=p.vertices.uvs,D=p.faces.indices,U=p.faces.normals,z=p.vertices.marks,q=D.length,R=0;R<q;R++){var G=D[R],J=S[L*3+R*3]=k[G*3],j=S[L*3+R*3+1]=k[G*3+1],X=S[L*3+R*3+2]=k[G*3+2];H&&(H[L+R]=z[G]),M[L*2+R*2]=N[G*2],M[L*2+R*2+1]=N[G*2+1];var Y=Math.floor(R/3)*3;P[L*3+R*3]=U[Y],P[L*3+R*3+1]=U[Y+1],P[L*3+R*3+2]=U[Y+2],J<F[0]&&(F[0]=J),j<F[1]&&(F[1]=j),X<F[2]&&(F[2]=X),J>F[3]&&(F[3]=J),j>F[4]&&(F[4]=j),X>F[5]&&(F[5]=X)}F[0]<C[0]&&(C[0]=F[0]),F[1]<C[1]&&(C[1]=F[1]),F[2]<C[2]&&(C[2]=F[2]),F[3]>C[3]&&(C[3]=F[3]),F[4]>C[4]&&(C[4]=F[4]),F[5]>C[5]&&(C[5]=F[5]),w.push({materialIndex:I,name:p.name,chunkName:parseChunkName(p.name),start:L,count:p.faces.indices.length,texture:(e=p.texture)!==null&&e!==void 0?e:void 0}),L+=q}var Z={createAt:o,description:s,vertices:S,uvs:M,normals:P,masks:H,indices:null,floorIndex:b,groups:w,extents:C};u.push(Z)}else{for(var _=0,W=0,R=0;R<T.length;R++){var p=T[R];W+=p.vertices.xyz.length/3,_+=p.faces.indices.length}for(var S=new Float32Array(W*3),M=new Float32Array(W*2),P=void 0,ae=new Float32Array(W),re=new Uint32Array(_),H=c?new Float32Array(_):void 0,w=[],C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],se=0,L=0,I=0;I<T.length;I++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],p=T[I],k=p.vertices.xyz,ie=p.vertices.marks,N=p.vertices.uvs,D=p.faces.indices,fe=k.length/3,q=D.length,R=0;R<fe;R++){var J=S[L*3+R*3]=k[R*3],j=S[L*3+R*3+1]=k[R*3+1],X=S[L*3+R*3+2]=k[R*3+2];H&&(H[L+R]=ie[R]),M[L*2+R*2]=N[R*2],M[L*2+R*2+1]=N[R*2+1],ae[L+R]=b,J<F[0]&&(F[0]=J),j<F[1]&&(F[1]=j),X<F[2]&&(F[2]=X),J>F[3]&&(F[3]=J),j>F[4]&&(F[4]=j),X>F[5]&&(F[5]=X)}F[0]<C[0]&&(C[0]=F[0]),F[1]<C[1]&&(C[1]=F[1]),F[2]<C[2]&&(C[2]=F[2]),F[3]>C[3]&&(C[3]=F[3]),F[4]>C[4]&&(C[4]=F[4]),F[5]>C[5]&&(C[5]=F[5]);for(var R=0;R<q;R++)re[se+R]=L+D[R];w.push({materialIndex:I,name:p.name,chunkName:parseChunkName(p.name),start:se,count:p.faces.indices.length,texture:(r=p.texture)!==null&&r!==void 0?r:void 0}),L+=fe,se+=q}var Z={createAt:o,description:s,vertices:S,uvs:M,normals:P,masks:H,indices:re,floorIndex:b,groups:w,extents:C};u.push(Z)}}return u}function loadTexture$1(n,t,e){var r=__assign({key:"texture.pbm"},pick(t,["format","quality","size","sharpen","mappings"])),o=new TextureLoader,s=o.loadTexture(n,{imageURL:{transform:t.transform,options:r},encoding:THREE__namespace.sRGBEncoding,wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof r.size=="number"?new THREE__namespace.Vector2(r.size,r.size):void 0,fetcher:e}).then(function(u){var l=u.body;return l.needsUpdate=!0,l});return Object.assign(s,{url:n,textureOptions:t})}function parse$4(n,t,e,r,o,s){o===void 0&&(o={});for(var u=parsePBMModel(n),l=0,c="",f=[],d={},p=new Set,v=0,A=u;v<A.length;v++){var h=A[v],m=h.createAt,y=h.description,g=h.vertices,E=h.masks,b=h.uvs,T=h.normals,_=h.indices,R=h.floorIndex,S=h.groups,M=h.extents,P=new THREE__namespace.Box3;P.min.x=M[0],P.min.y=M[1],P.min.z=M[2],P.max.x=M[3],P.max.y=M[4],P.max.z=M[5];var H=new THREE__namespace.BufferGeometry;H.setAttribute("position",new THREE__namespace.BufferAttribute(g,3)),H.setAttribute("uv",new THREE__namespace.BufferAttribute(b,2)),T&&H.setAttribute("normal",new THREE__namespace.BufferAttribute(T,3)),E&&H.setAttribute("mask",new THREE__namespace.BufferAttribute(E,1)),_&&H.setIndex(new THREE__namespace.BufferAttribute(_,1)),H.boundingBox=P,H.boundingSphere=P.getBoundingSphere(new THREE__namespace.Sphere);for(var w=0,C=S;w<C.length;w++){var L=C[w];H.addGroup(L.start,L.count,L.materialIndex)}p.add(H);for(var I=[],F=0,k=S;F<k.length;F++){var L=k[F],N=e[L.chunkName]||(L.texture?pathJoin(t||"",L.texture):void 0),D=new PBMMeshMaterial("basic");D.floor=R,H.attributes.normal===void 0&&(D.flatShading=!0),H.attributes.mask&&(D.defines.USE_VERTEX_MARK=!0),I.push(D),N?d[N]?d[N].push(D):d[N]=[D]:D.color=new THREE__namespace.Color(16777215),p.add(D),D.refreshUniforms()}var U=new PBMMesh(H,I);U.name="model_floor_"+R,U.userData.createAt=m,U.userData.description=y,U.matrix.compose(U.position,U.quaternion,U.scale),U.matrixAutoUpdate=!1,U.frustumCulled=!1,l=m,c=y,f.push(U)}var z=function(q){q=autoRestImageOptionsByTextureLength(q,e.length);for(var G=[],J=function(Z){var W=null;Z in o&&(W=o[Z]),W||(W=loadTexture$1(Z,q,s)),G.push(W.then(function(ae){for(var re=0,se=d[Z];re<se.length;re++){var ie=se[re];ie.map&&(p.delete(ie.map),ie.map.dispose()),ie.map=ae,ie.refreshUniforms(),p.add(ae)}return ae}).catch(function(){for(var ae=0,re=d[Z];ae<re.length;ae++){var se=re[ae];se.map&&(p.delete(se.map),se.map.dispose()),se.map=null,se.color=new THREE__namespace.Color(16777215),se.refreshUniforms()}return null}))},j=0,X=Object.keys(d);j<X.length;j++){var Y=X[j];J(Y)}for(var Y in o)delete o[Y];return Promise.all(G).then(function(Z){return Z.filter(function(W){return W})})};return z(r).then(function(q){return{createAt:l,description:c,objects:f,textures:q,dispose:function(){p.forEach(function(G){G.dispose()}),p.clear()}}})}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function loadAt3d(n,t){var e,r,o,s;t===void 0&&(t={});var u=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),l={byteLength:0},c=autoRestImageOptionsByTextureLength((r=t.textureOptions)!==null&&r!==void 0?r:{},(s=(o=t.textureArray)===null||o===void 0?void 0:o.length)!==null&&s!==void 0?s:0),f={};if(t.textureArray)for(var d=0,p=t.textureArray;d<p.length;d++){var v=p[d];f[v]=loadTexture$1(v,c,u)}return Promise.resolve().then(function(){return u.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return lzma(A.body)}).then(function(A){return delay(function(){for(var h,m={chunks:[],createAt:void 0,description:void 0},y=0,g=A;y<g.length;y++){var E=g[y],b=Model$2.decode(E);b.chunks.length&&((h=m.chunks).push.apply(h,b.chunks),m.createAt=b.createAt,m.description=b.description)}return m})}).then(function(A){return delay(function(){var h,m,y;return parse$4(A,(h=t.textureBaseUri)!==null&&h!==void 0?h:function(){var g=n.lastIndexOf("/");if(g>=0){var E=n.slice(0,g)+"/";return/\/model\/$/.test(E)&&(E=E.replace(/\/model\/$/,"/materials/")),E}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),(y=t.textureOptions)!==null&&y!==void 0?y:{},f,u)})}).then(function(A){var h=new THREE__namespace.Group;h.name=n;for(var m=0,y=A.objects;m<y.length;m++){var g=y[m];h.add(g)}return{type:"at3d",upAxis:"Z",uri:n,byteLength:l.byteLength,scene:h,textures:A.textures,dispose:function(){return A.dispose()}}})}const $Reader=minimal.Reader,$util=minimal.util,$root=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.meshes&&s.meshes.length||(s.meshes=[]),s.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Mesh;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.name=e.string();break}case 2:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{s.matrix&&s.matrix.length||(s.matrix=[]),s.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})(),$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Matrix;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.elements&&s.elements.length||(s.elements=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.elements.push(e.float())}else s.elements.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})(),$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 2:{s.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{s.material&&s.material.length||(s.material=[]),s.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Geometry;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.position=$root.Position.decode(e,e.uint32());break}case 2:{s.uv=$root.UV.decode(e,e.uint32());break}case 3:{s.uv2=$root.UV.decode(e,e.uint32());break}case 4:{s.normal=$root.Normal.decode(e,e.uint32());break}case 5:{s.groups&&s.groups.length||(s.groups=[]),s.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:s});if(!s.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})(),$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Position;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})(),$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.UV;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})(),$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Normal;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})(),$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Group;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.start=e.uint32();break}case 2:{s.count=e.uint32();break}case 3:{s.materialIndex=e.uint32();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:s});if(!s.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:s});if(!s.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})(),$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Material;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.kd=$root.Color.decode(e,e.uint32());break}case 2:{s.ks=$root.Color.decode(e,e.uint32());break}case 3:{s.ke=$root.Color.decode(e,e.uint32());break}case 4:{s.mapkd=e.string();break}case 5:{s.mapks=e.string();break}case 6:{s.mapke=e.string();break}case 7:{s.norm=e.string();break}case 8:{s.mapbump=e.string();break}case 9:{s.bump=e.string();break}case 10:{s.mapd=e.string();break}case 11:{s.ns=e.float();break}case 12:{s.d=e.float();break}case 13:{s.tr=e.float();break}case 14:{s.mapkdrepeat=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})(),$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Color;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.rgb&&s.rgb.length||(s.rgb=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.rgb.push(e.float())}else s.rgb.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();var ROTATE_X_MATRIX$5=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadDome(n,t){var e;t===void 0&&(t={});var r=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),o={byteLength:0};return Promise.resolve().then(function(){return r.ajax(n,{responseType:"arraybuffer"})}).then(function(s){var u;return o.byteLength=s.body.byteLength,parse$3(new Uint8Array(s.body),t.textureBaseUri||"",(u=t.textureOptions)!==null&&u!==void 0?u:{},r)}).then(function(s){var u=new THREE__namespace.Group;u.matrixAutoUpdate=!1,u.applyMatrix4(ROTATE_X_MATRIX$5),u.matrix.compose(u.position,u.quaternion,u.scale),u.name=n;for(var l=0,c=s.objects;l<c.length;l++){var f=c[l];u.add(f)}return{type:"dome",upAxis:"Z",uri:n,byteLength:o.byteLength,scene:u,textures:s.textures,dispose:function(){return s.dispose()}}})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,o=n.uv2,s=n.groups,u=new THREE__namespace.BufferGeometry;u.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&u.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&u.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),o&&u.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=s;l<c.length;l++){var f=c[l];u.addGroup(f.start,f.count,f.materialIndex)}return u}function loadTexture(n,t,e,r,o,s,u){if(u.hasOwnProperty(n))return u[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var l=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","mappings"])),c=u[n]=o.loadTexture(n,{imageURL:{transform:e.transform,options:l},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:s}).then(function(f){var d=f.body;return r&&d.repeat.copy(r),d.needsUpdate=!0,d.updateMatrix(),d});return c}function parseMaterial(n,t,e,r,o,s,u,l){var c=[],f=new PBMMeshMaterial("phong");if(u.add(f),n.kd&&(f.color=new THREE__namespace.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var d=null;if(n.mapkdrepeat){var p=n.mapkdrepeat.split(/\s+/).map(function(m){return Number(m)}),v=p[0],A=p[1];d=new THREE__namespace.Vector2(v,A)}c.push(loadTexture(n.mapkd,t,e,d,r,o,s).then(function(m){m.encoding=THREE__namespace.sRGBEncoding,f.map=m,u.add(m),l.add(m),f.needsUpdate=!0}).catch(noop$1))}if(n.ks&&(f.specular=new THREE__namespace.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&c.push(loadTexture(n.mapks,t,e,null,r,o,s).then(function(m){f.specularMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.ke&&(f.emissive=new THREE__namespace.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&c.push(loadTexture(n.mapke,t,e,null,r,o,s).then(function(m){m.encoding=THREE__namespace.sRGBEncoding,f.emissiveMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.norm&&c.push(loadTexture(n.norm,t,e,null,r,o,s).then(function(m){f.normalMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.mapbump&&c.push(loadTexture(n.mapbump,t,e,null,r,o,s).then(function(m){f.bumpMap=m,u.add(m),l.add(m)}).catch(noop$1)),n.bump&&c.push(loadTexture(n.bump,t,e,null,r,o,s).then(function(m){f.bumpMap=m,u.add(m),l.add(m)}).catch(noop$1)),typeof n.ns=="number"&&(f.shininess=n.ns),typeof n.d=="number"){var h=n.d;h>0&&h<1&&(f.opacity=h)}return f.floor=0,f.refreshUniforms(),{material:f,textureReady:Promise.all(c).then(function(){return f.refreshUniforms()}).then(noop$1)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$3(n,t,e,r){for(var o=[],s=[],u=new Set,l=fromProtoBuf(n),c=new TextureLoader,f=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,p=new THREE__namespace.Quaternion,v=new THREE__namespace.Vector3,A={},h=new Set,m=0,y=l;m<y.length;m++){var g=y[m],E=g.name,b=g.chunks,T=g.matrix;if(!(E==="Ceiling"||E==="CeilingDrop"))for(var _=0,R=T;_<R.length;_++){var S=R[_];f.elements=S.elements;for(var M=new THREE__namespace.Group,P=0;P<b.length;P++){var H=parseGeometry(b[P].geometry);H.applyMatrix4(f),f.decompose(d,p,v),v.x*v.y*v.z<0&&H.attributes.normal&&H.attributes.position&&H.attributes.uv&&flipBufferGeometryNormals(H),u.add(H);for(var w=[],C=0,L=b[P].material;C<L.length;C++){var I=L[C],F=parseMaterial(I,t||"",e,c,r,A,u,h),k=F.material,N=F.textureReady;s.push(N),w.push(k)}var D=new PBMMesh(H,w);D.name="chunk_"+P,D.matrix.compose(D.position,D.quaternion,D.scale),D.matrixAutoUpdate=!1,D.frustumCulled=!1,M.add(D)}M.name=E,o.push(M)}}return Promise.all(s).catch(noop$1).then(function(){return{createAt:0,description:"",objects:o,textures:Array.from(h),dispose:function(){u.forEach(function(U){U.dispose()}),u.clear()}}})}var ROTATE_X_MATRIX$4=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadDomez(n,t){var e;t===void 0&&(t={});var r=(e=t.fetcher)!==null&&e!==void 0?e:new Fetcher({allowHosts:["*"]}),o={byteLength:0};return Promise.resolve().then(function(){return r.ajax(n,{responseType:"arraybuffer"})}).then(function(s){return o.byteLength=s.body.byteLength,lzma(s.body)}).then(function(s){var u=s.reduce(function(f,d){return f+d.length},0),l=new Uint8Array(u),c=0;return s.forEach(function(f){l.set(f,c),c+=f.length}),l}).then(function(s){var u;return parse$3(s,t.textureBaseUri||"",(u=t.textureOptions)!==null&&u!==void 0?u:{},r)}).then(function(s){var u=new THREE__namespace.Group;u.matrixAutoUpdate=!1,u.applyMatrix4(ROTATE_X_MATRIX$4),u.matrix.compose(u.position,u.quaternion,u.scale),u.name=n;for(var l=0,c=s.objects;l<c.length;l++){var f=c[l];u.add(f)}return{type:"domez",upAxis:"Z",uri:n,byteLength:o.byteLength,scene:u,textures:s.textures,dispose:function(){return s.dispose()}}})}var ROTATE_X_MATRIX$3=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadGltf(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Y",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u=0;return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return u=l.body.byteLength,l.body})}).then(function(l){var c;return parseGltf(l,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(c=n.split("?")[1])!==null&&c!==void 0?c:"",fetcher:s})}).then(function(l){var c=new THREE__namespace.Matrix4;if(o==="Y"&&c.premultiply(ROTATE_X_MATRIX$3),l.CESIUM_RTC){var f=new THREE__namespace.Matrix4().setPosition(l.CESIUM_RTC.center);c.premultiply(f)}var d=l.scene;return d.applyMatrix4(c),{type:"gltf",upAxis:"Z",uri:n,byteLength:u,scene:d,textures:l.textures,dispose:function(){return l.dispose()}}})}var ROTATE_X_MATRIX$2=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),scratchColor=new THREE__namespace.Color;function loadPly(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u=0;return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return u=l.body.byteLength,l.body})}).then(function(l){var c,f;return parsePly(l,{propertyNameMapping:(c=t.propertyNameMapping)!==null&&c!==void 0?c:{},customPropertyMapping:(f=t.customPropertyMapping)!==null&&f!==void 0?f:{}})}).then(function(l){var c=l.geometry;switch(t.type){case"geometry":{var f=c;return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose()}}}case"mesh":{var d="color"in c.attributes,p=new THREE__namespace.MeshBasicMaterial({vertexColors:d}),f=new THREE__namespace.Mesh(c,p);return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),p.dispose()}}}case"line":{var d="color"in c.attributes,v=new THREE__namespace.LineBasicMaterial({vertexColors:d}),f=new THREE__namespace.Line(c,v);return f.computeLineDistances(),o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),v.dispose()}}}case"points":{var A=new THREE__namespace.PointsMaterial({}),f=new THREE__namespace.Points(c,A);return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),A.dispose()}}}case"pbmPointCloud":{var h=new PBMPointCloudMaterial,f=new PBMPointCloud(c,h);return o==="Y"&&f.applyMatrix4(ROTATE_X_MATRIX$2),{type:"ply",upAxis:"Z",uri:n,byteLength:u,scene:f,meta:{},textures:[],dispose:function(){c.dispose(),h.dispose()}}}}throw new Error("Invalid Type: ".concat(t.type))})}function parsePly(n,t){var e=new Uint8Array(n),r=extractHeaderText(e),o=r.headerText,s=r.headerLength,u=parseHeader(o,s,t);if(u.format==="ascii"){var l=new TextDecoder().decode(e);return{header:u,geometry:parseASCII(l,u,t)}}else return{header:u,geometry:parseBinary(n,u,t)}}function makePlyElementProperty(n,t){var e={name:"",type:n[0]};return e.type==="list"?(e.name=n[3],e.countType=n[1],e.itemType=n[2]):e.name=n[1],e.name in t.propertyNameMapping&&(e.name=t.propertyNameMapping[e.name]),e}function parseHeader(n,t,e){t===void 0&&(t=0);var r=/^ply([\s\S]*)end_header(\r\n|\r|\n)/,o="",s=r.exec(n);s!==null&&(o=s[1]);for(var u={format:"",version:"",comments:[],elements:[],headerLength:t,objInfo:""},l=o.split(/\r\n|\r|\n/),c=null,f=0;f<l.length;f++){var d=l[f];if(d=d.trim(),d!==""){var p=d.split(/\s+/),v=p.shift();switch(d=p.join(" "),v){case"format":u.format=p[0],u.version=p[1];break;case"comment":u.comments.push(d);break;case"element":c&&u.elements.push(c),c={name:p[0],count:parseInt(p[1]),properties:[]};break;case"property":c&&c.properties.push(makePlyElementProperty(p,e));break;case"obj_info":u.objInfo=d;break;default:console.log("unhandled",v,p)}}}return c&&u.elements.push(c),u}function parseASCIINumber(n,t){switch(t){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(n);case"float":case"double":case"float32":case"float64":return parseFloat(n);default:throw new Error("unspport type: "+t)}}function parseASCIIElement(n,t){for(var e={},r=0;r<n.length;r++){if(t.empty())return null;if(n[r].type==="list"){for(var o=[],s=parseASCIINumber(t.next(),n[r].countType),u=0;u<s;u++){if(t.empty())return null;o.push(parseASCIINumber(t.next(),n[r].itemType))}e[n[r].name]=o}else e[n[r].name]=parseASCIINumber(t.next(),n[r].type)}return e}function createBuffer(n){for(var t={indices:[],vertices:[],normals:[],uvs:[],faceVertexUvs:[],colors:[],faceVertexColors:[]},e=0,r=Object.keys(n.customPropertyMapping);e<r.length;e++){var o=r[e];t[o]=[]}return t}function mapElementAttributes(n){var t=n.map(function(r){return r.name});function e(r){for(var o=0,s=r.length;o<s;o++){var u=r[o];if(t.includes(u))return u}return null}return{attrX:e(["x","px","posx"])||"x",attrY:e(["y","py","posy"])||"y",attrZ:e(["z","pz","posz"])||"z",attrNX:e(["nx","normalx"]),attrNY:e(["ny","normaly"]),attrNZ:e(["nz","normalz"]),attrS:e(["s","u","texture_u","tx"]),attrT:e(["t","v","texture_v","ty"]),attrR:e(["red","diffuse_red","r","diffuse_r"]),attrG:e(["green","diffuse_green","g","diffuse_g"]),attrB:e(["blue","diffuse_blue","b","diffuse_b"])}}function parseASCII(n,t,e){var r=createBuffer(e),o=/end_header\s+(\S[\s\S]*\S|\S)\s*$/,s,u=null;(u=o.exec(n))!==null?s=u[1].split(/\s+/):s=[];var l=new ArrayStream(s);e:for(var c=0;c<t.elements.length;c++)for(var f=t.elements[c],d=mapElementAttributes(f.properties),p=0;p<f.count;p++){var v=parseASCIIElement(f.properties,l);if(!v)break e;handleElement(r,f.name,v,d,e)}return postProcess(r,e)}function postProcess(n,t){var e=new THREE__namespace.BufferGeometry;n.indices.length>0&&e.setIndex(n.indices),e.setAttribute("position",new THREE__namespace.Float32BufferAttribute(n.vertices,3)),n.normals.length>0&&e.setAttribute("normal",new THREE__namespace.Float32BufferAttribute(n.normals,3)),n.uvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.uvs,2)),n.colors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.colors,3)),(n.faceVertexUvs.length>0||n.faceVertexColors.length>0)&&(e=e.toNonIndexed(),n.faceVertexUvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.faceVertexUvs,2)),n.faceVertexColors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.faceVertexColors,3)));for(var r=0,o=Object.keys(t.customPropertyMapping);r<o.length;r++){var s=o[r];if(n[s].length>0){var u=t.customPropertyMapping[s],l=u.itemType,c=u.itemNames,f=u.normalized,d=c.length,p=void 0;switch(l){case"float32":p=new THREE__namespace.Float32BufferAttribute(n[s],d,f);break;case"uint32":p=new THREE__namespace.Uint32BufferAttribute(n[s],d,f);break;case"int32":p=new THREE__namespace.Int32BufferAttribute(n[s],d,f);break;case"uint16":p=new THREE__namespace.Uint16BufferAttribute(n[s],d,f);break;case"int16":p=new THREE__namespace.Int16BufferAttribute(n[s],d,f);break;case"uint8":p=new THREE__namespace.Uint8BufferAttribute(n[s],d,f);break;case"int8":p=new THREE__namespace.Int8BufferAttribute(n[s],d,f);break;default:p=new THREE__namespace.Float32BufferAttribute(n[s],d,f);break}e.setAttribute(s,p)}}return e.computeBoundingSphere(),e}function handleElement(n,t,e,r,o){if(t==="vertex"){r.attrX!==null&&r.attrY!==null&&r.attrZ!==null&&n.vertices.push(e[r.attrX],e[r.attrY],e[r.attrZ]),r.attrNX!==null&&r.attrNY!==null&&r.attrNZ!==null&&n.normals.push(e[r.attrNX],e[r.attrNY],e[r.attrNZ]),r.attrS!==null&&r.attrT!==null&&n.uvs.push(e[r.attrS],e[r.attrT]),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.colors.push(scratchColor.r,scratchColor.g,scratchColor.b));for(var s=0,u=Object.keys(o.customPropertyMapping);s<u.length;s++)for(var l=u[s],c=0,f=o.customPropertyMapping[l].itemNames;c<f.length;c++){var d=f[c];n[l].push(e[d])}}else if(t==="face"){var p=e.vertex_indices||e.vertex_index,v=e.texcoord;p.length===3?(n.indices.push(p[0],p[1],p[2]),v&&v.length===6&&(n.faceVertexUvs.push(v[0],v[1]),n.faceVertexUvs.push(v[2],v[3]),n.faceVertexUvs.push(v[4],v[5]))):p.length===4&&(n.indices.push(p[0],p[1],p[3]),n.indices.push(p[1],p[2],p[3])),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b))}}function binaryReadElement(n,t){for(var e={},r=0,o=0;o<t.length;o++){var s=t[o],u=s.valueReader;if(s.type==="list"){var l=[],c=s.countReader.read(n+r);r+=s.countReader.size;for(var f=0;f<c;f++)l.push(u.read(n+r)),r+=u.size;e[s.name]=l}else e[s.name]=u.read(n+r),r+=u.size}return[e,r]}function setPropertyBinaryReaders(n,t,e){function r(l,c,f){switch(c){case"int8":case"char":return{read:function(d){return l.getInt8(d)},size:1};case"uint8":case"uchar":return{read:function(d){return l.getUint8(d)},size:1};case"int16":case"short":return{read:function(d){return l.getInt16(d,f)},size:2};case"uint16":case"ushort":return{read:function(d){return l.getUint16(d,f)},size:2};case"int32":case"int":return{read:function(d){return l.getInt32(d,f)},size:4};case"uint32":case"uint":return{read:function(d){return l.getUint32(d,f)},size:4};case"float32":case"float":return{read:function(d){return l.getFloat32(d,f)},size:4};case"float64":case"double":return{read:function(d){return l.getFloat64(d,f)},size:8};default:throw new Error("not support type: "+c)}}for(var o=0,s=n.length;o<s;o++){var u=n[o];u.type==="list"?(u.countReader=r(t,u.countType,e),u.valueReader=r(t,u.itemType,e)):u.valueReader=r(t,u.type,e)}}function parseBinary(n,t,e){for(var r=createBuffer(e),o=t.format==="binary_little_endian",s=new DataView(n,t.headerLength),u,l=0,c=0;c<t.elements.length;c++){var f=t.elements[c],d=f.properties,p=mapElementAttributes(d);setPropertyBinaryReaders(d,s,o);for(var v=0;v<f.count;v++){u=binaryReadElement(l,d),l+=u[1];var A=u[0];handleElement(r,f.name,A,p,e)}}return postProcess(r,e)}function extractHeaderText(n){var t=0,e=!0,r="",o=[],s=new TextDecoder().decode(n.subarray(0,5)),u=/^ply\r\n/.test(s);do{var l=String.fromCharCode(n[t++]);l!==`
|
|
929
929
|
`&&l!=="\r"?r+=l:(r==="end_header"&&(e=!1),r!==""&&(o.push(r),r=""))}while(e&&t<n.length);return u===!0&&t++,{headerText:o.join("\r")+"\r",headerLength:t}}var ArrayStream=function(){function n(t){this.arr=t,this.i=0}return n.prototype.empty=function(){return this.i>=this.arr.length},n.prototype.next=function(){return this.arr[this.i++]},n}(),ROTATE_X_MATRIX$1=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),_object_pattern=/^[og]\s*(.+)?/,_material_library_pattern=/^mtllib /,_material_use_pattern=/^usemtl /,_map_use_pattern=/^usemap /,_face_vertex_data_separator_pattern=/\s+/,_color=new THREE__namespace.Color,ObjState=function(){function n(){this.objects=[],this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.materials={},this.materialLibraries=[],this.startObject("",!1)}return n.prototype.startObject=function(t,e){if(this.object&&this.object.fromDeclaration===!1){this.object.name=t,this.object.fromDeclaration=e!==!1;return}var r=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object={name:t||"",fromDeclaration:e!==!1,geometry:{vertices:[],hasNormal:!0,normals:[],hasColor:!0,colors:[],hasUV:!0,uvs:[],index:[],indexMap:{}},materials:[],smooth:!0,startMaterial:function(s,u){var l,c,f=this._finalize(!1);f&&(f.inherited||((l=f.groupCount)!==null&&l!==void 0?l:0)<=0)&&this.materials.splice((c=f.index)!==null&&c!==void 0?c:0,1);var d={index:this.materials.length,name:s||"",mtllib:Array.isArray(u)&&u.length>0?u[u.length-1]:"",smooth:f!==void 0?f.smooth:this.smooth,groupStart:f!==void 0?f.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(p){var v={index:typeof p=="number"?p:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(){return this}};return v.clone=this.clone.bind(v),v}};return this.materials.push(d),d},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(s){var u,l,c=this.currentMaterial();if(c&&c.groupEnd===-1&&(c.groupEnd=this.geometry.index.length,c.groupCount=c.groupEnd-((u=c.groupStart)!==null&&u!==void 0?u:0),c.inherited=!1),s&&this.materials.length>1)for(var f=this.materials.length-1;f>=0;f--)((l=this.materials[f].groupCount)!==null&&l!==void 0?l:0)<=0&&this.materials.splice(f,1);return s&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),c}},r&&r.name&&typeof r.clone=="function"){var o=r.clone(0);o.inherited=!0,this.object.materials.push(o)}this.objects.push(this.object)},n.prototype.finalize=function(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)},n.prototype.parseVertexIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/3)*3},n.prototype.parseNormalIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/3)*3},n.prototype.parseUVIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/2)*2},n.prototype.addFace=function(t,e,r,o,s,u,l,c,f){var d=this.object.geometry,p=this.vertices.length,v=this.normals.length,A=this.uvs.length,h=this.parseVertexIndex(t,p),m=this.parseVertexIndex(e,p),y=this.parseVertexIndex(r,p),g=l!==void 0?this.parseNormalIndex(l,v):void 0,E=c!==void 0?this.parseNormalIndex(c,v):void 0,b=f!==void 0?this.parseNormalIndex(f,v):void 0,T=o!==void 0?this.parseUVIndex(o,A):void 0,_=s!==void 0?this.parseUVIndex(s,A):void 0,R=u!==void 0?this.parseUVIndex(u,A):void 0;(d.hasNormal===!0&&g===void 0||E===void 0||b===void 0)&&(d.hasNormal=!1),(d.hasUV===!0&&T===void 0||_===void 0||R===void 0)&&(d.hasUV=!1);var S=[h,T,g].join(":"),M=d.indexMap[S];M===void 0&&(M=d.vertices.length/3,d.indexMap[S]=M,d.vertices.push(this.vertices[h+0],this.vertices[h+1],this.vertices[h+2]),d.hasColor&&(this.colors[h]===void 0?d.hasColor=!1:d.colors.push(this.colors[h+0],this.colors[h+1],this.colors[h+2])),d.hasNormal&&d.normals.push(this.normals[h+0],this.normals[h+1],this.normals[h+2]),d.hasUV&&d.uvs.push(this.uvs[T+0],this.uvs[T+1])),d.index.push(M);var P=[m,_,E].join(":"),H=d.indexMap[P];H===void 0&&(H=d.vertices.length/3,d.indexMap[P]=H,d.vertices.push(this.vertices[m+0],this.vertices[m+1],this.vertices[m+2]),d.hasColor&&(this.colors[m]===void 0?d.hasColor=!1:d.colors.push(this.colors[m+0],this.colors[m+1],this.colors[m+2])),d.hasNormal&&d.normals.push(this.normals[m+0],this.normals[m+1],this.normals[m+2]),d.hasUV&&d.uvs.push(this.uvs[_+0],this.uvs[_+1])),d.index.push(H);var w=[y,R,b].join(":"),C=d.indexMap[w];C===void 0&&(C=d.vertices.length/3,d.indexMap[w]=C,d.vertices.push(this.vertices[y+0],this.vertices[y+1],this.vertices[y+2]),d.hasColor&&(this.colors[y]===void 0?d.hasColor=!1:d.colors.push(this.colors[y+0],this.colors[y+1],this.colors[y+2])),d.hasNormal&&d.normals.push(this.normals[y+0],this.normals[y+1],this.normals[y+2]),d.hasUV&&d.uvs.push(this.uvs[R+0],this.uvs[R+1])),d.index.push(C)},n}();function parseObj(n){var t=new ObjState;n.indexOf(`\r
|
|
930
930
|
`)!==-1&&(n=n.replace(/\r\n/g,`
|
|
931
931
|
`)),n.indexOf(`\\
|
|
@@ -1558,7 +1558,7 @@ void main() {
|
|
|
1558
1558
|
gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;
|
|
1559
1559
|
#endif
|
|
1560
1560
|
}
|
|
1561
|
-
`,TileMaterial=function(n){__extends(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:1},level:{value:0}},vertexShader:TILE_MATERIAL_VERTEX_SHADER,fragmentShader:TILE_MATERIAL_FRAGMENT_SHADER})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=THREE__namespace.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=!!e.uniforms.flipY.value,e.level=e.uniforms.level.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(r){this.uniforms.map.value=r}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(r){this.uniforms.luminanceMap.value=r,this.defines.USE_LUMINANCE=r!==null,this.needsUpdate=!0}},flipY:{get:function(){return this.uniforms.flipY.value===1},set:function(r){this.uniforms.flipY.value=r?1:0}},level:{get:function(){return this.uniforms.level.value},set:function(r){this.uniforms.level.value=r}}}),e}return t}(THREE__namespace.ShaderMaterial),TileMesh=function(n){__extends(t,n);function t(e,r){var o=n.call(this,geometry$3,new TileMaterial)||this;return e.box.getCenter(o.position),o.quaternion.multiplyQuaternions(new THREE__namespace.Quaternion().setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),-Math.PI),TILE_QUATERNION[e.face]),o.scale.setScalar(e.size),o.node=e,o.name="tiling:tile",o.material.visible=!1,o.activeTime=-1,o.disposed=!1,o.needsRender=!1,o.frustumCulled=!1,r.then(function(s){var u=s[0],l=s[1];o.disposed?(u.dispose(),l==null||l.dispose()):(o.material.map=u,o.material.luminanceMap=l,o.material.flipY=!!u.flipY,o.material.level=e.level,o.material.needsUpdate=!0,o.material.visible=!0,o.needsRender=!0)}).catch(noop$1),o}return t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),(e=this.material.luminanceMap)===null||e===void 0||e.dispose()),this.material.dispose()},t}(THREE__namespace.Mesh),TilingObject3D=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(THREE__namespace.Group),Tiling=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new TextureLoader,this.minLevel=e,this.level=0,this.panoId="[0]",this.maxRequest=n.DEFAULT_MAX_REQUEST,this.pedding=0,this.tileTree=createTileCubeTree(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new TilingObject3D,this.object.renderOrder=-3}return n.prototype.setFetcher=function(t){this.fetcher=t},n.prototype.cleanup=function(){var t=this;this.tileMeshes.forEach(function(e){e.dispose(),t.object.remove(e),t.object.needsRender=!0}),this.tileMeshes.clear()},n.prototype.setRotation=function(t){this.disposed||this.object.quaternion.equals(t)||(this.object.quaternion.copy(t),this.object.needsRender=!0)},n.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},n.prototype.setResource=function(t,e){var r,o;if(!this.disposed&&!(this.resource===t&&this.luminance===e)){this.cleanup(),this.resource=t;var s=(o=(r=t.slice().sort(function(u,l){return l.level-u.level})[0])===null||r===void 0?void 0:r.level)!==null&&o!==void 0?o:0;this.tileTree=createTileCubeTree(s),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var o=this;if(!this.disposed){this.level=e;var s=t.planes[5].normal,u=[];e>=this.minLevel&&traverseTileCubeNode(this.tileTree,function(E){if(!(E.level<o.minLevel)){if(E.level>e||!t.intersectsBox(E.box))return!1;u.push(E)}}),u.sort(function(E,b){return E.level!==b.level?E.level-b.level:E.box.getCenter(sharedSortVector3).angleTo(s)-b.box.getCenter(sharedSortVector3).angleTo(s)});for(var l=new Set,c=function(E){var b=f.resource.filter(function(q){return q.level===E.level})[0];if(!b)return"continue";if(l.add(E),f.tileMeshes.has(E))return f.tileMeshes.get(E).activeTime=r,"continue";if(f.pedding>=f.maxRequest)return"continue";var T=b.size,_=f.imageOptions.transform,R=Math.pow(2,E.level)*E.position.y,S=Math.pow(2,E.level)*E.position.x,M="".concat(f.panoId,".").concat(E.face,".").concat(E.level,".").concat(R,".").concat(S)
|
|
1561
|
+
`,TileMaterial=function(n){__extends(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:1},level:{value:0}},vertexShader:TILE_MATERIAL_VERTEX_SHADER,fragmentShader:TILE_MATERIAL_FRAGMENT_SHADER})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=THREE__namespace.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=!!e.uniforms.flipY.value,e.level=e.uniforms.level.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(r){this.uniforms.map.value=r}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(r){this.uniforms.luminanceMap.value=r,this.defines.USE_LUMINANCE=r!==null,this.needsUpdate=!0}},flipY:{get:function(){return this.uniforms.flipY.value===1},set:function(r){this.uniforms.flipY.value=r?1:0}},level:{get:function(){return this.uniforms.level.value},set:function(r){this.uniforms.level.value=r}}}),e}return t}(THREE__namespace.ShaderMaterial),TileMesh=function(n){__extends(t,n);function t(e,r){var o=n.call(this,geometry$3,new TileMaterial)||this;return e.box.getCenter(o.position),o.quaternion.multiplyQuaternions(new THREE__namespace.Quaternion().setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),-Math.PI),TILE_QUATERNION[e.face]),o.scale.setScalar(e.size),o.node=e,o.name="tiling:tile",o.material.visible=!1,o.activeTime=-1,o.disposed=!1,o.needsRender=!1,o.frustumCulled=!1,r.then(function(s){var u=s[0],l=s[1];o.disposed?(u.dispose(),l==null||l.dispose()):(o.material.map=u,o.material.luminanceMap=l,o.material.flipY=!!u.flipY,o.material.level=e.level,o.material.needsUpdate=!0,o.material.visible=!0,o.needsRender=!0)}).catch(noop$1),o}return t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),(e=this.material.luminanceMap)===null||e===void 0||e.dispose()),this.material.dispose()},t}(THREE__namespace.Mesh),TilingObject3D=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(THREE__namespace.Group),Tiling=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new TextureLoader,this.minLevel=e,this.level=0,this.panoId="[0]",this.maxRequest=n.DEFAULT_MAX_REQUEST,this.pedding=0,this.tileTree=createTileCubeTree(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new TilingObject3D,this.object.renderOrder=-3}return n.prototype.setFetcher=function(t){this.fetcher=t},n.prototype.cleanup=function(){var t=this;this.tileMeshes.forEach(function(e){e.dispose(),t.object.remove(e),t.object.needsRender=!0}),this.tileMeshes.clear()},n.prototype.setRotation=function(t){this.disposed||this.object.quaternion.equals(t)||(this.object.quaternion.copy(t),this.object.needsRender=!0)},n.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},n.prototype.setResource=function(t,e){var r,o;if(!this.disposed&&!(this.resource===t&&this.luminance===e)){this.cleanup(),this.resource=t;var s=(o=(r=t.slice().sort(function(u,l){return l.level-u.level})[0])===null||r===void 0?void 0:r.level)!==null&&o!==void 0?o:0;this.tileTree=createTileCubeTree(s),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var o=this;if(!this.disposed){this.level=e;var s=t.planes[5].normal,u=[];e>=this.minLevel&&traverseTileCubeNode(this.tileTree,function(E){if(!(E.level<o.minLevel)){if(E.level>e||!t.intersectsBox(E.box))return!1;u.push(E)}}),u.sort(function(E,b){return E.level!==b.level?E.level-b.level:E.box.getCenter(sharedSortVector3).angleTo(s)-b.box.getCenter(sharedSortVector3).angleTo(s)});for(var l=new Set,c=function(E){var b=f.resource.filter(function(q){return q.level===E.level})[0];if(!b)return"continue";if(l.add(E),f.tileMeshes.has(E))return f.tileMeshes.get(E).activeTime=r,"continue";if(f.pedding>=f.maxRequest)return"continue";var T=b.size,_=f.imageOptions.transform,R=Math.pow(2,E.level)*E.position.y,S=Math.pow(2,E.level)*E.position.x,M="".concat(f.panoId,".").concat(E.face,".").concat(E.level,".").concat(R,".").concat(S),P=__assign(__assign({},pick(f.imageOptions,["format","sharpen","mappings"])),{key:"pano_tile.".concat(M),size:b.scale>=1?void 0:T*E.size*b.scale,cut:[T*E.position.x,T*E.position.y,T*E.size,T*E.size]});E.level==1&&(P.format==="jpg"||/\.jpg$/.test(b[E.face]))&&(P.size=void 0,P.quality||(P.quality=70));var H=f.textureLoader.loadTexture(b[E.face],{imageURL:{transform:_,options:P},minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,fetcher:f.fetcher}).then(function(q){return q.body}),w=null;if(f.luminance){var C=f.luminance[E.face],L=C.match(/\/cube_(\d+)\//),I=L?Number(L[1]):!1;if(I!==!1){var F=b.size*b.scale/2,k=F*E.size,N=I<F?C.replace(/\/cube_(\d+)\//,"cube_"+F):C,D=__assign(__assign({},P),{size:I*E.size===k?void 0:k,cut:[I*E.position.x,I*E.position.y,I*E.size,I*E.size],key:"pano_tile_luminance.".concat(M)});w=f.textureLoader.loadTexture(N,{imageURL:{transform:f.imageOptions.transform,options:D},minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,fetcher:f.fetcher}).then(function(q){return q.body}).catch(function(){return null})}}f.pedding++;var U=Promise.all([H,w]).then(function(q){return o.pedding--,q},function(q){return o.pedding--,Promise.reject(q)}),z=new TileMesh(E,U);z.name="tiling:tile-".concat(M),z.activeTime=r,z.renderOrder=E.level,f.tileMeshes.set(E,z),f.object.needsRender=!0,f.object.add(z)},f=this,d=0,p=u;d<p.length;d++){var v=p[d];c(v)}var A=[];this.tileMeshes.forEach(function(E,b){l.has(b)||A.push(b),E.visible=b.level<=e});for(var h=A.sort(function(E,b){var T,_,R,S;return((_=(T=o.tileMeshes.get(b))===null||T===void 0?void 0:T.activeTime)!==null&&_!==void 0?_:0)-((S=(R=o.tileMeshes.get(E))===null||R===void 0?void 0:R.activeTime)!==null&&S!==void 0?S:0)}).slice(Math.max(0,MAX_TILE_COUNT-l.size)),m=0,y=h;m<y.length;m++){var v=y[m],g=this.tileMeshes.get(v);g&&(g.dispose(),this.object.remove(g),this.object.needsRender=!0),this.tileMeshes.delete(v)}}},n.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},n.DEFAULT_MAX_REQUEST=3,n}(),vertices$1=new Float32Array([-1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1]),index$1=new Uint8Array([0,2,1,2,3,1,4,6,5,6,7,5,8,10,9,10,11,9,12,14,13,14,15,13,16,18,17,18,19,17,20,22,21,22,23,21]),sharedGeometry$1=new THREE__namespace.BufferGeometry;sharedGeometry$1.setAttribute("position",new THREE__namespace.BufferAttribute(vertices$1,3)),sharedGeometry$1.setIndex(new THREE__namespace.BufferAttribute(index$1,1));var PANO_VIDEO_MATERIAL_VERTEX_SHADER=`
|
|
1562
1562
|
#if defined(USE_PANO_VIDEO)
|
|
1563
1563
|
varying vec3 worldPosition;
|
|
1564
1564
|
#endif
|
|
@@ -2166,7 +2166,7 @@ void main() {
|
|
|
2166
2166
|
#include <premultiplied_alpha_fragment>
|
|
2167
2167
|
|
|
2168
2168
|
}
|
|
2169
|
-
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,f=0,d=r.count;c<d;c++,f+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[f]=f===0?0:s[f-1],s[f+1]=s[f]+u.distanceTo(l);var p=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(p,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(p,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,f=c.resolution,d=c.linewidth,p=l.attributes.instanceStart,v=l.attributes.instanceEnd,A=new THREE__namespace.Vector4,h=new THREE__namespace.Vector4,m=new THREE__namespace.Vector4,y=new THREE__namespace.Vector3,g=new THREE__namespace.Matrix4,E=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,m),m.w=1,m.applyMatrix4(s.matrixWorldInverse),m.applyMatrix4(u),m.multiplyScalar(1/m.w),m.x*=f.x/2,m.y*=f.y/2,m.z=0,y.copy(m);var T=this.matrixWorld;g.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,R=p.count;_<R;_++){A.fromBufferAttribute(p,_),h.fromBufferAttribute(v,_),A.w=1,h.w=1,A.applyMatrix4(g),h.applyMatrix4(g),A.applyMatrix4(u),h.applyMatrix4(u),A.multiplyScalar(1/A.w),h.multiplyScalar(1/h.w);var S=A.z<-1&&h.z<-1,M=A.z>1&&h.z>1;if(!(S||M)){A.x*=f.x/2,A.y*=f.y/2,h.x*=f.x/2,h.y*=f.y/2,E.start.copy(A),E.start.z=0,E.end.copy(h),E.end.z=0;var P=E.closestPointToPointParameter(y,!0);E.at(P,b);var H=THREE__namespace.MathUtils.lerp(A.z,h.z,P),w=H>=-1&&H<=1,C=y.distanceTo(b)<d*.5;if(w&&C){E.start.fromBufferAttribute(p,_),E.end.fromBufferAttribute(v,_),E.start.applyMatrix4(T),E.end.applyMatrix4(T);var L=new THREE__namespace.Vector3,I=new THREE__namespace.Vector3;o.distanceSqToSegment(E.start,E.end,I,L),r.push({point:I,pointOnLine:L,distance:o.origin.distanceTo(I),object:this,faceIndex:_})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.4.0-alpha.21"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,f,d,p;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(v){switch(v.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=v.sent(),e.profiles.some(function(A){var h=u[A];return h&&(l={profileId:A,profilePath:"".concat(r,"/").concat(h.path),deprecated:!!h.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(f=v.sent(),s){if(p=void 0,p=f.layouts[e.handedness],!p)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));p.assetPath&&(d=l.profilePath.replace("profile.json",p.assetPath))}return[2,{profile:f,assetPath:d}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,f=o.valueNodeProperty;s&&(f===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:f===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(f){var d=f.valueNodeName,p=f.minNodeName,v=f.maxNodeName,A=f.valueNodeProperty;if(A===Constants.VisualResponseProperty.TRANSFORM){if(f.minNode=t.getObjectByName(p),f.maxNode=t.getObjectByName(v),!f.minNode){console.warn("Could not find ".concat(p," in the model"));return}if(!f.maxNode){console.warn("Could not find ".concat(v," in the model"));return}}f.valueNode=t.getObjectByName(d),f.valueNode||console.warn("Could not find ".concat(d," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,f=l.assetPath;r.motionController=new MotionController(u,c,f);var d=e._assetCache[r.motionController.assetUrl];if(d)o=d.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(p){e._assetCache[r.motionController.assetUrl]=p,o=p.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n}();function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,ROTATE_Y_PI_MATRIX=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(-1,1,1),XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,f){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(d){var p;return parseGltf(d.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(p=c.split("?")[1])!==null&&p!==void 0?p:"",fetcher:internalFetcher})}).then(function(d){return f(d)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var f=r.xrManager.getControllerGrip(1);f.add(u.createControllerModel(f)),r.controllerWrappers[1].add(f)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c,f,d=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var p=this.works.getResolvedObserver(e);if(!p)throw new Error("Invalid PanoIndex");var v=getImageSizeFromURL(p.images.up),A=this.imageOptions.size;typeof A=="undefined"&&p&&v&&(A=Number(v)),typeof A=="undefined"&&(A=2048);var h=this.imageOptions.transform,m=function(w,C){return mapPanoResource(applyImageURLOptions(w,h,C))},y=__assign({key:"pano.".concat(p.panoId)},pick(this.imageOptions,["format","size","quality"])),g=p.images,E=(c=(l=p.images.tiles)===null||l===void 0?void 0:l.filter(function(w){return w.size>A}))!==null&&c!==void 0?c:null,b="pano:"+jsonHash([g,y,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var T=this.pendingTextureTask.panoId;(f=this.panoMeshes[T])===null||f===void 0||f.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:p.pano}))}var _=this.models.getMaterial()||{},R=_.pano0,S=_.pano1,M;if((R==null?void 0:R.map.name)===b?M=R:(S==null?void 0:S.map.name)===b&&(M=S),M){var P={panoId:p.panoId,effect:d,leftPanoPicture:{zoom:1,map:M.map,luminanceMap:M.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(p.position,p.quaternion,PANO_TEXTURE_SCALE)},position:p.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(p.pano,P,r);return}var H="move-to-pano-"+p.panoId;this.pending.add(H),this.pendingTextureTask={panoId:p.panoId,hash:b,onLoad:function(w){if(s.pending.delete(H),s.destroyed)w.body.dispose();else{w.body.name=b;var C={panoId:p.panoId,effect:d,leftPanoPicture:{zoom:1,map:w.body,luminanceMap:null,matrix:new THREE__namespace.Matrix4().compose(p.position,p.quaternion,PANO_TEXTURE_SCALE)},position:p.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(p.pano,C,r)}},onError:function(w){s.pending.delete(H);var C=__assign(__assign(__assign({},p.pano),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:w,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&E&&E.length?this.textureLoader.loadTiledCubeTexture(g,E,{tileMaxLevel:this.tiledCubeTextureLevel,imageURL:{transform:m,options:y},format:THREE__namespace.RGBAFormat,minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:getFetcher(p.work)},void 0,void 0,function(w){var C,L;s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:w,meta:null,pano:p.pano})),((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b&&((L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(w))},this.renderer):this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:y},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(p.work)},void 0,void 0,function(w){var C,L;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b&&((L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(w)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:w,meta:null,pano:p.pano}))},this.renderer)]).then(function(w){var C,L,I=w[0];((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b?(s.pendingTextureTask.onLoad(I),(L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:I.meta,pano:p.pano}))):I.body.dispose()}).catch(function(w){var C,L;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b&&(s.pendingTextureTask.onError(w),(L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:w,progress:0,meta:null,pano:p.pano})),s.emit("error",w))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:p.pano}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,f,d,p,v,A,h,m;o===void 0&&(o={});var y=now(),g=createUuid();this.panoResources[g]=r;var E=1,b,T,_;if(this.locationMotion.ended){var R=this.locationMotion.getKeyFrameSegment(y);R[0];var S=R[1],M=this.locationMotion.value,P=this.panoResourceFromLocationMotionKeyframe(S).position,H=r.position;b=Math.max(P.distanceTo(H),E),T=[{key:S.key,progress:0,value:__assign(__assign({},M),{count:0})},{key:g,progress:1,value:{distance:0,count:1}}],_=0}else{var w=this.locationMotion.getKeyFrameSegment(y),C=w[0],S=w[1],M=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(C).position,P=this.panoResourceFromLocationMotionKeyframe(S).position,H=r.position,I=S.value.count-M.count,F=Math.max(L.distanceTo(P),E)*I,k=Math.max(P.distanceTo(H),E);b=F+k,T=[{key:C.key,progress:0,value:__assign({},M)},{key:S.key,progress:F/b,value:S.value},{key:g,progress:1,value:{count:S.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),D=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(y)*N/D}var U=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),z={longitude:o.longitude,latitude:o.latitude,fov:o.fov},q=__assign(__assign({},e),{mode:this.mode,longitude:(u=z.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=z.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=z.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),G=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:G,progress:0,state:q,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(q),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(z,U).catch(noop$1);else{var J=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),j=coordinatesToVector({longitude:(f=z.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(d=z.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),X=new THREE__namespace.Object3D;X.lookAt(J);var Y=new THREE__namespace.Matrix4().makeRotationFromQuaternion(X.quaternion);X.lookAt(j);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(X.quaternion),W=new THREE__namespace.Matrix4().getInverse(Y).premultiply(Z),ae=this.cameraMotion.value.fov,re=(p=z.fov)!==null&&p!==void 0?p:this.cameraMotion.value.fov,se=1;r.effect==="zoomin"?se=1.5:r.effect==="zoomout"&&(se=.4);for(var ie=re*se,fe=0;fe<T.length-1;fe++){var ne=T[fe].key;if(ne){var pe=this.panoResources[ne];pe&&(pe.fixCameraTransform.copy(W),pe.leftPanoPicture&&(pe.leftPanoPicture.zoom=Math.tan(ae/2/180*Math.PI)/Math.tan(ie/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(v=z.longitude)!==null&&v!==void 0?v:this.cameraMotion.value.longitude,latitude:(A=z.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:ie}},{progress:1,value:{longitude:(h=z.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=z.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:re}}],U).catch(noop$1)}var _e=this.locationMotion.setKeyframes(T,U,_);_e.then(function(){for(var me,xe,$,te=0,Q=s.models;te<Q.length;te++){var be=Q[te];be.show()}var ye=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:G,progress:1,state:ye,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(ye);var ge=s.works.getResolvedObserver(s.currentPano);if(ge&&ge.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var Me=ROTATE_Y_PI_MATRIX.clone().multiply(($=(xe=(me=s.models.getMaterial())===null||me===void 0?void 0:me.pano1)===null||xe===void 0?void 0:xe.matrix)!==null&&$!==void 0?$:new THREE__namespace.Matrix4).multiply(ge.video.matrix),Ae={map:s.videoTexture,size:ge.video.size,matrix:Me,alpha:1},he=createUuid(),de=s.videoTexture.image;de.setAttribute("uuid",he),canplayVideo().then(function(ce){ce&&ge.video&&de.getAttribute("uuid")===he&&(de.oncanplay=function(){de.oncanplay=noop$1,de.play()},de.ontimeupdate=function(){de.currentTime>.5&&(de.ontimeupdate=noop$1,s.panoVideo.setMaterial(Ae))},de.src=ge.video.source)}).catch(function(){de.removeAttribute("uuid")})}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:G,progress:0,state:q,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o,s,u,l;this.stopMomentumMovement();var c=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),f=null,d=this.works.getResolvedObserver(this.currentPano);if(!d)return null;var p=d.accessibleIds.filter(function(j){var X=panoParse(j);if(panoEqual(X,r.currentPano))return!1;var Y=r.works.getResolvedObserver(X);return!Y||Y.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:Y.loadable||Y.active}),v=this.models.intersectRaycaster(e)[0];if(v){var A=arrayMin(p,function(j){var X=r.works.getResolvedObserver(j);if(!X)return 1/0;var Y=X.standingPosition.clone();return Y.distanceTo(v.point)},!0),h=A[0],m=A[1];h&&m<this.panoTapTriggerRadius&&(f=(o=this.works.getResolvedObserver(h))!==null&&o!==void 0?o:null)}if(isNil(f)){var y=this.getForwardObserverOrNot(e);y&&(f=y)}for(var g=0,E=this.locationMotion.keyframes;g<E.length;g++){var b=E[g],T=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&f&&T.panoId===f.panoId){f=null;break}}if(isNil(f))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(f&&!f.active){var _=f.panoId;this.panoMeshes[_]&&(this.panoMeshes[_].setDisabled(!1),this.panoMeshes[_].setLoading(!0))}var R={};if(f){for(var S=Math.PI/6,M=Math.PI/12,P=new THREE__namespace.Vector3(0,1,0),H=f.position.clone().setY(0).sub(d.position.clone().setY(0)).normalize(),w=H.clone().applyAxisAngle(P,S),C=H.clone().applyAxisAngle(P,-S),L=[],I=[],F=[],k=0,N=f.accessibleIds;k<N.length;k++){var h=N[k],D=panoParse(h);if(!(panoEqual(D,this.currentPano)||panoEqual(D,f.pano))){var U=this.works.getResolvedObserver(h);if(U){var z=U.position.clone().sub(f.position).setY(0);H.angleTo(z)<S?F.push(z):w.angleTo(z)<S?L.push(z):C.angleTo(z)<S&&I.push(z)}}}var q=F.length>0?F:__spreadArray(__spreadArray([],L,!0),I,!0),G=q.slice().sort(function(j,X){return j.angleTo(H)-X.angleTo(H)})[0];G&&G.angleTo(c)>M&&(R.longitude=Math.atan2(-G.x,-G.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(R.latitude=clamp$1(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(R.fov=this.defaultFov);var J={workCode:f.pano.workCode,panoIndex:f.pano.panoIndex,mode:this.mode,longitude:(s=R.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=R.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(l=R.fov)!==null&&l!==void 0?l:this.camera.pose.fov,distance:0,offset:f?f.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:J,userAction:!0,options:R,progress:0,error:null})),f&&f.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:J,options:R,error:null})),f.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,f,d,p,v,A=[],h=2;h<arguments.length;h++)A[h-2]=arguments[h];this.userAction=!0;var m={},y={},g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),E=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),y.longitude=this.cameraMotion.value.longitude,y.latitude=this.cameraMotion.value.latitude,y.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),m.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var T=this.locationMotion.getKeyFrameSegment(e),_=T[0],R=T[1],S=this.panoResourceFromLocationMotionKeyframe(_),M=this.panoResourceFromLocationMotionKeyframe(R),P=new THREE__namespace.Vector3().copy(S.position),H=new THREE__namespace.Vector3().copy(M.position),w=this.locationMotion.value.count-R.value.count+1;m.progress=w,M.leftPanoPicture&&(w<1?S.leftPanoPicture&&(m.pano0=S.leftPanoPicture):m.pano0=M.leftPanoPicture,m.pano1=M.leftPanoPicture),M.effect==="montage"?m.transition="BLACK":M.effect==="spread"?m.transition="SPREAD":m.transition="FADE",(M.effect==="zoomin"||M.effect==="zoomout")&&(m.progress=Math.pow(w,3)),w<1&&M.effect!=="fly"&&(m.pano0&&S.leftPanoPicture&&(m.pano0={map:m.pano0.map,zoom:m.pano0.zoom,luminanceMap:m.pano0.luminanceMap,matrix:S.leftPanoPicture.matrix.clone().setPosition(M.position)}),P.copy(H),b=!0),y.distance=this.locationMotion.value.distance,y.offset=new THREE__namespace.Vector3(P.x+(H.x-P.x)*w,P.y+(H.y-P.y)*w,P.z+(H.z-P.z)*w);for(var C=[],L=[],I=0,F=this.locationMotion.keyframes;I<F.length;I++){var k=F[I],N=k.key,D=k.progress;N!==void 0&&(C.push(N),D>this.locationMotion.progress&&L.push(N))}for(var U=0,z=Object.keys(this.panoResources);U<z.length;U++){var q=z[U];if(!(L.indexOf(q)>=0)){var G=this.panoResources[q];if(G.leftPanoPicture){var J=G.leftPanoPicture.map;if(J){if(J===((s=m.pano0)===null||s===void 0?void 0:s.map)||J===((u=m.pano1)===null||u===void 0?void 0:u.map))continue;J instanceof TileCubeTextureTarget&&J.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(J.cubeRenderTarget),J.dispose(),G.leftPanoPicture=null}}C.indexOf(q)>=0||delete this.panoResources[q]}}this.currentPano=panoParse(M.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(g.panoId),state:__assign(__assign(__assign(__assign({},panoParse(E.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(m)===!1&&(!((l=m.pano0)===null||l===void 0)&&l.map&&m.pano0.map instanceof TileCubeTextureTarget&&!m.pano0.map.cubeRenderTarget&&(m.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=m.pano1)===null||c===void 0)&&c.map&&m.pano1.map instanceof TileCubeTextureTarget&&!m.pano1.map.cubeRenderTarget&&(m.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(m)),isEmptyObject(y)===!1&&this.setCamera(y);var j=this.works.getResolvedObserver(this.currentPano),X=A[1];if(!X){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var Y=this.xrManager.referenceSpace;if(Y){var Z=this.xrManager.cameraVR,W=this.xrManager.cameraL,ae=this.xrManager.cameraR,re=[W,ae],se=X.getViewerPose(Y),ie=new THREE__namespace.Vector3(0,0,0);if(se){var fe;fe=this.xrManager.session.renderState.baseLayer;var ne=se.views;if(!fe){console.error("no layer found");return}this.renderer.setFramebuffer(fe.framebuffer);var pe=!1;ne.length!==Z.cameras.length&&(Z.cameras.length=0,pe=!0),this.parallaxCameraMatrixs=[];var _e=new THREE__namespace.Vector3,me=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(ne[0].transform.matrix).decompose(_e,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(ne[1].transform.matrix).decompose(me,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),me.clone().sub(_e).normalize();var xe=new THREE__namespace.Vector3,$=new THREE__namespace.Quaternion,te=new THREE__namespace.Vector3;this.camera.matrix.decompose(xe,$,te);for(var Q=0;Q<ne.length;Q++){var be=ne[Q],ye=fe.getViewport(be),ge=re[Q];ge.matrix.fromArray(be.transform.matrix);var Me=new THREE__namespace.Vector3,Ae=new THREE__namespace.Quaternion,he=new THREE__namespace.Vector3;ge.matrix.decompose(Me,Ae,he),ie.copy(xe),ge.position.copy(xe),ge.quaternion.copy(Ae),ge.scale.copy(he),ge.updateMatrix(),ge.projectionMatrix.fromArray(be.projectionMatrix),ge.viewport.set(ye.x,ye.y,ye.width,ye.height),pe===!0&&Z.cameras.push(ge)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var Q=0;Q<this.xrManager.session.inputSources.length;Q++)if(this.xrManager.session.inputSources[Q]&&this.xrManager.session.inputSources[Q].targetRayMode==="transient-pointer"){var de=X.getPose(this.xrManager.session.inputSources[Q].targetRaySpace,Y);if(de){var ce=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(de.transform.orientation),le=new THREE__namespace.Raycaster(this.camera.position,ce);this.gazeRay=le}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var we=this.xrManager.session.inputSources,Q=0;Q<we.length;Q++){var ue=this.xrManager.controllers[Q],ve=we[Q];if(ve){ue&&ue.update(ve,X,Y);var le=this.xrManager.getController(Q),qe=new THREE__namespace.Vector3(0,1.2,0),Ee=le.position.clone().add(ie).sub(qe);ve.handedness==="left"?this.xrControllerRay.left.set(Ee,new THREE__namespace.Vector3(0,0,-1).applyEuler(le.rotation)):ve.handedness==="right"&&this.xrControllerRay.right.set(Ee,new THREE__namespace.Vector3(0,0,-1).applyEuler(le.rotation)),this.controllerWrappers[Q].position.copy(new THREE__namespace.Vector3(0,0,0).add(ie).sub(qe));var Ie=this.models.intersectRaycaster(this.xrControllerRay.right);if(Ie.length===0&&(Ie=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(vt){var gt;return __assign({floor:(gt=j==null?void 0:j.floorIndex)!==null&>!==void 0?gt:0},vt)})),Ie.length>=1&&Ie[0].face)if(ve.handedness==="right"){var Oe=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),$e=Ie[0].face.normal,pt=$e.clone(),tt=Ie[0].point.clone();this.intersectMesh.position.copy(tt);var Ne=tt.clone().add(pt);if(this.intersectMesh.lookAt(Ne),Math.abs($e.y)>.99){var Ge=this.camera.position.clone().sub(tt);this.intersectMesh.rotation.z=-Math.atan2(Ge.z,Ge.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Oe.length>0?(this.pointerLines.right.setPoints(Ee,Oe[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Ee,Ie[0].point));var Ve=Ie[0],Ke=createEvent("intersect.update",{raycaster:(f=this.xrControllerRay.right)!==null&&f!==void 0?f:null,intersection:Ve!=null?Ve:null,object:this.intersectMesh});if(this.emit("intersect.update",Ke),Ke.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Ee,Ie[0].point)}}this.updateControllerHelper(we,e,r)}if(this.camera.pose.distance>.1||b)for(var Je=0,je=Object.keys(this.panoMeshes);Je<je.length;Je++){var Pe=je[Je],Se=this.panoMeshes[Pe];Se.setOpacity(0),Se.setCurrent(!1),Se.updateTime&&Se.updateTime(e,r),Se.visible=!1}else if(j){var Be=arrayMin(j.visibleIds,function(Xe){var at=o.works.getResolvedObserver(Xe);return at?j.standingPosition.distanceTo(at.standingPosition):1/0},!0),De=Be[1];De=clamp$1(De,2.5,1/0);for(var He=j.visibleIds.concat(panoStringify(this.currentPano)),Ue=this.getForwardObserverOrNot(),Ye=this.camera.getDirection(new THREE__namespace.Vector3),ze=0,rt=Object.keys(this.panoMeshes);ze<rt.length;ze++){var Pe=rt[ze],Se=this.panoMeshes[Pe],ot=this.works.getResolvedObserver(Pe);if(He.indexOf(Pe)===-1)Se.setCurrent(!1),Se.setOpacity(0);else if(!ot)Se.setCurrent(!1),Se.setOpacity(0);else if(!ot.loadable&&!ot.active)Se.setCurrent(!1),Se.setOpacity(0);else{var ht=Se.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Se.setCurrent(!Se.loading&&Se.progress===0&&Ue!==null&&Ue.panoId===Pe),Se.setOpacity(ht<.01?0:clamp$1(De/ht*1.2,.65,.98));var st=this.camera.position.clone().setY(Se.position.y),ce=new THREE__namespace.Vector3().copy(Se.position).sub(st).normalize();if(Pe===panoStringify(this.currentPano)){var ct=clamp$1((.5-st.distanceTo(Se.position))/.5,0,1);ce.multiplyScalar(1-ct).add(Ye.clone().multiplyScalar(ct))}ce.length()>0&&Se.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(ce.x,ce.z),0))}Se.updateTime&&Se.updateTime(e,r)}}var We=function(){return 4}(),Ce=function(){var Xe=new THREE__namespace.PerspectiveCamera;Xe.applyMatrix4(Z.matrix),Xe.position.set(0,0,0);var at=o.works.getResolvedObserver(E.panoId),vt=at!=null?at:j;vt&&Xe.quaternion.premultiply(vt.quaternion.clone().inverse()),Xe.updateProjectionMatrix(),Xe.updateMatrixWorld(!0);var gt=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(Xe.projectionMatrix,Xe.matrixWorldInverse));return gt}();E.panoId===panoStringify(this.currentPano)&&((d=E.leftPanoPicture)===null||d===void 0?void 0:d.map)instanceof TileCubeTextureTarget&&(E.leftPanoPicture.map.maxRequest=this.tileMaxRequest,E.leftPanoPicture.map.update(Ce,We),E.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var Re=this.tiling.object.visible;if(this.initAnimationed){var Le=E.panoId,Qe=this.works.getResolvedObserver(Le);Qe?isSimilarVector3(this.camera.position,Qe.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Le&&this.tiling.cleanup(),this.tiling.panoId=Le,this.tiling.setResource((v=(p=Qe.images)===null||p===void 0?void 0:p.tiles)!==null&&v!==void 0?v:[],this.enableIOSEDR&&Qe.images.luminance?Qe.images.luminance:null),this.tiling.setFetcher(getFetcher(Qe.work)),this.tiling.setRotation(Qe.quaternion),this.tiling.setPosition(Qe.position),this.tiling.maxRequest=this.tileMaxRequest,We>this.tiledCubeTextureLevel?this.tiling.update(Ce,We,e):this.tiling.update(Ce,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Re!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var f=e[c].handedness,d=e[c].gamepad;switch(f){case"left":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"LeftPinch",r));var p={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,l.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,l.left=p;break;case"right":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"RightPinch",r));var v={raycaster:u,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.right=v,l.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,l.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),f=this.emit("xr.gesture.tap",c);!f&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(n){var t=new THREE__namespace.Group;t.name="internalLights";{var e=new THREE__namespace.DirectionalLight(16777215,.3);e.position.copy(new THREE__namespace.Vector3(1,1,1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);e.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);t.add(e)}{var e=new THREE__namespace.AmbientLight(16777215,.6);t.add(e)}n.add(t)}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),f=(t=c[0])===null||t===void 0?void 0:t.trim(),d=(e=c[1])===null||e===void 0?void 0:e.trim();f&&d&&(r[f]=d)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh=new THREE__namespace.Mesh(geometry,material);mesh.matrixAutoUpdate=!1;var scene=new THREE__namespace.Scene;scene.add(mesh),scene.matrixAutoUpdate=!1;var camera=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera.position.set(0,0,.5),camera.lookAt(0,0,0),camera.updateMatrixWorld(!0),camera.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,f=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(l,c,f,d),n.setScissor(l,c,f,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},sharedVector2=new THREE__namespace.Vector2,sharedSphere=new THREE__namespace.Sphere,sharedFrustum=new THREE__namespace.Frustum,sharedProjScreenMatrix=new THREE__namespace.Matrix4,clockForMixer=new WeakMap,worksMap=new WeakMap,emptyWorks=createWorks([]);new Scene;var Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,f,d,p,v,A,h=n.call(this)||this;if(h.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[h.ident]=h),h.renderSwitch01=0,h.currentMode="Panorama",h.pano={workCode:"",panoIndex:0},h.needsRender=!1,h.modelSceneNeedsRender=!1,h.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,h.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),h.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),h.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,h.extraElements=[],h.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},h.fps={testCount:0,testTime:now()},h.info=null,h.modeChangeDuration=(l=e.modeChangeDuration)!==null&&l!==void 0?l:DEFAULT_MODE_CHANGE_DURATION,h.enableWheel=(c=e.enableWheel)!==null&&c!==void 0?c:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=e.renderer;else try{h.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var m=getViewportScale();h.renderer.setPixelRatio(m===1?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(H){H instanceof Error&&h.throwError(H)}h.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(d=(f=h.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&d!==void 0?d:THREE__namespace.sRGBEncoding,generateMipmaps:!1});var y=new THREE__namespace.DepthTexture(1,1);y.generateMipmaps=!1,y.format=THREE__namespace.DepthStencilFormat,y.type=THREE__namespace.UnsignedInt248Type,h.modelRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(v=(p=h.renderer)===null||p===void 0?void 0:p.outputEncoding)!==null&&v!==void 0?v:THREE__namespace.sRGBEncoding,depthTexture:y,generateMipmaps:!1,depthBuffer:!0,stencilBuffer:!0}),h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),h.camera=new Camera(DEFAULT_CAMERA_FOV),h.scene=new Scene,h.xrCustomObjectsScene=new THREE__namespace.Scene,h.scene.add(h.xrCustomObjectsScene),h.scene.matrixAutoUpdate=!1,h.lastLoadWorkTask=Promise.resolve(),h.requestProxy=(A=e.requestProxy)!==null&&A!==void 0?A:DEFAULT_REQUEST_PROXY,h.networkSubscribe=new NetworkSubscribe,h.networkSubscribe.on("network",function(H,w,C,L){var I;h.emit("network.resource",createEvent("network.resource",{source:H,requestType:w,requestState:C,detail:L})),(I=h.analysis)===null||I===void 0||I.network(h.works,H,w,C,L)}),h.boundingMesh=generateBoundingMesh(new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5))),h.boundingMesh.name="bounding",h.models=createModels(),h.models.push(new Model),h.lastModels=createModels(),h.lastWorks=createWorks([]),h.readyCallbacks=[],h.syncingState=!1,h.helperGroup=new THREE__namespace.Group,h.helperGroup.name="helper",h.helperGroup.matrixAutoUpdate=!1,h.scene.add(h.helperGroup),h.modelGroup=new THREE__namespace.Group,h.modelGroup.visible=!1,h.modelGroup.name="model",h.modelGroup.matrixAutoUpdate=!1,h.modelScene=new THREE__namespace.Scene,h.modelScene.add(h.modelGroup),h.modelScene.add(h.boundingMesh),h.modelScene.matrixAutoUpdate=!1,h.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(h.scene),initLights(h.modelScene),h.state={mode:h.currentMode,workCode:h.pano.workCode,panoIndex:h.pano.panoIndex,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance},h.stateSynced=!1,h._enablePostProcessing=!1,h._enableIOSEDR=!1,h._enableEDL=!1,h._enableHQ=!1,h.destroyed=!1,h.paused=!0,typeof window!="undefined"&&(e.play!==!1&&h.play(),h.stopAnimationLoop=AnimationFrameLoop.shared.add(function(H,w){for(var C=[],L=2;L<arguments.length;L++)C[L-2]=arguments[L];h.updateTime.apply(h,__spreadArray([H,w],C,!1))},!1,0,10));var g=function(){typeof document!="undefined"&&document.fullscreenElement===null&&h.currentMode==="VRPanorama"&&h.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},E=function(){h.needsRender=!0,h.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",g,!1),h.renderer&&h.renderer.domElement.addEventListener("webglcontextrestored",E,!1),h.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",g,!1),h.renderer&&h.renderer.domElement.removeEventListener("webglcontextrestored",E,!1)},h.plugins={},e.plugins&&e.plugins.length)for(var b=0,T=e.plugins;b<T.length;b++){var _=T[b];if(typeof _=="function")_(h);else if(Array.isArray(_)){var R=_[0],S=_[1],M=_[2];if(typeof R=="function"){var P=R(h,M);typeof S=="string"&&(h.plugins[S]?h.throwError(new Error("plugin name ".concat(S," is exists."))):h.plugins[S]=P)}}}return h.gpuPickingRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{generateMipmaps:!1}),h.meshReplaceMaterialMap=new Map,h.meshOriginMaterialMap=new Map,initLegacyEvent(h),h}return Object.defineProperty(t,"version",{get:function(){return"6.4.0-alpha.21"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,o,s,u){var l=this;if(s===void 0&&(s=1),u===void 0&&(u=new THREE__namespace.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");var c=this.models.getMaterial(),f=c.constantColor,d=c.colorStyle;this.models.setMaterial({colorStyle:"CONSTANT",constantColor:u}),this.scene.traverse(function(h){if(!(!(h instanceof THREE__namespace.Mesh)||h instanceof PBMMesh)){var m=Object.keys(o).filter(function(g){return g===h.uuid})[0];if(m)if(l.meshOriginMaterialMap.set(m,h.material),l.meshReplaceMaterialMap.get(m))h.material=l.meshReplaceMaterialMap.get(m);else{var y=new THREE__namespace.ShaderMaterial({uniforms:{color:{value:o[m]}},vertexShader:`
|
|
2169
|
+
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,f=0,d=r.count;c<d;c++,f+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[f]=f===0?0:s[f-1],s[f+1]=s[f]+u.distanceTo(l);var p=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(p,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(p,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,f=c.resolution,d=c.linewidth,p=l.attributes.instanceStart,v=l.attributes.instanceEnd,A=new THREE__namespace.Vector4,h=new THREE__namespace.Vector4,m=new THREE__namespace.Vector4,y=new THREE__namespace.Vector3,g=new THREE__namespace.Matrix4,E=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,m),m.w=1,m.applyMatrix4(s.matrixWorldInverse),m.applyMatrix4(u),m.multiplyScalar(1/m.w),m.x*=f.x/2,m.y*=f.y/2,m.z=0,y.copy(m);var T=this.matrixWorld;g.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,R=p.count;_<R;_++){A.fromBufferAttribute(p,_),h.fromBufferAttribute(v,_),A.w=1,h.w=1,A.applyMatrix4(g),h.applyMatrix4(g),A.applyMatrix4(u),h.applyMatrix4(u),A.multiplyScalar(1/A.w),h.multiplyScalar(1/h.w);var S=A.z<-1&&h.z<-1,M=A.z>1&&h.z>1;if(!(S||M)){A.x*=f.x/2,A.y*=f.y/2,h.x*=f.x/2,h.y*=f.y/2,E.start.copy(A),E.start.z=0,E.end.copy(h),E.end.z=0;var P=E.closestPointToPointParameter(y,!0);E.at(P,b);var H=THREE__namespace.MathUtils.lerp(A.z,h.z,P),w=H>=-1&&H<=1,C=y.distanceTo(b)<d*.5;if(w&&C){E.start.fromBufferAttribute(p,_),E.end.fromBufferAttribute(v,_),E.start.applyMatrix4(T),E.end.applyMatrix4(T);var L=new THREE__namespace.Vector3,I=new THREE__namespace.Vector3;o.distanceSqToSegment(E.start,E.end,I,L),r.push({point:I,pointOnLine:L,distance:o.origin.distanceTo(I),object:this,faceIndex:_})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.4.0-alpha.22"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,f,d,p;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(v){switch(v.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=v.sent(),e.profiles.some(function(A){var h=u[A];return h&&(l={profileId:A,profilePath:"".concat(r,"/").concat(h.path),deprecated:!!h.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(f=v.sent(),s){if(p=void 0,p=f.layouts[e.handedness],!p)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));p.assetPath&&(d=l.profilePath.replace("profile.json",p.assetPath))}return[2,{profile:f,assetPath:d}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,f=o.valueNodeProperty;s&&(f===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:f===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(f){var d=f.valueNodeName,p=f.minNodeName,v=f.maxNodeName,A=f.valueNodeProperty;if(A===Constants.VisualResponseProperty.TRANSFORM){if(f.minNode=t.getObjectByName(p),f.maxNode=t.getObjectByName(v),!f.minNode){console.warn("Could not find ".concat(p," in the model"));return}if(!f.maxNode){console.warn("Could not find ".concat(v," in the model"));return}}f.valueNode=t.getObjectByName(d),f.valueNode||console.warn("Could not find ".concat(d," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,f=l.assetPath;r.motionController=new MotionController(u,c,f);var d=e._assetCache[r.motionController.assetUrl];if(d)o=d.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(p){e._assetCache[r.motionController.assetUrl]=p,o=p.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n}();function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,ROTATE_Y_PI_MATRIX=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(-1,1,1),XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,f){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(d){var p;return parseGltf(d.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(p=c.split("?")[1])!==null&&p!==void 0?p:"",fetcher:internalFetcher})}).then(function(d){return f(d)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var f=r.xrManager.getControllerGrip(1);f.add(u.createControllerModel(f)),r.controllerWrappers[1].add(f)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c,f,d=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var p=this.works.getResolvedObserver(e);if(!p)throw new Error("Invalid PanoIndex");var v=getImageSizeFromURL(p.images.up),A=this.imageOptions.size;typeof A=="undefined"&&p&&v&&(A=Number(v)),typeof A=="undefined"&&(A=2048);var h=this.imageOptions.transform,m=function(w,C){return mapPanoResource(applyImageURLOptions(w,h,C))},y=__assign({key:"pano.".concat(p.panoId)},pick(this.imageOptions,["format","size","quality"])),g=p.images,E=(c=(l=p.images.tiles)===null||l===void 0?void 0:l.filter(function(w){return w.size>A}))!==null&&c!==void 0?c:null,b="pano:"+jsonHash([g,y,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var T=this.pendingTextureTask.panoId;(f=this.panoMeshes[T])===null||f===void 0||f.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:p.pano}))}var _=this.models.getMaterial()||{},R=_.pano0,S=_.pano1,M;if((R==null?void 0:R.map.name)===b?M=R:(S==null?void 0:S.map.name)===b&&(M=S),M){var P={panoId:p.panoId,effect:d,leftPanoPicture:{zoom:1,map:M.map,luminanceMap:M.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(p.position,p.quaternion,PANO_TEXTURE_SCALE)},position:p.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(p.pano,P,r);return}var H="move-to-pano-"+p.panoId;this.pending.add(H),this.pendingTextureTask={panoId:p.panoId,hash:b,onLoad:function(w){if(s.pending.delete(H),s.destroyed)w.body.dispose();else{w.body.name=b;var C={panoId:p.panoId,effect:d,leftPanoPicture:{zoom:1,map:w.body,luminanceMap:null,matrix:new THREE__namespace.Matrix4().compose(p.position,p.quaternion,PANO_TEXTURE_SCALE)},position:p.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(p.pano,C,r)}},onError:function(w){s.pending.delete(H);var C=__assign(__assign(__assign({},p.pano),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:w,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&E&&E.length?this.textureLoader.loadTiledCubeTexture(g,E,{tileMaxLevel:this.tiledCubeTextureLevel,imageURL:{transform:m,options:y},format:THREE__namespace.RGBAFormat,minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:getFetcher(p.work)},void 0,void 0,function(w){var C,L;s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:w,meta:null,pano:p.pano})),((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b&&((L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(w))},this.renderer):this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:y},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(p.work)},void 0,void 0,function(w){var C,L;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b&&((L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(w)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:w,meta:null,pano:p.pano}))},this.renderer)]).then(function(w){var C,L,I=w[0];((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b?(s.pendingTextureTask.onLoad(I),(L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:I.meta,pano:p.pano}))):I.body.dispose()}).catch(function(w){var C,L;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===b&&(s.pendingTextureTask.onError(w),(L=s.panoMeshes[p.panoId])===null||L===void 0||L.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:w,progress:0,meta:null,pano:p.pano})),s.emit("error",w))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:p.pano}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,f,d,p,v,A,h,m;o===void 0&&(o={});var y=now(),g=createUuid();this.panoResources[g]=r;var E=1,b,T,_;if(this.locationMotion.ended){var R=this.locationMotion.getKeyFrameSegment(y);R[0];var S=R[1],M=this.locationMotion.value,P=this.panoResourceFromLocationMotionKeyframe(S).position,H=r.position;b=Math.max(P.distanceTo(H),E),T=[{key:S.key,progress:0,value:__assign(__assign({},M),{count:0})},{key:g,progress:1,value:{distance:0,count:1}}],_=0}else{var w=this.locationMotion.getKeyFrameSegment(y),C=w[0],S=w[1],M=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(C).position,P=this.panoResourceFromLocationMotionKeyframe(S).position,H=r.position,I=S.value.count-M.count,F=Math.max(L.distanceTo(P),E)*I,k=Math.max(P.distanceTo(H),E);b=F+k,T=[{key:C.key,progress:0,value:__assign({},M)},{key:S.key,progress:F/b,value:S.value},{key:g,progress:1,value:{count:S.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),D=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(y)*N/D}var U=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),z={longitude:o.longitude,latitude:o.latitude,fov:o.fov},q=__assign(__assign({},e),{mode:this.mode,longitude:(u=z.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=z.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=z.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),G=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:G,progress:0,state:q,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(q),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(z,U).catch(noop$1);else{var J=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),j=coordinatesToVector({longitude:(f=z.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(d=z.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),X=new THREE__namespace.Object3D;X.lookAt(J);var Y=new THREE__namespace.Matrix4().makeRotationFromQuaternion(X.quaternion);X.lookAt(j);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(X.quaternion),W=new THREE__namespace.Matrix4().getInverse(Y).premultiply(Z),ae=this.cameraMotion.value.fov,re=(p=z.fov)!==null&&p!==void 0?p:this.cameraMotion.value.fov,se=1;r.effect==="zoomin"?se=1.5:r.effect==="zoomout"&&(se=.4);for(var ie=re*se,fe=0;fe<T.length-1;fe++){var ne=T[fe].key;if(ne){var pe=this.panoResources[ne];pe&&(pe.fixCameraTransform.copy(W),pe.leftPanoPicture&&(pe.leftPanoPicture.zoom=Math.tan(ae/2/180*Math.PI)/Math.tan(ie/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(v=z.longitude)!==null&&v!==void 0?v:this.cameraMotion.value.longitude,latitude:(A=z.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:ie}},{progress:1,value:{longitude:(h=z.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=z.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:re}}],U).catch(noop$1)}var _e=this.locationMotion.setKeyframes(T,U,_);_e.then(function(){for(var me,xe,$,te=0,Q=s.models;te<Q.length;te++){var be=Q[te];be.show()}var ye=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:G,progress:1,state:ye,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(ye);var ge=s.works.getResolvedObserver(s.currentPano);if(ge&&ge.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var Me=ROTATE_Y_PI_MATRIX.clone().multiply(($=(xe=(me=s.models.getMaterial())===null||me===void 0?void 0:me.pano1)===null||xe===void 0?void 0:xe.matrix)!==null&&$!==void 0?$:new THREE__namespace.Matrix4).multiply(ge.video.matrix),Ae={map:s.videoTexture,size:ge.video.size,matrix:Me,alpha:1},he=createUuid(),de=s.videoTexture.image;de.setAttribute("uuid",he),canplayVideo().then(function(ce){ce&&ge.video&&de.getAttribute("uuid")===he&&(de.oncanplay=function(){de.oncanplay=noop$1,de.play()},de.ontimeupdate=function(){de.currentTime>.5&&(de.ontimeupdate=noop$1,s.panoVideo.setMaterial(Ae))},de.src=ge.video.source)}).catch(function(){de.removeAttribute("uuid")})}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:G,progress:0,state:q,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o,s,u,l;this.stopMomentumMovement();var c=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),f=null,d=this.works.getResolvedObserver(this.currentPano);if(!d)return null;var p=d.accessibleIds.filter(function(j){var X=panoParse(j);if(panoEqual(X,r.currentPano))return!1;var Y=r.works.getResolvedObserver(X);return!Y||Y.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:Y.loadable||Y.active}),v=this.models.intersectRaycaster(e)[0];if(v){var A=arrayMin(p,function(j){var X=r.works.getResolvedObserver(j);if(!X)return 1/0;var Y=X.standingPosition.clone();return Y.distanceTo(v.point)},!0),h=A[0],m=A[1];h&&m<this.panoTapTriggerRadius&&(f=(o=this.works.getResolvedObserver(h))!==null&&o!==void 0?o:null)}if(isNil(f)){var y=this.getForwardObserverOrNot(e);y&&(f=y)}for(var g=0,E=this.locationMotion.keyframes;g<E.length;g++){var b=E[g],T=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&f&&T.panoId===f.panoId){f=null;break}}if(isNil(f))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(f&&!f.active){var _=f.panoId;this.panoMeshes[_]&&(this.panoMeshes[_].setDisabled(!1),this.panoMeshes[_].setLoading(!0))}var R={};if(f){for(var S=Math.PI/6,M=Math.PI/12,P=new THREE__namespace.Vector3(0,1,0),H=f.position.clone().setY(0).sub(d.position.clone().setY(0)).normalize(),w=H.clone().applyAxisAngle(P,S),C=H.clone().applyAxisAngle(P,-S),L=[],I=[],F=[],k=0,N=f.accessibleIds;k<N.length;k++){var h=N[k],D=panoParse(h);if(!(panoEqual(D,this.currentPano)||panoEqual(D,f.pano))){var U=this.works.getResolvedObserver(h);if(U){var z=U.position.clone().sub(f.position).setY(0);H.angleTo(z)<S?F.push(z):w.angleTo(z)<S?L.push(z):C.angleTo(z)<S&&I.push(z)}}}var q=F.length>0?F:__spreadArray(__spreadArray([],L,!0),I,!0),G=q.slice().sort(function(j,X){return j.angleTo(H)-X.angleTo(H)})[0];G&&G.angleTo(c)>M&&(R.longitude=Math.atan2(-G.x,-G.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(R.latitude=clamp$1(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(R.fov=this.defaultFov);var J={workCode:f.pano.workCode,panoIndex:f.pano.panoIndex,mode:this.mode,longitude:(s=R.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=R.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(l=R.fov)!==null&&l!==void 0?l:this.camera.pose.fov,distance:0,offset:f?f.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:J,userAction:!0,options:R,progress:0,error:null})),f&&f.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:J,options:R,error:null})),f.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,f,d,p,v,A=[],h=2;h<arguments.length;h++)A[h-2]=arguments[h];this.userAction=!0;var m={},y={},g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),E=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),y.longitude=this.cameraMotion.value.longitude,y.latitude=this.cameraMotion.value.latitude,y.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),m.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var T=this.locationMotion.getKeyFrameSegment(e),_=T[0],R=T[1],S=this.panoResourceFromLocationMotionKeyframe(_),M=this.panoResourceFromLocationMotionKeyframe(R),P=new THREE__namespace.Vector3().copy(S.position),H=new THREE__namespace.Vector3().copy(M.position),w=this.locationMotion.value.count-R.value.count+1;m.progress=w,M.leftPanoPicture&&(w<1?S.leftPanoPicture&&(m.pano0=S.leftPanoPicture):m.pano0=M.leftPanoPicture,m.pano1=M.leftPanoPicture),M.effect==="montage"?m.transition="BLACK":M.effect==="spread"?m.transition="SPREAD":m.transition="FADE",(M.effect==="zoomin"||M.effect==="zoomout")&&(m.progress=Math.pow(w,3)),w<1&&M.effect!=="fly"&&(m.pano0&&S.leftPanoPicture&&(m.pano0={map:m.pano0.map,zoom:m.pano0.zoom,luminanceMap:m.pano0.luminanceMap,matrix:S.leftPanoPicture.matrix.clone().setPosition(M.position)}),P.copy(H),b=!0),y.distance=this.locationMotion.value.distance,y.offset=new THREE__namespace.Vector3(P.x+(H.x-P.x)*w,P.y+(H.y-P.y)*w,P.z+(H.z-P.z)*w);for(var C=[],L=[],I=0,F=this.locationMotion.keyframes;I<F.length;I++){var k=F[I],N=k.key,D=k.progress;N!==void 0&&(C.push(N),D>this.locationMotion.progress&&L.push(N))}for(var U=0,z=Object.keys(this.panoResources);U<z.length;U++){var q=z[U];if(!(L.indexOf(q)>=0)){var G=this.panoResources[q];if(G.leftPanoPicture){var J=G.leftPanoPicture.map;if(J){if(J===((s=m.pano0)===null||s===void 0?void 0:s.map)||J===((u=m.pano1)===null||u===void 0?void 0:u.map))continue;J instanceof TileCubeTextureTarget&&J.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(J.cubeRenderTarget),J.dispose(),G.leftPanoPicture=null}}C.indexOf(q)>=0||delete this.panoResources[q]}}this.currentPano=panoParse(M.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(g.panoId),state:__assign(__assign(__assign(__assign({},panoParse(E.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(m)===!1&&(!((l=m.pano0)===null||l===void 0)&&l.map&&m.pano0.map instanceof TileCubeTextureTarget&&!m.pano0.map.cubeRenderTarget&&(m.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=m.pano1)===null||c===void 0)&&c.map&&m.pano1.map instanceof TileCubeTextureTarget&&!m.pano1.map.cubeRenderTarget&&(m.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(m)),isEmptyObject(y)===!1&&this.setCamera(y);var j=this.works.getResolvedObserver(this.currentPano),X=A[1];if(!X){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var Y=this.xrManager.referenceSpace;if(Y){var Z=this.xrManager.cameraVR,W=this.xrManager.cameraL,ae=this.xrManager.cameraR,re=[W,ae],se=X.getViewerPose(Y),ie=new THREE__namespace.Vector3(0,0,0);if(se){var fe;fe=this.xrManager.session.renderState.baseLayer;var ne=se.views;if(!fe){console.error("no layer found");return}this.renderer.setFramebuffer(fe.framebuffer);var pe=!1;ne.length!==Z.cameras.length&&(Z.cameras.length=0,pe=!0),this.parallaxCameraMatrixs=[];var _e=new THREE__namespace.Vector3,me=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(ne[0].transform.matrix).decompose(_e,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(ne[1].transform.matrix).decompose(me,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),me.clone().sub(_e).normalize();var xe=new THREE__namespace.Vector3,$=new THREE__namespace.Quaternion,te=new THREE__namespace.Vector3;this.camera.matrix.decompose(xe,$,te);for(var Q=0;Q<ne.length;Q++){var be=ne[Q],ye=fe.getViewport(be),ge=re[Q];ge.matrix.fromArray(be.transform.matrix);var Me=new THREE__namespace.Vector3,Ae=new THREE__namespace.Quaternion,he=new THREE__namespace.Vector3;ge.matrix.decompose(Me,Ae,he),ie.copy(xe),ge.position.copy(xe),ge.quaternion.copy(Ae),ge.scale.copy(he),ge.updateMatrix(),ge.projectionMatrix.fromArray(be.projectionMatrix),ge.viewport.set(ye.x,ye.y,ye.width,ye.height),pe===!0&&Z.cameras.push(ge)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var Q=0;Q<this.xrManager.session.inputSources.length;Q++)if(this.xrManager.session.inputSources[Q]&&this.xrManager.session.inputSources[Q].targetRayMode==="transient-pointer"){var de=X.getPose(this.xrManager.session.inputSources[Q].targetRaySpace,Y);if(de){var ce=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(de.transform.orientation),le=new THREE__namespace.Raycaster(this.camera.position,ce);this.gazeRay=le}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var we=this.xrManager.session.inputSources,Q=0;Q<we.length;Q++){var ue=this.xrManager.controllers[Q],ve=we[Q];if(ve){ue&&ue.update(ve,X,Y);var le=this.xrManager.getController(Q),qe=new THREE__namespace.Vector3(0,1.2,0),Ee=le.position.clone().add(ie).sub(qe);ve.handedness==="left"?this.xrControllerRay.left.set(Ee,new THREE__namespace.Vector3(0,0,-1).applyEuler(le.rotation)):ve.handedness==="right"&&this.xrControllerRay.right.set(Ee,new THREE__namespace.Vector3(0,0,-1).applyEuler(le.rotation)),this.controllerWrappers[Q].position.copy(new THREE__namespace.Vector3(0,0,0).add(ie).sub(qe));var Ie=this.models.intersectRaycaster(this.xrControllerRay.right);if(Ie.length===0&&(Ie=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(vt){var gt;return __assign({floor:(gt=j==null?void 0:j.floorIndex)!==null&>!==void 0?gt:0},vt)})),Ie.length>=1&&Ie[0].face)if(ve.handedness==="right"){var Oe=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),$e=Ie[0].face.normal,pt=$e.clone(),tt=Ie[0].point.clone();this.intersectMesh.position.copy(tt);var Ne=tt.clone().add(pt);if(this.intersectMesh.lookAt(Ne),Math.abs($e.y)>.99){var Ge=this.camera.position.clone().sub(tt);this.intersectMesh.rotation.z=-Math.atan2(Ge.z,Ge.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Oe.length>0?(this.pointerLines.right.setPoints(Ee,Oe[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Ee,Ie[0].point));var Ve=Ie[0],Ke=createEvent("intersect.update",{raycaster:(f=this.xrControllerRay.right)!==null&&f!==void 0?f:null,intersection:Ve!=null?Ve:null,object:this.intersectMesh});if(this.emit("intersect.update",Ke),Ke.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Ee,Ie[0].point)}}this.updateControllerHelper(we,e,r)}if(this.camera.pose.distance>.1||b)for(var Je=0,je=Object.keys(this.panoMeshes);Je<je.length;Je++){var Pe=je[Je],Se=this.panoMeshes[Pe];Se.setOpacity(0),Se.setCurrent(!1),Se.updateTime&&Se.updateTime(e,r),Se.visible=!1}else if(j){var Be=arrayMin(j.visibleIds,function(Xe){var at=o.works.getResolvedObserver(Xe);return at?j.standingPosition.distanceTo(at.standingPosition):1/0},!0),De=Be[1];De=clamp$1(De,2.5,1/0);for(var He=j.visibleIds.concat(panoStringify(this.currentPano)),Ue=this.getForwardObserverOrNot(),Ye=this.camera.getDirection(new THREE__namespace.Vector3),ze=0,rt=Object.keys(this.panoMeshes);ze<rt.length;ze++){var Pe=rt[ze],Se=this.panoMeshes[Pe],ot=this.works.getResolvedObserver(Pe);if(He.indexOf(Pe)===-1)Se.setCurrent(!1),Se.setOpacity(0);else if(!ot)Se.setCurrent(!1),Se.setOpacity(0);else if(!ot.loadable&&!ot.active)Se.setCurrent(!1),Se.setOpacity(0);else{var ht=Se.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Se.setCurrent(!Se.loading&&Se.progress===0&&Ue!==null&&Ue.panoId===Pe),Se.setOpacity(ht<.01?0:clamp$1(De/ht*1.2,.65,.98));var st=this.camera.position.clone().setY(Se.position.y),ce=new THREE__namespace.Vector3().copy(Se.position).sub(st).normalize();if(Pe===panoStringify(this.currentPano)){var ct=clamp$1((.5-st.distanceTo(Se.position))/.5,0,1);ce.multiplyScalar(1-ct).add(Ye.clone().multiplyScalar(ct))}ce.length()>0&&Se.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(ce.x,ce.z),0))}Se.updateTime&&Se.updateTime(e,r)}}var We=function(){return 4}(),Ce=function(){var Xe=new THREE__namespace.PerspectiveCamera;Xe.applyMatrix4(Z.matrix),Xe.position.set(0,0,0);var at=o.works.getResolvedObserver(E.panoId),vt=at!=null?at:j;vt&&Xe.quaternion.premultiply(vt.quaternion.clone().inverse()),Xe.updateProjectionMatrix(),Xe.updateMatrixWorld(!0);var gt=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(Xe.projectionMatrix,Xe.matrixWorldInverse));return gt}();E.panoId===panoStringify(this.currentPano)&&((d=E.leftPanoPicture)===null||d===void 0?void 0:d.map)instanceof TileCubeTextureTarget&&(E.leftPanoPicture.map.maxRequest=this.tileMaxRequest,E.leftPanoPicture.map.update(Ce,We),E.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var Re=this.tiling.object.visible;if(this.initAnimationed){var Le=E.panoId,Qe=this.works.getResolvedObserver(Le);Qe?isSimilarVector3(this.camera.position,Qe.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Le&&this.tiling.cleanup(),this.tiling.panoId=Le,this.tiling.setResource((v=(p=Qe.images)===null||p===void 0?void 0:p.tiles)!==null&&v!==void 0?v:[],this.enableIOSEDR&&Qe.images.luminance?Qe.images.luminance:null),this.tiling.setFetcher(getFetcher(Qe.work)),this.tiling.setRotation(Qe.quaternion),this.tiling.setPosition(Qe.position),this.tiling.maxRequest=this.tileMaxRequest,We>this.tiledCubeTextureLevel?this.tiling.update(Ce,We,e):this.tiling.update(Ce,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Re!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var f=e[c].handedness,d=e[c].gamepad;switch(f){case"left":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"LeftPinch",r));var p={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,l.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,l.left=p;break;case"right":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"RightPinch",r));var v={raycaster:u,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.right=v,l.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,l.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),f=this.emit("xr.gesture.tap",c);!f&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(n){var t=new THREE__namespace.Group;t.name="internalLights";{var e=new THREE__namespace.DirectionalLight(16777215,.3);e.position.copy(new THREE__namespace.Vector3(1,1,1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);e.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);t.add(e)}{var e=new THREE__namespace.AmbientLight(16777215,.6);t.add(e)}n.add(t)}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),f=(t=c[0])===null||t===void 0?void 0:t.trim(),d=(e=c[1])===null||e===void 0?void 0:e.trim();f&&d&&(r[f]=d)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh=new THREE__namespace.Mesh(geometry,material);mesh.matrixAutoUpdate=!1;var scene=new THREE__namespace.Scene;scene.add(mesh),scene.matrixAutoUpdate=!1;var camera=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera.position.set(0,0,.5),camera.lookAt(0,0,0),camera.updateMatrixWorld(!0),camera.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,f=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(l,c,f,d),n.setScissor(l,c,f,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},sharedVector2=new THREE__namespace.Vector2,sharedSphere=new THREE__namespace.Sphere,sharedFrustum=new THREE__namespace.Frustum,sharedProjScreenMatrix=new THREE__namespace.Matrix4,clockForMixer=new WeakMap,worksMap=new WeakMap,emptyWorks=createWorks([]);new Scene;var Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,f,d,p,v,A,h=n.call(this)||this;if(h.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[h.ident]=h),h.renderSwitch01=0,h.currentMode="Panorama",h.pano={workCode:"",panoIndex:0},h.needsRender=!1,h.modelSceneNeedsRender=!1,h.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,h.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),h.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),h.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,h.extraElements=[],h.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},h.fps={testCount:0,testTime:now()},h.info=null,h.modeChangeDuration=(l=e.modeChangeDuration)!==null&&l!==void 0?l:DEFAULT_MODE_CHANGE_DURATION,h.enableWheel=(c=e.enableWheel)!==null&&c!==void 0?c:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=e.renderer;else try{h.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var m=getViewportScale();h.renderer.setPixelRatio(m===1?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(H){H instanceof Error&&h.throwError(H)}h.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(d=(f=h.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&d!==void 0?d:THREE__namespace.sRGBEncoding,generateMipmaps:!1});var y=new THREE__namespace.DepthTexture(1,1);y.generateMipmaps=!1,y.format=THREE__namespace.DepthStencilFormat,y.type=THREE__namespace.UnsignedInt248Type,h.modelRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(v=(p=h.renderer)===null||p===void 0?void 0:p.outputEncoding)!==null&&v!==void 0?v:THREE__namespace.sRGBEncoding,depthTexture:y,generateMipmaps:!1,depthBuffer:!0,stencilBuffer:!0}),h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),h.camera=new Camera(DEFAULT_CAMERA_FOV),h.scene=new Scene,h.xrCustomObjectsScene=new THREE__namespace.Scene,h.scene.add(h.xrCustomObjectsScene),h.scene.matrixAutoUpdate=!1,h.lastLoadWorkTask=Promise.resolve(),h.requestProxy=(A=e.requestProxy)!==null&&A!==void 0?A:DEFAULT_REQUEST_PROXY,h.networkSubscribe=new NetworkSubscribe,h.networkSubscribe.on("network",function(H,w,C,L){var I;h.emit("network.resource",createEvent("network.resource",{source:H,requestType:w,requestState:C,detail:L})),(I=h.analysis)===null||I===void 0||I.network(h.works,H,w,C,L)}),h.boundingMesh=generateBoundingMesh(new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5))),h.boundingMesh.name="bounding",h.models=createModels(),h.models.push(new Model),h.lastModels=createModels(),h.lastWorks=createWorks([]),h.readyCallbacks=[],h.syncingState=!1,h.helperGroup=new THREE__namespace.Group,h.helperGroup.name="helper",h.helperGroup.matrixAutoUpdate=!1,h.scene.add(h.helperGroup),h.modelGroup=new THREE__namespace.Group,h.modelGroup.visible=!1,h.modelGroup.name="model",h.modelGroup.matrixAutoUpdate=!1,h.modelScene=new THREE__namespace.Scene,h.modelScene.add(h.modelGroup),h.modelScene.add(h.boundingMesh),h.modelScene.matrixAutoUpdate=!1,h.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(h.scene),initLights(h.modelScene),h.state={mode:h.currentMode,workCode:h.pano.workCode,panoIndex:h.pano.panoIndex,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance},h.stateSynced=!1,h._enablePostProcessing=!1,h._enableIOSEDR=!1,h._enableEDL=!1,h._enableHQ=!1,h.destroyed=!1,h.paused=!0,typeof window!="undefined"&&(e.play!==!1&&h.play(),h.stopAnimationLoop=AnimationFrameLoop.shared.add(function(H,w){for(var C=[],L=2;L<arguments.length;L++)C[L-2]=arguments[L];h.updateTime.apply(h,__spreadArray([H,w],C,!1))},!1,0,10));var g=function(){typeof document!="undefined"&&document.fullscreenElement===null&&h.currentMode==="VRPanorama"&&h.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},E=function(){h.needsRender=!0,h.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",g,!1),h.renderer&&h.renderer.domElement.addEventListener("webglcontextrestored",E,!1),h.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",g,!1),h.renderer&&h.renderer.domElement.removeEventListener("webglcontextrestored",E,!1)},h.plugins={},e.plugins&&e.plugins.length)for(var b=0,T=e.plugins;b<T.length;b++){var _=T[b];if(typeof _=="function")_(h);else if(Array.isArray(_)){var R=_[0],S=_[1],M=_[2];if(typeof R=="function"){var P=R(h,M);typeof S=="string"&&(h.plugins[S]?h.throwError(new Error("plugin name ".concat(S," is exists."))):h.plugins[S]=P)}}}return h.gpuPickingRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{generateMipmaps:!1}),h.meshReplaceMaterialMap=new Map,h.meshOriginMaterialMap=new Map,initLegacyEvent(h),h}return Object.defineProperty(t,"version",{get:function(){return"6.4.0-alpha.22"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,o,s,u){var l=this;if(s===void 0&&(s=1),u===void 0&&(u=new THREE__namespace.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");var c=this.models.getMaterial(),f=c.constantColor,d=c.colorStyle;this.models.setMaterial({colorStyle:"CONSTANT",constantColor:u}),this.scene.traverse(function(h){if(!(!(h instanceof THREE__namespace.Mesh)||h instanceof PBMMesh)){var m=Object.keys(o).filter(function(g){return g===h.uuid})[0];if(m)if(l.meshOriginMaterialMap.set(m,h.material),l.meshReplaceMaterialMap.get(m))h.material=l.meshReplaceMaterialMap.get(m);else{var y=new THREE__namespace.ShaderMaterial({uniforms:{color:{value:o[m]}},vertexShader:`
|
|
2170
2170
|
void main() {
|
|
2171
2171
|
vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
|
|
2172
2172
|
gl_Position = projectionMatrix * mvPosition;
|