try { (function() { 
var requirejs,require,define;
(function(){function J(d){return ia.call(d)==="[object Function]"}function X(d){return ia.call(d)==="[object Array]"}function Y(d,f,l){for(var j in f)if(!(j in F)&&(!(j in d)||l))d[j]=f[j];return h}function K(d,f,l){d=new Error(f+"\nhttp://requirejs.org/docs/errors.html#"+d);if(l)d.originalError=l;return d}function ja(d,f,l){var j,q,o;for(j=0;o=f[j];j++){o=typeof o==="string"?{name:o}:o;q=o.location;if(l&&(!q||q.indexOf("/")!==0&&q.indexOf(":")===-1))q=l+"/"+(q||o.name);d[o.name]={name:o.name,location:q||
o.name,main:(o.main||"main").replace(ua,"").replace(ka,"")}}}function Z(d,f){if(d.holdReady)d.holdReady(f);else if(f)d.readyWait+=1;else d.ready(true)}function va(d){function f(a){var b,c;for(b=0;c=a[b];b++)if(c==="."){a.splice(b,1);b-=1}else if(c==="..")if(b===1&&(a[2]===".."||a[0]===".."))break;else if(b>0){a.splice(b-1,2);b-=2}}function l(a,b){var c;if(a.charAt(0)===".")if(b){if(r.pkgs[b])b=[b];else{b=b.split("/");b=b.slice(0,b.length-1)}a=b.concat(a.split("/"));f(a);c=r.pkgs[b=a[0]];a=a.join("/");
if(c&&a===b+"/"+c.main)a=b}return a}function j(a,b){var c=a?a.indexOf("!"):-1,e=null,g=b?b.name:null,k=a,n,m;if(c!==-1){e=a.substring(0,c);a=a.substring(c+1,a.length)}if(e)e=l(e,g);if(a){if(e)n=(c=p[e])?c.normalize?c.normalize(a,function(u){return l(u,g)}):l(a,g):"__$p"+g+"@"+a;else n=l(a,g);m=$[n];if(!m){m=h.toModuleUrl?h.toModuleUrl(i,n,b):i.nameToUrl(n,null,b);$[n]=m}}return{prefix:e,name:n,parentMap:b,url:m,originalName:k,fullName:e?e+"!"+n:n}}function q(){var a=true,b=r.priorityWait,c,e;if(b){for(e=
0;c=b[e];e++)if(!v[c]){a=false;break}a&&delete r.priorityWait}return a}function o(a){return function(b){a.exports=b}}function L(a,b,c){return function(){var e=[].concat(wa.call(arguments,0)),g;if(c&&J(g=e[e.length-1]))g.__requireJsBuild=true;e.push(b);return a.apply(null,e)}}function la(a,b){b=L(i.require,a,b);Y(b,{nameToUrl:L(i.nameToUrl,a),toUrl:L(i.toUrl,a),defined:L(i.requireDefined,a),specified:L(i.requireSpecified,a),ready:h.ready,isBrowser:h.isBrowser});if(h.paths)b.paths=h.paths;return b}
function xa(a){var b,c,e,g,k,n,m,u=T[a];if(u)for(g=0;c=u[g];g++){b=c.fullName;c=j(c.originalName,c.parentMap);c=c.fullName;e=w[b]||[];k=w[c];if(c!==b){if(b in y){delete y[b];y[c]=true}w[c]=k?k.concat(e):e;delete w[b];for(k=0;k<e.length;k++){m=e[k].depArray;for(n=0;n<m.length;n++)if(m[n]===b)m[n]=c}}}delete T[a]}function ma(a){var b=a.prefix,c=a.fullName;if(!(y[c]||c in p)){if(b&&!G[b]){G[b]=undefined;(T[b]||(T[b]=[])).push(a);(w[b]||(w[b]=[])).push({onDep:function(e){e===b&&xa(b)}});ma(j(b))}i.paused.push(a)}}
function aa(a){var b,c,e;b=a.callback;var g=a.fullName,k=[],n=a.depArray;if(b&&J(b)){if(n)for(b=0;b<n.length;b++)k.push(a.deps[n[b]]);try{c=h.execCb(g,a.callback,k,p[g])}catch(m){e=m}if(g)if(a.cjsModule&&a.cjsModule.exports!==undefined)c=p[g]=a.cjsModule.exports;else if(c===undefined&&a.usingExports)c=p[g];else p[g]=c}else if(g)c=p[g]=b;if(B[a.waitId]){delete B[a.waitId];a.isDone=true;i.waitCount-=1;if(i.waitCount===0)ba=[]}if(e){e=K("defineerror",'Error evaluating module "'+g+'" at location "'+(g?
j(g).url:"")+'":\n'+e+"\nfileName:"+(e.fileName||e.sourceURL)+"\nlineNumber: "+(e.lineNumber||e.line),e);e.moduleName=g;return h.onError(e)}if(g)if(a=w[g]){for(b=0;b<a.length;b++)a[b].onDep(g,c);delete w[g]}}function na(a,b,c,e){a=j(a,e);var g=a.name,k=a.fullName,n={},m={waitId:g||ya+za++,depCount:0,depMax:0,prefix:a.prefix,name:g,fullName:k,deps:{},depArray:b,callback:c,onDep:function(oa,Aa){if(!(oa in m.deps)){m.deps[oa]=Aa;m.depCount+=1;m.depCount===m.depMax&&aa(m)}}},u,t;if(k){if(k in p||v[k]===
true||k==="jquery"&&r.jQuery&&r.jQuery!==c().fn.jquery)return;y[k]=true;v[k]=true;k==="jquery"&&c&&U(c())}for(c=0;c<b.length;c++)if(u=b[c]){u=j(u,g?a:e);t=u.fullName;b[c]=t;if(t==="require")m.deps[t]=la(a);else if(t==="exports"){m.deps[t]=p[k]={};m.usingExports=true}else if(t==="module"){m.cjsModule=u=m.deps[t]={id:g,uri:g?i.nameToUrl(g,null,e):undefined,exports:p[k]};u.setExports=o(u)}else if(t in p&&!(t in B))m.deps[t]=p[t];else if(!n[t]){m.depMax+=1;ma(u);(w[t]||(w[t]=[])).push(m);n[t]=true}}if(m.depCount===
m.depMax)aa(m);else{B[m.waitId]=m;ba.push(m);i.waitCount+=1}}function M(a){na.apply(null,a);v[a[0]]=true}function pa(a,b){if(!a.isDone){var c=a.fullName,e=a.depArray,g,k;if(c){if(b[c])return p[c];b[c]=true}for(k=0;k<e.length;k++)(g=e[k])&&!a.deps[g]&&B[g]&&a.onDep(g,pa(B[g],b));return c?p[c]:undefined}}function ca(){var a=r.waitSeconds*1E3,b=a&&i.startTime+a<(new Date).getTime();a="";var c=false,e=false,g;if(!(i.pausedCount>0)){if(r.priorityWait)if(q())C();else return;for(g in v)if(!(g in F)){c=true;
if(!v[g])if(b)a+=g+" ";else{e=true;break}}if(c||i.waitCount){if(b&&a){g=K("timeout","Load timeout for modules: "+a);g.requireType="timeout";g.requireModules=a;return h.onError(g)}if(e||i.scriptCount){if((A||qa)&&!da)da=setTimeout(function(){da=0;ca()},50)}else{if(i.waitCount){for(D=0;a=ba[D];D++)pa(a,{});if(ea<5){ea+=1;ca()}}ea=0;h.checkReadyState()}}}}function ra(a,b){var c=b.name,e=b.fullName,g;if(!(e in p||e in v)){G[a]||(G[a]=p[a]);v[e]||(v[e]=false);g=function(k){h.onPluginLoad&&h.onPluginLoad(i,
a,c,k);aa({prefix:b.prefix,name:b.name,fullName:b.fullName,callback:function(){return k}});v[e]=true};g.fromText=function(k,n){var m=N;i.loaded[k]=false;i.scriptCount+=1;if(m)N=false;h.exec(n);if(m)N=true;i.completeLoad(k)};G[a].load(c,la(b.parentMap,true),g,r)}}function Ba(a){if(a.prefix&&a.name.indexOf("__$p")===0&&p[a.prefix])a=j(a.originalName,a.parentMap);var b=a.prefix,c=a.fullName,e=i.urlFetched;if(!(y[c]||v[c])){y[c]=true;if(b)if(p[b])ra(b,a);else{if(!O[b]){O[b]=[];(w[b]||(w[b]=[])).push({onDep:function(g){if(g===
b){var k,n=O[b];for(g=0;g<n.length;g++){k=n[g];ra(b,j(k.originalName,k.parentMap))}delete O[b]}}})}O[b].push(a)}else if(!e[a.url]){h.load(i,c,a.url);e[a.url]=true}}}var i,C,r={waitSeconds:7,baseUrl:s.baseUrl||"./",paths:{},pkgs:{}},P=[],y={require:true,exports:true,module:true},$={},p={},v={},B={},ba=[],za=0,w={},G={},O={},fa=0,T={};U=function(a){if(!i.jQuery)if(a=a||(typeof jQuery!=="undefined"?jQuery:null))if(!(r.jQuery&&a.fn.jquery!==r.jQuery))if("holdReady"in a||"readyWait"in a){i.jQuery=a;M(["jquery",
[],function(){return jQuery}]);if(i.scriptCount){Z(a,true);i.jQueryIncremented=true}}};C=function(){var a,b,c;fa+=1;if(i.scriptCount<=0)i.scriptCount=0;for(;P.length;){a=P.shift();if(a[0]===null)return h.onError(K("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));else M(a)}if(!r.priorityWait||q())for(;i.paused.length;){c=i.paused;i.pausedCount+=c.length;i.paused=[];for(b=0;a=c[b];b++)Ba(a);i.startTime=(new Date).getTime();i.pausedCount-=c.length}fa===1&&ca();fa-=1};i={contextName:d,
config:r,defQueue:P,waiting:B,waitCount:0,specified:y,loaded:v,urlMap:$,scriptCount:0,urlFetched:{},defined:p,paused:[],pausedCount:0,plugins:G,managerCallbacks:w,makeModuleMap:j,normalize:l,configure:function(a){var b,c,e;if(a.baseUrl)if(a.baseUrl.charAt(a.baseUrl.length-1)!=="/")a.baseUrl+="/";b=r.paths;e=r.pkgs;Y(r,a,true);if(a.paths){for(c in a.paths)c in F||(b[c]=a.paths[c]);r.paths=b}if((b=a.packagePaths)||a.packages){if(b)for(c in b)c in F||ja(e,b[c],c);a.packages&&ja(e,a.packages);r.pkgs=
e}if(a.priority){c=i.requireWait;i.requireWait=false;i.takeGlobalQueue();C();i.require(a.priority);C();i.requireWait=c;r.priorityWait=a.priority}if(a.deps||a.callback)i.require(a.deps||[],a.callback);a.ready&&h.ready(a.ready)},requireDefined:function(a,b){return j(a,b).fullName in p},requireSpecified:function(a,b){return j(a,b).fullName in y},require:function(a,b,c){if(typeof a==="string"){if(h.get)return h.get(i,a,b);c=b;b=j(a,c);a=b.fullName;if(!(a in p))return h.onError(K("notloaded","Module name '"+
b.fullName+"' has not been loaded yet for context: "+d));return p[a]}na(null,a,b,c);if(!i.requireWait)for(;!i.scriptCount&&i.paused.length;){i.takeGlobalQueue();C()}},takeGlobalQueue:function(){if(V.length){Ca.apply(i.defQueue,[i.defQueue.length-1,0].concat(V));V=[]}},completeLoad:function(a){var b;for(i.takeGlobalQueue();P.length;){b=P.shift();if(b[0]===null){b[0]=a;break}else if(b[0]===a)break;else{M(b);b=null}}b?M(b):M([a,[],a==="jquery"&&typeof jQuery!=="undefined"?function(){return jQuery}:null]);
v[a]=true;U();if(h.isAsync)i.scriptCount-=1;C();h.isAsync||(i.scriptCount-=1)},toUrl:function(a,b){var c=a.lastIndexOf("."),e=null;if(c!==-1){e=a.substring(c,a.length);a=a.substring(0,c)}return i.nameToUrl(a,e,b)},nameToUrl:function(a,b,c){var e,g,k,n,m=i.config;a=l(a,c&&c.fullName);if(h.jsExtRegExp.test(a))b=a+(b?b:"");else{e=m.paths;g=m.pkgs;c=a.split("/");for(n=c.length;n>0;n--){k=c.slice(0,n).join("/");if(e[k]){c.splice(0,n,e[k]);break}else if(k=g[k]){a=a===k.name?k.location+"/"+k.main:k.location;
c.splice(0,n,a);break}}b=c.join("/")+(b||".js");b=(b.charAt(0)==="/"||b.match(/^\w+:/)?"":m.baseUrl)+b}return m.urlArgs?b+((b.indexOf("?")===-1?"?":"&")+m.urlArgs):b}};i.jQueryCheck=U;i.resume=C;return i}function Da(){var d,f,l;if(Q&&Q.readyState==="interactive")return Q;d=document.getElementsByTagName("script");for(f=d.length-1;f>-1&&(l=d[f]);f--)if(l.readyState==="interactive")return Q=l;return null}var Ea=/(\/\*([\s\S]*?)\*\/|\/\/(.*)$)/mg,Fa=/require\(["']([^'"\s]+)["']\)/g,ua=/^\.\//,ka=/\.js$/,
ia=Object.prototype.toString,x=Array.prototype,wa=x.slice,Ca=x.splice,A=!!(typeof window!=="undefined"&&navigator&&document),qa=!A&&typeof importScripts!=="undefined",Ga=A&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,sa=typeof opera!=="undefined"&&opera.toString()==="[object Opera]",ya="_r@@",F={},H={},V=[],Q=null,Ha=false,ea=0,N=false,h;x={};var ga,s,I,W,z,R,S,D,ha,ta,E,U,da;if(typeof define==="undefined"){if(typeof requirejs!=="undefined")if(J(requirejs))return;else{x=
requirejs;requirejs=undefined}if(typeof require!=="undefined"&&!J(require)){x=require;require=undefined}h=requirejs=function(d,f,l){var j="_",q;if(!X(d)&&typeof d!=="string"){q=d;if(X(f)){d=f;f=l}else d=[]}if(q&&q.context)j=q.context;l=H[j]||(H[j]=va(j));q&&l.configure(q);return l.require(d,f)};if(typeof require==="undefined")require=h;h.toUrl=function(d){return H._.toUrl(d)};h.version="0.25.0";h.isArray=X;h.isFunction=J;h.mixin=Y;h.jsExtRegExp=/^\/|:|\?|\.js$/;s=h.s={contexts:H,skipAsync:{},isPageLoaded:!A,
readyCalls:[]};if(h.isAsync=h.isBrowser=A){I=s.head=document.getElementsByTagName("head")[0];if(W=document.getElementsByTagName("base")[0])I=s.head=W.parentNode}h.onError=function(d){throw d;};h.load=function(d,f,l){var j=d.loaded;Ha=false;j[f]||(j[f]=false);d.scriptCount+=1;h.attach(l,d,f);if(d.jQuery&&!d.jQueryIncremented){Z(d.jQuery,true);d.jQueryIncremented=true}};define=h.def=function(d,f,l){var j;if(typeof d!=="string"){l=f;f=d;d=null}if(!h.isArray(f)){l=f;f=[]}if(!d&&!f.length&&h.isFunction(l))if(l.length){l.toString().replace(Ea,
"").replace(Fa,function(q,o){f.push(o)});f=(l.length===1?["require"]:["require","exports","module"]).concat(f)}if(N){j=ga||Da();if(!j)return h.onError(K("interactive","No matching script interactive for "+l));d||(d=j.getAttribute("data-requiremodule"));j=H[j.getAttribute("data-requirecontext")]}(j?j.defQueue:V).push([d,f,l])};define.amd={multiversion:true,plugins:true,jQuery:true};h.exec=function(d){return eval(d)};h.execCb=function(d,f,l,j){return f.apply(j,l)};h.onScriptLoad=function(d){var f=d.currentTarget||
d.srcElement,l;if(d.type==="load"||Ga.test(f.readyState)){Q=null;d=f.getAttribute("data-requirecontext");l=f.getAttribute("data-requiremodule");H[d].completeLoad(l);f.detachEvent&&!sa?f.detachEvent("onreadystatechange",h.onScriptLoad):f.removeEventListener("load",h.onScriptLoad,false)}};h.attach=function(d,f,l,j,q){var o;if(A){j=j||h.onScriptLoad;o=f&&f.config&&f.config.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");o.type=q||"text/javascript";
o.charset="utf-8";o.async=!s.skipAsync[d];f&&o.setAttribute("data-requirecontext",f.contextName);o.setAttribute("data-requiremodule",l);if(o.attachEvent&&!sa){N=true;o.attachEvent("onreadystatechange",j)}else o.addEventListener("load",j,false);o.src=d;ga=o;W?I.insertBefore(o,W):I.appendChild(o);ga=null;return o}else if(qa){j=f.loaded;j[l]=false;importScripts(d);f.completeLoad(l)}return null};if(A){z=document.getElementsByTagName("script");for(D=z.length-1;D>-1&&(R=z[D]);D--){if(!I)I=R.parentNode;
if(S=R.getAttribute("data-main")){if(!x.baseUrl){z=S.split("/");R=z.pop();z=z.length?z.join("/")+"/":"./";x.baseUrl=z;S=R.replace(ka,"")}x.deps=x.deps?x.deps.concat(S):[S];break}}}s.baseUrl=x.baseUrl;h.pageLoaded=function(){if(!s.isPageLoaded){s.isPageLoaded=true;ha&&clearInterval(ha);if(ta)document.readyState="complete";h.callReady()}};h.checkReadyState=function(){var d=s.contexts,f;for(f in d)if(!(f in F))if(d[f].waitCount)return;s.isDone=true;h.callReady()};h.callReady=function(){var d=s.readyCalls,
f,l,j;if(s.isPageLoaded&&s.isDone){if(d.length){s.readyCalls=[];for(f=0;l=d[f];f++)l()}d=s.contexts;for(j in d)if(!(j in F)){f=d[j];if(f.jQueryIncremented){Z(f.jQuery,false);f.jQueryIncremented=false}}}};h.ready=function(d){s.isPageLoaded&&s.isDone?d():s.readyCalls.push(d);return h};if(A){if(document.addEventListener){document.addEventListener("DOMContentLoaded",h.pageLoaded,false);window.addEventListener("load",h.pageLoaded,false);if(!document.readyState){ta=true;document.readyState="loading"}}else if(window.attachEvent){window.attachEvent("onload",
h.pageLoaded);if(self===self.top)ha=setInterval(function(){try{if(document.body){document.documentElement.doScroll("left");h.pageLoaded()}}catch(d){}},30)}document.readyState==="complete"&&h.pageLoaded()}h(x);if(h.isAsync&&typeof setTimeout!=="undefined"){E=s.contexts[x.context||"_"];E.requireWait=true;setTimeout(function(){E.requireWait=false;E.takeGlobalQueue();E.jQueryCheck();E.scriptCount||E.resume();h.checkReadyState()},0)}}})();/*
 jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==
typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,
t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,
t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=
S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),
isReady:!0,error:function(e){throw new Error(e);},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e))for(n=e.length;r<n;r++){if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},
makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],
o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,
t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\x00-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+
W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+
M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>
10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\x00"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,
r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1])if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else{if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,
e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=
[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?
1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,
le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&
(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),
d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=
function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===
n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||
v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||
a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},
j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,
t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||
e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e);},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),
e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i)if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else{if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",
first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&
(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,
r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":
"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]=
{}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,
r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),
lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||
~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();
return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),
gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,
p];if(n)while(e=e[u]){if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,
r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],
i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,
e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),
n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=
e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=
se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||
t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?
1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=
d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=
0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&
3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,
D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,
e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,
"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=
e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e;}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,
t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?
r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||
(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),
this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");
t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,
m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,
r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+
e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e;})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&
!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}
function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):
e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};
var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,
t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==
(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,
i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,
e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,
e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,
t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),
o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;
ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],
tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||
(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=
""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,
s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i])if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();
else{if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,
i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),
namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||
{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,
"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&
!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=
[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,
t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==
e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=
e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=
this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),
S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,
arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});
var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,
"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=
e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&
(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<
i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?
S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,
function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===
e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",
insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},
Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",
l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip=
"content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",
t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;
while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,
"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&
A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,
gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==
o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,
t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=
Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,
i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,
n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,
e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,
it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,
t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,
tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=
a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,
t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,
S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===
c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,
g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),
r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||
"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,
!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,
r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=
C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,
t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",
t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||
[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,
n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex",
"readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,
n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):
m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});
var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,
"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,
i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};
S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=
void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&
(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,
t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,
r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;
function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],
t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):
{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,
S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,
processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,
S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=
n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,
bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),
v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid++ +o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&
T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,
t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));
if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=
t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&
(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,
t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},
dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},
wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();
y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=
r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&
i.data||null)}catch(e){if(o)throw e;}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,
i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&
(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===
i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=
N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,
e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&
(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();
else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;
return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},
function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),
S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),
function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=
X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});var ja="function"==typeof Object.defineProperties?Object.defineProperty:function(a,d,h){if(a==Array.prototype||a==Object.prototype)return a;a[d]=h.value;return a};function ka(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var d=0;d<a.length;++d){var h=a[d];if(h&&h.Math==Math)return h}throw Error("Cannot find global object");}var la=ka(this);
function ma(a,d){if(d)a:{var h=la;a=a.split(".");for(var m=0;m<a.length-1;m++){var k=a[m];if(!(k in h))break a;h=h[k]}a=a[a.length-1];m=h[a];d=d(m);d!=m&&null!=d&&ja(h,a,{configurable:!0,writable:!0,value:d})}}
ma("String.prototype.matchAll",function(a){return a?a:function(d){if(d instanceof RegExp&&!d.global)throw new TypeError("RegExp passed into String.prototype.matchAll() must have global tag.");var h=new RegExp(d,d instanceof RegExp?void 0:"g"),m=this,k=!1,b={next:function(){if(k)return{value:void 0,done:!0};var g=h.exec(m);if(!g)return k=!0,{value:void 0,done:!0};""===g[0]&&(h.lastIndex+=1);return{value:g,done:!1}}};b[Symbol.iterator]=function(){return b};return b}});
(function(){function a(c){this.Do=c;this.Sr=null;this.Hc={}}function d(){this.mm={};this.mm[d.SCRIPT_URL]=[];this.mm[d.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.mm[d.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.mm[d.HLS_URL]="lib/Hls.js";this.mm[d.fea]="lib/basis/";this.mm[d.CURSORS_DIR_URL]="lib/cursors";this.mm[d.SERVICE_WORKER_URL]="tdvplayersw.js";this.mm[d.BACKGROUND_PRELOAD_ENABLED]=void 0}function h(){this.tM=[];this.SV=[];this.MMa=[];this.QQ=null}function m(c){return"[object Array]"==
Object.prototype.toString.call(c)}function k(c){return 0<=g.search(c.toLowerCase())}var b=window.TDV=window.TDV||{},g=navigator.userAgent.toLowerCase();h.prototype.getVersion=h.prototype.gva=function(){return{MAJOR:"0",MINOR:"1865"}};h.prototype.getClassByName=function(){};h.prototype.Toa=function(){if(this.QQ)for(;0<this.tM.length;){var c=this.tM[0];this.tM=this.tM.slice(1);this.SV.push(c);this.CGa(c)}};h.prototype.dma=function(c){var f=document.createElement("a");f.href=
c;return f.href};h.prototype.WIa=function(){var c=document.currentScript;c||(c=document.getElementsByTagName("head")[0].getElementsByTagName("script"),c=c[c.length-1]);return this.dma(c.src)};h.prototype.CGa=function(c){var f=this,l=c.Do.get(d.SELECTED_SCRIPT_URL);setTimeout(function(){var p=document.createElement("script");p.type="text/javascript";p.src=l;document.getElementsByTagName("head")[0].appendChild(p);f.QQ.HZa(c)},1)};h.prototype.defineScript=function(c){for(var f=[],l=this.WIa(),p=0;p<
this.SV.length;p++){var q=this.SV[p],n=this.dma(q.Do.get(d.SELECTED_SCRIPT_URL));n==l?(q.Do.set(d.SCRIPT_DATA,c),q.vYa(new this.QQ(q,q.Do)),this.MMa.push(q)):f.push(n)}this.SV=f};h.prototype.create=h.prototype.create=function(c){var f=c.get(d.SCRIPT_URL);f=m(f)?this.INa(f):"string"===typeof f?f:"script.js";c.set(d.SELECTED_SCRIPT_URL,f);c=new b.rfa(c);this.tM.push(c);this.Toa();return c};h.prototype.setPlayerClass=h.prototype.uYa=function(c){this.QQ=c;this.Toa();this.trigger({name:"classesReady",
source:this})};h.prototype.bind=h.prototype.bind=function(c,f,l,p){this.Hc=this.Hc||{};this.Hc[c]=this.Hc[c]||[];this.Hc[c].push({handler:f,context:l,immediate:p||!1})};h.prototype.unbind=h.prototype.unbind=function(c,f,l,p){this.Hc&&c in this.Hc&&(this.Hc[c]=this.Hc[c].filter(function(q){return q.handler!=f||q.context!=l||q.immediate!=p}))};h.prototype.trigger=function(c){this.Hc&&c.name in this.Hc&&(this.Tw(c,!0),setTimeout(function(){this.Tw(c,!1)}.bind(this),0))};h.prototype.Tw=function(c,f){c.unbindCurrentHandler=
function(){}.bind(this);for(var l=this.Hc[c.name],p=0;p<l.length;p++)if(l[p].immediate==f)try{l[p].handler.call(l[p].context||window,c)}catch(q){setTimeout(function(){throw q;},0)}};h.prototype.getOrientation=h.prototype.Aq=function(){var c=screen.orientation&&screen.orientation.type||window.orientation;return"portrait-primary"==c||"portrait-secondary"==c||0===c||180==c?b.pb.t0:"landscape-primary"==c||"landscape-secondary"==c||90==c||-90==c?b.pb.s0:window.innerWidth<window.innerHeight?b.pb.t0:b.pb.s0};
h.prototype.INa=function(c){if(0<c.length){for(var f=0;f<c.length;f++){var l=c[f];if(m(l)){if(this.qra(l[0]))return l[1]}else if("string"===typeof l)return l}return c[0][1]}return"script.js"};h.prototype.qra=function(c){if("string"===typeof c){var f=c.match(/^\s*default\s*$/);if(f)return!0;if(f=c.match(/^\s*os\s*=\s*(\w+)\s*$/))return this.de==f[1].toLowerCase();if(f=c.match(/^\s*browser\s*=\s*(\w+)\s*$/))return this.browser==f[1].toLowerCase();if(f=c.match(/^\s*device\s*=\s*(\w+)\s*$/))return this.$y==
f[1].toLowerCase();if(f=c.match(/^\s*screen_size\s*(<|>|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){c=parseInt(f[2]);var l=parseInt(f[3]);switch(f[1]){case "<":var p=function(q,n){return q<n};break;case ">":p=function(q,n){return q>n};break;case "=":p=function(q,n){return q==n};break;case "<=":p=function(q,n){return q<=n};break;case ">=":p=function(q,n){return q>=n}}return p(screen.width,c)&&p(screen.height,l)||this.mobile&&p(screen.width,l)&&p(screen.height,c)}return!1}if(m(c)){for(f=0;f<c.length;f++)if(!this.qra(c[f]))return!1;
return!0}return!1};h.prototype.ORIENTATION_LANDSCAPE=h.prototype.s0="landscape";h.prototype.ORIENTATION_PORTRAIT=h.prototype.t0="portrait";h.prototype.OS_IOS=h.prototype.EQ="ios";h.prototype.OS_ANDROID=h.prototype.u0="android";h.prototype.OS_WINDOWS=h.prototype.jfa="windows";h.prototype.OS_WINDOWS_PHONE=h.prototype.y0="windows_phone";h.prototype.OS_MACOSX=h.prototype.v0="osx";h.prototype.OS_LINUX=h.prototype.ifa="linux";h.prototype.OS_QNX=h.prototype.x0="qnx";h.prototype.OS_OTHER=h.prototype.w0="other";
h.prototype.BROWSER_TYPE_WEBKIT=h.prototype.RI="webkit";h.prototype.BROWSER_TYPE_OPERA=h.prototype.n_="opera";h.prototype.BROWSER_TYPE_MSIE=h.prototype.m_="msie";h.prototype.BROWSER_TYPE_MOZILLA=h.prototype.l_="mozilla";h.prototype.BROWSER_TYPE_OTHER=h.prototype.o_="other";h.prototype.BROWSER_SAFARI_IOS=h.prototype.Xh="safari_ios";h.prototype.BROWSER_OPERA=h.prototype.lQ="opera";h.prototype.BROWSER_SAFARI=h.prototype.Wl="safari";h.prototype.BROWSER_CHROME=h.prototype.Nk="chrome";h.prototype.BROWSER_EDGE=
h.prototype.ZD="edge";h.prototype.BROWSER_MSIE=h.prototype.kw="msie";h.prototype.BROWSER_ANDROID=h.prototype.kQ="android";h.prototype.BROWSER_MOZILLA=h.prototype.Gz="mozilla";h.prototype.BROWSER_OTHER=h.prototype.j_="other";h.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET=h.prototype.QI="samsunginternet";h.prototype.BROWSER_SUBTYPE_OCULUS_BROWSER=h.prototype.Rq="oculusbrowser";h.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET_FOR_GEAR_VR=h.prototype.pQ="samsunginternetgearvr";h.prototype.BROWSER_SUBTYPE_MI_BROWSER=
h.prototype.k_="mibrowser";h.prototype.BROWSER_SUBTYPE_CHROME_IOS=h.prototype.mQ="chromeios";h.prototype.BROWSER_SUBTYPE_SAFARI_IOS=h.prototype.NI="safari_ios";h.prototype.BROWSER_SUBTYPE_CHROME_WEBVIEW=h.prototype.$D="chrome_webview";h.prototype.BROWSER_SUBTYPE_SAFARI_WEBVIEW=h.prototype.OI="safari_webview";h.prototype.BROWSER_SUBTYPE_TOUR_LAUNCHER=h.prototype.Iz="tour_launcher";h.prototype.BROWSER_SUBTYPE_CHROMIUM_EDGE=h.prototype.$D="chromium_edge";h.prototype.BROWSER_SUBTYPE_FIREFOX_REALITY=h.prototype.Hz=
"firefox_reality";h.prototype.BROWSER_SUBTYPE_VR_APP=h.prototype.Zs="vrapp";h.prototype.BROWSER_SUBTYPE_XR_APP=h.prototype.lw="xrapp";h.prototype.BROWSER_SUBTYPE_FACEBOOK_IOS_WEBVIEW=h.prototype.nQ="facebook_ios_webview";h.prototype.BROWSER_SUBTYPE_OTHER=h.prototype.oQ="other";h.prototype.BROWSER_VERSION_UNKNOWN=h.prototype.p_=-1;h.prototype.DEVICE_IPHONE=h.prototype.s_="iphone";h.prototype.DEVICE_IPAD=h.prototype.cE="ipad";h.prototype.DEVICE_IPOD=h.prototype.t_="ipod";h.prototype.DEVICE_OTHER=h.prototype.u_=
"other";h.prototype.os=h.prototype.de=k("iphone")||k("ipad")||k("ipod")?h.prototype.EQ:k("qnx")?h.prototype.x0:k("android")||k("oculusbrowser")&&k("linux")?h.prototype.u0:k("windows phone")?h.prototype.y0:k("windows")?h.prototype.jfa:k("mac_powerpc")?h.prototype.v0:k("macintosh")?1<navigator.maxTouchPoints?h.prototype.EQ:h.prototype.v0:k("linux")||k("x11")?h.prototype.ifa:h.prototype.w0;h.prototype.browser=h.prototype.browser=k("ipad")||k("iphone")||k("ipod")||k("macintosh")&&1<navigator.maxTouchPoints?
h.prototype.Xh:k("opera")?h.prototype.lQ:k("edge")?h.prototype.ZD:k("chrome")||k("crmo")?h.prototype.Nk:k("android")?h.prototype.kQ:k("safari")?h.prototype.Wl:k("trident")||k("msie")?h.prototype.kw:!k("compatible")&&k("mozilla")?h.prototype.Gz:h.prototype.j_;h.prototype.browserType=h.prototype.GH=h.prototype.browser==h.prototype.Xh||h.prototype.browser==h.prototype.Nk||h.prototype.browser==h.prototype.kQ||h.prototype.browser==h.prototype.Wl||k("webkit")?h.prototype.RI:h.prototype.browser==h.prototype.lQ||
k("opera")?h.prototype.n_:k("trident")||k("msie")?h.prototype.m_:!k("compatible")&&k("mozilla")?h.prototype.l_:h.prototype.o_;h.prototype.browserSubtype=h.prototype.cd=window.location.hash&&0<=window.location.hash.indexOf("xrapp")?h.prototype.lw:window.location.hash&&0<=window.location.hash.indexOf("vrapp")?h.prototype.Zs:k("oculusbrowser")?h.prototype.Rq:k("xiaomi")||k("miui")?h.prototype.k_:k("samsungbrowser")&&k("android")?k("mobile vr")?h.prototype.pQ:h.prototype.QI:k("ipad")||k("iphone")||k("ipod")?
k("crios")?h.prototype.mQ:k("fban")||k("fbav")?h.prototype.nQ:k("safari")&&k("version")&&!navigator.standalone?h.prototype.NI:h.prototype.OI:k("electron")?h.prototype.Iz:k("chrome")&&k("wv")?h.prototype.$D:k("edg/")?h.prototype.gea:!k("compatible")&&k("mozilla")&&k("mobile vr")?h.prototype.Hz:h.prototype.oQ;h.prototype.browserVersion=h.prototype.Eta=function(){if(h.prototype.browser==h.prototype.kw){var c=g.match(RegExp("MSIE ([0-9]{1,}[.0-9]{0,})"));if(null!=c)return parseFloat(c[1]);c=g.match(RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})"));
if(null!=c)return parseFloat(c[1])}return h.prototype.p_}();h.prototype.device=h.prototype.$y=k("ipad")||k("macintosh")&&1<navigator.maxTouchPoints?h.prototype.cE:k("iphone")?h.prototype.s_:k("ipod")?h.prototype.t_:h.prototype.u_;a:{switch(h.prototype.de){case h.prototype.u0:case h.prototype.EQ:case h.prototype.y0:case h.prototype.x0:var e=!0;break a}e=!1}h.prototype.mobile=h.prototype.mobile=e;b.PlayerAPI=b.pb=new h;d.prototype.append=d.prototype.append=function(c,f,l){c==d.SCRIPT_URL&&("undefined"==
typeof l&&(l=f,f="default"),f=[f,l]);m(this.mm[c])||(this.mm[c]=[]);this.mm[c].push(f)};d.prototype.set=d.prototype.set=function(c,f){this.mm[c]=f};d.prototype.get=d.prototype.get=function(c){return this.mm[c]};d.SCRIPT_URL=d.SCRIPT_URL="ScriptURL";d.SCRIPT_DATA=d.SCRIPT_DATA="ScriptData";d.FLASH_EXPRESS_INSTALLER_URL=d.FLASH_EXPRESS_INSTALLER_URL="FlashExpressInstallerURL";d.FLASH_AUDIO_PLAYER_URL=d.FLASH_AUDIO_PLAYER_URL="FlashAudioPlayerURL";d.FLASH_VIDEO_PLAYER_URL=d.FLASH_VIDEO_PLAYER_URL="FlashVideoPlayerURL";
d.FLASH_PANORAMA_PLAYER_URL=d.FLASH_PANORAMA_PLAYER_URL="FlashPanoramaPlayerURL";d.THREE_JS_WEBGL_URL=d.THREE_JS_WEBGL_URL="ThreeJSWebGLURL";d.WEBVR_POLYFILL_URL=d.WEBVR_POLYFILL_URL="WebVRPolyfillURL";d.CAPTURA_VIEWER_URL=d.CAPTURA_VIEWER_URL="CapturaViewerURL";d.DASH_URL=d.DASH_URL="DashURL";d.HLS_URL=d.HLS_URL="HlsURL";d.BASIS_URL=d.fea="BasisURL";d.CONTAINER=d.CONTAINER="Container";d.SELECTED_SCRIPT_URL=d.SELECTED_SCRIPT_URL="SelectedScriptURL";d.BASE_DIR_URL=d.BASE_DIR_URL="BaseDirURL";d.QUERY_STRING_PARAMETERS=
d.QUERY_STRING_PARAMETERS="QueryStringParameters";d.CURSORS_DIR_URL=d.CURSORS_DIR_URL="CursorsDirURL";d.BACKGROUND_PRELOAD_ENABLED=d.BACKGROUND_PRELOAD_ENABLED="BackgroundPreloadEnabled";d.ACTIVE_VIDEO_ELEMENT=d.ACTIVE_VIDEO_ELEMENT="ActiveVideoElement";d.SERVICE_WORKER_URL=d.SERVICE_WORKER_URL="ServiceWorkerURL";d.PINCH_TO_ZOOM_ENABLED=d.yBa="PinchToZoomEnabled";b.PlayerSettings=b.PlayerSettings=d;b.PlayerEvent=b.GQ=function(c,f,l,p){this.name=c;this.data=this.originalEvent=f;this.sourceClassName=
l[l.length-1];this.sourceClassPath=l;this.sourceId=p};a.prototype.vYa=function(c){this.Sr=c};a.prototype["delete"]=function(){this.Sr&&(this.Sr.clear(),this.Sr=null)};a.prototype.getById=a.prototype.bz=function(c){return this.Sr?this.Sr.FUa(c):null};a.prototype.getByClassName=a.prototype.Dj=function(c){return this.Sr?this.Sr.Dj(c):[]};a.prototype.createInstance=a.prototype.Xm=function(c){return this.Sr.Xm(c)};a.prototype.disposeInstance=a.prototype.PH=function(c){return this.Sr.PH(c)};a.prototype.bind=
a.prototype.bind=function(c,f,l,p){var q=c.split(":");c=q[0];q=1<q.length?q[1]:"*";this.Hc[c]=this.Hc[c]||{};this.Hc[c][q]=this.Hc[c][q]||[];this.Hc[c][q].push({handler:f,context:l,immediate:p});return this};a.prototype.unbind=a.prototype.unbind=function(c,f,l,p){var q=c.split(":");c=q[0];q=1<q.length?q[1]:"*";if(c in this.Hc&&q in this.Hc[c]){for(var n=[],r=this.Hc[c][q],u=0;u<r.length;u++){var t=r[u];t.handler==f&&t.context==l&&t.immediate==p||n.push(t)}this.Hc[c][q]=n}};a.prototype.bindOnObject=
function(c,f,l,p,q){return this.bind(f+":"+this.D4(c),l,p,q)};a.prototype.unbindOnObject=function(c,f,l,p,q){return this.unbind(f+":"+this.D4(c),l,p,q)};a.prototype.bindOnObjectsOf=function(c,f,l,p,q){return this.bind(f+":"+this.t4(c),l,p,q)};a.prototype.unbindOnObjectsOf=function(c,f,l,p,q){return this.unbind(f+":"+this.t4(c),l,p,q)};a.prototype.cookiesEnabled=a.prototype.lTa=!1;a.DEFAULT_PANORAMA_HFOV=a.uAa=h.prototype.mobile?90:110;a.prototype.trigger=function(c){if(c.name in this.Hc){this.Tw(c,
!0);var f=this;setTimeout(function(){f.Tw(c,!1)},0)}};a.prototype.Tw=function(c,f){f=this.gIa(c,f);for(var l=0;l<f.length;l++)try{f[l].handler.call(f[l].context||window,c)}catch(p){console.log("Exception handling event "+(c&&c.name),p.message,p.stack)}};a.prototype.gIa=function(c,f){var l=[];if(c.name in this.Hc){for(var p=[],q=0;q<c.sourceClassPath.length;q++)p.push(this.t4(c.sourceClassPath[q]));c.sourceId&&p.push(this.D4(c.sourceId));p.push("*");c=this.Hc[c.name];for(q=0;q<p.length;q++)for(var n=
c[p[q]]||[],r=0;r<n.length;r++)!!n[r].immediate==!!f&&l.push(n[r])}return l};a.prototype.D4=function(c){return"instance("+c+")"};a.prototype.t4=function(c){return"className("+c+")"};b.Player=b.rfa=a})();
var Z=this&&this.H_a||function(){function a(d,h){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,k){m.__proto__=k}||function(m,k){for(var b in k)Object.prototype.hasOwnProperty.call(k,b)&&(m[b]=k[b])};return a(d,h)}return function(d,h){function m(){this.constructor=d}if("function"!==typeof h&&null!==h)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");a(d,h);d.prototype=null===h?Object.create(h):(m.prototype=h.prototype,new m)}}();
define("jquery.mod",["require","jquery"],function(a){return a("jquery").noConflict(!0)});
(function(){var a=window.TDV||(window.TDV={});(function(){(function(){function d(F,K){return F.AEa?r(K).chain():K}function h(F){return"\\"+Y[F]}function m(F){function K(L){return F[L]}var O="(?:"+r.keys(F).join("|")+")",T=RegExp(O),J=RegExp(O,"g");return function(L){return L=null==L?"":""+L,T.test(L)?L.replace(J,K):L}}function k(F,K,O,T){if(F===K)return 0!==F||1/F===1/K;if(null==F||null==K)return F===K;F instanceof r&&(F=F.WC);K instanceof r&&(K=K.WC);var J=D.call(F);if(J!==D.call(K))return!1;switch(J){case "[object RegExp]":case "[object String]":return""+
F==""+K;case "[object Number]":return+F!==+F?+K!==+K:0===+F?1/+F===1/K:+F===+K;case "[object Date]":case "[object Boolean]":return+F===+K}J="[object Array]"===J;if(!J){if("object"!=typeof F||"object"!=typeof K)return!1;var L=F.constructor,X=K.constructor;if(L!==X&&!(r.isFunction(L)&&L instanceof L&&r.isFunction(X)&&X instanceof X)&&"constructor"in F&&"constructor"in K)return!1}O=O||[];T=T||[];for(L=O.length;L--;)if(O[L]===F)return T[L]===K;if(O.push(F),T.push(K),J){if(L=F.length,L!==K.length)return!1;
for(;L--;)if(!k(F[L],K[L],O,T))return!1}else{var aa;J=r.keys(F);if(L=J.length,r.keys(K).length!==L)return!1;for(;L--;)if(aa=J[L],!r.has(K,aa)||!k(F[aa],K[aa],O,T))return!1}return O.pop(),T.pop(),!0}function b(F,K,O,T,J){if(!(T instanceof K))return F.apply(O,J);K=l(F.prototype);F=F.apply(K,J);return r.lI(F)?F:K}function g(F,K,O,T){var J=[],L=0;T=T||0;for(var X=W(F);X>T;T++){var aa=F[T];if(c(aa)&&(r.isArray(aa)||r.isArguments(aa))){K||(aa=g(aa,K,O));var ba=0,da=aa.length;for(J.length+=da;da>ba;)J[L++]=
aa[ba++]}else O||(J[L++]=aa)}return J}function e(F){return function(K,O,T){var J={};return O=q(O,T),r.each(K,function(L,X){X=O(L,X,K);F(J,L,X)}),J}}function c(F){F=W(F);return"number"==typeof F&&0<=F&&M>=F}function f(F){return function(K){return null==K?void 0:K[F]}}function l(F){if(!r.lI(F))return{};if(Q)return Q(F);u.prototype=F;F=new u;return u.prototype=null,F}function p(F,K){return function(O){var T=arguments.length;if(2>T||null==O)return O;for(var J=1;T>J;J++)for(var L=arguments[J],X=F(L),aa=
X.length,ba=0;aa>ba;ba++){var da=X[ba];K&&void 0!==O[da]||(O[da]=L[da])}return O}}function q(F,K,O){return null==F?r.identity:r.isFunction(F)?n(F,K,O):r.lI(F)?r.TVa(F):r.Vxa(F)}function n(F,K,O){if(void 0===K)return F;switch(null==O?3:O){case 1:return function(T){return F.call(K,T)};case 2:return function(T,J){return F.call(K,T,J)};case 3:return function(T,J,L){return F.call(K,T,J,L)};case 4:return function(T,J,L,X){return F.call(K,T,J,L,X)}}return function(){return F.apply(K,arguments)}}function r(F){return F instanceof
r?F:this instanceof r?void(this.WC=F):new r(F)}function u(){}function t(F){return function(K,O,T,J){O=n(O,J,4);var L=!c(K)&&r.keys(K),X=(L||K).length,aa=0<F?0:X-1;3>arguments.length&&(T=K[L?L[aa]:aa],aa+=F);for(var ba=O,da=T;0<=aa&&X>aa;aa+=F){var ea=L?L[aa]:aa;da=ba(da,K[ea],ea,K)}return da}}function v(F){return function(K,O,T){O=q(O,T);T=W(K);for(var J=0<F?0:T-1;0<=J&&T>J;J+=F)if(O(K[J],J,K))return J;return-1}}function w(F,K,O){return function(T,J,L){var X=0,aa=W(T);if("number"==typeof L)0<F?X=
0<=L?L:Math.max(L+aa,X):aa=0<=L?Math.min(L+1,aa):L+aa+1;else if(O&&L&&aa)return L=O(T,J),T[L]===J?L:-1;if(J!==J)return L=K(G.call(T,X,aa),r.isNaN),0<=L?L+X:-1;for(L=0<F?X:aa-1;0<=L&&aa>L;L+=F)if(T[L]===J)return L;return-1}}function x(F,K){var O=P.length,T=F.constructor;T=r.isFunction(T)&&T.prototype||z;var J="constructor";for(r.has(F,J)&&!r.contains(K,J)&&K.push(J);O--;)J=P[O],J in F&&F[J]!==T[J]&&!r.contains(K,J)&&K.push(J)}var y=this,A=y._,B=Array.prototype,z=Object.prototype,C=B.push,G=B.slice,
D=z.toString,E=z.hasOwnProperty,H=Array.isArray,R=Object.keys,S=Function.prototype.bind,Q=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=r),exports._=r):y._=r;r.VERSION="1.8.3";var M=Math.pow(2,53)-1,W=f("length");r.each=r.forEach=function(F,K,O){K=n(K,O);var T;if(c(F))for(O=0,T=F.length;T>O;O++)K(F[O],O,F);else{var J=r.keys(F);O=0;for(T=J.length;T>O;O++)K(F[J[O]],J[O],F)}return F};r.map=function(F,K,O){K=q(K,O);O=!c(F)&&r.keys(F);for(var T=
(O||F).length,J=Array(T),L=0;T>L;L++){var X=O?O[L]:L;J[L]=K(F[X],X,F)}return J};r.reduce=t(1);r.reduceRight=t(-1);r.find=r.detect=function(F,K,O){var T;return T=c(F)?r.findIndex(F,K,O):r.LTa(F,K,O),void 0!==T&&-1!==T?F[T]:void 0};r.filter=r.select=function(F,K,O){var T=[];return K=q(K,O),r.each(F,function(J,L,X){K(J,L,X)&&T.push(J)}),T};r.reject=function(F,K,O){return r.filter(F,r.negate(q(K)),O)};r.every=r.all=function(F,K,O){K=q(K,O);O=!c(F)&&r.keys(F);for(var T=(O||F).length,J=0;T>J;J++){var L=
O?O[J]:J;if(!K(F[L],L,F))return!1}return!0};r.some=r.any=function(F,K,O){K=q(K,O);O=!c(F)&&r.keys(F);for(var T=(O||F).length,J=0;T>J;J++){var L=O?O[J]:J;if(K(F[L],L,F))return!0}return!1};r.contains=r.includes=r.include=function(F,K,O,T){return c(F)||(F=r.values(F)),("number"!=typeof O||T)&&(O=0),0<=r.indexOf(F,K,O)};r.invoke=function(F,K){var O=G.call(arguments,2),T=r.isFunction(K);return r.map(F,function(J){var L=T?K:J[K];return null==L?L:L.apply(J,O)})};r.pluck=function(F,K){return r.map(F,r.Vxa(K))};
r.max=function(F,K,O){var T,J=-1/0,L=-1/0;if(null==K&&null!=F){F=c(F)?F:r.values(F);for(var X=0,aa=F.length;aa>X;X++)O=F[X],O>J&&(J=O)}else K=q(K,O),r.each(F,function(ba,da,ea){T=K(ba,da,ea);(T>L||T===-1/0&&J===-1/0)&&(J=ba,L=T)});return J};r.min=function(F,K,O){var T,J=1/0,L=1/0;if(null==K&&null!=F){F=c(F)?F:r.values(F);for(var X=0,aa=F.length;aa>X;X++)O=F[X],J>O&&(J=O)}else K=q(K,O),r.each(F,function(ba,da,ea){T=K(ba,da,ea);(L>T||1/0===T&&1/0===J)&&(J=ba,L=T)});return J};r.gZa=function(F){for(var K=
c(F)?F:r.values(F),O=K.length,T=Array(O),J=0;O>J;J++)F=r.random(0,J),F!==J&&(T[J]=T[F]),T[F]=K[J];return T};r.sample=function(F,K,O){return null==K||O?(c(F)||(F=r.values(F)),F[r.random(F.length-1)]):r.gZa(F).slice(0,Math.max(0,K))};r.sortBy=function(F,K,O){return K=q(K,O),r.pluck(r.map(F,function(T,J,L){return{value:T,index:J,Uta:K(T,J,L)}}).sort(function(T,J){var L=T.Uta,X=J.Uta;if(L!==X){if(L>X||void 0===L)return 1;if(X>L||void 0===X)return-1}return T.index-J.index}),"value")};r.groupBy=e(function(F,
K,O){r.has(F,O)?F[O].push(K):F[O]=[K]});e(function(F,K,O){F[O]=K});e(function(F,K,O){r.has(F,O)?F[O]++:F[O]=1});r.toArray=function(F){return F?r.isArray(F)?G.call(F):c(F)?r.map(F,r.identity):r.values(F):[]};r.size=function(F){return null==F?0:c(F)?F.length:r.keys(F).length};r.first=r.head=function(F,K,O){return null==F?void 0:null==K||O?F[0]:r.initial(F,F.length-K)};r.initial=function(F,K,O){return G.call(F,0,Math.max(0,F.length-(null==K||O?1:K)))};r.last=function(F,K,O){return null==F?void 0:null==
K||O?F[F.length-1]:r.rest(F,Math.max(0,F.length-K))};r.rest=function(F,K,O){return G.call(F,null==K||O?1:K)};r.compact=function(F){return r.filter(F,r.identity)};r.flatten=function(F,K){return g(F,K,!1)};r.without=function(F){return r.difference(F,G.call(arguments,1))};r.uniq=r.unique=function(F,K,O,T){r.isBoolean(K)||(T=O,O=K,K=!1);null!=O&&(O=q(O,T));T=[];for(var J=[],L=0,X=W(F);X>L;L++){var aa=F[L],ba=O?O(aa,L,F):aa;K?(L&&J===ba||T.push(aa),J=ba):O?r.contains(J,ba)||(J.push(ba),T.push(aa)):r.contains(T,
aa)||T.push(aa)}return T};r.union=function(){return r.uniq(g(arguments,!0,!0))};r.intersection=function(F){for(var K=[],O=arguments.length,T=0,J=W(F);J>T;T++){var L=F[T];if(!r.contains(K,L)){for(var X=1;O>X&&r.contains(arguments[X],L);X++);X===O&&K.push(L)}}return K};r.difference=function(F){var K=g(arguments,!0,!0,1);return r.filter(F,function(O){return!r.contains(K,O)})};r.zip=function(){return r.KZa(arguments)};r.KZa=function(F){for(var K=F&&r.max(F,W).length||0,O=Array(K),T=0;K>T;T++)O[T]=r.pluck(F,
T);return O};r.object=function(F,K){for(var O={},T=0,J=W(F);J>T;T++)K?O[F[T]]=K[T]:O[F[T][0]]=F[T][1];return O};r.findIndex=v(1);r.MTa=v(-1);r.sortedIndex=function(F,K,O,T){O=q(O,T,1);K=O(K);T=0;for(var J=W(F);J>T;){var L=Math.floor((T+J)/2);O(F[L])<K?T=L+1:J=L}return T};r.indexOf=w(1,r.findIndex,r.sortedIndex);r.lastIndexOf=w(-1,r.MTa);r.range=function(F,K,O){null==K&&(K=F||0,F=0);O=O||1;K=Math.max(Math.ceil((K-F)/O),0);for(var T=Array(K),J=0;K>J;J++,F+=O)T[J]=F;return T};r.bind=function(F,K){function O(){return b(F,
O,K,this,T.concat(G.call(arguments)))}if(S&&F.bind===S)return S.apply(F,G.call(arguments,1));if(!r.isFunction(F))throw new TypeError("Bind must be called on a function");var T=G.call(arguments,2);return O};r.uca=function(F){function K(){for(var T=0,J=O.length,L=Array(J),X=0;J>X;X++)L[X]=O[X]===r?arguments[T++]:O[X];for(;T<arguments.length;)L.push(arguments[T++]);return b(F,K,this,this,L)}var O=G.call(arguments,1);return K};r.bindAll=function(F){var K,O=arguments.length;if(1>=O)throw Error("bindAll must be passed function names");
for(K=1;O>K;K++){var T=arguments[K];F[T]=r.bind(F[T],F)}return F};r.memoize=function(F,K){function O(T){var J=O.cache,L=""+(K?K.apply(this,arguments):T);return r.has(J,L)||(J[L]=F.apply(this,arguments)),J[L]}return O.cache={},O};r.delay=function(F,K){var O=G.call(arguments,2);return setTimeout(function(){return F.apply(null,O)},K)};r.defer=r.uca(r.delay,r,1);r.throttle=function(F,K,O){function T(){ba=!1===O.QVa?0:r.now();aa=null;X=F.apply(J,L);aa||(J=L=null)}var J,L,X,aa=null,ba=0;O||(O={});return function(){var da=
r.now();ba||!1!==O.QVa||(ba=da);var ea=K-(da-ba);return J=this,L=arguments,0>=ea||ea>K?(aa&&(clearTimeout(aa),aa=null),ba=da,X=F.apply(J,L),aa||(J=L=null)):aa||!1===O.w0a||(aa=setTimeout(T,ea)),X}};r.debounce=function(F,K,O){function T(){var da=r.now()-aa;K>da&&0<=da?J=setTimeout(T,K-da):(J=null,O||(ba=F.apply(X,L),J||(X=L=null)))}var J,L,X,aa,ba;return function(){X=this;L=arguments;aa=r.now();var da=O&&!J;return J||(J=setTimeout(T,K)),da&&(ba=F.apply(X,L),X=L=null),ba}};r.wrap=function(F,K){return r.uca(K,
F)};r.negate=function(F){return function(){return!F.apply(this,arguments)}};r.compose=function(){var F=arguments,K=F.length-1;return function(){for(var O=K,T=F[K].apply(this,arguments);O--;)T=F[O].call(this,T);return T}};r.after=function(F,K){return function(){return 1>--F?K.apply(this,arguments):void 0}};r.before=function(F,K){var O;return function(){return 0<--F&&(O=K.apply(this,arguments)),1>=F&&(K=null),O}};r.once=r.uca(r.before,2);var I=!{toString:null}.propertyIsEnumerable("toString"),P="valueOf isPrototypeOf toString propertyIsEnumerable hasOwnProperty toLocaleString".split(" ");
r.keys=function(F){if(!r.lI(F))return[];if(R)return R(F);var K=[],O;for(O in F)r.has(F,O)&&K.push(O);return I&&x(F,K),K};r.Iaa=function(F){if(!r.lI(F))return[];var K=[],O;for(O in F)K.push(O);return I&&x(F,K),K};r.values=function(F){for(var K=r.keys(F),O=K.length,T=Array(O),J=0;O>J;J++)T[J]=F[K[J]];return T};r.invert=function(F){for(var K={},O=r.keys(F),T=0,J=O.length;J>T;T++)K[F[O[T]]]=O[T];return K};r.functions=r.methods=function(F){var K=[],O;for(O in F)r.isFunction(F[O])&&K.push(O);return K.sort()};
r.extend=p(r.Iaa);r.lua=r.assign=p(r.keys);r.LTa=function(F,K,O){K=q(K,O);var T;O=r.keys(F);for(var J=0,L=O.length;L>J;J++)if(T=O[J],K(F[T],T,F))return T};r.qZ=function(F,K,O){var T,J,L={},X=F;if(null==X)return L;r.isFunction(K)?(J=r.Iaa(X),T=n(K,O)):(J=g(arguments,!1,!1,1),T=function(ia,fa,ha){return fa in ha},X=Object(X));for(var aa=0,ba=J.length;ba>aa;aa++){var da=J[aa],ea=X[da];T(ea,da,X)&&(L[da]=ea)}return L};r.defaults=p(r.Iaa,!0);r.create=function(F,K){F=l(F);return K&&r.lua(F,K),F};r.clone=
function(F){return r.lI(F)?r.isArray(F)?F.slice():r.extend({},F):F};r.tap=function(F,K){return K(F),F};r.CVa=function(F,K){var O=r.keys(K),T=O.length;if(null==F)return!T;F=Object(F);for(var J=0;T>J;J++){var L=O[J];if(K[L]!==F[L]||!(L in F))return!1}return!0};r.isEqual=function(F,K){return k(F,K)};r.isEmpty=function(F){return null==F?!0:c(F)&&(r.isArray(F)||r.isString(F)||r.isArguments(F))?0===F.length:0===r.keys(F).length};r.isElement=function(F){return!(!F||1!==F.nodeType)};r.isArray=H||function(F){return"[object Array]"===
D.call(F)};r.lI=function(F){var K=typeof F;return"function"===K||"object"===K&&!!F};r.each("Arguments Function String Number Date RegExp Error".split(" "),function(F){r["is"+F]=function(K){return D.call(K)==="[object "+F+"]"}});r.isArguments(arguments)||(r.isArguments=function(F){return r.has(F,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(r.isFunction=function(F){return"function"==typeof F||!1});r.isFinite=function(F){return isFinite(F)&&!isNaN(parseFloat(F))};r.isNaN=function(F){return r.isNumber(F)&&
F!==+F};r.isBoolean=function(F){return!0===F||!1===F||"[object Boolean]"===D.call(F)};r.isNull=function(F){return null===F};r.isUndefined=function(F){return void 0===F};r.has=function(F,K){return null!=F&&E.call(F,K)};r.noConflict=function(){return y._=A,this};r.identity=function(F){return F};r.constant=function(F){return function(){return F}};r.noop=function(){};r.Vxa=f;r.TVa=r.matches=function(F){return F=r.lua({},F),function(K){return r.CVa(K,F)}};r.times=function(F,K,O){var T=Array(Math.max(0,
F));K=n(K,O,1);for(O=0;F>O;O++)T[O]=K(O);return T};r.random=function(F,K){return null==K&&(K=F,F=0),F+Math.floor(Math.random()*(K-F+1))};r.now=Date.now||function(){return(new Date).getTime()};H={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};var U=r.invert(H);r.escape=m(H);r.unescape=m(U);r.result=function(F,K,O){K=null==F?void 0:F[K];return void 0===K&&(K=O),r.isFunction(K)?K.call(F):K};var N=0;r.uniqueId=function(F){var K=++N+"";return F?F+K:K};r.CZa={evaluate:/<%([\s\S]+?)%>/g,
tVa:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var V=/(.)^/,Y={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},ca=/\\|'|\r|\n|\u2028|\u2029/g;r.template=function(F,K,O){function T(aa){return X.call(this,aa,r)}!K&&O&&(K=O);K=r.defaults({},K,r.CZa);var J=0,L="__p+='";F.replace(RegExp([(K.escape||V).source,(K.tVa||V).source,(K.evaluate||V).source].join("|")+"|$","g"),function(aa,ba,da,ea,ia){return L+=F.slice(J,ia).replace(ca,h),J=ia+aa.length,ba?L+="'+\n((__t=("+ba+"))==null?'':_.escape(__t))+\n'":
da?L+="'+\n((__t=("+da+"))==null?'':__t)+\n'":ea&&(L+="';\n"+ea+"\n__p+='"),aa});L+="';\n";K.aAa||(L="with(obj||{}){\n"+L+"}\n");L="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+L+"return __p;\n";try{var X=new Function(K.aAa||"obj","_",L)}catch(aa){throw aa.source=L,aa;}return T.source="function("+(K.aAa||"obj")+"){\n"+L+"}",T};r.chain=function(F){F=r(F);return F.AEa=!0,F};r.mixin=function(F){r.each(r.functions(F),function(K){var O=r[K]=F[K];r.prototype[K]=
function(){var T=[this.WC];return C.apply(T,arguments),d(this,O.apply(r,T))}})};r.mixin(r);r.each("pop push reverse shift sort splice unshift".split(" "),function(F){var K=B[F];r.prototype[F]=function(){var O=this.WC;return K.apply(O,arguments),"shift"!==F&&"splice"!==F||0!==O.length||delete O[0],d(this,O)}});r.each(["concat","join","slice"],function(F){var K=B[F];r.prototype[F]=function(){return d(this,K.apply(this.WC,arguments))}});r.prototype.value=function(){return this.WC};r.prototype.valueOf=
r.prototype.toJSON=r.prototype.value;r.prototype.toString=function(){return""+this.WC};"function"==typeof define&&define.$_a&&define("oM",[],function(){return r})}).call(this)}).call(a)})();define("underscore-min",function(){});define("ed",["require","underscore-min"],function(a){a("underscore-min");return window.TDV._.noConflict()});
define("ox",["require","exports"],function(){return{G:function(a){return a+"_change"},Be:"default",vb:"mouseDown",hc:"mouseMove",Zb:"mouseUp",Xq:"mouseWheel",pa:"click",Zl:"doubleClick",Tc:"rollOver",ac:"rollOut",eA:"mouseEnter",Ro:"mouseLeave",$l:"pointerOver",n_a:"pointerOut",B0:"pointerDown",C0:"pointerUp",Oj:"pointerClick",tw:"gestureStart",j0:"gestureChange",eE:"gestureEnd",SAa:"gestureRotate",fE:"gestureScale",sc:"progress",aE:"close",OPEN:"open",sn:"select",ic:"resize",qQ:"changing",ta:"change",
le:"stateChange",Pk:"cueChange",bJ:"preloaded",Z:"loaded",Gc:"loadingError",tn:"start",Ff:"stop",Bw:"play",nE:"pause",Zz:"frame",Sc:"ready",Qq:"begin",sb:"end",a_a:"cancel",Pj:"press",am:"release",br:"repeatEnd",Vo:"scroll",Pea:"movementChange",$Za:"beforeShow",mAa:"beforeHide",INIT:"init",hd:"show",sd:"hide",dJ:"showEnd",XI:"hideEnd",aBa:"loadingScript",DBa:"processingScript",dE:"enableCookies",iAa:"applicationSet",pE:"userInteraction",Pfa:"userInteractionStart",Ofa:"userInteractionEnd",P0:"transitionEnd",
RBa:"toolTipShow",Dfa:"toolTipHide",qt:"positionSet",vfa:"sizeSet"}});define("cw",["require","exports"],function(){return function(){return function(a,d){void 0===d&&(d=void 0);this.name=a;this.data=d;this.source=void 0}}()});
define("bo",["require"],function(){return[123,34,70,97,100,101,73,110,69,102,102,101,99,116,34,58,32,256,112,114,111,112,101,114,116,105,101,115,270,272,125,44,32,34,112,97,114,101,110,269,271,34,264,266,268,34,286,288,80,104,111,116,111,65,108,98,117,109,80,108,97,121,76,105,115,116,73,116,101,109,284,273,275,277,279,281,283,271,256,109,101,100,105,97,326,34,116,121,277,284,34,304,306,308,310,312,301,287,289,315,121,278,340,342,344,296,347,307,309,311,313,355,357,125,302,289,291,293,295,303,355,
318,320,322,324,352,375,97,110,101,77,111,260,108,51,68,79,98,106,267,374,327,276,278,280,282,340,293,99,387,105,110,103,340,260,102,97,117,108,374,34,115,114,103,98,34,353,359,101,345,293,312,91,108,406,101,291,287,417,419,93,381,34,260,112,116,104,84,282,396,438,101,411,413,374,116,114,117,101,422,343,424,296,98,111,111,108,437,104,101,105,103,104,445,423,345,110,312,98,368,353,119,105,100,441,358,456,471,473,475,288,117,112,90,481,360,288,472,109,474,114,437,487,88,490,457,492,484,496,370,487,
89,500,483,494,485,34,97,116,116,97,99,442,111,80,372,294,409,447,412,414,284,411,108,115,454,288,470,458,460,462,370,110,111,114,109,97,108,499,333,341,482,296,493,495,437,538,540,542,507,545,533,502,510,504,353,552,541,108,489,556,547,558,550,370,115,478,501,256,410,525,415,102,275,522,455,491,34,426,109,91,100,111,117,98,108,531,578,111,294,287,98,516,107,436,369,353,290,292,522,296,69,120,323,114,110,542,386,388,390,392,394,300,370,81,117,259,72,306,115,112,306,520,552,97,541,79,118,278,355,77,
97,112,340,274,398,330,401,333,370,603,373,345,620,622,624,626,116,628,539,630,97,632,634,316,73,541,103,101,66,97,530,437,86,572,111,51,54,48,82,282,588,114,99,573,289,328,399,331,340,115,589,280,116,591,115,85,82,76,508,296,320,114,406,408,353,319,85,114,462,271,451,453,370,591,633,529,695,288,291,114,316,91,669,260,671,673,675,115,677,679,76,101,711,600,353,103,97,406,523,448,526,271,49,581,501,34,549,511,104,666,65,117,337,111,735,576,284,707,531,546,582,459,461,301,645,521,415,719,101,721,674,
676,117,678,101,727,711,437,314,316,597,99,107,665,496,545,640,329,400,332,272,34,597,114,665,778,103,275,117,110,100,67,461,539,68,105,292,268,105,594,713,583,493,91,305,698,122,594,515,108,287,633,330,99,542,730,288,320,101,112,83,745,587,119,807,758,536,353,530,591,268,336,83,323,826,828,111,830,566,757,535,437,112,355,464,259,791,107,793,588,796,798,108,539,82,513,805,786,256,557,512,114,716,121,91,743,114,822,416,101,836,323,100,839,825,87,478,480,845,741,539,871,503,287,329,679,294,874,789,
66,539,260,114,861,337,117,864,756,741,872,848,850,431,879,842,119,83,274,909,807,906,570,840,896,114,898,900,105,902,916,503,437,824,112,853,855,795,797,799,114,801,803,280,806,885,425,809,811,105,813,294,542,817,683,820,108,874,835,395,838,840,827,259,843,79,290,99,105,342,926,559,928,876,955,879,919,897,278,83,945,680,866,917,834,969,837,971,825,958,829,623,812,814,542,727,407,884,787,978,927,570,981,878,880,930,598,932,857,935,861,939,903,866,715,717,872,874,100,769,862,940,994,567,742,996,602,
908,259,985,960,962,964,121,966,569,834,957,911,913,292,259,1030,511,929,1025,119,86,950,990,293,103,993,865,1019,979,823,840,961,516,1028,1038,560,288,849,316,851,100,920,922,259,924,1008,1050,1021,1059,1023,910,959,119,858,539,807,404,859,1058,875,877,956,984,911,66,108,769,923,925,941,548,1070,788,291,1064,278,1076,781,1018,582,1079,1077,645,1072,1041,1043,819,1045,992,104,1057,968,1083,983,930,973,114,1099,1078,935,928,1033,1074,987,945,989,108,991,1047,1112,1092,568,511,789,1054,963,965,1133,
1020,967,1105,1061,909,1041,1126,946,815,1130,1048,904,509,1031,1052,881,883,1132,1101,886,114,888,559,890,278,892,116,874,1060,121,1062,1097,1119,1122,1140,1103,1081,1169,1062,882,479,1158,1049,582,887,872,1164,770,893,437,895,1118,975,122,977,1069,1142,353,895,253,1002,794,1004,1080,1006,863,807,1010,870,1012,907,1144,852,1192,976,1113,997,1115,1E3,1215,1032,1085,1074,1120,1175,1122,1216,970,1E3,931,1201,934,1080,807,887,1207,91,1176,93,287,1237,1190,1096,1200,856,1231,1077,1140,1234,868,717,1237,
1239,935,953,919,1243,933,1223,1159,345,1248,869,1236,1253,1252,1080,1168,1106,911,831,847,1143,1170,909,72,465,467,469,1019,1185,889,32,891,373,1254,825,1229,1244,1099,1204,111,1068,582,1235,1209,918,825,1275,466,468,1233,1161,1186,1282,1165,1284,1114,1227,972,921,278,1090,1292,905,1094,954,982,1228,1256,1202,800,802,395,805,110,807,584,810,539,1127,947,816,32,818,280,951,1285,841,1074,1087,1089,1066,1091,1259,1093,1197,1155,1338,829,1137,1056,1140,1051,1082,1308,1221,829,1035,915,1352,1094,1178,
909,1350,1139,1344,1134,1177,1268,1339,1088,899,1342,1313,1153,1039,998,1084,112,1298,1277,1301,1162,495,1187,1166,1267,1211,1063,1319,1245,936,1322,804,1017,1183,741,1327,944,1148,948,1333,1044,952,1123,1286,1118,1258,1396,345,1176,1405,1117,1310,114,1193,1195,582,1353,1316,999,1124,829,1408,1152,296,1411,1272,1171,1390,1424,866,1261,1250,1264,32,1240,1296,112,1374,1345,1154,1354,1317,1422,843,1108,1335,1110,1131,1219,1059,1291,964,1324,1451,1443,1421,825,1364,1029,1360,1142,761,604,415,85,73,798,
109,626,384,522,370,764,766,723,725,771,728,876,639,682,642,864,1464,647,296,1475,1477,769,726,1480,833,382,317,319,321,323,325,545,1480,294,903,320,276,340,319,68,447,278,292,100,753,452,101,918,291,445,1508,1510,868,336,1514,708,1198,101,103,734,545,1520,266,1522,1513,706,1515,370,293,1534,787,1531,1511,1523,1535,708,1486,605,288,665,530,616,395,421,1059,1483,785,340,335,337,339,1140,77,336,338,1123,513,1417,1397,809,1505,112,277,100,433,515,330,407,890,355,699,1574,276,112,699,874,315,474,705,
1366,416,451,699,760,370,913,464,292,613,876,615,393,1552,782,1555,684,545,1411,545,575,449,345,35,265,1613,102,1553,1425,288,1427,353,716,901,903,1609,737,32,53,740,1375,1081,541,120,1312,1456,439,441,443,320,751,1610,1544,755,866,832,437,109,406,1633,1462,569,1546,415,607,609,611,108,1598,389,391,1601,618,353,661,97,663,775,384,1657,1600,617,445,783,683,643,1540,662,1567,345,1663,663,1490,770,437,403,405,407,1639,1625,416,418,420,1628,296,1327,429,384,432,32,434,98,600,1651,345,1666,385,387,1599,
1659,1670,437,649,100,623,116,625,627,383,655,631,818,355,1482,641,1556,644,602,762,345,1713,1715,653,1717,716,1719,659,1029,619,621,1712,651,1716,629,1734,704,660,1676,1549,680,1502,1714,340,104,572,1507,115,1509,1532,1512,1524,1516,834,305,844,1540,1755,1521,1758,1641,601,1059,1727,296,1747,1551,300,602,1604,1674,256,276,1055,1365,574,524,1640,32,739,532,1196,1442,337,320,383,679,1456,105,1676,807,1679,101,1681,1794,1272,777,107,80,1453,939,110,1440,714,1249,870,1711,654,1733,657,1720,316,775,121,
1804,1806,571,1808,874,1334,105,679,1810,867,1262,1815,656,1806,406,1167,1593,353,84,104,473,611,105,1129,1497,402,633,1503,340,517,383,663,1754,1756,1542,1539,754,1769,371,1465,345,1467,1469,1471,647,1776,1723,1605,787,275,108,108,658,114,379,313,259,337,407,84,1506,1649,511,964,324,76,97,1587,70,814,87,1276,1300,1140,1327,459,108,1573,32,1897,898,287,429,1277,278,287,49,48,48,287,50,1909,287,51,1913,32,52,1916,53,1916,673,1910,32,55,1916,56,1916,57,1916,562,821,437,1885,1877,100,1879,103,1881,638,
1883,1081,1420,336,1876,1287,1257,1005,1016,1830,1294,503,874,1871,1873,818,1876,1887,1587,443,608,1041,1460,1795,1499,1958,876,1960,116,1107,1403,1150,1182,1617,1141,1442,1954,1874,1945,1118,727,102,116,1648,1589,1353,1977,1956,1499,1172,896,514,111,109,82,1299,1983,1373,1456,355,588,1278,582,1327,1827,951,287,1399,1128,874,1934,1172,1995,1277,1431,1019,1619,823,1377,100,1979,1414,1991,307,1994,1996,1984,1409,1441,511,1987,278,1957,1888,1967,101,1961,911,2015,1102,1225,980,1115,1876,1840,1842,733,
108,1962,1027,1782,1974,1419,2019,2021,898,1939,2027,2052,1315,2054,1989,1118,2013,468,2039,741,2017,34,2031,1875,2062,1414,2064,1969,1214,1941,1933,1499,1041,1270,759,370,2070,1945,1430,1174,1589,1433,870,1251,1436,1253,437,2084,2072,2056,276,1416,1964,1886,2034,108,1968,2049,1781,1461,1985,1094,1934,520,1936,699,2074,1456,1943,2020,1499,2045,494,1843,2048,911,1447,1828,1449,1151,995,1346,2069,461,1955,2032,2096,278,1939,1981,1997,1622,2115,2061,2101,1959,2036,1969,911,1963,2077,2083,2131,1978,2134,
114,2137,2066,1410,2041,2018,2043,1499,2111,1937,2137,2100,109,1172,1939,2099,2148,701,1989,2086,1232,1247,1161,1235,2091,1437,2170,324,1990,306,2024,2155,1426,2157,1457,1944,2152,71,2057,2026,1998,2169,288,2011,1980,447,116,2184,1618,2186,1934,2119,98,2121,636,120,1380,1894,2108,2129,115,99,1954,780,2147,2210,1442,2212,2214,291,1180,2127,1789,1376,2159,324,2161,699,2023,1993,2164,2181,1992,109,2168,2217,2225,970,2085,792,1230,1099,937,1323,1395,1974,1398,1329,1400,1332,2005,1932,1272,377,2002,741,
1820,2255,2078,324,2203,2121,2208,2256,1629,2260,109,2262,2047,1146,2249,1128,1972,1456,2095,2180,2196,1982,2236,2028,1367,2267,2012,1996,2280,2059,2211,2141,2165,2063,2285,2076,2237,1081,2110,1878,121,2229,2182,2231,2193,2187,2117,2261,1841,2120,2047,1172,2199,34,2068,2195,2073,2191,2139,2301,2116,2055,1098,2087,2281,2310,2201,1965,2102,2104,911,1147,2273,1046,2223,1418,2060,2226,2268,2305,2204,2270,1034,914,1037,2301,2276,2290,1414,2286,2128,2218,2289,1946,796,2216,2321,1353,2312,898,2230,1994,
2192,2294,2267,1966,108,1823,1454,2246,866,1694,2197,287,307,112,287,698,1277,596,2299,109,953,2289,2269,1844,2271,988,1331,2274,2316,2289,2352,2287,2348,2334,2233,2183,2320,1974,2311,2189,276,2309,2068,2343,2381,2122,1074,2081,1494,34,1934,2124,951,309,466,1325,1895,809,459,2234,287,1646,1936,591,2370,276,1953,2150,1988,2277,2022,2377,2346,2224,1942,2213,2131,780,2328,1331,636,418,1529,2360,370,2202,2336,2121,2080,1140,1644,2443,2171,2241,1244,2389,2347,2238,982,2033,1889,814,2431,1184,1302,1281,
571,1194,436,701,115,2236,1858,1620,2426,2133,2304,2046,1844,2454,2432,2094,2473,2071,2142,2035,2037,1125,2272,2385,2330,1973,2455,1081,1752,260,83,2434,1872,66,117,1992,1809,2406,2283,1118,2136,2197,2058,2491,2361,2102,70,795,1394,2414,1589,42,2267,2403,1172,2461,1314,2288,2334,2403,2478,2332,2129,1934,2362,2326,1222,2395,866,2401,2481,2458,876,1890,294,2400,2186,2252,108,2412,103,2514,2321,1896,2377,2419,478,100,2422,32,2371,2379,2392,2504,276,2137,2507,2479,2450,2428,898,2540,1232,2563,109,2362,
2437,815,2544,2546,2247,809,1166,1906,32,591,1982,2373,1996,2010,2118,2445,2307,2063,2359,2353,2109,2324,1587,71,637,2115,2496,108,780,669,571,590,1677,1693,809,2070,287,542,119,316,115,2425,1872,2151,2564,2319,2173,1589,2534,2613,2427,2165,2172,860,1949,1206,1812,1383,278,2612,2132,2482,2569,2510,1891,1893,2265,2604,427,1901,2376,1898,2578,1904,468,2578,1908,1923,1912,1923,1915,1923,1918,1923,1920,1923,1922,287,1925,1923,1927,1923,1929,1923,1931,1404,2149,2620,2474,2622,2452,1947,1080,2244,2513,
1326,943,2487,815,949,1109,2666,2179,2344,2356,2377,2074,2561,2526,1976,2535,1499,2525,2521,1442,2528,2634,294,839,121,591,2676,427,964,542,1828,287,2665,2584,2475,2306,2382,2146,2050,2107,2590,2129,2343,2228,407,2357,2164,2524,2714,2722,2586,1844,2222,2490,2562,2042,2239,2585,2476,2404,1423,2532,2016,2186,2343,2012,2589,2390,2456,878,1876,2719,1938,1882,2442,2731,2457,2592,2537,814,2566,1104,1198,2499,307,110,2495,1954,85,1940,2088,2175,2627,887,1747,2498,2500,287,73,404,110,2771,2760,93,1238,32,
2769,666,664,2759,594,2773,2775,2777,594,2779,1307,2752,324,2447,1589,2449,2683,2350,1391,1290,1950,2627,1295,2798,2278,2075,1194,1456,2008,1331,2573,2702,585,2577,114,1903,2369,32,2374,468,953,2597,780,2756,2295,2733,2711,2048,951,1705,260,2813,871,594,592,1844,1332,102,964,95,406,571,260,287,2839,116,95,2001,2843,2836,2847,307,95,477,1181,2845,2840,2853,464,2583,2792,2745,2152,2357,2520,2266,1226,2793,2684,278,2154,2737,2040,2567,2805,1414,2190,1277,2688,2694,2030,2691,2794,1269,2448,1271,2876,
1065,2315,2750,288,2402,2726,2735,843,1340,1372,2890,2716,2391,2732,2615,790,2377,2560,2742,2508,2667,2631,2318,2904,2234,2825,2503,2877,276,2880,2867,2683,2529,2144,1509,404,716,1808,2833,933,634,430,287,111,1720,2930,2579,430,45,441,794,467,2707,2835,894,2785,2761,2597,2114,2174,91,1235,2782,530,2789,110,2787,594,2953,2779,2931,1161,2770,2944,2955,2776,2944,2791,370,732,2765,2900,2882,2668,2632,2747,2163,2342,2883,2633,2143,2485,829,2410,2126,2729,2689,2744,2188,2710,2337,1844,2519,2293,2970,2433,
2220,114,2439,1528,2574,2908,2472,2972,2536,108,2538,1969,342,2701,2415,2703,815,2706,32,2708,2517,2894,1970,2681,2386,2891,2302,3003,2530,829,2897,2918,2029,2826,324,1598,1687,415,2665,1616,2367,809,2665,2370,2894,45,594,108,121,1903,2102,3040,110,3042,2709,2670,854,2242,935,2674,2926,3009,585,2810,2679,1402,2681,3049,2403,1041,2914,2868,2863,2483,2103,2144,2383,1330,1149,2489,2140,2392,2623,1100,2321,2089,1263,1266,1265,539,3062,2894,2308,2873,2067,2739,2977,2166,2399,3088,2156,2875,2892,3091,2558,
112,3026,2282,2909,2614,2870,899,2314,1067,2596,2995,2982,1656,291,2998,2275,2977,2747,2947,3020,2317,2152,2906,2899,2743,1081,2893,2734,1041,1358,2341,3020,3126,2828,2991,2808,2976,3002,2753,3069,2980,2896,1371,3101,1975,2986,2303,3105,3143,1986,2977,3063,2713,2106,2164,2362,3005,2866,296,1280,1163,1698,976,2467,2194,2469,2293,2471,3097,3137,2903,2357,3148,2591,324,2693,2919,3168,2910,2827,2989,2598,1407,3094,2185,3096,3021,3121,2197,3157,3102,2683,2403,2206,2728,3075,2902,3147,3107,1343,2993,2915,
898,3189,3144,1081,2775,323,294,1054,113,453,2502,3066,2987,2978,2754,294,1892,1996,2833,2640,1900,461,1902,2935,1905,2816,1786,1916,2649,1914,1916,2653,287,2655,287,2657,1924,1926,1928,1930,539,563,3049,3155,814,258,1646,3042,807,697,1592,3103,2621,2284,2014,3183,2200,3185,2696,2979,2145,1370,1341,3123,3E3,288,311,2500,2762,2131,2975,2766,2949,2768,2960,2783,2953,2963,2957,2780,2951,2784,2772,32,2774,2956,2965,2556,3196,3092,826,2992,3124,2862,3214,3291,3065,2751,3067,3215,3139,3262,2736,2617,2321,
2619,3178,2988,2446,2327,2678,2983,3195,2869,3245,2698,3007,2603,288,1327,2704,429,99,2941,553,2682,2158,3196,2921,608,2923,655,3055,1589,1327,2928,704,2934,2932,2929,384,1903,2936,2938,588,2940,3013,2942,3295,3146,3117,3219,2387,2523,3016,2885,2796,2887,3328,2869,3151,3263,2898,3108,2301,3260,3216,2198,3257,2322,3259,1499,2571,542,2812,3056,1236,373,2643,2818,2820,1837,3253,2669,3330,116,3332,2925,1455,3377,3337,1695,531,3340,3338,3342,2935,137,384,2937,104,2939,104,2941,384,2630,3104,3316,2807,
3319,34,3159,1384,3161,2466,1616,319,2470,1536,2758,3269,2597,68,843,2999,1279,2767,1262,3282,3278,3285,2788,3288,2959,91,2961,3284,3286,2964,2500,2966,2683,2974,2197,2232,1118,2357,3122,3365,3119,2289,3386,3017,1448,1129,3074,3136,3308,2335,3127,2123,1971,3456,3020,2444,3460,1074,3129,1539,3200,2568,1172,3448,3199,3294,3384,2632,3362,3304,1246,2618,3090,3169,3050,1003,100,3175,3027,3350,2911,3171,2907,2730,3177,3104,2393,1993,3473,17,1830,2354,3179,3310,3363,3172,2717,3098,2916,3100,3198,3499,2333,
3290,1213,3135,2442,1859,1833,541,67,630,278,1560,787,1672,1484,326,1702,296,82,306,1016,1655,3519,335,716,774,305,307,2258,1846,1603,1868,1778,2408,1499,2802,1832,3537,519,376,1497,1876,1701,1726,1861,361,3550,1638,370,798,111,107,331,1806,3323,2715,681,3542,903,769,1588,2321,3251,1686,2468,703,1588,3167,34,663,111,793,637,1752,99,65,1036,1382,1235,3573,103,2780,3590,3553,1770,3555,1548,2783,1774,269,370,1729,652,3517,1817,1735,1799,1722,784,1869,123,3527,288,3602,1741,1718,3605,1744,121,1799,1747,
437,636,112,3539,378,1499,3608,1673,903,1558,1564,1561,2595,1272,357,3633,3624,367,504,3612,346,3557,1498,380,1474,670,67,3211,1501,1848,1750,545,474,3114,1530,1765,1757,1543,2554,3419,3320,796,1854,1766,3659,1858,3641,1773,1660,269,1867,3609,3543,1538,84,1796,3410,1419,1575,116,3676,335,1215,1859,669,101,119,278,3586,431,1557,101,441,387,903,1169,3526,1726,902,573,918,2749,3611,1620,444,1518,3526,3641,1863,1993,1865,580,1554,3568,685,687,964,690,3023,843,3298,1071,776,598,780,80,275,793,282,115,
3487,3190,3723,1821,3725,291,2264,1382,1303,1283,1189,570,3717,689,282,3064,3370,2068,451,383,1824,1324,3030,3377,2602,796,1580,32,411,260,2848,2499,95,3760,101,2841,110,1826,114,2594,1194,1835,294,278,72,572,3682,3678,1361,3728,292,115,115,2799,3732,3204,437,1791,461,633,84,716,1809,2365,110,68,1015,3334,3470,1867,3729,3783,3134,3779,2129,3268,2760,723,3680,3588,3275,3435,3277,2962,3431,3287,3440,3281,3276,2952,3815,3438,3280,848,3781,3730,780,2799,2309,3080,2177,2093,3743,98,688,690,2721,2948,3740,
1305,3742,1022,3724,778,780,318,633,68,716,103,2998,408,2886,2082,3843,3735,3845,291,3529,2972,801,625,1721,3854,2407,3756,1937,3792,3751,3795,3797,3389,2366,3493,354,3844,779,1242,2671,1320,3078,1974,3831,1435,2178,1618,291,100,459,3888,3773,609,3722,788,2944,1820,520,3700,3811,3428,3820,3283,2760,3279,3433,2781,3902,3430,3823,3288,1210,3857,3878,114,1275,1024,1086,3142,3492,2985,1368,3877,2436,909,3829,3370,3884,3082,2092,1266,437,118,114,3892,974,998,1324,1424,1624,415,1612,102,54,1922,3034,2738,
3185,1169,1804,3846,3444,3839,1281,3741,3383,3856,3950,291,3727,3581,3782,3784,3077,3054,3390,3335,2677,2384,3059,2542,2943,2500,1881,3851,591,83,3744,690,3900,717,3429,3822,3432,3818,3434,3436,3904,3816,3439,2778,953,769,411,679,675,1335,3976,3937,594,3939,1784,1688,3942,1614,3946,2874,2757,3734,3958,3934,3826,3803,3513,3805,2218,3978,282,3804,1456,3807,594,1820,3980,870,3982,3437,3984,3991,3986,3814,4027,3817,3991,928,3993,516,1800,3693,1828,591,2389,3940,284,48,46,54,1692,3733,416,4017,3784,3182,
3305,2396,2186,686,3835,3718,282,1968,3388,3531,2927,796,3341,3394,2933,3397,3393,3400,3402,3404,101,1387,3913,3828,3964,1393,3799,2575,427,3058,1401,3971,1190,2944,839,3703,3883,3427,3981,3908,3983,4033,2790,3819,3813,3821,4032,3990,4096,3912,4010,3916,1073,829,3212,3957,3736,3915,1145,2038,3748,2186,1791,1169,1881,461,280,112,262,3977,114,3994,101,83,3999,2574,4043,1641,4048,788,3359,3876,4076,1096,2588,3265,3875,4057,3836,282,3443,1982,1456,3949,4110,3118,3079,2463,3160,3955,3992,4058,3745,2469,
3357,2321,2797,3714,3802,115,3738,3953,4152,3841,3956,4009,4110,3960,4162,3926,1203,2625,1140,1951,559,4154,4142,115,69,611,2602,3469,446,736,450,1515,4132,4160,34,3933,3935,1173,4054,4130,288,4004,1613,4006,3089,3185,686,4124,4037,3996,4040,4126,4128,4042,4002,374,1787,3475,3801,3962,3272,4150,2628,3227,4153,4103,4110,3838,3273,3840,1188,4168,3567,4172,3879,3051,1288,1948,1007,2626,1262,2804,288,4193,111,1836,278,3862,515,110,1794,1608,4212,284,50,4132,1419,4051,2747,4225,3800,3320,608,278,1655,
1820,4010,228,807,4263,4110,4223,3858,4111,1212,2073,3920,2881,3922,4136,4270,100,3194,4165,3413,4222,1803,4110,4105,3786,4254,4155,3719,3070,3918,3264,3449,4258,4230,3962,3087,4054,2533,2541,3934,4242,3774,114,1874,4001,4187,1611,1909,55,516,99,4201,3095,4008,4295,3827,4138,4293,4215,4169,4269,3785,2724,2301,2144,4261,542,4171,4296,291,4265,4012,3963,4275,4104,4112,2486,3969,3313,2301,820,921,3890,921,4194,4245,1793,4015,511,640,4231,4304,4324,3020,4147,4322,4014,1456,4241,4243,1415,4128,3778,3031,
284,49,3230,1788,3921,437,2839,114,320,3869,3794,1808,3872,4063,2316,4255,2297,1880,4089,3266,4316,3803,3077,2801,4237,1011,1952,4268,3914,4329,4317,4272,4139,4370,4283,4269,4279,4226,3954,4167,4075,4010,4286,1315,4051,3071,2250,3019,4294,4141,4059,115,2594,2969,4320,341,588,517,1874,3690,97,2495,542,680,4197,4214,4385,3750,1809,315,1808,4375,3752,594,913,101,3659,4294,4342,3889,111,3891,4302,609,4127,877,3938,4114,4203,4051,3720,119,3374,3455,1111,4146,4333,3828,4318,3474,4385,4415,4156,4323,3153,
2301,4351,4330,3880,1391,3965,3874,2003,3968,3072,4084,1403,4179,4416,3005,3247,1844,3566,866,3590,4035,4288,3746,4291,3364,4465,4140,4051,4173,3480,3306,2186,4356,3914,4105,4297,4500,4055,3185,4433,115,4435,1324,4437,3871,3798,3966,4414,4051,4408,2129,4503,3924,852,4078,938,4517,4081,3057,3312,2251,4482,4393,4523,4106,1446,3462,4460,4471,4333,4520,1442,4522,3959,4462,3077,4024,3081,3084,3083,873,4491,4180,3453,2125,4459,1450,4380,4492,115,3111,3376,3967,427,2371,2550,2421,531,2417,2024,3992,4205,
3995,4039,99,591,4306,752,296,4199,265,4313,3184,4315,4116,355,4118,414,105,4121,110,1881,117,517,2762,4441,2501,3865,3825,3961,3827,4232,3485,2243,4079,4527,3035,4082,4530,2680,3454,1168,4333,4149,4090,4220,1385,1306,370,4021,110,3898,667,2948,2950,4093,4100,3280,4030,4099,3988,3910,3818,4533,3737,1274,2636,3739,4404,4228,874,4510,4515,3873,3425,4399,834,4410,3152,1138,4488,4497,4559,4458,4562,2547,809,2580,116,1239,3379,3227,3382,4641,3793,4511,3531,4514,1808,4182,1888,591,4185,1643,4134,4467,4289,
3140,119,4541,4350,355,1804,839,1566,2833,1570,1572,1578,316,3758,290,3700,100,1013,588,2602,67,3323,107,65,2675,4249,4307,296,307,3975,3766,102,413,529,2213,4596,4582,3662,4564,3581,103,591,3764,4710,2219,4596,4073,4483,4156,3352,1381,4558,4180,3156,3293,1432,4151,3413,2465,4074,4599,4231,4474,3830,4091,2090,3885,3833,4216,4601,2904,1414,3894,4543,4277,3128,2340,4673,4652,4180,4456,3111,4413,4420,4472,4317,2234,4638,4166,4640,437,4444,4344,100,4194,4450,2245,4591,3677,4461,4600,4387,4748,3202,4732,
4756,4484,2755,4453,4315,4751,4505,4388,4175,1589,4177,495,4406,4284,3925,4358,4471,4682,4796,3917,1074,4680,4335,4170,4462,4053,4507,4299,4454,4559,1939,4765,4281,4405,4552,4784,3217,4637,3755,3223,2641,3224,2644,609,1907,3229,1916,2651,287,3233,1626,1921,1916,2659,287,2661,287,2663,3325,3243,4817,4156,3156,3318,2833,3322,3012,3014,4400,3914,4506,3882,4810,1104,1859,3676,4672,1799,1801,1479,773,3541,3673,903,275,1075,856,2637,4049,1079,798,795,4870,3787,1859,646,1547,34,4860,768,770,772,1481,1594,
429,260,79,2499,298,1602,3523,1777,1008,750,3377,4658,2423,2372,2819,1996,2376,2234,3594,1860,1487,288,4891,1661,1548,111,120,1668,1708,4892,256,1749,3696,1807,1324,4127,1519,3657,1856,1759,570,976,4922,3664,3658,1857,1536,3641,1653,4327,1656,1706,1658,3599,1616,3524,1724,787,100,3850,732,2602,88,798,294,1871,115,4577,1785,34,3942,1909,1909,4714,3371,4315,3393,4402,1783,4704,1786,4253,1094,4125,4954,4003,1614,4581,4132,2068,1646,110,4964,4420,3393,4211,4966,4431,3875,4977,4164,3020,4945,1664,4947,
591,89,4950,451,461,4953,2395,4197,4956,1909,265,4959,4975,4115,825,1636,444,4365,4131,4369,741,4191,4989,3851,4671,101,90,4994,4952,4971,3941,4958,48,4974,5011,4314,1081,5014,4991,101,3586,4867,4760,4197,1920,4968,2129,2855,1151,4430,5037,1790,5006,1973,5041,5026,3488,370,4977,1509,440,2984,4274,437,3393,5021,1611,4973,1615,5004,3185,5029,5016,1595,278,1800,2742,5035,5042,744,4820,4944,4250,738,5070,1177,4920,594,3849,4990,5016,5009,3759,542,530,4190,4675,976,5080,5015,2602,5083,528,5086,5047,3267,
4134,4125,4982,4578,32,1923,3475,1859,3614,116,3623,1874,635,2595,4864,3629,3698,3595,4907,34,5106,5108,1818,3619,1746,2783,3622,4938,390,4861,3628,3525,782,5078,110,565,5073,4966,5103,4385,626,4438,110,544,5134,5101,5136,3875,5138,3795,555,5142,1785,5144,4646,3097,515,1808,5133,4965,5143,5076,2480,5154,1324,5148,5157,5150,5159,2149,5161,594,5141,5164,1625,5151,5054,505,704,3250,1591,3574,3164,3576,4926,422,4665,4512,5169,5083,5173,3176,34,710,876,1623,5074,32,91,2780,1974,1235,4914,4861,4884,3327,
416,2830,5083,4984,5152,341,5184,3531,5163,4186,5158,5096,4876,5183,3751,5185,5132,5187,5166,3641,5200,4882,1492,773,4886,572,262,4909,1671,4894,340,593,1500,4563,585,4898,2554,276,2582,2375,3222,4904,760,3554,5116,5231,437,70,4435,3604,5109,1819,4800,778,2364,4080,4942,3610,3411,4354,4294,280,335,1792,1470,1456,121,97,1763,4294,1954,4146,964,517,3684,5247,4879,3669,1709,370,5251,513,5106,5253,5120,3620,5123,3650,373,903,2493,680,1541,1533,5182,823,1762,4930,4925,1768,3668,3598,3670,4941,5233,545,
1780,4650,5206,5166,353,1791,4246,4248,3119,5205,4703,5101,5207,5174,4109,5257,5131,3546,717,5284,1731,1742,3617,355,4266,5325,5139,2010,1797,1140,4881,724,1491,424,370,111,265,530,116,5170,4420,5345,102,5347,5212,4385,2860,4728,3020,4083,2543,1904,4645,1568,427,2815,2817,2581,4901,1277,874,5039,5053,5189,1583,116,5277,2301,2542,4655,4528,91,4569,1993,4566,2552,531,2555,928,2830,3754,5237,91,2839,1872,2857,2847,2842,572,5395,3762,1714,5398,3759,2858,111,2854,1157,5399,2859,2636,4724,437,5270,5272,
4420,5274,2148,1859,1814,1732,656,5254,121,5334,1805,5131,5128,4943,1779,5263,4420,5265,3706,5268,5377,950,3543,1009,2627,3604,3892,4905,4878,415,5281,1552,370,3604,3533,3521,3862,1169,5258,4527,5260,1778,3641,3529,5168,3532,3520,716,5451,5333,5426,370,79,114,98,964,318,5357,397,4865,685,911,1881,591,3793,5317,5171,374,4045,1627,5215,1353,1607,5149,4972,4973,4960,2068,5413,5221,5485,1094,820,320,2795,5481,527,5085,1642,1019,4191,115,911,2058,4197,56,5313,2194,3774,4376,3566,5046,4420,109,1706,5083,
34,2839,120,336,95,2853,1575,663,3671,5215,1327,5522,5524,2853,820,3534,97,2857,5523,100,5525,5405,5527,3693,1168,5276,5045,5194,5188,5048,1761,1339,338,5193,5135,5511,416,911,3623,2286,4197,1918,57,4047,5495,1463,5279,415,5471,1300,370,4347,4247,101,5448,5461,97,386,633,335,1547,5473,5113,1725,5115,4879,5572,3995,3530,1808,542,5449,716,5578,324,647,370,991,115,5284,292,5287,1735,5427,5261,5493,4471,5546,4020,591,516,1752,1686,5320,5165,5565,1442,2602,5611,699,5587,4429,5548,46,52,5222,5567,1703,
5420,1743,1721,3646,720,3604,1847,5292,402,3663,3656,1855,5297,1768,353,99,453,67,745,407,5295,4924,5641,3660,1545,5627,361,5629,339,3672,5583,787,5644,5437,1019,1235,1475,3648,4737,709,460,4419,4197,5094,5503,846,3855,714,2499,276,3864,5488,4188,453,5087,2082,5105,1740,5107,637,5422,5289,4623,4893,3715,545,5378,5361,5520,2420,5385,4960,2548,2418,32,5698,2553,5387,2443,5338,1589,5340,1478,437,5351,5347,5349,4197,5549,4049,5713,3693,5212,5716,5556,5356,2209,5500,271,5717,5216,288,5359,5379,4999,2815,
5700,2576,4661,5366,4659,5368,2821,437,5371,5494,4420,5515,5548,5556,120,5744,4466,5389,5519,5614,1688,5393,462,4132,1327,538,3397,5756,5399,5397,2844,5403,2847,2849,5402,2846,5541,5406,2856,5766,5771,5724,3383,5304,1550,5306,5447,276,487,5602,3618,5604,3543,100,291,107,293,2799,5083,754,5683,2407,4503,5453,594,5327,870,1806,112,5783,5656,5422,5424,5798,3768,1933,5708,2321,5710,5342,3932,319,105,5092,5754,374,5672,5795,5815,720,807,1489,5225,5343,602,5608,4471,5782,112,5621,3115,5459,5156,5415,5589,
5162,5835,3531,5349,4385,5606,3020,859,3561,65,2609,121,1881,3776,260,4364,5819,4251,4958,5556,1792,323,5520,4687,1523,5758,1569,2371,4688,1282,1579,1577,1282,412,530,4694,848,5832,2206,4987,4219,1186,4282,353,5294,69,666,1592,5856,296,3393,4331,5865,427,5890,3227,3210,259,3767,287,5896,5540,2001,5899,1738,3767,5400,1239,589,1828,5898,1436,5908,99,5906,5911,5469,5913,406,5914,5896,279,5910,5920,5767,2499,5903,1518,5905,5902,32,3210,1836,5922,117,5932,5929,5931,294,5928,2499,1585,460,4700,5850,5852,
1753,5888,5652,5673,5012,4675,1762,5885,571,5613,5680,345,5894,5735,5893,430,1697,5900,5933,5897,5936,5904,5918,5929,5644,5916,5910,5970,5909,5969,5912,5939,5739,5923,5964,5921,5966,5927,5968,5925,5930,5934,5938,406,5903,5935,5985,5937,5396,110,5400,874,5294,4378,4080,4430,5858,5616,4350,5877,97,120,4979,4733,4616,5882,5299,843,5999,4527,6001,1916,4420,104,102,2932,1999,5669,4108,5676,2371,5679,4159,1271,1537,3651,5293,572,4182,4185,5296,1767,5948,1517,323,5646,1852,5649,5640,6037,3578,1538,5301,
5651,3578,4575,1828,107,6048,6037,5672,570,5952,5638,1764,6044,3666,4933,5654,303,5805,5120,1616,335,3694,100,1504,2371,5114,4135,6074,4692,5691,3704,5730,5946,285,1761,843,3708,1594,112,1596,1828,3604,70,1733,680,5455,1504,6087,5066,1382,5813,770,287,1475,672,767,5341,770,1285,292,111,5065,292,6098,1676,4861,6101,670,6103,4861,5442,1771,6065,5331,6091,3520,3622,426,1876,5635,1849,545,1977,2499,6054,6062,1525,3494,818,6133,4932,6135,2310,4699,6138,5501,529,1516,5778,101,4940,5658,5129,5660,1752,1898,
604,4390,870,1562,472,3552,5055,2102,5177,698,1686,369,1594,4036,4573,3997,2831,1707,4940,5112,6151,574,1497,4348,5750,3875,5359,5093,5502,5822,370,1635,442,5008,5947,5794,5215,2449,4934,4260,610,612,5125,4915,4910,346,3548,747,749,5786,1485,6064,34,1562,1559,6202,805,3536,348,5592,97,5808,6204,340,4651,5208,5749,2301,813,1993,258,268,4809,2562,6147,4940,3601,5686,5784,355,4425,6128,3652,787,5518,3700,727,97,633,6143,5642,288,6239,530,2764,6244,5084,6145,5049,588,530,3423,119,2574,6036,3659,6056,
3001,1873,6132,5639,3665,6139,1760,6136,3636,6060,6266,5298,6141,6052,6250,6261,6246,6254,101,4182,609,6250,3667,6206,5445,1775,3714,5474,1608,319,4117,535,4120,262,4592,4594,4712,293,5554,5101,6190,1974,4191,541,112,4741,4548,2816,3321,1676,44,4510,5443,44,383,121,3441,486,530,72,383,797,769,724,4854,5504,4134,307,461,3676,4419,4489,5178,408,6166,353,1711,5286,6066,3606,5811,3567,6289,6082,5585,415,6338,6232,6340,3618,5690,5828,288,5467,5469,5107,6197,6214,6217,1530,110,1454,542,5834,5947,5322,5189,
1631,6365,3020,5050,6177,5573,5278,6346,345,4914,6359,5597,6162,6174,5428,5521,2460,4846,3377,4848,3324,3348,3326,1826,1403,5379,4607,585,4565,5703,2551,2553,5382,2378,437,323,3331,267,3333,4606,1019,3336,4065,3396,4067,4066,3343,3399,3345,117,3347,5760,5667,353,6020,294,4486,3249,1140,4490,370,6404,4875,6428,422,4290,1074,4759,3463,5264,6434,3024,3919,4398,5323,5730,4530,6394,6409,4657,2818,5365,5740,4229,6423,116,3218,5472,5380,3221,1901,2643,1996,2646,4828,2650,3232,1919,4834,1923,4836,32,4838,
32,4840,6390,4842,370,6453,3203,3412,2578,4736,3163,2408,3165,3514,3578,6430,3747,4298,3947,4315,6487,4649,1351,3020,6453,3894,6492,4338,4480,4556,2331,5174,3709,1468,3711,2835,1473,353,3599,390,6236,903,859,259,4442,6483,6061,6267,4877,6120,34,3710,1470,6507,5529,6343,5659,256,578,3520,5800,91,6099,679,874,5845,3470,1859,5329,6339,5331,5422,6360,6345,4906,4879,6541,3616,6543,370,262,384,73,2996,6197,6173,5692,6344,256,803,465,633,5499,6303,4134,111,3670,73,4755,582,6432,3887,5498,4158,6564,5684,
6206,4914,6230,353,5119,5603,6382,3610,6229,5780,353,3987,2246,4918,1482,3730,6283,3661,2069,969,5290,6271,4931,6273,6051,778,6276,5502,6520,3596,6522,6505,6524,1472,6526,6094,6591,3783,336,3860,2631,4499,1392,4526,4477,5363,4529,4339,4531,3061,3825,3730,336,4758,4537,4557,4355,3962,6615,2481,4061,6406,4644,4064,898,3393,2931,4068,531,4070,6417,6419,3349,6429,6439,3721,4786,1177,6634,100,2362,6163,3252,353,1586,1481,6427,6334,6627,6614,100,6616,1874,4731,3514,5880,2464,3162,3416,6484,501,3578,2070,
2105,5311,2301,2E3,6264,5391,5359,4610,4555,4641,2922,6638,4379,5391,3392,3339,6644,6415,101,4071,3346,3403,3348,3405,6665,5874,6668,818,3005,6455,5725,6457,4822,3222,2642,3227,4825,6462,2648,4829,6465,2654,6467,2658,3239,2662,3241,6391,2480,2972,3005,4750,6655,6706,2135,6651,119,3025,4273,5373,6732,2481,3496,109,6731,6628,100,4485,630,4487,6658,6165,701,2775,6008,3426,4616,1304,4767,645,6740,2972,3255,468,3203,1353,914,6666,3438,5879,4615,4227,1386,6704,838,6574,4674,5675,681,6745,6733,4780,2135,
2098,4782,5208,2070,4456,4804,6773,1063,3099,6764,1094,6498,986,4530,4760,5137,6760,2910,6753,1157,4814,2578,6011,6778,6666,6780,6747,3248,6219,741,6571,341,6735,6737,6442,5189,2070,4845,2700,3410,3321,3011,6389,4850,1776,6745,4019,3457,1874,6488,6227,4007,1630,5753,5391,5803,5506,2423,4707,4612,6779,2481,4554,951,6797,3875,2070,6762,3369,6489,6834,6728,2631,6563,6776,5796,6799,1874,6630,3018,6437,4761,6655,3472,2197,6497,6735,6788,6476,4785,6852,4202,4315,6679,4494,3504,4542,6859,818,6787,5430,6798,
6843,6761,3099,6744,6767,6801,1181,6803,4221,4816,3476,6618,4389,4176,2803,4392,6759,6885,6800,594,6769,6009,6771,4618,6827,6807,6741,2291,3256,6873,5027,6789,6708,5072,4656,2639,6712,6459,6715,6461,3227,2647,1911,6719,2652,6466,2656,4835,6724,4839,6726,6475,6909,5874,6742,3894,6477,6784,1160,6756,6481,6675,3418,6140,6766,5874,4456,4458,6847,5208,6949,6635,6729,6385,6821,4847,6824,4841,2253,6937,6774,2531,6914,4583,6654,6902,1874,6742,6792,3505,6886,1414,2137,6973,2690,2972,6861,3454,6953,6443,6806,
6705,6911,6976,3188,6942,6818,2481,6670,3410,6479,3227,6945,2468,6947,6268,6384,3317,6959,6387,6961,6474,6963,1554,6970,818,6832,6326,6853,6901,6666,4469,6681,6495,2635,3353,5391,6458,3223,6460,3226,4827,6718,6464,6929,6721,6931,6468,6933,6472,6935,7007,6985,336,6866,2279,6990,5550,7008,6910,6980,6735,6952,6863,6884,6666,6882,4470,6633,7009,278,6896,4791,2321,4793,2629,6789,4853,1121,3948,6865,6912,2065,6653,6854,6831,3311,6624,6983,6739,6745,6730,7068,6650,4678,6436,4538,7053,7044,6855,6877,6738,
7042,7037,6790,2429,2234,6978,2971,7084,6435,6631,6502,6991,6975,2685,2913,7077,6964,6667,6992,6872,6833,6874,6969,7083,6971,2806,3894,6786,7046,6796,7048,6848,6987,7100,2024,7092,2492,6445,5696,3377,6450,5239,4663,7061,7066,3409,4020,2944,71,794,6332,1019,6813,6955,7104,6761,4546,4624,2627,3832,3931,7014,6950,6690,2924,6692,6919,585,6694,3397,3395,6642,3398,6698,6647,6701,6420,3406,818,7016,6494,4294,7140,7056,4236,6898,4238,6900,731,5111,7082,6986,7099,974,7041,4049,6849,6887,7102,7043,5874,6820,
3008,5391,6388,6962,5203,5695,2413,3220,2549,6398,4567,4899,7164,2032,2775,6905,6755,6907,3842,7186,6965,2981,7096,5372,7087,7169,4525,4774,2833,6686,3060,4611,1933,2788,447,539,771,6381,3358,6777,7140,1041,6816,4319,7049,7178,7094,4107,4598,3476,4456,7113,6636,7150,6407,6621,942,427,7155,6413,6412,6697,6699,6418,7162,6649,7103,6024,2130,2972,4753,1036,6569,6984,7183,6988,1982,6888,7234,7111,4749,7185,7088,6780,7239,7270,7263,2097,3292,6671,6864,6745,4411,2329,7081,4294,6453,6425,6811,345,6813,7275,
2616,7107,6915,7148,6629,6735,7266,6956,6617,1390,6870,7103,4456,7231,4496,6785,6741,7143,3273,2176,4744,7147,6262,7268,4781,7278,4385,7114,4678,7304,3510,4521,6655,7259,1359,7177,7298,7070,3467,4754,4461,7054,4353,7052,7168,6655,7301,7208,7141,7235,843,7047,7283,7279,7015,7308,4219,7310,3929,3886,7088,6680,7167,5838,7142,4740,3053,4605,7244,2638,6623,6500,6687,1336,6789,6780,7352,2051,7317,7119,1311,2292,7316,7118,3002,6890,7097,3158,4734,6804,6894,7103,6993,6892,433,6674,6998,3166,6594,7169,7184,
6967,3258,6875,7105,6424,6748,6426,1589,6813,1828,6904,6918,6770,4639,6772,3476,6917,7020,7153,5381,6921,7023,6923,7025,3228,7027,3231,7029,3234,6722,3238,2660,3240,2664,3242,2253,3685,2413,3693,323,4914,1823,116,640,1829,5954,3853,6557,6528,4961,3882,4999,35,5023,5003,5215,2311,110,6553,5508,5623,55,5556,5310,7353,5716,46,51,7454,2499,1311,5068,5194,6367,5048,5223,6197,7433,7435,3730,6659,288,3849,276,6256,2574,6590,1606,5647,1853,6265,6599,5303,6206,6523,3712,6611,5308,1870,6844,6775,6327,7228,
3643,4265,7495,6759,3711,6431,6664,3213,4771,276,2764,6618,7063,4787,7504,3624,4382,2748,7137,6954,7509,7367,7287,7213,7509,4418,7331,6666,5032,6652,7392,7441,4371,3246,7397,7517,1052,6164,6335,6433,4678,4750,7509,7166,7368,3875,715,2896,7223,292,6657,7237,6422,7106,7012,7108,5876,112,7505,4464,7321,4542,7515,7071,6500,7073,7087,6849,7346,4615,7348,4549,3930,3084,6403,7242,6639,3391,6411,7158,7157,2934,6646,3401,6700,5411,645,7557,3503,7086,7182,7307,7356,4174,7171,4792,6899,4178,7569,7079,7211,1999,
7226,3572,7501,5883,7124,7195,4897,6449,5737,6451,1168,7537,7563,4855,1081,6941,7373,2462,6944,7386,3164,6999,7294,7339,4424,868,7524,7292,6968,437,7541,119,6754,6954,6880,7055,7609,6755,7565,873,4550,6842,7345,7587,7624,288,3928,7566,7350,626,7552,1348,6084,7546,1452,7647,4727,6710,4432,6869,6883,5145,6865,4790,7589,7058,7591,4794,7626,7622,119,7520,4539,7280,7492,5674,5796,7582,7210,6862,7343,4385,2968,1456,6453,6709,4875,2548,1898,4823,7024,2645,6925,6463,7418,4831,6930,3236,6932,7423,6725,7425,
6727,7502,5802,2764,7076,7525,3307,1874,7701,1001,7640,7549,7293,602,7674,7623,7710,7625,7078,3303,7341,7116,7677,3875,6477,6386,7190,7005,6826,7651,2764,4144,4875,6765,7509,7703,7641,7526,7619,7366,7671,5950,7228,7713,912,7330,6830,818,7523,4868,7704,2186,6794,3141,4292,7305,6984,7627,7204,5208,7627,7297,7620,7165,7660,1205,7172,4391,7592,7581,7652,7511,4257,7354,2631,7707,7734,7715,7393,3640,6231,1714,652,6581,6351,6342,6612,5584,6546,415,5118,5688,5288,5122,667,3601,84,77,694,6583,3543,7723,7003,
7725,2705,6825,7426,5203,6430,4062,4080,6395,91,7247,6643,6414,7159,7251,6648,6703,6871,7396,6810,6750,7533,532,6735,7080,6632,6438,7319,6441,7232,3875,3206,4907,7598,7532,7527,4819,7409,6711,7685,6713,4824,6924,7026,6927,7028,7692,7030,7694,7032,7696,6934,7698,6936,288,7612,6994,7379,6996,7616,6483,7618,7534,7718,7748,7735,3749,7656,7334,4420,6496,7270,6430,6446,4478,5364,7605,106,902,280,102,3043,2579,3381,2861,7717,7281,2488,7721,4399,6504,1864,6525,774,5656,3892,6544,256,6537,4761,5830,3515,6285,
5305,5282,353,1892,98,6123,3683,545,6069,305,6071,340,292,578,282,1182,6605,5116,7486,7894,6150,6383,3570,7822,6675,5181,6245,5204,1954,4670,4184,7256,795,6514,4278,464,110,5853,260,5362,345,4191,2842,3693,1172,3212,7428,5824,5291,6129,787,6047,7482,5302,6038,5643,5645,7480,6043,6272,7484,6376,296,6208,1564,7925,5261,5731,7125,5956,1426,4661,5959,2814,7605,7128,7886,7960,5662,1293,2627,5665,453,874,5644,1522,294,5855,6371,7461,6182,6145,6184,5643,7578,541,1840,3782,305,1898,2809,7403,4385,517,275,
3518,7270,5743,2316,5154,6822,809,1169,4691,5873,336,1581,1571,336,1826,670,5825,670,5127,4619,591,3757,5955,5726,5102,5556,1014,7571,3020,7194,2545,5697,6399,424,5892,585,6401,5384,5705,2424,5388,4428,5390,8033,5521,2840,5764,8043,5530,3036,2835,5763,3794,5765,5770,5768,8063,5404,5772,441,5408,5405,5776,874,412,6026,316,5793,4189,6191,4134,5847,5670,5194,5821,8079,6777,8008,1993,4426,5518,306,5612,7438,6538,370,65,494,281,3208,99,4575,902,3753,7468,1291,7434,275,7436,5887,7439,6175,5204,4428,5206,
6017,4385,2001,5803,445,4999,4043,8044,586,4212,2607,111,2010,5513,1824,5746,4983,5556,5469,666,6179,5208,590,7753,6300,1785,5625,6003,1081,431,7437,6014,2246,5035,8115,3875,5790,610,876,7451,4966,50,5484,5517,1647,676,1088,6E3,5747,8142,5246,7966,288,7432,8105,7470,3783,7472,346,5656,6214,4127,3210,403,6093,7489,6079,7787,345,5458,3531,5591,5576,8176,453,6374,5447,7896,3643,6127,7798,3630,1563,3522,2321,5634,370,5535,3521,4265,8174,5576,3912,6270,8199,8192,316,368,3641,3625,3644,325,1594,538,119,
6233,8076,8195,685,3680,8146,4129,5194,2649,8149,5208,1570,8225,5083,8228,5728,3679,4685,5947,4135,1592,8122,8017,5871,5863,5875,2443,6362,280,542,4684,5861,8238,8242,700,8058,427,8253,8021,1572,1254,1518,8250,8015,8256,5870,103,8258,8023,1933,8128,7456,5623,8157,4466,277,6516,7457,8156,5626,8166,8173,6542,6067,5597,7839,7785,6545,5443,345,6286,3600,353,6540,6349,8282,1735,6235,8222,7786,8288,296,6548,1816,5422,6235,5571,6373,5588,5459,8186,5536,5594,5580,5232,5693,787,6019,2932,1509,414,8198,5745,
5271,8319,515,5275,5375,104,8324,8321,2908,5457,5839,594,8310,3521,8312,5596,6587,2944,7898,7257,6903,110,692,7797,7399,6664,3575,5176,7931,7401,8344,693,7928,8349,3577,7389,6655,3438,8345,8355,5180,8350,7959,7338,6780,8360,8354,6663,7836,8356,4926,6147,2953,7895,5331,6210,4896,8110,5428,5223,8197,8378,437,4425,7789,112,6543,8298,8287,6521,8387,6550,353,3648,5916,6090,6092,8341,5970,3410,6534,6353,4133,4764,5339,6113,5827,6403,4384,1019,8403,1241,6602,8407,1664,4038,6105,1802,1220,6108,8396,8402,
8408,8419,8404,3382,1798,8425,5711,6476,579,4875,8413,709,3952,5709,8430,5814,7921,4879,8398,6124,5447,3639,6158,117,8194,7955,6031,1850,6142,7957,5651,6056,6585,1709,7970,3543,6661,3571,1974,6428,5418,1738,7910,5574,6350,6027,583,8451,7912,6279,6241,6243,8454,6045,6594,5294,6593,6140,5506,7649,6598,7958,6678,2150,6684,256,6259,6519,7313,6137,8477,6134,7E3,6601,6053,8495,1539,6277,34,6247,6280,4303,8481,6146,6206,8220,1029,8459,3696,5256,5425,5139,6532,5419,8295,3618,5807,5131,874,3700,6321,857,6324,
7735,4191,8012,3020,7927,8370,8240,8363,8357,6140,4585,316,4587,6294,4591,4422,104,4595,6299,7256,293,5016,4185,4197,6302,6857,3932,5436,6532,5440,4448,4641,535,6331,7928,370,5776,1795,4303,516,4669,4183,4672,8077,5682,8085,2407,7833,294,262,609,8567,105,8476,7974,6251,5095,6575,2407,1796,8417,8429,8417,8028,5217,1809,8300,8582,8084,8585,1838,303,3548,8341,8530,4294,8587,7481,8438,8590,8409,8563,8006,7722,429,4121,1676,4458,7398,6028,6777,8036,7152,4420,412,749,8556,6201,748,805,6119,6606,7968,339,
6551,6342,7478,5660,8453,8485,8455,6604,7892,6506,6610,5307,8315,256,7972,7602,5391,7127,7885,5369,497,8364,7835,8534,6483,7930,8365,8112,591,8052,5380,6420,2857,5394,5774,8056,5399,8065,2851,5771,5371,8070,95,8072,8554,2681,7875,6622,7411,5702,5704,5386,8049,6336,288,65,6362,541,2745,8439,1682,8390,6559,825,431,8119,8163,7871,6092,8232,2301,2839,1655,8467,5520,315,1638,8122,4372,320,3044,320,2425,4868,4874,2115,8014,5862,5867,5864,8255,585,8244,4689,121,8018,4693,7988,461,4873,5581,4420,118,5816,
2602,79,2761,6073,6189,8078,8597,8432,3520,8731,7731,1094,8074,5678,8221,8582,8552,7493,536,6030,5636,545,1792,279,8507,1537,6059,8490,5650,8478,6140,292,277,513,6034,8760,3641,8413,353,7913,3695,639,6027,761,3899,7786,1570,6085,1839,3113,3693,8184,5590,108,6214,5463,316,8337,8732,8286,865,8785,3006,5066,3961,3583,1828,6225,307,7776,5729,341,8797,72,6020,118,1456,5543,116,89,5271,4146,513,7212,4715,5238,8650,468,433,811,323,8711,2579,594,663,8713,1405,6108,3582,6087,8802,8567,539,4440,6516,4432,8797,
80,7902,6538,6206,8787,1324,8335,5593,3340,8313,774,4545,3882,8795,1095,790,7215,4702,6685,4609,7219,6688,1241,8858,7709,4547,7146,7568,4619,4137,4397,7831,6954,4167,4020,8872,2565,7270,1136,7657,8136,8878,7180,7613,6984,1199,7709,6897,7590,7173,7767,8640,6609,8338,3613,7795,76,1968,8341,2219,2435,2221,6802,2316,2823,291,3894,8902,2497,291,2997,2441,4414,8907,7333,7017,8915,3110,8735,7189,7410,2606,32,2608,2610,5997,116,109,8462,6333,7836,570,8916,3111,8913,7944,7087,3395,102,859,5414,7810,8910,1332,
2493,7943,817,8921,6421,823,8916,4458,8937,6375,8182,296,7923,8642,1737,259,1475,8510,8341,5797,5326,6156,91,8518,6549,5120,8521,5336,1683,8569,1944,110,86,82,8571,5949,7945,4134,8087,8E3,3401,7919,3223,1634,6291,4586,6293,4589,6295,8543,8545,4597,7227,2407,3765,4889,3387,4516,8147,8227,8229,6984,2005,7983,741,1235,8557,1836,874,8548,4184,4122,4246,5788,921,8981,7997,4240,8025,1140,5826,8426,1190,8030,1937,8135,6984,5661,6532,7986,8951,4192,670,2600,5817,4041,8738,8411,7672,4768,7999,97,8909,8718,
8238,8244,7977,91,8724,5869,4690,5871,6077,8268,5707,8588,8416,1680,8608,353,7455,2051,5516,4432,8560,4589,8562,701,8566,2513,7934,8570,8740,8572,8742,353,9016,4859,110,3519,4343,4446,9021,9079,8982,534,8086,9047,83,8090,441,8109,4294,5315,6178,2301,8524,6322,3648,4373,8528,4134,9083,8276,5194,8752,9045,6476,6515,262,8701,8582,4368,4980,6023,7650,512,5677,3697,7237,8755,7954,334,8474,431,8581,8763,6518,6273,5860,101,6041,5648,8760,9082,8762,6517,7964,8658,8483,5414,8491,9135,3810,8500,6600,7961,6042,
9140,3494,8489,9143,7483,8658,8480,9151,7931,2070,9155,6274,8415,8637,6055,6604,8774,6279,6281,8208,9158,8486,6063,8280,8964,8774,3693,7914,8513,8750,8181,9059,6074,8782,644,1859,318,1667,6555,5306,8693,5262,7870,9069,7832,4998,5194,4956,5059,5491,5005,5052,1637,8697,4966,9112,7740,2407,8602,5213,1785,7465,4049,8813,5837,5722,8164,6429,8797,5715,8698,8841,418,5720,9032,2867,6193,1654,6196,614,6198,8291,288,84,8797,6378,5576,8793,8314,6558,8807,9227,3387,8307,4349,1081,8813,8815,8943,3875,5413,520,
5040,9201,8483,279,5008,8122,7980,5243,9259,8826,5739,859,5648,8831,9222,9246,5837,9226,5528,5843,3875,9251,8812,8797,1890,8811,2301,8813,8843,8327,8956,8594,6207,6358,9241,8851,8896,9289,1808,2897,8168,320,8170,7437,8341,4243,5514,5312,9221,834,630,849,5787,9006,8279,8957,8167,8104,9298,8107,7471,6751,3613,5686,7782,6234,3587,7953,6237,6559,8488,4923,9134,9163,2481,9165,8498,6603,6252,8457,1552,8512,1557,637,6307,1176,44,6310,8417,6312,4665,6314,6316,6318,34,9103,8526,9106,8805,4191,6329,2103,9072,
8533,6165,7951,765,5201,1493,8341,8532,8347,8371,8535,6273,557,8654,9318,512,108,6087,5577,637,8361,9360,8254,8656,8364,3578,5138,609,9380,9368,8655,702,9384,6594,6530,5536,8251,3119,678,6556,2321,2516,8609,7839,4385,9213,4385,6356,2925,9249,8165,9312,34,8290,5124,9234,8175,101,8177,6374,9195,8767,8696,9304,5517,6322,513,539,8130,5101,8596,8553,2083,3706,279,9242,8737,85,530,1875,9075,8162,4966,9430,8753,2094,9433,6357,5579,373,8319,9184,5517,9292,8576,4065,6221,6371,9453,9325,5198,2627,9240,8311,
9458,4905,8634,256,9136,9138,8605,9133,9144,6046,9142,9148,9163,8695,8769,9474,8764,8496,8441,5444,7905,9337,6246,9181,8776,782,8778,3699,6078,3702,2969,8685,34,9238,9246,5575,9463,9448,8794,8180,3641,9497,5528,8847,8334,8789,9291,9501,9236,4880,4028,6589,8472,4893,6592,9162,8658,292,5610,6078,9175,6049,6594,9333,9519,8456,7485,6608,7487,8643,9244,2084,2775,9388,9373,9382,9391,8536,7E3,7140,8368,8346,9538,7929,9392,6140,8039,8938,8820,8680,2024,8047,8683,112,7638,7267,818,7337,7271,2535,9536,8369,
9389,9374,8646,8040,7603,5367,6450,7129,2443,9564,9545,8463,8348,9370,7931,5518,2832,3377,6838,6701,4706,4718,9037,4620,7135,588,7513,6812,7599,6269,8917,7353,4432,9347,521,99,121,4701,280,9132,9081,7338,9561,7140,7950,370,8630,8384,9195,8748,9125,8999,9410,9288,8384,370,9507,5460,9500,5595,8732,9466,808,6035,9480,6519,9336,6287,6527,8111,8619,7809,3875,8144,9098,5380,5894,5926,5540,5989,5986,5965,5992,5967,5995,5975,5971,9645,5973,5913,9651,5909,5984,5978,621,5921,9645,5979,5982,9661,9650,9648,5932,
9662,5987,5924,9659,9668,9666,4229,5413,8839,7261,5189,8317,118,9677,8326,4594,8275,9678,7466,8191,5331,1820,9174,8856,4620,4023,7144,3901,4098,3903,2786,3989,4628,3907,9697,3909,9514,3768,3972,2760,9086,4445,3888,3686,9253,7614,4625,9703,4094,4101,9706,4629,9698,2954,9700,3911,370,7627,75,101,121,115,9603,6015,9201,275,8718,8122,9734,1566,2370,5210,323,7580,4647,4572,4209,4451,594,4561,407,8922,4420,4620,90,460,109,262,4547,4026,4631,9705,2958,9702,6588,9722,4632,4034,4619,2944,5594,4614,6009,9715,
9763,3905,3985,9762,4031,9759,4095,9706,3788,8991,5255,316,8389,8595,6183,8573,4086,3269,8739,7309,3812,9773,9723,9775,9758,9699,9765,4102,8563,8810,7133,2500,4622,7858,3274,9696,9794,9799,9719,9776,4630,9798,9760,8024,7952,1589,6102,673,5160,3531,9077,8840,9444,645,8844,9751,2944,3809,3707,9695,4092,9716,4627,3906,9797,9764,9815,437,5790,1821,9088,100,4437,4435,9745,4774,8687,9587,5083,1929,5556,6305,9690,8805,3623,9855,5815,3687,3689,9323,9818,281,3688,114,8305,6660,8580,8468,5331,8791,5423,8514,
780,1E3,1830,4191,6223,109,9823,9686,5097,7228,9521,4446,100,9881,9022,9788,6253,9234,9858,1561,7468,3639,5412,8816,5377,670,3604,9872,5424,780,7256,4204,4125,4773,2513,4654,9749,9409,9725,268,621,108,72,70,79,86,8717,8237,5391,9055,8257,5872,8728,4768,8206,1140,9499,8203,6429,8543,5019,461,8661,7810,5014,95,4311,969,4644,287,9939,9737,1825,7626,97,9888,9122,429,633,9901,9782,9873,3923,4331,9122,8567,9915,86,9918,9920,2301,104,4945,9954,3863,9783,4276,7256,587,589,4576,4699,9731,9005,4966,2408,110,
6088,6526,7810,9586,4719,4709,1872,4722,293,9739,5218,9738,32,406,9982,874,9581,8263,585,411,8827,5896,429,342,874,103,121,275,2212,398,3111,5090,3852,9950,9617,9767,3973,4717,591,71,10008,1291,404,491,7347,9793,9777,9814,9779,9761,9837,9774,9766,3420,2760,1820,9770,7634,10027,9813,9838,10030,4097,9809,9839,10017,10036,5333,8019,9757,4626,9778,9718,10031,10052,10029,10054,874,102,120,97,9949,8976,9882,4133,8618,9955,9903,9958,10016,1032,1518,7992,4443,769,1465,10074,9828,9804,355,7476,10051,9834,
10053,9701,10032,9795,10034,3267,3896,355,6249,9832,4025,10056,10042,10058,9720,9704,10043,9789,2760,8997,8483,4875,3080,10087,9810,10055,10084,10057,3824,3743,9744,9908,8568,8549,7256,8504,9935,4937,9582,5391,9939,9941,5478,3531,9944,3850,95,9946,1324,9707,4022,376,8437,10026,9808,10028,10097,10086,10096,10033,9800,10035,594,3974,9587,5106,1830,10107,10143,10088,4096,10099,9717,10113,10146,110,5594,4218,7564,10040,9721,10144,9811,10108,10046,10159,8979,9712,10083,10045,10043,10156,9835,4633,8563,
5686,4181,10064,9889,9606,9166,4700,8860,8053,6420,9053,1169,95,9059,9742,10090,2500,9753,1993,9002,10173,10140,10166,10110,10174,10058,6854,9803,2760,5594,10093,9792,10139,10041,10202,10044,10201,10154,9780,370,8734,3687,9937,6447,427,1792,796,3888,1239,3888,4770,817,4551,10047,594,5594,10082,10094,91,10168,10175,9812,10165,10217,9350,290,5331,8204,10246,10233,8542,4707,4123,9907,4128,10200,10213,10243,10215,10256,10109,8073,100,106,4037,294,8557,8516,10015,8617,2407,10007,10009,10024,8505,10118,
9122,9966,3934,5656,9902,9874,291,9876,7950,9082,9516,256,10220,119,1598,9469,7963,9159,3578,5518,9511,10291,9165,9468,7962,9165,3631,97,5853,10292,9176,6140,10302,827,8484,9471,10293,6594,3700,9439,8578,9076,9479,9329,8658,914,7938,8630,10309,9147,9630,6600,5576,5808,10297,9519,3578,7938,699,4395,3783,9165,10314,8577,3521,2513,4684,8759,10331,9177,9411,9413,9180,6070,3630,3340,1881,639,291,3520,609,786,91,3200,561,6124,296,5493,302,10359,492,10361,1059,5608,10364,3294,10360,7911,3177,381,10365,742,
10367,34,9680,301,93,6253,3848,3424,6074,9879,10199,7786,10295,1800,7409,997,101,8499,3523,10354,6069,278,10357,10376,611,10373,289,5465,10382,9491,3701,9171,633,10210,8181,115,6242,4126,6298,1809,3537,6076,8019,6359,8299,9490,2018,116,8467,8973,3795,10353,6092,10356,284,10358,10371,10366,10403,5146,2926,125,10406,3734,4149,9493,6076,10092,9494,980,653,5426,782,10397,3693,10399,10432,10401,10378,10363,287,10455,10436,10369,10458,10434,10377,10403,5274,10370,2508,10372,741,10380,10439,997,10425,6092,
4668,1324,6216,10450,10430,10453,271,10433,10468,10435,741,10437,1455,10472,3705,8758,396,10383,1479,4145,7786,5528,8997,10478,1870,3693,769,8998,341,115,58,123,120,271,1303,121,10509,503,125,47,10507,58,1923,10511,48,125,4941,10451,10431,10482,10459,741,10457,2360,10469,345,5374,5277,10489,3734,4218,2967,3693,10266,10428,6130,10501,610,786,10504,10506,5413,10512,4152,5546,10548,495,10514,123,10547,1923,10532,104,10517,10521,3554,10355,10481,5195,10526,345,5749,10467,2479,10530,10362,10381,9432,686,
335,10421,8287,10081,10385,7786,9879,9756,9189,8095,8626,111,5127,9195,9001,2499,10078,9220,4420,732,8914,9214,1625,9216,8806,4717,8657,9546,8372,9580,112,51,10601,9577,9369,9383,9541,9482,8289,9484,6199,8510,10427,5259,8180,9196,8918,5838,5459,5354,7118,5459,9276,5208,5432,5267,9592,5189,7900,5355,9802,5607,9286,5377,10635,3131,2131,9287,6521,9413,8445,316,2259,9324,903,1851,407,9640,9475,8583,8497,10300,10344,5653,8280,10347,6288,7440,2317,9455,2164,8556,8193,1499,1701,9688,3616,6214,9242,7898,
8332,8309,9509,9624,8852,3559,637,8964,10648,1557,9130,10414,9165,6131,9328,9472,6594,9164,10657,8497,8636,10311,7958,8502,8504,9173,3882,10653,6284,9178,8469,8076,9338,6290,10225,5480,10622,9922,8033,9443,9113,353,1852,9750,10592,4385,9352,6323,9354,7256,8604,8424,8607,9028,9801,6021,3366,6553,8248,7995,8584,9431,1859,4914,8687,8587,10618,8644,9980,260,9456,4294,383,10740,1324,4476,8226,9979,3033,8122,3037,8925,414,4327,323,874,10402,3410,6813,7989,10077,4776,8702,406,542,8705,8238,8707,9983,10223,
1E4,802,8827,10772,7988,10076,9449,7358,9551,808,427,6020,114,2609,921,596,598,10788,8245,10072,9396,8053,9052,8122,9924,8265,890,8019,10793,288,9636,6408,5208,8081,10734,9091,9883,2407,9615,8470,5671,9787,8742,9127,9459,10299,9154,9528,9170,3662,9629,10319,8502,9421,9478,10825,9144,9529,10659,10614,6526,8775,7915,9489,9184,8779,9492,1032,3703,9432,818,9492,3516,8205,5536,10499,5582,6175,10675,8185,10677,138,3521,6216,370,5249,9195,10805,7359,4049,9639,8032,9641,5961,5895,9649,9643,5919,9649,5914,
9654,5972,5976,9656,5917,9674,5926,9665,10880,9671,10882,5977,5990,5988,9722,5993,10871,9673,5996,7626,8688,3531,10750,2833,10755,542,9232,10759,5055,9121,10016,10818,6072,9831,9168,6260,10823,5521,8399,10822,6252,3705,10845,8505,10830,9159,8502,7956,10908,8501,10910,292,10916,10342,10689,10919,8639,7904,5779,8458,9486,10349,1850,4348,3571,1272,9187,9791,8181,10925,10399,10408,288,5528,10850,6595,116,10502,10544,917,9362,766,8214,8449,10851,6383,10302,8026,720,6103,9928,5536,807,9622,8849,8631,10072,
279,10078,5137,9896,9930,8210,356,3640,8509,10667,3645,353,8393,6067,9195,6305,807,10983,1735,3623,7069,818,9872,7936,6320,9104,8527,7442,8083,10816,9431,8493,2032,6342,866,10988,7783,8588,3476,10990,1140,11006,5110,638,9061,9470,1974,11012,1745,11008,3299,9110,9442,11E3,9825,9141,10275,8751,8741,11001,3360,8690,9062,1589,11018,5121,11020,11031,336,11010,11034,9320,7790,10989,3634,10716,1036,6532,11035,4425,8628,5116,9321,8076,370,3792,4589,387,3519,7510,8519,8470,8795,3641,11059,8964,11055,8797,
10967,10855,8850,9511,8965,8818,2833,9263,8823,1698,8825,444,1903,8829,444,4641,8842,9827,9274,3693,8809,10730,3020,9251,9898,7903,8280,11069,10672,9458,8376,3616,8341,6305,76,111,820,1808,8139,1625,5196,4132,9012,5656,3623,11103,11105,10133,1645,4938,11114,3531,11107,374,11109,5215,11111,5331,4914,11119,9947,1464,8248,8931,11025,5730,8810,77,10595,6906,889,6805,10557,9229,7087,10380,4341,10229,9843,8447,807,11148,9725,10585,8556,5656,8378,1826,10639,7284,6092,11153,6122,6092,10261,10263,1166,3604,
6532,65,10262,10264,5330,3616,5997,11135,6006,8990,10709,101,1881,5251,460,10998,4983,46,7453,9305,7856,8612,1799,8615,7530,10066,2407,3933,11148,1561,426,5712,5120,11160,8971,1735,11051,4879,8630,668,9900,10705,3566,8856,8966,8516,8968,10616,8514,5808,9015,10064,262,8979,10183,11030,2310,9047,8001,8988,8004,2301,8538,5851,8993,4590,6296,8544,10416,9877,4134,3867,9640,10719,7722,6515,9002,9117,8033,9119,4385,3765,9116,9004,10751,5101,11246,9638,11218,8738,9425,9089,11028,9080,11222,8734,9817,2321,
9027,8431,5829,10637,5318,8051,6836,7410,5762,8666,8062,8670,8669,8673,8672,5774,5409,4902,6702,9037,118,11157,4420,9034,8968,9036,2425,10623,5841,1808,10627,6984,10725,8589,9064,10728,353,11262,765,9040,8736,9043,10631,9092,8574,9047,9049,10712,10596,415,10797,8722,9054,8720,1899,9925,9059,10803,8342,1456,9067,9428,9215,5556,9357,8561,9381,8269,10316,10117,7935,9090,9023,808,8549,262,9709,4770,11221,11133,11223,8009,8089,460,9097,10865,4385,9100,9419,8531,10995,9353,6325,8547,10182,11336,9890,5883,
11286,5844,11093,4294,10808,9959,9124,8470,10736,10285,8756,6238,10685,9605,10702,6594,10820,9139,10693,8761,10918,10306,7E3,9146,10298,9150,10922,9152,9137,10656,11389,9330,2613,9157,11377,6140,9161,11393,9520,9331,11381,5643,10695,9524,9169,10914,6278,3700,10700,8771,8509,11208,6068,9487,10837,3523,10423,371,8780,6545,9188,285,10954,10963,9195,11302,8379,4219,9819,6104,1478,2607,7985,6116,722,5827,9350,11428,880,6108,1382,11431,6114,8925,11435,10962,11437,8426,2966,3641,8963,5656,3622,10681,10974,
8380,5261,10986,3637,10102,594,8787,9137,859,778,477,9523,9771,10164,10100,10098,10241,11472,10158,6278,9511,10222,7876,2814,5799,3750,430,1899,7918,3766,5014,2845,292,11487,10130,6322,10131,8333,9722,115,121,4247,5406,441,3764,281,1898,2848,102,95,10288,10134,110,11464,8745,1098,11466,107,11468,9806,9772,10216,10260,10176,10085,9724,10159,10197,109,10388,10211,9833,10204,10142,10111,10141,11523,10195,2760,11525,10582,11528,10095,11532,10214,11521,10112,11534,9038,9860,9866,9862,11264,9864,9861,3691,
1859,9627,10390,8313,10330,11400,10703,10346,10834,11415,10935,545,10387,8489,370,10581,2546,10443,7786,9946,9137,4869,11513,11104,11515,319,10945,2130,8014,4698,11577,11516,8783,8167,11197,10683,6130,9327,10687,11402,11559,9526,11405,10653,10832,9411,8447,6127,10707,787,11325,11176,5316,5622,8155,5556,7562,8867,1224,3185,6819,7548,7507,7611,7528,7821,11331,7502,7506,11612,4315,1804,4603,7274,2481,9561,2116,7775,11616,7837,6851,7867,1225,1859,10750,4328,11154,10585,8341,10633,4985,6006,1796,312,9849,
9750,5137,11086,6228,11413,8377,11641,7779,1730,10682,11458,3543,640,1670,11022,9429,11024,10715,9595,10993,9122,9109,2020,8978,8980,5947,10714,9211,1645,637,11121,10432,5197,5438,9696,8293,7780,3615,8303,5120,3623,287,8302,5421,11688,637,287,6348,11685,11171,11687,11044,9557,3049,11679,10482,11681,5663,3812,11684,11657,11208,1799,11690,8294,11201,11007,663,11695,1738,11691,5630,11019,663,9350,11670,4122,6168,9847,10187,11313,1759,11337,11670,11343,11666,583,265,4916,1974,5249,3476,10859,1589,11739,
6422,9115,3796,11250,8233,9007,5189,11724,11256,10226,11258,8033,9210,8983,6777,4361,8579,594,10268,11729,5010,10184,2343,11703,5195,11705,7984,11683,4435,11719,5332,11721,531,11773,5689,6311,32,11696,11709,11061,11775,9350,10721,9105,11357,9122,2815,1874,11668,10071,3662,11339,9085,11146,3888,10809,11337,10589,9003,8037,11245,11749,7561,2481,3623,11767,11123,9460,11771,5285,11713,11699,3618,11689,32,11777,11693,4900,11781,3603,11208,3623,9350,372,8134,5947,11810,11682,9833,11708,11823,11783,9602,
1036,11712,11697,8510,4425,11717,650,11839,11208,11050,11203,415,11066,353,11096,8187,9417,8189,10710,8856,10828,8746,2129,541,10226,8804,11191,4191,3782,3680,9435,8344,9438,10339,716,11728,11222,11865,1518,9242,9450,11191,1353,11556,373,262,10744,1456,11880,9128,11811,717,11851,10678,4618,10905,5637,11383,9525,8766,9477,116,8770,11381,9632,10835,11416,9183,2715,10840,3701,6539,11772,11814,11692,11700,10674,6206,11833,11686,11911,11715,664,5123,9611,8104,4361,6512,10684,3700,5594,10301,6279,10236,
11594,6140,9527,11931,7E3,9973,4697,11596,10326,9580,6279,10411,11406,9481,11901,9533,7440,1329,2998,10624,5208,11948,406,11295,5189,11952,5220,11228,10782,9273,3875,337,6620,110,11950,6984,11962,4774,11954,9687,1839,2894,7135,478,11924,7479,10821,11934,10612,8958,9531,7924,10661,8111,2718,7511,4813,3366,3138,7408,6456,7810,7022,6714,3343,7415,6926,32,4368,4830,1917,7693,32,3237,6469,6471,6473,7727,3544,2227,11986,9044,6984,3120,2180,7763,1291,8968,4239,8342,3407,2325,7869,10621,4385,3367,3302,6845,
4340,10640,3483,7039,2138,8874,7262,3506,7120,1993,2687,7584,8806,2355,7371,6913,11635,4203,2349,3446,2686,3509,3115,3483,3452,4113,7749,12046,3355,3466,1349,8882,12013,12047,3507,6878,3145,2911,2074,7240,12031,7131,7122,2267,6856,11344,2740,7633,9714,7145,7311,8870,11002,2632,3291,12071,2568,12053,4803,12060,5189,2296,2112,407,10038,8230,2380,3356,7095,7676,7827,7772,3495,3099,3498,3314,3300,12086,12059,7870,7369,12069,7264,11634,8805,2068,12014,1935,2162,10137,4420,12042,114,2167,7181,12041,2451,
4233,2672,7735,7643,7636,7567,10232,2888,7055,2377,8909,12062,7276,12039,6817,7087,12120,2872,12055,4315,3465,2828,5878,8610,8230,8916,9561,3132,3180,12073,11734,8945,780,7629,12061,2334,4256,2377,3445,7090,7121,12123,2053,3076,7709,10896,3377,7218,4085,2254,3540,1589,8214,3015,2734,7757,11296,3501,2338,6499,4412,7117,5208,1934,12159,1260,7859,4617,7207,12009,3197,1277,12084,11021,3146,6850,12198,2194,2160,7770,12163,3354,3196,2518,4808,12113,2323,2903,12139,12034,5189,12115,7062,11623,3028,3301,
6951,7720,12099,4466,12095,12058,843,3468,12051,3458,6829,3450,12169,12126,2351,12088,12141,2864,2686,12040,3500,3068,10948,7810,5239,6397,3382,4903,4570,3489,12183,2712,12185,7282,12224,4140,2388,12237,4049,12217,12048,7101,12144,12220,3297,7270,1934,11136,4978,8905,3464,1499,4561,7973,7410,8046,7198,5385,7200,10991,2669,6972,12167,1315,8953,4530,8955,11988,3309,12184,7236,11793,12195,7538,11878,3511,3315,2697,7132,4280,6480,7861,3417,7388,8766,3150,2894,12152,2977,12106,7719,7072,12187,6984,5294,
3270,2497,2944,11236,11758,2398,112,12103,12289,3459,3133,4798,12233,12208,12308,12259,12124,3068,7273,12264,12281,2632,3408,3894,9550,7196,8681,8042,12280,7502,2911,2505,1982,12064,12220,12181,12191,6756,6805,12120,3894,12026,4654,12275,5380,8649,5367,9573,3191,3086,7554,3154,2102,7668,5318,8920,2601,11649,10774,91,8924,8926,9729,7201,12082,12210,11632,3476,2240,12235,2800,7057,11887,1208,7174,9595,3003,11990,7654,12375,11993,7843,11996,7690,32,12E3,4832,3235,12003,7695,4837,7424,7192,12380,12385,
11626,2673,10782,7217,8862,12174,12133,2912,2024,12214,7754,7098,3458,9561,12026,7188,9999,91,7191,7006,5203,12146,12154,6493,7539,7306,3483,12162,8406,12272,12290,2477,12332,12242,12326,3180,12190,7087,12115,3478,7714,12383,12081,12066,12241,12297,3300,2747,11987,12329,12298,2459,2539,8880,4087,2597,11942,11470,10212,10242,11520,11474,10157,11545,12115,12155,11676,3471,12016,6532,12019,12142,6989,8886,9679,7601,9569,8648,7979,8822,4229,12157,8908,12267,3138,3193,12271,8603,12252,2829,11270,10123,
7410,8663,5403,8665,5770,8667,5774,11277,11280,5405,11279,5770,11281,8651,12346,12239,7091,12284,2522,3512,12111,12357,12322,12421,7555,7093,3104,12477,11757,8586,2152,12350,12337,2044,12096,6440,8138,12104,3296,12262,2024,12324,12030,12231,12543,1993,12525,2903,2057,12456,2527,3138,6637,7151,9637,11480,7811,7573,6695,7814,7577,4072,11283,3289,3361,12538,7752,4495,12528,1081,7679,7745,2669,7730,12230,12021,3261,12028,6501,8819,8806,12450,12366,2345,12521,2695,1499,12148,9403,7374,3458,3408,2699,12374,
12559,12430,12008,8940,8942,4686,2597,2007,2551,9990,1333,8950,3085,12227,1042,7595,12207,12462,2484,7865,7320,2164,11479,8679,10755,441,2734,3046,3042,3044,1587,12625,6317,2283,8859,12558,8679,12173,4532,2568,12451,7866,12211,12056,3329,12022,4678,7342,12256,12094,12234,12412,12128,4742,6308,2780,7350,12433,2121,12218,3481,11613,12036,6782,6306,11627,12110,898,6977,12588,12529,3254,3099,12535,12384,12534,12050,12325,12269,12352,12449,8935,1403,12288,12546,3104,7653,11858,12589,3029,6006,12448,12260,
12137,2871,2506,12553,6979,3458,12638,12229,12575,3477,12586,7315,9912,12454,12555,6815,7830,12422,12449,12691,12571,12578,2621,12638,12425,11989,2460,12123,6995,7385,3415,7387,6485,10691,12660,12419,12038,12694,1884,2692,12444,1094,12153,12656,12382,12219,12251,2903,12666,12485,12238,12442,3112,6007,12498,4420,12261,2313,2879,12728,12265,12328,4443,814,373,3209,3649,12293,12115,3408,7682,7196,7841,6922,11995,7688,7845,11998,6928,7848,7420,7031,6723,7852,7034,7854,7036,12493,2996,3113,11137,3875,
12426,11618,6749,11620,12704,12213,1996,12550,12221,12706,12540,12614,3300,12083,12667,1942,12710,1939,12136,2334,12311,12639,12453,12392,12500,7888,3073,7890,12160,12642,12463,3006,7801,7410,12599,7805,12567,12105,12643,3387,6691,12633,7245,7154,12561,7156,6696,7815,7161,10194,3186,12010,12091,103,12093,12811,12568,12611,10724,12716,12464,12336,2568,12359,8647,7410,12362,5739,12364,12806,12334,7570,8620,7810,7812,2781,12829,12564,7579,12566,12536,12842,12300,4403,3160,6997,7617,12305,7E3,4620,12317,
108,11930,10138,11529,11519,9815,11543,11533,10178,3442,7511,10162,12025,12519,12544,12693,12140,12690,12802,12821,12581,7560,7585,3483,12638,7826,7377,4049,12655,12291,12228,7744,12441,3105,12545,5273,12307,12611,12068,12231,7300,12731,12522,2869,6742,12671,12787,3105,3447,12889,12215,12741,12446,3502,12539,12711,12699,12347,2917,12674,12461,12795,12752,5104,8284,9953,11454,9195,406,6363,3004,6092,11882,2036,7680,10475,4665,3795,10972,7722,8700,9955,12952,7891,11653,11100,8632,10727,5711,9195,5191,
712,7765,870,8403,5202,11847,10613,10932,5446,8784,98,628,6662,8450,11373,256,10650,11016,11397,8508,8280,4994,733,6553,11946,8111,2116,9238,98,12335,12045,6491,1888,5599,11615,12736,7502,12992,11631,13E3,1726,1665,12011,11307,9217,12997,7272,7296,7873,13010,7395,12814,12597,8679,12817,7699,422,13014,7045,7829,12793,11091,12997,12556,7243,10783,6410,6641,12562,7249,12830,7578,7252,12832,290,13006,12835,7771,12225,1115,12992,12295,9279,98,115,13011,4678,9561,515,13048,12222,12313,12810,5189,13053,
12998,2698,12718,12192,3414,4737,12722,6677,6594,13059,6808,12999,12658,12996,13048,12244,12375,12246,5241,6451,12249,1993,11084,13048,13046,12794,6629,1888,11622,3273,9342,11446,1262,1237,13082,13049,7241,7594,12098,12900,8806,13059,6809,12785,9566,7823,8807,13048,12394,7683,2416,7412,11994,3225,12766,7416,7846,7691,12001,7849,12405,7851,12407,7697,12409,3350,13045,12480,12018,12391,13106,3963,11611,13089,935,11434,13092,1253,12819,13086,7909,12717,12740,7642,13063,12868,7862,12870,9222,13083,13127,
12966,4220,13138,9844,1888,13028,11803,5380,12857,7575,4069,3344,13036,7817,9037,13059,12202,13130,6981,4555,12895,13100,13027,12792,12929,13026,13048,6780,13088,4219,13090,7635,9350,12991,13155,12023,9597,9277,13173,13051,12915,2901,982,13002,7019,11991,12396,13111,12398,13114,11997,11999,6720,12771,7850,12773,13122,7853,13124,13148,115,2747,13047,13095,13023,12822,12557,10806,8679,13159,12859,13162,12565,7163,153,848,8417,12577,9283,13022,2631,7383,12301,7860,12721,12869,12723,8482,2054,10664,13228,
13107,6958,13017,12825,12429,7726,12818,13225,8830,8968,12992,12976,2363,8417,13094,13178,12914,12108,12257,13044,13185,12644,12223,13099,12168,970,12992,13169,6846,12314,13058,13189,7865,12801,13266,13261,12617,12707,12572,6403,13229,6971,13150,8891,7766,7664,13210,12370,5264,13281,6707,13195,12395,12559,12397,7687,4826,13115,12768,7847,13118,13204,13120,13206,6470,12408,12431,1168,13226,7511,12837,13271,13177,13096,7865,12645,13264,12457,13139,12427,6960,7803,13209,13021,13048,8678,13244,10755,
406,10916,4660,4303,10669,12974,13252,520,11016,8856,8461,8562,11064,989,430,1081,362,3549,10646,3551,3627,10985,8197,4265,8600,8201,9929,12177,3548,6379,8213,10980,8216,353,5621,9462,8336,11098,9195,5413,8329,11605,4348,13369,8702,8318,876,8325,10636,517,13372,3020,120,13379,4294,122,13382,5745,13385,8331,6577,9290,11890,6508,288,11915,11698,11917,355,3607,8693,3641,13394,8510,6352,6125,1559,8341,12623,2828,10607,8932,9390,691,9548,7E3,13339,11620,11945,6086,698,7431,9193,1709,11589,3523,5131,4929,
11403,823,4928,3693,11412,8280,4935,6195,10122,6172,5306,11602,865,9740,1324,9191,11574,4196,9201,4580,5060,7447,7750,13440,594,13442,5100,11327,11186,10404,5139,10013,5082,11674,11665,12478,9141,404,9031,9051,1690,9053,9642,1698,1690,5337,11033,5812,8691,8420,10804,4946,5016,13442,4979,9198,5208,6186,9207,11733,13462,5730,12149,11966,13478,2602,13452,5430,13482,13490,5081,4948,10121,4997,13444,9979,4957,4958,9204,4203,5319,8582,10598,1353,9405,11961,13491,591,5018,814,5020,9200,13502,5023,5025,4508,
6491,13450,110,13442,11304,10718,10999,7996,11361,13477,13497,3976,6096,292,5057,4579,9203,5061,4584,13513,771,430,13537,4198,13539,13448,4509,13524,13480,12745,13495,5189,5063,2602,4993,13516,4996,13545,5E3,5024,102,7446,13522,9250,13550,13270,7087,13555,13534,1596,5067,3123,5069,13455,4510,5219,9219,9225,9277,13524,5721,13580,10628,13524,9224,5555,13455,1793,811,13587,5143,46,8273,7540,4247,811,13583,5135,13594,8035,13542,7747,5034,5194,5036,13455,4736,13458,5818,9786,13530,10817,5781,5803,11060,
11714,5333,11215,10449,11659,4866,11495,11960,7306,11292,2976,10626,8812,3677,10630,5269,11365,6018,11363,5145,11651,12957,10833,12972,10615,11414,13399,10931,6148,6586,13393,6092,11658,4917,10286,8503,11375,10305,11895,7E3,11399,10696,13656,6057,10310,11943,8492,9156,10928,11384,3476,9332,11938,10826,10910,10699,8506,11900,12958,11815,1721,13438,4192,13636,6954,13620,11212,13151,11214,3877,11216,497,11355,10722,11788,12293,10132,594,11965,6991,13629,9102,8653,10608,13411,8657,8487,1872,11176,6292,
4119,8994,8542,4593,11234,11490,8998,10269,8975,11027,11755,11029,11344,11144,11091,9071,13008,1590,8933,5883,13489,12089,9440,1324,11762,8551,13719,11734,13511,5208,11643,6954,13638,9033,12754,9454,11333,9869,11799,13531,2408,11004,8412,13475,8404,6313,6120,10713,13461,12532,8598,34,11431,9893,13622,10419,6606,5440,9896,5632,765,13761,10958,5261,9693,11370,10039,12470,11475,9836,10153,10260,9781,9969,9956,121,9785,13755,13613,11222,13772,1819,10050,10237,10239,11473,13792,11476,2310,10780,7991,10766,
3020,8498,9977,11251,4955,10189,8241,355,10192,8019,12832,12872,10941,10163,13775,12474,9796,13778,10169,11535,4022,13790,11539,10238,13817,10240,13794,12475,9050,9923,11318,8725,8727,5874,9816,765,10961,13835,6185,10068,10281,9355,4134,3700,1475,8467,1006,11607,6301,13734,13487,3895,2500,9830,10343,13822,13826,13816,11541,10257,9859,9865,8297,9863,11547,8305,11892,8757,11582,11392,13659,8765,7E3,10302,10304,10301,8197,10324,13431,11561,13641,11902,11564,787,11423,9185,11419,9186,8781,4441,10395,
273,10523,10563,10483,10569,10485,10531,10405,10573,11388,3611,10847,11126,637,11128,5454,10619,12296,11859,7176,2321,10990,9725,9911,1456,10745,8733,8950,10284,13640,13646,7906,6121,3616,83,611,1439,10418,9195,10487,10862,8281,10671,10328,5465,701,13749,582,8435,13417,6580,6197,9364,4863,13762,545,9367,10602,9579,8658,515,103,11809,11769,6943,1235,1327,5518,5469,591,9761,13957,6566,1844,4074,12970,1772,11562,12960,11299,1478,5202,13406,1664,10151,12651,1327,10321,9886,44,13958,13964,44,4589,259,
640,44,11104,413,902,103,111,13980,13963,710,2816,13981,13995,50,663,2954,594,260,11860,4694,2780,13977,9885,259,13993,13959,454,13984,100,13986,13988,1088,115,13991,14010,13964,3933,14020,13998,14E3,13987,4065,14004,11785,13700,13410,5179,10610,6273,3582,9729,13507,13715,9402,13196,5208,13736,6984,914,109,449,4589,429,336,309,9377,13919,13879,13921,12973,288,67,465,1695,103,11065,13643,13945,8391,6606,14061,11835,437,72,68,82,5634,12963,312,10768,5573,10291,12956,6984,1631,11646,2569,14074,611,11353,
4294,1631,76,14083,4348,10291,9682,2301,4977,14081,14088,4977,9101,11094,9411,8200,10982,11910,11720,121,11040,13770,5456,6206,11819,6341,8417,3621,11921,9892,8169,9316,8171,10865,8856,1791,13717,11763,10654,11337,14121,2602,87,6153,1705,8734,10865,10815,13786,11344,11732,11360,10184,14126,591,14128,13964,9437,2032,13730,14132,13529,10735,9825,13940,14056,859,10041,9301,2775,13551,6891,7669,6889,13451,430,12689,8806,7140,8367,2775,7760,14165,14160,384,14162,3149,7375,14169,101,14171,2109,14166,7270,
9543,14178,12844,12454,14181,12995,10978,13920,8375,3559,13342,12988,7912,11903,685,2597,8577,111,10172,10479,10562,4373,10454,1974,8959,1866,13896,1426,6153,1513,10534,7932,2131,10352,14199,10398,14201,10525,10463,10761,10566,10375,14218,10456,10572,8894,9532,13679,12778,13527,12428,12377,108,5850,2611,5388,2995,8954,12780,10783,1353,6683,13109,427,12997,461,7461,7363,1401,5359,2822,2995,3894,8575,116,12756,3410,4191,517,1844,4945,293,11870,11760,263,11359,12758,8916,14176,2211,8916,12681,8919,8903,
9596,12436,6984,12574,5358,12487,13030,5736,4303,5738,5242,5741,10219,6393,12360,11992,7197,8682,12345,834,12679,2681,14271,5350,818,8941,13662,8944,12604,32,8947,12607,8734,12373,9037,14258,6154,293,8968,14204,12194,4712,3531,3564,1828,11191,3321,110,11168,118,4348,9944,876,8211,8245,1859,14313,445,11555,13654,8507,4132,386,11410,3651,8410,6330,4589,13877,13427,10379,6081,13870,10909,11408,5557,13662,11597,13672,11941,4419,12983,14335,9172,14338,9933,14340,1379,14345,13663,6273,12942,13666,13660,
9171,3700,12875,14363,11764,866,14336,530,69,14358,5314,4696,9975,6275,10693,14356,14337,9293,10688,14334,5215,14374,6280,14377,9595,14387,1974,14389,14376,9293,11933,14346,6267,14383,14375,14391,6595,4736,11928,11410,13674,11934,14401,14390,5596,11945,13679,11329,4589,12684,4020,12548,2025,12749,12890,13100,13723,7303,13278,14418,12748,468,12919,532,13723,12439,2024,1456,9960,542,12677,4049,11625,1230,1799,13409,7138,9578,14033,7931,14415,112,13231,12866,4735,12303,6676,9371,13723,13108,12762,1899,
12764,13113,13297,13201,12769,13301,4833,12772,7422,13207,12775,13323,6246,406,14268,1442,14448,9872,14078,5189,2815,11969,4871,4661,13696,12449,7739,13757,9913,10950,542,14474,1135,7112,7873,14456,12784,8616,13701,9374,14440,4234,12413,11963,12415,6624,14247,5203,459,12587,13142,8806,14508,12138,12750,928,5952,11736,300,1140,11743,14431,14360,13320,7004,13322,13307,2094,12592,7614,7206,4229,406,14198,12758,2339,7260,14427,12037,2569,12923,12708,14439,6791,12797,1190,2806,14430,8405,14434,13232,12193,
4229,14448,12459,12012,5373,13007,14537,12661,12527,2115,12054,14185,8414,12386,6307,13182,7637,14339,9358,112,13268,12029,5264,13723,12846,12488,7410,5239,9572,7981,5097,14428,12865,4294,14512,12134,2234,14547,14448,9073,14582,14538,13167,14448,2741,14422,6765,328,1664,1566,4698,14381,12293,406,8101,260,262,1887,121,2001,7256,290,12835,12885,9277,13723,7011,12805,5557,12097,6982,13568,9217,14424,7115,13056,12646,6984,14448,12894,14623,12584,12435,13908,5617,12367,2301,14586,3106,12044,12640,4315,
8564,14550,6757,7406,11301,13918,9122,14448,13003,13072,1081,14500,933,13052,14617,7085,14597,1094,14639,4750,12205,12440,14574,13724,12719,14646,6908,288,14042,12353,14530,8559,14360,13179,4615,13090,1327,13753,1465,9350,2070,9561,4986,13728,12141,13730,11761,14265,14038,5551,6795,14627,13317,2129,14595,12936,8007,10997,2833,3940,2007,6322,14675,14570,12657,4501,4509,14625,7535,7270,5506,7583,14660,3806,12102,14540,13279,8563,6033,14517,4875,14520,4421,14360,12808,14573,5431,14495,1872,843,14389,
10119,12688,12745,9406,13283,7662,8892,13286,1198,7391,14563,14359,14707,13257,12024,14616,14727,14535,7325,14574,14360,9561,11604,9283,14658,12087,13258,10628,14432,12884,12118,9406,2806,13167,14639,2357,6497,14711,7865,14685,6006,14438,14163,13310,14528,6984,4658,7384,14669,3742,10737,6197,8341,1684,13465,8582,1689,419,13468,10867,433,13471,4035,9744,4207,4575,385,1647,14514,8871,4474,3604,9537,14498,9539,13412,10611,2468,11103,6515,8550,14147,10810,11192,1241,5790,9844,2144,769,9309,11023,14134,
11734,10861,14239,1361,4448,9174,14373,11922,8506,14746,11330,13104,5055,1996,6532,5569,12492,13828,10796,11318,10190,10800,9926,5874,8267,11322,8202,3535,9894,9415,8206,8761,8734,579,8313,10339,9303,6366,5556,5497,7865,9905,11726,10116,13731,14691,14123,11675,14487,9743,10253,9746,9085,111,447,5083,7459,13455,14655,3881,1382,14679,809,14681,1284,10059,5847,13175,8033,1908,5556,14323,698,383,7500,13726,2892,267,6561,4126,14486,11308,10893,319,306,328,8802,1844,609,699,13972,5947,8235,4969,10768,12944,
10367,8053,10772,9053,8710,9267,666,4229,6566,1670,13953,11110,9461,13421,395,4571,4125,14799,8660,6006,14547,10747,8689,1324,6532,10738,10894,11129,6422,14893,6769,11240,8883,4474,14442,9565,13948,14446,8658,10764,373,14478,7087,14299,539,13453,10597,9853,6006,78,431,11865,3599,4560,14649,8582,14919,5038,539,1898,85,8247,1881,1562,10524,4355,14116,11104,9317,8093,14123,11830,11706,1262,9297,8106,14990,14118,3591,14797,14939,4574,591,8154,5321,5556,293,14859,594,8313,14807,14031,14809,13703,9393,
14893,9341,13134,32,14680,9599,14682,9997,4938,11149,13942,9065,288,11367,12293,10813,9451,14133,14148,9113,13866,8635,14603,14399,11730,14388,6279,4914,14396,13392,438,14379,11465,15040,14371,5948,14410,15045,14358,8382,13405,10348,9182,340,119,14981,100,10750,1881,11119,8462,292,10950,10543,345,1043,6226,114,51,10522,10480,14216,10564,1974,15073,8804,15076,10570,10804,12414,10568,582,636,1591,120,52,1616,14219,296,8689,698,6007,15063,10572,3856,10419,11421,8181,15062,704,7503,5139,15066,11104,542,
7916,10542,10503,15082,539,15084,3595,14200,10400,15081,395,15117,15094,10378,13930,1325,15088,741,15090,15098,15093,15085,8503,513,15098,87,15100,14210,10497,10416,10948,15069,10951,345,1714,10506,10508,3013,1281,10511,15150,3160,14306,9041,101,271,832,431,110,125,124,472,13705,10561,14215,15121,866,15116,15075,15125,10436,13935,3273,3590,287,2928,8703,8268,15134,14931,5446,10440,1590,10843,731,3693,5621,11179,14893,15113,15070,10503,14668,15178,11484,6482,603,15120,14202,15169,15123,15171,15134,
15127,15101,10368,9167,8694,15193,10544,887,4914,14389,11870,530,2513,15177,4065,15179,5875,15166,10452,15079,13894,4370,15134,10567,10462,10484,10464,10527,15207,6814,378,4303,15217,4080,15144,15071,7378,7411,461,15219,410,15197,15077,15200,14217,15202,15074,15118,15232,13897,5139,49,14221,15251,15083,15172,10486,5131,50,15234,5528,15131,105,15099,15107,15192,15145,15242,15267,15092,15245,447,15247,15223,14987,15226,6943,15176,32,15196,384,15222,14206,2194,14209,10382,1859,5646,14259,6578,9194,14063,
334,14473,15063,1881,8843,5523,12501,13243,14965,14921,10770,14790,14925,8709,10776,14928,9270,14812,9886,11663,1785,14874,14908,8871,14820,1968,14823,11767,15319,10811,3788,11747,8906,8113,14864,13455,13694,11957,14978,11609,11495,13599,5214,10711,11294,11142,12260,14844,14123,15185,8022,1513,13806,9057,8266,14849,8020,1698,11318,7988,14929,12531,15320,7712,5139,13579,13588,4761,5131,13592,5615,15365,5139,15339,15368,7369,5459,5467,898,5520,88,89,489,8122,15378,90,287,88,90,89,287,89,15385,15388,
90,88,287,15392,15387,32,15386,88,1826,291,338,8732,15014,5712,3670,14933,11124,14935,9234,3599,8073,14949,14946,8968,14948,10748,2790,7626,514,5611,15301,13754,14873,13756,15360,532,13524,15363,15340,9598,9992,1808,15371,5172,14865,13797,3681,13799,5264,13586,15343,8806,15031,14692,6246,12688,15300,519,15268,876,4427,15305,4049,9998,11132,15089,15028,11300,14903,679,9869,15359,15327,11151,8075,11326,1625,15326,14818,11979,4908,6194,1655,15295,13922,34,11973,934,947,13343,9301,12590,14473,14737,4140,
12286,6624,14296,4385,12341,4821,12343,7199,5240,9557,14235,14273,14252,13742,14254,290,8177,7256,14309,14260,110,14262,10317,14122,11222,12778,14491,12351,14687,13143,12354,7381,8952,2995,15489,15486,2995,9561,14277,4294,9568,14280,7877,14282,7884,12363,14581,12195,14162,14668,12355,12590,14775,15515,12333,109,12676,15540,1419,8935,14977,8923,2481,2607,14232,8927,15497,8911,114,8936,14238,11324,14298,12602,3377,8945,12605,1936,14305,12609,2267,12497,14157,13800,14208,6155,13151,14330,7988,1036,1808,
14317,9601,4847,14321,100,14323,5573,14325,367,14328,9530,7893,8960,7907,406,12292,14107,10649,14152,9721,3727,6745,9561,4575,1291,9721,7170,7764,13284,12390,7767,11404,15602,2953,15598,7015,12735,14653,463,909,7632,13132,12876,4743,7349,4745,1618,15596,15611,14664,14549,5358,15617,8866,12386,9561,1062,12134,12165,12549,7270,15601,10041,13256,12170,12414,12172,12416,12636,422,4059,14591,6141,15610,9829,7370,4195,14745,15647,3745,14652,14709,14643,15630,6618,12171,8861,14505,8863,7364,14286,1844,1289,
12388,11831,15607,14742,15624,15651,2500,14776,1353,15634,6781,1415,14544,8609,6515,15681,14252,15625,15652,7355,14565,3927,12651,8869,12132,5097,100,121,12201,15683,14743,15697,13084,15629,15685,12266,14182,7856,11348,15635,922,12789,15638,15688,9804,7659,15619,13813,1434,15622,7312,4240,14058,10304,11741,2321,14725,459,15697,14433,2300,7018,306,15710,14587,2394,15707,4133,15702,14419,3894,15728,15698,12076,13955,12078,15720,12080,13488,15685,14417,4341,15714,10036,15716,15691,14502,7216,15644,15665,
12417,15708,15733,15631,12649,8805,12129,12653,15623,15650,10041,6768,15544,1094,15680,15730,5236,7284,15709,15681,12739,12703,15696,15698,15614,15659,14654,387,15784,3507,14768,15788,14554,13724,1353,4142,14450,6672,12867,14453,7863,15675,15771,7376,12583,15679,15661,14767,15700,15762,609,12796,14510,5486,15753,594,3438,15741,15792,14778,14040,9033,15815,4621,14764,10495,3020,15742,15604,12017,13151,12019,15828,14419,14594,4059,7051,14749,5208,15775,14557,9965,15807,15790,15809,13653,5788,15456,
13850,15833,12524,7270,633,15669,7357,14503,15759,7362,15666,7036,15639,9721,15641,15756,2624,7661,12389,13152,6403,4059,14457,4821,12763,7413,12765,14462,12400,12402,12002,12004,7033,12007,13247,6871,15763,15699,15813,5496,15823,15612,6938,14699,3875,15850,12702,1456,15861,2953,13178,15892,5208,15897,3896,15841,15704,2685,14583,13167,6020,15885,14744,14642,3205,15889,15755,15765,8890,14740,13285,7060,8201,15823,14708,13565,15616,15705,14739,15867,12019,4142,13156,12855,12375,13220,12563,13222,12861,
13224,15684,898,15678,6793,4059,14576,15528,8821,9571,7605,12851,15770,15597,15820,13293,15822,15676,2760,15513,15869,3745,12994,15912,14545,15739,3507,12340,14058,14566,15746,7644,15769,15894,12692,7040,15887,2129,15909,15811,14493,15737,15742,13227,15827,15788,6850,6497,4059,15981,15526,15630,15987,11287,15914,6745,3438,14156,14696,14475,15986,15904,5264,15836,14626,7559,14632,15814,15955,2956,14637,11091,16001,13097,14622,13057,7087,15902,2500,14677,12469,15719,15969,15721,6384,15885,14748,13187,
5208,15853,1873,13191,511,15796,13242,12428,13019,7855,341,16010,13277,13025,16E3,3745,15776,8005,15705,7131,3894,15680,12274,12847,6711,15493,12279,15495,7988,15992,14159,14879,15737,16015,3808,9563,14174,15957,15921,16006,11510,7586,15632,16029,15787,15702,12632,13218,13244,12635,6626,16064,15640,16061,16057,15655,15802,9721,15994,14161,15485,5208,15976,15734,15654,15961,16077,15597,15915,1230,15600,15922,16072,13931,2248,15760,15646,15722,2712,843,15725,11738,14723,7527,15910,15636,2235,15845,
16088,4111,14779,14479,15823,6780,15633,15843,12665,6867,15713,16065,12232,15988,16044,16111,15835,15657,14496,11191,6813,16114,15829,12481,13129,16135,16098,15945,1328,16101,16076,7547,16110,15895,9283,15998,12835,13311,16014,15823,16096,16125,16024,14275,9230,11372,11886,15861,9165,474,10786,101,13874,13675,12985,14190,357,15059,9488,8316,14345,13661,5414,15199,15167,15201,1019,12986,15481,15205,1727,15129,13757,15134,2815,1523,10472,14785,15410,15296,13651,12979,14344,12503,15052,3578,11386,14343,
8504,11942,12983,6253,14369,10579,11978,7313,11396,11939,11401,2972,13669,15051,16204,14413,11983,6383,14757,13508,5556,13978,3130,13785,15036,13850,5294,1747,3486,3796,9248,13746,10184,11786,14701,14137,11222,14890,294,4425,9731,9605,15035,14817,4191,14136,11259,16245,9108,16108,14519,16108,11740,16251,11742,16253,5883,572,14141,8660,2932,11239,14816,11337,1079,4887,13459,16248,11337,5294,16260,101,14143,10315,10340,280,14146,14825,16226,14875,14521,14570,15649,2070,13732,9111,13849,16281,10185,
16286,9209,16288,15320,1859,9413,10860,513,8330,1019,9401,701,10065,572,294,105,2839,8212,5447,6201,350,15777,8471,16195,10921,15041,7965,11599,13351,13679,1169,10647,13356,348,12178,5668,14555,15426,9123,8623,11213,16310,365,11155,13758,13433,15474,14936,14518,15297,34,15467,5482,5748,15442,1353,122,16345,1361,762,6568,13340,13389,16192,15476,9242,13345,10576,15594,409,15329,3020,10864,14992,12245,14794,9646,9644,10888,5904,5982,16368,10873,5976,9653,10876,5985,10874,9658,10884,9669,5927,9664,5994,
10890,10887,10886,10883,5986,10891,2001,8127,12943,13075,582,16357,13934,5139,13280,9498,13621,8199,13357,16397,10428,15471,6200,6213,14857,353,8096,5469,373,14842,8400,13518,5101,9202,5490,13540,2295,8270,9068,7464,9311,9288,16414,5283,3042,1874,13364,14854,16340,5790,1297,7403,13733,11260,11344,11352,10710,14954,14079,406,15941,2129,11936,14380,778,13802,5520,9879,9053,9879,7580,7467,14856,10965,10670,1816,15308,16359,556,2894,14443,6570,14445,9540,6273,7157,2610,11213,11208,953,13926,10105,11200,
1816,13925,11678,3537,13966,3597,13880,437,11537,8633,13652,10338,14689,14264,11894,13871,5668,14814,16162,1430,13670,10690,6140,16489,13744,4439,13900,16198,11378,2830,11558,16316,6038,14225,11982,9634,6383,10725,14615,12150,15331,3464,1676,11787,7735,1327,14703,14303,14705,5810,13473,1974,8435,7960,1505,109,14776,12719,6805,5644,16532,15535,12192,12355,8614,15773,2527,1676,16063,13936,8417,12460,8915,12502,12428,12508,11275,8668,2499,2850,11278,5407,12512,8674,5410,5911,16532,13333,288,11265,5814,
9195,3688,98,109,16465,9593,10609,16468,7931,4676,282,15013,14444,16575,14810,6273,1470,52,16573,7288,16467,16583,7931,745,9730,11641,16237,13720,16543,1442,14672,8939,3851,16587,696,16589,15016,6140,12964,9035,8027,5827,12969,437,10594,13803,14969,9221,14150,34,861,406,13650,16513,5261,16220,8033,4045,8278,13608,8224,16361,11804,6002,12746,2371,11244,14123,8234,14865,16416,4955,13446,13505,4315,9136,5520,8253,14847,15351,14851,16392,11131,8262,16645,8265,16647,8726,8243,15356,1565,279,16652,9583,
14848,8244,8127,3207,8129,5187,13601,13608,9685,16668,13595,13639,14100,11414,14114,1707,16358,16622,3543,1631,13625,14079,6006,14481,8806,1631,14484,12901,5385,8188,8178,15027,16457,3521,16692,8190,980,9418,1829,5083,14994,11770,717,16431,4426,11853,8178,9997,406,9281,13630,335,1881,6568,15453,14163,13740,6368,6006,9285,5376,7018,9282,3020,13738,11296,8247,338,2048,16708,14085,14394,13390,16696,16732,13476,1590,11312,4999,11315,5380,11320,10802,16649,7626,5677,14972,291,258,11182,11664,14826,13850,
4977,16686,11879,406,16689,16687,406,16683,13058,13524,14092,16221,13455,4977,16722,15805,1094,4977,9252,11884,6006,16712,10731,12943,16777,8582,55,16673,6984,411,16752,9215,11805,4049,8748,16749,114,16751,5477,3521,16733,16442,13697,3531,16766,14895,5556,14365,16730,15367,15435,13455,16803,554,16348,2527,16729,542,15429,15372,8150,9728,4770,16291,13848,16438,11734,16808,108,16774,14918,8035,16232,16778,11131,16770,16810,1442,13673,14122,16437,16249,6777,16688,13634,4385,1696,16786,5172,46,48,13509,
1094,14635,511,13916,4385,16347,5417,16159,9459,15127,13426,16208,6319,14144,16502,16491,10337,11869,16490,10927,13878,9288,10660,8503,14193,10838,11905,10407,10940,15186,10424,4088,1512,10948,16177,15224,15168,16300,15261,15255,16405,15291,6551,7203,11042,8388,10984,15297,3641,11035,9414,16678,9510,9625,14331,13652,9394,13655,16493,9141,16492,11944,13645,6149,16218,5605,16800,4420,120,16914,11650,8327,16917,11241,260,6091,1993,16635,11247,6515,1881,16925,3875,122,16920,16087,2932,16932,16784,16927,
111,7536,16398,16826,13455,14828,1456,16363,11075,16366,5963,16381,5901,9648,5897,16379,5915,9657,9722,10874,10877,10885,9646,10881,16960,16388,5979,16953,10889,9669,5991,9672,10887,10892,9114,16922,8009,3894,9676,16671,11958,11177,16935,9230,16677,1658,10956,13349,16340,10960,14855,1707,8207,9856,9895,8211,14186,14100,13360,11206,5633,16996,13350,13405,9026,8025,1517,10971,15439,4761,11457,11550,16998,16993,9618,6521,16984,10981,288,11822,11916,14104,13862,16462,14064,5116,14110,3618,9867,288,11889,
10856,16401,16680,6072,8799,8834,3584,8803,7735,1353,16727,9679,13681,14043,16719,7466,16910,13647,6207,8144,14823,15475,11737,9627,16440,11391,11977,16509,10294,1706,16508,16505,10658,9411,16336,9233,13436,10933,17031,340,11827,12595,13062,7615,3415,709,2102,14968,4213,16827,11177,12339,7270,17053,2362,9561,13484,6188,13612,16280,16328,11827,17076,4044,16222,4448,2206,14943,1036,2362,16017,6490,5077,1836,13560,16641,16420,7665,431,3408,7286,15649,603,11131,5621,17098,15744,7711,1811,3691,16941,4761,
1518,16730,17113,17075,16069,14839,384,17091,5075,13455,626,1836,5090,14663,330,6364,9248,17108,7529,15649,795,964,11767,16871,1591,4312,8122,6069,698,6389,1796,329,16730,7607,1836,4305,7873,567,10796,699,2701,10798,17160,531,14045,4588,9308,1013,17137,12299,17109,12786,15086,13781,520,17135,12874,17169,1587,13486,16289,17069,17124,14761,14780,12299,5560,7464,4252,5215,14668,13145,12304,13236,13414,17170,17139,17172,867,17107,12299,7536,1836,12269,14547,17082,2102,17099,7013,7712,1836,14547,17111,
17122,17178,3368,3894,17053,16832,511,8461,15658,15346,17104,13548,4962,17207,7563,7443,7445,48,16642,5028,9955,17123,17179,16595,11734,11827,17103,13547,15924,13838,13781,4425,7545,17087,16837,5796,17121,17136,17079,17186,17071,1303,6945,7581,1836,15407,15867,1562,666,17049,16338,10448,9014,11117,16197,7810,14315,9741,15021,337,5739,11508,17126,13443,4507,7443,17241,7610,13780,11606,17070,14510,17191,6674,709,16085,15569,16801,16616,11656,11834,13618,11775,3621,13423,8645,14362,16204,6083,10325,
10319,11560,16869,11562,13679,16624,14123,16847,16446,16828,11269,13528,8131,17130,13683,3795,16477,13396,9970,1822,8522,9821,15433,11293,1324,16757,2109,13937,741,16530,11134,11090,4294,17039,11143,14279,2833,12849,14284,4229,11141,5435,8677,14288,13197,16051,8048,15496,8934,16551,2833,11273,16553,16557,12510,16556,5769,8067,12514,8067,5776,12832,11285,17335,7772,3684,9611,13910,17067,7912,12942,14045,109,11525,17036,8805,1353,16470,9729,15415,11043,3618,10059,11503,3486,102,9712,5689,11275,9561,
16599,12901,16812,564,9754,17378,1795,17331,1678,13751,15616,16116,15306,876,17388,17390,5120,1312,15452,15782,8054,17407,79,17389,9864,17391,2850,6940,11188,8614,4530,14497,11222,16307,1898,17416,17409,1735,9002,17420,14713,5752,17268,12375,12505,17356,17360,9671,17357,12515,12513,16559,17443,16561,15533,14080,17375,17377,8837,17379,14920,17415,17417,3687,5422,17432,572,6870,15057,1564,16309,348,364,11647,16594,16895,6577,8383,11655,16410,11169,11165,12940,12978,11886,1420,9334,530,16406,16870,14120,
17313,7168,17476,8209,10248,11026,9017,2761,14869,10254,17237,13850,16247,13718,16821,13850,17337,14439,10791,3888,16825,3515,9621,11495,10968,9902,17030,8856,824,8833,716,8835,99,17399,16854,11095,17508,11070,6215,15174,16407,363,16311,13769,17372,787,13788,11191,10152,13858,12472,13856,10089,13653,3700,10476,16099,2416,9030,3758,8945,11509,14972,608,10255,12471,12879,12473,10177,17537,17531,9805,17549,13776,13857,11530,11545,10288,11552,16299,582,9712,17563,8410,13711,17540,16141,11238,8243,2597,
11509,4088,14667,12651,17536,10155,17552,11522,12882,13819,15824,15104,15718,11540,17560,17559,12878,10101,6039,12428,10799,16648,15353,11322,8504,17570,16929,8136,9829,9446,17557,13815,4029,17581,11544,17583,289,16332,351,9930,17612,13361,17584,15598,8734,6254,17605,17553,17580,17579,10218,422,8543,17600,16630,5104,16855,10906,6040,13869,17060,13872,8197,16166,16859,16871,1559,14342,11978,16217,17144,15060,16873,15103,10841,1052,16877,742,2144,6074,11874,13854,9185,10925,805,3199,9495,16396,10965,
9195,2212,17353,3377,17438,8055,16554,17358,5401,8066,2852,17444,5773,17446,8675,17482,13968,16410,17468,17021,9467,15345,16741,14846,10798,13830,9056,16656,15352,11321,8073,17682,1974,8378,8591,15030,10903,16225,17248,9410,9627,10491,11387,14601,17634,17301,10824,16868,10643,17307,10934,17646,11418,10839,16875,8781,10941,9495,258,4888,4890,16255,17683,4934,16257,16566,9900,315,9192,16354,17051,13652,16315,17635,8201,9153,11380,17643,10979,383,6171,4939,13437,16912,3543,11288,13151,11290,4768,15437,
14964,15454,7994,13460,16754,16289,11297,9063,8418,11266,3662,13464,16263,9979,1699,14793,16842,14795,435,9046,11346,11225,8483,11227,15570,11346,11311,10795,16743,14848,11321,16746,10219,9025,9863,720,17698,788,17543,16278,15430,11961,17629,4385,15033,16342,6144,17088,15464,6660,17700,15424,17758,16328,8985,11347,8091,9640,8331,17507,10676,16679,8856,8748,14945,99,9622,16914,6001,16802,16691,16737,3410,17028,716,16697,16738,16823,16394,741,17827,17523,16398,8246,12943,17829,17826,17521,9416,16700,
8404,5029,699,17518,16767,4420,11229,9242,6532,9505,8786,17841,5576,9872,9242,17694,2024,862,99,11525,17821,7464,14979,1790,9955,5467,466,16620,17030,866,17834,17510,17836,9141,609,3892,699,5852,2487,16233,11222,11860,9915,17820,16977,13508,6471,4420,16434,4590,16393,5131,8737,9845,8620,16244,11337,530,17843,6532,17834,17839,9997,383,9915,17863,17888,17291,6018,3395,17847,16625,11328,3677,16715,5699,17519,14053,6579,11587,17262,1597,17264,7897,13367,13915,1456,16853,14099,17306,16484,16459,656,11127,
15111,10741,9244,17501,8806,10786,679,1657,14813,14789,17701,11337,17344,16726,17929,14093,15026,16988,1658,437,17931,8845,13920,17922,257,15312,80,10399,10234,16735,16432,17683,34,17892,14953,16287,17499,16289,1631,1E3,16445,1442,16266,5816,5079,10452,11728,16836,14125,15049,14602,16449,17984,9201,13577,4685,8122,17992,17271,15938,17803,778,14734,17757,17801,15470,16456,16899,16458,353,17528,319,86,2705,7104,306,15042,17529,10287,4301,3042,5756,17412,8812,8543,1509,8734,10710,11222,1329,373,15932,
12559,626,279,716,964,3044,796,17665,277,11509,14983,14045,17781,16018,17588,17591,13793,13824,10205,5049,17756,12293,4769,9843,65,14323,1844,16268,15445,5521,4721,10416,11762,15511,17493,14878,18054,2047,18057,10184,4620,77,18050,15620,13823,17534,17551,17624,9350,404,3561,3563,461,14318,4547,3560,3562,4143,18082,9601,2780,18085,18081,3565,8559,13711,18062,11344,5580,117,11213,8446,6126,10668,11462,10250,9587,18071,18042,13774,12877,10259,18076,18047,13795,829,3047,9886,16819,15318,15425,17802,3267,
1390,15598,7938,18118,1625,11756,16328,4620,10700,2511,9988,10416,17621,17582,17607,18077,10006,10022,10010,277,18066,18056,13611,18058,319,386,14011,9972,4212,8979,4194,8706,2783,496,8122,732,1194,8712,15920,5883,666,12583,6813,2609,609,541,114,13890,14123,18128,18121,13653,14011,11136,112,6305,1583,407,18096,11734,11514,336,17869,18028,12824,7360,91,18031,11483,14928,18036,820,18038,18104,607,964,18132,4711,13713,18135,17609,18137,18113,11545,4620,10148,591,18199,9989,10783,17533,17589,18204,18075,
237,17592,6422,18060,13713,258,1872,1804,5520,2001,11505,3764,8399,8122,18225,5345,18227,3520,17365,9866,18055,1586,16717,6304,8383,804,14323,1808,8661,4999,477,796,6084,8122,18246,829,596,2965,4371,18219,4596,18143,18237,14256,4134,15246,16729,5799,8968,8290,6482,1118,4044,6185,282,107,2371,18176,18178,699,18181,16755,6279,14128,4441,108,18126,5681,17702,18269,4187,11195,15606,91,5531,18255,12607,18041,531,15334,11451,17631,8223,10907,16509,8502,18027,947,1808,17059,14351,14348,16501,16276,4527,
18306,17481,13341,15480,12988,16171,11417,256,5528,65,13048,14245,323,10607,15240,10503,4490,15279,13893,14959,15095,486,5176,14210,8579,18242,5031,17695,16882,15280,2321,15147,40,41,32,61,62,1333,4242,15349,15288,2310,542,310,598,15234,17270,261,1809,11606,15271,15241,16483,14054,9633,18339,18329,14808,16886,1426,8707,115,78,8444,15184,319,262,11177,17416,4698,666,4866,15114,10544,1644,18328,15225,18330,10378,4575,18381,18373,3683,16185,13967,16484,15134,2842,18360,14210,4116,15602,18377,18360,14214,
16883,16179,582,16870,18331,9980,11177,15265,7948,121,18380,3783,18392,680,18325,10544,1235,18265,15248,16178,15250,16581,8655,18410,18390,18417,18374,9495,3797,320,16621,8856,17309,7457,17311,17867,18412,14918,16669,16633,7475,17629,4197,16637,16628,1518,16635,18448,5023,16638,13501,16417,17224,17242,10794,13847,4955,16646,15350,17691,17785,9074,17838,17685,9201,18463,11316,9925,16664,16659,3006,11312,7810,18473,16658,8246,16666,8271,13600,18440,1039,17910,14123,16626,16425,17013,16676,18007,275,
11662,100,15090,278,16730,17050,16339,17969,8426,17505,4414,1478,6225,9010,12353,2176,383,14323,2611,13135,717,1796,3591,11084,9246,18507,13975,9807,1250,18511,666,2780,1235,18516,9350,11092,9713,14629,8797,16763,7087,8813,17329,14697,8797,16760,1419,1478,18534,12260,1478,18537,2218,1478,18540,996,9231,4936,18500,9512,7432,17008,18015,13851,10048,9451,18043,18074,18214,17623,18205,17610,17555,13821,18073,18138,12880,10214,18104,18208,4126,274,1885,18521,11518,18111,13825,18565,17537,14962,13798,10373,
14585,4087,13812,18561,18570,17608,12881,17554,15903,17586,18590,18582,18564,18216,18048,18460,4686,17689,16744,9927,17243,5452,13840,9905,18576,8826,18282,18014,13787,17603,17705,13791,18598,10167,18619,9350,15455,16694,16989,17786,13864,11549,15081,11551,11548,11553,15038,6529,10912,11400,8502,11379,12982,16211,10294,17637,17300,18640,6594,10308,5300,16167,17921,17746,17645,16172,273,13886,18568,10537,6357,388,15302,15451,14037,10949,15272,15344,17651,18194,15070,11178,111,68,16298,14807,18420,
16588,14902,416,10414,10104,13928,6545,17655,10492,1859,8687,11131,5553,14997,9299,9640,17512,10413,4426,9307,591,14917,9118,9853,11271,15346,3783,10062,9053,18700,5537,10060,10062,16482,9289,14115,9315,14999,9300,369,18458,17961,4009,1934,6300,944,2044,3146,10606,12976,3247]});
define("ie",["require","ed","ox"],function(a){function d(l){var p=c[l];if(p)return p;if("string"!=typeof l)return c[l]=function(){return l};var q=(p=f.exec(l))&&parseFloat(p[1]);switch(p&&p[4]&&p[4].toLowerCase()){case "vw":return c[l]=function(n){return n*q};case "vh":return c[l]=function(n,r){return r*q};case "vmin":return c[l]=function(n,r,u){return u*q};case "vmax":return c[l]=function(n,r,u,t){return t*q};default:return c[l]=function(){return l}}}function h(l){this.fb=l;this.KH=this.KH.bind(this);
this.fb.bind(b.ic,this.ec,this,!0);this.r9=new Map;this.Ot=[];this.ec()}function m(l,p,q,n){var r={};r.instance=l;r.eZa=p;r.name=q;r.value=n;g.push(r);e||(e=setTimeout(function(){e=null;k()},100))}function k(){e&&(clearTimeout(e),e=null);var l=g;g=[];l.forEach(function(p){h.yX(p.instance,p.eZa,p.name,p.value)})}a("ed");var b=a("ox");h.prototype.ec=function(){this.aSa();this.r9.forEach(function(l){for(var p in l)this.KH(l[p])}.bind(this));this.Ot.forEach(this.KH)};h.prototype.aSa=function(){var l=
this.fb.xb();this.qX=.01*this.fb.Wa();this.kX=.01*l;this.Wsa=Math.min(this.qX,this.kX);this.Vsa=Math.max(this.qX,this.kX)};h.prototype.KH=function(l){l(this.qX,this.kX,this.Wsa,this.Vsa)};h.prototype.ASa=function(l){this.Ot.push(l)};h.prototype.TWa=function(l){l=this.Ot.indexOf(l);0<=l&&this.Ot.splice(l,1)};h.prototype.yX=function(l,p,q,n){function r(t,v,w,x){p.call(l,q,u(t,v,w,x))}var u=d(n);(n=this.r9.get(l))||this.r9.set(l,n={});n[q]=r;r(this.qX,this.kX,this.Wsa,this.Vsa)};h.Uc=new Map;h.get=function(l){var p=
h.Uc.get(l);p||(p=new h(l),h.Uc.set(l,p));return p};h.yX=function(l,p,q,n){var r=l.get&&l.get("application")||l.Ib&&l.Ib();r?(k(),h.get(r).yX(l,p,q,n)):m(l,p,q,n)};var g=[],e=null,c={},f=/^\s*((\+|\-)?(\d*\.)?\d+)\s*(vmin|vmax|vw|vh|px|%)?\s*$/i;return h});
define("md",["require","exports"],function(){return function(){function a(){}a.Rva=function(d){if(this.Vh("crossorigin",!1)||this.EY(d)){var h=window.location.protocol+"//"+window.location.hostname;window.location.port&&(h+=":"+window.location.port);return d.substring(0,h.length)!=h}return!1};a.ew=function(d,h){if(this.HVa(d))d=window.location.protocol+d;else if(!this.EY(d)&&!this.hz(d)){if(h)if(0==d.indexOf("/")){var m=h.indexOf("//"),k="";0<=m&&(k=h.substr(0,m+2),h=h.substr(m+2));m=h.indexOf("/");
0<m&&(h=h.substr(0,m));d=k+h+d}else d=h+d;this.Am.href=d;d=this.Am.href}return d};a.yVa=function(){switch(window.location.protocol){case "http:":case "https:":return!0;default:return!1}};a.HVa=function(d){return 0===d.indexOf("//")};a.EY=function(d){if(!d)return!1;var h=d.indexOf("://");return 3<=h&&5>=h?!0:0==d.indexOf("filesystem:")};a.getDirectory=function(d){d=this.ew(d);d=d.split("?")[0];d=d.split("/");1<d.length&&d.splice(d.length-1,1);return d.join("/")+"/"};a.Yi=function(d){this.qG||(this.qG=
this.nka());return void 0!==this.qG[d]};a.getQueryParameter=function(d){this.qG||(this.qG=this.nka());return this.qG[d]};a.mza=function(d,h){var m=d.split(h);d=m[0];(m=m.slice(1).join(h))&&(m=h+m);return[d,m]};a.Uy=function(d,h){if(!h)return d;var m=this.mza(d,"#"),k=m[1];m=this.mza(m[0],"?");var b=m[0];m=m[1];return 0<=m.indexOf(h)?d:b+(m+(m?"&":"?")+h)+k};a.parse=function(d){this.Am.href=d;d={};d.protocol=this.Am.protocol;d.hostname=this.Am.hostname;d.port=this.Am.port;d.pathname=this.Am.pathname;
d.search=this.Am.search;d.hash=this.Am.hash;d.host=this.Am.host;var h=d.pathname?d.pathname.lastIndexOf("."):-1;d.GTa=0<=h?d.pathname.substr(h).toLowerCase():"";return d};a.getExtension=function(d){d=this.parse(d).pathname;var h=d.lastIndexOf(".");return 0<=h?d.substr(h,d.length):""};a.Vh=function(d,h){d=(this.getQueryParameter(d)||"").toLowerCase();return this.AWa(d,h)};a.AWa=function(d,h){switch(d){case "false":case "0":case "no":case "n":return!1;case "true":case "1":case "yes":case "y":return!0;
default:return h}};a.Lua=function(d,h){d=parseInt(this.getQueryParameter(d));return isNaN(d)?h:d};a.hY=function(d){d=parseFloat(this.getQueryParameter(d));return isNaN(d)?void 0:d};a.nka=function(){for(var d={},h=window.location.hash.substring(1).split("&").concat(window.location.search.substring(1).split("&")),m=0;m<h.length;m++){var k=h[m].split("="),b=decodeURIComponent(k[0]);k=1<k.length?decodeURIComponent(k[1]):null;d[b]=k}return d};a.Am=document.createElement("a");a.qG=null;a.hz=function(d){return d&&
0==d.indexOf("data:")};return a}()});
define("li",["require","exports"],function(){function a(e,c){function f(){}f.prototype=c.prototype;e.prototype=new f;e.prototype.constructor=e}function d(e,c){c.forEach(function(f){Object.getOwnPropertyNames(f).forEach(function(l){e.prototype[l]=f[l]})})}function h(e){setTimeout(function(){try{e()}catch(c){k("Deferred callback failed",c)}},1)}function m(e){if(e!=g){g=e;try{if(b){var c=document.createElement("div");c.innerText=e;b.insertBefore(c,b.childNodes[0]||null)}else console.log(e)}catch(f){}}}
function k(e,c){var f=[];f.push("Exception: "+e);c.message?(f.push(c.message),f.push(c.stack)):f.push(c);m(f.join("\n"))}var b,g;return{CX:d,xTa:function(e){for(;;){var c=e.pop();if(!c)break;if(c==e.length)break;e.splice(c,1)}c=[];for(var f=0;256>f;f+=1)c[f]=String.fromCharCode(f);var l=256,p=String.fromCharCode(e[0]),q=p;for(f=1;f<e.length;f+=1){var n=e[f];n=c[n]?c[n]:p+p.charAt(0);q+=n;c[l++]=p+n.charAt(0);p=n}return JSON.parse(q)},defer:h,deferred:function(e,c){return function(){var f=arguments;
h(function(){e.apply(c||window,f)})}},extend:function(){var e=arguments[arguments.length-1],c=Array.prototype.slice.call(arguments,1,arguments.length-1);a(e,arguments[0]);d(e,c);return e},ETa:function(e){b=document.createElement("div");b.style.overflow="auto";b.style.position="absolute";b.style.bottom="0";b.style.left="0";b.style.right="0";b.style.padding="20px";b.style.fontFamily="Verdana";b.style.backgroundColor="#FFFFFF";b.style.color="#000000";b.style.zIndex="100";e?b.style.top="0":(b.style.width=
"40%",b.style.right="0",b.style.left="auto",b.style.height="50%",b.style.filter="alpha(opacity=60)",b.style.opacity="0.6");document.body.appendChild(b);console.log=function(c){m(c)}},log:m,kP:k,zo:function(e,c){var f=!1;return function(){f||(f=!0,h(function(){f=!1;e.apply(c||window)}))}},NWa:function(e){for(var c=[],f=0;f<e;f++)c.push(Math.floor(16*Math.random()).toString(16));return c.join("")},toArray:function(e){return void 0===e||null===e?[]:Array.isArray(e)?e:[e]},eVa:function(e,c){if(e.length!=
c.length)return!1;for(var f=0;f<e.length;f++)if(e[f]!=c[f])return!1;return!0},isString:function(e){var c="[object "+e+"]";return function(f){return Object.prototype.toString.call(f)===c}}("String")}});
define("nq","require jquery.mod ed bo ie md li".split(" "),function(a){function d(c,f,l){this.NE=c;this.KJ=l;this.VU=f.parent;this.sKa=f.isValidRoot||!1;this.A7={};this.u7=[];this.toa=[];this.soa=[];this.YR={};c=f.properties||{};for(var p in c)l=c[p],this.A7[p]=l.type,l.isUrl&&this.toa.push(p),l.isSize&&this.soa.push(p),void 0!==l.order&&(this.u7[l.order]=p),void 0!==l["default"]&&(this.YR[p]=l["default"]);this.qoa=[];this.roa=[];f=f.events||{};for(var q in f)f[q].isDeferred?this.qoa.push(q):this.roa.push(q);
this.Gx=this.mx=this.kK=this.jW=this.GC=this.dX=this.SC=this.bF=this.BE=this.vJ=void 0;this.lla=!1}var h=a("jquery.mod"),m=a("ed"),k=a("bo"),b=a("ie"),g=a("md"),e=a("li");k=e.xTa(k);d.prototype.vUa=function(){if(this.VU)return d.Dj(this.VU)};d.prototype.jD=function(){return this.NE};d.prototype.OO=function(){return this.Cx()?this.ku().OO().concat(this.NE):[this.NE]};d.prototype.hasAttributes=function(){return 0<this.getAttributeNames().length};d.prototype.hasAttribute=function(c){return this.mba(c)?
!0:!1};d.prototype.getAttributeNames=function(){void 0==this.vJ&&this.mia();return this.vJ};d.prototype.Wua=function(){if(this.u7)return this.u7;if(this.Cx())this.ku().Wua();else return[]};d.prototype.Dua=function(){if(this.bF)return this.bF;this.bF={};if(this.Cx()){var c=this.ku().Dua(),f;for(f in c)this.bF[f]=c[f]}if(this.YR)for(f in this.YR)this.bF[f]=this.YR[f];return this.bF};d.prototype.mba=function(c){void 0==this.BE&&this.mia();return this.BE[c]};d.prototype.cVa=function(){return 0<this.eva().length};
d.prototype.eva=function(){void 0==this.SC&&this.uia();return this.SC};d.prototype.IUa=function(){void 0==this.dX&&this.uia();return this.dX};d.prototype.bVa=function(){return 0<this.cva().length};d.prototype.cva=function(){void 0==this.GC&&this.tia();return this.GC};d.prototype.GUa=function(){void 0==this.jW&&this.tia();return this.jW};d.prototype.SUa=function(){return 0<this.rba().length};d.prototype.qva=function(c){void 0==this.mx&&this.TE();return-1!=this.mx.indexOf(c)};d.prototype.rba=function(){void 0==
this.mx&&this.TE();return this.mx};d.prototype.WUa=function(){return 0<this.wba().length};d.prototype.rva=function(c){void 0==this.Gx&&this.TE();return-1!=this.Gx.indexOf(c)};d.prototype.wba=function(){void 0==this.Gx&&this.TE();return this.Gx};d.prototype.TUa=function(c){void 0==this.kK&&this.TE();return-1!=this.kK.indexOf(c)};d.prototype.fUa=function(){void 0==this.kK&&this.TE();return this.kK};d.prototype.Mua=function(){return this.sKa||this.Cx()&&this.ku().Mua()};d.prototype.Xm=function(c,f,l,
p){this.IMa(f,l);var q=this.KJ;var n=p&&0<p.length?new (e.extend(q,function(){q.apply(this,p)})):new q;n.set("application",c);n.set("baseDirectoy",f);n.set("queryStringParameters",l);n.set("class",this.jD());return n};d.prototype.IMa=function(c,f){this.lla||(this.lla=!0,this.fGa(c,f),this.XGa(),this.ACa())};d.prototype.fGa=function(c,f){if(this.cVa()||this.bVa()){var l=this.KJ.prototype,p=this.IUa(),q=this.GUa(),n=l.set;l.set=function(r,u){p[r]?(!u||g.hz(u)||g.EY(u)||(u=g.Uy(g.ew(u,c),f)),n.call(this,
r,u)):q[r]?b.yX(this,n,r,u):n.call(this,r,u)}}};d.prototype.ACa=function(){var c=this.KJ.prototype;this.getAttributeNames().forEach(function(f){Object.defineProperty(c,f,{get:function(){return this.get(f)},set:function(l){this.set(f,l)},enumerable:!0,configurable:!0})})};d.prototype.XGa=function(){var c=this.KJ.prototype,f=this;this.hasAttributes()&&(c.set=c.set,c.get=c.get);if(this.SUa()||this.WUa())c.bind=c.bind,c.getBindings=c.XH,c.hasBindings=c.ova,c.trigger=c.trigger,c.unbind=c.unbind;c.getClassName=
function(){return f.jD()};c.getClassPath=function(){return f.OO()};c.getAttributeNames=function(){return f.getAttributeNames()};c.getEventNames=function(){return f.fUa()};c.hasEvent=function(l){return f.TUa(l)}};d.prototype.mia=function(){this.vJ=[];this.BE={};for(var c in this.A7)this.vJ.push(c),this.BE[c]=d.y4(this.A7[c]);if(this.Cx())for(var f=this.ku(),l=f.getAttributeNames(),p=0;p<l.length;p++)c=l[p],this.BE[c]||(this.vJ.push(c),this.BE[c]=f.mba(c))};d.prototype.uia=function(){this.SC=this.toa.slice();
this.Cx()&&(this.SC=m(this.SC).union(this.ku().eva()));this.dX={};for(var c=0;c<this.SC.length;c++)this.dX[this.SC[c]]=!0};d.prototype.tia=function(){this.GC=this.soa.slice();this.Cx()&&(this.GC=m(this.GC).union(this.ku().cva()));this.jW={};for(var c=0;c<this.GC.length;c++)this.jW[this.GC[c]]=!0};d.prototype.TE=function(){this.mx=this.qoa.slice();this.Gx=this.roa.slice();this.Cx()&&(this.mx=m(this.mx).union(this.ku().rba()),this.Gx=m(this.Gx).union(this.ku().wba()));this.kK=m(this.mx).union(this.Gx)};
d.prototype.Cx=function(){return this.VU?!0:!1};d.prototype.ku=function(){return d.Dj(this.VU)};d.l2=new Map;d.Qha=new Map;d.define=function(c,f,l){f=e.extend(f,function(){l.apply(this,arguments);var q=p.Dua(),n;for(n in q)this.set(n,q[n])});var p=new d(c,k[c],f);d.l2.set(c,p);d.Qha.set(f,p);return f};d.getAll=function(){var c=[];d.l2.forEach(function(f){c.push(f)});return c};d.Dj=function(c){return d.l2.get(c)};d.TTa=function(c){return d.Qha.get(c)};d.Ka=function(c,f){c=d.Dj(c);if(m(f).isNull())return!0;
if(f&&f.constructor)for(f=d.TTa(f.constructor);f;){if(f==c)return!0;f=f.vUa()}return!1};d.y4=function(c){switch(c){case "string":case "code":return d.VPa;case "number":return d.OKa;case "bool":return d.XDa;case "color":return d.YEa;case "percent":return d.sMa;case "size":return d.oPa;case "identifier":return d.DJa;case "array":return d.Sga;case "canvas":return d.yEa;case "img":return d.GJa;case "dict":return d.tMa;case "*":return d.LGa;default:if(d.aKa(c))switch(d.PHa(c)){case "array":var f=d.y4(d.Eja(c));
return function(q,n){q=d.Sga(q,n);for(var r=0;r<q.length;r++)q[r]=f(q[r],n);return q};case "enum":var l=d.Fja(c);return d.RHa(l);case "or":l=d.Fja(c);var p=m(l).map(function(q){return d.y4(q)});return function(q,n){for(var r=0;r<p.length;r++)try{return p[r](q,n)}catch(u){}throw"Invalid value";};default:throw"Invalid type validator definition: "+c;}else return d.pm(function(q){return d.Ka(c,q)})}};d.aKa=function(c){return 0<=c.indexOf("[")&&c.lastIndexOf("]")==c.length-1};d.PHa=function(c){return c.substring(0,
c.indexOf("["))};d.Eja=function(c){return c.substring(c.indexOf("[")+1,c.lastIndexOf("]"))};d.Fja=function(c){c=d.Eja(c);for(var f=[],l="",p=0,q=0;q<c.length;q++){var n=c.charAt(q);l+=n;switch(n){case "[":p++;break;case "]":p--;break;case ",":0==p&&(f.push(l.substr(0,l.length-1)),l="")}}""!=l&&f.push(l);return m(f).map(function(r){return d.OQa(r)})};d.OQa=function(c){return c.replace(/^\s+|\s+$/g,"")};d.pm=function(c){return function(f,l){if(!c(f)){if("string"!=typeof f)throw"Invalid value";f=d.VGa(f,
l);if(!c(f))throw"Invalid value";}return f}};d.VGa=function(c,f){return function(){return eval(c)}.call(f)};d.LGa=function(c){return c};d.OKa=d.pm(function(c){return"[object Number]"==Object.prototype.toString.call(c)});d.VPa=d.pm(function(c){return"string"==typeof c||null===c});d.XDa=d.pm(function(c){return!0===c||!1===c});d.Sga=d.pm(function(c){return"[object Array]"==Object.prototype.toString.call(c)});d.yEa=d.pm(function(c){return c&&"CANVAS"==c.tagName});d.GJa=d.pm(function(c){return c&&"IMG"==
c.tagName});d.RHa=function(c){return d.pm(function(f){return-1!=c.indexOf(f)})};d.vS=function(c,f){return m(c).isString()&&f.test(c)};d.DJa=d.pm(function(c){return d.vS(c,RegExp("^[a-z][a-z0-9_]*$","i"))});d.sMa=d.pm(function(c){return d.vS(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)%\\s*$","i"))});d.oPa=d.pm(function(c){return d.vS(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)\\s*((vw)|(vh)|(vmin)|(vmax)|(px))\\s*$","i"))});d.YEa=d.pm(function(c){return d.vS(c,RegExp("^#[0-9a-f]{6}$","i"))});d.tMa=d.pm(function(c){try{return h.isPlainObject(c)}catch(f){return!1}});
window.TDV.PlayerAPI.getClassByName=function(c){return d.Dj(c).KJ};return d});
define("iA",["require"],function(){function a(){b[0]=b[1]=b[2]=b[3]=b[4]=b[5]=b[6]=b[7]=b[8]=b[9]=b[10]=b[11]=b[12]=b[13]=b[14]=b[15]=b[16]=0;this.Oaa=b;this.VO=1779033703;this.WO=3144134277;this.XO=1013904242;this.YO=2773480762;this.ZO=1359893119;this.$O=2600822924;this.aP=528734635;this.bP=1541459225;this.block=this.start=this.Xy=this.Kba=0;this.kba=this.wY=!1;this.first=!0}var d="0123456789abcdef".split(""),h=[-2147483648,8388608,32768,128],m=[24,16,8,0],k=[1116352408,1899447441,3049323471,3921009573,
961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,
883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],b=[];a.prototype.update=function(g){if(!this.kba){for(var e,c=0,f,l=g.length,p=this.Oaa;c<l;){this.wY&&(this.wY=!1,p[0]=this.block,p[16]=p[1]=p[2]=p[3]=p[4]=p[5]=p[6]=p[7]=p[8]=p[9]=p[10]=p[11]=p[12]=p[13]=p[14]=p[15]=0);for(f=this.start;c<l&&64>f;++c)e=g.charCodeAt(c),128>e?p[f>>2]|=e<<m[f++&3]:(2048>e?p[f>>2]|=(192|e>>6)<<m[f++&3]:(55296>e||57344<=e?p[f>>
2]|=(224|e>>12)<<m[f++&3]:(e=65536+((e&1023)<<10|g.charCodeAt(++c)&1023),p[f>>2]|=(240|e>>18)<<m[f++&3],p[f>>2]|=(128|e>>12&63)<<m[f++&3]),p[f>>2]|=(128|e>>6&63)<<m[f++&3]),p[f>>2]|=(128|e&63)<<m[f++&3]);this.PVa=f;this.Xy+=f-this.start;64<=f?(this.block=p[16],this.start=f-64,this.hash(),this.wY=!0):this.start=f}4294967295<this.Xy&&(this.Kba+=this.Xy/4294967296<<0,this.Xy%=4294967296);return this}};a.prototype.nua=function(){if(!this.kba){this.kba=!0;var g=this.Oaa,e=this.PVa;g[16]=this.block;g[e>>
2]|=h[e&3];this.block=g[16];56<=e&&(this.wY||this.hash(),g[0]=this.block,g[16]=g[1]=g[2]=g[3]=g[4]=g[5]=g[6]=g[7]=g[8]=g[9]=g[10]=g[11]=g[12]=g[13]=g[14]=g[15]=0);g[14]=this.Kba<<3|this.Xy>>>29;g[15]=this.Xy<<3;this.hash()}};a.prototype.hash=function(){var g=this.VO,e=this.WO,c=this.XO,f=this.YO,l=this.ZO,p=this.$O,q=this.aP,n=this.bP,r=this.Oaa,u;for(u=16;64>u;++u){var t=r[u-15];var v=(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3;t=r[u-2];t=(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10;r[u]=r[u-16]+v+r[u-7]+t<<0}var w=
e&c;for(u=0;64>u;u+=4){if(this.first){var x=704751109;t=r[0]-210244248;n=t-1521486534<<0;f=t+143694565<<0;this.first=!1}else{v=(g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10);t=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7);x=g&e;var y=x^g&c^w;var A=l&p^~l&q;t=n+t+A+k[u]+r[u];v+=y;n=f+t<<0;f=t+v<<0}v=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10);t=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7);w=f&g;y=w^f&e^x;A=n&l^~n&p;t=q+t+A+k[u+1]+r[u+1];v+=y;q=c+t<<0;c=t+v<<0;v=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10);
t=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25|q<<7);x=c&f;y=x^c&g^w;A=q&n^~q&l;t=p+t+A+k[u+2]+r[u+2];v+=y;p=e+t<<0;e=t+v<<0;v=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10);t=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7);w=e&c;y=w^e&f^x;A=p&q^~p&n;t=l+t+A+k[u+3]+r[u+3];v+=y;l=g+t<<0;g=t+v<<0}this.VO=this.VO+g<<0;this.WO=this.WO+e<<0;this.XO=this.XO+c<<0;this.YO=this.YO+f<<0;this.ZO=this.ZO+l<<0;this.$O=this.$O+p<<0;this.aP=this.aP+q<<0;this.bP=this.bP+n<<0};a.prototype.fVa=function(){this.nua();var g=this.VO,
e=this.WO,c=this.XO,f=this.YO,l=this.ZO,p=this.$O,q=this.aP,n=this.bP;return d[g>>28&15]+d[g>>24&15]+d[g>>20&15]+d[g>>16&15]+d[g>>12&15]+d[g>>8&15]+d[g>>4&15]+d[g&15]+d[e>>28&15]+d[e>>24&15]+d[e>>20&15]+d[e>>16&15]+d[e>>12&15]+d[e>>8&15]+d[e>>4&15]+d[e&15]+d[c>>28&15]+d[c>>24&15]+d[c>>20&15]+d[c>>16&15]+d[c>>12&15]+d[c>>8&15]+d[c>>4&15]+d[c&15]+d[f>>28&15]+d[f>>24&15]+d[f>>20&15]+d[f>>16&15]+d[f>>12&15]+d[f>>8&15]+d[f>>4&15]+d[f&15]+d[l>>28&15]+d[l>>24&15]+d[l>>20&15]+d[l>>16&15]+d[l>>12&15]+d[l>>
8&15]+d[l>>4&15]+d[l&15]+d[p>>28&15]+d[p>>24&15]+d[p>>20&15]+d[p>>16&15]+d[p>>12&15]+d[p>>8&15]+d[p>>4&15]+d[p&15]+d[q>>28&15]+d[q>>24&15]+d[q>>20&15]+d[q>>16&15]+d[q>>12&15]+d[q>>8&15]+d[q>>4&15]+d[q&15]+d[n>>28&15]+d[n>>24&15]+d[n>>20&15]+d[n>>16&15]+d[n>>12&15]+d[n>>8&15]+d[n>>4&15]+d[n&15]};a.prototype.digest=function(){this.nua();var g=this.VO,e=this.WO,c=this.XO,f=this.YO,l=this.ZO,p=this.$O,q=this.aP,n=this.bP;return[g>>24&255,g>>16&255,g>>8&255,g&255,e>>24&255,e>>16&255,e>>8&255,e&255,c>>
24&255,c>>16&255,c>>8&255,c&255,f>>24&255,f>>16&255,f>>8&255,f&255,l>>24&255,l>>16&255,l>>8&255,l&255,p>>24&255,p>>16&255,p>>8&255,p&255,q>>24&255,q>>16&255,q>>8&255,q&255,n>>24&255,n>>16&255,n>>8&255,n&255]};return function(g){return(new a(!0)).update(g).fVa()}});
define("bV",["require","iA"],function(a){function d(k){var b=Array.isArray(k)?"array":null===k?"null":typeof k;switch(b){case "array":return"["+k.map(d).join(",")+"]";case "object":return"{"+Object.keys(k).sort().map(function(g){return d(g)+":"+d(k[g])}).join(",")+"}";case "boolean":return k?"true":"false";case "number":return k.toFixed(3);case "string":return'"'+k.split('"').join('\\"')+'"';case "null":case "undefined":return b;case "function":return"<"+b+">"}return""}function h(k){return k.map(function(b){return String.fromCharCode(b)}).join("")}
var m=a("iA");return{validate:function(k){var b=[104,97,115,104],g=k[h(b)];delete k[h(b)];k=h([116,100,118])+d(k);return m(k)==g}}});
define("ll",["require","exports","li"],function(a,d,h){function m(){var f=g.length,l=g.splice(0,f);b+=f;for(var p=0;p<f;p++){var q=l[p];if(q)try{q()}catch(n){h.kP("Error in async task",n)}}}var k=0,b=0,g=[],e,c=new Promise(function(f){f()});setInterval(function(){0<g.length&&100<(new Date).getTime()-e&&m()},100);return{qz:function(f,l){void 0===l&&(l=void 0);if(void 0!==l&&0<l)return-1-setTimeout(f,l||1);0==g.length&&(c.then(m),e=(new Date).getTime());k++;g.push(f);return k-1},cancel:function(f){if(0>
f)clearTimeout(-1-f);else{var l=f-b;if(0<=l){if(!g[l])throw"invalid async handle: "+f;g[l]=null}}}}});
define("gf",["require","exports","cw","ll","li"],function(a,d,h,m,k){var b=function(){return function(){}}();return function(){function g(){this.Hc={}}g.prototype.OSa=function(e,c,f){this.jha(e,c,f,!0,c,!0)};g.prototype.bind=function(e,c,f,l,p){return this.jha(e,c,f,l,p||c,!1)};g.prototype.jha=function(e,c,f,l,p,q){if(void 0===e)throw"Event name undefined";if(void 0===c)throw"Event handler undefined";f=f||this;l=l?!0:!1;e in this.Hc||(this.Hc[e]=[]);var n=new b;n.cP=c;n.PUa=p||c;n.context=f;n.Lva=
l;e=this.Hc[e];q?e.unshift(n):e.push(n);return this};g.prototype.unbind=function(e,c,f){e in this.Hc&&(f=f||this,this.Hc[e]=this.Hc[e].filter(function(l){return l.cP!=c||l.context!=f}),0==this.Hc[e].length&&delete this.Hc[e]);return this};g.prototype.JZa=function(e){e in this.Hc&&delete this.Hc[e]};g.prototype.Tda=function(){this.Hc={}};g.prototype.trigger=function(e,c){void 0===c&&(c=void 0);"string"==typeof e&&(e=new h(e,c));e.name in this.Hc&&(e.source=this,this.Tw(e,!0),e.name in this.Hc&&this.gGa(e));
return this};g.prototype.gGa=function(e){g.ZR.push({caller:this,event:e});g.p3||(g.p3=!0,m.qz(g.Cia))};g.Cia=function(){for(var e=(new Date).getTime()+1E3;g.ZR.length;){var c=g.ZR.shift();g.prototype.Tw.call(c.caller,c.event,!1);if((new Date).getTime()>e)break}0<g.ZR.length?m.qz(g.Cia,1):g.p3=!1};g.prototype.ova=function(e){return e in this.Hc};g.prototype.XH=function(e,c){var f=[];e=this.Hc[e]||[];for(var l=0;l<e.length;l++){var p=e[l];void 0!==c&&p.Lva!=c||f.push(p.PUa)}return f};g.prototype.Tw=
function(e,c){var f=this;e.unbindCurrentHandler=function(){q&&f.unbind(e.name,q.cP,q.context)};if(e.name in this.Hc)for(var l=this.Hc[e.name],p=0;p<l.length;p++){var q=l[p];if(q.Lva==c)try{q.cP.call(q.context,e)}catch(n){k.kP("Exception handling event "+e.name,n)}}};g.ZR=[];g.p3=!1;return g}()});
define("lJ",["require","exports","ox","cw","gf"],function(a,d,h,m,k){return function(b){function g(){var e=b.call(this)||this;e.It={};return e}Z(g,b);g.prototype.set=function(e,c){this.It[e]!=c&&(this.It[e]=c,this.Qra(e))};g.prototype.Qra=function(e){e=new m(h.G(e));this.trigger(e)};g.prototype.copy=function(e){this.It={};for(var c in e.It)this.It[c]=e.It[c];return this};g.prototype.get=function(e,c){void 0===c&&(c=void 0);e=this.It[e];return void 0!==e?e:c};return g}(k)});
define("eZ",["require"],function(){function a(d,h,m){this.set("undefined"!=typeof d?d:0,"undefined"!=typeof h?h:0,"undefined"!=typeof m?m:0)}a.prototype.set=function(d,h,m){this.x=d;this.y=h;this.z=m;return this};a.prototype.clone=function(){return new a(this.x,this.y,this.z)};a.prototype.apply=function(d){d.EH(this)};a.prototype.project=function(d){d.project(this)};return a});
define("a",["require","li","eZ"],function(a){var d=a("li"),h=a("eZ"),m=d.extend(h,function(k,b,g){h.call(this,k,b,g)});m.prototype.clone=function(){return new m(this.x,this.y,this.z)};m.prototype.Rc=function(){return 0==this.x&&0==this.z?0:-Math.atan2(this.x,this.z)};m.prototype.Lc=function(){return 0==this.y&&0==this.z?0:Math.atan2(this.y,Math.sqrt(this.z*this.z+this.x*this.x))};m.prototype.yba=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)};m.prototype.AI=function(k){k/=
this.yba();this.x*=k;this.y*=k;this.z*=k;return this};m.prototype.normalize=function(){return this.AI(1)};m.prototype.dD=function(k){return this.x*k.x+this.y*k.y+this.z*k.z};m.prototype.LX=function(k){var b=this.z*k.x-this.x*k.z,g=this.x*k.y-this.y*k.x;this.x=this.y*k.z-this.z*k.y;this.y=b;this.z=g;return this};m.az=function(k,b){return new m(b.x-k.x,b.y-k.y,b.z-k.z)};m.fY=function(k,b,g,e,c,f){k=e-k;b=c-b;g=f-g;return Math.sqrt(k*k+b*b+g*g)};m.Bs=function(k,b){return new m(Math.cos(b)*Math.sin(k),
Math.sin(b),Math.cos(b)*Math.cos(k))};return m});
define("jf",["require","lJ","nq","a"],function(a){var d=a("lJ"),h=a("nq"),m=a("a");a=h.define("AdjacentPanorama",d,function(){d.call(this);this.laa=this.Zt=void 0});a.prototype.Fua=function(){if(void 0===this.Zt){for(this.Zt=this.Wja()-this.get("yaw");180<this.Zt;)this.Zt-=360;for(;-180>this.Zt;)this.Zt+=360}return this.Zt};a.prototype.eUa=function(){void 0===this.laa&&(this.laa=m.Bs(this.Wja()*Math.PI/180,0));return this.laa};a.prototype.USa=function(){return void 0!==this.get("yaw")&&void 0!==this.get("backwardYaw")};
a.prototype.Wja=function(){return this.get("backwardYaw")-180};return a});define("hR",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("AmbientLight",d,function(){d.call(this)})});
define("fc",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("Model3DPostprocessing",d,function(){d.call(this)});a.prototype.WP=function(h){this.Oh!==h&&(this.Oh=h,this.dsa())};a.prototype.Zv=function(h){this.YF!==h&&(this.YF=h,this.dsa())};a.prototype.dsa=function(){this.set("disabled",this.YF&&this.get("disableWhileMoving")||this.Oh&&this.get("disableWhileUserInteracting"))};return a});
define("nw",["require","nq","fc"],function(a){var d=a("nq"),h=a("fc");return d.define("AmbientOcclusionModel3DPostprocessing",h,function(){h.call(this)})});define("kK",["require"],function(){return{T:"stopped",X:"playing",Db:"paused"}});define("fb",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("ImageResource",d,function(){d.call(this)})});
define("en","require li ox kK nq fb".split(" "),function(a){a("li");var d=a("ox"),h=a("kK"),m=a("nq"),k=a("fb");a=m.define("AnimatedImageResource",k,function(){k.call(this)});a.prototype.play=a.prototype.play=function(){this.set("state",h.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",h.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",h.T)};a.prototype.set=function(b,g){switch(b){case "state":(this.get("state")||h.T)==h.T&&g==h.X&&this.trigger(d.tn)}k.prototype.set.call(this,
b,g)};a.prototype.Ej=function(b,g,e){g||(g=1);e||(e=1);return k.prototype.Ej.call(this,b,g*this.get("colCount",1),e*this.get("rowCount",1))};return a});define("dZ",["require","nq","fc"],function(a){var d=a("nq"),h=a("fc");return d.define("AntialiasModel3DPostprocessing",h,function(){h.call(this)})});
define("if",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("HotspotMapOverlay",d,function(h){d.call(this);this.KG=void 0===h?!0:h;this.PF=this.bq=this.aq=this.wa=void 0});a.prototype.getItem=function(){if(void 0===this.wa){var h=this.get("image");this.wa=h?h.KX(this.KG):null}return this.wa};a.prototype.ava=function(){if(void 0===this.aq){var h=this.get("rollOverImage");this.aq=h?h.KX(this.KG):null}return this.aq};a.prototype.bva=function(){if(void 0===this.bq){var h=this.get("selectedImage");
this.bq=h?h.KX(this.KG):null}return this.bq};a.prototype.qUa=function(){if(void 0===this.PF){this.PF=[];var h=this.getItem();h&&this.PF.push(h);(h=this.ava())&&this.PF.push(h);(h=this.bva())&&this.PF.push(h)}return this.PF};return a});define("eM",["require","nq","if"],function(a){var d=a("nq"),h=a("if");return d.define("AreaHotspotMapOverlay",h,function(){h.call(this,!0)})});define("nW",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("AudioResource",d,function(){d.call(this)})});
define("cL",["require"],function(){return{cA:"inAdvance",kea:"delayed"}});
define("bc",["require","exports"],function(){return function(){function a(){}a.bA="grab";a.Zh="grabbing";a.hBa="move";a.Zea="move-n";a.$ea="move-ne";a.Qea="move-e";a.cfa="move-se";a.bfa="move-s";a.dfa="move-sw";a.efa="move-w";a.afa="move-nw";a.iBa="move-ew";a.kBa="move-ns";a.jBa="move-nesw";a.lBa="move-nwse";a.Sea="move-fast-n";a.Tea="move-fast-ne";a.Rea="move-fast-e";a.Wea="move-fast-se";a.Vea="move-fast-s";a.Xea="move-fast-sw";a.Yea="move-fast-w";a.Uea="move-fast-nw";a.Ze="hand";a.kA="transparent";
a.Be="default";a.jt="inherit";return a}()});
define("hk",["require","ox"],function(a){function d(){this.Gi=[]}var h=a("ox");d.prototype.register=function(m){this.BCa(m);this.Gi.push(m);m.get("pressed")&&this.$pa(m)};d.prototype.unregister=function(m){this.YMa(m)};d.prototype.BCa=function(m){m.bind(h.Pj,this.yma,this,!0)};d.prototype.YMa=function(m){m.unbind(h.Pj,this.yma,this)};d.prototype.yma=function(m){this.$pa(m.source)};d.prototype.$pa=function(m){this.Gi.forEach(function(k){k.set("pressed",k==m)})};d.register=function(m,k){this.unregister(m);
k=this.ci(k);m.f1=k;k.register(m)};d.unregister=function(m){m.f1&&(m.f1.unregister(m),delete m.f1)};d.ci=function(m){return this.Wka[m]||(this.Wka[m]=new d)};d.Wka={};return d});define("ea",["require"],function(){return{Ce:"push",Rj:"toggle"}});define("hD",["require"],function(){return{qE:"visible",Aea:"hidden",Vo:"scroll"}});define("gG",["require"],function(){return{Be:void 0,U:"over",ob:"pressed",$b:"pressedOver",ba:"selected"}});
define("mL",["require"],function(){return{Oa:"left",hb:"right",Ae:"center",tc:"top",oc:"bottom",ee:"middle"}});define("fy",["require"],function(){return{Tc:"rollOver",ALWAYS:"always"}});
define("v",["require","exports","li","md"],function(a,d,h,m){function k(e){return!!(window.location.hash&&0<=window.location.hash.indexOf("device="+e))}var b={};b.Di=TDV.pb.EQ;b.VD=TDV.pb.u0;b.S0=TDV.pb.jfa;b.D_a=TDV.pb.y0;b.Gea=TDV.pb.v0;b.$Aa=TDV.pb.ifa;b.q_a=TDV.pb.x0;b.w0=TDV.pb.w0;b.RI=TDV.pb.RI;b.n_=TDV.pb.n_;b.m_=TDV.pb.m_;b.l_=TDV.pb.l_;b.o_=TDV.pb.o_;b.Xh=TDV.pb.Xh;b.lQ=TDV.pb.lQ;b.Wl=TDV.pb.Wl;b.Nk=TDV.pb.Nk;b.ZD=TDV.pb.ZD;b.kw=TDV.pb.kw;b.kQ=TDV.pb.kQ;b.Gz=TDV.pb.Gz;b.j_=TDV.pb.j_;b.QI=
TDV.pb.QI;b.Rq=TDV.pb.Rq;b.pQ=TDV.pb.pQ;b.k_=TDV.pb.k_;b.NI=TDV.pb.NI;b.mQ=TDV.pb.mQ;b.$D=TDV.pb.$D;b.OI=TDV.pb.OI;b.Iz=TDV.pb.Iz;b.gea=TDV.pb.gea;b.Hz=TDV.pb.Hz;b.Zs=TDV.pb.Zs;b.lw=TDV.pb.lw;b.nQ=TDV.pb.nQ;b.oQ=TDV.pb.oQ;b.p_=TDV.pb.p_;b.s_=TDV.pb.s_;b.cE=TDV.pb.cE;b.t_=TDV.pb.t_;b.u_=TDV.pb.u_;b.wx=function(e){e="force_"+e;if(m.Yi("debug")&&m.Yi(e))return m.getQueryParameter(e)};b.pHa=b.wx("os");b.de=function(){return b.pHa||TDV.pb.de};b.kHa=b.wx("browser");b.browser=function(){return b.kHa||TDV.pb.browser};
b.lHa=b.wx("browser_type");b.GH=function(){return b.lHa||TDV.pb.GH};b.rja=b.wx("browser_subtype");b.cd=function(){return b.rja?b.rja:TDV.pb.cd};b.mHa=b.wx("browser_version");b.Eta=function(){return b.mHa||TDV.pb.Eta};b.oHa=b.wx("device");b.$y=function(){return b.oHa||TDV.pb.$y};b.mb=function(){return TDV.pb.mobile};b.YGa=function(){for(var e=navigator.userAgent.toLowerCase(),c=["SM-G960","SM-G965"],f=0;f<c.length;f++)if(0<=e.indexOf(c[f].toLowerCase()))return!0;return!1}();b.uHa=function(){for(var e=
navigator.userAgent.toLowerCase(),c="SM-G920 SM-G925 SM-G928 SM-N920 SM-G930 SM-G935 SC-02H SM-G950 SM-G955 SM-N950 SM-G960 SM-G965 SM-N960 SM-G970 SM-G973 SM-G975 SM-G977 SM-N970 SM-N975".split(" "),f=0;f<c.length;f++)if(0<=e.indexOf(c[f].toLowerCase()))return!0;return!1}();b.sja=b.wx("gearvrcompatible");b.LO=function(){return void 0!==b.sja?"true"==b.sja:b.uHa};b.DEa=b.browser()!=b.Nk||0>navigator.userAgent.indexOf("; wv")?!1:!0;b.nHa=!!b.wx("chromewebview");b.Nta=function(){return b.nHa||b.DEa};
b.Nf=function(){return b.cd()==b.Rq||b.cd()==b.pQ||b.cd()==b.Zs||b.cd()==b.lw||b.cd()==b.Hz};b.Zba=function(){return b.GY()||b.DVa()||b.LVa()||b.FVa()};b.IY=function(){return b.cd()==b.Zs||b.cd()==b.lw};b.MVa=function(){return b.cd()==b.lw};b.j0a=function(){return k("picog2")};b.i0a=function(){return k("piconeo2")};b.DVa=function(){return k("piconeo3")};b.FVa=function(){return k("picoxr")};b.LVa=function(){return k("vivefocus")};b.GY=function(){return k("oculusquest")?!0:b.cd()==b.Rq&&0<=navigator.userAgent.indexOf("Quest 2")};
b.IVa=function(){return b.cd()==b.Rq&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")};b.f0a=function(){return b.cd()==b.Rq&&0>navigator.userAgent.indexOf("Quest")};b.Uva=function(){return b.Nf()&&b.LO()};b.iC=void 0;b.JWa=function(){void 0===b.iC&&(b.iC=parseInt(m.getQueryParameter("sts")),isNaN(b.iC)&&(b.Nf()&&!b.YGa?b.iC=512:b.mb()&&b.de()==b.Di?b.iC=512:b.iC=b.mb()?256:1024));return b.iC};b.DNa=function(){if(b.browser()==b.Wl||b.browser()==b.Xh)try{var e=/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent);
if(e)return parseFloat(e[1])}catch(c){}}();b.FP=function(){return b.DNa};b.AJa=function(){try{var e=parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||!1}catch(c){}e||(e=b.FP());return e}();b.tD=function(){return b.AJa};b.cDa=function(){if(b.de()==b.VD)try{var e=/Android ([0-9]+\.?[0-9]*)/i.exec(navigator.userAgent);if(e)return parseFloat(e[1])}catch(c){}}();b.LSa=function(){return b.cDa};
b.Cka=function(){var e={jva:"unknown",ywa:1},c=document.createElement("canvas");if(c&&(c=c.getContext("webgl")||c.getContext("experimental-webgl"))){var f=c.getExtension("WEBGL_debug_renderer_info");f&&(e.jva=c.getParameter(f.UNMASKED_RENDERER_WEBGL));e.maxTextureSize=c.getParameter(c.MAX_TEXTURE_SIZE);if(f=c.getExtension("EXT_texture_filter_anisotropic")||c.getExtension("MOZ_EXT_texture_filter_anisotropic")||c.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))e.ywa=c.getParameter(f.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return e}();
b.iva=function(){return b.Cka};b.eDa=function(){var e=b.Cka.jva.match(/Apple\s+(.+)\s+GPU/);return e?e[1].toUpperCase():"unknown"}();b.a0a=function(){return b.eDa};b.kKa=b.$y()==b.cE?!0:!1;b.Mv=function(){return b.kKa};b.Taa=function(){return b.browser()==b.Wl&&14<=b.FP()};var g=!1;try{g="true"==window.localStorage.getItem("tdvp_video_drift_2")}catch(e){}b.yva=function(){return g};b.IYa=function(){g=!0;try{window.localStorage.setItem("tdvp_video_drift_2","true")}catch(e){}};b.rKa="ontouchstart"in
window||"undefined"!==typeof window.PointerEvent&&"undefined"!==typeof navigator.maxTouchPoints&&0<navigator.maxTouchPoints?!0:!1;b.Pda=function(){return b.rKa};b.Jn=m.Yi("touchenabled")?m.Vh("touchenabled"):"ontouchstart"in window?b.de()==b.S0?!1:!0:!1;b.WZ=function(){return b.Jn};b.summary=function(){return["browser: "+b.browser(),"browserType: "+b.GH(),"browserSubtype: "+b.cd(),"device: "+b.$y(),"isMobile: "+b.mb(),"gearVRCompatibleDevice: "+b.LO(),"chromeWebView: "+b.Nta(),"touchDevice"+b.Pda(),
"touchEnabled"+b.WZ()].join(", ")};b.log=function(){h.log("browser: "+b.browser());h.log("browserType: "+b.GH());h.log("browserSubtype: "+b.cd());h.log("device: "+b.$y());h.log("isMobile: "+b.mb());h.log("gearVRCompatibleDevice: "+b.LO());h.log("chromeWebView: "+b.Nta());h.log("touchDevice: "+b.Pda());h.log("touchEnabled: "+b.WZ())};return b});
define("lO",["require","v"],function(a){function d(){for(;f.length;)f.shift()();document.body.removeEventListener("click",d,!0);document.body.removeEventListener("touchstart",k,!0);document.body.removeEventListener("touchmove",m,!0);document.body.removeEventListener("touchend",h,!0);e=!1}function h(){c&&d()}function m(){c=!1}function k(){c=!0;g.de()==g.Di&&d()}function b(){document.body.addEventListener("click",d,!0);document.body.addEventListener("touchstart",k,!0);document.body.addEventListener("touchmove",
m,!0);document.body.addEventListener("touchend",h,!0)}var g=a("v"),e=!1,c=!1,f=[];return{b_:function(){d()},wait:function(l){f.push(l);e||(e=!0,document.body?b():document.addEventListener("DOMContentLoaded",b))},u0a:function(l){l=f.indexOf(l);0<=l&&f.splice(l,1)}}});define("hP",["require","exports"],function(){return{fBa:7,i_:6,Jea:5,Qk:4,wfa:3,aJ:2,z0:1,k_a:0,Mea:3,dA:2,xBa:1,wBa:2,tBa:2,un:2,TBa:3,A_a:4}});define("bh",["require"],function(){return{m0:"horizontal",O0:"vertical"}});
define("oT",["require"],function(){return{ZBa:"1",YBa:"auto",IBa:"1",rBa:"2",qBa:"auto",i_:"2",qAa:"3",pAa:"auto",HBa:"5",SBa:"100",d_a:"101",OAa:999998,C_a:999999,YAa:1E6}});define("gw",["require"],function(){var a=1,d={};return{css:function(h,m){var k=h.__duqid;void 0===k&&(k=a.toString(),h.__duqid=k,a++);h=d[k]||(d[k]={e:h,s:{}});for(var b in m)h.s[b]=m[b]},process:function(){for(var h in d){var m=d[h],k=m.e.style;m=m.s;for(var b in m)k[b]=m[b]}d={}}}});
define("bO",["require"],function(){return{UUa:function(a){return!!a&&0<=a.indexOf("&tdvflipx")},ita:function(a){a&&(0>a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},OTa:function(a,d,h){var m=document.createElement("canvas");m.width=d;m.height=h;h=m.getContext("2d");h.translate(d,0);h.scale(-1,1);h.drawImage(a,0,0);a.src=m.toDataURL()}}});
define("dp",["require"],function(){var a={};a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){var d=!0;break a}}catch(m){}d=!1}if(d)a.setItem=function(m,k){window.localStorage.setItem(m,k)},a.getItem=function(m){return window.localStorage.getItem(m)},a.removeItem=function(m){return window.localStorage.removeItem(m)},a.clear=function(){try{window.localStorage.clear()}catch(m){}};else{var h={};a.setItem=function(m,k){h[m]=k};
a.getItem=function(m){return h[m]};a.removeItem=function(m){delete h[m]};a.clear=function(){h={}}}return a});
define("im",["require","v","md","ll","dp"],function(a){function d(g,e,c,f,l){this.url=g;this.priority=e;this.time=c;this.nZa=f;this.VSa=l}var h=a("v"),m=a("md"),k=a("ll");a("dp");d.prototype.loaded=function(){b.g9(this.url);b.MM(this)};d.prototype.cancel=function(){b.MM(this)};var b={uy:[],Er:[],zN:[],baa:null,xla:{},add:function(g,e,c,f){g=new d(g,e,(new Date).getTime(),c,f);this.uy.push(g);this.ea();return g},vZa:function(g){this.zN.push(g);this.ea()},uZa:function(g){var e=this.zN;g=e.indexOf(g);
0<=g&&e.splice(g,1);this.ea()}};h.cd()==h.Iz?(b.dea=function(){return!0},b.g9=function(){}):m.Yi("debug")&&m.Vh("disable-cache")?(b.dea=function(){return!1},b.g9=function(){}):(b.dea=function(g){return this.xla[g]},b.g9=function(g){this.xla[g]=!0});b.ea=function(){this.baa||(this.baa=k.qz(b.kRa))};b.kRa=function(){b.baa=null;for(var g=this.KNa(),e=0,c=this.Er.length;e<c;e++){var f=this.Er[e];0>g.indexOf(f)&&f.VSa()}var l=this.Er;this.Er=g;e=0;for(c=this.Er.length;e<c;e++)f=this.Er[e],0>l.indexOf(f)&&
f.nZa()}.bind(b);b.pPa=function(){this.uy.sort(function(g,e){return g.priority-e.priority||e.time-g.time});this.zN.sort(function(g,e){return g-e})};b.KNa=function(){this.pPa();var g=[];if(this.uy.length)for(var e=this.zN.length?this.zN[0]:this.uy[0].priority,c=0;10>c&&c<this.uy.length&&this.uy[c].priority<=e;c++)g.push(this.uy[c]);return g};b.MM=function(g){var e=this.uy;g=e.indexOf(g);0<=g&&e.splice(g,1);this.ea()};return b});
define("kq","require li cw gf ox hP md bO im".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("ox"),b=a("hP"),g=a("md"),e=a("bO"),c=a("im");a=d.extend(m,function(l){m.call(this);this.Ur=l||b.fBa;this.ua=this.ia=this.Xb=this.fd=null;this.Ox=!1;this.JG=this.Nn=null;this.EV=0;this.x5=[];this.ZS=this.ZS.bind(this);this.$S=this.$S.bind(this)});a.prototype.load=function(l){this.cancel();this.fd=l;this.EV=0;this.spa()};a.prototype.spa=function(){this.Nn=c.add(this.fd,this.Ur,this.zPa.bind(this),
this.wEa.bind(this))};a.prototype.cancel=function(){this.Nn&&(this.Nn.cancel(),this.Nn=null);this.Rha();this.fd=null};a.prototype.AVa=function(){return!!this.Xb&&!this.Ox||this.JG};a.prototype.Kl=function(){return this.Ox};a.prototype.lf=function(l){return l?(l=this.Xb.cloneNode(!0),this.x5.push(l),l):this.Xb};a.prototype.rd=function(){return this.ia};a.prototype.ce=function(){return this.ua};a.prototype.ui=function(){return this.fd};a.prototype.zPa=function(){this.Xb=this.KFa(this.fd)};a.prototype.wEa=
function(){this.AVa()&&this.Rha()};a.prototype.Rha=function(){if(this.Xb){this.JG&&(clearTimeout(this.JG),this.JG=null);for(this.Ox=!1;this.x5.length;)this.Oia(this.x5.shift());this.Oia(this.Xb);this.Xb=null}};a.prototype.GCa=function(l){l.addEventListener("load",this.ZS);l.addEventListener("error",this.$S)};a.prototype.jpa=function(l){l.removeEventListener("load",this.ZS);l.removeEventListener("error",this.$S)};a.prototype.ZS=function(){this.Xb.width&&this.Xb.height||!(-1<this.fd.indexOf(".svg"))||
this.bHa();this.Nn.loaded();this.Nn=null;this.jpa(this.Xb);this.Ox=!0;this.ia=this.Xb.width;this.ua=this.Xb.height;e.UUa(this.fd)&&e.OTa(this.Xb,this.ia,this.ua);this.trigger(new h(k.Z))};a.prototype.$S=function(){this.cancel();this.EV<f?(this.EV++,this.JG=setTimeout(function(){this.JG=null;this.spa()}.bind(this),1E3*Math.pow(2,this.EV))):this.trigger(new h(k.Gc))};a.prototype.bHa=function(){var l=new XMLHttpRequest;l.open("GET",this.fd,!1);l.send();var p=document.createElement("div");p.innerHTML=
l.responseText;l=p.children[0];this.Xb.width=l.width.baseVal.value;this.Xb.height=l.height.baseVal.value};a.prototype.KFa=function(l){var p=document.createElement("img");g.Rva(l)?p.setAttribute("crossOrigin","Anonymous"):p.removeAttribute("crossOrigin");p.setAttribute("draggable","false");p.style.position="static";p.style.border="none";p.style.display="none";this.GCa(p);p.src=l;return p};a.prototype.Oia=function(l){this.jpa(l);l.parentNode&&l.parentNode.removeChild(l);l.src=""};var f=5;a.TZ=function(l){return c.dea(l)};
return a});
define("gp","require ed jquery.mod ox hP bh oT gw kq".split(" "),function(a){function d(){this.bp=this.ep=this.fp=this.cp=this.Kt=this.Jt=this.Mt=this.Lt=0;this.gR=this.iR=this.jR=this.hR="";this.tb=1;this.vc=void 0;this.QA=[];this.A2=[];this.v2=g.O0;this.AR=!1;this.WS=void 0;this.Fh=null;this.V4=this.vaa=0;this.jc=document.createElement("canvas");this.jc.setAttribute("tdvlayer","background");this.ma=m(this.jc);c.css(this.jc,{position:"absolute",left:0,top:0,"z-index":e.i_,"user-select":"none","-ms-user-select":"none",
"-moz-user-select":"none","-webkit-user-select":"none"});this.qg=!0}var h=a("ed"),m=a("jquery.mod"),k=a("ox"),b=a("hP"),g=a("bh"),e=a("oT"),c=a("gw"),f=a("kq");d.prototype.setSize=function(l,p){if(this.vaa!=l||this.V4!=p)this.vaa=l||0,this.V4=p||0,this.qg=!0};d.prototype.Lya=function(l){this.vp!=l&&(this.vp=l,this.qg=!0)};d.prototype.zc=function(){return this.ma};d.prototype.aI=function(){return this.jc};d.prototype.RXa=function(l){if(this.WS!=l){this.Fh&&(this.Fh.unbind(k.Z,this.KK,this),this.Fh.cancel(),
this.Fh=null);if(this.WS=l)this.Fh=new f(b.wfa),this.Fh.bind(k.Z,this.KK,this),this.Fh.load(this.WS);this.qg=!0}};d.prototype.Uca=function(l){this.Lt!=l&&(this.Lt=l,this.qg=!0)};d.prototype.Vca=function(l){this.Mt!=l&&(this.Mt=l,this.qg=!0)};d.prototype.Pca=function(l){this.Jt!=l&&(this.Jt=l,this.qg=!0)};d.prototype.Qca=function(l){this.Kt!=l&&(this.Kt=l,this.qg=!0)};d.prototype.Sca=function(l){this.cp!=l&&(this.cp=l,this.qg=!0)};d.prototype.Wca=function(l){this.fp!=l&&(this.fp=l,this.qg=!0)};d.prototype.Tca=
function(l){this.ep!=l&&(this.ep=l,this.qg=!0)};d.prototype.Rca=function(l){this.bp!=l&&(this.bp=l,this.qg=!0)};d.prototype.sXa=function(l){this.hR!=l&&(this.hR=l,this.qg=!0)};d.prototype.uXa=function(l){this.jR!=l&&(this.jR=l,this.qg=!0)};d.prototype.tXa=function(l){this.iR!=l&&(this.iR=l,this.qg=!0)};d.prototype.rXa=function(l){this.gR!=l&&(this.gR=l,this.qg=!0)};d.prototype.$i=function(l){this.tb!=l&&(this.tb=l,this.qg=!0)};d.prototype.Ik=function(){return this.tb};d.prototype.setColor=function(l){h.isEqual(this.vc,
l)||(this.vc=l,h(l).isArray()||(l=[l]),l=h(l).filter(function(p){return h(p).isString()}),this.zya(l))};d.prototype.zya=function(l){h.isEqual(this.QA,l)||(this.QA=l,this.qg=!0)};d.prototype.yXa=function(l){this.M_a!=l&&(this.A2=l,this.qg=!0)};d.prototype.xXa=function(l){this.v2!=l&&(this.v2=l,this.qg=!0)};d.prototype.KK=function(){this.qg=!0;this.Vg()};d.prototype.Vg=function(){this.qg&&(this.ea(),this.qg=!1)};d.prototype.ea=function(){var l=Math.max(0,this.vaa-(this.cp+this.ep)),p=Math.max(0,this.V4-
(this.fp+this.bp)),q=this.ma.get(0);q.width=l;q.height=p;q=q.getContext("2d");var n=this.rEa(),r=0<n.length,u=this.Fh&&this.Fh.Kl(),t=0<this.cp&&this.hR||0<this.fp&&this.jR||0<this.ep&&this.iR||0<this.bp&&this.gR;t=r||u||t;if(r){var v=this.v2==g.m0?q.createLinearGradient(0,0,l,0):q.createLinearGradient(0,0,0,p);h(n).forEach(function(w){v.addColorStop(w.ratio,w.color)});q.fillStyle=v;q.fillRect(0,0,l,p);this.AR=!0}else this.AR&&(q.clearRect(0,0,l,p),this.AR=!1);u&&(q.drawImage(this.Fh.lf(),0,0,l,p),
this.AR=!0);this.jc.style.opacity=this.tb;this.jc.style.filter="alpha(opacity="+Math.round(100*this.tb)+")";this.jc.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.tb)+")";this.jc.style.borderTopLeftRadius=this.Lt+"px";this.jc.style.borderTopRightRadius=this.Mt+"px";this.jc.style.borderBottomLeftRadius=this.Jt+"px";this.jc.style.borderBottomRightRadius=this.Kt+"px";this.jc.style.borderLeft=this.ES(this.cp,this.hR);this.jc.style.borderTop=this.ES(this.fp,this.jR);this.jc.style.borderRight=
this.ES(this.ep,this.iR);this.jc.style.borderBottom=this.ES(this.bp,this.gR);this.jc.style.width=l+"px";this.jc.style.height=p+"px";this.jc.style.cursor="inherit";this.jc.style.display=t?"block":"none";0===this.jc.clientWidth&&0!==l&&(this.jc.style.width=0,this.jc.style.width=l+"px")};d.prototype.ES=function(l,p){return 0<l?p?l+"px solid "+p:l+"px solid transparent":"none"};d.prototype.rEa=function(){var l=[];if(0<this.QA.length){var p=this.QA.slice();p=[].concat([p[0]],p,[p[p.length-1]]);var q=this.qEa();
q=[].concat([0],q,[1]);for(var n=0;n<p.length;n++){var r=q[n];0<=r&&l.push({color:p[n],ratio:r})}for(n=0;n<l.length-1;)l[n].ratio==l[n+1].ratio&&l[n].color==l[n+1].color?l.splice(n,1):n++;for(n=1;n<l.length-1;)l[n-1].ratio==l[n+1].ratio?l.splice(n,1):n++}return l};d.prototype.qEa=function(){var l=this.QA.length,p;for(p=0<this.A2.length?h(this.A2).map(function(q){return Math.min(1,Math.max(0,q))}):1==l?[.5]:h(h.range(l)).map(function(q,n){return 1*n/(l-1)});p.length<l;)p.push(1);p.length>l&&p.splice(l,
p.length-l);return p};return d});
define("eD",["require","jquery.mod","oT","gw"],function(a){function d(){this.NU=this.PU=this.QU=this.OU=this.bp=this.ep=this.fp=this.cp=0;this.pM=this.vp=!0;this.paa=this.r5=0;this.va=!0;this.WM=document.createElement("div");this.WM.setAttribute("tdvlayer","content");this.Opa=h(this.WM);k.css(this.WM,{position:"absolute"});this.NJ=document.createElement("div");this.I2=h(this.NJ);k.css(this.NJ,{position:"absolute"});this.Opa.append(this.I2)}var h=a("jquery.mod"),m=a("oT"),k=a("gw");d.prototype.append=
function(b){this.I2.append(b)};d.prototype.prepend=function(b){this.I2.prepend(b)};d.prototype.BX=function(b){this.NJ.appendChild(b)};d.prototype.$xa=function(b){this.NJ.removeChild(b)};d.prototype.zc=function(){return this.Opa};d.prototype.aI=function(){return this.WM};d.prototype.OXa=function(b){this.r5!=b&&(this.r5=b,this.va=!0)};d.prototype.bZa=function(b){this.paa!=b&&(this.paa=b,this.va=!0)};d.prototype.bI=function(){return this.OU+this.cp};d.prototype.fI=function(){return this.QU+this.fp};
d.prototype.eI=function(){return this.PU+this.ep};d.prototype.YH=function(){return this.NU+this.bp};d.prototype.BI=function(b){this.pM!=b&&(this.pM=b,this.va=!0)};d.prototype.oYa=function(b){this.OU!=b&&(this.OU=b,this.va=!0)};d.prototype.qYa=function(b){this.QU!=b&&(this.QU=b,this.va=!0)};d.prototype.pYa=function(b){this.PU!=b&&(this.PU=b,this.va=!0)};d.prototype.nYa=function(b){this.NU!=b&&(this.NU=b,this.va=!0)};d.prototype.Sca=function(b){this.cp!=b&&(this.cp=b,this.va=!0)};d.prototype.Wca=function(b){this.fp!=
b&&(this.fp=b,this.va=!0)};d.prototype.Tca=function(b){this.ep!=b&&(this.ep=b,this.va=!0)};d.prototype.Rca=function(b){this.bp!=b&&(this.bp=b,this.va=!0)};d.prototype.Lya=function(b){this.vp!=b&&(this.vp=b,this.va=!0)};d.prototype.Vg=function(){this.va&&(this.ea(),this.va=!1)};d.prototype.ea=function(){k.css(this.WM,{overflow:this.pM?"visible":"hidden","z-index":this.vp?m.qAa:m.pAa,left:this.bI()+"px",top:this.fI()+"px",right:this.eI()+"px",bottom:this.YH()+"px",cursor:"inherit"});k.css(this.NJ,{left:-this.r5+
"px",top:-this.paa+"px",right:this.pM?0:"initial",bottom:this.pM?0:"initial",cursor:"inherit"})};return d});
define("jP","require ed jquery.mod li oT gw".split(" "),function(a){function d(){this.ua=this.ia=this.Ja=this.Ga=void 0;this.Kt=this.Jt=this.Mt=this.Lt=0;this.Hb=!1;this.q5=0;this.oaa=4;this.X1=6;this.B9=0;this.vc="#000000";this.tb=1;this.jc=document.createElement("div");this.jc.setAttribute("tdvlayer","shadow");this.ma=h(this.jc);k.css(this.jc,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.va=!1}a("ed");var h=a("jquery.mod");a("li");var m=a("oT"),k=a("gw");d.prototype.zc=function(){return this.ma};
d.prototype.aI=function(){return this.jc};d.prototype.Uca=function(b){this.Lt!=b&&(this.Lt=b,this.va=!0)};d.prototype.Vca=function(b){this.Mt!=b&&(this.Mt=b,this.va=!0)};d.prototype.Pca=function(b){this.Jt!=b&&(this.Jt=b,this.va=!0)};d.prototype.Qca=function(b){this.Kt!=b&&(this.Kt=b,this.va=!0)};d.prototype.$i=function(b){this.tb!=b&&(this.tb=b,this.va=!0)};d.prototype.Ik=function(){return this.tb};d.prototype.rf=function(b){this.Hb!=b&&(this.Hb=b,this.va=!0)};d.prototype.NXa=function(b){this.q5!=
b&&(this.q5=b,this.va=!0)};d.prototype.aZa=function(b){this.oaa!=b&&(this.oaa=b,this.va=!0)};d.prototype.qXa=function(b){this.X1!=b&&(this.X1=b,this.va=!0)};d.prototype.KYa=function(b){this.B9!=b&&(this.B9=b,this.va=!0)};d.prototype.setColor=function(b){this.vc!=b&&(this.vc=b,this.va=!0)};d.prototype.Vg=function(){this.va&&(this.ea(),this.va=!1)};d.prototype.ea=function(){var b=this.q5+"px "+this.oaa+"px "+this.X1+"px "+this.B9+"px "+this.vc;this.jc.style.display=this.Hb?"block":"none";this.jc.style.boxShadow=
b;this.jc.style["-webkit-box-shadow"]=b;this.jc.style["-moz-box-shadow"]=b;this.jc.style.borderTopLeftRadius=this.Lt+"px";this.jc.style.borderTopRightRadius=this.Mt+"px";this.jc.style.borderBottomLeftRadius=this.Jt+"px";this.jc.style.borderBottomRightRadius=this.Kt+"px";this.jc.style.filter="alpha(opacity="+Math.round(100*this.tb)+")";this.jc.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.tb)+")";this.jc.style.opacity=this.tb;this.jc.style.zIndex=m.IBa};return d});
define("mQ","require jquery.mod ed li lJ bc ox gp eD jP oT cw gw v".split(" "),function(a){var d=a("jquery.mod");a("ed");var h=a("li"),m=a("lJ"),k=a("bc"),b=a("ox"),g=a("gp"),e=a("eD"),c=a("jP"),f=a("oT"),l=a("cw"),p=a("gw");a("v");var q=h.extend(m,function(){m.call(this);this.AF=q.AF++;this.H2=this.fe=this.y7=this.oM=this.t9=this.ma=this.jc=null;this.Sra=this.bla=!1;this.ka=this.fb=null;this.ua=this.ia=this.Eu=this.Du=0;this.Hx=this.Hb=!1;this.Qka=!0;this.nL=this.oL=this.hl=this.il=0;this.tb=1;this.zh=
k.Be;this.set("inView",!1);this.set("toolTip",void 0);this.BC(!0);this.i9(!0)});q.prototype.we=function(n){this.NE=n};q.prototype.toString=function(){return"["+this.ma.attr("tdvclass")+"::"+this.AF+"]"};q.prototype.log=function(n){h.log(n+" "+this.toString()+" "+(new Date).getTime().toString())};q.prototype.Ib=function(){return this.fb};q.prototype.bs=function(n){(this.fb=n)&&this.E5();this.lH();this.trigger(b.iAa)};q.prototype.zc=function(){this.ma=d(this.yr());this.zc=function(){return this.ma};
return this.ma};q.prototype.yr=function(){this.jc=document.createElement("div");this.jc.setAttribute("id",this.AF);this.NE&&this.jc.setAttribute("tdvclass",this.NE);p.css(this.jc,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.yr=function(){return this.jc};return this.jc};q.prototype.$k=function(){this.t9=new c;this.$k=function(){return this.t9};return this.t9};q.prototype.Oc=function(){this.fe=new g;this.Oc=function(){return this.fe};return this.fe};q.prototype.uF=
function(){this.oM=document.createElement("div");this.oM.setAttribute("tdvlayer","overShadow");p.css(this.oM,{position:"absolute",left:0,top:0,cursor:"inherit"});this.uF=function(){return this.oM};return this.oM};q.prototype.K4=function(){this.y7=d(this.uF());this.K4=function(){return this.y7};return this.y7};q.prototype.Ab=function(){this.H2=new e;this.Ab=function(){return this.H2};return this.H2};q.prototype.getParent=function(){return this.ka};q.prototype.Wa=function(){return this.ia};q.prototype.xb=
function(){return this.ua};q.prototype.RUa=function(){return void 0!==this.ia&&void 0!==this.ua};q.prototype.kf=function(){return this.ia-this.Ab().bI()-this.Ab().eI()};q.prototype.jf=function(){return this.ua-this.Ab().fI()-this.Ab().YH()};q.prototype.Il=function(){return this.Ab().bI()};q.prototype.Ds=function(){return this.Ab().fI()};q.prototype.Cs=function(){return this.Ab().eI()};q.prototype.ZH=function(){return this.Ab().YH()};q.prototype.rf=function(n){this.Hb!=n&&(this.Hb=n,this.ke(),this.ka&&
(this.ka.Ub(),this.ka.Hd()),this.lH())};q.prototype.lH=function(){var n=!1;this.fb&&this.Hb&&0<this.Ik()&&(this==this.fb?n=!0:this.ka&&(n=this.ka.Hx));this.Hx!=n&&this.J1(n)};q.prototype.J1=function(n){this.Hx=n;this.set("inView",n);this.Hx?this.trigger(new l(b.hd)):this.trigger(new l(b.sd))};q.prototype.COa=function(n){this.Qka!=n&&(this.Qka=n,this.ka&&this.ka.Hd())};q.prototype.uOa=function(n){this.mF!=n&&(this.mF=n,this.Ub())};q.prototype.tOa=function(n){this.lF!=n&&(this.lF=n,this.Ub())};q.prototype.sOa=
function(n){this.kF!=n&&(this.kF=n,this.Ub())};q.prototype.rOa=function(n){this.jF!=n&&(this.jF=n,this.Ub())};q.prototype.vOa=function(n){this.qm!=n&&(this.qm=n,void 0!=this.qm&&(this.Mm=void 0),this.Ub())};q.prototype.qOa=function(n){this.dB!=n&&(this.dB=n,void 0!=this.dB&&(this.Lm=void 0),this.Ub())};q.prototype.POa=function(n){this.Mm!=n&&(this.Mm=n,void 0!=this.Mm&&(this.qm=void 0),this.Ub())};q.prototype.LOa=function(n){this.Lm!=n&&(this.Lm=n,void 0!=this.Lm&&(this.dB=void 0),this.Ub())};q.prototype.EOa=
function(n){this.wu!=n&&(void 0!=n&&(this.cV=void 0),this.wu=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.cPa=function(n){this.iq!=n&&(void 0!=n&&(this.eV=void 0),this.iq=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.ROa=function(n){this.SM!=n&&(void 0!=n&&(this.dV=void 0),this.SM=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.hOa=function(n){this.AJ!=n&&(void 0!=n&&(this.bV=void 0),this.AJ=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.MOa=function(n){this.cV!=n&&(void 0!=n&&(this.wu=void 0),
this.cV=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.OOa=function(n){this.eV!=n&&(void 0!=n&&(this.iq=void 0),this.eV=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.NOa=function(n){this.dV!=n&&(void 0!=n&&(this.SM=void 0),this.dV=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.KOa=function(n){this.bV!=n&&(void 0!=n&&(this.AJ=void 0),this.bV=n,this.ka&&this.ka.Hd(),this.Ub())};q.prototype.lOa=function(n){this.Uw!=n&&(this.Uw=n,this.ka&&this.ka.Hd())};q.prototype.mOa=function(n){this.Vw!=n&&(this.Vw=
n,this.ka&&this.ka.Hd())};q.prototype.Is=function(){return isNaN(this.qm)?this.il:this.qm};q.prototype.Hs=function(){return isNaN(this.dB)?this.hl:this.dB};q.prototype.IIa=function(){return isNaN(this.WGa)?this.Gla:this.WGa};q.prototype.Gs=function(){return isNaN(this.mF)?this.oL:this.mF};q.prototype.Jv=function(){return isNaN(this.lF)?this.nL:this.lF};q.prototype.nY=function(){return isNaN(this.kF)?1E4:this.kF};q.prototype.mY=function(){return isNaN(this.jF)?1E4:this.jF};q.prototype.rqa=function(n){this.N4()!=
n&&(this.Ab().oYa(n),this.Ub())};q.prototype.N4=function(){return this.Ab().OU};q.prototype.tqa=function(n){this.P4()!=n&&(this.Ab().qYa(n),this.Ub())};q.prototype.P4=function(){return this.Ab().QU};q.prototype.sqa=function(n){this.O4()!=n&&(this.Ab().pYa(n),this.Ub())};q.prototype.O4=function(){return this.Ab().PU};q.prototype.qqa=function(n){this.M4()!=n&&(this.Ab().nYa(n),this.Ub())};q.prototype.M4=function(){return this.Ab().NU};q.prototype.SP=function(n){if(this.Du!=n){var r=0==this.Du!=(0==
n);this.Du=n;this.Kk();r&&this.ka&&this.ka.Hd()}};q.prototype.TP=function(n){if(this.Eu!=n){var r=0==this.Eu!=(0==n);this.Eu=n;this.Kk();r&&this.ka&&this.ka.Hd()}};q.prototype.ZUa=function(){return 0!=this.Du||0!=this.Eu};q.prototype.$i=function(n){this.tb!=n&&(this.tb=n,p.css(this.uF(),{filter:"alpha(opacity="+Math.round(100*this.tb)+") ",opacity:this.tb}),this.lH(),this.Kk())};q.prototype.Ik=function(){return this.tb};q.prototype.eOa=function(n){this.Oc().Lt!=n&&(this.$k().Uca(n),this.Oc().Uca(n))};
q.prototype.JHa=function(){return this.Oc().Lt};q.prototype.fOa=function(n){this.Oc().Mt!=n&&(this.$k().Vca(n),this.Oc().Vca(n))};q.prototype.KHa=function(){return this.Oc().Mt};q.prototype.XNa=function(n){this.Oc().Jt!=n&&(this.$k().Pca(n),this.Oc().Pca(n))};q.prototype.HHa=function(){return this.Oc().Jt};q.prototype.YNa=function(n){this.Oc().Kt!=n&&(this.$k().Qca(n),this.Oc().Qca(n))};q.prototype.IHa=function(){return this.Oc().Kt};q.prototype.aOa=function(n){this.Oc().cp!=n&&(this.Oc().Sca(n),
this.Ab().Sca(n),this.Ub())};q.prototype.Jja=function(){return this.Oc().cp};q.prototype.gOa=function(n){this.Oc().fp!=n&&(this.Oc().Wca(n),this.Ab().Wca(n),this.Ub())};q.prototype.Lja=function(){return this.Oc().fp};q.prototype.cOa=function(n){this.Oc().ep!=n&&(this.Oc().Tca(n),this.Ab().Tca(n),this.Ub())};q.prototype.Kja=function(){return this.Oc().ep};q.prototype.ZNa=function(n){this.Oc().bp!=n&&(this.Oc().Rca(n),this.Ab().Rca(n),this.Ub())};q.prototype.Ija=function(){return this.Oc().bp};q.prototype.$Na=
function(n){this.Oc().sXa(n)};q.prototype.dOa=function(n){this.Oc().uXa(n)};q.prototype.bOa=function(n){this.Oc().tXa(n)};q.prototype.WNa=function(n){this.Oc().rXa(n)};q.prototype.eW=function(n){this.$k().rf(n)};q.prototype.XOa=function(n){this.$k().NXa(n)};q.prototype.$Oa=function(n){this.$k().aZa(n)};q.prototype.VOa=function(n){this.$k().qXa(n)};q.prototype.ZOa=function(n){this.$k().KYa(n)};q.prototype.YOa=function(n){this.$k().$i(n)};q.prototype.WOa=function(n){this.$k().setColor(n)};q.prototype.SNa=
function(n){this.DHa()!=n&&this.Oc().$i(n)};q.prototype.DHa=function(){return this.Oc().Ik()};q.prototype.ONa=function(n){this.CHa()!=n&&this.Oc().setColor(n)};q.prototype.CHa=function(){return this.Oc().vc};q.prototype.QNa=function(n){this.Oc().yXa(n)};q.prototype.PNa=function(n){this.Oc().xXa(n)};q.prototype.RNa=function(n){this.Oc().RXa(n)};q.prototype.By=function(n){this.zh!=n&&(this.zh=n,this.Kk())};q.prototype.BC=function(n){this.vp!=n&&(this.vp=n,p.css(this.uF(),{"z-index":this.vp?f.rBa:f.qBa}),
this.Ab().Lya(this.vp),this.Kk())};q.prototype.i9=function(n){this.yoa!=n&&(this.yoa=n,p.css(this.yr(),{"z-index":this.yoa?f.ZBa:f.YBa}),this.Kk())};q.prototype.Yo=function(){this.lH();this.eP()};q.prototype.Om=function(){this.lH()};q.prototype.F8=function(){};q.prototype.E5=function(){this.eP();this.ke();this.Ub();this.Hd();this.Kk()};q.prototype.Cu=function(){this.nL=this.oL=this.hl=this.il=0;this.Gla=void 0};q.prototype.eP=function(){var n=this.Ib();n&&n.yE.eP(this)};q.prototype.ke=function(){var n=
this.Ib();n&&n.yE.ke(this)};q.prototype.Ub=function(){var n=this.Ib();n&&n.yE.Ub(this)};q.prototype.Hd=function(){var n=this.Ib();n&&n.yE.Hd(this)};q.prototype.Kk=function(){var n=this.Ib();n&&n.yE.Kk(this)};q.prototype.c5=function(){var n=isNaN(this.cV)&&isNaN(this.wu),r=isNaN(this.dV)&&isNaN(this.SM);return isNaN(this.qm)&&isNaN(this.Mm)&&(n||r)?!0:!1};q.prototype.Dka=function(){var n=isNaN(this.eV)&&isNaN(this.iq),r=isNaN(this.bV)&&isNaN(this.AJ);return isNaN(this.dB)&&isNaN(this.Lm)&&(n||r)?!0:
!1};q.prototype.KRa=function(){this.Cu();var n=this.IIa();if(n){var r=this.c5(),u=this.Dka();r&&!u?(r=this.jf(),0!=r&&(this.il=r*n+this.Il()+this.Cs(),this.hl=r+this.Ds()+this.ZH())):!r&&u&&(r=this.kf(),0!=r&&(this.hl=r/n+this.Il()+this.Cs(),this.il=r+this.Il()+this.Cs()))}!isNaN(this.mF)&&this.il<this.mF&&(this.il=this.mF);!isNaN(this.kF)&&this.il>this.kF&&(this.il=this.kF);!isNaN(this.lF)&&this.hl<this.lF&&(this.hl=this.lF);!isNaN(this.jF)&&this.hl>this.jF&&(this.hl=this.jF)};q.prototype.zb=function(){if(!this.Sra){this.Sra=
!0;var n=this.yr(),r=this.uF();n.appendChild(this.$k().aI());n.appendChild(r);r.appendChild(this.Oc().aI());r.appendChild(this.Ab().aI())}};q.prototype.PZa=function(){this.KRa();var n=this.Is(),r=this.Hs(),u=this.Gs(),t=this.Jv();return n!=this.VKa||r!=this.UKa||u!=this.RKa||t!=this.QKa||this.Mm!=this.TKa||this.Lm!=this.SKa?(this.VKa=n,this.UKa=r,this.RKa=u,this.QKa=t,this.TKa=this.Mm,this.SKa=this.Lm,!0):!1};q.prototype.Ua=function(){this.Kk()};q.prototype.Tl=function(){};q.prototype.yya=function(n,
r,u,t){if(this.Ga!=n||this.Ja!=r||this.ia!=u||this.ua!=t)this.Ga=n,this.Ja=r,this.ia=u,this.ua=t,this.Oc().setSize(this.ia,this.ua),this.Hd(),this.Kk(),this.trigger(new l(b.ic))};q.prototype.Vg=function(){var n=this.yr(),r=this.uF();this.Hb?(r.style.width=this.ia+"px",r.style.height=this.ua+"px",n.style.left=this.Ga+this.Du+"px",n.style.top=this.Ja+this.Eu+"px",n.style.width=this.ia+"px",n.style.height=this.ua+"px",n.style.visibility="inherit",n.style.overflow="visible",n.style.cursor=this.fb&&this.fb.l3.Aua(this.zh),
0===r.clientWidth&&0!==this.ia&&(n.style.width=0,n.style.width=this.ia+"px")):(n.style.visibility="hidden",n.style.width=0,n.style.height=0,n.style.overflow="hidden",r.style.width=0,r.style.height=0);this.$k().Vg();this.Oc().Vg();this.Ab().Vg();!this.bla&&this.fb&&(this.bla=!0,this.fb.Wqa?this.F5():this.fb.bind(b.tn,this.F5,this,!0))};q.prototype.F5=function(){this.trigger(b.INIT)};q.prototype.DUa=function(n){n=n.zc().offset();var r=this.zc().offset(),u={};u.left=r.left-n.left;u.top=r.top-n.top;this.fb&&
(u.left/=this.fb.ky,u.top/=this.fb.ky);return u};q.AF=0;return q});
define("S","require ed li ox cw gG mQ".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("cw"),b=a("gG"),g=a("mQ"),e=h.extend(g,function(){this.m={};this.Yu=this.tja=void 0;this.ty={};this.qja=!0;this.Xqa={};g.call(this);this.hGa();this.nb();this.we("UICustomizable");this.ke()});e.uc={visible:!0,includeInLayout:!0,state:void 0,left:void 0,right:void 0,top:void 0,bottom:void 0,centerX:void 0,centerY:void 0,width:void 0,height:void 0,minWidth:void 0,minHeight:void 0,maxWidth:void 0,maxHeight:void 0,
actualWidth:void 0,actualHeight:void 0,paddingLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,opacity:1,borderRadius:0,borderTopRadius:void 0,borderBottomRadius:void 0,borderLeftRadius:void 0,borderRightRadius:void 0,borderTopLeftRadius:void 0,borderTopRightRadius:void 0,borderBottomLeftRadius:void 0,borderBottomRightRadius:void 0,borderSize:0,borderLeftSize:void 0,borderTopSize:void 0,borderRightSize:void 0,borderBottomSize:void 0,borderColor:void 0,borderLeftColor:void 0,borderTopColor:void 0,
borderRightColor:void 0,borderBottomColor:void 0,shadow:!1,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:void 0,backgroundOpacity:1,backgroundColor:void 0,backgroundColorRatios:void 0,backgroundColorDirection:void 0,backgroundImageUrl:void 0,hideEffect:void 0,showEffect:void 0};e.prototype.hGa=function(){this.Xqa[b.$b]=b.ob};e.prototype.nb=function(){this.Dn(e.uc)};e.prototype.Dn=function(c){for(var f in c){var l=c[f],p=l&&l.length;
p&&"string"!=typeof l?1==p?this.h(f,l[0]):2==p?this.u(f,l[0],l[1]):3==p&&this.u(f,l[0],l[1],l[2]):this.h(f,l)}};e.prototype.h=function(c,f){this.m[c]={i:!0,d:f}};e.prototype.OIa=function(){var c=[],f;for(f in this.m)c.push(f);return c};e.prototype.u=function(c,f,l,p){this.ty[f]||(this.ty[f]={});this.h(c,p);this.ty[f][l]=c};e.prototype.UG=function(c,f){if(f)this.tja=c;else if(void 0!=this.tja)return;if(this.Yu!=c){if(f=this.ty[this.Yu])for(var l in f)(this.m[l]||(this.m[l]={})).i=!0;this.Yu=c;if(f=
this.ty[this.Yu])for(l in f)(this.m[l]||(this.m[l]={})).i=!0;this.ke()}};e.prototype.ja=function(c){if(d(c).isString())this.set(c,void 0);else{var f=c;for(c in f)this.set(c,f[c])}};e.prototype.set=function(c,f){var l=this.m[c];l?(void 0==f&&(f=l.d),d.isEqual(this.get(c),f)||("state"==c&&this.UG(f,!0),g.prototype.set.call(this,c,f),l.i=!0,this.ke())):g.prototype.set.call(this,c,f)};e.prototype.get=function(c,f){switch(c){case "actualWidth":return this.Wa();case "actualHeight":return this.xb();default:var l=
g.prototype.get.call(this,c);void 0===l&&((c=this.m[c])&&(l=c.d),void 0===l&&(l=f));return l}};e.prototype.Rga=function(){for(var c="paddingLeft paddingTop paddingRight paddingBottom borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize".split(" "),f=0;f<c.length;f++)if(this.I(c[f]))return!0;return!1};e.prototype.I=
function(c){if((this.m[c]||{}).i)return!0;if(void 0!==this.Yu)return c=this.ty[this.Yu][c],!!(this.m[c]||{}).i};e.prototype.DC=function(c){(this.m[c]||(this.m[c]={})).i=!0;this.ke()};e.prototype.P=function(c){(this.m[c]||(this.m[c]={})).i=!1;void 0!=this.Yu&&(c=this.ty[this.Yu][c])&&((this.m[c]||(this.m[c]={})).i=!1)};e.prototype.B=function(){for(var c,f=0;f<arguments.length;f++){for(var l=arguments[f],p=this.Yu;p;){if(c=this.ty[p][l])if(c=this.get(c),void 0!=c&&null!=c)return c;p=this.Xqa[p]}c=this.get(l);
if(void 0!=c&&null!=c)return c}};e.prototype.u9=function(c){c.source.unbind(m.sb,this.u9,this);this.trigger(new k(m.dJ))};e.prototype.n5=function(c){c.source.unbind(m.sb,this.n5,this);this.trigger(new k(m.XI))};e.prototype.Ua=function(){if(this.qja)this.qja=!1;else if(this.I("visible")){var c=this.B("visible"),f=this.get(c?"hideEffect":"showEffect");f&&f.mI(this)&&(f.unbind(m.sb,c?this.n5:this.u9,this),f.end());(f=this.get(c?"showEffect":"hideEffect"))?f.mI(this)||(this.P("visible"),f.bind(m.sb,c?
this.u9:this.n5,this),f.play(this)):this.trigger(new k(c?m.dJ:m.XI))}this.I("visible")&&(this.rf(this.B("visible")),this.P("visible"));this.I("includeInLayout")&&(this.COa(this.B("includeInLayout")),this.P("includeInLayout"));this.I("left")&&(f=this.B("left"),c=e.Ao(f),f=void 0===c?f:void 0,this.MOa(c),this.EOa(f),this.P("left"));this.I("top")&&(f=this.B("top"),c=e.Ao(f),f=void 0===c?f:void 0,this.OOa(c),this.cPa(f),this.P("top"));this.I("right")&&(f=this.B("right"),c=e.Ao(f),f=void 0===c?f:void 0,
this.NOa(c),this.ROa(f),this.P("right"));this.I("bottom")&&(f=this.B("bottom"),c=e.Ao(f),f=void 0===c?f:void 0,this.KOa(c),this.hOa(f),this.P("bottom"));this.I("centerX")&&(this.lOa(this.B("centerX")),this.P("centerX"));this.I("centerY")&&(this.mOa(this.B("centerY")),this.P("centerY"));this.I("width")&&(f=this.B("width"),c=e.Ao(f),f=void 0===c?f:void 0,this.POa(c),this.vOa(f),this.P("width"));this.I("height")&&(f=this.B("height"),c=e.Ao(f),f=void 0===c?f:void 0,this.LOa(c),this.qOa(f),this.P("height"));
this.I("minWidth")&&(f=this.B("minWidth"),this.uOa(f),this.P("minWidth"));this.I("minHeight")&&(f=this.B("minHeight"),this.tOa(f),this.P("minHeight"));this.I("maxWidth")&&(f=this.B("maxWidth"),this.sOa(f),this.P("maxWidth"));this.I("maxHeight")&&(f=this.B("maxHeight"),this.rOa(f),this.P("maxHeight"));this.I("paddingLeft")&&(this.rqa(this.B("paddingLeft")),this.P("paddingLeft"));this.I("paddingTop")&&(this.tqa(this.B("paddingTop")),this.P("paddingTop"));this.I("paddingRight")&&(this.sqa(this.B("paddingRight")),
this.P("paddingRight"));this.I("paddingBottom")&&(this.qqa(this.B("paddingBottom")),this.P("paddingBottom"));c=!1;this.I("borderRadius")&&(this.P("borderRadius"),c=!0);f=!1;this.I("borderLeftRadius")&&(this.P("borderLeftRadius"),f=!0);var l=!1;this.I("borderTopRadius")&&(this.P("borderTopRadius"),l=!0);var p=!1;this.I("borderRightRadius")&&(this.P("borderRightRadius"),p=!0);var q=!1;this.I("borderBottomRadius")&&(this.P("borderBottomRadius"),q=!0);if(this.I("borderTopLeftRadius")||l||f||c)this.eOa(this.B("borderTopLeftRadius",
"borderLeftRadius","borderTopRadius","borderRadius")),this.P("borderTopLeftRadius");if(this.I("borderTopRightRadius")||l||p||c)this.fOa(this.B("borderTopRightRadius","borderRightRadius","borderTopRadius","borderRadius")),this.P("borderTopRightRadius");if(this.I("borderBottomLeftRadius")||q||f||c)this.XNa(this.B("borderBottomLeftRadius","borderLeftRadius","borderBottomRadius","borderRadius")),this.P("borderBottomLeftRadius");if(this.I("borderBottomRightRadius")||q||p||c)this.YNa(this.B("borderBottomRightRadius",
"borderRightRadius","borderBottomRadius","borderRadius")),this.P("borderBottomRightRadius");c=!1;this.I("borderSize")&&(this.P("borderSize"),c=!0);if(this.I("borderLeftSize")||c)this.aOa(this.B("borderLeftSize","borderSize")),this.P("borderLeftSize");if(this.I("borderTopSize")||c)this.gOa(this.B("borderTopSize","borderSize")),this.P("borderTopSize");if(this.I("borderRightSize")||c)this.cOa(this.B("borderRightSize","borderSize")),this.P("borderRightSize");if(this.I("borderBottomSize")||c)this.ZNa(this.B("borderBottomSize",
"borderSize")),this.P("borderBottomSize");c=!1;this.I("borderColor")&&(this.P("borderColor"),c=!0);if(this.I("borderLeftColor")||c)this.$Na(this.B("borderLeftColor","borderColor")),this.P("borderLeftColor");if(this.I("borderTopColor")||c)this.dOa(this.B("borderTopColor","borderColor")),this.P("borderTopColor");if(this.I("borderRightColor")||c)this.bOa(this.B("borderRightColor","borderColor")),this.P("borderRightColor");if(this.I("borderBottomColor")||c)this.WNa(this.B("borderBottomColor","borderColor")),
this.P("borderBottomColor");this.I("shadow")&&(this.eW(this.B("shadow")),this.P("shadow"));this.I("shadowHorizontalLength")&&(this.XOa(this.B("shadowHorizontalLength")),this.P("shadowHorizontalLength"));this.I("shadowVerticalLength")&&(this.$Oa(this.B("shadowVerticalLength")),this.P("shadowVerticalLength"));this.I("shadowBlurRadius")&&(this.VOa(this.B("shadowBlurRadius")),this.P("shadowBlurRadius"));this.I("shadowSpread")&&(this.ZOa(this.B("shadowSpread")),this.P("shadowSpread"));this.I("shadowColor")&&
(this.WOa(this.B("shadowColor")),this.P("shadowColor"));c=!1;this.I("opacity")&&(this.$i(this.B("opacity")),this.P("opacity"),c=!0);if(this.I("shadowOpacity")||c)this.YOa(this.B("shadowOpacity","opacity")),this.P("shadowOpacity");this.I("backgroundOpacity")&&(this.SNa(this.B("backgroundOpacity")),this.P("backgroundOpacity"));this.I("backgroundColor")&&(this.ONa(this.B("backgroundColor")),this.P("backgroundColor"));this.I("backgroundColorRatios")&&(this.QNa(this.B("backgroundColorRatios")),this.P("backgroundColorRatios"));
this.I("backgroundColorDirection")&&(this.PNa(this.B("backgroundColorDirection")),this.P("backgroundColorDirection"));this.I("backgroundImageUrl")&&(this.RNa(this.B("backgroundImageUrl")),this.P("backgroundImageUrl"));g.prototype.Ua.call(this)};e.Ao=function(c){if(d(c).isString()&&(c=c.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&2<=c.length)return parseFloat(c[1])};return e});
define("jw",["require","ed","li","cw"],function(a){var d=a("ed"),h=a("li"),m=a("cw");return h.extend(m,function(k,b,g,e,c,f,l,p){d.isNumber(b)||(b=1);d.isNumber(g)||(g=0);m.call(this,k);this.scale=b;this.rotation=g;this.x=e;this.y=c;this.pageX=f;this.pageY=l;this.touches=p||[]})});
define("oB",["require","exports","cw"],function(a,d,h){return function(m){function k(b,g,e,c,f,l,p,q){b=m.call(this,b)||this;b.x=g;b.y=e;b.pageX=c;b.pageY=f;b.delta=l;b.NX=p;b.originalEvent=q;b.movementX=q?q.movementX:0;b.movementY=q?q.movementY:0;return b}Z(k,m);return k}(h)});
define("e","require jquery.mod ed li ox gG lO S jw oB gw v md".split(" "),function(a){var d=a("jquery.mod"),h=a("ed"),m=a("li"),k=a("ox"),b=a("gG"),g=a("lO"),e=a("S"),c=a("jw"),f=a("oB");a("gw");var l=a("v");a=a("md");var p=m.extend(e,function(){e.call(this);this.we("UIComponent");this.nS=[];this.Ula=0;this.BGa=500;this.Ac=1;this.Jn=l.WZ();this.QK=this.ru=this.mT=!1;this.set("propagateClick",!0)});p.uc={autoRolledOver:!1,autoPressed:!1,contentOpaque:!0,cursor:void 0,inheritedCursor:void 0,inheritedInteractionEnabled:!0,
interactionEnabled:!0,rollOverOpacity:[b.U,"opacity"],rollOverShadow:[b.U,"shadow"],toolTipFollowMouse:!1};h.defaults(p.uc,e.uc);p.prototype.nb=function(){this.Dn(p.uc)};p.prototype.iha=function(){this.xqa(!0)};p.prototype.hha=function(){this.xqa(!1)};p.prototype.fha=function(){this.TG(!0)};p.prototype.gha=function(){this.TG(!1)};p.prototype.gN=function(n){this.ru!=n&&(this.ru=n,this.jg())};p.prototype.TG=function(n){this.QK!=n&&(this.QK=n,this.jg())};p.prototype.xqa=function(n){this.mT!=n&&(this.mT=
n,this.jg())};p.prototype.jg=function(){this.ru?this.UG(b.ba):this.QK&&this.mT?this.UG(b.$b):this.QK?this.UG(b.ob):this.mT?this.UG(b.U):this.UG(b.Be)};p.prototype.trigger=function(){e.prototype.trigger.apply(this,arguments)};p.prototype.Jra=function(n,r){this.trigger(new f(k.vb,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.Kra=function(n,r){this.trigger(new f(k.hc,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.Lra=function(n,r){this.trigger(new f(k.Zb,
n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.GQa=function(n,r,u){this.trigger(new f(k.Xq,n.x,n.y,n.pageX,n.pageY,r.delta,r.NX,u&&u.originalEvent))};p.prototype.Gra=function(n){this.trigger(new f(k.pa,n.x,n.y,n.pageX,n.pageY))};p.prototype.Hra=function(n){this.trigger(new f(k.Zl,n.x,n.y,n.pageX,n.pageY))};p.prototype.JQa=function(){this.trigger(new f(k.Tc))};p.prototype.IQa=function(){this.trigger(new f(k.ac))};p.prototype.EQa=function(){this.trigger(new f(k.eA))};p.prototype.FQa=
function(){this.trigger(new f(k.Ro))};p.prototype.DQa=function(n,r,u){this.trigger(new c(k.tw,n,r,u.x,u.y,u.pageX,u.pageY,u.touches))};p.prototype.zQa=function(n,r,u){this.trigger(new c(k.j0,n,r,u.x,u.y,u.pageX,u.pageY,u.touches))};p.prototype.AQa=function(n,r,u){this.trigger(new c(k.eE,n,r,u.x,u.y,u.pageX,u.pageY,u.touches))};p.prototype.BQa=function(n){this.trigger(new c(k.SAa,void 0,n))};p.prototype.CQa=function(n){this.trigger(new c(k.fE,n))};p.prototype.e$=function(n){n.stopImmediatePropagation();
this.fF(["touchend"]);this.gla(n)?this.m8(n):this.apa(n,!0)};p.prototype.apa=function(n,r){var u=this.wF(n);r&&this.sQa(u);this.Jra(u,n);this.ka&&this.ka.apa(n,r&&this.get("propagateClick"))};p.prototype.d$=function(n){n.preventDefault();n.stopImmediatePropagation();this.gla(n)?this.k8(n):this.$oa(n)};p.prototype.$oa=function(n){var r=this.wF(n);this.rQa(r);this.Kra(r,n);this.ka&&this.ka.$oa(n)};p.prototype.Pja=function(n,r){var u=n.pageX-r.pageX;n=n.pageY-r.pageY;return Math.sqrt(u*u+n*n)};p.prototype.Jy=
function(n,r){this.$J(["touchend"]);!1!==r&&n.preventDefault();n.stopImmediatePropagation();this.zG?this.l8(n):(this.Zoa(n,this.fla()),this.Uka());this.zG=null;this.uJ()};p.prototype.Zoa=function(n,r){var u=this.wF(n);this.Lra(u,n);this.qQa(r);this.ka&&this.ka.Zoa(n,r)};p.prototype.sQa=function(n){this.bind(k.ac,this.zra,this,!0);this.LC=n};p.prototype.rQa=function(n){if(this.LC){n=this.Pja(this.LC,n);if(l.mb()){var r=this.Ib();r=.01*p.pCa*Math.min(r.Wa(),r.xb())}else r=p.vCa;n>r&&this.LW()}};p.prototype.qQa=
function(n){this.LC&&(this.Gra(this.LC),n&&this.Hra(this.LC),this.LW())};p.prototype.LW=function(){this.LC&&(this.unbind(k.ac,this.zra,this),this.LC=void 0)};p.prototype.zra=function(){this.LW()};p.prototype.r4=function(n){this.fF(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.m8(n)};p.prototype.m8=function(n){var r=this.C4(n);this.zG=r;this.DQa(r.scale,r.rotation,r.coordinates);this.ka&&this.ka.m8(n)};p.prototype.xja=function(n){n.preventDefault();n.stopImmediatePropagation();
this.k8(n)};p.prototype.k8=function(n){var r=this.C4(n,this.zG),u=r.rotation-this.zG.rotation,t=r.scale/this.zG.scale;this.zG=r;this.Ac*=t;for(this.vk+=u;180<this.vk;)this.vk-=360;for(;-180>this.vk;)this.vk+=360;this.zQa(this.Ac,this.vk,r.coordinates);0!=u&&this.BQa(this.vk);1!=t&&this.CQa(this.Ac);this.LW();this.ka&&this.ka.k8(n)};p.prototype.zja=function(n){this.$J(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.l8(n)};p.prototype.l8=function(n){var r=this.C4(n);
this.AQa(this.Ac,this.vk,r.coordinates);this.ka&&this.ka.l8(n)};p.prototype.C6=function(n){this.fF(["mouseup"]);n.stopImmediatePropagation();this.Voa(n,!0);q&&this.EKa(n.ctrlKey)};p.prototype.Voa=function(n,r){var u=this.nB(n);r&&this.WEa(u);this.Jra(u,n);this.ka&&this.ka.Voa(n,r&&this.get("propagateClick"))};p.prototype.G6=function(n){n.preventDefault();n.stopImmediatePropagation();this.Ib().GD(this);this.Woa(n)};p.prototype.Woa=function(n){var r=this.nB(n);this.VEa(r);this.Kra(r,n);this.ka&&this.ka.Woa(n)};
p.prototype.XT=function(n){this.$J(["mouseup"]);n.preventDefault();n.stopImmediatePropagation();this.Xoa(n,this.fla());this.Uka()};p.prototype.Xoa=function(n,r){var u=this.nB(n);this.Lra(u);this.UEa(r);this.ka&&this.ka.Xoa(n,r)};p.prototype.WEa=function(n){this.bind(k.ac,this.Xha,this,!0);this.PA=n};p.prototype.VEa=function(n){this.PA&&this.Pja(this.PA,n)>p.kCa&&this.u2()};p.prototype.UEa=function(n){this.PA&&(this.Gra(this.PA),n&&this.Hra(this.PA),this.u2())};p.prototype.u2=function(){this.PA&&(this.unbind(k.ac,
this.Xha,this),this.PA=void 0)};p.prototype.Xha=function(){this.u2()};p.prototype.Wla=function(n){this.fb.Vla&&(n.preventDefault(),n.stopImmediatePropagation(),this.Yoa(n))};p.prototype.Eha=function(){return!1};p.prototype.Yoa=function(n){var r=this.nB(n),u=this.wIa(n);this.ka&&!this.Eha(u.delta)&&this.ka.Yoa(n);this.GQa(r,u,n)};p.prototype.nB=function(n){return this.GS(n.pageX,n.pageY)};p.prototype.wIa=function(n){n=window.event||n.originalEvent||n;var r={};r.delta=Math.max(-1,Math.min(1,n.wheelDelta||
-n.detail));r.NX=n.wheelDelta?.01*n.wheelDelta:r.delta;return r};p.prototype.wF=function(n){var r=this.A4(n);if(void 0===r){var u=void 0!==n.pageX?this.GS(n.pageX,n.pageY):this.GS(n.originalEvent.pageX,n.originalEvent.pageY);u.touches=[u]}else 0==r.length?u=this.LMa:(u={x:0,y:0,pageX:0,pageY:0,mz:0,nz:0,touches:[]},Array.from(r).forEach(function(t){t||(t=r[0]);t=this.GS(t.pageX,t.pageY);u.x+=t.x;u.y+=t.y;u.pageX+=t.pageX;u.pageY+=t.pageY;u.mz+=t.mz;u.nz+=t.nz;u.touches.push(t)}.bind(this)),u.x/=r.length,
u.y/=r.length,u.pageX/=r.length,u.pageY/=r.length,u.mz/=r.length,u.nz/=r.length);return this.LMa=u};p.prototype.gla=function(n){if((n=this.A4(n))&&1<n.length)for(var r=0,u=0;u<n.length;u++)if(this.bKa(n[u].target)&&(r++,1<r))return!0;return!1};p.prototype.bKa=function(n){for(;n;){if(n==this.jc)return!0;n=n.parentNode}return!1};p.prototype.A4=function(n){return n.originalEvent.touches||n.originalEvent.targetTouches||n.originalEvent.changedTouches};p.prototype.GS=function(n,r){var u=this.zc().offset(),
t=this.fb?this.fb.ky:1,v={};v.x=(n-u.left)/t;v.y=(r-u.top)/t;v.pageX=n/t;v.pageY=r/t;v.mz=n;v.nz=r;return v};p.prototype.C4=function(n,r){var u=this.wF(n);return void 0!==n.originalEvent.scale||void 0!==n.originalEvent.rotation?{coordinates:u,scale:n.originalEvent.scale,rotation:n.originalEvent.rotation}:r?(n=this.Yja(n),{coordinates:u,scale:r.scale*n/r.touchesDistance,rotation:0,touchesDistance:n}):{coordinates:u,scale:1,rotation:0,touchesDistance:this.Yja(n)}};p.prototype.Yja=function(n){var r=
this.A4(n);return r&&1<r.length?(n=Math.abs(r[0].pageX-r[1].pageX),r=Math.abs(r[0].pageY-r[1].pageY),Math.sqrt(n*n+r*r)):0};p.prototype.fF=function(n){this.nS=h(this.nS).union(n);n=this.Xja(n);for(var r=0;r<n.length;r++){var u=n[r];u.target.bind(u.name,u.handler)}};p.prototype.Uka=function(){this.Ula=(new Date).getTime()};p.prototype.fla=function(){return(new Date).getTime()-this.Ula<=this.BGa};p.prototype.$J=function(n){this.nS=h(this.nS).difference(n);n=this.Xja(n);for(var r=0;r<n.length;r++){var u=
n[r];u.target.unbind(u.name,u.handler)}};p.prototype.Xja=function(n){this.mja||(this.mja=this.z4());for(var r=[],u=0;u<n.length;u++)r=r.concat(this.mja[n[u]]);return r};p.prototype.z4=function(){var n=this.zc(),r=d(document),u=d(window);return{touchstart:[{target:n,name:"touchstart",handler:this.kh(this.e$)}],touchmove:[{target:n,name:"touchmove",handler:this.kh(this.d$)}],touchend:[{target:n,name:"touchend",handler:this.kh(this.Jy,!0)},{target:r,name:"touchend",handler:this.kh(this.Jy,!0)},{target:n,
name:"touchcancel",handler:this.kh(this.Jy,!0)},{target:r,name:"touchcancel",handler:this.kh(this.Jy,!0)}],gesturestart:[{target:n,name:"gesturestart",handler:this.kh(this.r4)}],gesturechange:[{target:n,name:"gesturechange",handler:this.kh(this.xja)}],gestureend:[{target:n,name:"gestureend",handler:this.kh(this.zja)}],mousedown:[{target:n,name:"mousedown",handler:this.kh(this.C6)}],mousemove:[{target:n,name:"mousemove",handler:this.kh(this.G6)}],mouseup:[{target:n,name:"mouseup",handler:this.kh(this.XT,
!0)},{target:u,name:"mouseup",handler:this.kh(this.XT,!0)}],mousewheel:[{target:n,name:"mousewheel",handler:this.kh(this.Wla)},{target:n,name:"DOMMouseScroll",handler:this.kh(this.Wla)}]}};p.prototype.kh=function(n,r){var u=this;return function(){r&&g.b_();p.fX+=1;var t=n.apply(u,arguments);--p.fX;return t}};p.prototype.Ua=function(){this.I("autoRolledOver")&&(this.unbind(k.Tc,this.iha,this),this.unbind(k.ac,this.hha,this),this.B("autoRolledOver")&&(this.bind(k.Tc,this.iha,this),this.bind(k.ac,this.hha,
this)),this.P("autoRolledOver"));this.I("autoPressed")&&(this.unbind(k.vb,this.fha),this.unbind(k.Zb,this.gha),this.B("autoPressed")&&(this.bind(k.vb,this.fha),this.bind(k.Zb,this.gha)),this.P("autoPressed"));var n=!1;this.I("contentOpaque")&&(n=!0,this.P("contentOpaque"));this.I("inheritedInteractionEnabled")&&(n=!0,this.P("inheritedInteractionEnabled"));this.I("interactionEnabled")&&(n=!0,this.P("interactionEnabled"));if(this.I("backgroundOpacity")||this.I("backgroundColor"))n=!0;e.prototype.Ua.call(this);
if(n){var r=this.Oc();r=0<r.Ik()&&0<r.QA.length;var u=this.B("contentOpaque"),t=this.B("inheritedInteractionEnabled"),v=this.B("interactionEnabled");this.AC(t&&v&&(u||r))}if(n||this.I("cursor")||this.I("inheritedCursor"))this.P("cursor"),this.P("inheritedCursor"),this.XQ?this.By(this.B("cursor")):this.By(this.B("inheritedCursor"))};p.prototype.AC=function(n){this.XQ!=n&&((this.XQ=n)?this.fF(p.Dga):this.$J(p.Dga),this.uJ())};p.prototype.uJ=function(){this.yr().style["pointer-events"]=this.rka()};p.prototype.rka=
function(){return this.XQ?"auto":"none"};p.prototype.EKa=function(n){if(n){n=[];for(var r=this;r;)n.push(r),r=r.getParent();console.log(n.map(function(u){return u.It}))}else console.log(this.It)};p.hP=function(){return 0<p.fX};p.Dga=function(){var n=[];n=n.concat(["touchstart","touchmove"]);l.de()!=l.Di&&(n=n.concat(["mousedown","mousemove","mousewheel"]));return n}();p.fX=0;p.G_a=1E3;p.vCa=10;p.pCa=5;p.kCa=10;var q=a.Vh("debug");return p});
define("d",["require"],function(){return{jQ:"absolute",Cg:"horizontal",uw:"grid",sh:"vertical"}});define("cx",["require"],function(){return function(a){this.xd=a;this.height=this.width=this.y=this.x=0}});define("dB",["require"],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}});
define("cd",["require","mL","cx","dB"],function(a){function d(){this.Jc=null;this.Fl=h.tc;this.cl=h.Oa;this.TC=this.nu=0}var h=a("mL"),m=a("cx"),k=a("dB");d.prototype.Kya=function(b){this.nu!=b&&(this.nu=b,this.Pe())};d.prototype.NZ=function(b){this.TC!=b&&(this.TC=b,this.Pe())};d.prototype.Wya=function(b){this.Jc=b;this.Pe()};d.prototype.zI=function(b){this.cl!=b&&(this.cl=b,this.Pe())};d.prototype.GI=function(b){this.Fl!=b&&(this.Fl=b,this.Pe())};d.prototype.measure=function(){return new k};d.prototype.update=
function(){var b=this.uFa();this.iH(b);this.oOa(b)};d.prototype.iH=function(b){this.VN(b);this.UN(b)};d.prototype.JS=function(){for(var b=this.Aka(),g=[],e=0;e<b.length;e++){var c=b[e];c.get("includeInLayout")&&g.push(c)}return g};d.prototype.Aka=function(){for(var b=this.Jc.Kb(),g=[],e=0;e<b.length;e++){var c=b[e];c.get("visible")&&g.push(c)}return g};d.prototype.uFa=function(){for(var b=this.Aka(),g=[],e=0;e<b.length;e++)g.push(new m(b[e]));return g};d.prototype.oOa=function(b){for(var g=0;g<b.length;g++){var e=
b[g];e.xd.yya(e.x,e.y,e.width,e.height)}};d.prototype.Pe=function(){this.Jc&&(this.Jc.Ub(),this.Jc.Hd())};return d});
define("du",["require","li","mL","cd","dB"],function(a){var d=a("li");a("mL");var h=a("cd"),m=a("dB");a=d.extend(h,function(){h.call(this)});a.prototype.measure=function(){for(var k=new m,b=this.JS(),g=0;g<b.length;g++){var e=b[g],c=e.wu,f=e.SM,l=0;isNaN(c)||(l+=c);isNaN(f)||(l+=f);k.width=Math.max(l+e.Is(),k.width);k.minWidth=Math.max(l+e.Gs(),k.minWidth);c=e.iq;f=e.AJ;l=0;isNaN(c)||(l+=c);isNaN(f)||(l+=f);k.height=Math.max(l+e.Hs(),k.height);k.minHeight=Math.max(l+e.Jv(),k.minHeight)}b=this.Jc.Il()+
this.Jc.Cs();k.width+=b;k.minWidth+=b;b=this.Jc.Ds()+this.Jc.ZH();k.height+=b;k.minHeight+=b;return k};a.prototype.iH=function(k){this.VN(k);this.UN(k)};a.prototype.iH=function(k){for(var b=this.Jc.kf(),g=this.Jc.jf(),e=0;e<k.length;e++){var c=k[e],f=c.xd,l=f.wu;if(isNaN(l)){var p=f.cV;isNaN(p)||(l=Math.round(p*b*.01))}p=f.SM;if(isNaN(p)){var q=f.dV;isNaN(q)||(p=Math.round(q*b*.01))}q=f.Uw;var n=f.qm;if(isNaN(n)){var r=f.Mm;isNaN(r)?isNaN(l)||isNaN(p)||(n=b-l-p):n=Math.round(r*b*.01)}r=f.iq;if(isNaN(r)){var u=
f.eV;isNaN(u)||(r=Math.round(u*g*.01))}u=f.AJ;if(isNaN(u)){var t=f.bV;isNaN(t)||(u=Math.round(t*g*.01))}t=f.Vw;var v=f.dB;if(isNaN(v)){var w=f.Lm;isNaN(w)?isNaN(r)||isNaN(u)||(v=g-r-u):v=Math.round(w*g*.01)}c.width=isNaN(n)?f.Is():Math.max(f.Gs(),Math.min(f.nY(),n));c.height=isNaN(v)?f.Hs():Math.max(f.Jv(),Math.min(f.mY(),v));c.x=isNaN(l)||isNaN(p)?isNaN(l)?isNaN(p)?isNaN(q)?0:.5*b+q-.5*c.width:b-p-c.width:l:Math.round(l+.5*(b-p-l-c.width));c.y=isNaN(r)||isNaN(u)?isNaN(r)?isNaN(u)?isNaN(t)?0:.5*g+
t-.5*c.height:g-u-c.height:r:Math.round(r+.5*(g-u-r-c.height))}};return a});
define("ke",["require","li","mL","cd","dB"],function(a){var d=a("li"),h=a("mL"),m=a("cd"),k=a("dB");a=d.extend(m,function(){m.call(this);this.SK=this.TK=this.UK=this.DB=this.su=this.tu=this.WK=this.Jx=this.qm=void 0});a.prototype.IXa=function(b){this.qm!=b&&(this.qm=b,this.Pe())};a.prototype.VXa=function(b){this.tu!=b&&(this.tu=b,void 0!=this.tu&&(this.Jx=void 0),this.Pe())};a.prototype.UXa=function(b){this.su!=b&&(this.su=b,void 0!=this.su&&(this.WK=void 0),this.Pe())};a.prototype.cYa=function(b){this.Jx!=
b&&(this.Jx=b,void 0!=this.tu&&(this.tu=void 0),this.Pe())};a.prototype.bYa=function(b){this.WK!=b&&(this.WK=b,void 0!=this.su&&(this.su=void 0),this.Pe())};a.prototype.$Xa=function(b){this.DB!=b&&(this.DB=b,this.Pe())};a.prototype.ZXa=function(b){this.UK!=b&&(this.UK=b,this.Pe())};a.prototype.YXa=function(b){this.TK!=b&&(this.TK=b,this.Pe())};a.prototype.XXa=function(b){this.SK!=b&&(this.SK=b,this.Pe())};a.prototype.measure=function(){for(var b=new k,g=this.JS(),e=0,c=0;c<g.length;c++)g[c].get("includeInLayout")&&
e++;if(!isNaN(this.Jx))for(isNaN(this.DB)||(b.minWidth=this.DB),c=0;c<g.length;c++){var f=g[c].Gs();isNaN(f)||(b.minWidth=Math.max(f,b.minWidth))}if(isNaN(this.tu))for(c=0;c<g.length;c++)f=g[c].Is(),isNaN(f)||(b.width=Math.max(f,b.width));else b.width=this.tu;if(isNaN(this.su))for(c=0;c<g.length;c++)f=g[c].Hs(),isNaN(f)||(b.height=Math.max(f,b.height));else b.height=this.su;isNaN(this.Jx)?isNaN(this.qm)?g=Math.ceil(Math.sqrt(e)):(g=this.qm-this.Jc.Il()-this.Jc.Cs(),g=Math.max(1,Math.floor((g+this.nu)/
(b.width+this.nu)))):g=Math.max(1,Math.floor(100/this.Jx));e=Math.ceil(e/g);b.width=b.width*g+Math.max(0,g-1)*this.nu+this.Jc.Il()+this.Jc.Cs();b.minWidth=b.minWidth+this.Jc.Il()+this.Jc.Cs();b.height=b.height*e+Math.max(0,e-1)*this.TC+this.Jc.Ds()+this.Jc.ZH();b.minHeight=0;return b};a.prototype.iH=function(b){for(var g,e,c=[],f=[],l=0;l<b.length;l++)e=b[l].xd,e.get("includeInLayout")?c.push(b[l]):f.push(b[l]);var p=c.length,q=this.Jc.kf(),n=this.nu;if(isNaN(this.tu))if(isNaN(this.Jx)){for(l=b=0;l<
c.length;l++)e=c[l].xd,b=Math.max(e.Gs(),e.Is(),b);b=Math.min(q,b)}else b=Math.max(1,Math.floor(100/this.Jx)),b=(q-(b-1)*n)/b,l=!1,!isNaN(this.TK)&&this.TK<b&&(b=this.TK,l=!0),!isNaN(this.DB)&&this.DB>b&&(b=this.DB,l=!0),l&&(b=Math.max(1,Math.floor((q+n)/(b+n))),b=(q-(b-1)*n)/b);else b=this.tu;b=Math.max(1,b);var r=Math.max(1,Math.floor(.001+(q+n)/(b+n)));l=r*b;var u=r*(b+n)-n,t=0;if(q>=u)switch(this.cl){case h.hb:t=q-u;break;case h.Ae:t=Math.round(.5*(q-u));break;default:t=0}q=[];u=[];for(var v=
0;v<r;v++)e=Math.round(l/(r-v)),l-=e,u.push(t),t+=e+n,q.push(e);t=this.Jc.jf();v=this.TC;if(isNaN(this.su))if(isNaN(this.WK))for(n=1,l=0;l<c.length;l++)e=c[l].xd,n=Math.max(e.Jv(),e.Hs(),n);else n=Math.max(1,100/this.WK),n=(t-(n-1)*v)/n,l=!1,!isNaN(this.SK)&&this.SK<n&&(n=this.SK,l=!0),!isNaN(this.UK)&&this.UK>n&&(n=this.UK,l=!0),l&&(n=Math.max(1,Math.floor((t+v)/(n+v))),n=(t-(n-1)*v)/n);else n=this.su;l=Math.max(1,Math.ceil(p/r));g=l*n;p=l*(n+v)-v;var w=0;if(t>=p)switch(this.Fl){case h.oc:w=t-p;
break;case h.ee:w=Math.round(.5*(t-p))}p=[];t=[];for(e=0;e<l;e++){var x=Math.round(g/(l-e));g-=x;t.push(w);w+=x+v;p.push(x)}for(l=0;l<c.length;l++)g=c[l],v=l%r,e=Math.floor(l/r),g.x=u[v],g.width=q[v],g.y=t[e],g.height=p[e];for(l=0;l<f.length;l++)g=f[l],g.x=0,g.width=Math.round(b),g.y=0,g.height=Math.round(n)};return a});
define("lg",["require","li","mL","cd","dB"],function(a){var d=a("li"),h=a("mL"),m=a("cd"),k=a("dB");a=d.extend(m,function(){m.call(this)});a.prototype.measure=function(){for(var b=new k,g=this.JS(),e=0;e<g.length;e++){var c=g[e];b.height=Math.max(c.Hs(),b.height);b.minHeight=Math.max(c.Jv(),b.minHeight);b.width+=c.Is();b.minWidth+=c.Gs()}g=Math.max(0,g.length-1)*this.nu+this.Jc.Il()+this.Jc.Cs();b.width+=g;b.minWidth+=g;g=this.Jc.Ds()+this.Jc.ZH();b.height+=g;b.minHeight+=g;return b};a.prototype.iH=
function(b){this.VN(b);this.UN(b)};a.prototype.VN=function(b){for(var g=0,e=0;e<b.length;e++)b[e].xd.get("includeInLayout")&&g++;e=Math.max(0,g-1)*this.nu;var c=this.Jc.kf()-e,f=this.Jc.jf();g=c;var l=0,p=[];for(e=0;e<b.length;e++){var q=b[e],n=q.xd,r=n.Lm;q.height=isNaN(r)?n.Hs():Math.max(n.Jv(),Math.min(n.mY(),Math.round(f*r*.01)));r=n.Mm;isNaN(r)?(q.width=n.Is(),g-=q.width):n.get("includeInLayout")?(l+=r,p.push(q)):q.width=Math.max(n.Gs(),Math.min(n.nY(),Math.round(c*r*.01)))}g-=Math.max(0,g-c*
l*.01);do{b=!1;c=Math.max(0,0<l?g/l:0);f=[];for(e=l=0;e<p.length;e++){q=p[e];n=q.xd;r=Math.round(n.Mm*c);var u=n.Gs(),t=n.nY();r<u?(q.width=u,g-=q.width,b=!0):r>t?(q.width=t,g-=q.width,b=!0):(l+=n.Mm,f.push(q))}p=f}while(b);for(e=0;e<p.length;e++)q=p[e],n=q.xd,c=Math.max(0,0<l?g/l:0),q.width=Math.round(n.Mm*c),g-=q.width,l-=n.Mm};a.prototype.UN=function(b){for(var g=this.nu,e=this.Jc.kf(),c=this.Jc.jf(),f=0,l=0,p=0;p<b.length;p++){var q=b[p];q.xd.get("includeInLayout")&&(f+=b[p].width,l++)}f+=g*(l-
1);if(e>=f)switch(this.cl){case h.hb:e-=f;break;case h.Ae:e=Math.round(.5*(e-f));break;default:e=0}else e=0;for(p=0;p<b.length;p++)if(q=b[p],q.xd.get("includeInLayout")){if(c>=q.height)switch(this.Fl){case h.oc:q.y=c-q.height;break;case h.ee:q.y=Math.round(.5*(c-q.height));break;default:q.y=0}else q.y=0;q.x=e;e+=q.width+g}else q.x=0,q.y=0};return a});
define("cY",["require","li","mL","cd","dB"],function(a){var d=a("li"),h=a("mL"),m=a("cd"),k=a("dB");a=d.extend(m,function(){m.call(this)});a.prototype.measure=function(){for(var b=new k,g=this.JS(),e=0;e<g.length;e++){var c=g[e];b.width=Math.max(c.Is(),b.width);b.minWidth=Math.max(c.Gs(),b.minWidth);b.height+=c.Hs();b.minHeight+=c.Jv()}g=Math.max(0,g.length-1)*this.TC+this.Jc.Ds()+this.Jc.ZH();b.height+=g;b.minHeight+=g;g=this.Jc.Il()+this.Jc.Cs();b.width+=g;b.minWidth+=g;return b};a.prototype.iH=
function(b){this.VN(b);this.UN(b)};a.prototype.VN=function(b){for(var g=0,e=0;e<b.length;e++)b[e].xd.get("includeInLayout")&&g++;e=Math.max(0,g-1)*this.TC;var c=this.Jc.kf(),f=this.Jc.jf()-e;g=f;var l=0,p=[];for(e=0;e<b.length;e++){var q=b[e],n=q.xd,r=n.Mm;q.width=isNaN(r)?n.Is():Math.max(n.Gs(),Math.min(n.nY(),Math.round(c*r*.01)));r=n.Lm;isNaN(r)?(q.height=n.Hs(),g-=q.height):n.get("includeInLayout")?(l+=r,p.push(q)):q.height=Math.max(n.Jv(),Math.min(n.mY(),Math.round(f*r*.01)))}g-=Math.max(0,g-
f*l*.01);do{b=!1;c=Math.max(0,0<l?g/l:0);f=[];for(e=l=0;e<p.length;e++){q=p[e];n=q.xd;r=Math.round(n.Lm*c);var u=n.Jv(),t=n.mY();r<u?(q.height=u,g-=q.height,b=!0):r>t?(q.height=t,g-=q.height,b=!0):(l+=n.Lm,f.push(q))}p=f}while(b);for(e=0;e<p.length;e++)q=p[e],n=q.xd,c=Math.max(0,0<l?g/l:0),q.height=Math.round(n.Lm*c),g-=q.height,l-=n.Lm};a.prototype.UN=function(b){for(var g=this.TC,e=this.Jc.kf(),c=this.Jc.jf(),f=0,l=0,p=0;p<b.length;p++){var q=b[p];q.xd.get("includeInLayout")&&(f+=q.height,q.width>
e&&(e=q.width),l++)}f+=g*(l-1);if(c>=f)switch(this.Fl){case h.oc:c-=f;break;case h.ee:c=Math.round(.5*(c-f));break;default:c=0}else c=0;for(p=0;p<b.length;p++)if(q=b[p],q.xd.get("includeInLayout")){switch(this.cl){case h.hb:q.x=e-q.width;break;case h.Ae:q.x=Math.round(.5*(e-q.width));break;default:q.x=0}q.y=c;c+=q.height+g}else q.x=0,q.y=0};return a});
define("m","require li ed e S mL cL d du ke lg cY".split(" "),function(a){var d=a("li"),h=a("ed"),m=a("e"),k=a("S"),b=a("mL"),g=a("cL"),e=a("d"),c=a("du"),f=a("ke"),l=a("lg"),p=a("cY"),q=d.extend(m,function(){m.call(this);this.we("BaseContainer");this.Ln=null;this.Kd=[];this.ip=[];this.WJ=g.kea;this.set("contentOpaque",!1)});q.uc={children:[[]],childrenInteractionEnabled:!0,gap:0,horizontalAlign:b.Oa,itemHeight:void 0,itemMaxHeight:void 0,itemMaxWidth:void 0,itemMinHeight:void 0,itemMinWidth:void 0,
itemWidth:void 0,layout:e.jQ,verticalAlign:b.tc};h.defaults(q.uc,m.uc);q.prototype.nb=function(){this.Dn(q.uc)};q.prototype.set=function(n,r){"children"==n?this.Tg(r):"creationPolicy"==n?this.zXa(r):m.prototype.set.call(this,n,r)};q.prototype.get=function(n,r){return"children"==n?this.Kb():"creationPolicy"==n?this.WJ:m.prototype.get.call(this,n,r)};q.prototype.zXa=function(n){this.WJ!=n&&(this.WJ=n,this.x$())};q.prototype.Tg=function(n){var r=this.Kb();n=n||[];for(var u=h(r).difference(n),t=0;t<u.length;t++)this.removeChild(u[t]);
r=h(n).difference(r);for(t=0;t<r.length;t++)this.Va(r[t]);for(t=0;t<n.length;t++)this.cn(n[t],t)};q.prototype.Kb=function(){return this.Kd};q.prototype.Va=function(n){n.getParent()&&n.getParent().removeChild(n);this.Kd.push(n);n.ka=this;this.Zga(n);n.i9(this.vp);this.ip.push(n);this.x$();n.Yo()};q.prototype.removeChild=function(n){n.getParent()==this&&(n.Om(),n.ka=null,h(this.ip).contains(n)?this.ip=h.without(this.ip,n):(n.zc().detach(),n.bs(null),this.Ub(),this.Hd()),this.Kd=h.without(this.Kd,n),
n.F8())};q.prototype.Xxa=function(){h(this.Kb()).forEach(function(n){this.removeChild(n)})};q.prototype.pba=function(n){return h(this.Kd).indexOf(n)};q.prototype.cn=function(n,r){var u=this.pba(n);if(0>u)throw"Can't set index. This is not a child of this container";var t=this.Kd.slice();t.splice(u,1);t.splice(r,0,n);if(!h.isEqual(this.Kd,t)&&(this.Kd=t,!h(this.ip).contains(n))){r=this.pba(n);n.zc().detach();t=u=null;for(var v=r-1;0<=v&&!u;v--)h(this.ip).contains(this.Kd[v])||(u=this.Kd[v]);for(v=
r+1;v<this.Kd.length&&!t&&!u;v++)h(this.ip).contains(this.Kd[v])||(t=this.Kd[v]);u?n.zc().insertAfter(u.zc()):t?n.zc().insertBefore(t.zc()):this.Ab().BX(n.yr());this.Hd()}};q.prototype.AC=function(n){m.prototype.AC.call(this,n);this.Zra()};q.prototype.Zra=function(){h(this.Kd).forEach(function(n){this.Zga(n)},this)};q.prototype.Zga=function(n){n.set("inheritedInteractionEnabled",this.B("interactionEnabled")&&this.B("inheritedInteractionEnabled")&&this.B("childrenInteractionEnabled"))};q.prototype.uJ=
function(){m.prototype.uJ.call(this);this.Kd.forEach(function(n){n.uJ()})};q.prototype.BC=function(n){m.prototype.BC.call(this,n);h(this.Kd).forEach(function(r){r.i9(this.vp)},this)};q.prototype.J1=function(n){m.prototype.J1.call(this,n);h(this.Kb()).forEach(function(r){r.lH()});this.x$()};q.prototype.bs=function(n){m.prototype.bs.call(this,n);h(this.Kb()).forEach(function(r){h(this.ip).contains(r)||r.bs(n)},this)};q.prototype.x$=function(){(this.WJ==g.kea&&this.Hx||this.WJ==g.cA)&&0<this.ip.length&&
(h(this.ip).forEach(function(n){this.Ab().BX(n.yr());n.bs(this.Ib())},this),this.ip=[],this.Ub(),this.Hd())};q.prototype.OP=function(n){this.Ln!=n&&(this.Ln&&this.Ln.Wya(null),(this.Ln=n)&&this.Ln.Wya(this))};q.prototype.Ua=function(){var n=!1,r=this.B("layout");if(this.I("layout")){switch(r){case e.uw:this.OP(new f);break;case e.Cg:this.OP(new l);break;case e.sh:this.OP(new p);break;default:this.OP(new c)}this.P("layout");n=!0}var u=this.Ln;if(this.I("horizontalAlign")||n)u.zI(this.B("horizontalAlign")),
this.P("horizontalAlign");if(this.I("verticalAlign")||n)u.GI(this.B("verticalAlign")),this.P("verticalAlign");if(this.I("gap")||n)r==e.uw?(u.Kya(this.B("gap")),u.NZ(this.B("gap"))):r==e.Cg?u.Kya(this.B("gap")):r==e.sh&&u.NZ(this.B("gap")),this.P("gap");if(r==e.uw){if(this.I("itemWidth")||n){var t=this.B("itemWidth"),v=k.Ao(t);void 0!==v?u.cYa(v):u.VXa(t);this.P("itemWidth")}if(this.I("itemHeight")||n)t=this.B("itemHeight"),v=k.Ao(t),void 0!==v?u.bYa(v):u.UXa(t),this.P("itemHeight");this.I("itemMinWidth")&&
(u.$Xa(this.B("itemMinWidth")),this.P("itemMinWidth"));this.I("itemMinHeight")&&(u.ZXa(this.B("itemMinHeight")),this.P("itemMinHeight"));this.I("itemMaxWidth")&&(u.YXa(this.B("itemMaxWidth")),this.P("itemMaxWidth"));this.I("itemMaxHeight")&&(u.XXa(this.B("itemMaxHeight")),this.P("itemMaxHeight"))}this.I("childrenInteractionEnabled")&&(this.P("childrenInteractionEnabled"),this.Zra());this.kc(["cursor"],{cursor:"inheritedCursor"},this.Kd,!0,!1);m.prototype.Ua.call(this);r==e.uw&&u.IXa(this.qm)};q.prototype.kc=
function(n,r,u,t,v){for(var w=0;w<n.length;w++){var x=n[w];if(!t||this.I(x)){for(var y=0;y<u.length;y++)u[y].set(r[x]?r[x]:x,this.B(x));v&&this.P(x)}}};q.prototype.Cu=function(){if(this.Ln){var n=this.Ln.measure();this.il=n.width;this.hl=n.height;this.oL=n.minWidth;this.nL=n.minHeight}else m.prototype.Cu.call(this)};q.prototype.Tl=function(){this.Ln&&this.Ln.update(this);m.prototype.Tl.call(this)};return q});
define("lQ",["require","jquery.mod","li","oT","gw"],function(a){function d(b,g){this.cF=b;this.vc="#000000";this.tb=.5;this.ia=10;this.hO=this.CK=5;this.tf=g;this.MR=this.C7=this.Za=0;this.Qga=this.Hb=this.kR=!1;this.va=!0;this.QE=document.createElement("div");this.QE.setAttribute("tdvlayer","scrollbar");this.MJ=h(this.QE);k.css(this.QE,{position:"absolute","z-index":m.HBa});this.xJ=document.createElement("div");this.R1=h(this.xJ);k.css(this.xJ,{position:"absolute",left:0,top:0});this.MJ.append(this.R1)}
var h=a("jquery.mod");a("li");var m=a("oT"),k=a("gw");d.prototype.rd=function(){return this.MJ.width()};d.prototype.ce=function(){return this.MJ.height()};d.prototype.setPosition=function(b){this.Za!=b&&(this.Za=b,this.Epa(),this.va=!0)};d.prototype.Jk=function(){return this.Za};d.prototype.setSize=function(b,g){this.C7=b;this.MR=g;this.Epa();this.va=!0};d.prototype.rf=function(b){this.Hb!=b&&(this.Hb=b,this.va=!0)};d.prototype.xya=function(b){this.kR!=b&&(this.kR=b,this.va=!0)};d.prototype.setColor=
function(b){this.vc!=b&&(this.vc=b,this.va=!0)};d.prototype.$i=function(b){this.tb!=b&&(this.tb=b,this.va=!0)};d.prototype.XP=function(b){this.ia!=b&&(this.ia=b,this.va=!0)};d.prototype.Iya=function(b){this.CK!=b&&(this.CK=b,this.va=!0)};d.prototype.Yya=function(b){this.hO!=b&&(this.hO=b,this.va=!0)};d.prototype.Vg=function(){this.va&&(this.Qga!=this.Hb&&(this.Hb?this.tf.append(this.MJ):this.MJ.detach(),this.Qga=this.Hb),this.ea(),this.va=!1)};d.prototype.ea=function(){var b=Math.round(100*this.C7/
this.MR),g=Math.round(100*this.Za/this.MR);k.css(this.QE,{filter:"alpha(opacity="+Math.round(100*this.tb)+")",opacity:this.tb,display:this.Hb?"block":"none"});k.css(this.xJ,{backgroundColor:this.vc,"border-radius":Math.floor(this.ia/2)+"px"});this.cF==d.Cg?(k.css(this.QE,{left:this.CK+"px",right:(this.kR?this.ia:0)+this.CK+"px",height:this.ia+"px",bottom:this.hO+"px"}),k.css(this.xJ,{left:g+"%",width:b+"%",height:this.ia+"px"})):(k.css(this.QE,{top:this.hO+"px",right:this.CK+"px",width:this.ia+"px",
bottom:(this.kR?this.ia:0)+this.hO+"px"}),k.css(this.xJ,{top:g+"%",width:this.ia+"px",height:b+"%"}))};d.prototype.Epa=function(){var b=this.MR-this.C7;0>this.Za?this.Za=0:this.Za>b&&(this.Za=b)};d.Cg="horizontal";d.sh="vertical";return d});define("jJ",["require","li","lQ"],function(a){var d=a("li"),h=a("lQ");return d.extend(h,function(m){h.call(this,h.Cg,m)})});define("eo",["require","li","lQ"],function(a){var d=a("li"),h=a("lQ");return d.extend(h,function(m){h.call(this,h.sh,m)})});
define("ha","require exports ox cw gf md".split(" "),function(a,d,h,m,k,b){return new (function(g){function e(){var c=g.call(this)||this;c.visible=!0;c.Bb=!1;c.d_=!1;c.visible=!0;c.Bb=!1;c.d_=!1;c.Wxa=b.getQueryParameter("redirect-when-hidden")||"";c.PWa=b.Vh("reload-when-hidden",!1);document.addEventListener("visibilitychange",c.onChange.bind(c),!1);c.onChange();return c}Z(e,g);e.prototype.EZ=function(c){if(this.Bb=c)this.d_=!1;this.onChange()};e.prototype.Cda=function(c){this.d_=c;this.onChange()};
e.prototype.onChange=function(){var c=this.Bb?!this.d_:!document.hidden;this.visible!=c&&((this.visible=c)&&this.vWa(),this.trigger(new m(h.ta)))};e.prototype.vWa=function(){this.Wxa?window.location.href=this.Wxa:this.PWa&&window.location.reload()};return e}(k))});
define("mq",["require","exports","md"],function(a,d,h){a={};a.bE=h.Vh("debug",!1);a.VAa=h.Yi("hqhls");a.eea=h.Vh("audiocontext",!0);a.x_a=h.Vh("testhash",!1);a.NAa=h.Vh("exitvronblur",!1);a.yAa=h.Vh("download",!0);a.VBa=h.Vh("updatewhilehidden",!1);return a});
define("bg",["require","exports","li","ha","mq"],function(a,d,h,m,k){var b=window.requestAnimationFrame.bind(window),g=window.cancelAnimationFrame.bind(window),e=function(){function f(){}f.requestFrame=function(l,p,q){for(var n=0;n<f.Dq.length;n++)if(f.Dq[n].is(l,p))return;n=f.MY;void 0!==q&&(n+=q);f.Dq.push(new c(l,p,n));f.paused||void 0!==f.Qs||(f.Qs=f.DP(f.ZX))};f.XSa=function(l){for(var p=0;p<f.Dq.length;p++)if(f.Dq[p].is(l,void 0)){f.Dq.splice(p,1);break}};f.nda=function(l){f.paused!=l&&(f.paused=
l,f.paused?void 0!==f.Qs&&(f.Uaa(f.Qs),f.Qs=void 0):0<f.Dq.length&&(f.Qs=f.DP(f.ZX)))};f.KZ=function(l,p){f.DP!=l&&(void 0!==f.Qs&&(f.Uaa(f.Qs),f.Qs=l(f.ZX)),f.DP=l,f.Uaa=p)};f.Lca=function(){f.KZ(b,g)};f.ZX=function(l){f.kua(l);f.Qs=0<f.Dq.length?f.DP(f.ZX):void 0};f.kua=function(l){l<f.ye&&(f.startTime=l-f.MY*f.g0,f.ye=l);var p=0;void 0===f.startTime?f.startTime=l:p=Math.round((l-f.startTime)/f.g0);var q=(p-f.MY)*f.g0,n=f.Dq;f.Dq=[];f.Sba=!0;f.MY=p;q=1<q?100>q?q:100:1;f.ye=l;for(l=0;l<n.length;l++){var r=
n[l];p<r.Dwa?f.Dq.push(r):r.call(q)}f.Sba=!1};f.ye=(new Date).getTime();f.Sba=!1;f.DP=b;f.Uaa=g;f.Dq=[];f.Qs=void 0;f.paused=!1;f.g0=1E3/60;f.MY=0;f.startTime=void 0;return f}();k.VBa&&setInterval(function(){m.visible||e.kua(e.ye+100)},100);var c=function(){function f(l,p,q){this.Dwa=0;this.ro=l;this.context=p;this.Dwa=q}f.prototype.is=function(l,p){return this.ro==l&&this.context==p};f.prototype.call=function(l){try{this.ro.call(this.context,l)}catch(p){h.kP("Error in animation frame",p)}};return f}();
return e});define("bE",["require"],function(){return function(a,d,h,m){this.name=a;this.from=d;this.yz=h;this.UVa=m}});
define("nZ",["require","bE"],function(a){function d(e){var c={lba:function(f,l,p,q){p=0>=p?0:p>=q?1:p/q;.5>p?p=Math.pow(2*p,e):(p=1-Math.pow(1-(2*p-1),e),p+=1);return f+.5*(l-f)*p}};c.ica=k(e);return c}function h(e){var c={lba:function(f,l,p,q){return f+(l-f)*(1-Math.pow(1-(0>=p?0:p>=q?1:p/q),e))}};c.ica=k(e);return c}function m(e){var c={lba:function(f,l,p,q){return f+(l-f)*Math.pow(0>=p?0:p>=q?1:p/q,e)}};c.ica=k(e);return c}function k(e){return function(c,f,l){c=Math.abs(f-c);return 1>c/l?0:1/(1-
Math.pow((c-l)/c,1/e))}}function b(e,c,f){this.Wj=null;switch(e){case "quad_in":this.Wj=m(2);break;case "quad_out":this.Wj=h(2);break;case "quad_in_out":this.Wj=d(2);break;case "cubic_in":this.Wj=m(3);break;case "cubic_out":this.Wj=h(3);break;case "cubic_in_out":this.Wj=d(3);break;case "quart_in":this.Wj=m(4);break;case "quart_out":this.Wj=h(4);break;case "quart_in_out":this.Wj=d(4);break;case "quint_in":this.Wj=m(5);break;case "quint_out":this.Wj=h(5);break;case "quint_in_out":this.Wj=d(5);break;
default:this.Wj=m(1)}this.$t=c.slice();this.Ed=0;this.qb=this.vx(c,f);this.s3={};for(e=0;e<this.$t.length;e++)this.s3[this.$t[e].name]=c[e].from}var g=a("bE");b.prototype.sba=function(e){for(var c=0;c<this.$t.length;c++)if(this.$t[c].name==e)return this.$t[c];return null};b.prototype.cb=function(e){return this.s3[e]};b.prototype.Ke=function(){return this.Ed>=this.qb};b.prototype.Xi=function(){return this.qb};b.prototype.Jk=function(){return this.Ed/this.qb};b.prototype.getTime=function(){return this.Ed};
b.prototype.setTime=function(e){this.Ed=Math.min(Math.max(0,e),this.qb);for(e=0;e<this.$t.length;e++){var c=this.$t[e];this.s3[c.name]=this.Wj.lba(c.from,c.yz,this.Ed,this.qb)}};b.prototype.yb=function(e){this.setTime(this.Ed+e)};b.prototype.vx=function(e,c,f){for(var l=[],p=0;p<this.$t.length;p++){var q=this.$t[p],n=f?f:q.UVa;void 0!==n&&0<n&&l.push(this.Wj.ica(q.from,q.yz,n/1E3))}if(0<l.length){e=l[0];for(p=1;p<l.length;p++)e=Math.max(e,l[p]);return 0<c?Math.max(c,e):e}return void 0!==c?Math.max(c,
.001):this.vx(e,c,1E3)};b.Xi=function(){return(new b(void 0,[new g("",void 0,void 0,void 0)])).Xi()};return b});
define("nS","require ed li ox cw mL hD fy m jJ eo bg nZ bE".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("cw"),b=a("mL"),g=a("hD"),e=a("fy"),c=a("m"),f=a("jJ"),l=a("eo"),p=a("bg"),q=a("nZ"),n=a("bE"),r=h.extend(c,function(){c.call(this);this.we("Container");this.gd=this.Md=this.Vf=this.sg=this.Sb=this.Fb=this.jia=this.iia=0;this.J5=this.P5=this.kl=this.jl=!1;this.dia=0;this.E2=this.D2=void 0;this.G2=this.F2=0;this.zy=null;this.z7=g.Aea;this.Bx=!1;this.NS=null;this.rs=!1;this.gX=null});
r.uc={overflow:g.qE,scrollBarColor:"#000000",scrollBarWidth:10,scrollBarMargin:5,scrollBarHorizontalMargin:void 0,scrollBarVerticalMargin:void 0,scrollBarOpacity:.5,scrollBarVisible:e.Tc};d.defaults(r.uc,c.uc);r.prototype.En=function(){this.NS=new f(this.K4());this.NS.R1.bind("mousedown touchstart",d.bind(this.nJa,this));this.En=function(){return this.NS};return this.NS};r.prototype.Fn=function(){this.gX=new l(this.K4());this.gX.R1.bind("mousedown touchstart",d.bind(this.gSa,this));this.Fn=function(){return this.gX};
return this.gX};r.prototype.scrollIntoView=function(u){var t=u.Ga,v=u.Ja;this.scrollTo(Math.min(t,Math.max(t+u.Wa()-this.sg,this.Md)),Math.min(v,Math.max(v+u.xb()-this.Vf,this.gd)))};r.prototype.scrollTo=function(u,t){var v=this.Md;u>this.Md?this.xR()&&(v=Math.min(u,this.Fb-this.sg)):u<this.Md&&this.wR()&&(v=Math.max(u,0));u=this.gd;t>this.gd?this.vR()&&(u=Math.min(t,this.Sb-this.Vf)):t<this.gd&&this.yR()&&(u=Math.max(t,0));this.vN(v,u)};r.prototype.nya=function(){if(this.vR()){for(var u=Math.max(0,
this.Sb-this.Vf),t=Math.min(u,this.gd+.5*this.Vf),v=u=Math.min(u,this.gd+this.Vf),w=this.Kb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ja;y+x.xb()>this.gd+this.Vf&&y>=t&&y<u&&y<v&&(v=y)}this.vN(this.Md,v)}};r.prototype.vR=function(){return this.Cha()&&this.gd+this.Vf<this.Sb};r.prototype.pya=function(){if(this.yR()){for(var u=Math.max(0,this.gd-this.Vf),t=Math.max(0,this.gd-.5*this.Vf),v=u,w=this.Kb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=
x.Ja;x=y+x.xb();y<this.gd&&x>=u+this.Vf&&x<t+this.Vf&&x>v+this.Vf&&(v=x-this.Vf)}this.vN(this.Md,v)}};r.prototype.yR=function(){return this.Cha()&&0<this.gd};r.prototype.oya=function(){if(this.xR()){for(var u=Math.max(0,this.Fb-this.sg),t=Math.min(u,this.Md+.5*this.sg),v=u=Math.min(u,this.Md+this.sg),w=this.Kb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ga;y+x.Wa()>this.Md+this.sg&&y>=t&&y<u&&y<v&&(v=y)}this.vN(v,this.gd)}};r.prototype.xR=function(){return this.Bha()&&
this.Md+this.sg<this.Fb};r.prototype.scrollLeft=function(){if(this.wR()){for(var u=Math.max(0,this.Md-this.sg),t=Math.max(0,this.Md-.5*this.sg),v=u,w=this.Kb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ga;x=y+x.Wa();y<this.Md&&x>=u+this.sg&&x<t+this.sg&&x>v+this.sg&&(v=x-this.sg)}this.vN(v,this.gd)}};r.prototype.wR=function(){return this.Bha()&&0<this.Md};r.prototype.vN=function(u,t){this.jl=this.Md!=u;this.kl=this.gd!=t;this.ns();this.zy=new q("cubic_in_out",[new n("hScrollPosition",
this.Md,u),new n("vScrollPosition",this.gd,t)],500);p.requestFrame(this.z1,this)};r.prototype.Cha=function(){return this.rs&&this.Vf<this.Sb};r.prototype.Bha=function(){return this.Bx&&this.sg<this.Fb};r.prototype.nb=function(){this.Dn(r.uc)};r.prototype.fFa=function(){this.P5=!0;this.ns()};r.prototype.eFa=function(){this.P5=!1;this.ns()};r.prototype.nJa=function(){this.jl=!0};r.prototype.gSa=function(){this.kl=!0};r.prototype.bFa=function(u){this.jl||this.kl?(this.Ib().bind(m.hc,this.bia,this),this.Ib().bind(m.Zb,
this.cia,this),this.Zw=u.pageX,this.$w=u.pageY,this.ns()):this.eia(u)};r.prototype.bia=function(u){if(this.jl){var t=(u.pageX-this.Zw)*this.Fb/this.En().rd();this.Md+=t}else this.kl&&(t=(u.pageY-this.$w)*this.Sb/this.Fn().ce(),this.gd+=t);this.Zw=u.pageX;this.$w=u.pageY;this.wv()};r.prototype.cia=function(){this.Ib().unbind(m.hc,this.bia,this);this.Ib().unbind(m.Zb,this.cia,this);this.kl=this.jl=!1;this.ns()};r.prototype.Eha=function(u){return this.rs&&(0<u&&0<this.gd||0>u&&this.gd<this.Sb-this.Vf)?
!0:!1};r.prototype.dFa=function(u){this.rs&&(this.gd-=u.delta*this.Vf*.1,this.wv())};r.prototype.eia=function(u){if(this.Bx||this.rs)this.Ib().bind(m.hc,this.fia,this),this.Ib().bind(m.Zb,this.gia,this),this.J5=!0,this.Zw=u.pageX,this.$w=u.pageY,this.ns(),this.HJa()};r.prototype.fia=function(u){var t=u.pageX-this.Zw,v=u.pageY-this.$w;!this.jl&&!this.kl&&25<t*t+v*v&&(this.jl=this.Bx,this.kl=this.rs,this.ns());if(this.jl||this.kl)this.Md-=t,this.gd-=v,this.Zw=u.pageX,this.$w=u.pageY,this.wv(),this.fRa()};
r.prototype.gia=function(){this.Ib().unbind(m.hc,this.fia,this);this.Ib().unbind(m.Zb,this.gia,this);this.J5=!1;this.ns();var u=Math.max(Math.abs(this.F2/.001),Math.abs(this.G2/.001));this.zy=new q("linear",[new n("hScrollPosition",this.Md,this.Md-.5*this.F2*u),new n("vScrollPosition",this.gd,this.gd-.5*this.G2*u)],u);p.requestFrame(this.z1,this)};r.prototype.HJa=function(){this.D2=this.Zw;this.E2=this.$w};r.prototype.fRa=function(){var u=(new Date).getTime(),t=u-this.dia;10<t&&(this.dia=u,this.F2=
(this.Zw-this.D2)/t,this.G2=(this.$w-this.E2)/t,this.D2=this.Zw,this.E2=this.$w)};r.prototype.z1=function(u){this.zy&&!this.zy.Ke()&&(this.jl||this.kl)?(this.zy.yb(u),this.jl&&(this.Md=this.zy.cb("hScrollPosition"),0>this.Md||this.Md>this.Fb-this.sg)&&(this.jl=!1),this.kl&&(this.gd=this.zy.cb("vScrollPosition"),0>this.gd||this.gd>this.Sb-this.Vf)&&(this.kl=!1),this.wv(),p.requestFrame(this.z1,this)):(this.kl=this.jl=!1,this.zy=null,this.ns())};r.prototype.wv=function(u){if(u){if(!this.Bx)switch(this.B("horizontalAlign")){case b.hb:this.Md=
this.Fb-this.sg;break;case b.Ae:this.Md=(this.Fb-this.sg)/2;break;default:this.Md=0}if(!this.rs)switch(this.B("verticalAlign")){case b.oc:this.gd=this.Sb-this.Vf;break;case b.ee:this.gd=(this.Sb-this.Vf)/2;break;default:this.gd=0}}this.Md=Math.max(0,Math.min(this.Fb-this.sg,this.Md));this.gd=Math.max(0,Math.min(this.Sb-this.Vf,this.gd));this.En().setPosition(this.Md);this.Fn().setPosition(this.gd);this.Ab().OXa(this.Md);this.Ab().bZa(this.gd);this.Kk();if(this.Noa!=this.Md||this.Ooa!=this.gd)void 0!==
this.Noa&&void 0!==this.Ooa&&this.trigger(new k(m.Vo)),this.Noa=this.Md,this.Ooa=this.gd};r.prototype.ns=function(){var u=this.get("scrollBarVisible")==e.ALWAYS?!0:this.Jn?this.jl||this.kl||this.J5:this.jl||this.kl||this.P5;this.En().rf(this.Bx&&u);this.Fn().rf(this.rs&&u);this.Kk()};r.prototype.zb=function(){c.prototype.zb.call(this);this.cFa||(this.cFa=!0,this.Jn?this.bind(m.vb,this.eia,this):(this.bind(m.vb,this.bFa,this),this.bind(m.Tc,this.fFa,this),this.bind(m.ac,this.eFa,this),this.bind(m.Xq,
this.dFa,this)))};r.prototype.Ua=function(){this.I("overflow")&&(this.z7=this.B("overflow"),this.P("overflow"),this.Hd());this.I("scrollBarColor")&&(this.En().setColor(this.B("scrollBarColor")),this.Fn().setColor(this.B("scrollBarColor")),this.P("scrollBarColor"));this.I("scrollBarWidth")&&(this.En().XP(this.B("scrollBarWidth")),this.Fn().XP(this.B("scrollBarWidth")),this.P("scrollBarWidth"));if(this.I("scrollBarMargin")||this.I("scrollBarVerticalMargin")||this.I("scrollBarHorizontalMargin")){var u=
this.B("scrollBarHorizontalMargin","scrollBarMargin"),t=this.B("scrollBarVerticalMargin","scrollBarMargin");this.En().Iya(u);this.En().Yya(t);this.Fn().Iya(u);this.Fn().Yya(t);this.P("scrollBarMargin");this.P("scrollBarVerticalMargin");this.P("scrollBarHorizontalMargin")}this.I("scrollBarOpacity")&&(this.En().$i(this.B("scrollBarOpacity")),this.Fn().$i(this.B("scrollBarOpacity")),this.P("scrollBarOpacity"));c.prototype.Ua.call(this)};r.prototype.Tl=function(){c.prototype.Tl.call(this);this.iRa();
this.DRa();this.BRa();this.ns();this.Kk()};r.prototype.iRa=function(){for(var u=0,t=0,v=0,w=0,x=this.Kb(),y=0;y<x.length;y++){var A=x[y];A.get("visible")&&(w=Math.min(w,A.Ga),v=Math.min(v,A.Ja),u=Math.max(u,A.Ga+A.Wa()),t=Math.max(t,A.Ja+A.xb()))}this.iia=w;this.jia=v;this.Fb=u;this.Sb=t};r.prototype.DRa=function(){this.sg=Math.min(this.kf(),this.Fb);this.Vf=Math.min(this.jf(),this.Sb)};r.prototype.BRa=function(){var u=this.Kd.some(function(w){return w.ZUa()}),t=0>this.iia||0>this.jia||this.Fb>this.sg||
this.Sb>this.Vf;if(this.z7==g.Vo){this.Bx=this.sg<this.Fb;var v=(this.rs=this.Vf<this.Sb)&&this.Bx;this.En().setSize(this.sg,this.Fb);this.En().xya(v);this.Fn().setSize(this.Vf,this.Sb);this.Fn().xya(v);this.Ab().BI(!t&&!u)}else this.rs=this.Bx=!1,this.z7==g.qE?this.Ab().BI(!0):this.Ab().BI(!t&&!u);this.wv(!0)};r.prototype.Vg=function(){this.Fn().Vg();this.En().Vg();c.prototype.Vg.call(this)};return r});define("W",["require"],function(){return{sh:"vertical",Cg:"horizontal"}});
define("ho",["require"],function(){return{Ev:function(a){return a?a.split(",").map(function(d){return d.trim()}).filter(function(d){return""!=d}).map(function(d){"'"!=d[0]&&'"'!=d[0]&&(d="'"+d+"'");return d}).join(", "):""}}});
define("iM","require jquery.mod ed li mL W e gw ho".split(" "),function(a){function d(l){var p=l.Qm.width(),q=l.Qm.height();"italic"==l.get("fontStyle")&&(p+=1*q/5);return Math.round(p)}var h=a("jquery.mod"),m=a("ed"),k=a("li"),b=a("mL"),g=a("W"),e=a("e");a("gw");var c=a("ho");a=k.extend(e,function(){e.call(this);this.we("Label");this.Qm=this.qN=null});a.uc={};a.prototype.nb=function(){e.prototype.nb.call(this);this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");
this.h("horizontalAlign",b.Oa);this.h("verticalAlign",b.ee);this.h("direction",g.Cg);this.h("text","");this.h("textDecoration");this.h("textShadowBlurRadius",3);this.h("textShadowColor","#000000");this.h("textShadowHorizontalLength",0);this.h("textShadowOpacity",0);this.h("textShadowVerticalLength",0)};a.prototype.zb=function(){e.prototype.zb.call(this);if(!this.Qm){this.qN=document.createElement("span");this.Qm=h(this.qN);this.A9({position:"absolute","text-align":"center",cursor:"inherit","white-space":"nowrap",
transform:"translate3d(0, 0, 0)"});var l=this.Ab();l.BI(!1);l.append(this.Qm)}};a.prototype.Cu=function(){e.prototype.Cu.call(this);var l=this.Ab();this.il=d(this)+l.bI()+l.eI();this.hl=this.Qm.height()+l.fI()+l.YH();f(this)};a.prototype.Ua=function(){var l={};if(this.I("direction")||this.I("text")){switch(this.B("direction")){case g.sh:l["line-height"]="100%";this.Qm.html(this.Qm.text(this.B("text")).text().split("").join("<br/>"));break;default:l["line-height"]="normal",this.Qm.text(this.B("text")),
this.Qm.html(this.Qm.html().split(" ").join("&nbsp;"))}this.P("direction");this.P("text");setTimeout(function(){this.Ub();this.Hd()}.bind(this),0)}if(this.I("fontFamily")){var p=this.B("fontFamily");m(p).isString()||(p="");l.fontFamily=c.Ev(p);this.P("fontFamily");this.Ub();this.Hd()}this.I("fontSize")&&(p=this.B("fontSize"),m(p).isNumber()?p+="px":m(p).isString()||(p=""),l.fontSize=p,this.P("fontSize"),this.Ub(),this.Hd());this.I("fontColor")&&(p=this.B("fontColor"),m(p).isString()||(p=""),l.color=
p,this.P("fontColor"));if(this.I("fontWeight")){p=this.B("fontWeight");switch(p){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;default:p="normal"}l.fontWeight=p;this.P("fontWeight");this.Ub();this.Hd()}if(this.I("fontStyle")){p=this.B("fontStyle");switch(p){case "italic":case "normal":break;default:p="normal"}l.fontStyle=p;this.P("fontStyle");this.Ub();this.Hd()}if(this.I("textDecoration")){p=
this.B("textDecoration");switch(p){case "underline":case "overline":case "line-through":case "none":break;default:p="none"}l.textDecoration=p;this.P("textDecoration");this.Ub();this.Hd()}this.I("horizontalAlign")&&(this.Hd(),this.P("horizontalAlign"));this.I("verticalAlign")&&(this.Hd(),this.P("verticalAlign"));p=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(m(p).any(function(n){return this.I(n)},this)){var q={};m(p).each(function(n){q[n]=
this.B(n);this.P(n)},this);l["-moz-text-shadow"]=l["-webkit-text-shadow"]=l["text-shadow"]=[q.textShadowHorizontalLength+"px",q.textShadowVerticalLength+"px",q.textShadowBlurRadius+"px","rgba("+parseInt("0x"+q.textShadowColor.substr(1,2))+", "+parseInt("0x"+q.textShadowColor.substr(3,2))+", "+parseInt("0x"+q.textShadowColor.substr(5,2))+", "+q.textShadowOpacity+")"].join(" ");p=0==q.textShadowVerticalLength&&0==this.B("textShadowHorizontalLength")?135:45*Math.round(4*Math.atan2(q.textShadowHorizontalLength,
-q.textShadowVerticalLength)/Math.PI);l.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*q.textShadowOpacity).toString(16)).slice(-2)+q.textShadowColor.substr(1,6)+",direction="+p+")";this.Ab().BI((0<q.textShadowHorizontalLength||0<q.textShadowVerticalLength||0<q.textShadowBlurRadius)&&0<q.textShadowOpacity)}this.A9(l);e.prototype.Ua.call(this)};a.prototype.Tl=function(){var l={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.B("horizontalAlign")){case b.Oa:l.left=
"0";break;case b.hb:this.Vg();l.left=this.kf()-d(this)+"px";break;case b.Ae:this.Vg(),l.left=Math.max(0,Math.round(.5*(this.kf()-d(this))))+"px"}switch(this.B("verticalAlign")){case b.tc:l.top="0";break;case b.oc:this.Vg();l.top=this.jf()-this.qN.clientHeight+"px";break;case b.ee:this.Vg(),l.top=Math.max(0,Math.round(.5*(this.jf()-this.qN.clientHeight)))+"px"}this.A9(l)};a.prototype.A9=function(l){var p=this.qN.style,q;for(q in l)p[q]=l[q]};var f=function(){function l(){r||p()&&(r=setTimeout(function(){r=
null;var u=(new Date).getTime()-5E3,t;for(t in n){var v=n[t];v.timestamp<u&&delete n[t];var w=v.label;if(v.width!=d(w)||v.height!=w.Qm.height())w.Ub(),w.Hd()}l()},500))}function p(){for(var u in n)return!0;return!1}var q=1,n={},r=null;return function(u){u.$la||(u.$la=q++);n[u.$la]={label:u,timestamp:(new Date).getTime(),width:d(u),height:u.Qm.height()};l()}}();return a});
define("lH","require li ed cL bc ox cw hk ea hD gG nS iM".split(" "),function(a){var d=a("li"),h=a("ed"),m=a("cL"),k=a("bc"),b=a("ox"),g=a("cw"),e=a("hk"),c=a("ea"),f=a("hD"),l=a("gG"),p=a("nS"),q=a("iM"),n=d.extend(p,function(){this.we("Button");p.call(this);this.di=this.Ta=null;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",m.cA);this.set("overflow",f.Aea);this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("cursor",k.Ze)});n.prototype.nb=
function(){p.prototype.nb.call(this);this.h("label");this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowBlurRadius");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowOpacity");this.h("textShadowVerticalLength");this.h("layout","horizontal");this.h("iconWidth");this.h("iconHeight");this.h("iconBeforeLabel");this.h("gap",5);this.h("mode",c.Ce);this.h("buttonGroup");this.h("paddingLeft",
5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",5);this.h("pressed");this.u("rollOverOpacity",l.U,"opacity");this.u("rollOverIconWidth",l.U,"iconWidth");this.u("rollOverIconHeight",l.U,"iconHeight");this.u("rollOverFontSize",l.U,"fontSize");this.u("rollOverFontColor",l.U,"fontColor");this.u("rollOverFontWeight",l.U,"fontWeight");this.u("rollOverFontStyle",l.U,"fontStyle");this.u("rollOverTextDecoration",l.U,"textDecoration");this.u("rollOverTextShadowBlurRadius",l.U,"textShadowBlurRadius");
this.u("rollOverTextShadowColor",l.U,"textShadowColor");this.u("rollOverTextShadowHorizontalLength",l.U,"textShadowHorizontalLength");this.u("rollOverTextShadowOpacity",l.U,"textShadowOpacity");this.u("rollOverTextShadowVerticalLength",l.U,"textShadowVerticalLength");this.u("rollOverBorderSize",l.U,"borderSize");this.u("rollOverBorderLeftSize",l.U,"borderLeftSize");this.u("rollOverBorderTopSize",l.U,"borderTopSize");this.u("rollOverBorderRightSize",l.U,"borderRightSize");this.u("rollOverBorderBottomSize",
l.U,"borderBottomSize");this.u("rollOverBorderColor",l.U,"borderColor");this.u("rollOverBorderLeftColor",l.U,"borderLeftColor");this.u("rollOverBorderTopColor",l.U,"borderTopColor");this.u("rollOverBorderRightColor",l.U,"borderRightColor");this.u("rollOverBorderBottomColor",l.U,"borderBottomColor");this.u("rollOverShadow",l.U,"shadow");this.u("rollOverShadowHorizontalLength",l.U,"shadowHorizontalLength");this.u("rollOverShadowVerticalLength",l.U,"shadowVerticalLength");this.u("rollOverShadowBlurRadius",
l.U,"shadowBlurRadius");this.u("rollOverShadowSpread",l.U,"shadowSpread");this.u("rollOverShadowOpacity",l.U,"shadowOpacity");this.u("rollOverShadowColor",l.U,"shadowColor");this.u("rollOverBackgroundOpacity",l.U,"backgroundOpacity");this.u("rollOverBackgroundColor",l.U,"backgroundColor");this.u("rollOverBackgroundColorRatios",l.U,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",l.U,"backgroundColorDirection");this.u("pressedLabel",l.ob,"label");this.u("pressedOpacity",l.ob,"opacity");
this.u("pressedIconWidth",l.ob,"iconWidth");this.u("pressedIconHeight",l.ob,"iconHeight");this.u("pressedFontSize",l.ob,"fontSize");this.u("pressedFontColor",l.ob,"fontColor");this.u("pressedFontWeight",l.ob,"fontWeight");this.u("pressedFontStyle",l.ob,"fontStyle");this.u("pressedTextDecoration",l.ob,"textDecoration");this.u("pressedTextShadowBlurRadius",l.ob,"textShadowBlurRadius");this.u("pressedTextShadowColor",l.ob,"textShadowColor");this.u("pressedTextShadowHorizontalLength",l.ob,"textShadowHorizontalLength");
this.u("pressedTextShadowOpacity",l.ob,"textShadowOpacity");this.u("pressedTextShadowVerticalLength",l.ob,"textShadowVerticalLength");this.u("pressedBorderSize",l.ob,"borderSize");this.u("pressedBorderLeftSize",l.ob,"borderLeftSize");this.u("pressedBorderTopSize",l.ob,"borderTopSize");this.u("pressedBorderRightSize",l.ob,"borderRightSize");this.u("pressedBorderBottomSize",l.ob,"borderBottomSize");this.u("pressedBorderColor",l.ob,"borderColor");this.u("pressedBorderLeftColor",l.ob,"borderLeftColor");
this.u("pressedBorderTopColor",l.ob,"borderTopColor");this.u("pressedBorderRightColor",l.ob,"borderRightColor");this.u("pressedBorderBottomColor",l.ob,"borderBottomColor");this.u("pressedShadow",l.ob,"shadow");this.u("pressedShadowHorizontalLength",l.ob,"shadowHorizontalLength");this.u("pressedShadowVerticalLength",l.ob,"shadowVerticalLength");this.u("pressedShadowBlurRadius",l.ob,"shadowBlurRadius");this.u("pressedShadowSpread",l.ob,"shadowSpread");this.u("pressedShadowOpacity",l.ob,"shadowOpacity");
this.u("pressedShadowColor",l.ob,"shadowColor");this.u("pressedBackgroundOpacity",l.ob,"backgroundOpacity");this.u("pressedBackgroundColor",l.ob,"backgroundColor");this.u("pressedBackgroundColorRatios",l.ob,"backgroundColorRatios");this.u("pressedBackgroundColorDirection",l.ob,"backgroundColorDirection");this.u("pressedLabel",l.$b,"label");this.u("pressedRollOverOpacity",l.$b,"opacity");this.u("pressedRollOverIconWidth",l.$b,"iconWidth");this.u("pressedRollOverIconHeight",l.$b,"iconHeight");this.u("pressedRollOverFontSize",
l.$b,"fontSize");this.u("pressedRollOverFontColor",l.$b,"fontColor");this.u("pressedRollOverFontWeight",l.$b,"fontWeight");this.u("pressedRollOverFontStyle",l.$b,"fontStyle");this.u("pressedRollOverTextDecoration",l.$b,"textDecoration");this.u("pressedRollOverTextShadowBlurRadius",l.$b,"textShadowBlurRadius");this.u("pressedRollOverTextShadowColor",l.$b,"textShadowColor");this.u("pressedRollOverTextShadowHorizontalLength",l.$b,"textShadowHorizontalLength");this.u("pressedRollOverTextShadowOpacity",
l.$b,"textShadowOpacity");this.u("pressedRollOverTextShadowVerticalLength",l.$b,"textShadowVerticalLength");this.u("pressedRollOverBorderSize",l.$b,"borderSize");this.u("pressedRollOverBorderLeftSize",l.$b,"borderLeftSize");this.u("pressedRollOverBorderTopSize",l.$b,"borderTopSize");this.u("pressedRollOverBorderRightSize",l.$b,"borderRightSize");this.u("pressedRollOverBorderBottomSize",l.$b,"borderBottomSize");this.u("pressedRollOverBorderColor",l.$b,"borderColor");this.u("pressedRollOverBorderLeftColor",
l.$b,"borderLeftColor");this.u("pressedRollOverBorderTopColor",l.$b,"borderTopColor");this.u("pressedRollOverBorderRightColor",l.$b,"borderRightColor");this.u("pressedRollOverBorderBottomColor",l.$b,"borderBottomColor");this.u("pressedRollOverShadow",l.$b,"shadow");this.u("pressedRollOverShadowHorizontalLength",l.$b,"shadowHorizontalLength");this.u("pressedRollOverShadowVerticalLength",l.$b,"shadowVerticalLength");this.u("pressedRollOverShadowBlurRadius",l.$b,"shadowBlurRadius");this.u("pressedRollOverShadowSpread",
l.$b,"shadowSpread");this.u("pressedRollOverShadowOpacity",l.$b,"shadowOpacity");this.u("pressedRollOverShadowColor",l.$b,"shadowColor");this.u("pressedRollOverBackgroundOpacity",l.$b,"backgroundOpacity");this.u("pressedRollOverBackgroundColor",l.$b,"backgroundColor");this.u("pressedRollOverBackgroundColorRatios",l.$b,"backgroundColorRatios");this.u("pressedRollOverBackgroundColorDirection",l.$b,"backgroundColorDirection")};n.prototype.S2=function(){};n.prototype.zb=function(){p.prototype.zb.call(this);
this.di||(this.di=this.S2(),this.Va(this.di));this.Ta||(this.Ta=new q,this.Va(this.Ta))};n.prototype.CJ=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new g(b.am))):(this.set("pressed",!0),this.trigger(new g(b.Pj)))};n.prototype.Ua=function(){var r=!1;this.I("mode")&&(this.B("mode")==c.Ce?(this.unbind(b.pa,this.CJ,this,!0),this.set("autoPressed",!0)):(this.bind(b.pa,this.CJ,this,!0),this.set("autoPressed",!1)),this.P("mode"),r=!0);if(r||this.I("pressed"))this.B("mode")==c.Rj?
this.TG(1==this.B("pressed")):r&&this.TG(!1);this.I("label")&&(r=this.B("label"),this.Ta.set("text",r),this.Ta.set("visible",r?!0:!1),this.P("label"));this.kc(n.jga,n.kga,[this.Ta],!0,!0);this.I("iconBeforeLabel")&&(0==this.B("iconBeforeLabel")?this.cn(this.Ta,0):this.cn(this.di,0),this.P("iconBeforeLabel"));this.I("iconWidth")&&(this.di.set("width",this.B("iconWidth")),this.P("iconWidth"));this.I("iconHeight")&&(this.di.set("height",this.B("iconHeight")),this.P("iconHeight"));this.I("buttonGroup")&&
((r=this.B("buttonGroup"))?e.register(this,r):e.unregister(this),this.P("buttonGroup"));this.kc(["horizontalAlign","verticalAlign"],{},[this.di],!0,!1);p.prototype.Ua.call(this)};n.jga="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");n.kga={};h(n.jga).each(function(r){n.kga[r]=r});return n});
define("jx",["require","nq","lH"],function(a){var d=a("nq"),h=a("lH");return d.define("BaseButton",h,function(){h.call(this)})});define("jh",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("BaseObject",d,function(){d.call(this)})});
define("ep","require li lJ ox cw bg nZ bE".split(" "),function(a){var d=a("li"),h=a("lJ");a("ox");var m=a("cw"),k=a("bg"),b=a("nZ"),g=a("bE"),e={},c=d.extend(h,function(){h.call(this);this.qb=void 0;this.jo=[];this.A="stopped";this.set("easing","linear");this.set("duration",1E3);this.set("loop",!1);this.set("animationDirection","normal")});c.prototype.play=function(f){f||(f=e);this.mI(f)||("stopped"==this.A||0>this.jo.indexOf(f)?(this.A="playing",this.jo.push(f),this.Fe=0,this.qb=Math.max(this.get("duration",
1E3),1),this.dg=new b(this.get("easing","linear"),[new g("pos",0,1)],this.qb),this.dg.setTime(this.Fe),this.XG(),this.hv(),this.DM()):this.A="playing")};c.prototype.reverse=function(f){f||(f=e);this.GVa(f)||("stopped"==this.A||0>this.jo.indexOf(f)?(this.A="playingReverse",this.jo.push(f),this.Fe=this.qb=Math.max(this.get("duration",1E3),0),this.dg=new b(this.get("easing","linear"),[new g("pos",0,1)],this.qb),this.dg.setTime(this.Fe),this.XG(),this.hv(),this.DM()):this.A="playingReverse")};c.prototype.stop=
function(){"stopped"!=this.A&&(this.A="stopped",0!==this.Fe&&(this.Fe=0,this.dg.setTime(this.Fe),this.hv(),this.DM()))};c.prototype.end=function(){"stopped"!=this.A&&(this.Fe=this.qb,this.dg.setTime(this.Fe),this.hv(),this.DM())};c.prototype.cancel=function(){this.A="stopped";this.Fe=0;this.jo=[]};c.prototype.mI=function(f){return"playing"==this.A&&0<=this.jo.indexOf(f)};c.prototype.GVa=function(f){return"playingReverse"==this.A&&0<=this.jo.indexOf(f)};c.prototype.tj=function(f){"stopped"!=this.A&&
(this.Fe="playing"==this.A?Math.min(this.qb,this.Fe+f):Math.max(0,this.Fe-f),this.dg.setTime(this.Fe),this.hv(),this.DM())};c.prototype.Jk=function(){return this.dg&&this.dg.cb("pos")||0};c.prototype.qx=function(f){if(this.jo)for(var l=0;l<this.jo.length;l++)f.call(this,this.jo[l],l)};c.prototype.XG=function(){this.trigger(new m("playingReverse"==this.A?c.IAa:c.KAa))};c.prototype.hv=function(){this.trigger(new m(c.E_))};c.prototype.VG=function(){this.trigger(new m(c.Kj))};c.prototype.WG=function(){this.trigger(new m(c.et))};
c.prototype.DM=function(){"playingReverse"==this.A&&0>=this.Fe?(this.Fe=0,this.WG(),this.jo=[],"stopped"!=this.A&&(this.A="stopped",this.get("loop")&&this.play())):"playing"==this.A&&this.Fe>=this.qb?(this.Fe=this.qb,this.VG(),this.jo=[],"stopped"!=this.A&&(this.A="stopped","alternate"==this.get("animationDirection")?this.reverse():this.get("loop")&&this.play())):"stopped"!=this.A&&k.requestFrame(this.tj,this)};c.KAa="start";c.E_="frame";c.Kj="end";c.IAa="reverseStart";c.et="reverseEnd";return c});
define("gD",["require","ox","ep"],function(a){var d=a("ox"),h=a("ep");return{NGa:function(){this.Xj=this.De=null;this.bind(d.hd,this.gja,this,!0);this.bind(d.sd,this.bja,this,!0);this.bind(d.Tc,this.dja,this,!0);this.bind(d.ac,this.cja,this,!0);this.bind(d.G("effect"),this.$ia,this,!0);this.bind(d.G("rollOverEffect"),this.eja,this,!0);this.$A=!1},N_a:function(){this.unbind(d.hd,this.gja,this,!0);this.unbind(d.sd,this.bja,this,!0);this.unbind(d.Tc,this.dja,this,!0);this.unbind(d.ac,this.cja,this,!0);
this.unbind(d.G("effect"),this.$ia,this,!0);this.unbind(d.G("rollOverEffect"),this.eja,this,!0)},gja:function(){this.De&&this.De.play()},bja:function(){this.De&&this.De.stop();this.Xj&&this.Xj.stop();this.$A=!1},dja:function(){this.$A||(this.$A=!0,this.Xj&&(this.De&&this.De.get("loop")&&0<this.De.Jk()?this.De.reverse():this.De&&0!=this.De.Jk()&&1!=this.De.Jk()||(this.De&&this.De.stop(),this.Xj.play())))},cja:function(){this.$A&&(this.$A=!1,this.Xj&&(0<this.Xj.Jk()?this.Xj.reverse():this.De&&this.De.get("loop")&&
this.De.play()))},aja:function(){this.P3()},P3:function(){this.$A&&this.Xj&&(this.De.stop(),this.Xj.play())},fja:function(){this.$A||(this.Xj.stop(),this.De&&this.De.get("loop")&&this.De.play())},$ia:function(){this.De&&this.De.unbind(h.Kj,this.aja,this,!0);this.De&&this.De.unbind(h.et,this.P3,this,!0);(this.De=this.get("effect"))&&this.De.bind(h.Kj,this.aja,this,!0);this.De&&this.De.bind(h.et,this.P3,this,!0)},eja:function(){this.Xj&&this.Xj.unbind(h.et,this.fja,this,!0);(this.Xj=this.get("rollOverEffect"))&&
this.Xj.bind(h.et,this.fja,this,!0)}}});
define("iu",["require","li","lJ","nq","gD"],function(a){var d=a("li"),h=a("lJ"),m=a("nq");a=a("gD");m=m.define("Model3DObject",h,function(){h.call(this);this.set("hidden",!1);this.NGa();this.Oh=this.YF=this.k5=this.j5=!1});d.CX(m,[a]);m.prototype.set=function(k,b){h.prototype.set.call(this,k,b);"hideBasedOnDistance"!=k&&"hideWhileUserInteracting"!=k&&"hideWhileMoving"!=k||this.WN()};m.prototype.eda=function(k){this.k5!==k&&(this.k5=k,this.WN())};m.prototype.WP=function(k){this.Oh!==k&&(this.Oh=k,
this.WN())};m.prototype.Zv=function(k){this.YF!==k&&(this.YF=k,this.WN())};m.prototype.dda=function(k){this.j5!==k&&(this.j5=k,this.WN())};m.prototype.WN=function(){this.set("hidden",this.k5||this.j5||this.YF&&this.get("hideWhileMoving")||this.Oh&&this.get("hideWhileUserInteracting"))};return m});define("gb",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("BoxModel3DObject",h,function(){h.call(this)})});
define("lX",["require"],function(){return{NONE:"none",sw:"fill",qh:"fit_inside",Tq:"fit_outside",Oo:"fit_to_width",Nj:"fit_to_height",rAa:"custom"}});
define("mr","require ed jquery.mod li ox hP v mL lX e gw kq".split(" "),function(a){function d(r){this.d2=r;this.kd=[];this.Vk=null}var h=a("ed"),m=a("jquery.mod"),k=a("li"),b=a("ox"),g=a("hP"),e=a("v"),c=a("mL"),f=a("lX"),l=a("e"),p=a("gw"),q=a("kq");d.Am=document.createElement("a");d.prototype.$Ea=function(r){d.Am.href=r;return d.Am.href};d.prototype.load=function(r,u,t){r=this.$Ea(r);this.Vk&&!this.Vk.Kl()&&(this.Vk.cancel(),this.kd=h(this.kd).without(this.Vk));(this.Vk=h(this.kd).find(function(x){return x.ui()==
r}))?this.kd=h(this.kd).without(this.Vk):(this.Vk=new q(g.wfa),this.Vk.load(r));for(this.kd.splice(0,0,this.Vk);this.kd.length>this.d2;)this.kd.pop().cancel();if(u){var v=this.Vk,w=function(){u.call(t||window,v.lf(),v.rd(),v.ce())};this.Vk.Kl()?w():this.Vk.bind(b.Z,w)}};d.prototype.clear=function(){this.kd.forEach(function(r){r.cancel()});this.Vk=null};a=k.extend(l,function(r){l.call(this);this.we("Image");this.d2=r||1;this.faa=!1;this.cl=c.Oa;this.PS=!1;this.Fl=c.tc;this.jX=!1;this.yf=f.NONE;this.S8=
!1;this.lG=this.mG=0;this.w5=this.w7=!1;this.Sb=this.Fb=0;this.Rt=!1;this.Qx=this.dl=this.Xb=this.YS=this.XS=null;this.bind(b.ic,this.EJa,this);this.bind(b.hd,this.FJa,this)});a.prototype.J4=function(){this.Qx=new d(this.d2);this.J4=function(){return this.Qx};return this.Qx};a.prototype.nb=function(){l.prototype.nb.call(this);this.h("horizontalAlign",c.Oa);this.h("verticalAlign",c.tc);this.h("scaleMode",f.NONE)};a.prototype.set=function(r,u){"url"==r&&this.get("url")!=u&&(this.faa=!0,this.ke());l.prototype.set.call(this,
r,u)};a.prototype.zI=function(r){this.cl!=r&&(this.cl=r,this.PS=!0,this.ke())};a.prototype.GI=function(r){this.Fl!=r&&(this.Fl=r,this.jX=!0,this.ke())};a.prototype.xz=function(r){this.yf!=r&&(this.yf=r,this.S8=!0,this.ke(),this.Ub())};a.prototype.EJa=function(){this.Rt=!0;this.ke()};a.prototype.FJa=function(){this.Esa()};var n={position:"static",cursor:"inherit",display:"inline",verticalAlign:"top",visibility:"hidden","pointer-events":"none","user-select":"none","-ms-user-select":"none","-moz-user-select":"none",
"-webkit-user-select":"none","touch-callout":"none","-webkit-touch-callout":"none"};e.browser()==e.Nk&&e.mb()&&(n.transform="translate3d(0,0,0)");a.prototype.$ga=function(r,u,t){this.mG=u?u:0;this.lG=t?t:0;this.Xb&&(this.Xb.remove(),this.Xb=null);if(this.dl=r)this.Xb=m(this.dl),p.css(this.dl,n),this.XS.append(this.Xb);this.w7=this.w5=!0;this.ke();this.Ub();this.Xb&&this.trigger(b.Z)};a.prototype.zb=function(){l.prototype.zb.call(this);this.XS||(this.YS=document.createElement("div"),this.XS=m(this.YS),
p.css(this.YS,{position:"static",overflow:"hidden",cursor:"inherit"}),this.Ab().append(this.XS))};a.prototype.Cu=function(){this.il=this.mG+this.Il()+this.Cs();this.hl=this.lG+this.Ds()+this.ZH();this.Gla=0==this.mG&&0==this.lG?0:this.mG/this.lG;this.nL=this.oL=0};a.prototype.Ua=function(){this.I("scaleMode")&&(this.xz(this.B("scaleMode")),this.P("scaleMode"));this.I("horizontalAlign")&&(this.zI(this.B("horizontalAlign")),this.P("horizontalAlign"));this.I("verticalAlign")&&(this.GI(this.B("verticalAlign")),
this.P("verticalAlign"));this.Rga()&&(this.Rt=!0);l.prototype.Ua.call(this);this.Esa();if(this.RUa()){var r=!1;if(this.S8||this.w7||this.Rt){var u=this.kf(),t=this.jf(),v=this.mG,w=this.lG,x;if(0==v||0==w)var y=x=0;else switch(this.yf){case f.NONE:x=v;y=w;break;case f.sw:x=u;y=t;break;case f.qh:v*t>w*u?(x=u,y=w*u/v):(x=v*t/w,y=t);break;case f.Tq:v*t>w*u?(x=v*t/w,y=t):(x=u,y=w*u/v);break;case f.Oo:x=u;y=w*u/v;break;case f.Nj:x=v*t/w,y=t}if(this.Fb!=x||this.Sb!=y)this.Fb=x,this.Sb=y,r=!0;this.w7=this.S8=
!1}if(r||this.Rt||this.w5)this.jX=this.PS=!0,this.dl&&p.css(this.dl,{width:this.Fb+"px",height:this.Sb+"px",visibility:"inherit"}),p.css(this.YS,{width:this.kf()+"px",height:this.jf()+"px","border-top-left-radius":this.LS(this.JHa(),this.Lja(),this.Jja())+"px","border-top-right-radius":this.LS(this.KHa(),this.Lja(),this.Kja())+"px","border-bottom-left-radius":this.LS(this.HHa(),this.Ija(),this.Jja())+"px","border-bottom-right-radius":this.LS(this.IHa(),this.Ija(),this.Kja())+"px"}),this.Ub(),this.w5=
this.Rt=!1;if(this.PS&&this.dl){switch(this.cl){case c.Oa:p.css(this.dl,{"margin-left":0,"margin-right":this.kf()-this.Fb+"px"});break;case c.hb:p.css(this.dl,{"margin-left":this.kf()-this.Fb+"px","margin-right":0});break;case c.Ae:p.css(this.dl,{"margin-left":Math.floor(.5*(this.kf()-this.Fb))+"px","margin-right":Math.ceil(.5*(this.kf()-this.Fb))+"px"})}this.PS=!1}if(this.jX&&this.dl){switch(this.Fl){case c.tc:p.css(this.dl,{"margin-top":0,"margin-bottom":this.jf()-this.Sb+"px"});break;case c.oc:p.css(this.dl,
{"margin-top":this.jf()-this.Sb+"px","margin-bottom":0});break;case c.ee:p.css(this.dl,{"margin-top":Math.floor(.5*(this.jf()-this.Sb))+"px","margin-bottom":Math.ceil(.5*(this.jf()-this.Sb))+"px"})}this.jX=!1}}};a.prototype.Esa=function(){if(this.faa){var r=this.get("url");r?this.J4().load(r,this.$ga,this):(this.J4().clear(),this.$ga(null,0,0));this.faa=!1}};a.prototype.LS=function(r,u,t){if(!r)return 0;var v=0;u&&(v=Math.max(v,u));t&&(v=Math.max(v,t));return Math.max(0,r-v)};return a});
define("fL","require li lX gG lH mr".split(" "),function(a){var d=a("li"),h=a("lX"),m=a("gG"),k=a("lH"),b=a("mr");a=d.extend(k,function(){k.call(this)});a.prototype.nb=function(){k.prototype.nb.call(this);this.h("iconURL");this.u("rollOverIconURL",m.U,"iconURL");this.u("pressedIconURL",m.ob,"iconURL");this.u("pressedRollOverIconURL",m.$b,"iconURL")};a.prototype.S2=function(){var g=new b(3);g.set("scaleMode",h.qh);return g};a.prototype.Ua=function(){if(this.I("iconURL")){var g=this.B("iconURL");this.di.set("url",
g);this.di.set("visible",g?!0:!1);this.P("iconURL")}k.prototype.Ua.call(this)};return a});define("fK",["require","nq","fL"],function(a){var d=a("nq"),h=a("fL");return d.define("Button",h,function(){h.call(this)})});define("hU",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("CapPanoramaOverlay",d,function(){d.call(this)})});define("hJ",["require","nq","hU"],function(a){var d=a("nq"),h=a("hU");return d.define("CeilingCapPanoramaOverlay",h,function(){h.call(this)})});
define("k",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("ChildModel3DObject",h,function(){h.call(this)})});
define("cv","require ed jquery.mod li ox cw e".split(" "),function(a){a("ed");var d=a("jquery.mod"),h=a("li"),m=a("ox"),k=a("cw"),b=a("e");a=h.extend(b,function(){b.call(this);this.we("Canvas");this.L3=!0;this.O=null;this.bind(m.ic,this.zEa,this)});a.prototype.zEa=function(){this.AY()};a.prototype.AY=function(){this.L3=!0;this.Kk()};a.prototype.zb=function(){b.prototype.zb.call(this);this.O||(this.O=d("<canvas/>"),this.O.css({position:"absolute",left:0,top:0,cursor:"inherit"}),this.Ab().append(this.O))};
a.prototype.Ua=function(){this.Rga()&&this.AY();b.prototype.Ua.call(this)};a.prototype.Vg=function(){if(this.L3){this.L3=!1;var g=this.O.get(0);g.width=this.kf();g.height=this.jf();this.NZa()}b.prototype.Vg.call(this)};a.prototype.dUa=function(){return this.O.get(0).width};a.prototype.cUa=function(){return this.O.get(0).height};a.prototype.bUa=function(){return this.O.get(0).getContext("2d")};a.prototype.NZa=function(){this.trigger(new k(m.ta))};return a});
define("jS","require li ox gG lH cv".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("gG"),k=a("lH"),b=a("cv");a=d.extend(k,function(){k.call(this)});a.prototype.Tl=function(){k.prototype.Tl.call(this)};a.prototype.nb=function(){k.prototype.nb.call(this);this.h("iconColor");this.u("rollOverIconColor",m.U,"iconColor");this.u("pressedIconColor",m.ob,"iconColor");this.u("pressedRollOverIconColor",m.$b,"iconColor")};a.prototype.S2=function(){var g=new b;g.bind(h.ta,this.Tza,this,!0);return g};a.prototype.Ua=
function(){this.I("iconColor")&&(this.di.AY(),this.P("iconColor"));k.prototype.Ua.call(this)};a.prototype.iIa=function(){return this.B("iconColor")};a.prototype.jIa=function(){return this.di.bUa()};a.prototype.lIa=function(){return this.di.dUa()};a.prototype.kIa=function(){return this.di.cUa()};a.prototype.Tza=function(){};return a});
define("fU",["require","li","jS","mL","gG"],function(a){var d=a("li"),h=a("jS"),m=a("mL"),k=a("gG");a=d.extend(h,function(){h.call(this);this.ja({horizontalAlign:m.Ae,verticalAlign:m.ee})});a.prototype.nb=function(){h.prototype.nb.call(this);this.h("iconLineWidth");this.u("rollOverIconLineWidth",k.U,"iconLineWidth");this.u("pressedIconLineWidth",k.ob,"iconLineWidth");this.u("pressedRollOverIconLineWidth",k.$b,"iconLineWidth")};a.prototype.sIa=function(){return this.B("iconLineWidth")};a.prototype.Ua=
function(){this.I("iconLineWidth")&&(this.di.AY(),this.P("iconLineWidth"));h.prototype.Ua.call(this)};a.prototype.Tza=function(){var b=this.jIa(),g=this.iIa(),e=this.lIa(),c=this.kIa(),f=this.sIa();b.clearRect(0,0,e,c);b.lineWidth=f||1;b.strokeStyle=g||"#000000";b.beginPath();b.moveTo(0,0);b.lineTo(e,c);b.moveTo(0,c);b.lineTo(e,0);b.closePath();b.stroke()};return a});define("je",["require","nq","fU"],function(a){var d=a("nq"),h=a("fU");return d.define("CloseButton",h,function(){h.call(this)})});
define("jU",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("CookiesPolicy",d,function(){d.call(this)})});define("lI",["require","ll","nq","nS"],function(a){var d=a("ll"),h=a("nq"),m=a("nS");a=h.define("Container",m,function(){m.call(this)});a.prototype.scrollTo=function(k,b){m.prototype.scrollTo.call(this,k,b)};a.prototype.scrollIntoView=function(k){d.qz(function(){m.prototype.scrollIntoView.call(this,k)}.bind(this))};return a});
define("lq",["require","lJ","nq"],function(a){var d=a("lJ"),h=a("nq");a=h.define("PanoramaFrame",d,function(){d.call(this);this.la=null});a.prototype.get=function(m,k){switch(m){case "overlays":return this.L4();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":case "minFaceSize":if(this.la)return this.la.get(m,k)}return d.prototype.get.call(this,m,k)};a.prototype.L4=function(){var m=d.prototype.get.call(this,"overlays");m||(m=[]);return this.y9(m)};a.prototype.y9=function(m){if(void 0===
this.YG||this.yT!=m){var k=function(g){return h.Ka("PopupPanoramaOverlay",g)},b=function(g){return h.Ka("LensFlarePanoramaOverlay",g)};this.yT=m;this.YG=[].concat(m.filter(function(g){return!(k(g)||b(g))}),m.filter(b),m.filter(k))}return this.YG};a.prototype.MSa=function(m){this.la=m};a.prototype.ez=function(){return this.la};a.prototype.Ll=function(){return!1};return a});define("of",["require","nq","lq"],function(a){var d=a("nq"),h=a("lq");return d.define("CubicPanoramaFrame",h,function(){h.call(this)})});
define("ih",["require"],function(){return{"bg-bg":{mute:"\u0417\u0430\u0433\u043b\u0443\u0448\u0430\u0432\u0430\u043d\u0435","cardboard-v1":"\u0410\u043a\u043e \u043d\u0435 \u0441\u0442\u0435 \u0441\u0438\u0433\u0443\u0440\u043d\u0438 \u043a\u043e\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 Cardboard \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435. \u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0449\u0435 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0449\u0435 \u0438\u0437\u0447\u0430\u043a\u0430\u0442\u0435, \u0434\u043e\u043a\u0430\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u0441\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430.",
"download-tour":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435 \u043d\u0430 \u0442\u0443\u0440\u0430 \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d","change-to-drag-and-release":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041f\u043b\u044a\u0437\u0433\u0430\u043d\u0435 \u0438 \u041f\u0443\u0441\u043a\u0430\u043d\u0435",
accept:"\u041f\u0440\u0438\u0435\u043c\u0435\u0442\u0435",cancel:"\u041e\u0442\u043a\u0430\u0437","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432 \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u0438 \u0434\u0430 \u044f \u043f\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0438\u0442\u0435.",
"dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u0439 \u0442\u0430\u0437\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0432\u043e","web-server-required":"\u0422\u043e\u0437\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u0435\u043b\u0435\u043d \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0443\u0441\u043d\u0430\u0442 \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u043d\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u041c\u043e\u043b\u044f, \u043a\u0430\u0447\u0435\u0442\u0435 \u0433\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.\n\u0410\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u0435, \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 htm \u0444\u0430\u0439\u043b\u0430 (\u0438\u043b\u0438 \u0446\u044f\u043b\u0430\u0442\u0430 \u043f\u0430\u043f\u043a\u0430 \u043d\u0430 \u0442\u0443\u0440\u0430) \u0432\u044a\u0440\u0445\u0443 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e TourViewer.",
download:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","change-to-click-and-move":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041a\u043b\u0438\u043a\u0432\u0430\u043d\u0435 \u0438 \u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430\u043d\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435","use-safari-for-vr":"\u041f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0432\u0430\u043c\u0435 Safari, \u0437\u0430 \u0434\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0442\u0435 \u0442\u043e\u0437\u0438 \u0442\u0443\u0440 \u0432 \u0440\u0435\u0436\u0438\u043c VR",
"exit-fullscreen":"\u0418\u0437\u043b\u0435\u0437\u0442\u0435 \u043e\u0442 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",no:"\u043d\u0435","download-failed":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435\u0442\u043e \u0441\u0435 \u043f\u0440\u043e\u0432\u0430\u043b\u0438","giroscope-disabled-http":"\u0418\u043c\u0430\u0442\u0435 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0447\u0440\u0435\u0437 http, \u0442\u0430\u043a\u0430 \u0447\u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0434\u043e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438, \u043c\u043e\u043b\u044f, \u043e\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0433\u043e \u0447\u0440\u0435\u0437 https, \u0437\u0430 \u0434\u0430 \u0433\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435.",
"cookies-notice":"\u0422\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438 \u0437\u0430 \u0441\u044a\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u0438 \u0437\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e. \u0417\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043c\u043e\u043b\u044f, \u043f\u043e\u0441\u0435\u0442\u0435\u0442\u0435 <a> \u041f\u0440\u0430\u0432\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438\u0442\u0435 </a>.",
"use-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard","launch-default-browser":"\u0421\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u044a\u0440\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","rotate-device":"\u041c\u043e\u043b\u044f \u0437\u0430\u0432\u044a\u0440\u0442\u0435\u0442\u0435 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e",
"exit-vr":"\u0418\u0437\u043b\u0438\u0437\u0430\u043d\u0435 \u043e\u0442 \u0440\u0435\u0436\u0438\u043c VR","storage-not-provided-launch-from-desktop":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.",
"disable-measure":"Stop measuring",downloading:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","cardboard-v2":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Cardboard v2, \u043a\u043e\u0438\u0442\u043e \u0440\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u0442 \u0441 \u0431\u0443\u0442\u043e\u043d, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0434\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0435\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430, \u0437\u0430 \u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0443.",
"enable-video-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?",reject:"\u041e\u0442\u0445\u0432\u044a\u0440\u043b\u0435\u0442\u0435",downloaded:"\u0422\u043e\u0437\u0438 \u0442\u0443\u0440 \u0435 \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d.","samsung-internet-vr-app-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u0435 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u044a\u0440 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.",
"samsung-internet-vr-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0421\u0435\u0433\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u043b\u043e\u0436\u0438\u0442\u0435 \u043c\u043e\u0431\u0438\u043b\u043d\u0438\u044f \u0441\u0438 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0432 \u043e\u0447\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043d\u0430 \u0440\u0435\u0430\u043b\u043d\u043e\u0441\u0442.",
"enable-video-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0437\u0430 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u0442\u043e\u0437\u0438 \u0441\u0430\u0439\u0442.",
"\u0417\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043c\u043e\u043b\u044f, \u043a\u043b\u0438\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438 \u0438 \u043f\u0440\u0438\u0435\u043c\u0435\u0442\u0435 \u0438\u0441\u043a\u0430\u043d\u0435\u0442\u043e \u0437\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435."],
"storage-not-provided-launch-from-homescreen":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043d\u0438\u044f \u0435\u043a\u0440\u0430\u043d, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.","enter-fullscreen":"\u0412\u043b\u0435\u0437\u0442\u0435 \u0432 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",
"use-cardboard-v2":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard v2",unmute:"\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u0437\u0432\u0443\u043a","enter-vr":"\u0412\u043b\u0435\u0437 \u0432\u044a\u0432 VR \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435","enable-measure":"Start measuring","use-cardboard-info":"\u041c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0432\u0441\u044f\u043a\u0430\u043a\u0432\u0438 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 Google Cardboard \u043e\u0447\u0438\u043b\u0430, \u0437\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR.",
"refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435","use-default-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","enable-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0430\u0443\u0434\u0438\u043e?"},"fi-fi":{mute:"Poista \u00e4\u00e4ni k\u00e4yt\u00f6st\u00e4","cardboard-v1":"Mik\u00e4li et ole varma, mit\u00e4 Cardboard-versiota k\u00e4yt\u00e4t, valitse oletusarvoinen hotspot-hallinta. T\u00e4m\u00e4n j\u00e4lkeen katsomalla hotspotia, toiminto k\u00e4ynnistyy.",
"download-tour":"Lataa t\u00e4m\u00e4 sis\u00e4lt\u00f6 offline-toistoa varten","change-to-drag-and-release":"Muuta ohjaustilaa vet\u00e4m\u00e4ll\u00e4 ja vapauttamalla",accept:"Hyv\u00e4ksy",download:"Lataa","storage-not-provided-bookmark":"Tallennus ep\u00e4onnistui. Kokeile lis\u00e4t\u00e4 t\u00e4m\u00e4 verkkosivu kirjanmerkkeihin ja suorita lataus uudelleen.","dont-display-again":"\u00c4l\u00e4 n\u00e4yt\u00e4 t\u00e4t\u00e4 ilmoitusta uudelleen","web-server-required":"T\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 ei voi toistaa paikalliselta asemalta. Lataa sis\u00e4lt\u00f6 internet-palvelimelle ja yrit\u00e4 uudelleen.\nVoit my\u00f6s vet\u00e4\u00e4 htm-tiedoston (tai koko kansion) TourViewer-sovelluskuvakkeen p\u00e4\u00e4lle.",
cancel:"Sulje","change-to-click-and-move":"Muuta ohjaustilaa klikkaamalla ja siirt\u00e4m\u00e4ll\u00e4",yes:"Kyll\u00e4","delete-downloaded":"Poista","use-safari-for-vr":"Suosittelemme Safari-selainta t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa.","exit-fullscreen":"Sulje koko n\u00e4yt\u00f6n n\u00e4kym\u00e4",no:"Ei","download-failed":"Lataus ep\u00e4onnistui","giroscope-disabled-http":"K\u00e4yt\u00e4t t\u00e4t\u00e4 verkkosivua http:n kautta, joten laitteesi liiketunnistimet sek\u00e4 VR-tila on poistettu k\u00e4yt\u00f6st\u00e4. Ota ne k\u00e4ytt\u00f6\u00f6n siirtym\u00e4ll\u00e4 sivulle https:n kautta.",
"cookies-notice":"T\u00e4m\u00e4 verkkosivu k\u00e4ytt\u00e4\u00e4 ev\u00e4steit\u00e4 k\u00e4ytt\u00f6tilastojen ker\u00e4\u00e4miseen. Lis\u00e4tietoja <a>ev\u00e4stek\u00e4yt\u00e4nn\u00f6st\u00e4</a>.","use-cardboard":"K\u00e4yt\u00e4 Cardboardia","launch-default-browser":"K\u00e4ynnist\u00e4 oletusselaimessa","rotate-device":"K\u00e4\u00e4nn\u00e4 laitettasi","exit-vr":"Poistu VR-tilasta",reject:"Hylk\u00e4\u00e4","disable-measure":"Lopeta mittaaminen",downloading:"Ladataan","cardboard-v2":"Mik\u00e4li sinulla on Cardboard v2 -virtuaalilasit, joissa on painike, voit katsoa hotspotia ja aktivoida sen painamalla painiketta.",
"enable-video-audio-prompt":"Otetaanko \u00e4\u00e4ni ja video k\u00e4ytt\u00f6\u00f6n?","storage-not-provided-launch-from-desktop":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 ty\u00f6p\u00f6yd\u00e4n kuvakkeesta aloittaaksesi lataamisen.",downloaded:"T\u00e4m\u00e4 sis\u00e4lt\u00f6 on ladattu offline-toistoa varten","samsung-internet-vr-app-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Sinun on lis\u00e4ksi m\u00e4\u00e4ritett\u00e4v\u00e4 Samsung Internet oletusselaimeksi.",
"samsung-internet-vr-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Aseta \u00e4lypuhelin virtuaalilaseihin aloittaaksesi.","enable-video-prompt":"Otetaanko video k\u00e4ytt\u00f6\u00f6n?","giroscope-disabled-safari-request-permission":["Laitteesi liiketunnistimen k\u00e4ytt\u00f6oikeus ja VR-tila on poistettu k\u00e4yt\u00f6st\u00e4 t\u00e4ll\u00e4 sivustolla.",
"N\u00e4hd\u00e4ksesi t\u00e4m\u00e4n verkkosivun oikein, valitse jatka ja hyv\u00e4ksy lupapyynt\u00f6 pyydett\u00e4ess\u00e4."],"storage-not-provided-launch-from-homescreen":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 kotin\u00e4yt\u00f6n kuvakkeesta aloittaaksesi lataamisen","enter-fullscreen":"Avaa koko n\u00e4yt\u00f6n n\u00e4kym\u00e4","use-cardboard-v2":"K\u00e4yt\u00e4 Cardboard v2:sta",unmute:"Ota \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n","enter-vr":"Siirry VR-tilaan","enable-measure":"Aloita mittaaminen",
"use-cardboard-info":"Voit k\u00e4ytt\u00e4\u00e4 mit\u00e4 tahansa yhteensopivia Google Cardboard -virtuaalilaseja katsellaksesi t\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 VR-tilassa.","refresh-downloaded":"P\u00e4ivit\u00e4","use-default-cardboard":"K\u00e4yt\u00e4 oletuksena","enable-audio-prompt":"Otetaanko \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n?"},"sk-sk":{mute:"St\u00ed\u0161i\u0165","cardboard-v1":"Ak ste si nie ist\u00ed, ktor\u00fa verziu Cardboardu pou\u017e\u00edvate, vyberte si predvolen\u00e9 ovl\u00e1danie hotspotu. Potom sa jednoducho pozriete na hotspot a po\u010dkajte, k\u00fdm sa akcia nespust\u00ed.",
"download-tour":"Stiahnu\u0165 prehliadku na hranie v offline re\u017eime","change-to-drag-and-release":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Presun\u00fa\u0165 a Uvo\u013eni\u0165",accept:"s\u00fahlasi\u0165",cancel:"Zru\u0161i\u0165","storage-not-provided-bookmark":"Trval\u00e9 \u00falo\u017eisko odmietnut\u00e9. Sk\u00faste si t\u00fato webov\u00fa str\u00e1nku ulo\u017ei\u0165 a na\u010d\u00edta\u0165 ju znova.","dont-display-again":"Tieto inform\u00e1cie u\u017e nezobrazova\u0165","web-server-required":"T\u00e1to virtu\u00e1lna prehliadka sa ned\u00e1 prehra\u0165 z lok\u00e1lneho disku. Nahrajte ju na internet a sk\u00faste to znova.\nAk chcete, potiahnite s\u00fabor htm (alebo cel\u00fd prie\u010dinok prehliadky) na ikonu aplik\u00e1cie TourViewer.",
download:"Stiahnu\u0165","change-to-click-and-move":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Klikn\u00fa\u0165 a Presun\u00fa\u0165",yes:"\u00e1no","delete-downloaded":"Zmaza\u0165","use-safari-for-vr":"Odpor\u00fa\u010dame pou\u017e\u00edva\u0165 Safari prehliada\u010d pre t\u00fato prehliadku v re\u017eime VR","exit-fullscreen":"Ukon\u010di\u0165 cel\u00fa obrazovku",no:"nie","download-failed":"S\u0165ahovanie zlyhalo","giroscope-disabled-http":"Na t\u00fato webov\u00fa str\u00e1nku pristupujete cez http protokol, preto pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR s\u00fa deaktivovan\u00e9. Ak ich chcete povoli\u0165, nav\u0161t\u00edvte str\u00e1nku cez https.",
"cookies-notice":"T\u00e1to webov\u00e1 str\u00e1nka pou\u017e\u00edva s\u00fabory cookie na zhroma\u017e\u010fovanie \u0161tatist\u00edk pou\u017e\u00edvania. \u010eal\u0161ie inform\u00e1cie n\u00e1jdete v <a> pravidl\u00e1ch pou\u017e\u00edvania s\u00faborov cookie </a>.","use-cardboard":"Pou\u017eite Cardboard okuliare.","launch-default-browser":"Spusti\u0165 v predvolenom prehliada\u010di","rotate-device":"Oto\u010dte svoje zariadenie","exit-vr":"Ukon\u010denie VR","storage-not-provided-launch-from-desktop":"Znovu na\u010d\u00edtajte prehliadku pomocou desktop ikony pre jej stiahnite.",
"disable-measure":"Ukon\u010di\u0165 meranie",downloading:"S\u0165ahovanie","cardboard-v2":"Ak m\u00e1te n\u00e1hlavn\u00fa s\u00fapravu Cardboard v2, ktor\u00e1 je dod\u00e1van\u00e1 s tla\u010didlom, m\u00f4\u017eete sa pozrie\u0165 na hotspot a stla\u010den\u00edm tla\u010didla spusti\u0165 akciu.","enable-video-audio-prompt":"Povoli\u0165 video a zvuk?",reject:"Odmietnu\u0165",downloaded:"T\u00e1to prehliadka je stiahnut\u00e1 na hranie v offline re\u017eime.","samsung-internet-vr-app-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Mus\u00edte si nastavi\u0165 Samsung Internet ako predvolen\u00fd prehliada\u010d.",
"samsung-internet-vr-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Sta\u010d\u00ed teraz vlo\u017ei\u0165 mobiln\u00fd telef\u00f3n do n\u00e1hlavnej s\u00fapravy.","enable-video-prompt":"Povoli\u0165 video?","giroscope-disabled-safari-request-permission":["Pre t\u00fato str\u00e1nku s\u00fa pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR deaktivovan\u00e9.",
"Aby ste korektne videli t\u00fato webov\u00fa str\u00e1nku, pros\u00edm kliknite pokra\u010dova\u0165 a akceptujte po\u017eadovan\u00e9 povolenie."],"storage-not-provided-launch-from-homescreen":"Znovu na\u010d\u00edtajte prehliadku pomocou ikony na ploche pre jej stiahnite.","enter-fullscreen":"Prejs\u0165 na cel\u00fa obrazovku","use-cardboard-v2":"Pou\u017eite Cardboard v2",unmute:"Zapn\u00fa\u0165 zvuk","enter-vr":"Vlo\u017ei\u0165 VR obsah","enable-measure":"Za\u010da\u0165 meranie","use-cardboard-info":"Na zobrazenie tohto obsahu vo VR m\u00f4\u017eete pou\u017ei\u0165 \u013eubovo\u013en\u00fa kompatibiln\u00fa n\u00e1hlavn\u00fa s\u00fapravu Google Cardboard.",
"refresh-downloaded":"Obnovi\u0165","use-default-cardboard":"Pou\u017ei\u0165 predvolen\u00e9","enable-audio-prompt":"Povoli\u0165 zvuk?"},"uk-ua":{mute:"\u0412\u0438\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","cardboard-v1":"\u042f\u043a\u0449\u043e \u0432\u0438 \u043d\u0435 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u044f\u043a\u0443 \u0432\u0435\u0440\u0441\u0456\u044e Cardboard \u0432\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454\u0442\u0435, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c. \u041f\u043e\u0442\u0456\u043c \u0432\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0435\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043f\u043e\u0447\u0435\u043a\u0430\u0439\u0442\u0435, \u0434\u043e\u043a\u0438 \u0434\u0456\u044f \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f.",
"download-tour":"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0442\u0443\u0440 \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456","change-to-drag-and-release":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0456 \u0432\u0456\u0434\u043f\u0443\u0441\u0442\u0456\u0442\u044c",
accept:"\u041f\u0440\u0438\u0439\u043c\u0456\u0442\u044c",cancel:"\u0412\u0456\u0434\u043c\u0456\u043d\u0438\u0442\u0438","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u0456\u0439\u043d\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u043d\u043d\u044f \u0437\u0430\u0431\u043e\u0440\u043e\u043d\u0435\u043d\u043e. \u0421\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0434\u0430\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0442\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0457\u0457.",
"dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0443\u0439\u0442\u0435 \u0446\u044e \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044e \u0437\u043d\u043e\u0432\u0443","web-server-required":"\u0426\u0435\u0439 \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0438\u0439 \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u043d\u0430 \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0439\u043e\u0433\u043e \u0432 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0456 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.\n\u042f\u043a\u0449\u043e \u0431\u0430\u0436\u0430\u0454\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0444\u0430\u0439\u043b htm (\u0430\u0431\u043e \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0443) \u043d\u0430 \u043f\u0456\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438 TourViewer.",
download:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","change-to-click-and-move":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041a\u043b\u0430\u0446\u043d\u0456\u0442\u044c \u0456 \u043f\u0435\u0440\u0435\u043c\u0456\u0441\u0442\u0456\u0442\u044c",yes:"\u0442\u0430\u043a","delete-downloaded":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438","use-safari-for-vr":"\u041c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0454\u043c\u043e Safari \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0442\u0443\u0440\u0443 \u0432 \u0440\u0435\u0436\u0438\u043c\u0456 VR",
"exit-fullscreen":"\u0412\u0438\u0439\u0442\u0438 \u0437 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0443",no:"\u043d\u0456","download-failed":"\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","giroscope-disabled-http":"\u0412\u0438 \u043e\u0442\u0440\u0438\u043c\u0443\u0454\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0446\u0456\u0454\u0457 \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 http, \u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e \u0442\u0430 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e. \u0429\u043e\u0431 \u0443\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0457\u0445, \u043f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0434\u043e \u043d\u0438\u0445 \u0447\u0435\u0440\u0435\u0437 https.",
"cookies-notice":"\u0426\u044f \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454 \u0444\u0430\u0439\u043b\u0438 cookie \u0434\u043b\u044f \u0437\u0431\u043e\u0440\u0443 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f. \u0414\u043b\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f \u0434\u043e\u0434\u0430\u0442\u043a\u043e\u0432\u043e\u0457 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u0457 \u0432\u0456\u0434\u0432\u0456\u0434\u0430\u0439\u0442\u0435 <a> \u041f\u043e\u043b\u0456\u0442\u0438\u043a\u0443 \u0449\u043e\u0434\u043e \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0444\u0430\u0439\u043b\u0456\u0432 cookie</a>.",
"use-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","rotate-device":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0456\u0442\u044c \u0441\u0432\u0456\u0439 \u043f\u0440\u0438\u0441\u0442\u0440\u0456\u0439",
"exit-vr":"\u0412\u0438\u0439\u0434\u0456\u0442\u044c \u0456\u0437 VR","storage-not-provided-launch-from-desktop":"\u0429\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u043e\u0433\u043b\u044f\u0434 \u0456\u0437 \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u043e\u0431\u043e\u0447\u043e\u043c\u0443 \u0441\u0442\u043e\u043b\u0456.","disable-measure":"\u041f\u0440\u0438\u043f\u0438\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u043d\u043d\u044f",
downloading:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f","cardboard-v2":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Cardboard v2, \u044f\u043a\u0430 \u043f\u043e\u0441\u0442\u0430\u0447\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043a\u043d\u043e\u043f\u043a\u043e\u044e, \u0432\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0438\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0443\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0443, \u0449\u043e\u0431 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0457\u0457.",
"enable-video-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e \u0442\u0430 \u0430\u0443\u0434\u0456\u043e?",reject:"\u0412\u0456\u0434\u0445\u0438\u043b\u0438\u0442\u0438",downloaded:"\u0426\u0435\u0439 \u0442\u0443\u0440 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043e \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456.",
"samsung-internet-vr-app-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0437\u0440\u043e\u0431\u0438\u0442\u0438 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c.",
"samsung-internet-vr-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0457 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0456, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0440\u0430\u0437 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u043f\u0456\u0434\u2019\u0454\u0434\u043d\u0430\u0442\u0438 \u043c\u043e\u0431\u0456\u043b\u044c\u043d\u0438\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043e \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0438.",
"enable-video-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e, \u0430 \u0442\u0430\u043a\u043e\u0436 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e \u0434\u043b\u044f \u0446\u044c\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0443.",
"\u0429\u043e\u0431 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443, \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u00ab\u041f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438\u00bb \u0442\u0430 \u043f\u0440\u0438\u0439\u043c\u0456\u0442\u044c \u0437\u0430\u043f\u0438\u0442 \u043d\u0430 \u0434\u043e\u0437\u0432\u0456\u043b, \u044f\u043a\u0449\u043e \u0437\u2019\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0437\u0430\u043f\u0438\u0442."],
"storage-not-provided-launch-from-homescreen":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0442\u0443\u0440 \u0437\u0456 \u0437\u043d\u0430\u0447\u043a\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u0435\u043a\u0440\u0430\u043d\u0430, \u0449\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438.","enter-fullscreen":"\u041f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0443 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c",
"use-cardboard-v2":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard v2",unmute:"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","enter-vr":"\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u0432\u043c\u0456\u0441\u0442 VR","enable-measure":"\u041f\u043e\u0447\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u0442\u0438","use-cardboard-info":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0443\u0434\u044c-\u044f\u043a\u0443 \u0441\u0443\u043c\u0456\u0441\u043d\u0443 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR.",
"refresh-downloaded":"\u041e\u043d\u043e\u0432\u0438\u0442\u0438","use-default-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","enable-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0430\u0443\u0434\u0456\u043e?"},"en-us":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Accept",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
download:"Download","change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"This web page uses cookies to collect usage statistics. For more information, please visit the <a>Cookie Policy</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?",
reject:"Reject",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"sv-se":{mute:"Inaktivera ljud","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing",
"change-to-drag-and-release":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att dra och sl\u00e4ppa",accept:"Acceptera",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
cancel:"Cancel","change-to-click-and-move":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att klicka och flytta",yes:"ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Avsluta fullsk\u00e4rmen",no:"Nej","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denna webbsida anv\u00e4nder cookies f\u00f6r att samla in anv\u00e4ndningsstatistik. F\u00f6r mer information, bes\u00f6k <a>Cookie Policy</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Avvisa","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktivera ljud och video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",
downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Aktivera video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Ange fullsk\u00e4rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktivera ljud","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktivera ljud?"},"id-id":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing",
"change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Menerima",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",download:"Download",
"change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Halaman web ini menggunakan cookie untuk mengumpulkan statistik penggunaan. Untuk informasi lebih lanjut, silakan kunjungi <a>Kebijakan Cookie</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?",
reject:"Menolak",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"pt-br":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.",
"download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar","storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.",
download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover",yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.",
"cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a <a>Pol\u00edtica de cookies</a>.","use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring",
downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.","enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.",
"samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.","enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."],
"storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar tela cheia","use-cardboard-v2":"Use Cardboard v2",unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o",
"enable-audio-prompt":"Ativar \u00e1udio?"},"it-it":{mute:"Disabilita audio","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Cambia la modalit\u00e0 di controllo per trascinare e rilasciare",accept:"Accettare",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.",
"dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Cambia la modalit\u00e0 di controllo per fare clic e spostare",yes:"s\u00ec","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode",
"exit-fullscreen":"Esci dalla modalit\u00e0 schermo intero",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Questa pagina web utilizza i cookie per raccogliere statistiche sull'utilizzo. Per ulteriori informazioni, visita la <a>Cookie Policy</a>.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser",
"rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Rifiutare","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Abilita audio e video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.",
"samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Abilita il video?",
"giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Entra a schermo intero","use-cardboard-v2":"Use Cardboard v2",unmute:"Abilita audio","enter-vr":"Enter VR content","enable-measure":"Start measuring",
"use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Abilita l'audio?"},"zh-tw":{mute:"\u975c\u97f3","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"\u4e0b\u8f09\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u96e2\u7dda\u64ad\u653e",
"change-to-drag-and-release":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u62d6\u653e\u6a21\u5f0f\u201c",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88dd\u7f6e\u5167\u6c38\u4e45\u5b58\u5132\u88ab\u62d2\u7d55\u3002\u8acb\u5617\u8a66\u5c07\u6b64\u7db2\u9801\u65b0\u589e\u70ba\u66f8\u7c64\uff0c\u4e26\u91cd\u65b0\u8f09\u5165\u3002","dont-display-again":"\u4e0d\u518d\u986f\u793a\u672c\u8a0a\u606f","web-server-required":"\u672c\u865b\u64ec\u5c0e\u89bd\u7121\u6cd5\u5728\u672c\u5730\u96fb\u8166\u4e0a\u64ad\u653e\u3002 \u8acb\u5c07\u5176\u4e0a\u50b3\u5230\u7db2\u969b\u7db2\u8def\u4f3a\u670d\u5668\uff0c\u7136\u5f8c\u91cd\u8a66\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9810\u89bd\uff0c\u8acb\u5c07htm\u6a94\u6848\uff08\u6216\u865b\u64ec\u5c0e\u89bd\u7684\u6574\u500b\u8cc7\u6599\u593e\uff09\u62d6\u653e\u5230TourViewer\u61c9\u7528\u7a0b\u793a\u7684\u5716\u793a\u4e0a\u3002",
download:"\u4e0b\u8f09","change-to-click-and-move":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u9ede\u64ca\u4e26\u79fb\u52d5\u201d",yes:"\u662f","delete-downloaded":"\u522a\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u87a2\u5e55",no:"\u5426","download-failed":"\u4e0b\u8f09\u5931\u6557","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u904ehttp(\u672a\u52a0\u5bc6)\u700f\u89bd\u672c\u7db2\u9801\uff0c\u56e0\u6b64\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0c\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8acb\u53e6\u901a\u904ehttps(\u52a0\u5bc6)\u7db2\u5740\u5c0d\u5176\u9032\u884c\u555f\u7528\u3002",
"cookies-notice":"\u8a72\u7db2\u9801\u4f7f\u7528cookie\u4f86\u6536\u96c6\u4f7f\u7528\u60c5\u6cc1\u7d71\u8a08\u4fe1\u606f\u3002 \u6709\u95dc\u66f4\u591a\u4fe1\u606f\uff0c\u8acb\u8a2a\u554f<a> Cookie\u653f\u7b56</a>\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8acb\u5f9e\u684c\u9762\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002",
"disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f09","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u5141\u8a31\u5f71\u7247\u53ca\u8072\u97f3\u64ad\u653e?",reject:"\u62d2\u7d55",downloaded:"\u865b\u64ec\u5c0e\u89bd\u5df2\u4e0b\u8f09\uff0c\u53ef\u9032\u884c\u96e2\u7dda\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u5141\u8a31\u5f71\u7247\u64ad\u653e?","giroscope-disabled-safari-request-permission":["\u8a72\u7db2\u7ad9\u5df2\u7981\u7528\u60a8\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002",
"\u8981\u6b63\u78ba\u67e5\u770b\u672c\u7db2\u9801\uff0c\u8acb\u55ae\u64ca\u7e7c\u7e8c\uff0c\u4e26\u5728\u51fa\u73fe\u63d0\u793a\u6642\u63a5\u53d7\u8a31\u53ef\u8acb\u6c42\u3002"],"storage-not-provided-launch-from-homescreen":"\u8acb\u4e3b\u9801\u9762\u87a2\u5e55\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002","enter-fullscreen":"\u9032\u5165\u5168\u87a2\u5e55","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u975c\u97f3",
"enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u91cd\u65b0\u6574\u7406","use-default-cardboard":"Use Default","enable-audio-prompt":"\u5141\u8a31\u8072\u97f3\u64ad\u653e?"},"nb-no":{mute:"Skru av lyd","cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.",
"download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.","dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.",
download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus","exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.",
"cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k <a>retningslinjer for informasjonskapsler</a>.","use-cardboard":"Bruk Cardboard","launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned",
"cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.","enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.",
"samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.","enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."],
"storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2",unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard",
"enable-audio-prompt":"Aktivere audio?"},"pt-pt":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.","download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar",
"storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.",download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover",
yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.","cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a <a>Pol\u00edtica de cookies</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring",downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.",
"enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.","samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.",
"enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."],"storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar tela cheia","use-cardboard-v2":"Use Cardboard v2",
unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o","enable-audio-prompt":"Ativar \u00e1udio?"},"hr-hr":{mute:"nijem","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Promijenite na\u010din upravljanja u povla\u010denje i otpu\u0161tanje",accept:"Prihvatiti",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
cancel:"Cancel","change-to-click-and-move":"Promijenite na\u010din upravljanja na Klik i Premjesti",yes:"Da","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Iza\u0111ite s punog zaslona",no:"Ne","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Ova web stranica koristi kola\u010di\u0107e za prikupljanje statistike upotrebe. Za vi\u0161e informacija posjetite <a>Pravila o kola\u010di\u0107ima</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Odbiti","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Omogu\u0107iti videozapis i zvuk?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",
downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Omogu\u0107ite videozapis?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Unesite cijeli zaslon","use-cardboard-v2":"Use Cardboard v2",unmute:"Uklju\u010di mikrofon",
"enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u017delite li omogu\u0107iti zvuk?"},"ja-jp":{mute:"\u30df\u30e5\u30fc\u30c8","cardboard-v1":"\u4f7f\u7528\u3057\u3066\u3044\u308bCardboard\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u308f\u304b\u3089\u306a\u3044\u5834\u5408\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u6b21\u306b\u3001\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u3092\u6ce8\u8996\u3057\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u52d5\u4f5c\u3059\u308b\u307e\u3067\u5f85\u6a5f\u3057\u307e\u3059\u3002\uff08\u4e00\u90e8\u52d5\u4f5c\u3057\u306a\u3044\u30a2\u30af\u30b7\u30e7\u30f3\u6709\u308a\uff09",
"download-tour":"\u30aa\u30d5\u30e9\u30a4\u30f3\u518d\u751f\u7528\u30c4\u30a2\u30fc\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","change-to-drag-and-release":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30c9\u30e9\u30c3\u30b0\uff06\u30ea\u30ea\u30fc\u30b9\u306b\u5909\u66f4",accept:"\u53d7\u3051\u5165\u308c\u308b",cancel:"\u30ad\u30e3\u30f3\u30bb\u30eb","storage-not-provided-bookmark":"\u6c38\u7d9a\u7684\u306a\u4fdd\u5b58\u304c\u62d2\u5426\u3055\u308c\u305f\u3002\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u30d6\u30c3\u30af\u30de\u30fc\u30af\u3057\u3001\u66f4\u65b0\u3057\u3066\u304f\u3060\u3055\u3044",
"dont-display-again":"\u4eca\u5f8c\u3053\u306e\u60c5\u5831\u3092\u8868\u793a\u3057\u306a\u3044","web-server-required":"\u3053\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30c4\u30a2\u30fc\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u30c9\u30e9\u30a4\u30d6\u304b\u3089\u518d\u751f\u3067\u304d\u307e\u305b\u3093\u3002\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3057\u3001\u3082\u3046\u4e00\u5ea6\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\n\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001htm\u30d5\u30a1\u30a4\u30eb\uff08\u307e\u305f\u306f\u30c4\u30a2\u30fc\u306e\u30d5\u30a9\u30eb\u30c0\u30fc\u5168\u4f53\uff09\u3092\u300eTourViewer\u300f\u30a2\u30d7\u30ea\u306e\u30a2\u30a4\u30b3\u30f3\u306b\u30c9\u30e9\u30c3\u30b0\u3057\u307e\u3059",
download:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9","change-to-click-and-move":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30af\u30ea\u30c3\u30af\uff06\u30e0\u30fc\u30d6\u306b\u5909\u66f4",yes:"\u306f\u3044","delete-downloaded":"\u524a\u9664","use-safari-for-vr":"\u3053\u306e\u30c4\u30a2\u30fc\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001Safari\u30d6\u30e9\u30a6\u30b6\u306e\u5229\u7528\u3092\u304a\u52e7\u3081\u3057\u307e\u3059","exit-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3092\u7d42\u4e86\u3059\u308b",
no:"\u3044\u3044\u3048","download-failed":"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5931\u6557\u3057\u307e\u3057\u305f","giroscope-disabled-http":"\u3053\u306eWeb\u30da\u30fc\u30b8\u306b\u300ehttp\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u300ehttps\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044",
"cookies-notice":"\u3053\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306fCookie\u3092\u4f7f\u7528\u3057\u3066\u4f7f\u7528\u7d71\u8a08\u3092\u53ce\u96c6\u3057\u307e\u3059\u3002 \u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001<a>Cookie\u30dd\u30ea\u30b7\u30fc</a>\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002","use-cardboard":"Cardboard\u5229\u7528","launch-default-browser":"\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u3067\u8d77\u52d5","rotate-device":"\u7aef\u672b\u3092\u56de\u8ee2\u3055\u305b\u3066\u304f\u3060\u3055\u3044",
"exit-vr":"VR\u30d3\u30e5\u30fc \u7d42\u4e86","storage-not-provided-launch-from-desktop":"\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","disable-measure":"Stop measuring",downloading:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u4e2d","cardboard-v2":"\u30dc\u30bf\u30f3\u304c\u4ed8\u5c5e\u3057\u3066\u3044\u308bCardboard v2\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u304a\u6301\u3061\u306e\u5834\u5408\u306f\u3053\u3061\u3089\u3002",
"enable-video-audio-prompt":"\u30d3\u30c7\u30aa\u3068\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f",reject:"\u62d2\u5426\u3059\u308b",downloaded:"\u3053\u306e\u30c4\u30a2\u30fc\u306f\u3001\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u518d\u751f\u3059\u308b\u305f\u3081\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3092\u3059\u308b","samsung-internet-vr-app-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u300eSamsung Internet\u300f\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059",
"samsung-internet-vr-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3092\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u306b\u88c5\u7740\u3059\u308b\u3060\u3051\u3067\u3059",
"enable-video-prompt":"\u30d3\u30c7\u30aa\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f","giroscope-disabled-safari-request-permission":["\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002","\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u6b63\u3057\u304f\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u300eOK\u300f\u3092\u30af\u30ea\u30c3\u30af\u3057\u300e\u8a31\u53ef\u300f\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u5165\u308c\u3066\u304f\u3060\u3055\u3044"],
"storage-not-provided-launch-from-homescreen":"\u30db\u30fc\u30e0\u753b\u9762\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","enter-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3067\u5165\u529b\u3059\u308b","use-cardboard-v2":"Cardboard v2\u5229\u7528",unmute:"\u30df\u30e5\u30fc\u30c8\u89e3\u9664","enter-vr":"VR\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u5165\u529b","enable-measure":"Start measuring",
"use-cardboard-info":"\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u4e92\u63db\u6027\u306e\u3042\u308b\u4efb\u610f\u306eGoogle Cardboard\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u5229\u7528\u3067\u304d\u307e\u3059","refresh-downloaded":"\u66f4\u65b0","use-default-cardboard":"\u30c7\u30d5\u30a9\u30eb\u30c8\u5229\u7528","enable-audio-prompt":"\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f"},"zh-cn":{mute:"\u9759\u97f3",
"cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"\u4e0b\u8f7d\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e","change-to-drag-and-release":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u62d6\u653e\u201d",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88c5\u7f6e\u5185\u6c38\u4e45\u5b58\u50a8\u88ab\u62d2\u7edd\u3002\u5c1d\u8bd5\u5c06\u6b64\u7f51\u9875\u6dfb\u52a0\u4e3a\u4e66\u7b7e\uff0c \u5e76\u91cd\u65b0\u52a0\u8f7d\u3002",
"dont-display-again":"\u4e0d\u518d\u663e\u793a\u6b64\u4fe1\u606f","web-server-required":"\u6b64\u5168\u666f\u6f2b\u6e38\u65e0\u6cd5\u4ece\u672c\u5730\u9a71\u52a8\u5668\u4e0a\u64ad\u653e\u3002 \u8bf7\u5c06\u5176\u4e0a\u4f20\u5230\u4e92\u8054\u7f51\u670d\u52a1\u5668\uff0c\u7136\u540e\u91cd\u8bd5\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9884\u89c8\uff0c\u53ef\u4ee5\u5c06htm\u6587\u4ef6\uff08\u6216\u5168\u666f\u6f2b\u6e38\u7684\u6574\u4e2a\u6587\u4ef6\u5939\uff09\u62d6\u5230TourViewer\u5e94\u7528\u7a0b\u5e8f\u7684\u56fe\u6807\u4e0a\u3002",
download:"\u4e0b\u8f7d","change-to-click-and-move":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u5355\u51fb\u5e76\u79fb\u52a8\u201d",yes:"\u662f","delete-downloaded":"\u5220\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u5c4f",no:"\u5426","download-failed":"\u4e0b\u8f7d\u5931\u8d25","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u8fc7http(\u672a\u52a0\u5bc6)\u8bbf\u95ee\u6b64\u7f51\u9875\uff0c\u56e0\u6b64\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8bf7\u901a\u8fc7https(\u52a0\u5bc6)\u5bf9\u5176\u8fdb\u884c\u542f\u7528\u3002",
"cookies-notice":"\u8be5\u7f51\u9875\u4f7f\u7528cookie\u6765\u6536\u96c6\u4f7f\u7528\u60c5\u51b5\u7edf\u8ba1\u4fe1\u606f\u3002 \u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u8bbf\u95ee<a>Cookie\u653f\u7b56</a>\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8bf7\u4ece\u684c\u9762\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002",
"disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f7d","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u542f\u7528\u89c6\u9891\u548c\u97f3\u9891\uff1f",reject:"\u62d2\u7edd",downloaded:"\u6b64\u5168\u666f\u6f2b\u6e38\u5df2\u4e0b\u8f7d\uff0c\u53ef\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u542f\u7528\u89c6\u9891\uff1f","giroscope-disabled-safari-request-permission":["\u8be5\u7ad9\u70b9\u5df2\u7981\u7528\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002",
"\u8981\u6b63\u786e\u67e5\u770b\u6b64\u7f51\u9875\uff0c\u8bf7\u5355\u51fb\u7ee7\u7eed\uff0c\u5e76\u5728\u51fa\u73b0\u63d0\u793a\u65f6\u63a5\u53d7\u8bb8\u53ef\u8bf7\u6c42"],"storage-not-provided-launch-from-homescreen":"\u8bf7\u4ece\u4e3b\u5c4f\u5e55\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002","enter-fullscreen":"\u8fdb\u5165\u5168\u5c4f","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u9759\u97f3","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u5237\u65b0","use-default-cardboard":"Use Default","enable-audio-prompt":"\u542f\u7528\u97f3\u9891\uff1f"},"nl-nl":{mute:"Schakel audio uit","cardboard-v1":"Als u niet weet wat voor versie van Cardboard u gebruikt, selecteer dan de default hotspot control. Dan zult u moeten wachten op een hotspot tot er een bepaald actie is gestart.","download-tour":"Download Tour voor offline afspelen",
"change-to-drag-and-release":"Verander de besturingsmodus om te slepen en los te laten",accept:"Aanvaarden",download:"Download","storage-not-provided-bookmark":"Aanhoudende inhoud geweigerd. Probeer deze pagina als bookmark op te slaan en te verversen.","dont-display-again":"Niet meer laten zien","web-server-required":"Deze virtuele tour kan niet worden afgespeeld vanaf een lokale schijf. Upload dit alstublieft op het internet. Je kan ook de htm bestand slepen naar het icoon van de TourViewer app.",
cancel:"Annuleren","change-to-click-and-move":"Verander de bedieningsmodus om te klikken en te verplaatsen",yes:"Ja","delete-downloaded":"Verwijderen","use-safari-for-vr":"We raden aan om in Safari deze tour te bekijken in VR mode","exit-fullscreen":"Volledig scherm verlaten",no:"Nee","download-failed":"Download mislukt","giroscope-disabled-http":"Jij betreedt deze pagina door http, dus uw toestel's motion en orientation access en VR modus zijn uitgeschakeld. Betreed deze pagina door https om ze weer aan te schakelen.",
"cookies-notice":"Deze webpagina maakt gebruik van cookies om gebruiksstatistieken te verzamelen. Raadpleeg het <a>Cookiebeleid</a> voor meer informatie.","use-cardboard":"Gebruik Cardboard","launch-default-browser":"Start op in standaard browser","rotate-device":"Draai uw toestel om, alstublieft","exit-vr":"VR verlaten",reject:"Weigeren","disable-measure":"Stop meten",downloading:"Downloaden","cardboard-v2":"Als u een Cardboard v2 headset heeft, wat met een knop komt, kunt u wachten op een hotspot en een op een knop drukken om een actie te starten.",
"enable-video-audio-prompt":"Audio en video inschakelen?","storage-not-provided-launch-from-desktop":"Start de tour alstublieft opnieuw up vanaf het bureaublad om te kunnen downloaden.",downloaded:"Deze tour is gedownload voor offline afspelen.","samsung-internet-vr-app-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR. U moet alleen Samsung Internet instellen als uw standaard browser.","samsung-internet-vr-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR, u moet alleen uw mobiele toestel op uw headset zetten.",
"enable-video-prompt":"Video inschakelen?","giroscope-disabled-safari-request-permission":["Uw toestel's motion en orientation access en VR modus zijn uitgeschakeld voor deze site..","Om deze pagina goed te kunnen zien, druk op doorgaan en geef toestemming als dat gevraagd wordt."],"storage-not-provided-launch-from-homescreen":"Start de tour alstublieft opnieuw up vanaf het homescherm om te kunnen downloaden.","enter-fullscreen":"Volledig scherm inschakelen","use-cardboard-v2":"Gebruik Cardboard v2",
unmute:"Schakel audio in","enter-vr":"Voer VR inhoud in","enable-measure":"Begin meten","use-cardboard-info":"U kunt elk werkend Google Cardboard headset gebruiken om dit te bekijken.","refresh-downloaded":"Verversen","use-default-cardboard":"Standaard gebruiken","enable-audio-prompt":"Audio inschakelen?"},"hu-hu":{mute:"N\u00e9m\u00edt\u00e1s","cardboard-v1":"Ha nem vagy biztos benne, hogy milyen VR eszk\u00f6zt haszn\u00e1lsz, akkor v\u00e1laszd az alap\u00e9rtelmezettet \u00e9s az egyes hotspot-ok megtekint\u00e9s\u00e9hez csak tartsd ott a jel\u00f6l\u0151t.",
"download-tour":"T\u00fara let\u00f6lt\u00e9se offline megtekint\u00e9shez","change-to-drag-and-release":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa: megfog \u00e9s mozgat m\u00f3dra",accept:"Elfogad",cancel:"M\u00e9gsem","storage-not-provided-bookmark":"Pr\u00f3b\u00e1lja meg az oldalt megjel\u00f6lni \u00e9s \u00fajrat\u00f6lteni!","dont-display-again":"Ne mutasd \u00fajra","web-server-required":"Ez a t\u00fara nem j\u00e1tszat\u00f3 le helyi futtat\u00e1ssal, k\u00e9rlek t\u00f6lsd fel az internetre \u00e9s pr\u00f3b\u00e1ld meg \u00fajra\nM\u00e1sik megold\u00e1s, ha a Tourviewer applik\u00e1ci\u00f3ra h\u00fazod a t\u00fara f\u00e1jlt, vagy az azt tartalmaz\u00f3 t\u00fara mapp\u00e1t.",
download:"Let\u00f6lt\u00e9s","change-to-click-and-move":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa kattint \u00e9s k\u00f6rben\u00e9z m\u00f3dra",yes:"igen","delete-downloaded":"T\u00f6rl\u00e9s","use-safari-for-vr":"Azt javasoljuk, hogy haszn\u00e1lj Safari b\u00f6ng\u00e9sz\u0151t a VR n\u00e9zet megtekint\u00e9s\u00e9hez","exit-fullscreen":"Kil\u00e9p\u00e9s a teljesk\u00e9perny\u0151 m\u00f3db\u00f3l",no:"nem","download-failed":"Let\u00f6lt\u00e9s sikertelen","giroscope-disabled-http":"Az oldalt https el\u0151taggal sz\u00fcks\u00e9ges megnyitnod ahhoz, hogy a k\u00e9sz\u00fcl\u00e9ked mozg\u00e1s\u00e1t \u00e9rz\u00e9kelni tudja.",
"cookies-notice":"Ez a weboldal s\u00fctiket haszn\u00e1l a haszn\u00e1lati statisztik\u00e1k gy\u0171jt\u00e9s\u00e9hez. Tov\u00e1bbi inform\u00e1ci\u00f3\u00e9rt l\u00e1togasson el a <a>s\u00fctikre vonatkoz\u00f3 ir\u00e1nyelvekbe</a>.","use-cardboard":"Cardboard haszn\u00e1lata","launch-default-browser":"Futtat\u00e1s az alap\u00e9rtelmezett b\u00f6ng\u00e9sz\u0151ben","rotate-device":"Forgasd el a telefont!","exit-vr":"Kil\u00e9p\u00e9s a VR m\u00f3db\u00f3l","storage-not-provided-launch-from-desktop":"K\u00e9rlek ind\u00edtsd \u00fajra az oldalt az asztalon tal\u00e1lhat\u00f3 iconra kattintva.",
"disable-measure":"Stop measuring",downloading:"Let\u00f6lt\u00e9s","cardboard-v2":"Ha Cardboard 2.0 t\u00edpus\u00fa eszk\u00f6zt haszn\u00e1lsz, akkor a kapcsol\u00f3kkal ir\u00e1ny\u00edthatod a t\u00far\u00e1t, kattinthatsz az egyes hotspotokra","enable-video-audio-prompt":"Hang \u00e9s vide\u00f3 enged\u00e9lyez\u00e9se",reject:"Elutas\u00edt",downloaded:"Let\u00f6ltve offline megtekint\u00e9shez","samsung-internet-vr-app-info":"Ha Samsung Gear VR szem\u00fcveget szeretn\u00e9l haszn\u00e1lni, akkor nyisd meg a Samsung internetb\u00f6ng\u00e9sz\u0151ben a t\u00far\u00e1t.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Vide\u00f3 enged\u00e9lyez\u00e9se","giroscope-disabled-safari-request-permission":["A megjelen\u00edt\u0151 eszk\u00f6z\u00f6d nem adott hozz\u00e1f\u00e9r\u00e9st a mozg\u00e1s \u00e9rz\u00e9kel\u00e9s\u00e9hez ezen az oldalon.","Ahhoz hogy megfelel\u0151en l\u00e1sd az oldalt k\u00e9rlek enged\u00e9lyezd a hozz\u00e1f\u00e9r\u00e9st."],
"storage-not-provided-launch-from-homescreen":"Ind\u00edtsd \u00fajra a t\u00far\u00e1t a home ikonra kattintva.","enter-fullscreen":"Teljesk\u00e9perny\u0151","use-cardboard-v2":"Cardboard 2.0 haszn\u00e1lata",unmute:"N\u00e9m\u00edt\u00e1s kikapcsol\u00e1sa","enter-vr":"VR tartalom megtekint\u00e9se","enable-measure":"Start measuring","use-cardboard-info":"Haszn\u00e1lhatsz b\u00e1rmilyen google cardboard-ot ahhoz, hogy VR m\u00f3dban l\u00e1sd a t\u00far\u00e1t.","refresh-downloaded":"Friss\u00edt\u00e9s",
"use-default-cardboard":"Alap\u00e9rtelmezett haszn\u00e1lata","enable-audio-prompt":"Hang enged\u00e9lyez\u00e9se"},"ar-ar":{mute:"\u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0635\u0648\u062a","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0633\u062d\u0628 \u0648\u0627\u0644\u0625\u0641\u0631\u0627\u062c",
accept:"\u0642\u0628\u0648\u0644",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0646\u0642\u0631 \u0648\u0627\u0644\u062a\u062d\u0631\u0643",
yes:"\u0646\u0639\u0645 \u0641\u0639\u0644\u0627","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0627\u0644\u062e\u0631\u0648\u062c \u0645\u0646 \u0648\u0636\u0639 \u0645\u0644\u0626 \u0644\u0644\u0634\u0627\u0634\u0629",no:"\u0644\u0627","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.",
"cookies-notice":"\u062a\u0633\u062a\u062e\u062f\u0645 \u0635\u0641\u062d\u0629 \u0627\u0644\u0648\u064a\u0628 \u0647\u0630\u0647 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 \u0644\u062c\u0645\u0639 \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645. \u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u060c \u064a\u0631\u062c\u0649 \u0632\u064a\u0627\u0631\u0629 <a> \u0633\u064a\u0627\u0633\u0629 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 </a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u064a\u0631\u0641\u0636","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a \u0648\u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f",
"storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0623\u062f\u062e\u0644 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",
"use-cardboard-v2":"Use Cardboard v2",unmute:"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a\u061f"},"ca-es":{mute:"Silenciar","cardboard-v1":"Si no esteu segurs de quina versi\u00f3 de cartr\u00f3 utilitzeu, seleccioneu el control de punt d'acc\u00e9s per defecte. Despr\u00e9s, simplement veureu un punt d'acc\u00e9s i espereu fins que s'activi l'acci\u00f3.",
"download-tour":"Descarregueu la visita virtual per a jugar fora de l\u00ednia","change-to-drag-and-release":"Canvieu el mode de control a Arrossegar i deixeu anar",accept:"Accepta",cancel:"Cancel\u00b7lar","storage-not-provided-bookmark":"S'ha denegat l'emmagatzematge persistent. Proveu de marcar aquesta p\u00e0gina web i torneu-la a carregar.","dont-display-again":"No tornis a mostrar aquesta informaci\u00f3","web-server-required":"Aquesta visita virtual no es pot reproduir des d'una unitat local. Carregueu-lo a Internet i torneu-ho a provar.\nSi ho preferiu, arrossegueu el fitxer htm (o tota la carpeta de la visita virtual) a la icona de l'aplicaci\u00f3 TourViewer.",
download:"Descarregar","change-to-click-and-move":"Canvieu el mode de control a Fer clic i desplaceu",yes:"s\u00ed","delete-downloaded":"Suprimeix","use-safari-for-vr":"Recomanem Safari per a visualitzar aquesta visita virtual en mode VR","exit-fullscreen":"Surt de pantalla completa",no:"no","download-failed":"Error de desc\u00e0rrega","giroscope-disabled-http":"Accediu a aquesta p\u00e0gina web a trav\u00e9s de http de manera que el moviment i l\u2019orientaci\u00f3 del dispositiu i el mode VR estan desactivats, accediu-hi mitjan\u00e7ant https per habilitar-les.",
"cookies-notice":"Aquesta p\u00e0gina web utilitza cookies per recopilar estad\u00edstiques d\u2019\u00fas. Per obtenir m\u00e9s informaci\u00f3, visiteu la <a>Pol\u00edtica de cookies</a>.","use-cardboard":"Utilitzeu Cardboard","launch-default-browser":"Inicieu el navegador per defecte","rotate-device":"Gireu el dispositiu","exit-vr":"Surt de VR","storage-not-provided-launch-from-desktop":"Torneu a iniciar la visita virtual des de la icona de l'escriptori per a descarregar-la.","disable-measure":"Stop measuring",
downloading:"Baixant","cardboard-v2":"Si teniu unes Cardboard v2, que venen amb un bot\u00f3, podeu mirar cap a un punt de vista i pr\u00e9mer el bot\u00f3 per activar-lo.","enable-video-audio-prompt":"Habilitar v\u00eddeo i \u00e0udio?",reject:"Rebutjar",downloaded:"Aquesta visita virtual es descarrega per a reproduir-la fora de l\u00ednia.","samsung-internet-vr-app-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, heu de fer que Samsung Internet sigui el vostre navegador predeterminat.",
"samsung-internet-vr-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, nom\u00e9s heu de posar el tel\u00e8fon m\u00f2bil als auriculars.","enable-video-prompt":"Activar v\u00eddeo?","giroscope-disabled-safari-request-permission":["Aquest lloc web est\u00e0 desactivat en el moviment i en la direcci\u00f3 o en mode VR del dispositiu.","Per veure correctament aquesta p\u00e0gina web, feu clic a Continuar i accepteu la sol\u00b7licitud de perm\u00eds si se us demana."],
"storage-not-provided-launch-from-homescreen":"Torneu a iniciar la visita virtual des de la icona de la pantalla inicial.","enter-fullscreen":"Entra a pantalla completa","use-cardboard-v2":"Utilitzeu Cardboard v2",unmute:"No activa","enter-vr":"Introdu\u00efu contingut de VR","enable-measure":"Start measuring","use-cardboard-info":"Podeu utilitzar qualsevol auricular de Google Cardboard compatible per a visualitzar aquest contingut en VR.","refresh-downloaded":"Actualitzaci\u00f3","use-default-cardboard":"\u00das per defecte",
"enable-audio-prompt":"Activar \u00e0udio?"},"ru-ru":{mute:"\u0411\u0435\u0437 \u0437\u0432\u0443\u043a\u0430","cardboard-v1":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u043a\u0430\u043a\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Cardboard \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043a\u0430\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0417\u0430\u0442\u0435\u043c \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u0434\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.",
"download-tour":"\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0443\u0440  \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f","change-to-drag-and-release":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u0435",
accept:"\u041f\u0440\u0438\u043d\u044f\u0442\u044c",download:"\u0421\u043a\u0430\u0447\u0430\u0442\u044c","storage-not-provided-bookmark":"\u0412 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0435.",
"dont-display-again":"\u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e","web-server-required":"\u042d\u0442\u043e\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0443\u0440 \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0435\u0433\u043e \u0432 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437.\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 htm-\u0444\u0430\u0439\u043b (\u0438\u043b\u0438 \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0430) \u043d\u0430 \u0437\u043d\u0430\u0447\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f TourViewer.",
cancel:"\u041e\u0442\u043c\u0435\u043d\u0430","change-to-click-and-move":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0430\u0436\u0430\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","use-safari-for-vr":"\u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c Safari \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0440\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 VR.",
"exit-fullscreen":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430",no:"\u043d\u0435\u0442","download-failed":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438","giroscope-disabled-http":"\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0447\u0435\u0440\u0435\u0437 http, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 https, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0445.",
"cookies-notice":"\u042d\u0442\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b cookie \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043c. <a>\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 cookie</a>.",
"use-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","rotate-device":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0438\u0442\u0435 \u0432\u0430\u0448\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e",
"exit-vr":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 VR",reject:"\u041e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c","disable-measure":"\u041f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f",downloading:"\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435","cardboard-v2":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Cardboard v2 \u0441 \u043a\u043d\u043e\u043f\u043a\u043e\u0439, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.",
"enable-video-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?","storage-not-provided-launch-from-desktop":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435..",
downloaded:"\u042d\u0442\u043e\u0442 \u0442\u0443\u0440 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.","samsung-internet-vr-app-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.",
"samsung-internet-vr-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0434\u0435\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 \u0441\u0435\u0439\u0447\u0430\u0441.",
"enable-video-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430.",
"\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\u00bb \u0438 \u043f\u0440\u0438\u043c\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e."],
"storage-not-provided-launch-from-homescreen":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435.","enter-fullscreen":"\u0412\u043e\u0439\u0442\u0438 \u0432 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c",
"use-cardboard-v2":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard v2",unmute:"\u0421\u043e \u0437\u0432\u0443\u043a\u043e\u043c","enter-vr":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c VR \u043a\u043e\u043d\u0442\u0435\u043d\u0442","enable-measure":"\u041d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f","use-cardboard-info":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0443\u044e \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR.",
"refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","use-default-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","enable-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u043e?"},"nn-no":{mute:"Skru av lyd","cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.",
"download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.","dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.",
download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus","exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.",
"cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k <a>retningslinjer for informasjonskapsler</a>.","use-cardboard":"Bruk Cardboard","launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned",
"cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.","enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.",
"samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.","enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."],
"storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2",unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard",
"enable-audio-prompt":"Aktivere audio?"},"es-es":{mute:"Silenciar","cardboard-v1":"Si no esta seguro de que versi\u00f3n de Cardboard debe usar escoja la selecci\u00f3n de hotspot por defecto. Solo tendr\u00e1 que apuntar al hotspot y esperar para que se ejecute la acci\u00f3n.","download-tour":"Descargar el tour para reproducirlo sin conexi\u00f3n","change-to-drag-and-release":"Cambiar el modo de control a arrastrar y soltar",accept:"Aceptar","use-cardboard-v2":"Usar Cardboard v2","storage-not-provided-bookmark":"Almacenamiento persistente denagado. Intente a\u00f1adir la p\u00e1gina a los marcadores y recargarla.",
"dont-display-again":"No volver a mostrar esta informaci\u00f3n","web-server-required":"Este tour virtual no puede reproducirse desde una unidad local. Por favor s\u00fabalo a internet y pruebe de nuevo.\nSi lo prefiere puede arrastrar el archivo html o la carpeta con el tour sobre el icono de la aplicaci\u00f3n Tour Viewer de su escritorio.",download:"Descargar","change-to-click-and-move":"Cambiar el modo de control a pulsar y mover",yes:"si","delete-downloaded":"Borrar","use-safari-for-vr":"Recomendamos Safari para ver este tour en modo VR",
"exit-fullscreen":"Salir de pantalla completa",no:"no","download-failed":"La descarga ha fallado","giroscope-disabled-http":"Est\u00e1 accediendo a esta p\u00e1gina web por http por lo que el acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabilitado, por favor acceda por https.","cookies-notice":"Esta p\u00e1gina usa cookies para recolectar estad\u00edsticas de uso. Para m\u00e1s informaci\u00f3n, visite la <a>Pol\u00edtica de Cookies</a>.","use-cardboard":"Usar Cardboard",
"launch-default-browser":"Lanzar en el navegador por defecto","rotate-device":"Por favor, gire el dispositivo","exit-vr":"Salir de VR","storage-not-provided-launch-from-desktop":"Por favor lance el tour desde el escritorio para descargarlo.","disable-measure":"Stop measuring",cancel:"Cancel",downloading:"Descargando","cardboard-v2":"Si tiene unas gafas Cardboard v2, que vienen con un bot\u00f3n, puede apuntar al hotspot y pulsar el bot\u00f3n para que se ejecute su acci\u00f3n.","enable-video-audio-prompt":"\u00bfActivar v\u00eddeo y audio?",
reject:"Rechazar",downloaded:"Este tour esta descargado para reproducirlo sin conexi\u00f3n.","samsung-internet-vr-app-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, necesita hacer Samsung Internet su navegador por defecto.","samsung-internet-vr-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, solo tiene que poner ahora el dispositivo en las gafas.",
"enable-video-prompt":"\u00bfActivar v\u00eddeo?","giroscope-disabled-safari-request-permission":["El acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabiltado para este sitio.","Para ver correctamente la p\u00e1gina por favor pulse Continuar y acepte la petici\u00f3n de permiso si se muestra."],"storage-not-provided-launch-from-homescreen":"Por favor lance el tour desde el icono de la pantalla de inicio para descargarlo.","enter-fullscreen":"Mostrar en pantalla completa",
unmute:"Habilitar sonido","enter-vr":"Entrar al contenido VR","enable-measure":"Start measuring","use-cardboard-info":"Puede usar unas gafas compatibles con Google Cardboard para ver este contenido en VR.","refresh-downloaded":"Actualizar","use-default-cardboard":"Usar versi\u00f3n por defecto","enable-audio-prompt":"\u00bfActivar audio?"},"el-gr":{mute:"\u0391\u03c0\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03ae\u03c7\u03bf","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c3\u03cd\u03c1\u03b5\u03c4\u03b5 \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03b1\u03c0\u03b5\u03bb\u03b5\u03c5\u03b8\u03b5\u03c1\u03ce\u03c3\u03b5\u03c4\u03b5",accept:"\u0391\u03c0\u03bf\u03b4\u03ad\u03c7\u03bf\u03bc\u03b1\u03b9",download:"Download",
"storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03ba\u03bb\u03b9\u03ba \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03b9\u03bd\u03b7\u03b8\u03b5\u03af\u03c4\u03b5",
yes:"\u039d\u03b1\u03af","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0388\u03be\u03bf\u03b4\u03bf\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7",no:"\u03cc\u03c7\u03b9","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.",
"cookies-notice":"\u0391\u03c5\u03c4\u03ae \u03b7 \u03b9\u03c3\u03c4\u03bf\u03c3\u03b5\u03bb\u03af\u03b4\u03b1 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af cookie \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03c3\u03c5\u03bb\u03bb\u03bf\u03b3\u03ae \u03c3\u03c4\u03b1\u03c4\u03b9\u03c3\u03c4\u03b9\u03ba\u03ce\u03bd \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03c9\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7\u03c2. \u0393\u03b9\u03b1 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2, \u03b5\u03c0\u03b9\u03c3\u03ba\u03b5\u03c6\u03b8\u03b5\u03af\u03c4\u03b5 \u03c4\u03b7\u03bd <a> \u03a0\u03bf\u03bb\u03b9\u03c4\u03b9\u03ba\u03ae cookie </a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u0391\u03c0\u03bf\u03c1\u03c1\u03af\u03c0\u03c4\u03c9","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5 \u03ba\u03b1\u03b9 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;",
"storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7",
"use-cardboard-v2":"Use Cardboard v2",unmute:"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5;"},
"da-dk":{mute:"Deaktiver lyd","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Skift kontroltilstand for at tr\u00e6kke og slippe",accept:"Acceptere",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again",
"web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Skift kontroltilstand for at klikke og flytte",yes:"Ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Afslut fuldsk\u00e6rm",no:"ingen","download-failed":"Download failed",
"giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denne webside bruger cookies til at indsamle brugsstatistikker. For mere information, se venligst <a> Cookiepolitik </a>.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Afvise","disable-measure":"Stop measuring",
downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktiv\u00e9r lyd og video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Aktiv\u00e9r video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],
"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Indtast fuldsk\u00e6rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktiv\u00e9r lyd","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktiv\u00e9r lyd?"},"pl-pl":{mute:"Wycisz",
"cardboard-v1":"Je\u015bli nie masz pewno\u015bci, kt\u00f3rej wersji Cardboard u\u017cywasz, wybierz domy\u015blne sterowanie hotspotem. Nast\u0119pnie skieruj wzrok na hotspot i poczekaj na uruchomienie ich dzia\u0142ania.","download-tour":"Pobierz spacer do odtwarzania w trybie offline","change-to-drag-and-release":"Zmie\u0144 tryb na Przeci\u0105gnij i Upu\u015b\u0107",accept:"Zaakceptowa\u0107",cancel:"Anuluj","storage-not-provided-bookmark":"Odmowa zapisu w pami\u0119ci sta\u0142ej. Spr\u00f3buj doda\u0107 stron\u0119 do zak\u0142adek i za\u0142aduj j\u0105 ponownie.",
"dont-display-again":"Nie wy\u015bwietlaj tego ponownie","web-server-required":"Nie mo\u017cna odtworzy\u0107 tego spaceru z dysku lokalnego. Prze\u015blij go do internetu i spr\u00f3buj ponownie.\nMo\u017cesz te\u017c przeci\u0105gn\u0105\u0107 plik htm (lub ca\u0142y folder spaceru) na ikon\u0119 aplikacji TourViewer.",download:"Pobierz","change-to-click-and-move":"Zmie\u0144 tryb na to Kliknij i Przenie\u015b",yes:"tak","delete-downloaded":"Usu\u0144","use-safari-for-vr":"Zalecamy Safari, jako przegl\u0105dark\u0119 spacer\u00f3w w trybie VR",
"exit-fullscreen":"Wyjd\u017a z trybu pe\u0142nego ekranu",no:"nie","download-failed":"Pobieranie nie powiod\u0142o si\u0119","giroscope-disabled-http":"To jest dost\u0119p za po\u015brednictwem protoko\u0142u http, wi\u0119c dost\u0119p do ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone. Prze\u0142\u0105cz si\u0119\u00a0na protok\u00f3\u0142 https, aby je w\u0142\u0105czy\u0107.","cookies-notice":"Ta strona u\u017cywa plik\u00f3w cookie do zbierania statystyk u\u017cytkowania. Aby uzyska\u0107 wi\u0119cej informacji, odwied\u017a <a>Zasady dotycz\u0105ce plik\u00f3w cookie</a>.",
"use-cardboard":"U\u017cyj Cardboard","launch-default-browser":"Uruchom w domy\u015blnej przegl\u0105darce","rotate-device":"Obr\u00f3\u0107 urz\u0105dzenie","exit-vr":"Wyjd\u017a z VR","storage-not-provided-launch-from-desktop":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 pulpitu.","disable-measure":"Stop measuring",downloading:"Pobieranie","cardboard-v2":"Je\u015bli masz okulary Cardboard v2, kt\u00f3re maj\u0105 przycisk, mo\u017cesz spojrze\u0107 na hotspot i nacisn\u0105\u0107 przycisk, aby uruchomi\u0107 ich dzia\u0142anie.",
"enable-video-audio-prompt":"W\u0142\u0105czy\u0107 video i d\u017awi\u0119k?",reject:"Odrzuca\u0107",downloaded:"Spacer jest pobierany do odtwarzania w trybie offline.","samsung-internet-vr-app-info":"Je\u015bli masz okulary zgodne z Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, mo\u017cesz je u\u017cy\u0107 do przegl\u0105dania zawarto\u015bci w VR. Musisz w tym przypadku ustawi\u0107 Samsung Internet jako domy\u015bln\u0105 przegl\u0105dark\u0119.","samsung-internet-vr-info":"Je\u015bli masz okulary Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, to mo\u017cesz u\u017cy\u0107 ich do przegl\u0105dania zawarto\u015bci w VR. Umie\u015b\u0107 teraz telefon w okularach Gear VR.",
"enable-video-prompt":"W\u0142\u0105czy\u0107 video?","giroscope-disabled-safari-request-permission":["Dost\u0119p do funkcji ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone dla tej strony.","Aby poprawnie wy\u015bwietli\u0107 stron\u0119, kliknij kontynuuj i zaakceptuj wszystkie zgody."],"storage-not-provided-launch-from-homescreen":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 strony g\u0142\u00f3wnej.","enter-fullscreen":"Uruchom pe\u0142ny ekran","use-cardboard-v2":"U\u017cyj Cardboard v2",
unmute:"Wy\u0142\u0105cz Wycisz","enter-vr":"Wejd\u017a do VR","enable-measure":"Start measuring","use-cardboard-info":"Do wy\u015bwietlania w VR mo\u017cesz u\u017cy\u0107 oklular\u00f3w zgodnych z Google Cardboard.","refresh-downloaded":"Od\u015bwie\u017c","use-default-cardboard":"U\u017cyj Domy\u015blnych","enable-audio-prompt":"W\u0142\u0105czy\u0107 d\u017awi\u0119k?"},"fr-fr":{mute:"Couper le son","cardboard-v1":"Si vous n'\u00eates pas s\u00fbr de la version de votre Cardboard, s\u00e9lectionnez le contr\u00f4le de hotspot par d\u00e9faut. Ensuite, vous n'aurez qu'\u00e0 fixer un hotspot du regard et attendre que l'action se d\u00e9clenche.",
"download-tour":"T\u00e9l\u00e9charger la visite pour jouer hors ligne","change-to-drag-and-release":"Changer le mode de contr\u00f4le en glisser-d\u00e9poser",accept:"Accepter",cancel:"Annuler","storage-not-provided-bookmark":"Stockage persistant refus\u00e9. Essayez de mettre cette page Web en signet et de la recharger.","dont-display-again":"Ne plus afficher ces informations","web-server-required":"Cette visite virtuelle ne peut pas \u00eatre lue \u00e0 partir d'un lecteur local. Veuillez la t\u00e9l\u00e9charger sur Internet et r\u00e9essayer.\nSi vous pr\u00e9f\u00e9rez, faites glisser le fichier htm (ou l'int\u00e9gralit\u00e9 du dossier de la visite) sur l'ic\u00f4ne de l'application TourViewer.",
download:"T\u00e9l\u00e9charger","change-to-click-and-move":"Changer le mode de contr\u00f4le pour cliquer et d\u00e9placer",yes:"Oui","delete-downloaded":"Supprimer","use-safari-for-vr":"Nous recommandons Safari pour visionner cette visite en mode VR","exit-fullscreen":"Quitter le mode plein \u00e9cran",no:"Non","download-failed":"\u00c9chec du t\u00e9l\u00e9chargement","giroscope-disabled-http":"Vous acc\u00e9dez \u00e0 cette page Web via http, donc l'acc\u00e8s au mouvement et \u00e0 l'orientation de votre appareil et le mode VR sont d\u00e9sactiv\u00e9s, veuillez y acc\u00e9der via https pour les activer.",
"cookies-notice":"Cette page Web utilise des cookies pour collecter des statistiques d'utilisation. Pour plus d'informations, veuillez consulter la <a>Politique en mati\u00e8re de cookies</a>.","use-cardboard":"Utiliser le Cardboard","launch-default-browser":"Lancer dans le navigateur par d\u00e9faut","rotate-device":"Veuillez faire pivoter votre appareil","exit-vr":"Quitter la r\u00e9alit\u00e9 virtuelle","storage-not-provided-launch-from-desktop":"Veuillez relancer la visite \u00e0 partir de l'ic\u00f4ne du bureau pour t\u00e9l\u00e9charger.",
"disable-measure":"Arr\u00eatez de mesurer",downloading:"T\u00e9l\u00e9chargement","cardboard-v2":"Si vous disposez d'un casque Cardboard v2, qui est \u00e9quip\u00e9 d'un bouton, vous pouvez fixer un hotspot du regard et appuyer sur le bouton pour d\u00e9clencher son action.","enable-video-audio-prompt":"Activer la vid\u00e9o et l'audio?",reject:"Rejeter",downloaded:"Cette visite est t\u00e9l\u00e9charg\u00e9e pour jouer hors ligne.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"Si vous disposez d'un casque Gear VR compatible avec cet appareil et que vous avez install\u00e9 Samsung Internet pour VR, vous pouvez \u00e9galement l'utiliser pour visualiser ce contenu en r\u00e9alit\u00e9 virtuelle. Il vous suffit de placer maintenant le t\u00e9l\u00e9phone mobile sur le casque.","enable-video-prompt":"Activer la vid\u00e9o?","giroscope-disabled-safari-request-permission":["L'acc\u00e8s au mouvement et \u00e0 l'orientation de votre appareil et le mode VR sont d\u00e9sactiv\u00e9s pour ce site.",
"Pour voir correctement cette page Web, veuillez cliquer sur Continuer et accepter la demande d'autorisation si vous y \u00eates invit\u00e9."],"storage-not-provided-launch-from-homescreen":"Veuillez relancer la visite \u00e0 partir de l'ic\u00f4ne de l'\u00e9cran d'accueil pour t\u00e9l\u00e9charger.","enter-fullscreen":"Passer en mode plein \u00e9cran","use-cardboard-v2":"Utiliser le Cardboard v2",unmute:"R\u00e9tablir le son","enter-vr":"Entrez le contenu VR","enable-measure":"Commencer \u00e0 mesurer",
"use-cardboard-info":"Vous pouvez utiliser n'importe quel casque Google Cardboard compatible pour visualiser ce contenu en r\u00e9alit\u00e9 virtuelle.","refresh-downloaded":"Rafra\u00eechir","use-default-cardboard":"Utiliser par d\u00e9faut","enable-audio-prompt":"Activer le son?"},"de-de":{mute:"Deaktiviere Audio","cardboard-v1":"Wenn Sie sich nicht sicher sind, welche Cardboard-Version Sie verwenden, w\u00e4hlen Sie die Standard-Hotspot-Steuerung. Sie schauen dann einfach auf einen Hotspot und warten, bis die jeweilige Aktion ausgel\u00f6st wird.",
"download-tour":"Tour zum Offline-Abspielen herunterladen","giroscope-disabled-safari-request-permission":["Der Bewegungs- und Orientierungszugriff, sowie VR Modus Ihres Ger\u00e4ts ist f\u00fcr diese Seite deaktiviert.","Um diese Webseite korrekt anzuzeigen, klicken Sie auf Weiter und akzeptieren Sie die Erlaubnisanfrage, wenn Sie dazu aufgefordert werden."],accept:"Akzeptieren",download:"Download",downloading:"Downloading","dont-display-again":"Diese Info nicht mehr anzeigen","web-server-required":"Diese Virtual Tour kann nicht von einem lokalen Laufwerk abgespielt werden. Laden Sie Ihre Tour ins Internet und versuchen Sie es erneut.\nAlternativ, ziehen Sie die htm Datei (oder den ganzen Tour Ordner) auf das Icon der Tour Viewer App, um die Tour direkt lokal abzuspielen.",
cancel:"Abbrechen","change-to-click-and-move":"\u00c4ndern Sie den Steuerungsmodus, um zu klicken und zu drehen",yes:"ja","delete-downloaded":"L\u00f6schen","use-safari-for-vr":"Wir empfehlen Safari, um diese Tour im VR-Modus zu sehen","exit-fullscreen":"Vollbild verlassen",no:"nein","storage-not-provided-bookmark":"Dauerhafte Speicherung verweigert. Versuchen Sie, diese Seite als Lesezeichen zu speichern und erneut zu laden.","download-failed":"Download fehlgeschlagen","giroscope-disabled-http":"Der Bewegungs- und Ausrichtungsszugriff Ihres Ger\u00e4ts ist f\u00fcr diese Webseite deaktiviert. Greifen Sie bitte \u00fcber https darauf zu.",
"cookies-notice":"Diese Webseite verwendet Cookies, um Nutzungsstatistiken zu sammeln. Weitere Informationen finden Sie in der <a>Cookie-Richtlinie</a>.","use-cardboard":"Cardboard verwenden","launch-default-browser":"Im Standardbrowser starten","rotate-device":"Bitte drehen Sie Ihr Ger\u00e4t","exit-vr":"VR verlassen",reject:"Ablehnen","disable-measure":"Messung beenden","change-to-drag-and-release":"\u00c4ndern Sie den Steuerungsmodus zu Ziehen und Loslassen","cardboard-v2":"Wenn Sie ein Cardboard v2-Headset haben, das mit einer Taste ausgestattet ist, k\u00f6nnen Sie auf einen Hotspot blicken und die Taste dr\u00fccken, um dessen Aktion auszul\u00f6sen.",
"enable-video-audio-prompt":"Video und Audio aktivieren?","storage-not-provided-launch-from-desktop":"Bitte starten Sie die Tour erneut \u00fcber das Desktop-Symbol, um sie herunterzuladen.",downloaded:"Diese Tour ist zum Offline-Abspielen heruntergeladen.","samsung-internet-vr-app-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR anzusehen. Machen Sie dazu Samsung Internet zu Ihrem Standardbrowser.",
"samsung-internet-vr-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR zu sehen. Setzen Sie dazu nun das Mobiltelefon auf das Headset.","enable-video-prompt":"Video aktivieren?","storage-not-provided-launch-from-homescreen":"Bitte starten Sie die Tour erneut \u00fcber das Symbol auf dem Startbildschirm, um sie herunterzuladen.","enter-fullscreen":"Vollbildmodus aktivieren",
"use-cardboard-v2":"Cardboard v2 verwenden",unmute:"Audio aktivieren","enter-vr":"VR Inhalt eingeben","enable-measure":"Messung beginnen","use-cardboard-info":"Sie k\u00f6nnen jedes kompatible Google Cardboard-Headset verwenden, um diese Inhalte in VR zu sehen.","refresh-downloaded":"Aktualisieren","use-default-cardboard":"Standard verwenden","enable-audio-prompt":"Audio aktivieren?"},"tr-tr":{mute:"Sesi devre d\u0131s\u0131 b\u0131rakmak","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"S\u00fcr\u00fckleyip b\u0131rakmak i\u00e7in kontrol modunu de\u011fi\u015ftirin",accept:"Kabul etmek",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
cancel:"Cancel","change-to-click-and-move":"T\u0131klamak ve ta\u015f\u0131mak i\u00e7in kontrol modunu de\u011fi\u015ftirin",yes:"evet","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Tam ekrandan \u00e7\u0131k",no:"hay\u0131r","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.",
"cookies-notice":"Bu web sayfas\u0131, kullan\u0131m istatistiklerini toplamak i\u00e7in tan\u0131mlama bilgileri kullan\u0131r. Daha fazla bilgi i\u00e7in l\u00fctfen <a>\u00c7erez Politikas\u0131n\u0131</a> ziyaret edin.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Reddet","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.",
"enable-video-audio-prompt":"Ses ve video etkinle\u015ftirilsin mi?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Video aktif edilsin mi?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Tam ekran yap","use-cardboard-v2":"Use Cardboard v2",unmute:"Sesi etkinle\u015ftir","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Ses aktif edilsin mi?"}}});
define("ov",["require","li","ih","md"],function(a){function d(f){return m[c][f]||m.en[f]||f}var h=a("li"),m=a("ih"),k=a("md"),b;for(b in m)m[b.substr(0,2)]=m[b];m.en["giroscope-disabled-safari-toggle-on"]='<div>Your device\'s motion and orientation access and VR mode are disabled for this site.</div>\n<div>To properly see this webpage, please enable it:</div>\n<ul style="display:inline-block; text-align:left;">\n<li>Access you device\'s settings: "Settings > Safari > Privacy & Security" and toggle on: "Motion & Orientation Access".</li>\n<li>Refresh the browser.</li>\n</ul>';m["zh-hk"]=
m["zh-mo"]=m["zh-tw"];m.no=m.nn;var g=function(){var f=window.navigator,l=["language","browserLanguage","systemLanguage","userLanguage"],p,q,n=[];(p=k.getQueryParameter("language"))&&n.push(p.toLowerCase());var r=f.languages;if(Array.isArray(r))for(p=0;p<r.length;p++)(q=r[p])&&q.length&&(q=q.toLowerCase(),-1==n.indexOf(q)&&n.push(q));for(p=0;p<l.length;p++)(q=f[l[p]])&&q.length&&(q=q.toLowerCase(),-1==n.indexOf(q)&&n.push(q));return n}(),e=Object.keys(m),c=function(){for(var f=0;f<g.length;f++){var l=
g[f];if(0<=e.indexOf(l))return l;l=l.substr(0,2);if(0<=e.indexOf(l))return l}return"en"}();d.log=function(){h.log("translation lang: "+c);h.log("browser lang: "+g.join(", "))};return d});
define("oJ",["require"],function(){var a={};a.src=a.r0a="data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=";return a});
define("dW",["require","oJ","v"],function(a){function d(q){var n=document.createElement("video");n.setAttribute("webkit-playsinline","true");n.setAttribute("playsinline","true");n.src=g.src;var r=n.play();if(r){var u=!1;r.then(function(){u=!0;n.pause();q(!1)})["catch"](function(){u||q(!0)})}else n.pause(),q(!1)}function h(q){var n=!1,r=document.createElement("video");r.setAttribute("webkit-playsinline","true");r.setAttribute("playsinline","true");r.src="";(r=r.play())?r["catch"](function(u){n="NotAllowedError"!==
u.name}).then(function(){q(!n)}):q(!0)}function m(q){p=q;f=!0;k()}function k(){for(;l.length;)l.shift().call(window,p)}function b(){c||(c=!0,e.browser()==e.Wl&&11<=e.FP()?m(!0):e.browser()==e.Xh?d(m):h(function(q){q?d(m):m(!1)}))}var g=a("oJ"),e=a("v"),c=!1,f=!1,l=[],p;return{test:function(q){f||c||b();l.push(q);f&&k()}}});
define("bD",["require","ov","lO","dW"],function(a){function d(g,e){this.aD=g;this.ro=e;this.Yp=this.Yp.bind(this);this.Zp=!1}function h(){this.Yp=this.Yp.bind(this);this.gaa=this.gaa.bind(this);this.A="not tested";this.Cga=[];this.Et=[];this.ZU=!1;k.wait(this.gaa)}var m=a("ov"),k=a("lO"),b=a("dW");h.prototype.FZa=function(){"not tested"==this.A&&(this.A="testing",b.test(function(g){this.A=g?"requires action":"allowed";this.aLa()}.bind(this)))};h.prototype.aLa=function(){"allowed"==this.A?this.Yp(!0):
this.ZU&&(this.ZU=!1,this.Et.forEach(function(g){g.request()}))};h.prototype.cea=function(g){"allowed"==this.A?g.call(this,!0):this.Cga.push(g)};h.prototype.request=function(g){this.Wr(g)};h.prototype.cancel=function(g){this.HA(g)};h.prototype.active=function(){return"allowed"==this.A};h.prototype.CYa=function(){"allowed"==this.A&&(this.A="requires action")};h.prototype.gaa=function(){setTimeout(this.xEa.bind(this),300);this.ir(!0)};h.prototype.xEa=function(){for(;this.Et.length;)this.Et.pop().cancel()};
h.prototype.Wr=function(g){"testing"==this.A||"not tested"==this.A?(this.l1(g),this.ZU=!0):"requires action"==this.A&&this.l1(g).request()};h.prototype.HA=function(g){"testing"==this.A||"not tested"==this.A?this.ZU=!1:"requires action"==this.A&&this.l1(g).cancel()};h.prototype.Yp=function(g){var e=this.Et;this.Et=[];e.forEach(function(c){g||c.aD.set("mute",!0);c.cancel()});this.ir(g)};h.prototype.ir=function(g){this.A="allowed";this.Cga.forEach(function(e){e.call(window,g)})};h.prototype.l1=function(g){for(var e=
null,c=0;c<this.Et.length&&!e;c++)this.Et[c].aD==g&&(e=this.Et[c]);e||(e=new d(g,this.Yp),this.Et.push(e));return e};d.prototype.request=function(){this.Zp||(this.Zp=!0,"button"==this.aD.get("mediaActivationMode")?this.aD.pH.dXa(this.Yp):this.aD.SF.show(m("enable-audio-prompt"),this.Yp))};d.prototype.cancel=function(){this.aD.pH.ZSa(this.Yp);this.aD.SF.hide(this.Yp)};d.prototype.Yp=function(g){this.ro(!1!==g);this.Zp=!1};return new h});
define("fP",["require","ox","mq","bD","ha"],function(a){var d=a("ox"),h=a("mq"),m=a("bD"),k=a("ha");if(!h.eea||!1==="AudioContext"in window)return null;var b=new AudioContext;m.cea(function(){"running"!==b.state&&b.resume()});k.bind(d.ta,function(){k.visible&&"interrupted"==b.state&&b.resume()});return b});
define("ec","require fP ox v md mq ha".split(" "),function(a){function d(e){this.ki=this.ki.bind(this);this.Mr=this.Mr.bind(this);this.df=!1;this.sq=this.CS=1;this.OS=!0;this.ux=this.DE=null;this.R=e;this.R.addEventListener("play",this.ki,!0);this.R.addEventListener("playing",this.Mr,!0);this.Fqa();this.QC()}var h=a("fP");a("ox");var m=a("v"),k=a("md"),b=a("mq");a("ha");var g;d.prototype.clear=function(){this.R&&(this.bQa(),this.R.removeEventListener("play",this.ki,!0),this.R.removeEventListener("playing",
this.Mr,!0),this.R=null)};d.prototype.Fqa=function(){b.eea&&m.browser()==m.Xh&&h&&!this.DE&&this.yx()&&(g||(g=h.createDelay(),g.delayTime.value=.3,g.connect(h.destination)),this.DE=h.createMediaElementSource(this.R),this.ux=h.createGain(),this.DE.connect(this.ux),this.ux.connect(g))};d.prototype.bQa=function(){this.DE&&(this.DE.disconnect(),this.DE=null);this.ux&&(this.ux.disconnect(),this.ux=null)};d.prototype.MXa=function(e){this.OS!=e&&(this.R.log("AudioController","set hasAudio: "+e),this.OS=
e,this.QC())};d.prototype.Cf=function(e){this.df!=e&&(this.R.log("AudioController","set muted: "+e),this.df=e,this.QC())};d.prototype.cw=function(e){this.sq!=e&&(this.R.log("AudioController","set volume: "+e),this.sq=e,this.QC())};d.prototype.JP=function(e){this.CS!=e&&(this.R.log("AudioController","set gain: "+e),this.CS=Math.max(0,Math.min(1,e)),this.QC())};d.prototype.ki=function(){this.QC()};d.prototype.Mr=function(){this.QC()};d.prototype.QC=function(){this.R.log("AudioController","updateVolume paused: "+
this.R.paused+" outputVolume: "+(!this.OS||this.df?0:this.sq*this.CS));if(!this.R.paused){var e=!this.OS||this.df?0:this.sq*this.CS;0<e&&1>e&&this.Fqa();this.ux?(this.ux.gain.value=e,this.R.volume=1):this.R.volume=e;this.R.muted=0==e}};d.prototype.yx=function(){var e=this.R.currentSrc||this.R.children.length&&this.R.children[0].src||"";k.hz(e)&&(e=void 0);return e};return d});define("nU",["require"],function(){return{un:"video",jAa:"audio"}});
define("mW","require li ox kK hP cw gf v md im ha".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("kK"),k=a("hP"),b=a("cw"),g=a("gf"),e=a("v"),c=a("md"),f=a("im"),l=a("ha"),p=d.extend(g,function(q){g.call(this);this.R=q;this.QB=this.QB.bind(this);this.Fu=this.Fu.bind(this);this.ll=this.ll.bind(this);this.VB=this.VB.bind(this);this.uj=this.uj.bind(this);this.ol=this.ol.bind(this);this.ki=this.ki.bind(this);this.Mr=this.Mr.bind(this);this.aO=this.aO.bind(this);this.R.addEventListener("ended",this.ll,
!0);this.R.addEventListener("pause",this.ol,!1);this.R.addEventListener("stalled",this.ol,!1);this.R.addEventListener("waiting",this.ol,!1);this.R.addEventListener("canplay",this.QB,!0);this.R.addEventListener("canplaythrough",this.Fu,!1);this.R.addEventListener("loadedmetadata",this.uj,!0);this.R.addEventListener("play",this.ki,!1);this.R.addEventListener("playing",this.Mr,!1);this.R.addEventListener("error",this.VB,!1);this.H3=!1;this.A=m.T;this.sG=this.Sh=null;l.bind(h.ta,this.lSa,this)});p.prototype.clear=
function(){this.R&&(this.R.removeEventListener("ended",this.ll,!0),this.R.removeEventListener("pause",this.ol,!1),this.R.removeEventListener("stalled",this.ol,!1),this.R.removeEventListener("waiting",this.ol,!1),this.R.removeEventListener("canplay",this.QB,!0),this.R.removeEventListener("canplaythrough",this.Fu,!1),this.R.removeEventListener("loadedmetadata",this.uj,!0),this.R.removeEventListener("play",this.ki,!1),this.R.removeEventListener("error",this.VB,!1),this.R=null)};p.prototype.play=function(){this.R.log("PlaybackController",
"play");this.sG=m.X;this.IM()};p.prototype.stop=function(){this.R.log("PlaybackController","stop");this.sG=m.T;this.IM()};p.prototype.getState=function(){return this.Sh||this.A};p.prototype.rD=function(){return this.R.readyState==this.R.HAVE_NOTHING||this.R.readyState==this.R.HAVE_METADATA||0===this.R.currentTime?!1:!0};p.prototype.IM=function(){!this.Sh&&this.sG&&(this.Sh=this.sG,this.sG=null,this.Sh==m.X?this.F9():this.E9())};p.prototype.lSa=function(){if(l.visible)this.R.log("PlaybackController",
"visibile changed to true, setting state to "+this.A),this.Sh=this.A,this.Sh==m.X?this.F9():this.E9();else if(!this.R.paused){this.R.log("PlaybackController","paused by visibile changed to false");var q=this.R.pause();q&&q["catch"](this.VB)}};p.prototype.yx=function(){return this.R.currentSrc||this.R.children.length&&this.R.children[0].src||""};p.prototype.F9=function(){var q=this.yx();this.WV(q&&!c.hz(q));this.cR=e.browser()==e.Xh;this.R.paused?(this.R.log("PlaybackController","startPlaying calling play"),
this.R.muted=!0,this.R.log("PlaybackController","this._media.play()"),(q=this.R.play())&&q["catch"](this.VB)):(this.R.log("PlaybackController","startPlaying already playing"),this.ki())};p.prototype.Mr=function(){this.R.log("PlaybackController","onPlaying event received. Visible: "+l.visible)};p.prototype.ki=function(){this.Sh==m.X?(this.R.log("PlaybackController","onPlay event received when waiting to play"),this.Sh=null,this.A=m.X,this.trigger(new b(p.Z_)),this.IM()):this.R.log("PlaybackController",
"onPlay event received. Visible: "+l.visible)};p.prototype.E9=function(){this.WV(!1);this.cR=!1;if(this.R.paused)this.R.log("PlaybackController","startPausing already paused"),this.ol();else{this.R.log("PlaybackController","startPausing calling pause");var q=this.R.pause();q&&q["catch"](this.VB)}};p.prototype.ol=function(){this.Sh==m.T?(this.R.log("PlaybackController","onPause event received when waiting to stop"),this.Sh=null,this.A=m.T,this.IM()):l.visible?(this.R.log("PlaybackController","onPause event received without calling to pause"),
(this.A==m.X&&!this.Sh||this.Sh==m.X)&&!this.R.hasAttribute("loop")&&!isNaN(this.R.duration)&&this.R.currentTime==this.R.duration&&0<this.R.duration&&this.ll(),this.aO()):this.R.log("PlaybackController","onPause event received when not visible")};p.prototype.QB=function(){this.R.log("PlaybackController","on can play");this.aO()};p.prototype.Fu=function(){this.R.log("PlaybackController","can play through");this.aO();this.WV(!1)};p.prototype.aO=function(){if(this.Iqa()){if(this.cR&&0==this.R.currentTime){this.R.log("PlaybackController",
"updatePlaying applying ios hack");this.cR=!1;try{this.R.currentTime=.3}catch(q){}}e.browser()!=e.ZD&&this.Apa()}};p.prototype.Iqa=function(){return this.A==m.X&&l.visible&&this.R.paused&&3<=this.R.readyState};p.prototype.Apa=function(q){this.Bpa||(q?this.Iqa()&&(this.R.log("PlaybackController","updatePlaying retrying play"),this.Sh=m.X,this.F9()):this.Bpa=setTimeout(function(){this.Bpa=null;this.Apa(!0)}.bind(this),500))};p.prototype.VB=function(){this.Sh==m.X&&(this.R.log("PlaybackController","onError waiting to play"),
this.Sh=null,this.sG?this.IM():e.browser()==e.Xh?this.trigger(new b(p.D_)):this.Sh=m.X)};p.prototype.uj=function(){this.R.log("PlaybackController","on loaded metadata");!isNaN(this.R.duration)&&this.R.currentTime==this.R.duration&&0<this.R.duration&&this.ll()};p.prototype.ll=function(){this.R.log("PlaybackController","onEnded");this.cR=!1;if(this.A==m.X&&!this.Sh||this.Sh==m.T)this.R.log("PlaybackController","onEnded finalizing video"),this.WV(!1),this.Sh=m.T,this.E9(),this.trigger(new b(p.Kj))};
p.prototype.WV=function(q){this.H3!=q&&(this.R.log("PlaybackController","downloading changed to: "+q),(this.H3=q)?f.vZa(k.Jea):f.uZa(k.Jea))};p.D_="deactivated";p.Kj="end";p.Z_="play";return p});
define("B",["require","li","ox","cw","gf"],function(a){var d=a("li"),h=a("ox");a("cw");var m=a("gf");a=d.extend(m,function(k){m.call(this);this.uj=this.uj.bind(this);this.P6=this.P6.bind(this);this.ii=this.ii.bind(this);this.R=k;this.Ak=null;this.pe=[];this.R.addEventListener("loadedmetadata",this.uj,!0);this.R.textTracks.addEventListener("addtrack",this.P6,!1)});a.prototype.set=function(k){k&&this.XCa(k)};a.prototype.clear=function(){this.sNa()};a.prototype.MO=function(){var k=this.Ak&&this.Ak.track.activeCues;
k&&(k=Array.prototype.slice.call(k,0));return k||[]};a.prototype.uj=function(){this.Csa()};a.prototype.P6=function(){this.Csa()};a.prototype.ii=function(){this.Wpa(this.Ak.track.activeCues)};a.prototype.Wpa=function(k){k||(k=[]);if(0!=this.pe.length||0!=k.length)this.pe=Array.prototype.slice.call(k),this.trigger(h.Pk,this.pe)};a.prototype.XCa=function(k){this.R.log("TextTracksController","add text track src: "+k);this.Ak=document.createElement("track");this.Ak.kind="subtitles";this.Ak.src=k;this.R.appendChild(this.Ak)};
a.prototype.sNa=function(){this.Ak&&(this.R.log("TextTracksController","remove text track"),this.Ak.track.removeEventListener("cuechange",this.ii),this.Ak.track.mode="disabled",this.Ak.src="",this.R.removeChild(this.Ak),this.Ak=null,this.Wpa([]))};a.prototype.Csa=function(){for(var k=0;k<this.R.textTracks.length;k++){var b=this.R.textTracks[k];b.removeEventListener("cuechange",this.ii);b.mode=this.Ak&&b==this.Ak.track?"hidden":"disabled";"hidden"==b.mode&&b.addEventListener("cuechange",this.ii)}};
return a});
define("hW",["require","ed","md"],function(a){var d=a("ed"),h=a("md");a={is:function(m,k){m=h.parse(m).GTa;return d(k).contains(m)},hz:function(m,k){return m&&d(k).any(function(b){return 0===m.indexOf(b)})},r0:[".mp4",".m4v",".m4p"],UAa:[".hevc"],Oea:[".mov"],Tfa:[".webm"],hfa:[".ogv",".ogg"],nBa:[".mpg",".mpeg"],ZAa:[".jpg",".jpeg"],HLS:[".m3u8"],ffa:[".mpd"],ABa:[".png"],hAa:[".apng"],TAa:[".gif"],nAa:[".bmp"],eCa:[".webp"],kAa:[".avif"]};a.WAa=[].concat(a.ZAa,a.ABa,a.eCa,a.TAa,a.kAa,a.hAa,a.nAa);
a.gAa=[].concat(a.HLS,a.ffa);a.un=[].concat(a.gAa,a.r0,a.Tfa,a.hfa,a.nBa,a.HLS,a.ffa);a.XAa=["data:image/"];return a});
define("et","require li ox cw gf v hW".split(" "),function(a){var d=a("li");a("ox");var h=a("cw"),m=a("gf"),k=a("v"),b=a("hW"),g=d.extend(m,function(e){m.call(this);this.R=e;this.Fu=this.Fu.bind(this);this.ol=this.ol.bind(this);this.ki=this.ki.bind(this);this.uj=this.uj.bind(this);this.ll=this.ll.bind(this);this.GU=this.GU.bind(this);this.Se=this.Se.bind(this);this.g6=this.ZF=this.JC=void 0;this.Z9=0;this.R.addEventListener("ended",this.ll,!0);this.R.addEventListener("pause",this.ol,!1);this.R.addEventListener("canplaythrough",
this.Fu,!1);this.R.addEventListener("timeupdate",this.GU,!1);this.R.addEventListener("play",this.ki,!1);this.R.addEventListener("playing",this.Mr,!1)});g.prototype.clear=function(){this.R&&(this.R.removeEventListener("ended",this.ll,!0),this.R.removeEventListener("pause",this.ol,!1),this.R.removeEventListener("canplaythrough",this.Fu,!1),this.R.removeEventListener("timeupdate",this.GU,!1),this.R.removeEventListener("play",this.ki,!1),this.R.removeEventListener("playing",this.Mr,!1),this.R=null,this.JC&&
clearInterval(this.JC))};g.prototype.setTime=function(e){if(!this.R.srcObject){this.Z9=0;this.zT=void 0;this.R.log("TimeController","setTime: "+e);k.Taa()&&!b.is(this.yx(),b.HLS)?this.tJ=e||0:this.tJ=void 0;try{this.R.currentTime=e}catch(c){}k.browser()==k.kw||k.browser()==k.ZD||k.cd()==k.QI&&0==e||(this.ZF=e,this.bsa())}};g.prototype.getTime=function(){return this.ZF||this.R.currentTime||0};g.prototype.Xi=function(){return this.R.duration||0};g.prototype.ki=function(){this.m9(!0)};g.prototype.ol=
function(){this.m9(!1);this.zT=void 0};g.prototype.Fu=function(){this.R.log("TimeController","on can play through");this.bsa()};g.prototype.ll=function(){this.tJ=void 0;this.m9(!1)};g.prototype.uj=function(){this.trigger(new h(g.Ai))};g.prototype.bsa=function(){if(this.R.readyState>=this.R.HAVE_ENOUGH_DATA&&void 0!==this.ZF){this.R.log("TimeController","updateCurrentTime when can play through set time to: "+this.ZF);try{this.R.currentTime=this.ZF}catch(e){}this.ZF=void 0}};g.prototype.Se=function(){this.trigger(new h(g.Ef))};
g.prototype.GU=function(){if(k.Taa()&&!k.yva()&&!this.R.paused&&this.R.readyState>=this.R.HAVE_ENOUGH_DATA){var e=(new Date).getTime();this.zT||(this.zT=e);this.g6&&500<e-this.g6&&(this.Z9++,.4<this.Z9/(.001*(e-this.zT))&&k.IYa());this.g6=e}if(void 0!==this.tJ&&this.R.currentTime>this.tJ){this.tJ=void 0;try{this.R.currentTime-=.01}catch(c){}}this.Se()};g.prototype.m9=function(e){!!this.JC!=e&&(this.JC?(clearInterval(this.JC),this.JC=null):this.JC=setInterval(this.Se,16))};g.prototype.yx=function(){return this.R.currentSrc||
this.R.children.length&&this.R.children[0].src||""};g.Ef="time update";g.Ai="duration update";return g});
define("lB","require jquery.mod li fP v md".split(" "),function(a){function d(){}a("jquery.mod");var h=a("li"),m=a("fP"),k=a("v");a=a("md");d.taa=!1;d.ZYa=function(){d.taa=!0};d.pJa=function(){window.MediaSource=window.MediaSource||window.E_a;return window.MediaSource&&"function"===typeof window.MediaSource.isTypeSupported&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')};d.BJa=function(){if(k.browser()==k.Xh){var e=k.tD();if(10<=e&&11>e||11.3<=e)return!0}return!1};
d.qJa=function(){return k.browser()==k.Wl||k.browser()==k.Xh?!0:!1};var b;d.Ita=function(e){try{return b||(b=document.createElement("audio")),!!b.canPlayType(e).replace(/^no$/,"")}catch(c){}return!1};var g;d.LH=function(e){try{return g||(g=document.createElement("video"),g.setAttribute("webkit-playsinline","true"),g.setAttribute("playsinline","true")),!!g.canPlayType(e).replace(/^no$/,"")}catch(c){}return!1};d.QSa=function(){return k.browser()==k.Xh?15<=k.tD()||m?!0:!1:!0};d.rJa=function(){try{if(document.createElement("canvas").getContext("webgl"))return!0}catch(e){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return!0}catch(e){}return!1};
d.Cza=function(e,c,f){if(k.de()==k.Di)if(!f||30<f){if(3168>=e&&1584>=c)return!0}else{if(4096>=e&&2048>=c)return!0}else if(k.GY()&&!k.IY()){if(5760>=e&&5760>=c||8192>=e&&4096>=c)return!0}else if(k.IVa()&&!k.IY())if(!f||30<f){if(2880>=e&&2880>=c||4096>=e&&2048>=c)return!0}else{if(4096>=e&&4096>=c||5760>=e&&2880>=c||2880>=e&&5760>=c)return!0}else if(k.mb()){if(3840>=e&&2160>=c)return!0}else if(4096>=e&&2048>=c)return!0;return!1};d.SSa=function(){return k.GY()&&k.cd()==k.Rq||!k.mb()&&d.taa&&k.browser()==
k.Nk?!0:!1};d.RSa=function(){return d.taa?!0:!1};d.TSa=function(){return k.GY()||k.MVa()||!k.Nf()?!0:!1};d.DZa=function(e,c){return d.Cza(e,c,30)};d.log=function(){h.log("webgl: "+d.Ws);h.log("html5 audio: "+d.Gva);h.log("html5 video: "+d.Jva)};d.WPa=function(){return["webgl:"+d.Ws,"html5audio:"+d.Gva,"html5video:"+d.Jva].join(" ")};d.Iva=d.Ita('audio/ogg; codecs="vorbis"');d.Hva=d.Ita("audio/mpeg");d.Gva=d.Iva||d.Hva;d.Nba=d.LH('video/ogg; codecs="theora"');d.LH('video/mp4; codecs="avc1.42E01E"');
d.Oba=d.LH('video/webm; codecs="vp8, vorbis"');d.hVa=d.LH('video/mp4; codecs="hev1"');d.xY=d.LH("video/mp4");d.iVa=d.LH("video/quicktime");d.Kva=d.BJa();d.sva=d.qJa();d.VUa=d.sva||d.xY&&d.pJa();d.Jva=d.Nba||d.xY||d.Oba;d.Ws=d.rJa();a.Yi("debug")&&a.Yi("capabilities")&&d.log();d.summary=d.WPa();return d});
define("ct",["require","md"],function(a){function d(){this.DT=this.j6=null;this.Ot=[];this.Er=!1;this.Kx=void 0}var h=a("md");d.prototype.initialize=function(m,k){this.j6=h.ew(m);this.DT=k;this.ea()};d.prototype.load=function(m,k){var b={};b.call=m;b.context=k||window;this.Ot.push(b);this.Kx||(this.Kx=this.gka());this.ea()};d.prototype.Kl=function(){return void 0!==this.Kx};d.prototype.ea=function(){0<this.Ot.length&&(void 0!==this.Kx?this.mGa():this.j6&&this.fL())};d.prototype.fL=function(){if(!this.Er&&
void 0===this.Kx){this.Er=!0;var m=document.createElement("script");m.type="text/javascript";m.src=this.j6;document.getElementsByTagName("head")[0].appendChild(m);this.Ysa()}};d.prototype.Ysa=function(){var m=this.gka();if(void 0===m){var k=this;setTimeout(function(){k.Ysa()},250)}else this.Kx=m,this.Er=!1,this.ea()};d.prototype.gka=function(){if(this.DT){for(var m=window,k=0;k<this.DT.length&&void 0!==m;k++)m=m[this.DT[k]];return m}};d.prototype.mGa=function(){for(;0<this.Ot.length;){var m=this.Ot.pop();
m.call.call(m.context,this.Kx)}};return{Ufa:new d,HLS:new d,initialize:function(m){this.HLS.initialize(m.get(TDV.PlayerSettings.HLS_URL),["Hls"]);this.Ufa.initialize(m.get(TDV.PlayerSettings.WEBVR_POLYFILL_URL),["WebVRConfig","FORCE_ENABLE_VR"])}}});
define("dq",["require"],function(){var a={Lwa:"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU2LjM2LjEwMAAAAAAAAAAAAAAA//OEAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAAEAAABIADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV6urq6urq6urq6urq6urq6urq6urq6urq6v////////////////////////////////8AAAAATGF2YzU2LjQxAAAAAAAAAAAAAAAAJAAAAAAAAAAAASDs90hvAAAAAAAAAAAAAAAAAAAA//MUZAAAAAGkAAAAAAAAA0gAAAAATEFN//MUZAMAAAGkAAAAAAAAA0gAAAAARTMu//MUZAYAAAGkAAAAAAAAA0gAAAAAOTku//MUZAkAAAGkAAAAAAAAA0gAAAAANVVV"};a.src=
a.Lwa;return a});
define("dy","require li ox cw gf lB md mq hW ct dq".split(" "),function(a){function d(q,n,r){this.src=q||"";this.kn=n||"";this.startTime=r||0}var h=a("li"),m=a("ox"),k=a("cw"),b=a("gf"),g=a("lB"),e=a("md"),c=a("mq"),f=a("hW"),l=a("ct"),p=a("dq");a=h.extend(b,function(q,n){b.call(this);this.R=q;this.Tm=n;this.p6=!1;this.nW=[];this.cf=this.ne=this.aF=null});a.prototype.set=function(q,n,r){this.R.log("SrcSetter","set: "+q+" subtitles: "+n+" startTime: "+r);q=new d(q,n,r);this.ne&&this.ne.isEqual(q)||(!this.ne&&
this.aF&&this.aF.isEqual(q)?this.RW():(this.ne=q,this.zKa()))};a.prototype.clear=function(){this.cf&&(this.cf.destroy(),this.cf=null);this.aF=null;this.rNa();this.Tm.clear()};a.prototype.$Ua=function(){return!!this.ne};a.prototype.zKa=function(){this.p6=!0;this.vpa(this.ne.src)&&!l.HLS.Kl()?(this.R.log("SrcSetter","hls lib required"),l.HLS.load(this.tla,this)):this.tla()};a.prototype.tla=function(){this.p6&&(this.p6=!1,this.CDa())};a.prototype.CDa=function(){this.clear();this.pOa(this.vNa(this.ne.src));
this.vpa(this.ne.src)?this.qDa():this.N5(this.ne.src)?this.DDa():this.EDa()};a.prototype.qDa=function(){var q=l.HLS.Kx,n=1048576*(navigator.connection?Math.max(navigator.connection.downlink,2):2),r=.66*n;this.cf=new q({debug:c.bE,startPosition:0===this.ne.startTime?-1:this.ne.startTime,levelLoadingTimeOut:6E4,startLevel:-1,maxMaxBufferLength:12,autoStartLoad:!1,abrEwmaDefaultEstimate:n});this.cf.loadSource(this.ne.src);this.cf.attachMedia(this.R);var u=function(){this.cf.off(q.Events.MANIFEST_PARSED,
u);if(navigator.connection){var t=this.cf.levels.filter(function(w){return w.bitrate<=n});if(t.length){t.sort(function(w,x){return x.width-w.width});var v=this.cf.levels.indexOf(t[0]);this.cf.startLevel=v}t=this.cf.levels.filter(function(w){return w.bitrate<=r});t.length&&(t.sort(function(w,x){return x.width-w.width}),this.cf.config.minAutoBitrate=t[0].bitrate-1);t=this.cf.levels.filter(function(w){return g.DZa(w.width,w.height)});c.VAa&&(t.sort(function(w,x){return x.width-w.width}),v=this.cf.levels.indexOf(t[0]),
this.cf.startLevel=v);t.length&&t.length<this.cf.levels.length&&(t.sort(function(w,x){return x.width-w.width}),this.cf.autoLevelCapping=this.cf.levels.indexOf(t[0]));this.R.log("SrcSetter","bandwidth: "+n+" lowBandwidth: "+r);this.R.log("SrcSetter","levels: "+this.cf.levels);this.R.log("SrcSetter","startLevel: "+this.cf.levels[this.cf.startLevel]);this.R.log("SrcSetter","minLevel: "+this.cf.levels[this.cf.minAutoLevel])}this.cf.startLoad(0===this.ne.startTime?-1:this.ne.startTime);0!=this.ne.startTime&&
this.cs(this.ne.startTime);this.ne.kn&&this.Tm.set(this.ne.kn);this.aF=this.ne;this.ne=null;this.RW()}.bind(this);this.cf.on(q.Events.MANIFEST_PARSED,u);this.cf.on(q.Events.g_a,function(t,v){v.fatal&&v.type==q.ErrorTypes.l_a&&this.cf.recoverMediaError()}.bind(this))};a.prototype.EDa=function(){this.ne.src?this.Oga(this.ne.src):this.Oga(p.Lwa,"audio/mpeg");this.ne.kn&&this.Tm.set(this.ne.kn);this.R.load();0!=this.ne.startTime&&this.cs(this.ne.startTime);this.aF=this.ne;this.ne=null;this.RW()};a.prototype.DDa=
function(){this.R.srcObject=this.ne.src;this.aF=this.ne;this.ne=null;this.RW()};a.prototype.RW=function(){this.R.log("SrcSetter","src ready");this.trigger(new k(m.Sc))};a.prototype.vpa=function(q){return!!q&&!this.N5(q)&&f.is(q,f.HLS)&&!g.sva};a.prototype.vNa=function(q){return!!q&&!this.N5(q)&&e.Rva(q)};a.prototype.pOa=function(q){q&&!this.R.hasAttribute("crossorigin")?this.R.setAttribute("crossorigin","anonymous"):!q&&this.R.hasAttribute("crossorigin")&&this.R.removeAttribute("crossorigin")};a.prototype.N5=
function(q){return q instanceof MediaStream};a.prototype.cs=function(q){try{this.R.currentTime=q}catch(n){}};a.prototype.Oga=function(q,n){var r=document.createElement("source");n||(n=this.mJa(q));n&&(r.type=n);e.hz(q)||(q=e.Uy(q,"swbypass=true"));r.src=q;this.R.appendChild(r);this.nW.push(r)};a.prototype.rNa=function(){for(;this.nW&&this.nW.length;){var q=this.nW.shift();q.src="";this.R.removeChild(q)}this.R.srcObject=null};a.prototype.mJa=function(q){switch(e.getExtension(q).toLowerCase()){case ".mp3":return"audio/mpeg";
case ".ogg":return"audio/ogg";case ".m4v":case ".mp4":return"video/mp4";case ".webm":return"video/webm";case ".ogv":return"video/ogg";case ".m3u8":return"application/x-mpegURL";case ".mov":return"video/quicktime"}};d.prototype.isEqual=function(q){return this.src==q.src&&this.kn==q.kn};return a});
define("nP","require li ox cw gf v mq e bD lO ec nU mW B et dy".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("v"),g=a("mq"),e=a("e"),c=a("bD"),f=a("lO"),l=a("ec"),p=a("nU"),q=a("mW"),n=a("B"),r=a("et"),u=a("dy"),t=0,v=d.extend(k,function(w,x){k.call(this);this.xe=w;this.nSa=x;this.uj=this.uj.bind(this);this.ir=this.ir.bind(this);this.l7=this.l7.bind(this);this.Qp=this.ZE=null;this.$U=void 0;this.dc=this.fb=null;this.bm="inactive";this.lo=this.Ia=this.Jd=this.kv=this.Tm=null;
this.df=!1;this.Gqa(document.createElement(this.xe));x&&f.wait(this.ir)});v.prototype.Gqa=function(w){this.ora();this.dc=w;for(this.dc.parentNode&&this.dc.parentNode.removeChild(this.dc);this.dc.children.length;)this.dc.removeChild(this.dc.children[0]);this.kPa();this.dc.autoplay=!1;this.dc.autobuffer="autobuffer";this.dc.preload=b.browser()==b.Xh?"metadata":"none";this.dc.setAttribute("preload",b.browser()==b.Xh?"metadata":"none");this.dc.setAttribute("webkit-playsinline","true");this.dc.setAttribute("playsinline",
"true");this.dc.addEventListener("loadedmetadata",this.uj,!0);this.Tm=new n(this.dc);this.Tm.bind(h.Pk,this.ii,this,!0);this.kv=new u(this.dc,this.Tm);this.kv.bind(h.Sc,this.coa,this,!0);this.Jd=new l(this.dc);this.Ia=new q(this.dc);this.Ia.bind(q.D_,this.Ema,this,!0);this.Ia.bind(q.Kj,this.ll,this,!0);this.Ia.bind(q.Z_,this.ki,this,!0);this.lo=new r(this.dc);this.lo.bind(r.Ef,this.Se,this,!0);this.lo.bind(r.Ai,this.Dm,this,!0)};v.prototype.kPa=function(){if(g.bE){var w="["+this.xe+" "+t++ +"]";this.dc.log=
function(x,y){console.log(w+"["+(new Date).toISOString().split("T")[1]+"] "+x+" "+y)}}else this.dc.log=function(){}};v.prototype.ora=function(){this.dc&&(this.dc.removeEventListener("loadedmetadata",this.uj,!0),this.kv&&(this.kv.unbind(h.Sc,this.coa,this,!0),this.kv.clear(),this.kv=null),this.Tm&&(this.Tm.unbind(h.Pk,this.ii,this,!0),this.Tm.clear(),this.Tm=null),this.Jd&&(this.Jd.clear(),this.Jd=null),this.Ia&&(this.Ia.unbind(q.D_,this.Ema,this,!0),this.Ia.unbind(q.Kj,this.ll,this,!0),this.Ia.unbind(q.Z_,
this.ki,this,!0),this.Ia.clear(),this.Ia=null),this.lo&&(this.lo.unbind(r.Ef,this.Se,this,!0),this.lo.unbind(r.Ai,this.Dm,this,!0),this.lo.clear(),this.lo=null),this.dc=null)};v.prototype.clear=function(){this.ora()};v.prototype.QH=function(w,x,y){if(this.Ll()&&this.rD())try{return w.drawImage(this.dc,0,0,x,y),!0}catch(A){}w.fillRect(0,0,x,y);return!1};v.prototype.play=function(w,x,y){this.dc.log("HTMLMediaPlayer","play src: "+x.src+" subtitlesSrc: "+x.kn+" hasAudio: "+x.gz+" gain: "+x.gain);this.fb=
w;this.ZE=null;this.Qp=x.clone();this.$U=y||0;this.jDa()};v.prototype.FY=function(){return"activated"==this.bm};v.prototype.e_=function(){return this.nSa};v.prototype.stop=function(){this.dc.log("HTMLMediaPlayer","stop");this.Ia.stop();this.Qp=null};v.prototype.getState=function(){return this.Ia.getState()};v.prototype.rD=function(){return this.kv.$Ua()?!1:this.Ia.rD()};v.prototype.Cf=function(w){this.Jd.Cf(w);this.df=w;this.fb&&"requested"==this.bm&&(this.df?c.cancel(this.fb):c.request(this.fb))};
v.prototype.cw=function(w){this.Jd.cw(w)};v.prototype.JP=function(w){this.Jd.JP(w)};v.prototype.setLoop=function(w){this.yDa(w)};v.prototype.getCurrentTime=function(){return this.lo.getTime()};v.prototype.setCurrentTime=function(w){return this.lo.setTime(w)};v.prototype.Xi=function(){return this.lo.Xi()};v.prototype.Ll=function(){return this.xe==p.un};v.prototype.getType=function(){return this.xe};v.prototype.rd=function(){return this.dc&&this.Ll()&&this.dc.videoWidth||0};v.prototype.ce=function(){return this.dc&&
this.Ll()&&this.dc.videoHeight||0};v.prototype.MO=function(){return this.Tm.MO()};v.prototype.jDa=function(){this.dc.log("HTMLMediaPlayer","assert can play");"activated"!=this.bm&&this.Qp.gz?"inactive"==this.bm&&(this.dc.log("HTMLMediaPlayer","needs activation"),this.fb&&this.xe==p.un&&this.oJa()?this.yCa():this.fb&&e.hP()?this.ir():this.fb&&this.iDa()):(this.dc.log("HTMLMediaPlayer","can play activationState: "+this.bm+" pending media has audio: "+this.Qp.gz),this.QB())};v.prototype.oJa=function(){var w=
this.Cja();return!w||w.currentSrc&&!w.paused||w.muted?!1:!0};v.prototype.Cja=function(){return this.fb.get("settings").get(TDV.PlayerSettings.ACTIVE_VIDEO_ELEMENT)};v.prototype.yCa=function(){this.dc.log("HTMLMediaPlayer","activate with application parameter");this.Gqa(this.Cja());this.ir()};v.prototype.iDa=function(){this.dc.log("HTMLMediaPlayer","ask for activation");this.bm="requested";c.cea(this.ir);this.fb&&!this.df&&c.request(this.fb)};v.prototype.ir=function(){if("inactive"==this.bm||"requested"==
this.bm)this.dc.log("HTMLMediaPlayer","activate received when state: "+this.bm+" and has media: "+!!this.ZE),this.ZE?setTimeout(function(){f.wait(this.ir)}.bind(this),0):(this.bm="activating",this.kv.set("","",0))};v.prototype.QB=function(){this.dc.log("HTMLMediaPlayer","media can play. Has pending properties: "+!!this.Qp);this.Qp&&this.kv.set(this.Qp.src,this.Qp.kn,this.$U)};v.prototype.coa=function(){"activating"==this.bm?this.VLa():this.Qp&&this.ELa()};v.prototype.VLa=function(){this.dc.log("HTMLMediaPlayer",
"on src ready activating");this.Ia.play()};v.prototype.ki=function(){"activating"==this.bm&&(this.dc.log("HTMLMediaPlayer","on play activating"),this.Ia.stop(),this.bm="activated",this.QB())};v.prototype.ELa=function(){this.dc.log("HTMLMediaPlayer","on pending src ready");this.ZE=this.Qp;this.Qp=null;this.rDa(this.ZE.gz);this.pDa(this.ZE.gain);this.lo.setTime(this.$U);this.$U=void 0;this.Ia.play()};v.prototype.rDa=function(w){this.Jd.MXa(w)};v.prototype.pDa=function(w){this.Jd.JP(w)};v.prototype.yDa=
function(w){w&&!this.dc.hasAttribute("loop")?this.dc.setAttribute("loop",""):!w&&this.dc.hasAttribute("loop")&&this.dc.removeAttribute("loop")};v.prototype.Ema=function(){this.dc.log("HTMLMediaPlayer","on deactivated");c.CYa();f.wait(this.l7);this.fb&&setTimeout(function(){c.request(this.fb)}.bind(this),0)};v.prototype.l7=function(){this.dc.log("HTMLMediaPlayer","on reactivated");this.Ia.play()};v.prototype.ii=function(){this.trigger(h.Pk,this.Tm.MO())};v.prototype.uj=function(){this.trigger(new m(v.JAa))};
v.prototype.Se=function(){this.trigger(new m(v.Ef))};v.prototype.Dm=function(){this.trigger(new m(v.Ai))};v.prototype.ll=function(){this.trigger(new m(v.Kj))};v.Ef="time update";v.Ai="duration update";v.JAa="size update";v.Kj="end";return v});define("dw",["require"],function(){return function(a){this.cue=a;this.text=a.text}});
define("mN",["require"],function(){function a(){this.kn=this.src=void 0;this.gz=!1;this.gain=1}a.prototype.clone=function(){var d=new a;d.src=this.src;d.kn=this.kn;d.gz=this.gz;d.gain=this.gain;return d};return a});
define("bT","require li ed ox kK cw gf lB v md nP nU".split(" "),function(a){function d(t){this.eR=t;this.wa=null;this.IB=(new Date).getTime()}var h=a("li"),m=a("ed"),k=a("ox"),b=a("kK"),g=a("cw"),e=a("gf"),c=a("lB"),f=a("v"),l=a("md"),p=a("nP"),q=a("nU");d.prototype.Wba=function(){return null==this.wa};d.prototype.FY=function(){return this.eR.FY()};d.prototype.e_=function(){return this.eR.e_()};d.prototype.item=function(){return this.wa};d.prototype.QTa=function(){this.wa.gwa();this.wa=null};d.prototype.use=
function(t){this.wa=t;this.wa.gua(this.eR);this.IB=(new Date).getTime()};var n=h.extend(e,function(){e.call(this);this.es=[];for(var t=l.Lua("avs",10),v=l.Lua("avpas",c.QSa()?4:1),w=0;w<t;w++)this.es.push(new d(new p(q.un,w<v)));this.Ie=[];this.A=b.T});n.prototype.mI=function(){return 0<this.uka().length};n.prototype.wZ=function(t){this.Ie=[t].concat(m(this.Ie).without(t));this.M7();u()};n.prototype.appendItem=function(t){this.Ie.push(t);this.M7();u()};n.prototype.zP=function(t){this.Ie=m(this.Ie).without(t);
this.M7()};n.prototype.M7=function(){var t=this.NIa();if(n.Bva())for(;this.es.length<t.length;)this.es.push(new d(new p(q.un,!1)));this.uka().forEach(function(v){0>t.indexOf(v.item())&&v.QTa()});this.yc(0<t.length?b.X:b.T);t.forEach(function(v){if(!this.mIa(v)){var w=this.bIa(v.getType(),v.Jca());w||v.Jca()||this.es.push(w=new d(new p(q.un,!1)));w&&w.use(v)}}.bind(this));this.cIa().forEach(function(v){v.eR.stop()})};n.prototype.NIa=function(){return this.Ie.map(function(t,v){var w={};w.index=v;w.priority=
t.Zua();w.item=t;return w}).sort(function(t,v){return t.priority-v.priority||t.index-v.index}).map(function(t){return t.item})};n.prototype.yc=function(t){this.A!=t&&(this.A=t,this.trigger(new g(this.A==b.T?k.Ff:k.tn)))};n.prototype.bIa=function(t,v){t=this.es.filter(function(w){return w.Wba()});return t.length?(v?(v=t.filter(function(w){return w.FY()}),v.length||(v=t.filter(function(w){return w.e_()}))):(v=t.filter(function(w){return!w.e_()}),v.length||(v=t.filter(function(w){return!w.FY()}))),v.length&&
(t=v),f.browser()==f.Wl?(t.sort(function(w,x){return x.IB-w.IB}),t[Math.min(2,t.length-1)]):t[0]):null};n.prototype.cIa=function(){return this.es.filter(function(t){return t.Wba()})};n.prototype.uka=function(){return this.es.filter(function(t){return!t.Wba()})};n.prototype.mIa=function(t){for(var v=0;v<this.es.length;v++)if(this.es[v].item()==t)return this.es[v];return null};n.G5=null;n.bind=function(){var t=n.ci();t.bind.apply(t,arguments)};n.unbind=function(){var t=n.ci();t.unbind.apply(t,arguments)};
var r=0<=[f.Hz,f.Zs].indexOf(f.cd());n.Bva=function(){return r};n.mI=function(){return n.ci().mI()};n.appendItem=function(t){n.ci().appendItem(t)};n.wZ=function(t){n.ci().wZ(t)};n.zP=function(t){n.ci().zP(t)};n.Tt=function(){null===n.G5&&(n.G5=new n);return n.G5};n.ci=n.Tt;n.Tt();var u=function(){if(0<=[f.Hz,f.Zs].indexOf(f.cd())){var t=document.createElement("video");t.muted=!1;t.setAttribute("loop","");t.src="data:video/mp4;base64, ";
return function(){try{t.pause(),setTimeout(function(){t.play()["catch"](function(){})},0)}catch(v){}}}return function(){}}();return n});
define("F","require li cw gf ox kK nP dw mN nU bT bg lB".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("ox"),b=a("kK"),g=a("nP"),e=a("dw"),c=a("mN"),f=a("nU"),l=a("bT"),p=a("bg"),q=a("lB"),n=d.extend(m,function(r,u,t){m.call(this);this.fb=r;this.v=u;this.Ur=t;this.m=null;this.kN();this.iU=this.iU.bind(this);this.v.bind(k.G("gain"),this.bG,this,!0);this.v.bind(k.G("mp3Url"),this.Fm,this,!0);this.v.bind(k.G("oggUrl"),this.Fm,this,!0);this.A=b.T;this.el=!1;this.hx=this.qb=0;this.df=!1;
this.sq=1;this.mK=!1;this.nF=1;this.od=null;this.jr=[]});n.prototype.Ib=function(){return this.fb};n.prototype.Id=function(r){this.A==r||r==b.Db&&this.A!=b.X||(this.A=r,this.A==b.X?(this.vEa(),l.wZ(this)):this.wPa(),this.p$())};n.prototype.wPa=function(){this.mK||(this.mK=!0,this.nja=this.v.get("fadeOutTime"),0==this.nja?this.gra():this.iU(0))};n.prototype.iU=function(r){this.od&&0!=this.nF&&this.mK&&!this.$Ja()?(this.nF=Math.max(0,this.nF-r/this.nja),this.dR(),p.requestFrame(this.iU)):this.gra()};
n.prototype.vEa=function(){this.mK=!1;this.nF=1;this.dR()};n.prototype.gra=function(){this.mK=!1;this.nF=1;this.od&&(l.zP(this),this.A==b.T&&this.l9())};n.prototype.getState=function(){return this.A};n.prototype.Xi=function(){return this.qb};n.prototype.setCurrentTime=function(r){this.hx=r;this.od&&this.od.play(this.fb,this.m,this.hx)};n.prototype.getCurrentTime=function(){return this.hx};n.prototype.cw=function(r){this.sq=r;this.dR()};n.prototype.dR=function(){this.od&&this.od.cw(this.sq*this.nF)};
n.prototype.Cf=function(r){this.df=r;this.od&&this.od.Cf(r)};n.prototype.setLoop=function(r){this.el=r;this.od&&this.od.setLoop(r)};n.prototype.Jca=function(){return!this.df};n.prototype.getType=function(){return f.jAa};n.prototype.Zua=function(){return this.Ur};n.prototype.gua=function(r){this.od=r;setTimeout(function(){this.od&&this.od.bind(g.Kj,this.GL,this,!0)}.bind(this),0);this.kN();this.od.bind(g.Ef,this.Se,this,!0);this.od.bind(g.Ai,this.Dm,this,!0);this.od.bind(k.Pk,this.ii,this,!0);this.od.Cf(this.df);
this.dR();this.od.setLoop(this.el);this.od.play(this.fb,this.m,this.hx)};n.prototype.gwa=function(){this.hx=this.od.getCurrentTime();this.od.unbind(g.Kj,this.GL,this,!0);this.od.unbind(g.Ef,this.Se,this,!0);this.od.unbind(g.Ai,this.Dm,this,!0);this.od.unbind(k.Pk,this.ii,this,!0);this.od=null};n.prototype.clear=function(){this.Id(b.T);this.v&&(this.v.unbind(k.G("gain"),this.bG,this,!0),this.v.unbind(k.G("mp3Url"),this.Fm,this,!0),this.v.unbind(k.G("oggUrl"),this.Fm,this,!0),this.v=null)};n.prototype.Fm=
function(){this.lC&&clearTimeout(this.lC);this.lC=setTimeout(function(){this.lC=null;this.od&&(this.m.src=this.yx(this.v),this.od.play(this.fb,this.m,this.hx))}.bind(this),10)};n.prototype.bG=function(){if(this.od){var r=this.v.get("gain");this.m.gain!=r&&(this.m.gain=r,this.od.JP(this.m.gain))}};n.prototype.kN=function(){this.m=new c;this.m.src=this.yx(this.v);this.m.gz=!0;this.m.gain=this.v.get("gain")};n.prototype.yx=function(r){var u=r.get("mp3Url");return u&&q.Hva?u:(r=r.get("oggUrl"))&&q.Iva?
r:u||r};n.prototype.Dm=function(){this.qb=this.od.Xi();this.l$()};n.prototype.Se=function(){this.qb!=this.od.Xi()&&this.Dm();this.hx=this.od.getCurrentTime();this.SN()};n.prototype.ii=function(){this.jr=this.od.MO().map(function(r){for(var u=null,t=0;t<this.jr.length&&!u;t++)this.jr[t].cue==r&&(u=this.jr[t]);u||(u=new e(r));return u}.bind(this));this.trigger(new h(k.Pk))};n.prototype.GL=function(){this.Id(b.T);this.m$()};n.prototype.$Ja=function(){return this.od&&this.od.getCurrentTime()&&this.od.getCurrentTime()==
this.od.Xi()};n.prototype.l9=function(){this.hx=0;this.SN()};n.prototype.SN=function(){this.trigger(new h(n.Ef))};n.prototype.l$=function(){this.trigger(new h(n.Ai))};n.prototype.m$=function(){this.trigger(new h(k.sb))};n.prototype.p$=function(){this.trigger(new h(k.le))};n.Ef="time update";n.Ai="duration update";return n});
define("iW","require ox hP kK lJ cw nq F".split(" "),function(a){var d=a("ox"),h=a("hP"),m=a("kK"),k=a("lJ"),b=a("cw"),g=a("nq"),e=a("F");a=g.define("Audio",k,function(c){k.call(this);this.Ur=c||h.TBa;this.Zo=void 0});a.prototype.hD=function(){if(void 0==this.Zo){var c=this.get("audio");c?(this.Zo=new e(this.get("application"),c,this.Ur),c=function(){this.Zo.setLoop(this.get("loop",!1))},c.call(this),this.bind(d.G("loop"),c,this),c=function(){this.Zo.Cf(this.get("application").get("mute",!1))},c.call(this),
this.get("application").bind(d.G("mute"),c,this,!0),c=function(){this.set("state",this.Zo.getState())},c.call(this),this.Zo.bind(d.le,c,this,!0),this.Zo.bind(d.sb,this.$Ka,this,!0)):this.Zo=null}return this.Zo};a.prototype.set=function(c,f){if("state"==c){var l=this.get("state")||m.T,p=this.Zo&&this.Zo.getState()||m.T;p!=l&&(l==m.T&&p==m.X&&this.trigger(d.tn),this.trigger(new b(d.le,{oldState:l,state:p})))}k.prototype.set.call(this,c,f)};a.prototype.Js=function(){return[]};a.prototype.$Ka=function(){this.trigger(new b(d.sb))};
a.prototype.play=a.prototype.mk=function(){var c=this.hD();c&&c.Id(m.X)};a.prototype.stop=a.prototype.ho=function(){var c=this.hD();c&&c.Id(m.T)};a.prototype.pause=a.prototype.Op=function(){var c=this.hD();c&&c.Id(m.Db)};return a});define("iK",["require","nq","iW"],function(a){var d=a("nq"),h=a("iW");return d.define("MediaAudio",h,function(m){h.call(this,m)})});
define("oV",["require","hP","nq","iK"],function(a){var d=a("hP"),h=a("nq"),m=a("iK");return h.define("PanoramaAudio",m,function(){m.call(this,d.tBa)})});define("hf",["require","nq","oV"],function(a){var d=a("nq"),h=a("oV");return d.define("DirectionalPanoramaAudio",h,function(){h.call(this)})});define("fh",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("Model3DCameraMovement",d,function(){d.call(this)})});
define("ia",["require","nq","fh"],function(a){var d=a("nq"),h=a("fh");return d.define("DistanceModel3DCameraMovement",h,function(){h.call(this)})});define("I",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("DistancePanoramaCameraMovement",d,function(){d.call(this)})});define("gJ",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("DistanceRotationalCameraMovement",d,function(){d.call(this)})});
define("y",["require","exports","ox","li"],function(a,d,h,m){return function(){function k(b,g,e,c,f){this.sp=null;this.L6=b;this.bf=h.G(this.L6);this.X4=g;this.xa=e||window;this.y5=c;this.cma=f;this.K5=!1}k.prototype.Az=function(){this.K8(null)};k.prototype.K8=function(b){var g=this;m.toArray(this.sp).forEach(function(e){e&&e.unbind(this.bf,g.Lha,g)}.bind(this));this.sp=b;m.toArray(this.sp).forEach(function(e){e&&e.bind(this.bf,this.Lha,g,g.y5)}.bind(this));this.wpa()};k.prototype.wpa=function(){this.cma&&
this.cma.K8(this.hIa())};k.prototype.hIa=function(){return null==this.sp?null:Array.isArray(this.sp)?this.sp.map(function(b){return b?b.get(this.L6):null}.bind(this)):this.sp.get(this.L6)};k.prototype.Lha=function(b){if(!this.K5){try{this.K5=!0,this.wpa(),this.X4.call(this.xa,b)}catch(g){m.kP("ChangeWatcher._changeHandler",g)}this.K5=!1}};k.Vs=function(b,g,e,c,f){void 0===f&&(f=!1);m.isString(g)&&(g=g.split("."));return 0<g.length?(g=new k(g[0],e,c,f,k.Vs(null,g.slice(1),e,c,f)),g.K8(b),g):null};
return k}()});
define("oP",["require","jquery.mod","li","ox","e"],function(a){var d=a("jquery.mod"),h=a("li"),m=a("ox"),k=a("e"),b=h.extend(k,function(){k.call(this);this.we("DropDownArrow");this.O=null;this.Rt=!0;this.bind(m.ic,this.KGa,this)});b.prototype.nb=function(){k.prototype.nb.call(this);this.h("color","#000000");this.h("direction",b.v_)};b.prototype.KGa=function(){this.Rt=!0;this.ke()};b.prototype.zb=function(){k.prototype.zb.call(this);this.O||(this.O=d("<canvas/>"),this.O.css({position:"absolute",left:0,
top:0}),this.Ab().append(this.O))};b.prototype.Ua=function(){var g=!1;this.I("color")&&(g=!0,this.P("color"));this.I("direction")&&(g=!0,this.P("direction"));this.Rt&&(g=!0,this.Rt=!1);if(g){g=this.kf();var e=this.jf(),c=this.B("color"),f=this.B("direction"),l=[.5*g,0,g];f=f==b.v_?[e,0,0]:[0,e,e];var p=this.O.get(0);p.width=g;p.height=e;p=p.getContext("2d");p.clearRect(0,0,g,e);p.beginPath();p.moveTo(l[0],f[0]);p.lineTo(l[1],f[1]);p.lineTo(l[2],f[2]);p.fillStyle=c;p.fill()}k.prototype.Ua.call(this)};
b.v_="down";b.e_a="up";return b});
define("hw","require li cw mL bc ox d gG nS oP iM".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("mL"),k=a("bc"),b=a("ox"),g=a("d"),e=a("gG"),c=a("nS"),f=a("oP"),l=a("iM");a=d.extend(c,function(){c.call(this);this.we("DropDownButton");this.Iw=this.Ta=null;this.c6=!0;this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("cursor",k.Ze);this.bind(b.pa,this.M3,this)});a.prototype.nb=function(){c.prototype.nb.call(this);
this.h("arrowColor","#000000");this.h("arrowBeforeLabel");this.h("arrowWidth",9);this.h("arrowHeight",5);this.h("arrowGap",5);this.h("shadow",!1);this.h("layout",g.Cg);this.h("verticalAlign",m.ee);this.h("borderRadius",5);this.h("borderColor","#AAAAAA");this.h("borderSize",1);this.h("backgroundColor",["#FAFAFA","#E5E5E5"]);this.h("backgroundColorRatios",[0,1]);this.h("backgroundColorDirection","vertical");this.h("paddingLeft",5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",
5);this.h("fontFamily");this.h("fontSize");this.h("fontColor","#555555");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.u("rollOverBorderColor",e.U,"borderColor");this.u("rollOverArrowColor",e.U,"arrowColor");this.u("rollOverBackgroundColor",e.U,"backgroundColor");this.u("rollOverBackgroundColorRatios",e.U,"backgroundColorRatios");
this.u("rollOverShadow",e.U,"shadow");this.u("pressedBorderColor",e.ob,"borderColor");this.u("pressedArrowColor",e.ob,"arrowColor");this.u("pressedBackgroundColor",e.ob,"backgroundColor");this.u("pressedBackgroundColorRatios",e.ob,"backgroundColorRatios");this.u("pressedShadow",e.ob,"shadow");this.u("pressedRollOverBorderColor",e.$b,"borderColor");this.u("pressedRollOverArrowColor",e.$b,"arrowColor");this.u("pressedRollOverBackgroundColor",e.$b,"backgroundColor");this.u("pressedRollOverBackgroundColorRatios",
e.$b,"backgroundColorRatios");this.u("pressedRollOverShadow",e.$b,"shadow");this.u("pressedBorderColor",e.ba,"borderColor");this.u("pressedArrowColor",e.ba,"arrowColor");this.u("pressedBackgroundColor",e.ba,"backgroundColor");this.u("pressedBackgroundColorRatios",e.ba,"backgroundColorRatios");this.u("pressedShadow",e.ba,"shadow")};a.prototype.set=function(p,q){"label"==p&&this.get("label")!=q&&(this.c6=!0,this.ke());c.prototype.set.call(this,p,q)};a.prototype.zb=function(){c.prototype.zb.call(this);
this.Ta||(this.Ta=new l,this.Ta.set("width","100%"),this.Va(this.Ta));this.Iw||(this.Iw=new f,this.Iw.set("direction",f.v_),this.Va(this.Iw))};a.prototype.M3=function(){this.open();this.trigger(new h(b.OPEN))};a.prototype.open=function(){this.unbind(b.pa,this.M3,this);this.gN(!0)};a.prototype.close=function(){this.bind(b.pa,this.M3,this);this.gN(!1)};a.prototype.Ua=function(){if(this.c6){var p=this.get("label");this.Ta.set("text",p);this.c6=!1}this.kc("horizontalAlign fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "),
{},[this.Ta],!0,!0);this.I("arrowGap")&&(this.set("gap",this.B("arrowGap")),this.P("arrowGap"));this.I("arrowColor")&&(this.Iw.set("color",this.B("arrowColor")),this.P("arrowColor"));this.I("arrowBeforeLabel")&&(1==this.B("arrowBeforeLabel")?this.cn(this.Iw,0):this.cn(this.Ta,0),this.P("arrowBeforeLabel"));this.I("arrowWidth")&&(this.Iw.set("width",this.B("arrowWidth")),this.P("arrowWidth"));this.I("arrowHeight")&&(this.Iw.set("height",this.B("arrowHeight")),this.P("arrowHeight"));c.prototype.Ua.call(this)};
return a});define("hl",["require","ed","li","nS","d"],function(a){var d=a("ed"),h=a("li"),m=a("nS");a=a("d");var k=h.extend(m,function(){m.call(this)});k.uc={layout:a.sh};d.defaults(k.uc,m.uc);k.prototype.nb=function(){this.Dn(k.uc)};return k});
define("lp","require li cw mL bc hD ox nS hl iM".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("mL"),k=a("bc"),b=a("hD"),g=a("ox"),e=a("nS"),c=a("hl"),f=a("iM");a=d.extend(e,function(){e.call(this);this.we("DropDownPopup");this.Zd=null;this.mR=!1;this.wb=null;this.aL=[];this.Iy=!0});a.prototype.open=function(l){this.Zd=l;this.mR=!0;this.Ib().cn(this,this.Ib().Kb().length-1);this.set("overIndex",-1);this.set("visible",!0);this.bind(g.vb,this.Nd,this);this.Ib().bind(g.Zb,this.Ir,this);this.Ib().bind(g.ic,
this.ec,this)};a.prototype.close=function(){this.Zd=null;this.mR=!0;this.set("visible",!1);this.wb.set("overflow",b.qE);this.wb.set("contentOpaque",!0);this.unbind(g.vb,this.Nd,this);this.Ib().unbind(g.Zb,this.Ir,this);this.Ib().bind(g.ic,this.ec,this)};a.prototype.zb=function(){e.prototype.zb.call(this);this.wb||(this.wb=new c,this.wb.set("overflow",b.qE),this.wb.bind(g.ic,this.ec,this),this.wb.bind(g.Vo,this.yy,this),this.Va(this.wb))};a.prototype.ec=function(){this.qsa()};a.prototype.Nd=function(){this.T8=
!1};a.prototype.yy=function(){this.T8=!0};a.prototype.Ir=function(){-1!=this.get("overIndex")||this.T8&&this.Jn||this.trigger(new h(g.aE));this.T8=!1};a.prototype.nLa=function(l){this.set("overIndex",this.I4(l.source))};a.prototype.oLa=function(l){l=this.I4(l.source);this.get("overIndex")==l&&this.set("overIndex",-1)};a.prototype.mLa=function(l){l=this.I4(l.source);this.set("overIndex",l);this.set("selectedIndex",l);this.trigger(new h(g.sn))};a.prototype.I4=function(l){for(var p=0;p<this.aL.length;p++)if(this.aL[p]==
l)return p;return-1};a.prototype.nb=function(){e.prototype.nb.call(this);this.h("visible",!1);this.h("width","100%");this.h("height","100%");this.h("includeInLayout",!1);this.h("items",[]);this.h("selectedIndex",-1);this.h("overIndex",-1);this.h("popUpGap",0);this.h("popUpBackgroundColor");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");this.h("selectedPopUpBackgroundColor");this.h("popUpFontColor");this.h("rollOverPopUpFontColor");this.h("selectedPopUpFontColor");this.h("popUpShadow",
!0);this.h("popUpShadowBlurRadius");this.h("popUpShadowColor");this.h("popUpShadowHorizontalLength");this.h("popUpShadowOpacity");this.h("popUpShadowSpread");this.h("popUpShadowVerticalLength");this.h("fontFamily");this.h("fontSize");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.h("buttonWidth")};a.prototype.Ua=function(){var l=
!1,p=!1;if(this.I("items")){l=this.B("items")||[];for(var q=this.aL.length;q<l.length;q++){var n=new f;n.ja({width:"100%",paddingLeft:5,paddingRight:5,paddingBottom:2,paddingTop:2,cursor:k.Ze});n.bind(g.eA,this.nLa,this);n.bind(g.Ro,this.oLa,this);n.bind(g.pa,this.mLa,this);this.aL.push(n)}n=this.wb.Kb();for(q=l.length;q<n.length;q++)this.wb.removeChild(n[q]);for(q=n.length;q<l.length;q++)this.wb.Va(this.aL[q]);for(q=0;q<l.length;q++)n[q].set("text",l[q]);this.P("items");p=l=!0}this.I("selectedIndex")&&
(this.P("selectedIndex"),l=!0);var r="horizontalAlign popUpBackgroundOpacity popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop fontFamily fontSize fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");for(q=0;q<r.length;q++)n=r[q],this.I(n)&&(this.P(n),p=!0);if(p)for(r={fontFamily:this.B("fontFamily"),fontSize:this.B("fontSize"),fontWeight:this.B("fontWeight"),fontStyle:this.B("fontStyle"),
horizontalAlign:this.B("horizontalAlign"),textDecoration:this.B("textDecoration"),textShadowColor:this.B("textShadowColor"),textShadowHorizontalLength:this.B("textShadowHorizontalLength"),textShadowVerticalLength:this.B("textShadowVerticalLength"),textShadowBlurRadius:this.B("textShadowBlurRadius"),textShadowOpacity:this.B("textShadowOpacity"),paddingBottom:this.B("popUpPaddingBottom"),paddingLeft:this.B("popUpPaddingLeft"),paddingRight:this.B("popUpPaddingRight"),paddingTop:this.B("popUpPaddingTop"),
backgroundOpacity:this.B("popUpBackgroundOpacity")},n=this.wb.Kb(),q=0;q<n.length;q++)n[q].ja(r);r="selectedIndex overIndex popUpBackgroundColor rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor".split(" ");for(q=0;q<r.length;q++)n=r[q],this.I(n)&&(this.P(n),l=!0);if(l){l=this.B("popUpBackgroundColor");r=this.B("rollOverPopUpBackgroundColor")||l;p=this.B("selectedPopUpBackgroundColor")||l;var u=this.B("popUpFontColor"),t=this.B("rollOverPopUpFontColor")||
u,v=this.B("selectedPopUpFontColor")||u,w=this.B("selectedIndex"),x=this.B("overIndex");n=this.wb.Kb();for(q=0;q<n.length;q++)q==w?n[q].ja({fontColor:v,backgroundColor:p}):q==x?n[q].ja({fontColor:t,backgroundColor:r}):n[q].ja({fontColor:u,backgroundColor:l})}if(this.mR||this.I("popUpGap")||this.I("buttonWidth"))this.Zd&&this.wb.set("minWidth",this.Zd.Wa()),this.P("popUpGap"),this.qsa(),this.mR=!1;this.kc("popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "),
{popUpShadow:"shadow",popUpShadowBlurRadius:"shadowBlurRadius",popUpShadowColor:"shadowColor",popUpShadowHorizontalLength:"shadowHorizontalLength",popUpShadowOpacity:"shadowOpacity",popUpShadowSpread:"shadowSpread",popUpShadowVerticalLength:"shadowVerticalLength"},[this.wb],!0,!0);this.Yra();e.prototype.Ua.call(this)};a.prototype.qsa=function(){if(this.Zd){var l=this.Ib(),p=this.Zd.DUa(l),q=this.Zd.Wa(),n=this.Zd.xb(),r=this.B("popUpGap"),u=this.wb.Fb,t=this.wb.Sb,v=l.xb()-(p.top+n+r)-5,w=p.top-5-
r,x=this.B("horizontalAlign");t<=v?(this.Iy=!0,this.wb.set("top",p.top+n+r),this.wb.set("maxHeight",void 0),this.wb.set("overflow",b.qE)):t<=w?(this.Iy=!1,this.wb.set("top",p.top-t-r),this.wb.set("maxHeight",void 0),this.wb.set("overflow",b.qE)):(v>=w?(this.Iy=!0,this.wb.set("top",p.top+n+r),this.wb.set("maxHeight",v)):(this.Iy=!1,this.wb.set("top",p.top-w+r),this.wb.set("maxHeight",w)),this.wb.set("overflow",b.Vo));n=x==m.Ae?p.left+Math.round(.5*(q-u)):x==m.hb?p.left+q-u:p.left;0>n?n=p.left:p.left+
u>l.Wa()&&(n=p.left+q-u);this.wb.set("left",n);this.Yra()}};a.prototype.Yra=function(){var l=this.B("popUpBorderRadius");this.wb.ja({borderTopRadius:this.Iy?0:l,borderBottomRadius:this.Iy?l:0});for(var p=this.wb.Kb(),q=0;q<p.length;q++){var n=0==q,r=q==p.length-1;p[q].ja({borderTopRadius:!this.Iy&&n?l:0,borderBottomRadius:this.Iy&&r?l:0})}};return a});
define("oH","require li cw ox nS hw lp".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("ox"),k=a("nS"),b=a("hw"),g=a("lp");a=d.extend(k,function(){k.call(this);this.we("DropDown");this.QK=!1;this.Zd=this.vj=null;this.Nqa=!0;this.hf=-1;this.oo=!1});a.prototype.nb=function(){k.prototype.nb.call(this);this.h("prompt","");this.h("label","");this.h("items",[]);this.h("selectedIndex",-1);this.h("arrowBeforeLabel");this.h("arrowWidth",9);this.h("arrowHeight",5);this.h("arrowGap",5);this.h("borderRadius",
5);this.h("borderSize",1);this.h("backgroundColorDirection","vertical");this.h("horizontalAlign","left");this.h("paddingLeft",5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",5);this.h("fontFamily");this.h("fontSize");this.h("fontColor","#555555");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.h("popUpGap",
0);this.h("popUpBorderRadius");this.h("popUpPaddingBottom",2);this.h("popUpPaddingLeft",5);this.h("popUpPaddingRight",5);this.h("popUpPaddingTop",2);this.h("popUpShadow",!0);this.h("popUpShadowBlurRadius");this.h("popUpShadowColor");this.h("popUpShadowHorizontalLength");this.h("popUpShadowOpacity");this.h("popUpShadowSpread");this.h("popUpShadowVerticalLength");this.h("popUpBackgroundColor","#FFFFFF");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");this.h("selectedPopUpBackgroundColor");
this.h("popUpFontColor","#555555");this.h("rollOverPopUpFontColor");this.h("selectedPopUpFontColor");this.h("borderColor","#AAAAAA");this.h("arrowColor","#000000");this.h("backgroundColor",["#FAFAFA","#E5E5E5"]);this.h("backgroundColorRatios",[0,1]);this.h("shadow",!1);this.h("rollOverBorderColor");this.h("rollOverArrowColor");this.h("rollOverBackgroundColor");this.h("rollOverBackgroundColorRatios");this.h("rollOverShadow");this.h("pressedBorderColor");this.h("pressedArrowColor");this.h("pressedBackgroundColor");
this.h("pressedBackgroundColorRatios");this.h("pressedShadow");this.h("pressedRollOverBorderColor");this.h("pressedRollOverArrowColor");this.h("pressedRollOverBackgroundColor");this.h("pressedRollOverBackgroundColorRatios");this.h("pressedRollOverShadow")};a.prototype.zb=function(){k.prototype.zb.call(this);this.Zd||(this.Zd=new b,this.Zd.bind(m.ic,this.eLa,this),this.Zd.bind(m.OPEN,this.CLa,this),this.Zd.bind(m.aE,this.T6,this),this.Zd.bind(m.sd,this.dLa,this),this.Zd.set("width","100%"),this.Zd.set("height",
"100%"),this.Va(this.Zd));this.vj||(this.vj=new g,this.vj.bind(m.aE,this.T6,this),this.vj.bind(m.sn,this.RLa,this),this.Ib().Va(this.vj))};a.prototype.eLa=function(){this.Nqa=!0;this.ke()};a.prototype.CLa=function(){this.Zd.open();this.vj.set("selectedIndex",this.get("selectedIndex"));this.vj.open(this.Zd)};a.prototype.T6=function(){this.Zd.close();this.vj.close()};a.prototype.dLa=function(){this.Zd.close();this.vj.close()};a.prototype.RLa=function(){this.set("selectedIndex",this.vj.get("selectedIndex"));
this.T6();this.oo=!0};a.prototype.Ua=function(){var e=!1;if(this.I("prompt")||this.I("label"))e=!0,this.P("label"),this.P("prompt");if(this.I("selectedIndex")||this.I("items")){e=!0;var c=this.B("selectedIndex"),f=this.B("items");0<=c&&c>=f.length&&(c=-1);this.set("selectedIndex",c);this.vj.set("items",this.B("items"));this.vj.set("selectedIndex",this.B("selectedIndex"));this.P("items");this.P("selectedIndex");this.oo&&(this.oo=!1,this.trigger(new h(m.ta)))}e&&(e=this.B("label"),e||(c=this.B("selectedIndex"),
e=0>c?this.B("prompt"):this.B("items")[c]),this.Zd.set("label",e));this.Nqa&&(this.vj.set("minWidth",this.Zd.Wa()),this.vj.set("buttonWidth",this.Zd.Wa()));this.kc("fontFamily fontSize fontColor fontWeight fontStyle textDecoration horizontalAlign textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "),{},[this.Zd,this.vj],!0,!0);this.kc("popUpBorderRadius popUpGap popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop popUpBackgroundColor popUpBackgroundOpacity rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "),
{},[this.vj],!0,!0);this.kc("arrowBeforeLabel arrowWidth arrowHeight arrowColor rollOverArrowColor pressedArrowColor pressedRollOverArrowColor arrowGap shadow shadowBlurRadius shadowColor shadowHorizontalLength shadowOpacity shadowSpread shadowVerticalLength borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize borderColor borderLeftColor borderTopColor borderRightColor borderBottomColor rollOverBorderColor pressedBorderColor pressedRollOverBorderColor backgroundColor backgroundColorRatios backgroundColorDirection backgroundOpacity rollOverBackgroundColor rollOverBackgroundColorRatios rollOverShadow pressedBackgroundColor pressedBackgroundColorRatios pressedShadow pressedRollOverBackgroundColor pressedRollOverBackgroundColorRatios pressedRollOverShadow paddingLeft paddingTop paddingRight paddingBottom".split(" "),
{},[this.Zd],!0,!0);k.prototype.Ua.call(this)};return a});
define("fC",["require","y","ox","nq","oH"],function(a){var d=a("y"),h=a("ox"),m=a("nq"),k=a("oH");a=m.define("DropDown",k,function(){k.call(this);this.md=null;this.nla=[];this.bind(h.ta,this.hLa,this)});a.prototype.set=function(b,g){if("playList"==b){if(this.md)for(this.md.unbind("change",this.Mu,this);this.nla.length;)this.nla.shift().Az();(this.md=g)?(d.Vs(this.md,"items.label",this.VW,this),d.Vs(this.md,"items.media.label",this.VW,this),this.VW(),this.md.bind("change",this.Mu,this),this.Mu()):
this.VW()}k.prototype.set.call(this,b,g)};a.prototype.VW=function(){this.md?this.set("items",this.md.get("items").map(function(b){return b.get("label")||b.get("media")&&b.get("media").get("label")})):this.set("items",[])};a.prototype.Mu=function(){this.set("selectedIndex",this.md.get("selectedIndex"))};a.prototype.hLa=function(){this.md&&this.md.set("selectedIndex",this.get("selectedIndex"))};return a});
define("dl",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("DustPanoramaOverlay",d,function(){d.call(this)});a.prototype.get=function(h,m){"startState"==h&&void 0===m&&(m=this.get("initialState"));return d.prototype.get.call(this,h,m)};return a});
define("bA",["require","nq","ep"],function(a){var d=a("nq"),h=a("ep");a=d.define("Effect",h,function(){h.call(this)});a.prototype.cancel=function(){return h.prototype.cancel.apply(this,arguments)};a.prototype.getPosition=function(){return h.prototype.Jk.apply(this,arguments)};a.prototype.play=function(){return h.prototype.play.apply(this,arguments)};a.prototype.reverse=function(){return h.prototype.reverse.apply(this,arguments)};a.prototype.stop=function(){return h.prototype.stop.apply(this,arguments)};
return a});define("jG",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("ExternalModel3DObject",h,function(){h.call(this)})});
define("bn",["require","li","ep"],function(a){var d=a("li"),h=a("ep");a=d.extend(h,function(){h.call(this);this.s1=this.p1=null});a.prototype.XG=function(){h.prototype.XG.call(this);this.p1=[];this.s1=[];this.qx(function(m){this.p1.push(this.get("alphaFrom",m.Ik()));this.s1.push(this.get("alphaTo",m.Ik()))});this.yV()};a.prototype.hv=function(){h.prototype.hv.call(this);this.yV()};a.prototype.yV=function(){this.qx(function(m,k){var b=this.p1[k];k=b+(this.s1[k]-b)*this.Jk();!(0<m.Ik()&&m.Hb)&&0<k?
(m.$i(0),m.rf(!0),m.$i(k)):0==k?(m.rf(!1),m.$i(1)):m.$i(k)})};a.prototype.VG=function(){this.yV();h.prototype.VG.call(this)};a.prototype.WG=function(){this.yV();h.prototype.WG.call(this)};return a});define("ni",["require","li","bn"],function(a){var d=a("li"),h=a("bn");return d.extend(h,function(){h.call(this);this.set("alphaFrom",0);this.set("alphaTo",1)})});define("nu",["require","nq","ni"],function(a){var d=a("nq"),h=a("ni");return d.define("FadeInEffect",h,function(){h.call(this)})});
define("nB",["require","li","bn"],function(a){var d=a("li"),h=a("bn");return d.extend(h,function(){h.call(this);this.set("alphaFrom",1);this.set("alphaTo",0)})});define("jA",["require","nq","nB"],function(a){var d=a("nq"),h=a("nB");return d.define("FadeOutEffect",h,function(){h.call(this)})});
define("fS","require lJ ox kK nq ll".split(" "),function(a){var d=a("lJ"),h=a("ox"),m=a("kK"),k=a("nq"),b=a("ll");a=k.define("Model3DCamera",d,function(){d.call(this);this.set("userInteracting",!1);this.set("moving",!1);this.set("mouseDisabled",!1);this.set("doubleClickDisabled",!1);this.E3=!1;"distance fov yaw pitch x y z".split(" ").forEach(function(g){this.bind(h.G(g),this.KLa,this,!0)}.bind(this))});a.prototype.tZa=function(){this.kra={x:this.get("x"),y:this.get("y"),z:this.get("z"),yaw:this.get("yaw"),
pitch:this.get("pitch"),distance:this.get("distance"),fov:this.get("fov")}};a.prototype.aPa=function(g){for(var e in g)this.kra[e]=g[e]};a.prototype.EXa=function(g){this.E3!==g&&(this.E3=g,this.lRa())};a.prototype.lRa=function(){this.set("doubleClickDisabled",this.E3)};a.prototype.KLa=function(){this.Aoa||(this.Aoa=!0,b.qz(function(){this.Aoa=!1;this.HQa()}.bind(this)))};a.prototype.HQa=function(){this.trigger(h.qt)};a.o_a=100;a.prototype.setStoredPosition=function(g){this.aPa(g)};a.prototype.play=
function(){this.set("state",m.X)};a.prototype.pause=function(){this.set("state",m.Db)};a.prototype.stop=function(){this.set("state",m.T)};return a});define("kB",["require","nq","fS"],function(a){var d=a("nq"),h=a("fS");return d.define("FirstPersonModel3DCamera",h,function(){h.call(this);this.set("distance",0)})});
define("cJ",["require","lJ","ox","nq","ep"],function(a){var d=a("lJ"),h=a("ox"),m=a("nq"),k=a("ep");a=m.define("HotspotPanoramaOverlay",d,function(){d.call(this);this.bind(h.hd,this.jk,this,!0);this.bind(h.sd,this.ek,this,!0);this.$h=[];this.Hb=!1});a.prototype.set=function(b,g){switch(b){case "enabledInCardboard":this.set("enabledInVR",g);break;case "effect":case "rollOverEffect":case "areas":this.bNa(),this.$h=[]}d.prototype.set.call(this,b,g);switch(b){case "enabledInCardboard":this.set("enabledInVR",
g);break;case "effect":case "rollOverEffect":case "areas":this.FCa()}};a.prototype.FCa=function(){this.get("effect")&&this.get("effect").bind(k.et,this.Gma,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").bind(k.et,this.Rna,this,!0);this.get("areas",[]).forEach(function(b){b.bind(h.Tc,this.vma,this,!0);b.bind(h.ac,this.uma,this,!0)}.bind(this))};a.prototype.bNa=function(){this.get("effect")&&this.get("effect").unbind(k.et,this.Gma,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").unbind(k.et,
this.Rna,this,!0);this.get("areas",[]).forEach(function(b){b.unbind(h.Tc,this.vma,this,!0);b.unbind(h.ac,this.uma,this,!0)}.bind(this))};a.prototype.vma=function(b){0>this.$h.indexOf(b.source)&&(this.$h.push(b.source),1==this.$h.length&&this.kG())};a.prototype.uma=function(b){b=this.$h.indexOf(b.source);0<=b&&(this.$h.splice(b,1),0==this.$h.length&&this.Gm())};a.prototype.kG=function(){var b=this.get("effect"),g=this.get("rollOverEffect");g&&(b&&0<b.Jk()?b.reverse():g.play())};a.prototype.Gm=function(){var b=
this.get("rollOverEffect");if(b){var g=this.get("effect");0<b.Jk()?b.reverse():g&&g.get("loop")&&g.play()}};a.prototype.Gma=function(){if(0<this.$h.length){var b=this.get("rollOverEffect");b&&(this.get("effect").stop(),b.play())}};a.prototype.Rna=function(){if(0==this.$h.length){this.get("rollOverEffect").stop();var b=this.get("effect");b&&b.get("loop")&&b.play()}};a.prototype.jk=function(){var b=this.get("effect");b&&b.play()};a.prototype.ek=function(){var b=this.get("effect");b&&b.stop();(b=this.get("rollOverEffect"))&&
b.stop()};return a});define("mt",["require","nq","cJ"],function(a){var d=a("nq"),h=a("cJ");return d.define("FlatHotspotPanoramaOverlay",h,function(){h.call(this)})});define("u",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("HotspotPanoramaOverlayArea",d,function(){d.call(this);this.set("displayTooltipInTouchScreens",!0)})});define("fw",["require","nq","u"],function(a){var d=a("nq"),h=a("u");return d.define("FlatHotspotPanoramaOverlayArea",h,function(){h.call(this)})});
define("hN",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("QuadPanoramaOverlayPlaybackPosition",d,function(h,m,k){d.call(this);void 0!==h&&this.set("vertices",h);this.set("opacity",void 0!==m?m:1);void 0!==k&&this.set("timestamp",k)})});
define("dY",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("FlatPanoramaOverlayPlaybackPosition",d,function(h,m,k,b,g){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("roll",k);this.set("opacity",void 0!==b?b:1);void 0!==g&&this.set("timestamp",g)})});
define("ge",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PanoramaOverlayPlaybackPosition",d,function(h,m,k,b,g,e,c,f,l){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("rotationX",k);void 0!==b&&this.set("rotationY",b);void 0!==g&&this.set("roll",g);void 0!==e&&this.set("hfov",e);void 0!==c&&this.set("vfov",c);this.set("opacity",void 0!==f?f:1);void 0!==l&&this.set("timestamp",l)})});
define("cz",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PanoramaPoint",d,function(h,m){d.call(this);this.set("yaw",h);this.set("pitch",m)})});
define("U",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PopupPanoramaOverlayPlaybackPosition",d,function(h,m,k,b,g,e,c){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("rotationX",k);void 0!==b&&this.set("rotationY",b);void 0!==g&&this.set("rotationZ",g);void 0!==e&&this.set("hfov",e);void 0!==c&&this.set("timestamp",c)})});
define("kg","require lJ hN dY ge cz U".split(" "),function(a){var d=a("lJ"),h=a("hN"),m=a("dY"),k=a("ge"),b=a("cz"),g=a("U");return{hUa:function(e){return this.KS(e,this.hHa)},Eba:function(e){return this.KS(e,this.yMa)},AUa:function(e){return this.KS(e,this.FMa)},Fba:function(e){return this.KS(e,this.PMa)},hHa:function(e){return new m(d.prototype.get.call(e,"yaw",0),d.prototype.get.call(e,"pitch",0),d.prototype.get.call(e,"roll",0),d.prototype.get.call(e,"opacity",1),0)},PMa:function(e){var c=d.prototype.get.call(e,
"vertices",[null,null,null,null]);return new h([c[0]||new b(0,0),c[1]||new b(0,0),c[2]||new b(0,0),c[3]||new b(0,0)],d.prototype.get.call(e,"opacity",1),0)},yMa:function(e){function c(f,l){return d.prototype.get.call(e,f,l)}return new k(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",0),c("roll",0),c("hfov",void 0===c("vfov")?45:void 0),c("vfov"),c("opacity",1),0)},FMa:function(e){function c(f,l){return d.prototype.get.call(e,f,l)}return new g(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",
0),c("rotationZ",0),c("hfov",45),0)},KS:function(e,c){var f=d.prototype.get.call(e,"playbackPositions")||[];return 0<f.length?f.slice().sort(function(l,p){return l.get("timestamp")-p.get("timestamp")||f.indexOf(l)-f.indexOf(p)}):[c(e)]}}});
define("jb",["require","lJ","ox","nq","kg"],function(a){var d=a("lJ"),h=a("ox"),m=a("nq"),k=a("kg");a=m.define("FlatHotspotPanoramaOverlayImageBase",d,function(){d.call(this);this.ad=void 0});a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.ad&&(this.ad=k.hUa(this)),this.ad}return d.prototype.get.call(this,b,g)};a.prototype.set=function(b,g){var e=!1;switch(b){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.ad=void 0,
e=!0}d.prototype.set.call(this,b,g);e&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};return a});define("q",["require","nq","jb"],function(a){var d=a("nq"),h=a("jb");return d.define("FlatHotspotPanoramaOverlayImage",h,function(){h.call(this)})});define("dS",["require","nq","jb"],function(a){var d=a("nq"),h=a("jb");return d.define("FlatHotspotPanoramaOverlayMap",h,function(){h.call(this)})});
define("on",["require","nq","fS"],function(a){var d=a("nq"),h=a("fS");return d.define("FlyOverModel3DCamera",h,function(){h.call(this)})});
define("mH",["require","lJ","ox","nq","kg"],function(a){var d=a("lJ"),h=a("ox"),m=a("nq"),k=a("kg");a=m.define("FramePanoramaOverlay",d,function(){d.call(this);this.ad=void 0});a.prototype.set=function(b,g){var e=!1;switch(b){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.ad=void 0,e=!0}d.prototype.set.call(this,b,g);e&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===
this.ad&&(this.ad=k.Eba(this)),this.ad}return d.prototype.get.call(this,b,g)};return a});define("di",["require","ed","li","nS","d"],function(a){var d=a("ed"),h=a("li"),m=a("nS");a=a("d");var k=h.extend(m,function(){m.call(this)});k.uc={layout:a.uw};d.defaults(k.uc,m.uc);k.prototype.nb=function(){this.Dn(k.uc)};return k});define("jF",["require","nq","di"],function(a){var d=a("nq"),h=a("di");return d.define("GridContainer",h,function(){h.call(this)})});
define("jk","require ed jquery.mod cw gf ox hP md kq im li".split(" "),function(a){function d(){}function h(q){this.OWa=q;this.items=[];this.priority=0}var m=a("ed");a("jquery.mod");var k=a("cw"),b=a("gf"),g=a("ox"),e=a("hP"),c=a("md"),f=a("kq"),l=a("im"),p=a("li").extend(b,function(q){b.call(this);this.url=q;this.Fca=this.priority=0;this.status=p.H0;this.hw=null});p.prototype.jca=function(q){this.Fca+=q};p.prototype.pI=function(q){this.priority+=q};p.prototype.start=function(){this.status=p.JQ;f.TZ(this.url)?
this.Ox():this.Nn=l.add(this.url,e.i_,this.NNa.bind(this),this.Dha.bind(this))};p.prototype.NNa=function(){this.hw=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.hw.open("GET",this.url);this.hw.onreadystatechange=function(){3<this.hw.readyState&&this.Ox()}.bind(this);this.hw.send()};p.prototype.Dha=function(){this.hw&&(this.hw.abort(),this.hw=null)};p.prototype.stop=function(){this.status==p.JQ&&(this.status=p.H0,this.Dha(),this.Nn&&this.Nn.cancel())};p.prototype.Ox=
function(){this.hw=null;this.Nn&&(this.Nn.loaded(),this.Nn=null);this.status=p.KBa;this.trigger(new k(g.Z))};p.H0="not loaded";p.JQ="loading";p.KBa="loaded";h.prototype.HSa=function(q){q.forEach(function(n){0>this.items.indexOf(n)&&(this.items.push(n),n.pI(this.priority),n.jca(1))}.bind(this))};h.prototype.YWa=function(q){var n=this.items;this.items=[];n.forEach(function(r){0>q.indexOf(r)?this.items.push(r):(r.pI(-this.priority),r.jca(-1))}.bind(this))};h.prototype.QWa=function(){this.items.forEach(function(q){q.pI(-this.priority);
q.jca(-1)}.bind(this));this.items=[];this.priority=0};h.prototype.pI=function(q){this.priority+=q;this.items.forEach(function(n){n.pI(q)})};d.ae=[];d.gpa=[];d.qHa=0;d.lta=function(q,n){this.uV(q).HSa(n.map(function(r){return this.wa(r)}.bind(this)));this.mW();this.ea()};d.bXa=function(q,n){this.uV(q).YWa(n.map(function(r){return this.wa(r)}.bind(this)));this.mW();this.ea()};d.RWa=function(q){this.uV(q).QWa();this.mW();this.ea()};d.XY=function(q,n){this.uV(q).pI(n);this.mW();this.ea()};d.mW=function(){this.ae.sort(function(q,
n){return n.priority-q.priority})};d.ea=function(q){if(this.enabled()&&(q||!this.ps))if(q){this.ps&&clearTimeout(this.ps);this.ps=null;q=this.oIa();var n=this.pIa();m(q).difference(n).forEach(function(r){r.stop()});m(n).difference(q).forEach(function(r){r.start()})}else this.ps=setTimeout(function(){this.ps=null;this.ea(!0)}.bind(this),1E3)};d.ps=null;d.oIa=function(){return this.ae.filter(function(q){return q.status==p.JQ})};d.pIa=function(){for(var q=this.qIa(),n=[],r=0;r<this.ae.length&&n.length<
q;r++){var u=this.ae[r];0<u.Fca&&(u.status==p.H0||u.status==p.JQ)&&n.push(u)}return n};d.qIa=function(){return 0<this.qHa?0:5};d.uV=function(q){var n=m(this.gpa).find(function(r){return r.OWa==q});n||(n=new h(q),this.gpa.push(n));return n};d.wa=function(q){var n=m(this.ae).find(function(r){return r.url==q});n||(n=new p(q),n.bind(g.Z,this.ea,this),this.ae.push(n));return n};d.enabled=function(q){if(void 0===q)return d.kGa||d.lGa?!1:void 0!==d.R3?d.R3:d.W;d.W=q};d.W=!0;d.vda=function(q){d.R3=q.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)};
d.R3=void 0;d.lGa=c.Vh("disable-background-preload",!1);d.kGa=!1;return d});define("ek",["require","li","lJ","nq","jk"],function(a){var d=a("li"),h=a("lJ"),m=a("nq"),k=a("jk");a=m.define("Media",h,function(){h.call(this);this.R$=d.zo(this.R$,this)});a.prototype.R$=function(){k.lta(this,this.Js())};a.prototype.Js=function(){return[]};a.prototype.$Wa=function(){k.RWa(this)};a.prototype.set=function(b,g){h.prototype.set.call(this,b,g);this.R$()};return a});
define("eW",["require","nq","ek"],function(a){var d=a("nq"),h=a("ek");a=d.define("Panorama",h,function(){h.call(this);this.yT=this.YG=void 0;this.set("minFaceSize",void 0)});a.prototype.get=function(m,k){switch(m){case "overlays":return this.L4();case "frames":return this.aka();case "partial":if(359.9>this.get("hfov"))return!0}return h.prototype.get.call(this,m,k)};a.prototype.set=function(m,k){switch(m){case "cardboardMenu":this.set("vrMenu",k)}h.prototype.set.call(this,m,k)};a.prototype.L4=function(){var m=
h.prototype.get.call(this,"overlays");m||(m=[]);return this.y9(m)};a.prototype.y9=function(m){if(void 0===this.YG||this.yT!=m){var k=function(g){return d.Ka("PopupPanoramaOverlay",g)},b=function(g){return d.Ka("LensFlarePanoramaOverlay",g)};this.yT=m;this.YG=[].concat(m.filter(function(g){return!(k(g)||b(g))}),m.filter(b),m.filter(k))}return this.YG};a.prototype.Ava=function(){return 0<this.get("overlays").filter(function(m){return d.Ka("TripodCapPanoramaOverlay",m)}).length};a.prototype.pva=function(){return 0<
this.get("overlays").filter(function(m){return d.Ka("CeilingCapPanoramaOverlay",m)}).length};a.prototype.Pva=function(){if(!this.Vba())return!1;var m=this.get("pitch",0),k=this.get("vfov",180);if(179.9<=k)return!0;var b=this.pva()?90:m+.5*k;m=this.Ava()?-90:m-.5*k;return 179.9<=b-m?!0:!1};a.prototype.Vba=function(){return 359.9<=this.get("hfov")&&!this.get("partial")};a.prototype.Ll=function(){var m=this.aka();return 0<m.length&&m[0].Ll()};a.prototype.iY=function(){return 0};a.prototype.aka=function(){var m=
h.prototype.get.call(this,"frames",[]);m.forEach(function(k){k.MSa(this)}.bind(this));return m};return a});define("nb",["require","nq","eW"],function(a){var d=a("nq"),h=a("eW");a=d.define("HDRPanorama",h,function(){h.call(this)});a.prototype.iY=function(){var m=this.get("frames")||[];return Math.floor((m.length-1)/2)};return a});define("lP",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("HotspotMapOverlayArea",d,function(){d.call(this)})});
define("lT",["require","lJ","nq"],function(a){var d=a("lJ"),h=a("nq").define("ImageResourceLevel",d,function(){d.call(this)});h.prototype.get=function(m,k){switch(m){case "tags":return(m=d.prototype.get.call(this,m))||(m=[]),Array.isArray(m)||(m=[m]),0>m.indexOf(h.gr)&&d.prototype.get.call(this,"grayscale")&&(m=m.concat([h.gr])),m}return d.prototype.get.call(this,m,k)};h.prototype.zva=function(m){return 0<=this.get("tags").indexOf(m)};h.gr="preload";h.KQ="mobile";h.Bfa="ipadpro";h.LQ="mobilevr";h.M0=
"mobilevr2gen";h.N0="ondemand";return h});
define("fX",["require","lT","v","md"],function(a){var d=a("lT"),h=a("v"),m=a("md");return{zq:function(k){return this.Ej(k,"load")},mD:function(k){return this.Ej(k,"preload")},hI:function(k){return this.zq(k)!=this.mD(k)},Ej:function(k,b){k=k.get("levels")||[];var g=this.AHa(k);g=this.LIa(b,g);k=this.dHa(k,b);(b=this.lka(k,g[0],g[1],this.JIa(b)))||(b=this.lka(k,g[0],g[1],void 0));return b},dHa:function(k,b){"preload"==b?k=this.nK(k,d.gr):"load"==b&&(k=this.cHa(k,d.gr));h.Mv()&&(k=this.nK(k,d.Bfa));
h.Zba()&&(k=this.nK(k,d.M0));h.Nf()&&(k=this.nK(k,d.LQ));h.mb()&&(k=this.nK(k,d.KQ));return k},AHa:function(k){if(0==k.length)return 1;k.sort(function(b,g){return g.get("width")-b.get("width")});return k[0].get("width")/k[0].get("height")},LIa:function(k,b){if("preload"==k)return[0,0];k=1E4;this.jHa()||(h.Nf()?k=2048:h.Mv()?k=2048:h.mb()&&(k=1024));return 1>b?[k*b,k]:[k,k/b]},JIa:function(k){if("load"==k)return!1},jHa:function(){return h.Mv()&&m.Vh("recent_ipad_use_max_res",!1)},nK:function(k,b){var g=
k.filter(function(e){return e.zva(b)});0==g.length&&(g=k);return g},cHa:function(k,b){var g=k.filter(function(e){return!e.zva(b)});0==g.length&&(g=k);return g},lka:function(k,b,g,e){function c(f){return Math.abs(f.get("width")*f.get("height")-b*g)}k=k.filter(function(f){return void 0!==e&&e!=f.get("grayscale",!1)?!1:!0});if(0==k.length)return null;k.sort(function(f,l){return c(f)-c(l)});return k[0]}}});
define("L",["require","lJ","nq","fX"],function(a){var d=a("lJ"),h=a("nq"),m=a("fX");a=h.define("HotspotMapOverlayImageBase",d,function(){d.call(this)});a.prototype.zq=function(){return this.get("image")?m.zq(this.get("image")):null};a.prototype.mD=function(){return this.get("image")?m.mD(this.get("image")):null};return a});define("lj",["require","li","cw"],function(a){var d=a("li"),h=a("cw");return d.extend(h,function(m,k){h.call(this,m);this.Sg=k})});
define("co",["require","li","lJ","ox","lj"],function(a){var d=a("li"),h=a("lJ"),m=a("ox"),k=a("lj");a=d.extend(h,function(){h.call(this);this.eO=[];this.Wf=void 0;this.A="initial"});a.prototype.Ks=function(){return this.eO};a.prototype.EI=function(b){this.eO!=b&&(this.eO=b,this.Ox=this.Wf=void 0)};a.prototype.gYa=function(b){this.Wf!==b&&(this.A="loading",this.Wf=b,this.trigger(new k(m.sc,this.Wf)))};a.prototype.gda=function(){"loaded"!==this.A&&(this.A="loaded",this.trigger(m.Z))};a.prototype.GXa=
function(){"loaded"!==this.A&&(this.A="error",this.trigger(m.Gc))};return a});define("dh",["require","li","co"],function(a){var d=a("li"),h=a("co");a=d.extend(h,function(m){h.call(this);this.xe=m;this.v=void 0});a.prototype.getType=function(){return this.xe};a.prototype.aVa=function(m){return void 0!==this.v&&this.v===m.v};a.Lfa="map";a.Mfa="overlay";return a});
define("jL",["require","li","dh"],function(a){var d=a("li"),h=a("dh");a=d.extend(h,function(m,k,b){h.call(this,h.Mfa);this.nMa=m;this.Ga=k;this.Ja=b});a.prototype.getX=function(){return this.Ga};a.prototype.getY=function(){return this.Ja};a.Kfa="image";a.Ifa="fov";return a});
define("lN",["require","li","jL"],function(a){var d=a("li"),h=a("jL");a=d.extend(h,function(m,k,b,g,e,c,f,l,p,q,n,r){h.call(this,h.Kfa,b,g);this.v=m;this.fd=k;this.Hpa=e;this.Du=c;this.Eu=f;this.ia=l;this.ua=p;this.yf=q;this.cl=n;this.Fl=r;this.eO=[k]});a.prototype.ui=function(){return this.fd};a.prototype.rd=function(){return this.ia};a.prototype.ce=function(){return this.ua};return a});
define("hb",["require","nq","L","fX","lN"],function(a){var d=a("nq"),h=a("L"),m=a("fX"),k=a("lN");a=d.define("HotspotMapOverlayImage",h,function(){h.call(this);this.zu=void 0});a.prototype.getItem=function(){return this.Fj()};a.prototype.Fj=function(){void 0===this.zu&&(this.zu=this.KX());return this.zu};a.prototype.KX=function(b){var g=this.get("image");return g?(g=m.zq(g),new k(this,g.get("url"),this.get("x"),this.get("y"),b,this.get("offsetX"),this.get("offsetY"),this.get("width"),this.get("height"),
this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"))):null};return a});define("O",["require","nq","L"],function(a){var d=a("nq"),h=a("L");return d.define("HotspotMapOverlayMap",h,function(){h.call(this)})});
define("gd",["require","lJ","ox","nq","kg"],function(a){var d=a("lJ"),h=a("ox"),m=a("nq"),k=a("kg");a=m.define("HotspotPanoramaOverlayImageBase",d,function(){d.call(this);this.ad=void 0});a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.ad&&(this.ad=k.Eba(this)),this.ad}return d.prototype.get.call(this,b,g)};a.prototype.set=function(b,g){var e=!1;switch(b){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.ad=
void 0,e=!0}d.prototype.set.call(this,b,g);e&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};return a});define("lx",["require","nq","gd"],function(a){var d=a("nq"),h=a("gd");return d.define("HotspotPanoramaOverlayImage",h,function(){h.call(this)})});define("Y",["require","nq","gd"],function(a){var d=a("nq"),h=a("gd");return d.define("HotspotPanoramaOverlayMap",h,function(){h.call(this)})});
define("lk",["require"],function(){function a(l){var p={};l=l.split(",");for(var q=0;q<l.length;q++)p[l[q]]=!0;return p}var d=/^<([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)((?:\s+[-A-Za-z0-9_]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,h=/^<\/([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)[^>]*>/,m=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,k=a("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),b=a("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"),
g=a("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),e=a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),c=a("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),f=a("script,style");return function(l,p){function q(w,x,y,A){x=x.toLowerCase();if(b[x])for(;r.last()&&g[r.last()];)n("",r.last());e[x]&&
r.last()==x&&n("",x);(A=k[x]||!!A)||r.push(x);if(p.start){var B=[];y.replace(m,function(z,C,G,D,E){z=G?G:D?D:E?E:c[C]?C:"";B.push({name:C,value:z,iba:z.replace(/(^|[^\\])"/g,'$1\\"')})});p.start&&p.start(x,B,A)}}function n(w,x){if(x)for(x=x.toLowerCase(),w=r.length-1;0<=w&&r[w]!=x;w--);else w=0;if(0<=w){for(x=r.length-1;x>=w;x--)p.end&&p.end(r[x]);r.length=w}}var r=[],u=l;for(r.last=function(){return this[this.length-1]};l;){var t=!0;if(r.last()&&f[r.last()])l=l.replace(new RegExp("(.*?)</"+r.last()+
"[^>]*>"),function(w,x){x=x.replace(/\x3c!--(.*?)--\x3e/g,"$1").replace(/<!\[CDATA\[(.*?)]]\x3e/g,"$1");p.xO&&p.xO(x);return""}),n("",r.last());else{if(0==l.indexOf("\x3c!--")){var v=l.indexOf("--\x3e");0<=v&&(p.iTa&&p.iTa(l.substring(4,v)),l=l.substring(v+3),t=!1)}else if(0==l.indexOf("</")){if(v=l.match(h))l=l.substring(v[0].length),v[0].replace(h,n),t=!1}else 0==l.indexOf("<")&&(v=l.match(d))&&(l=l.substring(v[0].length),v[0].replace(d,q),t=!1);t&&(v=l.indexOf("<"),t=0>v?l:l.substring(0,v),l=0>
v?"":l.substring(v),p.xO&&p.xO(t))}if(l==u)throw"Parse Error: "+l;u=l}n()}});
define("fp","require jquery.mod ed li ox cw gf v lk".split(" "),function(a){var d=a("jquery.mod");a("ed");var h=a("li"),m=a("ox"),k=a("cw"),b=a("gf"),g=a("v"),e=a("lk"),c=h.extend(b,function(f){b.call(this);this.tf=d(f);this.VM=[];this.jx=null});c.prototype.sVa=function(f){f&&0<=f.toLowerCase().indexOf("<script")?g.GH()==g.RI?this.LJa(f):this.KJa(f):this.JJa(f)};c.prototype.JJa=function(f){this.tf.empty();f&&this.tf.append(f);this.Ira()};c.prototype.LJa=function(f){this.tf.empty();var l=this.tf,p=
null,q=[],n=null;new e(f,{start:function(r,u,t){if("script"==r){t=void 0;for(var v=0;v<u.length&&void 0===t;v++){var w=u[v];"src"==w.name&&(t=w.value)}n={parent:l,previousSibling:p,src:t,content:""}}else{var x={};for(v=0;v<u.length;v++)w=u[v],x[w.name]=w.value;u=d("<"+r+"/>");u.attr(x);l.append(u);t?p=u:(l=u,p=null)}},xO:function(r){n?n.content+=r:l.append(r)},end:function(r){"script"==r?(q.push(n),n=null):(p=l,l=l.parent())}});this.VM=q;this.FT()};c.prototype.KJa=function(f){function l(){q++;return p+
q}this.tf.empty();var p="fragment_"+h.NWa(6)+"_",q=0,n=l(),r=[n],u=void 0,t=[],v=null,w="";new e(f,{start:function(A,B,z){if("script"==A){z=void 0;for(A=0;A<B.length&&void 0===z;A++){var C=B[A];"src"==C.name&&(z=C.value)}v={parentClsName:r[r.length-1],previousSiblingClsName:u,src:z,content:""}}else{w+="<"+A;var G=l(),D=!1;for(A=0;A<B.length;A++)C=B[A],"class"==C.name&&(C.iba+=" "+G,D=!0),w+=" "+C.name+'="'+C.iba+'"';D||(w+=' class="'+G+'"');z?(w+="/>",u=G):(w+=">",r.push(G),u=void 0)}},xO:function(A){v?
v.content+=A:w+=A},end:function(A){"script"==A?(t.push(v),v=null):(u=r[r.length-1],r.pop())}});this.tf.get(0).innerHTML=w;this.tf.addClass(n);for(f=0;f<t.length;f++){var x=t[f],y=x.parentClsName;delete x.parentClsName;u=x.previousSiblingClsName;delete x.previousSiblingClsName;x.parent=d("."+y);x.previousSibling=u?d("."+u):null}this.tf.removeClass(n);this.VM=t;this.FT()};c.prototype.FT=function(){if(!this.jx)if(0<this.VM.length){this.jx=this.VM[0];this.VM.splice(0,1);var f=this.jx.src;if(f){var l=
this;c.wKa(f,function(){l.yla()},function(){l.DKa()})}else{var p=this.jx.parent;f=this.jx.previousSibling;var q=f?f.next():p.children(":first");f=document.write;document.write=q.length?function(n){q.before(n)}:function(n){p.append(n)};d.globalEval(this.jx.content);document.write=f;this.yla()}}else this.Ira()};c.prototype.DKa=function(){this.jx=null;this.FT()};c.prototype.yla=function(){this.jx=null;this.FT()};c.prototype.Ira=function(){this.trigger(new k(m.sb))};c.wla={};c.wKa=function(f,l,p){c.wla[f]?
l.call(window):d.ajax({url:f,async:!1,dataType:"script",error:p,success:function(){c.wla[f]=!0;l.call(window)}})};return c});
define("mz",["require","li","ox","cw","gf"],function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf");a=d.extend(k,function(b,g){k.call(this);this.UJa=b;this.W=g;this.Vi=null});a.prototype.bind=function(){var b=k.prototype.bind.apply(this,arguments);this.bO();return b};a.prototype.unbind=function(){var b=k.prototype.unbind.apply(this,arguments);this.bO();return b};a.prototype.start=function(){this.W=!0;this.bO()};a.prototype.stop=function(){this.W=!1;this.bO()};a.prototype.gM=function(){this.trigger(new m(h.Be))};
a.prototype.bO=function(){if(this.W&&this.ova(h.Be)){if(null==this.Vi){var b=this;this.Vi=setTimeout(function(){b.Vi=null;b.gM();b.bO()},this.UJa)}}else null!=this.Vi&&(clearTimeout(this.Vi),this.Vi=null)};return a});
define("lh","require jquery.mod ed li ox ie mL e fp ho mz".split(" "),function(a){var d=a("jquery.mod"),h=a("ed"),m=a("li"),k=a("ox"),b=a("ie"),g=a("mL"),e=a("e"),c=a("fp"),f=a("ho");a=a("mz");var l=m.extend(e,function(){e.call(this);this.we("HTML");this.LA=l.PQ;this.Qoa=this.Roa=0;this.Oqa=(new Date).getTime();this.dS=this.hj=null;this.zE=this.zE.bind(this);this.C1=[]});l.prototype.nb=function(){e.prototype.nb.call(this);this.h("content");this.h("horizontalAlign",g.Oa);this.h("verticalAlign",g.ee);
this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");this.h("textAlign");this.h("textDecoration");this.h("textShadowBlurRadius",3);this.h("textShadowColor","#000000");this.h("textShadowHorizontalLength",0);this.h("textShadowOpacity",0);this.h("textShadowVerticalLength",0)};l.prototype.bs=function(q){this.fb&&b.get(this.fb).TWa(this.zE);e.prototype.bs.call(this,q);this.fb&&(b.get(this.fb).ASa(this.zE),b.get(this.fb).KH(this.zE))};l.prototype.zb=function(){e.prototype.zb.call(this);
if(!this.dS){this.hj=document.createElement("div");this.dS=d(this.hj);this.z3({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var q=this.Ab();q.BI(!1);q.append(this.dS);this.Jka=new c(this.dS);this.Jka.bind(k.sb,this.yJa,this,!0);this.bind(k.ic,this.Kka,this)}};l.prototype.Ua=function(){var q={},n=!1;this.I("visible")&&(n=!0);this.I("content")&&(n=this.B("content"),this.Jka.sVa(n),this.P("content"),n=!0);if(this.I("width")||this.I("height"))n=!0;this.I("fontFamily")&&
(n=this.B("fontFamily"),h(n).isString()||(n=""),q.fontFamily=f.Ev(n),this.P("fontFamily"),n=!0);this.I("fontSize")&&(n=this.B("fontSize"),h(n).isNumber()?n+="px":h(n).isString()||(n=""),q.fontSize=n,this.P("fontSize"),n=!0);this.I("fontColor")&&(n=this.B("fontColor"),h(n).isString()||(n=""),q.color=n,this.P("fontColor"),n=!0);if(this.I("fontWeight")){n=this.B("fontWeight");switch(n){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;
default:n="normal"}q.fontWeight=n;this.P("fontWeight");n=!0}if(this.I("fontStyle")){n=this.B("fontStyle");switch(n){case "italic":case "normal":break;default:n="normal"}q.fontStyle=n;this.P("fontStyle");n=!0}if(this.I("textDecoration")){n=this.B("textDecoration");switch(n){case "underline":case "overline":case "line-through":case "none":break;default:n="none"}q.textDecoration=n;this.P("textDecoration");n=!0}if(this.I("textAlign")){n=this.B("textAlign");switch(n){case "left":case "right":case "center":case "justify":break;
default:n=""}q["text-align"]=n;this.P("textAlign");n=!0}var r=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(h(r).any(function(t){return this.I(t)},this)){var u={};h(r).each(function(t){u[t]=this.B(t);this.P(t)},this);q["-moz-text-shadow"]=q["-webkit-text-shadow"]=q["text-shadow"]=[u.textShadowHorizontalLength+"px",u.textShadowVerticalLength+"px",u.textShadowBlurRadius+"px","rgba("+parseInt("0x"+u.textShadowColor.substr(1,
2))+", "+parseInt("0x"+u.textShadowColor.substr(3,2))+", "+parseInt("0x"+u.textShadowColor.substr(5,2))+", "+u.textShadowOpacity+")"].join(" ");r=0==u.textShadowVerticalLength&&0==this.B("textShadowHorizontalLength")?135:45*Math.round(4*Math.atan2(u.textShadowHorizontalLength,-u.textShadowVerticalLength)/Math.PI);q.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*u.textShadowOpacity).toString(16)).slice(-2)+u.textShadowColor.substr(1,6)+",direction="+r+")"}h(["paddingTop","paddingRight",
"paddingBottom","paddingLeft"]).any(function(t){return this.I(t)},this)&&(n=!0);this.z3(q);e.prototype.Ua.call(this);n&&this.bma()};l.prototype.bma=function(){this.Kka();this.Ub();this.B("visible")&&this.B("content")?this.ZM(l.Zfa):this.ZM(l.PQ)};l.prototype.Jy=function(q,n){for(n=q.target;n&&"A"!=n.tagName&&"BUTTON"!=n.tagName;)n=n.parentElement;n=!n;e.prototype.Jy.call(this,q,n)};l.prototype.Cu=function(){e.prototype.Cu.call(this);var q=this.Ab();this.il=this.hj.clientWidth+q.bI()+q.eI();this.hl=
this.hj.clientHeight+q.fI()+q.YH()};l.prototype.rqa=function(q){this.N4()!=q&&(this.hj.style.paddingLeft=q+"px",this.Ub())};l.prototype.N4=function(){return parseInt(this.hj.style.paddingLeft)||0};l.prototype.tqa=function(q){this.P4()!=q&&(this.hj.style.paddingTop=q+"px",this.Ub())};l.prototype.P4=function(){return parseInt(this.hj.style.paddingTop)||0};l.prototype.sqa=function(q){this.O4!=q&&(this.hj.style.paddingRight=q+"px",this.Ub())};l.prototype.O4=function(){return parseInt(this.hj.style.paddingRight)||
0};l.prototype.qqa=function(q){this.M4()!=q&&(this.hj.style.paddingBottom=q+"px",this.Ub())};l.prototype.M4=function(){return parseInt(this.hj.style.paddingBottom)||0};l.prototype.yJa=function(){this.C1=Array.prototype.slice.call(this.hj.querySelectorAll("*[style]")).map(function(q){var n={};n.RH=q;n.style=q.getAttribute("style");return n}).filter(function(q){return p.test(q.style)}).map(function(q){for(var n=q.style,r=[];;){var u=p.exec(n);if(u)r.push(function(t){return function(){return t}}(n.substr(0,
u.index+1))),r.push(function(t,v){switch(v){case "vw":return function(w){return Math.round(w*t)+"px"};case "vh":return function(w,x){return Math.round(x*t)+"px"};case "vmin":return function(w,x,y){return Math.round(y*t)+"px"};case "vmax":return function(w,x,y){return Math.round(y*t)+"px"}}}(parseFloat(u[1]),u[3].toLowerCase())),n=n.substr(u.index+u[0].length);else return r.push(function(t){return function(){return t}}(n)),q.functions=r,q}});this.fb&&b.get(this.fb).KH(this.zE)};l.prototype.zE=function(q,
n,r,u){0!=this.C1.length&&(this.C1.forEach(function(t){var v=t.functions.map(function(w){return w(q,n,r,u)}).join("");t.RH.setAttribute("style",v)}),this.bma())};l.prototype.Kka=function(){var q={width:"auto",height:"auto"},n=this.Ab();if(!this.c5()){this.il!=this.ia&&this.Ub();var r=this.ia-(n.bI()+n.eI());0<r&&(q.width=r+"px")}this.Dka()||(this.hl!=this.ua&&this.Ub(),n=this.ua-(n.fI()+n.YH()),0<n&&(q.height=n+"px"));this.z3(q)};l.prototype.Ama=function(){var q=this.hj.clientWidth,n=this.hj.clientHeight;
this.Roa!=q||this.Qoa!=n?(this.Roa=q,this.Qoa=n,this.Ub(),this.ZM(l.Zfa)):(q=(new Date).getTime()-this.Oqa,q>l.uCa?this.ZM(l.jCa):q>l.tCa&&this.ZM(l.iCa))};l.prototype.zNa=function(){this.Oqa=(new Date).getTime()};l.prototype.ZM=function(q){this.LA==l.c_a&&this.zNa();this.LA!=q&&(this.LA!=l.PQ&&l.Oha[this.LA].unbind(k.Be,this.Ama,this),this.LA=q,this.LA!=l.PQ&&l.Oha[this.LA].bind(k.Be,this.Ama,this,!0))};l.prototype.z3=function(q){var n=this.hj.style,r;for(r in q)n[r]=q[r]};var p=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i;
l.PQ="stopped";l.jCa="slow";l.iCa="normal";l.Zfa="fast";l.uCa=3E4;l.tCa=5E3;l.Oha={slow:new a(2E3,!0),normal:new a(500,!0),fast:new a(100,!0)};return l});define("ka",["require","lh","nq"],function(a){var d=a("lh");return a("nq").define("HTML",d,function(){d.call(this)})});define("b",["require","ed","li","nS","d"],function(a){var d=a("ed"),h=a("li"),m=a("nS");a=a("d");var k=h.extend(m,function(){m.call(this)});k.uc={layout:a.jQ};d.defaults(k.uc,m.uc);k.prototype.nb=function(){this.Dn(k.uc)};return k});
define("iF",["require","li","hD","b","lh"],function(a){var d=a("li"),h=a("hD"),m=a("b"),k=a("lh");a=d.extend(m,function(){m.call(this);this.Ex=null;this.set("contentOpaque",!0)});a.prototype.nb=function(){m.prototype.nb.call(this);this.h("overflow",h.Vo);this.h("html")};a.prototype.zb=function(){m.prototype.zb.call(this);null==this.Ex&&(this.Ex=new k,this.Ex.ja({left:0}),this.Va(this.Ex))};a.prototype.Ua=function(){this.I("html")&&(this.Ex.set("content",this.B("html")),this.P("html"));this.kc(["paddingLeft",
"paddingTop","paddingRight","paddingBottom"],{},[this.Ex],!0,!0);this.kc(["cursor"],{},[this.Ex],!0,!1);m.prototype.Ua.call(this);this.Ex.set("width",this.c5()?void 0:"100%")};return a});define("bx",["require","iF","nq"],function(a){var d=a("iF");return a("nq").define("HTMLText",d,function(){d.call(this)})});
define("jW","require jquery.mod li ox cw md hk bc lX gG ea mr".split(" "),function(a){function d(r,u,t){return function(v){var w="mouse"==u?this.nB(v):this.wF(v);this.ela(w)?r.call(this,v):"release"==t?r.call(this,v):this.rHa(w,v)}}var h=a("jquery.mod"),m=a("li"),k=a("ox"),b=a("cw"),g=a("md"),e=a("hk"),c=a("bc"),f=a("lX"),l=a("gG"),p=a("ea"),q=a("mr"),n=g.Yi("debug");a=m.extend(q,function(){this.we("Button");q.call(this,3);this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("cursor",
c.Ze);this.set("scaleMode",f.qh);this.w2=document.createElement("canvas");this.w2.width=1;this.w2.height=1;this.z2=this.w2.getContext("2d");this.z2.globalCompositeOperation="copy";this.h4=!1;this.bind(k.ac,this.CJa,this)});a.prototype.nb=function(){q.prototype.nb.call(this);this.h("buttonGroup");this.h("mode",p.Ce);this.h("pressed");this.h("iconURL");this.h("transparencyActive");this.u("rollOverOpacity",l.U,"opacity");this.u("rollOverIconURL",l.U,"iconURL");this.u("pressedOpacity",l.ob,"opacity");
this.u("pressedIconURL",l.ob,"iconURL");this.u("pressedRollOverOpacity",l.$b,"opacity");this.u("pressedRollOverIconURL",l.$b,"iconURL")};a.prototype.r4=d(q.prototype.r4,"touch","capture");a.prototype.xja=d(q.prototype.wHa,"touch");a.prototype.zja=d(q.prototype.wHa,"touch","release");a.prototype.e$=d(q.prototype.e$,"touch","capture");a.prototype.d$=d(q.prototype.d$,"touch");a.prototype.Jy=d(q.prototype.Jy,"touch","release");a.prototype.C6=d(q.prototype.C6,"mouse","capture");a.prototype.G6=function(r){var u=
this.nB(r);if(this.ela(u)||this.h4)q.prototype.G6.call(this,r),q.prototype.set.call(this,"cursor",this.Bia);else{this.h4=!0;if(u=this.$ja(u))h(u).trigger(this.Yha(r)),r.preventDefault(),r.stopImmediatePropagation();"pointer"==this.Vja(u)?q.prototype.set.call(this,"cursor",c.Ze):q.prototype.set.call(this,"cursor",c.Be);this.h4=!1}};a.prototype.CJa=function(){q.prototype.set.call(this,"cursor",this.Bia)};a.prototype.XT=d(q.prototype.XT,"mouse","release");a.prototype.ela=function(r){if(!this.Xb)return!1;
if(this.get("transparencyActive"))return!0;var u=this.fb?this.fb.ky:1,t=this.Xb.offset(),v=(r.mz-t.left)/u,w=this.Xb.width();r=(r.nz-t.top)/u;u=this.Xb.height();if(0<=v&&0<=r&&v<w&&r<u){if(n)return!0;v=v*this.mG/w;w=r*this.lG/u;this.z2.drawImage(this.Xb.get(0),v,w,1,1,0,0,1,1);if(0<this.z2.getImageData(0,0,1,1).data[3])return!0}return!1};a.prototype.rHa=function(r,u){if(r=this.$ja(r))h(r).trigger(this.Yha(u)),u.preventDefault(),u.stopImmediatePropagation()};a.prototype.$ja=function(r){this.yr().style.pointerEvents=
"none";r=document.elementFromPoint(r.mz,r.nz);setTimeout(function(){this.yr().style.pointerEvents=this.rka()}.bind(this),0);return r};a.prototype.Yha=function(r){return h.extend(h.Event(r.type),{originalEvent:r.originalEvent,wheelDelta:r.wheelDelta,detail:r.detail,which:1,clientX:r.clientX,clientY:r.clientY,pageX:r.pageX,pageY:r.pageY,screenX:r.screenX,screenY:r.screenY})};a.prototype.Vja=function(r){if(r){var u=r.style.cursor;"inherit"==u&&(u=this.Vja(r.parentElement))}else u="default";return u};
a.prototype.CJ=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new b(k.am))):(this.set("pressed",!0),this.trigger(new b(k.Pj)))};a.prototype.set=function(r,u){"cursor"===r&&(this.Bia=u);return q.prototype.set.call(this,r,u)};a.prototype.Ua=function(){var r=!1;if(this.I("backgroundOpacityy")||this.I("backgroundColor"))r=!0;if(this.I("iconURL")){var u=this.B("iconURL");this.set("url",u);this.P("iconURL")}u=!1;this.I("mode")&&(this.B("mode")==p.Ce?(this.unbind(k.pa,this.CJ,this,!0),
this.set("autoPressed",!0)):(this.bind(k.pa,this.CJ,this,!0),this.set("autoPressed",!1)),this.P("mode"),u=!0);if(u||this.I("pressed"))this.B("mode")==p.Rj?this.TG(1==this.B("pressed")):u&&this.TG(!1);this.I("buttonGroup")&&((u=this.B("buttonGroup"))?e.register(this,u):e.unregister(this),this.P("buttonGroup"));q.prototype.Ua.call(this);r&&(r=this.Oc(),0==r.Ik()||0==r.QA.length)&&(r.$i(.001),r.zya(["#000000"]))};return a});
define("bl",["require","jW","nq"],function(a){var d=a("jW");return a("nq").define("IconButton",d,function(){d.call(this)})});define("na",["require","nq","if"],function(a){var d=a("nq"),h=a("if");return d.define("IconHotspotMapOverlay",h,function(){h.call(this,!1)})});define("nQ",["require","mr","nq"],function(a){var d=a("mr");a=a("nq").define("Image",d,function(){d.call(this)});a.prototype.set=function(h,m){d.prototype.set.call(this,h,m)};return a});
define("oO",["require","nq","jG"],function(a){var d=a("nq"),h=a("jG");return d.define("PlaneModel3DObject",h,function(){h.call(this)})});define("iT",["require","nq","oO"],function(a){var d=a("nq"),h=a("oO");return d.define("ImagePlaneModel3DObject",h,function(){h.call(this)})});define("lu",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("InnerModel3DObject",h,function(){h.call(this)})});
define("iX",["require","iM","nq"],function(a){var d=a("iM");return a("nq").define("Label",d,function(){d.call(this)})});define("bK",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("LensFlarePanoramaOverlay",d,function(){d.call(this)})});define("cE",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("LineModel3DObject",h,function(){h.call(this)})});
define("nX",["require","nq","eW"],function(a){var d=a("nq"),h=a("eW");a=d.define("LivePanorama",h,function(){h.call(this)});a.prototype.iY=function(){return this.get("initialFrameIndex",0)};return a});define("jn",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("Light",d,function(){d.call(this)})});
define("cS",["require","li","dh"],function(a){var d=a("li"),h=a("dh");a=d.extend(h,function(m,k,b,g,e,c,f){h.call(this,h.Lfa);this.v=m;this.fd=k;this.ia=b;this.ua=g;this.yf=e;this.e4=c;this.Sn=f.slice()});a.prototype.Ks=function(){for(var m=[this.fd],k=0;k<this.Sn.length;k++)m=m.concat(this.Sn[k].Ks());return m};a.prototype.ui=function(){return this.fd};a.prototype.rd=function(){return this.ia};a.prototype.ce=function(){return this.ua};return a});
define("mX","require nq lX ek fX cS".split(" "),function(a){var d=a("nq"),h=a("lX"),m=a("ek"),k=a("fX"),b=a("cS");a=d.define("Map",m,function(){m.call(this);this.zu=this.EM=void 0});a.prototype.gXa=function(){this.zu=this.EM=void 0};a.prototype.hI=function(){return!(!this.get("image")||!k.hI(this.get("image")))};a.prototype.mD=function(){return this.get("image")&&k.mD(this.get("image"))};a.prototype.zq=function(){return this.get("image")&&k.zq(this.get("image"))};a.prototype.Yua=function(){void 0==
this.EM&&(this.hI()?this.EM=new b(this,this.mD().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",h.Jz),this.get("flipImageHorizontally",!1),[]):this.EM=null);return this.EM};a.prototype.Fj=function(){if(void 0==this.zu)if(this.get("image")){var g=Array.prototype.concat.apply([],this.get("overlays",[]).map(function(e){return e.qUa()}));this.zu=new b(this,this.zq().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",h.Jz),this.get("flipImageHorizontally",!1),g)}else this.zu=
null;return this.zu};a.prototype.Js=function(){return[].concat(this.IS(this.Yua()),this.IS(this.Fj()))};a.prototype.IS=function(g){return g?g.Ks():[]};return a});define("kS",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("MapOverlay",d,function(){d.call(this)})});
define("jz","require li ed ox cw gf ea gG".split(" "),function(a){var d=a("li"),h=a("ed"),m=a("ox"),k=a("cw"),b=a("gf"),g=a("ea"),e=a("gG");a=d.extend(b,function(c,f,l){b.call(this);this.aia=c;this.NMa=f;this.qha=l||g.Ce;this.Gi=[];this.GA=[];this.Rw={};this.Rw.mode=this.qha;this.qha==g.Rj&&(this.Rw.pressed=!1);this.aia.bind(m.G(f),this.bpa,this);this.bpa()});a.prototype.bpa=function(){var c=this.aia.get(this.NMa);c||(c=[]);h.isArray(c)||(c=[c]);this.iOa(c)};a.prototype.iOa=function(c){var f=h.difference(this.Gi,
c);h(f).each(function(l){l.unbind(m.Pj,this.uha,this,!0);l.unbind(m.am,this.vha,this,!0);l.unbind(m.pa,this.pha,this,!0);l.unbind(m.vb,this.rha,this,!0);l.unbind(m.Zb,this.sha,this,!0);l.unbind(m.Tc,this.xha,this,!0);l.unbind(m.ac,this.wha,this,!0)},this);f=h.difference(c,this.Gi);h(f).each(function(l){l.ja(this.Rw);l.bind(m.Pj,this.uha,this,!0);l.bind(m.am,this.vha,this,!0);l.bind(m.pa,this.pha,this,!0);l.bind(m.vb,this.rha,this,!0);l.bind(m.Zb,this.sha,this,!0);l.bind(m.Tc,this.xha,this,!0);l.bind(m.ac,
this.wha,this,!0)},this);this.Gi=c;this.GA=this.GA.filter(function(l){return 0<=this.Gi.indexOf(l)}.bind(this))};a.prototype.uha=function(){this.trigger(new k(m.Pj))};a.prototype.vha=function(){this.trigger(new k(m.am))};a.prototype.pha=function(){this.trigger(new k(m.pa))};a.prototype.rha=function(){this.trigger(new k(m.vb))};a.prototype.sha=function(){this.trigger(new k(m.Zb))};a.prototype.xha=function(c){this.GA.push(c.source);this.Bk()};a.prototype.wha=function(c){this.GA=this.GA.filter(function(f){return f!=
c.source});this.Bk()};a.prototype.set=function(c,f){this.Rw[c]=f;this.Gi.forEach(function(l){l.ja(this.Rw)}.bind(this));this.Bk()};a.prototype.Bk=function(){this.Gi.forEach(function(c){c.get("state")==e.ob&&0<=this.GA.indexOf(c)?c.set("state",e.$b):c.get("state")==e.$b&&0>this.GA.indexOf(c)&&c.set("state",e.ob)}.bind(this))};return a});
define("gk","require ed li ox cw gG bc b e ni nB".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("cw"),b=a("gG"),g=a("bc"),e=a("b"),c=a("e");a("ni");a("nB");var f=h.extend(e,function(){e.call(this);this.we("PlaybackBar");this.vl=this.Wf=null;this.Og=[];this.jV=!1;this.U7=this.gC=void 0;this.J9=!1});f.uc={cursor:g.Ze,overflow:"visible",height:20,position:0,duration:100,steps:void 0,selectedStep:void 0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:void 0,
barBackgroundColorRatios:void 0,barBorderColor:void 0,barBorderRadius:void 0,barBorderSize:void 0,barOpacity:void 0,liveDragging:void 0,playheadBackgroundColor:"#FFFFFF",playheadBackgroundColorDirection:void 0,playheadBackgroundColorRatios:void 0,playheadBorderColor:void 0,playheadBorderRadius:void 0,playheadBorderSize:void 0,playheadOpacity:void 0,playheadWidth:5,playheadHeight:30,playheadShadow:!0,playheadShadowBlurRadius:3,playheadShadowColor:"#000000",playheadShadowHorizontalLength:0,playheadShadowOpacity:void 0,
playheadShadowSpread:0,playheadShadowVerticalLength:3,stepBackgroundColor:"#FFFFFF",stepBackgroundColorDirection:void 0,stepBackgroundColorRatios:void 0,stepBorderColor:void 0,stepBorderRadius:6,stepBorderSize:0,stepOpacity:1,stepWidth:12,stepHeight:12,stepShadow:!0,stepShadowBlurRadius:6,stepShadowColor:"#000000",stepShadowHorizontalLength:0,stepShadowOpacity:void 0,stepShadowSpread:0,stepShadowVerticalLength:0,selectedStepBackgroundColor:"#3399FF",selectedStepBackgroundColorDirection:void 0,selectedStepBackgroundColorRatios:void 0,
selectedStepBorderColor:"#ffffff",selectedStepBorderRadius:10,selectedStepBorderSize:2,selectedStepOpacity:1,selectedStepWidth:20,selectedStepHeight:20,selectedStepShadow:!0,selectedStepShadowBlurRadius:3,selectedStepShadowColor:"#000000",selectedStepShadowHorizontalLength:0,selectedStepShadowOpacity:void 0,selectedStepShadowSpread:0,selectedStepShadowVerticalLength:0};d.defaults(f.uc,e.uc);f.prototype.nb=function(){this.Dn(f.uc)};f.prototype.zb=function(){e.prototype.zb.call(this);this.Wf&&this.vl||
this.bind(m.ic,this.zMa,this,!0);null==this.Wf&&(this.Wf=new c,this.Wf.ja({left:"0",height:"100%",cursor:g.Ze}),this.Va(this.Wf));null==this.vl&&(this.vl=new c,this.vl.ja({left:"0",cursor:g.Ze}),this.vl.bind(m.ic,this.CMa,this,!0),this.vl.bind(m.vb,this.AMa,this,!0),this.Ib().bind(m.hc,this.Goa,this,!0),this.bind(m.pa,this.xMa,this,!0),this.vl.bind(m.Zb,this.BMa,this,!0),this.Va(this.vl));var p=this.get("steps")||0;if(this.Og.length!=p){for(;this.Og.length>p;)this.jGa(this.Og.pop());for(;this.Og.length<
p;)this.Og.push(this.aGa());this.kc(f.vga,f.b1,this.Og,!1,!0);this.ysa();this.W$();this.cn(this.vl,this.Kb().length-1)}};f.prototype.aGa=function(){var p=new l;p.ja({cursor:g.Ze});p.bind(m.pa,this.Yqa,this,!0);p.bind(m.ic,this.Zqa,this,!0);this.Va(p);return p};f.prototype.jGa=function(p){p.unbind(m.pa,this.Yqa,this,!0);p.unbind(m.ic,this.Zqa,this,!0);this.removeChild(p)};f.prototype.Ua=function(){var p=!1;if(this.I("position")||this.I("duration"))this.P("position"),this.P("duration"),p=!0;this.I("selectedStep")&&
(this.P("selectedStep"),this.ysa());this.I("steps")&&(this.P("steps"),this.eP());this.kc(f.V0,f.jJ,[this.Wf],!0,!0);this.kc(f.qCa,f.rga,[this.vl],!0,!0);this.kc(f.vga,f.b1,this.Og,!0,!0);e.prototype.Ua.call(this);p&&this.aX()};f.prototype.ysa=function(){var p=this.get("selectedStep");this.Og.forEach(function(q,n){q.VP(n===p)});this.vl.set("visible",void 0===p)};f.prototype.aX=function(){var p=this.Wa(),q=this.vl.Wa(),n=this.vl.xb(),r=this.vx(),u=this.qp(),t=u*p/r;p=Math.round((this.jV?this.gC:u)*
p/r-.5*q);p=Math.max(0,Math.min(p,this.kf()-q));q=Math.round(.5*this.jf()-.5*n);this.vl.ja({left:p,top:q});this.Wf.set("width",Math.round(t))};f.prototype.CMa=function(){this.aX()};f.prototype.AMa=function(p){this.jV=!0;this.U7=p.pageX;this.gC=this.B("position")};f.prototype.Goa=function(p){if(this.jV){var q=p.pageX-this.U7;this.U7=p.pageX;p=this.Wa();var n=this.vx();this.gC=Math.max(0,Math.min(n,this.gC+n*q/p));this.aX();this.get("liveDragging")&&(this.set("position",this.gC),this.trigger(new k(m.ta)))}};
f.prototype.BMa=function(p){this.Goa(p);this.jV=!1;this.get("liveDragging")||(this.set("position",this.gC),this.trigger(new k(m.ta)));this.gC=void 0};f.prototype.xMa=function(p){if(!this.J9){var q=this.Wa(),n=this.vx();this.set("position",n*p.x/q);this.trigger(new k(m.ta))}};f.prototype.Zqa=function(){this.W$()};f.prototype.zMa=function(){this.W$();this.aX()};f.prototype.W$=function(){for(var p=this.Wa(),q=this.xb(),n=this.Ga,r=this.getParent().Wa()-(n+p),u=0,t=this.Og.length;u<t;u++){var v=this.Og[u],
w=v.Wa();v.ja({left:0==u&&0==n?0:u==t-1&&0==r?p-w:Math.round(p*u/(t-1)-.5*w),top:Math.round(.5*q-.5*v.xb())})}};f.prototype.Yqa=function(p){p=this.Og.indexOf(p.source);var q=this.vx();this.set("position",q*p/(this.Og.length-1));this.J9=!0;this.trigger(new k(m.ta));setTimeout(function(){this.J9=!1}.bind(this),0)};f.prototype.vx=function(){var p=this.B("duration");return p?p:1};f.prototype.qp=function(){return Math.max(0,Math.min(this.vx(),this.B("position")))};f.jJ={barBackgroundColor:"backgroundColor",
barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",barOpacity:"opacity"};f.V0=d(f.jJ).keys();f.rga={playheadBackgroundColor:"backgroundColor",playheadBackgroundColorDirection:"backgroundColorDirection",playheadBackgroundColorRatios:"backgroundColorRatios",playheadBorderColor:"borderColor",playheadBorderRadius:"borderRadius",playheadBorderSize:"borderSize",playheadOpacity:"opacity",
playheadWidth:"width",playheadHeight:"height",playheadShadow:"shadow",playheadShadowBlurRadius:"shadowBlurRadius",playheadShadowColor:"shadowColor",playheadShadowHorizontalLength:"shadowHorizontalLength",playheadShadowOpacity:"shadowOpacity",playheadShadowSpread:"shadowSpread",playheadShadowVerticalLength:"shadowVerticalLength"};f.qCa=d(f.rga).keys();f.b1={stepBackgroundColor:"backgroundColor",stepBackgroundColorDirection:"backgroundColorDirection",stepBackgroundColorRatios:"backgroundColorRatios",
stepBorderColor:"borderColor",stepBorderRadius:"borderRadius",stepBorderSize:"borderSize",stepOpacity:"opacity",stepWidth:"width",stepHeight:"height",stepShadow:"shadow",stepShadowBlurRadius:"shadowBlurRadius",stepShadowColor:"shadowColor",stepShadowHorizontalLength:"shadowHorizontalLength",stepShadowOpacity:"shadowOpacity",stepShadowSpread:"shadowSpread",stepShadowVerticalLength:"shadowVerticalLength",selectedStepBackgroundColor:"selectedBackgroundColor",selectedStepBackgroundColorDirection:"selectedBackgroundColorDirection",
selectedStepBackgroundColorRatios:"selectedBackgroundColorRatios",selectedStepBorderColor:"selectedBorderColor",selectedStepBorderRadius:"selectedBorderRadius",selectedStepBorderSize:"selectedBorderSize",selectedStepOpacity:"selectedOpacity",selectedStepWidth:"selectedWidth",selectedStepHeight:"selectedHeight",selectedStepShadow:"selectedShadow",selectedStepShadowBlurRadius:"selectedShadowBlurRadius",selectedStepShadowColor:"selectedShadowColor",selectedStepShadowHorizontalLength:"selectedShadowHorizontalLength",
selectedStepShadowOpacity:"selectedShadowOpacity",selectedStepShadowSpread:"selectedShadowSpread",selectedStepShadowVerticalLength:"selectedShadowVerticalLength"};f.vga=d(f.b1).keys();var l=h.extend(c,function(){c.call(this)});l.prototype.VP=function(p){this.gN(p)};l.prototype.nb=function(){c.prototype.nb.call(this);this.h("backgroundColor");this.h("backgroundColorDirection");this.h("backgroundColorRatios");this.h("borderColor");this.h("borderRadius");this.h("borderSize");this.h("opacity");this.h("width");
this.h("height");this.h("shadow");this.h("shadowBlurRadius");this.h("shadowColor");this.h("shadowHorizontalLength");this.h("shadowOpacity");this.h("shadowSpread");this.h("shadowVerticalLength");this.u("selectedBackgroundColor",b.ba,"backgroundColor");this.u("selectedBackgroundColorDirection",b.ba,"backgroundColorDirection");this.u("selectedBackgroundColorRatios",b.ba,"backgroundColorRatios");this.u("selectedBorderColor",b.ba,"borderColor");this.u("selectedBorderRadius",b.ba,"borderRadius");this.u("selectedBorderSize",
b.ba,"borderSize");this.u("selectedOpacity",b.ba,"opacity");this.u("selectedWidth",b.ba,"width");this.u("selectedHeight",b.ba,"height");this.u("selectedShadow",b.ba,"shadow");this.u("selectedShadowBlurRadius",b.ba,"shadowBlurRadius");this.u("selectedShadowColor",b.ba,"shadowColor");this.u("selectedShadowHorizontalLength",b.ba,"shadowHorizontalLength");this.u("selectedShadowOpacity",b.ba,"shadowOpacity");this.u("selectedShadowSpread",b.ba,"shadowSpread");this.u("selectedShadowVerticalLength",b.ba,
"shadowVerticalLength")};l.prototype.Ua=function(){c.prototype.Ua.call(this)};return f});
define("A",["require","ed","li","b","e"],function(a){var d=a("ed"),h=a("li"),m=a("b"),k=a("e"),b=h.extend(m,function(){m.call(this);this.we("ProgressBar")});b.uc={percent:0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:void 0,barBackgroundColorRatios:void 0,barBorderColor:void 0,barBorderRadius:void 0,barBorderSize:void 0,barOpacity:void 0};d.defaults(b.uc,m.uc);b.prototype.nb=function(){this.Dn(b.uc)};b.prototype.zb=function(){m.prototype.zb.call(this);null==
this.Wf&&(this.Wf=new k,this.Wf.ja({left:"0",width:"0%",height:"100%"}),this.Va(this.Wf))};b.prototype.Ua=function(){this.I("percent")&&(this.Wf.set("width",Math.round(this.B("percent"))+"%"),this.P("percent"));this.kc(b.V0,b.jJ,[this.Wf],!0,!0);m.prototype.Ua.call(this)};b.jJ={barBackgroundColor:"backgroundColor",barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",
barOpacity:"opacity"};b.V0=d(b.jJ).keys();return b});
define("fM",["require","exports","ox","gf","v"],function(a,d,h,m,k){return function(b){function g(e,c){var f=b.call(this)||this;f.enabled=!1;f.$Y=0;f.aZ=0;f.parentElement=null;f.ti=null;f.Mk=null;f.HI=null;f.Ne=e;f.parentElement=c;return f}Z(g,b);g.prototype.dispose=function(){this.mc(!1);this.parentElement=this.Ne=null};g.prototype.mc=function(e){this.enabled!=e&&((this.enabled=e)?this.KSa():(this.Xaa(),this.stop(),this.cXa()))};g.prototype.getX=function(){return this.$Y};g.prototype.getY=function(){return this.aZ};
g.prototype.gxa=function(e){this.eZ(e);this.enabled&&(this.mca=this.kca=e.x,this.nca=this.lca=e.y,this.LYa())};g.prototype.hxa=function(e){this.mca=e.x;this.nca=e.y;this.HI?this.EZa():this.ti&&this.Yza()};g.prototype.eZ=function(){this.Xaa();this.stop()};g.prototype.bxa=function(){this.eZ()};g.prototype.tca=function(){this.c_=Math.min(this.Ne.Wa(),this.Ne.xb())/100};g.prototype.start=function(){this.nTa();this.trigger(h.tn);this.Yza()};g.prototype.stop=function(){this.ti&&(this.zTa(),this.trigger(h.Ff))};
g.prototype.EZa=function(){var e=this.mca-this.kca,c=this.nca-this.lca;Math.sqrt(e*e+c*c)>this.c_*g.wAa&&this.Xaa()};g.prototype.LYa=function(){this.HI=window.setTimeout(this.pZa.bind(this),g.xAa)};g.prototype.Xaa=function(){this.HI&&(clearTimeout(this.HI),this.HI=null)};g.prototype.nTa=function(){this.ti=document.createElement("div");this.ti.setAttribute("tdvclass","Button");this.ti.style.position="absolute";this.ti.style.width=this.ti.style.height=Math.round(2*g.iea*this.c_)+"px";this.ti.style.borderRadius=
"50%";this.ti.style.backgroundColor="rgba(255, 255, 255, 0.5)";this.ti.style.transform="translate(-50%, -50%)";this.ti.style.zIndex="1000";this.ti.style.left=this.kca+"px";this.ti.style.top=this.lca+"px";this.parentElement.appendChild(this.ti);this.Mk=document.createElement("div");this.Mk.setAttribute("tdvclass","Button");this.Mk.style.position="absolute";this.Mk.style.width=this.Mk.style.height=Math.round(2*g.CBa*this.c_)+"px";this.Mk.style.borderRadius="50%";this.Mk.style.backgroundColor="rgba(255, 255, 255, 0.5)";
this.Mk.style.transform="translate(-50%, -50%)";this.Mk.style.zIndex="1000";this.ti.appendChild(this.Mk)};g.prototype.Yza=function(){var e=this.mca-this.kca,c=this.nca-this.lca;if(0==e&&0==c)this.aZ=this.$Y=0;else{var f=Math.atan2(-c,e);e=Math.min(Math.sqrt(e*e+c*c)/(this.c_*g.iea),g.dBa);this.$Y=Math.cos(f)*e;this.aZ=Math.sin(f)*e}this.Mk.style.left=(50+50*this.$Y).toFixed(2)+"%";this.Mk.style.top=(50-50*this.aZ).toFixed(2)+"%";this.trigger(h.ta)};g.prototype.zTa=function(){var e,c;null===(e=this.Mk.parentNode)||
void 0===e?void 0:e.removeChild(this.Mk);this.Mk=null;null===(c=this.ti.parentNode)||void 0===c?void 0:c.removeChild(this.ti);this.ti=null};g.prototype.pZa=function(){this.HI=null;this.start()};g.prototype.KSa=function(){this.Ne.bind(h.vb,this.gxa,this,!0);this.Ne.bind(h.hc,this.hxa,this,!0);this.Ne.bind(h.Zb,this.eZ,this,!0);this.Ne.bind(h.ic,this.tca,this,!0);this.Ne.bind(h.tw,this.bxa,this,!0);this.tca()};g.prototype.cXa=function(){this.Ne.unbind(h.vb,this.gxa,this);this.Ne.unbind(h.hc,this.hxa,
this);this.Ne.unbind(h.Zb,this.eZ,this);this.Ne.unbind(h.ic,this.tca,this);this.Ne.unbind(h.tw,this.bxa,this)};g.wAa=5;g.xAa=300;g.iea=k.mb()?10:6.6;g.CBa=k.mb()?5:3.3;g.dBa=6;return g}(m)});
define("bz","require ed li ox kK cw nq jz gk A fM v ea bc cL gG nS e".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("kK"),b=a("cw"),g=a("nq"),e=a("jz"),c=a("gk"),f=a("A"),l=a("fM"),p=a("v"),q=a("ea"),n=a("bc"),r=a("cL"),u=a("gG"),t=a("nS"),v=a("e"),w=g.define("ViewerArea",t,function(){t.call(this);this.set("childrenInteractionEnabled",!0);this.set("contentOpaque",!0);this.set("creationPolicy",r.cA);this.set("subtitlesEnabled",!0);this.set("checkToolTipOcclusion",!0);this.set("isKeyboardTarget",
!1);this.YK=this.Kn=this.ur=this.Pd=this.qS=this.Lh=null;this.R7=this.Rr=!1;this.mi=k.T;this.cm=this.Uj=null;this.In=!1;this.J8=[];this.bind(w.pfa,this.JLa,this,!0);this.bind(w.ofa,this.ILa,this,!0);this.bind(m.vb,this.Bna,this);this.bind(m.vb,this.Bna,this);this.bind(m.Tc,this.dMa,this);this.bind(m.ac,this.cMa,this);this.bind(m.hd,this.JU,this,!0);this.bind(m.sd,this.aMa,this,!0);this.GE=new e(this,"buttonPause",q.Rj);this.GE.bind(m.pa,this.aC,this);this.GE.set("state",u.Be);this.HE=new e(this,"buttonPlay",
q.Rj);this.HE.bind(m.pa,this.bC,this);this.HE.set("state",u.Be);this.EA=new e(this,"buttonPlayPause",q.Rj);this.EA.bind(m.pa,this.FLa,this);this.EA.set("state",u.Be);this.JE=new e(this,"buttonStop",q.Rj);this.JE.bind(m.pa,this.hy,this);this.JE.set("state",u.ob);this.kEa=new e(this,"buttonRestart",q.Ce);this.kEa.bind(m.pa,this.by,this);this.rR=new e(this,"buttonToggleSubtitles",q.Rj);this.rR.bind(m.Pj,function(){this.set("subtitlesEnabled",!0)},this,!0);this.rR.bind(m.am,function(){this.set("subtitlesEnabled",
!1)},this,!0);this.bind(m.G("subtitlesEnabled"),function(){this.rR.set("pressed",this.get("subtitlesEnabled"))},this);this.rR.set("pressed",this.get("subtitlesEnabled"));this.XJa=h.zo(this.dSa,this);this.bind(m.Zl,this.$La,this,!0);this.bind(w.HQ,this.bMa,this,!0)});w.prototype.play=function(){this.bC()};w.prototype.pause=function(){this.aC()};w.prototype.stop=function(){this.hy()};w.prototype.restart=function(){this.by()};w.uc={progressBackgroundColor:void 0,progressBackgroundColorDirection:void 0,
progressBackgroundColorRatios:void 0,progressBackgroundOpacity:void 0,progressBarBackgroundColor:void 0,progressBarBackgroundColorDirection:void 0,progressBarBackgroundColorRatios:void 0,progressBarBorderColor:void 0,progressBarBorderRadius:void 0,progressBarBorderSize:void 0,progressBarOpacity:void 0,progressBorderColor:void 0,progressBorderRadius:void 0,progressBorderSize:void 0,progressBottom:0,progressHeight:20,progressLeft:0,progressOpacity:void 0,progressPercent:0,progressRight:0,progressVisible:!1,
externalPlaybackBar:void 0,externalProgressBar:void 0,playbackBarBackgroundColor:void 0,playbackBarBackgroundColorDirection:void 0,playbackBarBackgroundOpacity:void 0,playbackBarBorderColor:void 0,playbackBarBorderRadius:void 0,playbackBarBorderSize:void 0,playbackBarBottom:10,playbackBarHeight:void 0,playbackBarWidth:void 0,playbackBarLeft:void 0,playbackBarOpacity:void 0,playbackBarRight:void 0,playbackBarLiveDragging:void 0,playbackBarDuration:100,playbackBarPosition:0,playbackBarRollOverDisplay:!1,
plabackBarSteps:void 0,plabackBarSelectedStep:void 0,playbackBarVisible:!1,playbackBarProgressBackgroundColor:void 0,playbackBarProgressBackgroundColorDirection:void 0,playbackBarProgressBackgroundColorRatios:void 0,playbackBarProgressBorderColor:void 0,playbackBarProgressBorderRadius:void 0,playbackBarProgressBorderSize:void 0,playbackBarProgressOpacity:void 0,playbackBarHeadBackgroundColor:void 0,playbackBarHeadBackgroundColorDirection:void 0,playbackBarHeadBackgroundColorRatios:void 0,playbackBarHeadBorderColor:void 0,
playbackBarHeadBorderRadius:void 0,playbackBarHeadBorderSize:void 0,playbackBarHeadOpacity:void 0,playbackBarHeadWidth:void 0,playbackBarHeadHeight:void 0,playbackBarHeadShadow:void 0,playbackBarHeadShadowBlurRadius:void 0,playbackBarHeadShadowColor:void 0,playbackBarHeadShadowHorizontalLength:void 0,playbackBarHeadShadowOpacity:void 0,playbackBarHeadShadowSpread:void 0,playbackBarHeadShadowVerticalLength:void 0,playbackBarStepBackgroundColor:void 0,playbackBarStepBackgroundColorDirection:void 0,
playbackBarStepBackgroundColorRatios:void 0,playbackBarStepBorderColor:void 0,playbackBarStepBorderRadius:void 0,playbackBarStepBorderSize:void 0,playbackBarStepOpacity:void 0,playbackBarStepWidth:void 0,playbackBarStepHeight:void 0,playbackBarStepShadow:void 0,playbackBarStepShadowBlurRadius:void 0,playbackBarStepShadowColor:void 0,playbackBarStepShadowHorizontalLength:void 0,playbackBarStepShadowOpacity:void 0,playbackBarStepShadowSpread:void 0,playbackBarStepShadowVerticalLength:void 0,playbackBarStepSelectedBackgroundColor:void 0,
playbackBarStepSelectedBackgroundColorDirection:void 0,playbackBarStepSelectedBackgroundColorRatios:void 0,playbackBarStepSelectedBorderColor:void 0,playbackBarStepSelectedBorderRadius:void 0,playbackBarStepSelectedBorderSize:void 0,playbackBarStepSelectedOpacity:void 0,playbackBarStepSelectedWidth:void 0,playbackBarStepSelectedHeight:void 0,playbackBarStepSelectedShadow:void 0,playbackBarStepSelectedShadowBlurRadius:void 0,playbackBarStepSelectedShadowColor:void 0,playbackBarStepSelectedShadowHorizontalLength:void 0,
playbackBarStepSelectedShadowOpacity:void 0,playbackBarStepSelectedShadowSpread:void 0,playbackBarStepSelectedShadowVerticalLength:void 0,subtitlesBackgroundColor:"#000000",subtitlesBackgroundOpacity:1,subtitlesBorderColor:void 0,subtitlesBorderSize:0,subtitlesBottom:"10%",subtitlesFontFamily:void 0,subtitlesFontColor:"#ffffff",subtitlesFontSize:"12px",subtitlesFontStyle:void 0,subtitlesFontWeight:void 0,subtitlesGap:10,subtitlesHorizontalAlign:"center",subtitlesOpacity:1,subtitlesPaddingTop:5,subtitlesPaddingBottom:5,
subtitlesPaddingLeft:5,subtitlesPaddingRight:5,subtitlesShadow:!1,subtitlesShadowBlurRadius:void 0,subtitlesShadowHorizontalLength:0,subtitlesShadowVerticalLength:0,subtitlesShadowColor:"#000000",subtitlesShadowOpacity:0,subtitlesTextDecoration:void 0,subtitlesTextShadowBlurRadius:void 0,subtitlesTextShadowColor:"#000000",subtitlesTextShadowHorizontalLength:0,subtitlesTextShadowOpacity:0,subtitlesTextShadowVerticalLength:0,subtitlesTop:void 0,subtitlesVerticalAlign:"bottom",transitionDuration:500,
blendingTransitionDuration:void 0,disolveTransitionDuration:void 0,translationTransitionDuration:void 0,translationTransitionEnabled:!0,toolTipEnabled:!0};d.defaults(w.uc,t.uc);w.prototype.set=function(x,y){"playbackState"==x&&(y=this.mi,this.get(x)!=y&&(this.R7=!0,this.XJa()));switch(x){case "toolTipEnabled":this.set("toolTipDisabled",!1===y);break;case "cardboardPointerDistance":this.set("vrPointerDistance",y);break;case "cardboardPointerColor":this.set("vrPointerColor",y);break;case "cardboardPointerSelectionColor":this.set("vrPointerSelectionColor",
y);break;case "cardboardPointerSelectionTime":this.set("vrPointerSelectionTime",y);break;case "playbackBarVisible":case "playbackBarRollOverDisplay":this.$N()}t.prototype.set.call(this,x,y)};w.prototype.nb=function(){this.Dn(w.uc)};w.prototype.zb=function(){t.prototype.zb.call(this);null==this.Kn&&(this.Kn=new v,this.Kn.set("width","100%"),this.Kn.set("height","100%"),this.Kn.set("toolTipDisabled",!0),this.Kn.set("interactionEnabled",!1),this.Kn.set("content"),this.Va(this.Kn),h.defer(function(){this.Kn.set("cursor",
n.jt)}.bind(this)),this.YK=new l(this,this.Kn.Ab().aI()),this.YK.mc(!1));null==this.Lh&&(this.Lh=new f,this.Va(this.Lh));null==this.Pd&&(this.Pd=new c,this.Pd.bind(m.ta,this.O7,this,!0),this.Va(this.Pd),this.$N())};w.prototype.mUa=function(){return this.Pd};w.prototype.Tl=function(){t.prototype.Tl.call(this);for(var x=[],y=this.J8.length-1;0<=y;y--)x.push(this.J8[y].j);this.Kn&&x.push(this.Kn);this.Pd&&x.push(this.Pd);this.Lh&&x.push(this.Lh);var A=this.Kb();x=x.filter(function(B){return 0<=A.indexOf(B)});
A=A.filter(function(B){return-1==x.indexOf(B)}).concat(x);A.forEach(function(B,z){B&&this.pba(B)!=z&&this.cn(B,z)}.bind(this))};w.prototype.Ua=function(){this.I("externalProgressBar")&&((this.qS=this.B("externalProgressBar"))?this.removeChild(this.Lh):this.Va(this.Lh),this.P("externalProgressBar"),d(w.tga).each(function(y){this.DC(y)},this));this.kc(w.mCa,w.iga,[this.Lh],!0,!0);var x=[this.Lh];this.qS&&x.push(this.qS);this.kc(w.tga,w.uga,x,!0,!0);this.I("externalPlaybackBar")&&(this.ur&&this.ur.unbind(m.ta,
this.O7,this,!0),(this.ur=this.B("externalPlaybackBar"))?this.removeChild(this.Pd):this.Va(this.Pd),this.$N(),this.ur&&this.ur.bind(m.ta,this.O7,this,!0),this.P("externalPlaybackBar"),d(w.pga).each(function(y){this.DC(y)},this));this.kc(w.lCa,w.hga,[this.Pd],!0,!0);x=[this.Pd];this.ur&&x.push(this.ur);this.kc(w.pga,w.qga,x,!0,!0);t.prototype.Ua.call(this)};w.prototype.dSa=function(){this.R7&&(this.R7=!1,this.GE.set("state",this.mi==k.Db?u.ob:u.Be),this.HE.set("state",this.mi==k.X||this.mi==k.Db?u.ob:
u.Be),this.EA.set("state",this.mi==k.X?u.ob:u.Be),this.JE.set("state",this.mi==k.T?u.ob:u.Be))};w.prototype.yc=function(x){this.mi=x;this.set("playbackState",x)};w.prototype.JU=function(){w.jk(this)};w.prototype.aMa=function(){w.ek(this)};w.prototype.aC=function(){this.mi==k.Db?this.mk():this.Op()};w.prototype.bC=function(){this.mk()};w.prototype.FLa=function(){this.mi==k.X?this.Op():this.mk()};w.prototype.hy=function(){this.ho()};w.prototype.by=function(){this.ho();this.mk()};w.prototype.$La=function(){if(!this.Uj||
!this.Uj.Kta())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var x=this.Ib().Mi;x&&x.wg()&&x.toggle()}};w.prototype.bMa=function(x){this.J8=x.data.players;this.Hd()};w.prototype.mk=function(){this.cm&&this.cm.play()};w.prototype.Op=function(){this.cm&&this.cm.pause()};w.prototype.ho=function(){this.cm&&this.cm.stop()};w.prototype.JLa=function(x){this.Xpa(x.data.player)};w.prototype.ILa=function(x){this.Uj==x.data.player&&this.Xpa(null)};w.prototype.Bna=function(){w.Lq(this)};w.prototype.dMa=
function(){this.In=!0;this.$N()};w.prototype.cMa=function(){this.In=!1;this.$N()};w.prototype.$N=function(){this.Pd&&this.Pd.set("visible",this.get("playbackBarVisible")&&(this.In||!this.get("playbackBarRollOverDisplay")||p.WZ()))};w.prototype.Xpa=function(x){this.Uj!=x&&(this.set("playbackBarVisible",!1),this.Uj&&this.Uj.Lq(!1),this.cm&&this.cm.unbind(m.G("state"),this.h1,this),this.JMa=this.Uj,(this.Uj=x)&&this.Uj.Lq(!!this.HF),(this.cm=this.Uj&&this.Uj.tEa?this.Uj:null)&&this.cm.bind(m.G("state"),
this.h1,this,!0),this.h1())};w.prototype.Lq=function(x){this.HF=x;this.set("isKeyboardTarget",x);this.Uj&&this.Uj.Lq(!!this.HF)};w.prototype.XZa=function(){return!this.JMa};w.prototype.h1=function(){this.cm?this.yc(this.cm.get("state")):this.yc(k.T)};w.prototype.O7=function(){var x=(this.ur?this.ur:this.Pd).get("position");this.trigger(new b(w.$_,{position:x}))};w.iga={progressBackgroundColor:"backgroundColor",progressBackgroundColorDirection:"backgroundColorDirection",progressBackgroundColorRatios:"backgroundColorRatios",
progressBackgroundOpacity:"backgroundOpacity",progressBarBackgroundColor:"barBackgroundColor",progressBarBackgroundColorDirection:"barBackgroundColorDirection",progressBarBackgroundColorRatios:"barBackgroundColorRatios",progressBarBorderColor:"barBorderColor",progressBarBorderRadius:"barBorderRadius",progressBarBorderSize:"barBorderSize",progressBarOpacity:"barOpacity",progressBorderColor:"borderColor",progressBorderRadius:"borderRadius",progressBorderSize:"borderSize",progressHeight:"height",progressOpacity:"opacity",
progressBottom:"bottom",progressLeft:"left",progressRight:"right"};w.mCa=d(w.iga).keys();w.uga={progressPercent:"percent",progressVisible:"visible"};w.tga=d(w.uga).keys();w.hga={playbackBarBackgroundColor:"backgroundColor",playbackBarBackgroundColorDirection:"backgroundColorDirection",playbackBarBackgroundOpacity:"backgroundOpacity",playbackBarBorderColor:"borderColor",playbackBarBorderRadius:"borderRadius",playbackBarBorderSize:"borderSize",playbackBarBottom:"bottom",playbackBarHeight:"height",playbackBarWidth:"width",
playbackBarLeft:"left",playbackBarOpacity:"opacity",playbackBarRight:"right",playbackBarLiveDragging:"liveDragging",playbackBarProgressBackgroundColor:"barBackgroundColor",playbackBarProgressBackgroundColorDirection:"barBackgroundColorDirection",playbackBarProgressBackgroundColorRatios:"barBackgroundColorRatios",playbackBarProgressBorderColor:"barBorderColor",playbackBarProgressBorderRadius:"barBorderRadius",playbackBarProgressBorderSize:"barBorderSize",playbackBarProgressOpacity:"barOpacity",playbackBarHeadBackgroundColor:"playheadBackgroundColor",
playbackBarHeadBackgroundColorDirection:"playheadBackgroundColorDirection",playbackBarHeadBackgroundColorRatios:"playheadBackgroundColorRatios",playbackBarHeadBorderColor:"playheadBorderColor",playbackBarHeadBorderRadius:"playheadBorderRadius",playbackBarHeadBorderSize:"playheadBorderSize",playbackBarHeadOpacity:"playheadOpacity",playbackBarHeadWidth:"playheadWidth",playbackBarHeadHeight:"playheadHeight",playbackBarHeadShadow:"playheadShadow",playbackBarHeadShadowBlurRadius:"playheadShadowBlurRadius",
playbackBarHeadShadowColor:"playheadShadowColor",playbackBarHeadShadowHorizontalLength:"playheadShadowHorizontalLength",playbackBarHeadShadowOpacity:"playheadShadowOpacity",playbackBarHeadShadowSpread:"playheadShadowSpread",playbackBarHeadShadowVerticalLength:"playheadShadowVerticalLength",playbackBarStepBackgroundColor:"stepBackgroundColor",playbackBarStepBackgroundColorDirection:"stepBackgroundColorDirection",playbackBarStepBackgroundColorRatios:"stepBackgroundColorRatios",playbackBarStepBorderColor:"stepBorderColor",
playbackBarStepBorderRadius:"stepBorderRadius",playbackBarStepBorderSize:"stepBorderSize",playbackBarStepOpacity:"stepOpacity",playbackBarStepWidth:"stepWidth",playbackBarStepHeight:"stepHeight",playbackBarStepShadow:"stepShadow",playbackBarStepShadowBlurRadius:"stepShadowBlurRadius",playbackBarStepShadowColor:"stepShadowColor",playbackBarStepShadowHorizontalLength:"stepShadowHorizontalLength",playbackBarStepShadowOpacity:"stepShadowOpacity",playbackBarStepShadowSpread:"stepShadowSpread",playbackBarStepShadowVerticalLength:"stepShadowVerticalLength",
playbackBarSelectedStepBackgroundColor:"selectedStepBackgroundColor",playbackBarSelectedStepBackgroundColorDirection:"selectedStepBackgroundColorDirection",playbackBarSelectedStepBackgroundColorRatios:"selectedStepBackgroundColorRatios",playbackBarSelectedStepBorderColor:"selectedStepBorderColor",playbackBarSelectedStepBorderRadius:"selectedStepBorderRadius",playbackBarSelectedStepBorderSize:"selectedStepBorderSize",playbackBarSelectedStepOpacity:"selectedStepOpacity",playbackBarSelectedStepWidth:"selectedStepWidth",
playbackBarSelectedStepHeight:"selectedStepHeight",playbackBarSelectedStepShadow:"selectedStepShadow",playbackBarSelectedStepShadowBlurRadius:"selectedStepShadowBlurRadius",playbackBarSelectedStepShadowColor:"selectedStepShadowColor",playbackBarSelectedStepShadowHorizontalLength:"selectedStepShadowHorizontalLength",playbackBarSelectedStepShadowOpacity:"selectedStepShadowOpacity",playbackBarSelectedStepShadowSpread:"selectedStepShadowSpread",playbackBarSelectedStepShadowVerticalLength:"selectedStepShadowVerticalLength"};
w.lCa=d(w.hga).keys();w.qga={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};w.pga=d(w.qga).keys();w.HQ="requestByPlayer";w.pfa="playerShow";w.ofa="playerHide";w.$_="playbackBarPositionChange";w.FB=null;w.Lq=function(x){w.FB!=x&&(w.FB&&w.FB.Lq(!1),w.FB=x,w.FB&&w.FB.Lq(!0))};w.Ry=[];w.jk=function(x){var y=w.Ry.indexOf(x);-1<y&&w.Ry.splice(y,1);w.Ry.push(x);this.Lq(x)};w.ek=function(x){var y=
w.Ry.indexOf(x);-1<y&&w.Ry.splice(y,1);w.FB==x&&w.Lq(w.Ry.length?w.Ry[w.Ry.length-1]:null)};return w});
define("cX",["require","li","lJ","cw","bz"],function(a){var d=a("li"),h=a("lJ"),m=a("cw"),k=a("bz"),b=d.extend(h,function(g){h.call(this);this.tEa=g;this.nN=this.Sx=null});b.Wg="mediaShow";b.Xl="mediaHide";b.prototype.Lq=function(){};b.prototype.Kta=function(){return!1};b.prototype.jN=function(g){this.Sx!=g&&(this.Sx&&this.u$(this.Sx),(this.Sx=g)&&this.W1(this.Sx))};b.prototype.W1=function(g){g.bind(k.HQ,this.Usa,this,!0);g.bind(k.$_,this.xM,this)};b.prototype.u$=function(g){g.unbind(k.HQ,this.Usa,
this);g.unbind(k.$_,this.xM,this)};b.prototype.wI=function(g){this.Sx.trigger(new m(k.HQ,{players:g||[this]}))};b.prototype.Usa=function(g){0>g.data.players.indexOf(this)&&this.aH()};b.prototype.xM=function(){};b.prototype.aH=function(){};b.prototype.qL=function(g){this.trigger(new m(b.Wg,{media:g}));this.nN=this.Sx;this.nN.trigger(new m(k.pfa,{player:this}))};b.prototype.pL=function(g){this.trigger(new m(b.Xl,{media:g}));this.nN&&(this.nN.trigger(new m(k.ofa,{player:this})),this.nN=null)};return b});
define("jQ",["require"],function(){return{Jz:"constrained",PAa:"free_drag",i_a:"free_drag_and_rotation",J0:"sync_with_field_of_view"}});
define("kv",["require","li","jQ","lX"],function(a){function d(){this.va=!0;this.Ja=this.Ga=.5;this.Zc=0;this.ib=1;this.yf=m.qh;this.Cm=h.Jz;this.u6=this.x6=1;this.ue=this.ve=this.dm=this.em=100;this.Pm=d.oA}a("li");var h=a("jQ"),m=a("lX");d.prototype.vva=function(){return this.Pm!==d.oA};d.prototype.uva=function(){return this.Pm&d.sE?!0:!1};d.prototype.wva=function(){return this.Pm&d.tE?!0:!1};d.prototype.xva=function(){return this.Pm&d.sA?!0:!1};d.prototype.tva=function(){return this.Pm&d.nA?!0:
!1};d.prototype.getX=function(){this.Um();return this.Ga};d.prototype.getY=function(){this.Um();return this.Ja};d.prototype.Bq=function(){this.Um();return this.ib};d.prototype.WH=function(){this.Um();return this.Zc};d.prototype.setConfiguration=function(k,b,g,e,c){this.ve=k;this.ue=b;this.yf=g;this.x6=e;this.u6=c;this.Ja=this.Ga=.5;this.Zc=0;this.ib=e;this.va=!0};d.prototype.setPosition=function(k,b,g,e){this.Ga=k;this.Ja=b;this.Zc=g;this.ib=e;this.va=!0};d.prototype.Mq=function(k){this.Cm=k;this.va=
!0};d.prototype.setSize=function(k,b){this.em=k;this.dm=b;this.va=!0};d.prototype.Um=function(){if(this.va){this.va=!1;var k=d.oA;this.ib>this.u6?(this.ib=this.u6,k|=d.nCa):this.ib<this.x6&&(this.ib=this.x6,k|=d.oCa);if(this.Cm==h.Jz){switch(this.yf){case m.NONE:var b=this.ve;var g=this.ue;break;case m.Oo:b=this.em;g=this.ue*this.em/this.ve;break;case m.Nj:b=this.ve*this.dm/this.ue;g=this.dm;break;case m.Tq:this.ve*this.dm>this.ue*this.em?(b=this.ve*this.dm/this.ue,g=this.dm):(b=this.em,g=this.ue*
this.em/this.ve);break;default:case m.qh:this.ve*this.dm>this.ue*this.em?(b=this.em,g=this.ue*this.em/this.ve):(b=this.ve*this.dm/this.ue,g=this.dm)}b*=this.ib;g*=this.ib;var e=Math.min(.5*this.em/b,.5);b=Math.max(1-.5*this.em/b,.5);var c=Math.min(.5*this.dm/g,.5);g=Math.max(1-.5*this.dm/g,.5)}else e=0,b=1,c=0,g=1;this.Ga<e?(this.Ga=e,k|=d.sE):this.Ga>b&&(this.Ga=b,k|=d.tE);this.Ja<c?(this.Ja=c,k|=d.sA):this.Ja>g&&(this.Ja=g,k|=d.nA);this.Cm!=h.Jz&&this.Cm!=h.PAa||0==this.Zc||(this.Zc=0,k|=d.sCa);
this.Pm=k}};d.oA=0;d.sE=1;d.tE=2;d.sA=4;d.nA=8;d.oCa=16;d.nCa=32;d.sCa=64;return d});
define("gj",["require"],function(){function a(){this.hK=.1;this.WR=this.Y2=this.b3=this.a3=this.i3=this.X2=this.g3=this.f3=this.sO=this.Gaa=this.uA=this.w1=this.qO=this.Daa=this.oO=this.Baa=0}a.prototype.CZ=function(d){this.hK=d};a.prototype.Sya=function(d,h,m,k,b,g,e,c){this.Baa=d;this.Daa=h;this.w1=m;this.Gaa=k;this.oO+=b;this.qO+=g;this.uA+=e;this.sO+=c};a.prototype.We=function(){return 0!=this.f3||0!=this.g3||0!=this.X2||0!=this.i3||0!=this.Baa||0!=this.Daa||0!=this.w1||0!=this.Gaa||0!=this.oO||
0!=this.qO||0!=this.uA||0!=this.sO};a.prototype.yb=function(d){d=1E3/d;this.a3=this.kS(this.f3/d,this.Baa/d+this.oO,this.hK);this.b3=this.kS(this.g3/d,this.Daa/d+this.qO,this.hK);this.Y2=this.kS(this.X2/d,this.w1/d+this.uA,this.hK);this.WR=this.kS(this.i3/d,this.Gaa/d+this.sO,this.hK);this.f3=this.a3*d;this.g3=this.b3*d;this.X2=this.Y2*d;this.i3=this.WR*d;this.sO=this.uA=this.qO=this.oO=0};a.prototype.kS=function(d,h,m){return 0==h?this.dg(d,h,m):h};a.prototype.dg=function(d,h,m){d=(h-d)*(1-m);.01>
Math.abs(d)&&(d=0);return h-d};return a});
define("go","require li ox cw gf lX".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf");a("lX");var b=d.extend(k,function(){k.call(this);this.gK=7;this.ZT=this.O5=!1;this.aU=void 0;this.Zc=0;this.ib=1;this.ue=this.ve=100;this.vT=1;this.W7=!0;this.X7=!1;this.xSa=!0;this.Faa=!1;this.ab=null});b.prototype.IP=function(g){this.gK=g};b.prototype.Id=function(g,e,c,f){this.Zc=g;this.ib=e;this.ve=c;this.ue=f};b.prototype.AYa=function(g){this.W7=g;this.bW(this.W7&&!!this.ab)};b.prototype.Hq=
function(g){this.ab!=g&&(this.bW(!1),this.q9(!1),this.Hl(),this.ab=g,this.bW(this.W7&&!!this.ab),this.q9(this.xSa&&!!this.ab))};b.prototype.Hl=function(){this.bW(!1);this.q9(!1);this.ab=null};b.prototype.bW=function(g){this.X7!=g&&((this.X7=g)?this.SDa():this.RQa())};b.prototype.q9=function(g){this.Faa!=g&&((this.Faa=g)?this.TDa():this.SQa())};b.prototype.SDa=function(){this.ab.bind(h.vb,this.Nd,this,!0);this.ab.bind(h.hc,this.qj,this,!0);this.ab.bind(h.Zb,this.rj,this,!0)};b.prototype.RQa=function(){this.ab.unbind(h.vb,
this.Nd,this);this.ab.unbind(h.hc,this.qj,this);this.ab.unbind(h.Zb,this.rj,this)};b.prototype.TDa=function(){this.ab.bind(h.Xq,this.OB,this,!0);this.ab.bind(h.fE,this.kB,this,!0)};b.prototype.SQa=function(){this.ab.unbind(h.Xq,this.OB,this);this.ab.unbind(h.fE,this.kB,this)};b.prototype.Nd=function(g){this.BPa(g)};b.prototype.qj=function(g){this.psa(g)};b.prototype.rj=function(){this.T3()};b.prototype.OB=function(g){this.daa(g)};b.prototype.kB=function(g){this.eaa(g)};b.prototype.BPa=function(g){this.O5=
!0;this.ZT=!1;this.aU=g;this.psa(g)};b.prototype.psa=function(g){if(this.O5){var e=g.pageX-this.aU.pageX,c=g.pageY-this.aU.pageY;this.ZT||(Math.sqrt(e*e+c*c)>this.gK?this.ZT=!0:e=c=0);this.ZT&&(this.aU=g);g=this.Zc*Math.PI/180;this.trigger(new m(b.Jo,{xDelta:-((e*Math.cos(g)+c*Math.sin(g))/this.ve),yDelta:-((c*Math.cos(g)-e*Math.sin(g))/this.ue)}))}};b.prototype.T3=function(){this.O5=!1};b.prototype.eaa=function(g){if(this.vT!=g.scale){this.T3();var e=this.vT;this.vT=g.scale;this.trigger(new m(b.No,
{zoomDelta:this.ib*this.vT/e-this.ib}))}};b.prototype.daa=function(g){0!=g.delta&&(this.T3(),this.trigger(new m(b.No,{zoomDelta:this.ib*g.NX*.1})))};b.Jo="position change";b.No="zoom change";b.u_a="vieport navigation";b.t_a="relative navigation";b.s_a="relative exponential navigation";b.r_a="dragging";return b});define("jy",["require"],function(){return{D0:"rotateClockwise",E0:"rotateCounterClockwise",zt:"zoomIn",At:"zoomOut",Ff:"stop"}});
define("nn","require li cw gf lX gj go jy ox".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("lX"),b=a("gj"),g=a("go"),e=a("jy");a("ox");var c=d.extend(m,function(f,l){m.call(this);this.j=f;this.ga=l;this.Cr=this.tV=this.W=!1;this.Ja=this.Ga=.5;this.Zc=0;this.ib=1;this.ue=this.ve=100;this.yf=k.Jz;this.bc=new b;this.kb=new g;this.j.Jn?(this.kb.IP(c.c1),this.bc.CZ(c.d1)):(this.kb.IP(0),this.bc.CZ(1));this.kb.bind(g.Jo,this.vLa,this,!0);this.kb.bind(g.No,this.Yx,this,!0)});c.prototype.clear=
function(){this.kb.unbind(g.Jo,this.s0a,this,!0);this.kb.unbind(g.No,this.Yx,this,!0);this.kb.Hl();this.j=this.ga=this.bc=this.kb=null};c.prototype.Jj=function(f){switch(f){case e.D0:this.Ic(0,0,+c.Y0,0,0,0,0,0);break;case e.E0:this.Ic(0,0,-c.Y0,0,0,0,0,0);break;case e.zt:this.Ic(0,0,0,+c.kJ,0,0,0,0);break;case e.At:this.Ic(0,0,0,-c.kJ,0,0,0,0);break;case e.Ff:this.Ic(0,0,0,0,0,0,0,0)}};c.prototype.setPosition=function(f,l,p,q,n,r){this.Ga=f;this.Ja=l;this.Zc=p;this.ib=q;this.ve=n;this.ue=r;this.kb.Id(this.Zc,
this.ib,this.ve,this.ue)};c.prototype.We=function(){return this.W&&this.bc.We()};c.prototype.yb=function(f){this.bc.yb(f);this.ga.setPosition(this.Ga+this.bc.a3,this.Ja+this.bc.b3,this.Zc+this.bc.Y2,this.ib+this.bc.WR);this.Ga=this.ga.getX();this.Ja=this.ga.getY();this.Zc=this.ga.WH();this.ib=this.ga.Bq()};c.prototype.MP=function(f){this.Cr=f;this.kb.AYa(!this.Cr)};c.prototype.mc=function(f){(this.W=f)?this.kb.Hq(this.j.getParent()):this.kb.Hl()};c.prototype.vLa=function(f){this.Ic(0,0,0,0,f.data.xDelta,
f.data.yDelta,0,0)};c.prototype.Yx=function(f){this.Ic(0,0,0,0,0,0,0,f.data.zoomDelta)};c.prototype.Ic=function(f,l,p,q,n,r,u,t){this.bc.Sya(f,l,p,q,n,r,u,t);this.Nh()};c.prototype.Nh=function(){this.trigger(new h(c.ph))};c.ph="position change request";c.c1=7;c.d1=.2;c.kJ=.5;c.Y0=30;return c});
define("mE","require li cw gf nZ bE gj go jy ox".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("nZ"),b=a("bE"),g=a("gj"),e=a("go"),c=a("jy");a("ox");var f=d.extend(m,function(l,p){m.call(this);this.j=l;this.ga=p;this.W=!1;this.Ja=this.Ga=.5;this.Zc=0;this.ib=1;this.ue=this.ve=100;this.V=null;this.O3=!0;this.Qc=null;this.TU=0;this.ks=this.zk=this.ov=void 0;this.bc=new g;this.kb=new e;this.j.Jn?(this.kb.IP(f.c1),this.bc.CZ(f.d1)):(this.kb.IP(0),this.bc.CZ(1));this.kb.bind(e.No,this.Yx,
this,!0)});f.prototype.hYa=function(l,p){this.ve=l;this.ue=p;this.nH()};f.prototype.$v=function(l){this.Qc!=l&&(this.Qc=l,this.TU=void 0,this.nH())};f.prototype.gn=function(l,p){this.Qc==l&&(this.TU=p,this.nH())};f.prototype.nH=function(){if(this.Qc&&void 0!=this.TU){var l=this.Qc.get("x",0)/this.ve;var p=this.Qc.get("y",0)/this.ue;var q=-(this.TU+this.Qc.get("angle",0))}else q=p=l=void 0;this.ks!=q&&(this.ks=q,this.Nh());if(this.ov!=l||this.zk!=p)this.ov=l,this.zk=p,this.WJa(),this.Nh()};f.prototype.WJa=
function(){this.O3=!0;this.Nh()};f.prototype.MC=function(){if(this.O3||this.V&&this.V.Ke())if(this.O3=!1,this.V=null,void 0!=this.ov&&void 0!=this.zk&&void 0!=this.ks){for(var l=this.ks-this.Zc;180<l;)l-=360;for(;-180>l;)l+=360;this.Ga!=this.ov||this.Ja!=this.zk?this.V=new k("quad_in_out",[new b("x",this.Ga,this.ov,1),new b("y",this.Ja,this.zk,1),new b("angleDif",l,l,360)],500):this.ks!=this.Zc&&(this.V=new k("quad_in_out",[new b("x",this.Ga,this.Ga,1),new b("y",this.Ja,this.Ja,1),new b("angleDif",
l,0,360)],500))}};f.prototype.clear=function(){this.kb.unbind(e.No,this.Yx,this,!0);this.kb.Hl();this.j=this.ga=this.V=this.bc=this.kb=null};f.prototype.Jj=function(l){switch(l){case c.zt:this.Ic(+f.kJ,0);break;case c.At:this.Ic(-f.kJ,0);break;case c.Ff:this.Ic(0,0)}};f.prototype.setPosition=function(l,p,q,n,r,u){this.Ga=l;this.Ja=p;this.Zc=q;this.ib=n;this.kb.Id(this.Zc,this.ib,r,u)};f.prototype.We=function(){return this.W&&(this.V||this.bc.We()||void 0!=this.ov&&this.Ga!=this.ov||void 0!=this.zk&&
this.Ja!=this.zk||void 0!=this.ks&&this.Zc!=this.ks)?!0:!1};f.prototype.yb=function(l){this.MC();this.V?(this.V.yb(l),this.Ga=this.V.cb("x"),this.Ja=this.V.cb("y"),this.Zc=this.ks-this.V.cb("angleDif")):(void 0!=this.ov&&(this.Ga=this.ov),void 0!=this.zk&&(this.Ja=this.zk),void 0!=this.ks&&(this.Zc=this.ks));this.bc.yb(l);this.ga.setPosition(this.Ga,this.Ja,this.Zc,this.ib+this.bc.WR);this.Ga=this.ga.getX();this.Ja=this.ga.getY();this.Zc=this.ga.WH();this.ib=this.ga.Bq()};f.prototype.mc=function(l){(this.W=
l)?(this.kb.Hq(this.j.getParent()),this.nH()):this.kb.Hl()};f.prototype.Yx=function(l){this.Ic(0,l.data.zoomDelta)};f.prototype.Ic=function(l,p){this.bc.Sya(0,0,0,l,0,0,0,p);this.Nh()};f.prototype.Nh=function(){this.trigger(new h(f.ph))};f.ph="position change request";f.c1=7;f.d1=.2;f.kJ=.5;f.Y0=30;return f});
define("nH","require li cw gf jQ lX kv nn mE ox".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("jQ"),b=a("lX"),g=a("kv"),e=a("nn"),c=a("mE"),f=a("ox"),l=d.extend(m,function(p){m.call(this);this.j=p;this.j.bind(f.ic,this.ec,this);this.Cm=k.Jz;this.Qc=null;this.Ja=this.Ga=.5;this.Zc=0;this.ib=1;this.Qa=null;this.JV=this.IV=this.vs=this.us=!1;this.Rm=!0;this.W=!1;this.ga=new g;this.ga.Mq(this.Cm);this.Tb=new e(this.j,this.ga);this.Tb.bind(e.ph,this.Ip,this,!0);this.si=new c(this.j,this.ga);
this.si.bind(c.ph,this.Ip,this,!0);this.vV()});l.prototype.clear=function(){this.Tb.unbind(e.ph,this.Ip,this);this.Tb.clear();this.Tb=null;this.si.unbind(c.ph,this.Ip,this);this.si.clear();this.Qa=this.ga=this.si=null;this.j.unbind(f.ic,this.ec,this);this.j=null};l.prototype.stop=function(){this.be=this.Qa=null;this.W=!1;this.Tb.mc(!1);this.si.mc(!1);this.ev(0,0,0)};l.prototype.start=function(p){var q=p.Qa,n=q.get("width",100),r=q.get("height",100),u=q.get("scaleMode",b.qh),t=q.get("minimumZoomFactor",
1),v=q.get("maximumZoomFactor",1),w=q.get("initialZoomFactor",1);this.Qa=q;this.W=!0;this.be=p.getItem();this.ev(0,0,0);this.si.hYa(n,r);this.ga.setConfiguration(n,r,u,t,v);this.ga.setPosition(.5,.5,0,w);this.j.NP(this.be,this.ga.getX(),this.ga.getY(),this.ga.WH(),this.ga.Bq());this.vV()};l.prototype.Jj=function(p){this.Tb.Jj(p);this.si.Jj(p)};l.prototype.Mq=function(p){this.Cm!=p&&(this.Cm=p,this.ga.Mq(p),this.vV())};l.prototype.$v=function(p){this.Qc!=p&&(this.Qc=p,this.si.$v(p),this.vV())};l.prototype.MP=
function(p){this.Tb&&this.Tb.MP(p)};l.prototype.gn=function(p,q,n,r){this.si.gn(p,q,n,r)};l.prototype.Rv=function(p){this.W&&(this.si.We()?(this.si.yb(p),this.yl(this.si.Ga,this.si.Ja,this.si.Zc,this.si.ib),this.Ma()):this.Tb.We()?(this.Tb.yb(p),this.yl(this.Tb.Ga,this.Tb.Ja,this.Tb.Zc,this.Tb.ib),this.Ma()):this.ev(0,0,0))};l.prototype.wd=function(){if(this.be){var p=this.j.RO(this.be),q=this.j.SO(this.be),n=this.j.jY(this.be),r=this.j.Nua(this.be),u=this.j.QO(this.be),t=this.j.PO(this.be),v=p-this.Ga,
w=q-this.Ja,x=r-this.ib;this.Ga=p;this.Ja=q;this.Zc=n;this.ib=r;this.ev(v,w,x);this.si.setPosition(p,q,n,r,u,t);this.Tb.setPosition(p,q,n,r,u,t)}};l.prototype.vV=function(){this.Cm==k.J0&&null!=this.Qc&&this.Qc.get("map")==this.Qa?(this.Tb.mc(!1),this.si.mc(!0)):(this.Tb.mc(!0),this.si.mc(!1))};l.prototype.Ip=function(){this.Ma()};l.prototype.ec=function(){this.ga.setSize(this.j.Wa(),this.j.xb());this.Ma()};l.prototype.Ma=function(){this.trigger(new h(l.Cb))};l.prototype.yl=function(p,q,n,r){this.j.NP(this.be,
p,q,n,r)};l.prototype.ev=function(p,q,n){p=!1;this.vs!=0>n&&(this.vs=!this.vs,p=!0);this.us!=0<n&&(this.us=!this.us,p=!0);this.IV!=0<this.uA&&(this.IV=!this.IV,p=!0);this.JV!=0>this.uA&&(this.JV=!this.JV,p=!0);this.Rm!=(0==n)&&(this.Rm=!this.Rm,p=!0);p&&this.trigger(new h(l.Lj,{rotatingClockwise:this.IV,rotatingCounterClockwise:this.JV,zoomingIn:this.us,zoomingOut:this.vs,stopped:this.Rm}))};l.Cb="request frame";l.Lj="movement change";return l});
define("jC","require li cw gf lX kv".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("lX"),b=a("kv"),g=d.extend(m,function(e,c){m.call(this);this.N=e;this.j=c;this.ga=new b;this.tg=[];this.oa=g.th;this.mp=this.fj=this.Wk=null;this.Pg=this.N.get("transitionDuration");this.vg=void 0});g.prototype.Mq=function(e){this.ga.Mq(e)};g.prototype.EO=function(e){e.gP()&&this.q2();this.tg.push(e);this.yU()};g.prototype.hide=function(){this.q2();this.tg.push(null);this.yU()};g.prototype.clear=function(){this.oa=
g.th;this.q2();this.ZMa();this.x8();this.j=null};g.prototype.wd=function(e){this.oa==g.th||this.oa!=g.wn&&this.oa!=g.Fw||(this.vg+=e,e=Math.min(1,this.vg/this.Pg),this.oa==g.wn?this.j.Kq(this.mp,e):this.j.Kq(this.aS,1-e),this.vg<this.Pg?this.Ma():this.oa==g.wn?this.PGa():this.RGa())};g.prototype.yU=function(){if(this.oa==g.th){for(;0<this.tg.length&&this.hDa(this.tg[0],this.fj);)this.tg.shift();0<this.tg.length&&this.ap()}};g.prototype.hDa=function(e,c){return e==c||!!e&&!!c&&e.isEqual(c)};g.prototype.ap=
function(){!this.fj||this.tg[0]&&!this.tg[0].gP()||this.fj.Qa==(this.tg[0]&&this.tg[0].Qa)||this.trigger(new h(g.Mz,{map:this.fj.Qa}));"fade_out_fade_in"!=this.N.get("transitionMode","blending")||!this.fj||this.tg[0]&&!this.tg[0].gP()?(this.mp=(this.Wk=this.tg.shift())&&this.Wk.getItem(),this.Wk?this.yJ():this.fj&&this.Nw()):this.Nw()};g.prototype.yJ=function(){this.ECa();this.Wk.gP()&&this.VNa();this.vg=0;this.oa=g.wn;this.Ma()};g.prototype.PGa=function(){this.x8();this.fj=this.Wk;this.aS=this.mp;
this.mp=this.Wk=null;this.sx()};g.prototype.Nw=function(){this.vg=0;this.oa=g.Fw;this.Ma()};g.prototype.RGa=function(){this.x8();this.fj=null;this.sx()};g.prototype.sx=function(){this.oa=g.th;this.fj&&this.fj.gP()&&this.trigger(new h(g.Nz,{map:this.fj.Qa}));0==this.tg.length?this.fj?this.trigger(new h(g.N_,{level:this.fj})):this.trigger(new h(g.z_)):this.ap()};g.prototype.VNa=function(){var e=this.Wk.Qa;this.Wk.Ej();this.ga.setConfiguration(e.get("width",100),e.get("height",100),e.get("scaleMode",
k.qh),e.get("minimumZoomFactor",1),e.get("maximumZoomFactor",1));this.ga.setPosition(.5,.5,0,e.get("initialZoomFactor",1));this.j.NP(this.mp,this.ga.getX(),this.ga.getY(),this.ga.WH(),this.ga.Bq())};g.prototype.Ma=function(){this.trigger(new h(g.Cb))};g.prototype.q2=function(){for(;0<this.tg.length;){var e=this.tg.shift();e&&this.j.aj(e.getItem())}};g.prototype.ECa=function(){this.Wk&&(this.j.Haa(this.mp),this.j.Saa(this.mp),this.j.Kq(this.mp,0),this.trigger(new h(g.M_,{level:this.Wk})))};g.prototype.x8=
function(){this.fj&&(this.j.removeItem(this.aS),this.trigger(new h(g.tQ,{level:this.fj})),this.j.aj(this.aS),this.aS=this.fj=null)};g.prototype.ZMa=function(){this.Wk&&(this.j.removeItem(this.mp),this.trigger(new h(g.tQ,{level:this.Wk})),this.j.aj(this.mp),this.mp=this.Wk=null)};g.th="stopped";g.wn="blending";g.Fw="disolving";g.Cb="request frame";g.M_="level added";g.tQ="level removed";g.N_="level fully displayed";g.z_="all pending maps hidden";g.Nz="map show";g.Mz="map hide";return g});
define("ku",["require","exports","li","y"],function(a,d,h,m){var k=function(){return function(){}}();return function(){function b(){}b.fa=function(g,e,c,f){this.Fga(g,e,c,f,!1)};b.ZC=function(g,e,c,f){this.Fga(g,e,c,f,!0)};b.Fga=function(g,e,c,f,l){function p(){for(var r=[],u=0;u<e.length;u++)try{r.push(g.get(e[u]))}catch(t){r.push(void 0),h.kP("BindingsHandler._addBinding",t)}c.apply(this,r)}e=h.toArray(e);l&&(p=h.zo(p));var q=[];e.forEach(function(r){(r=m.Vs(g,r,p,this,!l))&&q.push(r)},this);var n=
new k;n.YZa=q;n.host=g;n.Vb=e;n.cP=c;this.Naa.push(n);f&&p()};b.ca=function(g,e,c){var f=[];this.Naa.forEach(function(l){l.cP==c&&l.host==g&&h.eVa(l.Vb,h.toArray(e))?l.YZa.forEach(function(p){p.Az()}):f.push(l)});this.Naa=f};b.Naa=[];return b}()});
define("kT",["require"],function(){function a(d,h){this.Qa=d;this.Ra=d.get("image");this.xe=h;this.L5=void 0}a.prototype.getItem=function(){switch(this.xe){case a.FQ:return this.Qa.Yua();default:return this.Qa.Fj()}};a.prototype.Ej=function(){switch(this.xe){case a.FQ:return this.Qa.mD();default:return this.Qa.zq()}};a.prototype.gP=function(){return void 0===this.L5?0==this.getIndex():this.L5};a.prototype.TXa=function(d){this.L5=d};a.prototype.iP=function(){return this.xe==a.Fea};a.prototype.isEqual=
function(d){return d&&this.Qa==d.map&&this.xe==d.type};a.prototype.getIndex=function(){return this.xe==a.FQ||this.Qa.hI()?0:1};a.prototype.Cua=function(){return this.Qa.hI()?2:1};a.FQ="preload";a.Fea="load";return a});
define("iJ","require li ku ox cw gf kT v".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("cw"),b=a("gf"),g=a("kT"),e=a("v"),c=d.extend(b,function(f){b.call(this);this.j=f;this.tg=[];this.YJ=this.KB=this.Fg=null;this.AB=!1;this.xT=null;this.qU=d.zo(this.qU,this)});c.prototype.clear=function(){this.stop();this.j=null};c.prototype.swa=function(f,l){if(this.xT!=f||l)this.stop(),this.Qa=f,this.Qa.gXa(),h.ZC(this.Qa,"image.levels.url",this.qU),l=[],f.hI()&&e.mb()&&l.push(new g(f,g.FQ)),l.push(new g(f,
g.Fea)),l=l.filter(function(p){return p.getItem().ui()}),l.length&&(this.tg=this.tg.concat(l),this.yU())};c.prototype.qU=function(){this.reload()};c.prototype.reload=function(){this.swa(this.Qa,!0)};c.prototype.stop=function(){h.ca(this.Qa,"image.levels.url",this.qU);this.xT=this.Qa=null;this.tg=[];this.dra();this.AB&&(this.AB=!1,this.q$(),this.j.aj(this.Fg.getItem()),this.Fg=null,this.trigger(new k(c.uQ)))};c.prototype.yU=function(){this.AB||this.o6()};c.prototype.o6=function(){0<this.tg.length?
(this.Fg=this.tg.shift(),this.AB||(this.AB=!0,this.trigger(new k(c.sQ,{level:this.Fg,percent:0}))),this.MDa(),this.j.bn(this.Fg.getItem()),this.j.UZ(this.Fg.getItem())&&this.U6()):this.AB&&(this.AB=!1,this.trigger(new k(c.uQ)))};c.prototype.U6=function(){this.q$();this.sPa();this.Fg=null;this.o6()};c.prototype.sPa=function(){this.dra();this.KB=this.Fg;var f=this;this.YJ=setTimeout(function(){f.YJ=null;f.gLa()},500)};c.prototype.gLa=function(){var f=this.KB.Qa;this.KB.TXa(f!=this.xT);this.xT=f;this.trigger(new k(c.O_,
{level:this.KB}));this.KB=null};c.prototype.dra=function(){null!=this.YJ&&(clearTimeout(this.YJ),this.YJ=null,this.j.aj(this.KB.getItem()),this.KB=null)};c.prototype.Cma=function(){this.q$();this.Fg=null;this.o6()};c.prototype.Dma=function(f){this.trigger(new k(c.sQ,{level:this.Fg,percent:f.Sg}))};c.prototype.MDa=function(){var f=this.Fg.getItem();f.bind(m.Z,this.U6,this);f.bind(m.Gc,this.Cma,this);f.bind(m.sc,this.Dma,this)};c.prototype.q$=function(){var f=this.Fg.getItem();f.unbind(m.Z,this.U6,
this);f.unbind(m.Gc,this.Cma,this);f.unbind(m.sc,this.Dma,this)};c.sQ="level loading progress";c.O_="level loaded";c.uQ="load stopped";return c});
define("ns",["require"],function(){function a(k){return k&&0==k.indexOf("#")}function d(k){return[parseInt(k.substr(1,2),16),parseInt(k.substr(3,2),16),parseInt(k.substr(5,2),16)]}function h(k,b){return Math.max(Math.abs(k[0]-b[0]),Math.abs(k[1]-b[1]),Math.abs(k[2]-b[2]))}var m={kXa:function(k,b,g){if(a(k)){var e=d(k),c=void 0,f=256;b.forEach(function(l){if(a(l)){var p=d(l);p=h(e,p);p<f&&(c=l,f=p)}});if(c&&f<=g)return c}return k},fY:function(k,b){return h(d(k),d(b))}};m.vP=d;m.SD=function(k){k=d(k);
return k[0]<<16|k[1]<<8|k[2]<<0};m.k0a=a;return m});define("cH",["require"],function(){function a(d,h){this.x=d;this.y=h}a.prototype.rotate=function(d){var h=Math.cos(d);d=Math.sin(d);var m=this.x*d+this.y*h;this.x=this.x*h-this.y*d;this.y=m;return this};a.prototype.translate=function(d,h){this.x+=d;this.y+=h;return this};a.prototype.scale=function(d,h){this.x*=d;this.y*=h;return this};return a});
define("mw",["require","lX","mL"],function(a){function d(k,b,g){this.ug=k;this.Rqa=b;this.Pqa=g;this.yf=h.sw;this.cl=m.Ae;this.Fl=m.ee}var h=a("lX"),m=a("mL");d.prototype.xz=function(k){this.yf=k};d.prototype.zI=function(k){this.cl=k};d.prototype.GI=function(k){this.Fl=k};d.prototype.QH=function(k,b,g){var e=this.Rqa,c=this.Pqa,f;switch(this.yf){case h.NONE:var l=f=1;break;case h.qh:f=l=Math.min(b/e,g/c);break;case h.Tq:f=l=Math.max(b/e,g/c);break;case h.Oo:f=l=b/e;break;case h.Nj:f=l=g/c;break;default:f=
b/e,l=g/c}var p=Math.min(this.Rqa*f,b);f=Math.min(b/f,e);switch(this.cl){case m.Oa:e=b=0;break;case m.hb:b-=p;e-=f;break;default:b=.5*(b-p),e=.5*(e-f)}var q=Math.min(this.Pqa*l,g);l=Math.min(g/l,c);switch(this.Fl){case m.tc:c=g=0;break;case m.oc:g-=q;c-=l;break;default:g=.5*(g-q),c=.5*(c-l)}k.drawImage(this.ug,Math.round(e),Math.round(c),Math.round(f+e-Math.round(e)),Math.round(l+c-Math.round(c)),Math.round(b),Math.round(g),Math.round(p+b-Math.round(b)),Math.round(q+g-Math.round(g)))};return d});
define("me","require ox hP cH kq mw".split(" "),function(a){function d(e,c,f,l){this.j=e;this.Qa=c;this.ve=this.Qa.get("width");this.ue=this.Qa.get("height");this.be=this.Qa.Fj();this.Hka=f;this.Gn=l;this.pB=null;if(this.Gn){if(this.KG=this.Hka.KG,this.ia=this.Gn.get("width"),this.ua=this.Gn.get("height"),this.Ga=this.Gn.get("x",0),this.Ja=this.Gn.get("y",0),this.Du=this.Gn.get("offsetX",0),this.Eu=this.Gn.get("offsetY",0),this.Xa=this.Gn.zq())this.Fh=new b(m.Qk),this.Fh.load(this.Xa.get("url")),
this.Fh.bind(h.Z,this.ina,this)}else this.Fh=null}var h=a("ox"),m=a("hP"),k=a("cH"),b=a("kq"),g=a("mw");d.prototype.clear=function(){this.Gn=this.Hka=this.be=this.Qa=this.j=null;this.Fh&&(this.Fh.unbind(h.Z,this.ina,this),this.Fh.cancel(),this.Fh=null);this.pB=null};d.prototype.Pua=function(e,c){this.Ika=void 0;if(this.pB&&void 0!=e&&void 0!=c){var f=.5*this.j.Wa(),l=.5*this.j.xb(),p=this.j.jY(this.be)*Math.PI/180,q=this.j.QO(this.be),n=this.j.PO(this.be),r=this.j.RO(this.be),u=this.j.SO(this.be);
e=new k(e,c);e.translate(-f,-l);e.rotate(-p);e.scale(1/q,1/n);e.translate(r,u);e.scale(this.ve,this.ue);e.translate(-this.Ga,-this.Ja);this.KG||(e.rotate(p),e.scale(q/this.ve,n/this.ue));e.translate(this.Du,this.Eu);f=Math.round(e.x);l=Math.round(e.y);0<=f&&f<this.pB.width&&0<=l&&l<this.pB.height&&(f=4*(this.pB.width*l+f),l=this.pB.data,this.Ika=0<l[f+3]?"#"+this.c2(l[f+0])+this.c2(l[f+1])+this.c2(l[f+2]):"transparent")}return this.Ika};d.prototype.ina=function(){var e=new g(this.Fh.lf(),this.Xa.get("width"),
this.Xa.get("height"));e.xz(this.Gn.get("scaleMode"));e.zI(this.Gn.get("horizontalAlign"));e.GI(this.Gn.get("verticalAlign"));var c=document.createElement("canvas");c.width=Math.round(this.ia);c.height=Math.round(this.ua);var f=c.getContext("2d");e.QH(f,c.width,c.height);this.pB=f.getImageData(0,0,c.width,c.height);c.width=c.height=0};d.prototype.c2=function(e){for(e=e.toString(16);2>e.length;)e="0"+e;return e};return d});
define("kO","require ed li ox cw gf ns me bc nZ bE".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("cw"),b=a("gf"),g=a("ns"),e=a("me"),c=a("bc"),f=a("nZ"),l=a("bE"),p=h.extend(b,function(q,n,r){b.call(this);this.j=q;this.Qa=n;this.cc=r;this.wa=this.cc.getItem();this.aq=this.cc.ava();this.bq=this.cc.bva();this.ru=this.In=void 0;this.N=this.j.getParent();this.N.bind(m.hc,this.ef,this);this.N.bind(m.ac,this.SL,this);this.N.bind(m.vb,this.fk,this);this.N.bind(m.Zb,this.Pn,this);this.N.bind(m.pa,
this.Lr,this);r.bind(m.G("selected"),this.Vna,this);r.bind(m.G("enabled"),this.Fp,this);this.HT=new e(this.j,this.Qa,this.cc,this.cc.get("map",null));this.JT=new e(this.j,this.Qa,this.cc,this.cc.get("rollOverMap",this.cc.get("map",null)));this.KT=new e(this.j,this.Qa,this.cc,this.cc.get("selectedMap",this.cc.get("rollOverMap",this.cc.get("map",null))));this.TS=new e(this.j,this.Qa,this.cc,this.cc.get("image",null));this.US=new e(this.j,this.Qa,this.cc,this.cc.get("rollOverImage",this.cc.get("image",
null)));this.VS=new e(this.j,this.Qa,this.cc,this.cc.get("selectedImage",this.cc.get("rollOverImage",this.cc.get("image",null))));this.Wc=this.Vc=void 0;this.hH=null;this.Ft=[];this.lr=[];this.JJ=[];this.vh={};this.Cla=[];this.mu=!1;this.qs=this.cc.get("useHandCursor");this.V=null;this.$G=void 0;this.TV=this.GV=this.oT=0;q=this.cc.get("areas",[]);for(n=0;n<q.length;n++){r=q[n];var u=r.get("mapColor");u&&(u=u.toLowerCase(),void 0===this.vh[u]&&(this.vh[u]=[],this.Cla.push(u)),this.vh[u].push(r))}this.wa&&
(this.j.xX(this.Qa.Fj(),this.wa),this.j.Kq(this.wa,this.oT));this.aq&&(this.j.xX(this.Qa.Fj(),this.aq),this.j.Kq(this.aq,this.GV));this.bq&&(this.j.xX(this.Qa.Fj(),this.bq),this.j.Kq(this.bq,this.TV));this.iN("none");this.C$();this.hqa(!1);this.iqa(this.cc.get("selected"))});p.prototype.clear=function(){this.N.unbind(m.hc,this.ef,this);this.N.unbind(m.ac,this.SL,this);this.N.unbind(m.vb,this.fk,this);this.N.unbind(m.Zb,this.Pn,this);this.N.unbind(m.pa,this.Lr,this);this.N=null;this.HT&&this.HT.clear();
this.HT=null;this.JT&&this.JT.clear();this.JT=null;this.KT&&this.KT.clear();this.KT=null;this.TS&&this.TS.clear();this.TS=null;this.US&&this.US.clear();this.US=null;this.VS&&this.VS.clear();this.VS=null;this.Ft=[];this.In=!1;this.C$();this.lr=[];this.JJ=[];this.vh={};this.jra();this.cO();this.Qa=this.j=null;this.cc.unbind(m.G("selected"),this.Vna,this);this.bq=this.aq=this.wa=this.cc=null};p.prototype.match=function(q){return this.cc==q};p.prototype.wd=function(q){this.EF(!1);this.V&&(this.V.yb(q),
this.oT=this.V.cb("itemAlpha"),this.GV=this.V.cb("rollOverItemAlpha"),this.TV=this.V.cb("selectedItemAlpha"),this.wa&&this.j.Kq(this.wa,this.oT),this.aq&&this.j.Kq(this.aq,this.GV),this.bq&&this.j.Kq(this.bq,this.TV),this.V.Ke()?this.V=null:this.Ma())};p.prototype.fk=function(q){this.Vc=q.x-this.N.Il();this.Wc=q.y-this.N.Ds();this.EF(!0);this.lr=this.Ft.slice()};p.prototype.ef=function(q){this.Vc=q.x-this.N.Il();this.Wc=q.y-this.N.Ds();this.EF(!0)};p.prototype.Pn=function(q){this.Vc=q.x-this.N.Il();
this.Wc=q.y-this.N.Ds();this.EF(!0);this.JJ=d.intersection(this.lr,this.Ft);this.lr=[]};p.prototype.Lr=function(){this.JJ&&(this.k$(this.JJ,"click"),this.JJ=[])};p.prototype.SL=function(){this.Wc=this.Vc=void 0;this.EF(!0);this.lr=this.Ft.slice()};p.prototype.Vna=function(){this.iqa(this.cc.get("selected"))};p.prototype.Fp=function(){this.EF(!0);this.jg();this.Ma()};p.prototype.EF=function(q){this.Yka=!0;q?this.gH():this.lKa()||this.NPa()};p.prototype.NPa=function(){this.jra();var q=this;this.hH=
setTimeout(function(){q.hH=null;q.gH()},200)};p.prototype.lKa=function(){return this.hH?!0:!1};p.prototype.jra=function(){this.hH&&(clearTimeout(this.hH),this.hH=null)};p.prototype.gH=function(){if(this.Yka){this.Yka=!1;var q=this.Ft,n=this.zHa();this.Ft=n;this.N.Jn||(this.k$(d.difference(n,q),"rollOver"),this.hqa(0<n.length),this.k$(d.difference(q,n),"rollOut"),this.cO())}};p.prototype.cO=function(){for(var q="",n=0;n<this.Ft.length&&!q;n++){var r=this.Ft[n];r.get("toolTip")&&(q=r.get("toolTip"))}this.Mb!=
q&&(this.Mb&&this.j.GWa(this.Mb),(this.Mb=q)&&this.j.MWa(this.Mb))};p.prototype.C$=function(){var q=this.In&&(!1!==this.qs||d(this.Ft).any(function(n){return!0===n.get("useHandCursor")}));this.mu!=q&&((this.mu=q)?this.j.vZ(c.Ze):this.j.sI(c.Ze))};p.prototype.zHa=function(){if(!1===this.cc.get("enabled"))return[];var q=[],n=this.ru?this.KT:this.In?this.JT:this.HT;n&&(n=n.Pua(this.Vc,this.Wc))&&(this.vh.any&&(q=q.concat(this.vh.any)),"transparent"==n&&this.vh.transparent&&(q=q.concat(this.vh.transparent)),
"transparent"!=n&&(q=this.vh[n]?q.concat(this.vh[n]):q.concat(this.vh[g.kXa(n,this.Cla,5)]||[]),this.vh.image&&(q=q.concat(this.vh.image))));if(n=this.ru?this.VS:this.In?this.US:this.TS)if(n=n.Pua(this.Vc,this.Wc))this.vh.any&&(q=q.concat(this.vh.any)),"transparent"==n&&this.vh.transparent&&(q=q.concat(this.vh.transparent)),"transparent"!=n&&this.vh.image&&(q=q.concat(this.vh.image));n=[];for(var r=0;r<q.length;r++){var u=q[r];0>n.indexOf(u)&&n.push(u)}return n};p.prototype.k$=function(q,n){if(q)for(var r=
0;r<q.length;r++)q[r].trigger(new k(n))};p.prototype.hqa=function(q){this.In!=q&&(this.In=q,this.trigger(new k(p.I_)),this.jg(),this.C$(),this.Ma())};p.prototype.iqa=function(q){this.ru!=q&&(this.ru=q,this.jg(),this.Ma())};p.prototype.jg=function(){!this.In&&1==this.cc.get("rollOverDisplay")||!1===this.cc.get("enabled")?this.iN("none"):this.ru?this.iN("selected"):this.In?this.iN("roll over"):this.iN("visible")};p.prototype.iN=function(q){if(this.$G!=q){this.$G=q;var n;if(d(["selected"]).contains(this.$G)&&
this.bq){var r=1;q=n=0}else d(["selected","roll over"]).contains(this.$G)&&this.aq?(n=1,q=r=0):d(["selected","roll over","visible"]).contains(this.$G)?(q=1,r=n=0):q=r=n=0;var u=this.oT,t=this.GV,v=this.TV,w=Math.max(200*Math.abs(q-u),200*Math.abs(n-t),200*Math.abs(r-v));this.V=new f("none"==this.$G?"quad_out":"quad_in",[new l("itemAlpha",u,q),new l("rollOverItemAlpha",t,n),new l("selectedItemAlpha",v,r)],w)}};p.prototype.Ma=function(){this.trigger(new k(p.Cb))};p.Cb="request frame";p.I_="is over update";
return p});define("mK",["require","li","jL"],function(a){var d=a("li"),h=a("jL");a=d.extend(h,function(m,k,b,g,e,c,f){h.call(this,h.Ifa,m,k);this.MJa=b;this.NJa=g;this.kMa=e;this.lMa=c;this.Ac=f;this.eO=[]});a.prototype.oD=function(){return this.Ac};return a});
define("bU","require li ox cw gf cH mK".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("cH"),g=a("mK"),e=d.extend(k,function(c,f,l){k.call(this);this.j=c;this.N=this.j.getParent();this.N.bind(h.vb,this.fk,this,!0);this.N.bind(h.hc,this.ef,this,!0);this.N.bind(h.Ro,this.SL,this,!0);this.Qa=f;this.ve=this.Qa.get("width");this.ue=this.Qa.get("height");this.QMa=Math.sqrt(this.ve*this.ve+this.ue*this.ue)*this.Qa.get("fieldOfViewOverlayRadiusScale",1);this.be=this.Qa.Fj();this.Qc=
l;this.oG=this.Qc.get("x",0);this.pG=this.Qc.get("y",0);this.SU=this.Qc.get("angle",0);this.wa=this.MFa();this.Cr=!1;this.Da=0;this.La=.5*Math.PI;this.Nd=!1;this.Wc=this.Vc=void 0;this.j.xX(this.Qa.Fj(),this.wa)});e.prototype.Tya=function(c,f){this.Da=c+this.SU-90;this.La=f;this.Ma()};e.prototype.clear=function(){this.N.unbind(h.vb,this.fk,this);this.N.unbind(h.hc,this.ef,this);this.N.unbind(h.Ro,this.SL,this);this.N=null;this.j.VWa(this.Qa.Fj(),this.wa);this.wa=this.Qc=this.be=this.Qa=this.j=null};
e.prototype.wd=function(){this.j.WXa(this.wa,this.Da,this.La)};e.prototype.MFa=function(){return new g(this.oG,this.pG,this.Qa.get("fieldOfViewOverlayInsideColor","#FFFFFF"),this.Qa.get("fieldOfViewOverlayInsideOpacity",0),this.Qa.get("fieldOfViewOverlayOutsideColor","#000000"),this.Qa.get("fieldOfViewOverlayOutsideOpacity",0),this.Qa.get("fieldOfViewOverlayRadiusScale",1))};e.prototype.Ma=function(){this.trigger(new m(e.Cb))};e.prototype.F$=function(){var c=!1;if(void 0!=this.Vc&&void 0!=this.Wc){var f=
.5*this.j.Wa(),l=.5*this.j.xb(),p=this.j.jY(this.be)*Math.PI/180,q=this.j.QO(this.be),n=this.j.PO(this.be),r=this.j.RO(this.be),u=this.j.SO(this.be);c=new b(this.Vc,this.Wc);c.translate(-f,-l);c.rotate(-p);c.scale(1/q,1/n);c.translate(r,u);c.scale(this.ve,this.ue);c.translate(-this.oG,-this.pG);c.rotate(-this.Da*Math.PI/180);f=Math.round(180*Math.atan2(c.y,c.x)/Math.PI);c=Math.round(Math.sqrt(c.x*c.x+c.y*c.y))<=this.QMa&&Math.abs(f)<.5*this.La}this.Cr!=c&&(this.Cr=c,this.trigger(new m(e.q0,{inFOV:this.Cr})))};
e.prototype.kVa=function(){return this.Cr};e.prototype.fk=function(c){this.Vc=c.x;this.Wc=c.y;this.Nd=!0;this.F$()};e.prototype.ef=function(c){this.Nd||(this.Vc=c.x,this.Wc=c.y,this.F$())};e.prototype.SL=function(){this.Wc=this.Vc=void 0;this.Nd=!1;this.F$()};e.Cb="request frame";e.q0="mouse in fov change";return e});
define("oj","require ed li cw gf if kO bU".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("cw"),k=a("gf"),b=a("if"),g=a("kO"),e=a("bU"),c=h.extend(k,function(f){k.call(this);this.j=f;this.kL=[];this.ou=[];this.rm=[];this.Im=this.Qc=null});c.prototype.clear=function(){for(var f=0;f<this.ou.length;f++)this.ou[f].clear();for(f=0;f<this.rm.length;f++)this.rm[f].clear();this.j=this.kL=this.Qc=this.rm=this.ou=null};c.prototype.EO=function(f){f.iP()&&this.QCa(f.Qa)};c.prototype.Mba=function(f){f.iP()&&
this.jNa(f.Qa)};c.prototype.$v=function(f){this.Qc!=f&&(this.Qc&&this.z8(this.Qc.get("map")),this.Qc=f,this.Im=null,this.Qc&&(f=this.Qc.get("map"),this.M5(f)&&this.Iga(f)))};c.prototype.gn=function(f,l,p,q){this.Im={yaw:l,pitch:p,hfov:q};for(p=0;p<this.rm.length;p++){var n=this.rm[p];if(n.Qc==f){n.Tya(l,q);break}}};c.prototype.QCa=function(f){this.M5(f)&&(this.lpa(f),this.z8(f));this.kL.push(f);this.ICa(f);this.Iga(f)};c.prototype.jNa=function(f){var l=this.kL.indexOf(f);0<=l&&this.kL.splice(l,1);
this.M5(f)||(this.lpa(f),this.z8(f))};c.prototype.M5=function(f){return 0<=d(this.kL).indexOf(f)};c.prototype.wd=function(f){for(var l=0;l<this.ou.length;l++)this.ou[l].wd(f);for(l=0;l<this.rm.length;l++)this.rm[l].wd(f)};c.prototype.ICa=function(f){for(var l=f.get("overlays",[]),p=0;p<l.length;p++){var q=l[p];q instanceof b&&(q=new g(this.j,f,q),q.bind(g.Cb,this.Ma,this,!0),q.bind(g.I_,this.ila,this,!0),this.ou.push(q))}};c.prototype.Iga=function(f){this.Qc&&this.Qc.get("map")==f&&!1!==this.Qc.get("visible")&&
(f=new e(this.j,f,this.Qc),f.bind(e.Cb,this.Ma,this,!0),f.bind(e.q0,this.lU,this,!0),this.rm.push(f),this.Im&&f.Tya(this.Im.yaw,this.Im.hfov));this.lU()};c.prototype.lpa=function(f){f=f.get("overlays",[]);for(var l=0;l<f.length;l++)for(var p=f[l],q=0;q<this.ou.length;q++){var n=this.ou[q];if(n.match(p)){n.unbind(g.Cb,this.Ma,this);n.unbind(g.I_,this.ila,this);n.clear();this.ou.splice(q,1);break}}};c.prototype.z8=function(f){for(var l=0;l<this.rm.length;l++){var p=this.rm[l];if(p.Qa==f){p.unbind(e.Cb,
this.Ma,this);p.unbind(e.q0,this.lU,this);p.clear();this.rm.splice(l,1);break}}this.lU()};c.prototype.ila=function(){};c.prototype.Ma=function(){this.trigger(new m(c.Cb))};c.prototype.lU=function(){for(var f=!1,l=0;l<this.rm.length;l++)this.rm[l].kVa()&&(f=!0);this.trigger(new m(c.H_,{inFOV:f}))};c.Cb="request frame";c.H_="in fov change";return c});
define("J","require li ox cw gf jQ cH".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("jQ"),g=a("cH"),e=d.extend(k,function(c){k.call(this);this.j=c;this.N=this.j.getParent();this.N.bind(h.hc,this.ef,this,!0);this.N.bind(h.vb,this.fk,this,!0);this.N.bind(h.Zb,this.Pn,this,!0);this.Qa=null;this.be=this.ue=this.ve=void 0;this.Qc=null;this.SU=this.pG=this.oG=void 0;this.Cr=!1;this.Wc=this.Vc=this.Cm=void 0;this.Nd=!1;this.Da=0});e.prototype.clear=function(){this.N.unbind(h.hc,
this.ef,this);this.N.unbind(h.vb,this.fk,this);this.N.unbind(h.Zb,this.Pn,this);this.j=this.Qc=this.be=this.Qa=this.N=null};e.prototype.MP=function(c){this.Cr=c;this.z$()};e.prototype.EO=function(c){c.iP()&&this.mqa(c.Qa)};e.prototype.Mba=function(c){c.iP()&&this.Qa==c.Qa&&this.mqa(null)};e.prototype.mqa=function(c){this.Qa!=c&&((this.Qa=c)?(this.ve=this.Qa.get("width"),this.ue=this.Qa.get("height"),this.be=this.Qa.Fj()):(this.ue=this.ve=void 0,this.be=null))};e.prototype.$v=function(c){this.Qc!=
c&&((this.Qc=c)?(this.oG=this.Qc.get("x",0),this.pG=this.Qc.get("y",0),this.SU=this.Qc.get("angle",0)):this.SU=this.pG=this.oG=void 0)};e.prototype.gn=function(c,f){this.Qc==c&&(this.Da=f)};e.prototype.Mq=function(c){this.Cm=c};e.prototype.fk=function(c){this.Vc=c.x;this.Wc=c.y;this.Nd=!0;this.z$()};e.prototype.ef=function(c){this.Vc=c.x;this.Wc=c.y;this.bi&&(c=this.kka(),this.trigger(new m(e.Mj,{yawDelta:c-this.Zc})),this.Zc=c)};e.prototype.Pn=function(c){this.Vc=c.x;this.Wc=c.y;this.Nd=!1;this.z$()};
e.prototype.z$=function(){var c=this.Nd&&this.Qc&&this.Qa&&(this.Cm==b.J0||this.Cr);this.bi!=c&&(this.bi=c)&&(this.Zc=this.kka())};e.prototype.kka=function(){var c=.5*this.j.Wa(),f=.5*this.j.xb(),l=new g(this.Vc,this.Wc);l.translate(-c,-f);if(this.Cm==b.J0)return 180*-Math.atan2(l.y,l.x)/Math.PI;c=this.j.jY(this.be)*Math.PI/180;f=this.j.QO(this.be);var p=this.j.PO(this.be),q=this.j.RO(this.be),n=this.j.SO(this.be);l.rotate(-c);l.scale(1/f,1/p);l.translate(q,n);l.scale(this.ve,this.ue);l.translate(-this.oG,
-this.pG);return 180*Math.atan2(l.y,l.x)/Math.PI};e.Mj="request yaw change";return e});
define("mD",["require","li","cw","gf","bg"],function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("bg"),b=d.extend(m,function(g){m.call(this);this.W=!0;this.hB=!1;this.j=g});b.prototype.clear=function(){this.W=!1;this.j=null};b.prototype.requestFrame=function(){this.hB||(this.hB=!0,k.requestFrame(this.tj,this))};b.prototype.tj=function(g){this.W&&(this.hB=!1,this.trigger(new h(b.Ko,{frameTime:g})),this.trigger(new h(b.Lo,{frameTime:g})),this.j.render())};b.Ko="frameStart";b.Lo="positionSet";return b});
define("ds","require li ox cw gf nH jC iJ oj J mD".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("nH"),g=a("jC"),e=a("iJ"),c=a("oj"),f=a("J"),l=a("mD"),p=d.extend(k,function(q,n){k.call(this);this.N=q;this.j=n;this.j.set("visible",!1);this.YU=null;this.hg=new l(this.j);this.se=new e(this.j);this.Pa=new g(this.N,this.j);this.bb=new b(this.j);this.Np=new c(this.j);this.Pr=new f(this.j);this.N.bind(h.hd,this.JU,this,!0);this.hg.bind(l.Ko,this.$x,this,!0);this.hg.bind(l.Lo,this.ay,
this,!0);this.se.bind(e.uQ,this.PL,this);this.se.bind(e.O_,this.Yma,this);this.se.bind(e.sQ,this.Zma,this);this.Pa.bind(g.Cb,this.Ge,this,!0);this.Pa.bind(g.M_,this.Wma,this,!0);this.Pa.bind(g.tQ,this.$ma,this,!0);this.Pa.bind(g.N_,this.Xma,this,!0);this.Pa.bind(g.Mz,this.Gu,this,!0);this.Pa.bind(g.Nz,this.Wx,this,!0);this.Pa.bind(g.z_,this.kma,this,!0);this.bb.bind(b.Cb,this.Ge,this,!0);this.bb.bind(b.Lj,this.Gp,this);this.Np.bind(c.Cb,this.Ge,this,!0);this.Np.bind(c.H_,this.Mma,this,!0);this.Pr.bind(f.Mj,
this.eM,this,!0);this.ija=!1});p.prototype.Mq=function(q){this.bb.Mq(q);this.Pa.Mq(q);this.Pr.Mq(q)};p.prototype.clear=function(){this.ija=!0;this.se.clear();this.hg.clear();this.bb.clear();this.Pa.clear();this.Np.clear();this.Pr.clear();this.N.unbind(h.hd,this.JU,this);this.se.unbind(e.uQ,this.PL,this);this.se.unbind(e.O_,this.Yma,this);this.se.unbind(e.sQ,this.Zma,this);this.hg.unbind(l.Ko,this.$x,this);this.hg.unbind(l.Lo,this.ay,this);this.Pa.unbind(g.Cb,this.Ge,this);this.Pa.unbind(g.M_,this.Wma,
this);this.Pa.unbind(g.tQ,this.$ma,this);this.Pa.unbind(g.N_,this.Xma,this);this.Pa.unbind(g.Mz,this.Gu,this);this.Pa.unbind(g.Nz,this.Wx,this);this.Pa.unbind(g.z_,this.kma,this);this.bb.unbind(b.MAa,this.Ge,this);this.bb.unbind(b.Lj,this.Gp,this);this.Np.unbind(c.Cb,this.Ge,this);this.Np.unbind(c.H_,this.Mma,this);this.Pr.unbind(f.Mj,this.eM,this);this.N=this.j=this.Pr=this.Np=this.Pa=this.bb=this.hg=this.se=null};p.prototype.JU=function(){this.YU&&(this.Oya(this.YU),this.YU=null)};p.prototype.Oya=
function(q){this.j.set("visible",!0);this.N.Hx?this.se.swa(q):(this.se.stop(),this.bb.stop(),this.Pa.hide(),this.YU=q)};p.prototype.Wv=function(){this.se.stop();this.bb.stop();this.Pa.hide()};p.prototype.Jj=function(q){this.bb.Jj(q)};p.prototype.$v=function(q){this.ija||(this.bb.$v(q),this.Np.$v(q),this.Pr.$v(q))};p.prototype.gn=function(q,n,r,u){this.bb.gn(q,n,r,u);this.Np.gn(q,n,r,u);this.Pr.gn(q,n,r,u)};p.prototype.Zma=function(q){var n=q.data.level;q=(q.data.percent+100*n.getIndex())/n.Cua();
this.trigger(new m(p.dt,{percent:q}))};p.prototype.Yma=function(q){this.j.set("visible",!0);q=q.data.level;this.bb.stop();this.Pa.EO(q)};p.prototype.PL=function(){this.trigger(new m(p.Lz))};p.prototype.Ge=function(){this.hg.requestFrame()};p.prototype.$x=function(q){this.bb.Rv(q.data.frameTime)};p.prototype.ay=function(q){q=q.data.frameTime;this.Pa.wd(q);this.bb.wd(q);this.Np.wd(q)};p.prototype.Wma=function(q){q=q.data.level;this.Np.EO(q);this.Pr.EO(q)};p.prototype.$ma=function(q){q=q.data.level;
this.Np.Mba(q);this.Pr.Mba(q)};p.prototype.Xma=function(q){q=q.data.level;q.iP()&&this.bb.start(q)};p.prototype.kma=function(){this.j.set("visible",!1)};p.prototype.Mma=function(q){q=q.data.inFOV;this.bb.MP(q);this.Pr.MP(q)};p.prototype.Wx=function(q){this.trigger(new m(p.Nz,{map:q.data.map}))};p.prototype.Gu=function(q){this.trigger(new m(p.Mz,{map:q.data.map}))};p.prototype.Gp=function(q){this.trigger(new m(p.Lj,q.data))};p.prototype.eM=function(q){this.trigger(new m(p.Mj,{yawDelta:q.data.yawDelta}))};
p.Lj="movementChange";p.Lz="loadingEnd";p.dt="loadingProgress";p.Nz="mapShow";p.Mz="mapHide";p.Mj="requestYawChange";return p});define("kD",["require","hP"],function(a){function d(){this.status=d.CQ;this.progress=this.ED=0;this.Dca=[]}a("hP");d.LOADING="loading";d.Z="loaded";d.CQ="not loaded";return d});
define("lf","require ed li cw ox kq kD".split(" "),function(a){function d(){this.kja={};this.ae=[];this.Rx=[];this.kd={}}var h=a("ed"),m=a("li");a("cw");var k=a("ox"),b=a("kq"),g=a("kD");d.prototype.UZ=function(e){e=e.Ks();for(var c=0,f=e.length;c<f;c++)if(this.tK(e[c]).status!=g.Z)return!1;return!0};d.prototype.bn=function(e,c){this.ae.push(e);this.LCa(e,c)};d.prototype.aj=function(e,c){var f=h(this.ae).indexOf(e);if(0>f)throw"Unloading item not loaded";this.ae.splice(f,1);this.gNa(e,c)};d.prototype.lf=
function(e,c){return this.kd[e].lf(c)};d.prototype.LCa=function(e,c){this.Rx.push(e);e=e.Ks();for(var f=0,l=e.length;f<l;f++){var p=e[f],q=this.tK(p);q.ED++;q.Dca.push(c);q.status==g.CQ&&(q.status=g.LOADING,this.BKa(p,Math.min.apply(Math,q.Dca)))}this.ksa()};d.prototype.gNa=function(e,c){this.Rx=h(this.Rx).without(e);e=e.Ks();for(var f=0,l=e.length;f<l;f++){var p=e[f],q=this.tK(p);q.ED--;var n=q.Dca,r=n.indexOf(c);0<=r&&n.splice(r,1);0==q.ED&&q.status!=g.CQ&&(q.status=g.CQ,q.progress=0,this.WQa(p))}};
d.prototype.ksa=function(e){e=(void 0==e?this.Rx:this.ika(e)).slice();for(var c=0;c<e.length;c++){for(var f=e[c],l=f.Ks(),p=0,q=0,n=l.length,r=0;r<l.length;r++){var u=this.tK(l[r]);p+=u.progress;u.status==g.Z&&q++}f.gYa(p/n);q==n&&(f.gda(),this.Rx=h(this.Rx).without(f))}};d.prototype.tK=function(e){var c=this.kja[e];c||(this.kja[e]=c=new g);return c};d.prototype.ika=function(e){for(var c=[],f=0;f<this.Rx.length;f++){var l=this.Rx[f];h(l.Ks()).contains(e)&&c.push(l)}return c};d.prototype.BKa=function(e,
c){c=new b(c);this.kd[e]=c;c.bind(k.Z,this.QL,this,!0);c.bind(k.Gc,this.RL,this,!0);c.load(e)};d.prototype.WQa=function(e){var c=this.kd[e];delete this.kd[e];c.unbind(k.Z,this.QL,this);c.unbind(k.Gc,this.RL,this);c.cancel()};d.prototype.QL=function(e){e=e.source.ui();var c=this.tK(e);c.progress=100;c.status=g.Z;this.ksa(e)};d.prototype.RL=function(e){e=e.source.ui();for(var c=this.ika(e),f=0;f<c.length;f++){var l=c[f];this.aj(l);l.GXa()}m.log("Error loading: "+e)};return d.instance=new d});
define("hs",["require","jquery.mod","v"],function(a){function d(m,k){this.wa=m;this.ka=k;this.eL=0;this.Zr=this.Yr=.5;this.vk=0;this.tb=1;this.iq=this.wu=this.ua=this.ia=0;this.Ac=1;this.gT=this.iT=!0;this.ma=h("<canvas/>");this.O=this.ma.get(0);this.xa=this.O.getContext("2d")}var h=a("jquery.mod");a=a("v");d.prototype.getItem=function(){return this.wa};d.prototype.HO=function(m){return this.wa==m?this:null};d.prototype.TX=function(m){return this.wa==m?[this]:[]};d.prototype.Th=function(){this.ka&&
this.ka.Raa(this)};d.prototype.nf=function(m){this.HOa(m)};d.prototype.jqa=function(m){this.eL!=m&&(this.eL=m,this.ka&&this.ka.CY())};d.prototype.HOa=function(m){this.tb!=m&&(this.tb=m,this.BY())};d.prototype.cW=function(m){this.vk!=m&&(this.vk=m,this.BY())};d.prototype.hN=function(m,k){if(this.ia!=m||this.ua!=k)this.ia=m,this.ua=k,this.yY()};d.prototype.yl=function(m,k){if(this.wu!=m||this.iq!=k)this.wu=m,this.iq=k,this.BY()};d.prototype.BY=function(){this.ka&&this.ka.zY()};d.prototype.ke=function(){this.iT=
!0};d.prototype.Ua=function(){this.iT&&(this.iT=!1,this.Qg())};d.prototype.Qg=function(){};d.prototype.yY=function(){this.gT=!0;this.BY()};d.prototype.XZ=function(){if(this.gT){this.gT=!1;if(this.O.width!=this.ia||this.O.height!=this.ua)this.O.width=Math.round(this.ia),this.O.height=Math.round(this.ua);this.xa.clearRect(0,0,this.O.width,this.O.height);this.ig()}};d.prototype.ig=function(){};d.prototype.DTa=function(m){if(0<this.tb&&1<=this.ia&&1<=this.ua){m.save();var k=Math.round(this.wu),b=Math.round(this.iq),
g=Math.round(this.ia*this.Yr),e=Math.round(this.ua*this.Zr);m.scale(this.Ac,this.Ac);m.translate(k+g,b+e);m.rotate(this.vk*Math.PI/180);m.globalAlpha=this.tb;m.drawImage(this.O,-g,-e);m.restore()}};d.prototype.$X=function(){this.O.width=this.O.height=1;this.iT=this.gT=!0};d.Hea=window.devicePixelRatio||1;d.Ij=d.Hea;d.cBa=a.de()==a.Di?16E6:256E6;return d});
define("mC",["require","ed","li","hs"],function(a){var d=a("ed"),h=a("li"),m=a("hs");a=h.extend(m,function(k,b){m.call(this,k,b);this.pc=[];this.uX=null;this.zv=!0});a.prototype.hta=function(k){k=this.N2(k);if(!k)throw"Container renderer can't create child renderer for an item";this.pc.push(k);this.CY();this.zY()};a.prototype.N2=function(){};a.prototype.Zxa=function(k){if(k=this.zs(k))this.pc=d.without(this.pc,k),this.CY(),this.zY()};a.prototype.HO=function(k){for(var b=m.prototype.HO.call(this,k),
g=0;g<this.pc.length&&!b;g++)b=this.pc[g].HO(k);return b};a.prototype.TX=function(k){for(var b=m.prototype.TX.call(this,k),g=0;g<this.pc.length;g++)b=b.concat(this.pc[g].TX(k));return b};a.prototype.zs=function(k){for(var b=null,g=0;g<this.pc.length&&!b;g++)this.pc[g].getItem()==k&&(b=this.pc[g]);for(g=0;g<this.pc.length&&!b;g++)this.pc[g].getItem().aVa(k)&&(b=this.pc[g]);return b};a.prototype.Raa=function(k){this.pc=d.without(this.pc,k);this.pc.push(k);this.CY();this.zY()};a.prototype.CY=function(){this.zv=
!0;this.ke()};a.prototype.zY=function(){this.yY()};a.prototype.Ua=function(){m.prototype.Ua.call(this);for(var k=0;k<this.pc.length;k++)this.pc[k].Ua()};a.prototype.Qg=function(){if(this.zv){this.zv=!1;for(var k=[],b=0;b<this.pc.length;b++){var g=this.pc[b];k.push({l:g.eL,z:b,r:g})}k.sort(function(e,c){return e.l==c.l?e.z-c.z:e.l-c.l});this.uX=[];for(b=0;b<k.length;b++)this.uX.push(k[b].r);this.yY()}m.prototype.Qg.call(this)};a.prototype.XZ=function(){for(var k=0;k<this.pc.length;k++)this.pc[k].XZ();
m.prototype.XZ.call(this)};a.prototype.ig=function(){for(var k=0;k<this.uX.length;k++)this.uX[k].DTa(this.xa);m.prototype.ig.call(this)};a.prototype.$X=function(){for(var k=0;k<this.pc.length;k++)this.pc[k].$X();m.prototype.$X.call(this)};return a});define("Q",["require","li","hs"],function(a){var d=a("li"),h=a("hs");a=d.extend(h,function(m,k){h.call(this,m,k)});a.prototype.FZ=function(){};return a});
define("iw",["require","li","Q","v"],function(a){var d=a("li"),h=a("Q"),m=a("v");a=d.extend(h,function(k,b){h.call(this,k,b);this.XU=this.ka.getItem().rd();this.WU=this.ka.getItem().ce();this.Ac=2;this.cF=0;this.La=.5*Math.PI;this.H5=this.I5=!0;this.gl=1;this.hT=!0;this.jqa(1)});a.prototype.FZ=function(k,b){this.gl!=b&&(this.gl=b,this.hT=!0,this.ke())};a.prototype.ada=function(k,b){this.La!=b&&(this.La=b,this.I5=!0,this.ke());this.cF!=k&&(this.cF=k,this.H5=!0,this.ke())};a.prototype.Qg=function(){this.I5&&
(this.I5=!1,this.yY());if(this.hT||this.H5){this.H5=this.hT=!1;this.Ac=Math.max(1,Math.ceil(Math.sqrt(this.XU*this.XU+this.WU*this.WU))/(m.de()==m.Di?1024:4096));var k=this.gl/this.Ac,b=this.wa.getX()*k,g=this.wa.getY()*k,e=Math.max(b,k*this.XU-b);k=Math.max(g,k*this.WU-g);e=2*Math.ceil(Math.sqrt(e*e+k*k));var c=this.cF*Math.PI/180;k=Math.cos(c);c=Math.sin(c);b=b-this.Yr*e-(.5-this.Yr)*e*k+(.5-this.Zr)*e*c;g=g-this.Zr*e-(.5-this.Zr)*e*k-(.5-this.Yr)*e*c;this.hT=!1;this.yl(b,g);this.hN(e,e);this.cW(this.cF)}h.prototype.Qg.call(this)};
a.prototype.ig=function(){var k=this.wa.NJa,b=this.wa.lMa;if(0<b||0<k){var g=this.gl*this.XU,e=this.gl*this.WU;g=Math.ceil(Math.sqrt(g*g+e*e))*this.wa.oD()/this.Ac;e=Math.round(.5*this.ia);var c=Math.round(.5*this.ua),f=this.La*Math.PI/180,l=.5*-f;f=l+f;0<b&&(this.xa.fillStyle=this.wa.kMa,this.xa.globalAlpha=b,this.xa.rect(0,0,this.ia,this.ua),this.xa.fill(),this.xa.globalCompositeOperation="destination-out",this.xa.fillStyle="#FFFFFF",this.xa.globalAlpha=1,this.xa.beginPath(),this.xa.moveTo(e,c),
this.xa.arc(e,c,g,l,f,!1),this.xa.lineTo(e,c),this.xa.closePath(),this.xa.fill(),this.xa.globalCompositeOperation="source-over");0<k&&(this.xa.fillStyle=this.wa.MJa,this.xa.globalAlpha=k,this.xa.beginPath(),this.xa.moveTo(e,c),this.xa.arc(e,c,g,l,f,!1),this.xa.lineTo(e,c),this.xa.closePath(),this.xa.fill())}h.prototype.ig.call(this)};return a});
define("j","require li hs Q lf mw".split(" "),function(a){var d=a("li"),h=a("hs"),m=a("Q"),k=a("lf"),b=a("mw");a=d.extend(m,function(g,e){m.call(this,g,e);this.jqa(this.wa.Hpa?0:2);this.Xb=k.lf(this.wa.ui());this.NV=new b(this.Xb,this.Xb.width,this.Xb.height);this.NV.xz(this.wa.yf);this.NV.GI(this.wa.Fl);this.NV.zI(this.wa.cl);this.iL=0;this.gl=1;this.s6=!0});a.prototype.FZ=function(g,e){if(this.iL!=g||this.gl!=e)this.iL=g,this.gl=e,this.s6=!0,this.ke()};a.prototype.Qg=function(){if(this.s6){this.s6=
!1;var g=this.wa.getX(),e=this.wa.getY(),c=this.wa.rd(),f=this.wa.ce(),l=this.wa.Du,p=this.wa.Eu;if(this.wa.Hpa)this.cW(0),this.yl((g-l)*this.gl,(e-p)*this.gl),this.hN(c*this.gl,f*this.gl);else{c*=h.Ij;f*=h.Ij;l*=h.Ij;p*=h.Ij;var q=Math.cos(-this.iL*Math.PI/180),n=Math.sin(-this.iL*Math.PI/180);g=g*this.gl-this.Yr*c-(l-this.Yr*c)*q+(p-this.Zr*f)*n;e=e*this.gl-this.Zr*f-(p-this.Zr*f)*q-(l-this.Yr*c)*n;this.cW(-this.iL);this.yl(g,e);this.hN(c,f)}}m.prototype.Qg.call(this)};a.prototype.ig=function(){this.NV.QH(this.xa,
this.O.width,this.O.height);m.prototype.ig.call(this)};return a});
define("ic","require li lX lf dh jL iw j mC".split(" "),function(a){var d=a("li"),h=a("lX"),m=a("lf"),k=a("dh"),b=a("jL"),g=a("iw"),e=a("j"),c=a("mC");a=d.extend(c,function(f,l){c.call(this,f,l,f.Sn);this.Fb=this.wa.rd();this.Sb=this.wa.ce();this.yf=this.wa.yf;this.tS=this.wa.e4;this.Ad=this.td=100;this.C2=!0;this.Ja=this.Ga=.5;this.Zc=0;this.ib=1;this.CM=!0;this.gf=1;this.Xb=m.lf(this.wa.ui())});a.prototype.N2=function(f){if(f.getType()!=k.Mfa)throw"Invalid item type";switch(f.nMa){case b.Ifa:f=
new g(f,this);break;case b.Kfa:f=new e(f,this);break;default:f=null}f&&f.FZ(this.Zc,this.gf*this.ib);return f};a.prototype.getX=function(){return this.Ga};a.prototype.getY=function(){return this.Ja};a.prototype.WH=function(){return this.Zc};a.prototype.Bq=function(){return this.ib};a.prototype.Wa=function(){return Math.round(this.Fb*this.ib*this.gf)};a.prototype.xb=function(){return Math.round(this.Sb*this.ib*this.gf)};a.prototype.HD=function(f,l){if(this.td!=f||this.Ad!=l)this.td=f,this.Ad=l,this.C2=
!0,this.ke()};a.prototype.setPosition=function(f,l,p,q){if(this.Ga!=f||this.Ja!=l||this.Zc!=p||this.ib!=q)this.Ga=f,this.Ja=l,this.Zc=p,this.ib=q,this.CM=!0,this.ke()};a.prototype.Qg=function(){if(this.C2){this.C2=!1;switch(this.yf){case h.NONE:this.gf=1;break;case h.Oo:this.gf=this.td/this.Fb;break;case h.Nj:this.gf=this.Ad/this.Sb;break;case h.Tq:this.gf=this.Fb*this.Ad>this.Sb*this.td?this.Ad/this.Sb:this.td/this.Fb;break;default:this.gf=this.Fb*this.Ad>this.Sb*this.td?this.td/this.Fb:this.Ad/
this.Sb}this.CM=!0}if(this.CM){this.CM=!1;var f=this.Wa(),l=this.xb(),p=Math.cos(this.Zc*Math.PI/180),q=Math.sin(this.Zc*Math.PI/180);this.yl(.5*this.td-this.Yr*f+(this.Yr-this.Ga)*p*f-(this.Zr-this.Ja)*q*l,.5*this.Ad-this.Zr*l+(this.Zr-this.Ja)*p*l+(this.Yr-this.Ga)*q*f);this.cW(this.Zc);this.hN(f,l);for(f=0;f<this.pc.length;f++)this.pc[f].FZ(this.Zc,this.gf*this.ib)}c.prototype.Qg.call(this)};a.prototype.ig=function(){var f=Math.round(this.ia),l=Math.round(this.ua);this.tS?(this.xa.save(),this.xa.translate(f,
0),this.xa.scale(-1,1),this.xa.drawImage(this.Xb,0,0,f,l),this.xa.restore()):this.xa.drawImage(this.Xb,0,0,f,l);c.prototype.ig.call(this)};return a});
define("gP","require ed li dh mC ic".split(" "),function(a){a("ed");var d=a("li"),h=a("dh"),m=a("mC"),k=a("ic");a=d.extend(m,function(){m.call(this,null,null);this.j2=!0});a.prototype.zc=function(){return this.ma};a.prototype.render=function(){this.Ua();this.XZ()};a.prototype.tUa=function(){for(var b=1,g=0;g<this.pc.length;g++){var e=this.pc[g];e=e.Wa()*e.xb();b<e&&(b=e)}return b};a.prototype.N2=function(b){if(b.getType()!=h.Lfa)throw"Invalid item type";b=new k(b,this);b.HD(this.ia,this.ua);b.setPosition(.5,
.5,0,1);return b};a.prototype.setSize=function(b,g){this.hN(b,g);this.j2=!0;this.ke()};a.prototype.Qg=function(){if(this.j2){this.j2=!1;for(var b=0;b<this.pc.length;b++)this.pc[b].HD(this.ia,this.ua)}m.prototype.Qg.call(this)};return a});
define("nm",["require"],function(){var a=Math.PI/180,d=180/Math.PI;return{create:function(){return{x:0,y:0,z:0,w:0}},xua:function(h,m,k){m*=a;h=-h*a;var b=k*a;k=Math.cos(h/2);h=Math.sin(h/2);var g=Math.cos(b/2);b=Math.sin(b/2);var e=Math.cos(m/2);m=Math.sin(m/2);var c={};c.w=k*g*e-h*b*m;c.x=k*g*m+h*b*e;c.y=h*g*e+k*b*m;c.z=k*b*e-h*g*m;return c},Oda:function(h){var m=h.x*h.y+h.z*h.w,k={};if(.499<m)k.Sa=-2*Math.atan2(h.x,h.w),k.Xe=-Math.PI/2,k.pitch=0;else if(-.499>m)k.Sa=2*Math.atan2(h.x,h.w),k.Xe=
Math.PI/2,k.pitch=0;else{var b=h.x*h.x,g=h.z*h.z;k.Sa=-Math.atan2(2*h.y*h.w-2*h.x*h.z,1-2*h.y*h.y-2*g);k.Xe=-Math.asin(2*m);k.pitch=Math.atan2(2*h.x*h.w-2*h.y*h.z,1-2*b-2*g);k.pitch=Math.min(Math.PI/2,Math.max(-Math.PI/2,k.pitch))}k.Sa*=d;k.pitch*=d;k.Xe*=-d;return k},Sa:function(h){var m=h.x*h.y+h.z*h.w;return.499<m?-2*Math.atan2(h.x,h.w)*d:-.499>m?2*Math.atan2(h.x,h.w)*d:-Math.atan2(2*h.y*h.w-2*h.x*h.z,1-2*h.y*h.y-2*h.z*h.z)*d}}});
define("nx",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(d,h){this.x=d||0;this.y=h||0};a.Vector2.prototype={constructor:a.Vector2,set:function(d,h){this.x=d;this.y=h;return this},copy:function(d){this.x=d.x;this.y=d.y;return this},subVectors:function(d,h){this.x=d.x-h.x;this.y=d.y-h.y;return this}};a.Vector3=function(d,h,m){this.x=d||0;this.y=h||0;this.z=m||0};a.Vector3.prototype={constructor:a.Vector3,set:function(d,h,m){this.x=d;this.y=h;this.z=
m;return this},copy:function(d){this.x=d.x;this.y=d.y;this.z=d.z;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var d=this.length();0!==d?this.multiplyScalar(1/d):this.z=this.y=this.x=0;return this},multiplyScalar:function(d){this.x*=d;this.y*=d;this.z*=d},applyQuaternion:function(d){var h=this.x,m=this.y,k=this.z,b=d.x,g=d.y,e=d.z;d=d.w;var c=d*h+g*k-e*m,f=d*m+e*h-b*k,l=d*k+b*m-g*h;h=-b*h-g*m-e*k;this.x=c*d+h*-b+f*-e-l*-g;this.y=f*
d+h*-g+l*-b-c*-e;this.z=l*d+h*-e+c*-g-f*-b;return this},dot:function(d){return this.x*d.x+this.y*d.y+this.z*d.z},crossVectors:function(d,h){var m=d.x,k=d.y;d=d.z;var b=h.x,g=h.y;h=h.z;this.x=k*h-d*g;this.y=d*b-m*h;this.z=m*g-k*b;return this}};a.Quaternion=function(d,h,m,k){this.x=d||0;this.y=h||0;this.z=m||0;this.w=void 0!==k?k:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(d,h,m,k){this.x=d;this.y=h;this.z=m;this.w=k;return this},copy:function(d){this.x=d.x;this.y=d.y;this.z=d.z;
this.w=d.w;return this},Gya:function(d,h,m){var k=Math.cos(d/2),b=Math.cos(h/2),g=Math.cos(m/2);d=Math.sin(d/2);h=Math.sin(h/2);m=Math.sin(m/2);this.x=d*b*g+k*h*m;this.y=k*h*g-d*b*m;this.z=k*b*m-d*h*g;this.w=k*b*g+d*h*m;return this},setFromAxisAngle:function(d,h){h/=2;var m=Math.sin(h);this.x=d.x*m;this.y=d.y*m;this.z=d.z*m;this.w=Math.cos(h);return this},multiply:function(d){return this.multiplyQuaternions(this,d)},multiplyQuaternions:function(d,h){var m=d.x,k=d.y,b=d.z;d=d.w;var g=h.x,e=h.y,c=h.z;
h=h.w;this.x=m*h+d*g+k*c-b*e;this.y=k*h+d*e+b*g-m*c;this.z=b*h+d*c+m*e-k*g;this.w=d*h-m*g-k*e-b*c;return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;this.normalize();return this},normalize:function(){var d=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0===d?(this.z=this.y=this.x=0,this.w=1):(d=1/d,this.x*=d,this.y*=d,this.z*=d,this.w*=d);return this},slerp:function(d,h){if(0===h)return this;if(1===h)return this.copy(d);var m=this.x,k=this.y,b=this.z,g=this.w,e=g*
d.w+m*d.x+k*d.y+b*d.z;0>e?(this.w=-d.w,this.x=-d.x,this.y=-d.y,this.z=-d.z,e=-e):this.copy(d);if(1<=e)return this.w=g,this.x=m,this.y=k,this.z=b,this;d=Math.acos(e);var c=Math.sqrt(1-e*e);if(.001>Math.abs(c))return this.w=.5*(g+this.w),this.x=.5*(m+this.x),this.y=.5*(k+this.y),this.z=.5*(b+this.z),this;e=Math.sin((1-h)*d)/c;h=Math.sin(h*d)/c;this.w=g*e+this.w*h;this.x=m*e+this.x*h;this.y=k*e+this.y*h;this.z=b*e+this.z*h;return this},setFromUnitVectors:function(){var d,h;return function(m,k){void 0===
d&&(d=new a.Vector3);h=m.dot(k)+1;1E-6>h?(h=0,Math.abs(m.x)>Math.abs(m.z)?d.set(-m.y,m.x,0):d.set(0,-m.z,m.y)):d.crossVectors(m,k);this.x=d.x;this.y=d.y;this.z=d.z;this.w=h;this.normalize();return this}}()};return a});
define("fl",["require","ox","cw","gf","nx"],function(a){function d(){f||(f=!0,n=new c.Vector3(0,0,1),r=new c.Quaternion,u=new c.Quaternion(-Math.sqrt(.5),0,0,Math.sqrt(.5)),t=new c.Quaternion,m(),window.addEventListener("orientationchange",m,!1),window.addEventListener("deviceorientation",k,!1),h())}function h(){if(v&&void 0!==p&&void 0!==q){v=!1;var y=c.degToRad*q;t.Gya(c.degToRad*p.beta,c.degToRad*p.alpha,-(c.degToRad*p.gamma));t.multiply(u);t.multiply(r.setFromAxisAngle(n,-y));w||(x++,5<=x&&(w=
!0,l.trigger(new g(b.Sc))));l.trigger(new g(b.ta))}}function m(){q=window.orientation||0;v=!0;h()}function k(y){p=y;v=!0;h()}var b=a("ox"),g=a("cw"),e=a("gf"),c=a("nx"),f=!1,l=new e,p,q,n,r,u,t,v,w=!1,x=0;d.prototype.Aq=function(){h();return t};d.prototype.bind=function(){l.bind.apply(l,arguments)};d.prototype.unbind=function(){l.unbind.apply(l,arguments)};d.prototype.stop=function(){window.removeEventListener("orientationchange",m,!1);window.removeEventListener("deviceorientation",k,!1)};return d});
define("iL","require ox cw gf v nx".split(" "),function(a){function d(q){this.OVa=q;this.$aa=new k;this.MX=new k;this.Cca=new k;this.gD=new f.Quaternion;this.Bca=new f.Quaternion;this.dta=new f.Quaternion;this.Zva=!1;this.QX=new f.Vector3;this.gca=new f.Vector3;this.NUa=new f.Quaternion}function h(){this.deviceId="webvr-polyfill:fused";this.Iwa=!1;this.Hwa=0;this.tO=new f.Vector3;this.tY=new f.Vector3;this.filter=new d(.98);this.HWa=new m(.04);this.kI=p.kI();this.an=p.an();p.qba();this.aca=p.wVa();
this.SX=new f.Quaternion;p.an()?this.SX.setFromAxisAngle(new f.Vector3(1,0,0),Math.PI/2):this.SX.setFromAxisAngle(new f.Vector3(1,0,0),-Math.PI/2);this.DY=new f.Quaternion;this.LI=new f.Quaternion;this.yxa=new f.Quaternion;this.yxa.setFromAxisAngle(new f.Vector3(0,0,1),-window.orientation*Math.PI/180);this.Vya();p.Wva()&&this.SX.multiply(this.DY);this.Rs=new f.Quaternion;this.kI=p.kI();this.an=p.an();this.vVa=66<=p.qba();this.zD=this.zD.bind(this);this.rP=this.rP.bind(this);this.qP=this.qP.bind(this);
screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change",this.zD):window.addEventListener("orientationchange",this.zD);this.aca?window.addEventListener("deviceorientation",this.rP):window.addEventListener("devicemotion",this.qP)}function m(q){this.IWa=q;this.sZ=new f.Quaternion;this.uI=null;this.Wta=new f.Quaternion;this.uP=new f.Quaternion}function k(q,n){this.set(q,n)}var b=a("ox"),g=a("cw"),e=a("gf"),c=a("v"),f=a("nx"),l=new e;d.prototype.zSa=
function(q,n){this.$aa.set(q,n)};d.prototype.ESa=function(q,n){this.MX.set(q,n);p.JVa(n-this.Cca.VZ)&&this.iXa();this.Cca.copy(this.MX)};d.prototype.iXa=function(){if(this.Zva){var q=this.OUa(this.MX.sample,this.MX.VZ-this.Cca.VZ);this.NUa.multiply(q);this.gD.copy(this.Bca);this.gD.multiply(q);q=new f.Quaternion;q.copy(this.gD);q.inverse();this.QX.set(0,0,-1);this.QX.applyQuaternion(q);this.QX.normalize();this.gca.copy(this.$aa.sample);this.gca.normalize();q=new f.Quaternion;q.setFromUnitVectors(this.QX,
this.gca);q.inverse();var n=new f.Quaternion;n.copy(this.gD);n.multiply(q);this.gD.slerp(n,1-this.OVa);this.Bca.copy(this.gD)}else this.dta=this.ySa(this.$aa.sample),this.Bca.copy(this.dta),this.Zva=!0};d.prototype.Aq=function(){return this.gD};d.prototype.ySa=function(q){var n=new f.Vector3;n.copy(q);n.normalize();q=new f.Quaternion;q.setFromUnitVectors(new f.Vector3(0,0,-1),n);q.inverse();return q};d.prototype.OUa=function(q,n){var r=new f.Quaternion,u=new f.Vector3;u.copy(q);u.normalize();r.setFromAxisAngle(u,
q.length()*n);return r};h.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&&screen.orientation.removeEventListener("change",this.zD);window.removeEventListener("orientationchange",this.zD);window.removeEventListener("deviceorientation",this.rP);window.removeEventListener("devicemotion",this.qP)};h.prototype.Jk=function(){return null};h.prototype.Aq=function(){var q=void 0;if(this.aca&&this.$R){this.Yta=this.Yta||function(){var r=(new f.Quaternion).setFromAxisAngle(new f.Vector3(0,
0,-1),0),u=new f.Quaternion;"landscape-secondary"==this.RV?u.setFromAxisAngle(new f.Vector3(0,1,0),Math.PI/-2):u.setFromAxisAngle(new f.Vector3(0,1,0),Math.PI/2);return r.multiply(u)}();this.Xta=this.Xta||function(){var r=new f.Quaternion;r.setFromAxisAngle(new f.Vector3(1,0,0),-Math.PI/2);return r}();q=this.$R;var n=new f.Quaternion;n.copy(q);n.multiply(this.Xta);n.multiply(this.Rs);n.multiply(this.LI);n.multiplyQuaternions(this.Yta,n);this.y0a&&(n.x=0,n.z=0,n.normalize());this.mZ[0]=n.x;this.mZ[1]=
n.y;this.mZ[2]=n.z;this.mZ[3]=n.w;return this.mZ}q=this.filter.Aq();q=this.HWa.BUa(q,this.tY,this.uI);n=new f.Quaternion;n.copy(this.SX);n.multiply(this.Rs);n.multiply(q);n.multiply(this.LI);return n};h.prototype.resetPose=function(){this.Rs.copy(this.filter.Aq());this.Rs.x=0;this.Rs.y=0;this.Rs.z*=-1;this.Rs.normalize();p.Wva()&&this.Rs.multiply(this.DY);this.Rs.multiply(this.yxa)};h.prototype.rP=function(q){this.$R=this.$R||new f.Quaternion;var n=q.alpha,r=q.beta;q=q.gamma;n=(n||0)*Math.PI/180;
r=(r||0)*Math.PI/180;q=(q||0)*Math.PI/180;this.$R.Gya(r,n,-q)};h.prototype.qP=function(q){var n=q.rotationRate;if(n){var r=q.accelerationIncludingGravity;q=q.timeStamp/1E3;this.kI&&(q/=1E3);var u=q-this.uI;u<=p.Lea||u>p.Iea?this.uI=q:(this.tO.set(-r.x,-r.y,-r.z),this.tY.set(n.alpha,n.beta,n.gamma),(this.an||this.kI||this.vVa)&&this.tY.multiplyScalar(Math.PI/180),this.filter.zSa(this.tO,q),this.filter.ESa(this.tY,q),this.uI=q,this.Iwa||(this.Hwa++,5<=this.Hwa&&(this.Iwa=!0,l.trigger(new g(b.Sc)))),
this.RV!=this.Bua()&&this.zD(),l.trigger(new g(b.ta)))}else this.aca=!0,window.addEventListener("deviceorientation",this.rP),window.removeEventListener("devicemotion",this.qP)};h.prototype.bind=function(){l.bind.apply(l,arguments)};h.prototype.unbind=function(){l.unbind.apply(l,arguments)};h.prototype.zD=function(){this.Vya();l.trigger(new g(b.ta))};h.prototype.Vya=function(){this.LI.set(0,0,0,1);this.RV=this.Bua();switch(this.RV){case "landscape-primary":this.LI.setFromAxisAngle(new f.Vector3(0,
0,1),-Math.PI/2);break;case "landscape-secondary":this.LI.setFromAxisAngle(new f.Vector3(0,0,1),Math.PI/2)}this.DY.copy(this.LI);this.DY.inverse()};h.prototype.Bua=function(){var q=screen.orientation&&screen.orientation.type;if(!q)switch(window.orientation){case 0:q="portrait-primary";break;case 90:q="landscape-primary";break;case -90:q="landscape-secondary";break;case 180:q="portrait-secondary"}"landscape-primary"==q&&(4.9<this.tO.z||-4.9>this.tO.z?q=this.RV||q:0<this.tO.x&&(q="landscape-secondary"));
return q};m.prototype.BUa=function(q,n,r){if(!this.uI)return this.sZ.copy(q),this.uI=r,q;r=new f.Vector3;r.copy(n);r.normalize();n=n.length();if(n<20*f.degToRad)return this.uP.copy(q),this.sZ.copy(q),this.uP;this.Wta.setFromAxisAngle(r,n*this.IWa);this.uP.copy(this.sZ);this.uP.multiply(this.Wta);this.sZ.copy(q);return this.uP};k.prototype.set=function(q,n){this.sample=q;this.VZ=n};k.prototype.copy=function(q){this.set(q.sample,q.VZ)};var p={Lea:.001,Iea:1,JVa:function(q){return isNaN(q)||q<=p.Lea||
q>p.Iea?!1:!0}};p.an=function(){var q=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return q}}();p.l0a=function(){var q=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return q}}();p.kI=function(){var q=-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return q}}();p.qba=function(){var q=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),n=q?parseInt(q[1],10):null;return function(){return n}}();p.wVa=
function(){var q=!1;if(65===p.qba()){var n=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(n){n=n[1].split(".");var r=n[3];q=3325===parseInt(n[2],10)&&148>parseInt(r,10)}}else"getVRDisplays"in navigator&&c.browser()==c.Nk&&c.LO()&&c.cd()==c.oQ&&(q=!0);return function(){return q}}();p.Wva=function(){return 90==window.orientation||-90==window.orientation};return h});
define("hB","require li ox cw gf nm v fl iL md".split(" "),function(a){function d(){function w(){q=!0;l.trigger(new m(h.ta))}function x(){var G;!C||!y&&B?B&&(G=A):G=z;n!=G&&(n&&(n.unbind(h.ta,w),n.stop()),n=G)&&(n.bind(h.ta,w,this,!0),w())}var y=g.de()==g.Di||f.Yi("debug")&&"deviceorientation"==f.getQueryParameter("sensor"),A=new c,B=!1;A.bind(h.Sc,function(){B=!0;x()},this,!0);var z=new e,C=!1;z.bind(h.Sc,function(){C=!0;x()},this,!0)}a("li");var h=a("ox"),m=a("cw"),k=a("gf"),b=a("nm"),g=a("v"),
e=a("fl"),c=a("iL"),f=a("md"),l=new k,p={},q=!1,n,r=[],u=!1,t=!1;p.Hca=function(w){w&&r.push(w);if(!p.disabled)for(;r.length;)r.pop()();else if(g.de()==g.Di&&window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission){DeviceOrientationEvent.requestPermission().then(function(y){"granted"===y&&(t=!0,x())})["catch"](function(){});DeviceMotionEvent.requestPermission().then(function(y){"granted"===y&&(u=!0,x())})["catch"](function(){});var x=function(){if(p.disabled&&u&&t)for(p.disabled=!1,d();r.length;)r.pop()()};
x()}};p.bind=function(w,x){l.bind(h.ta,w,x)};p.unbind=function(w,x){l.unbind(h.ta,w,x)};p.wWa=function(){return q};p.Aq=function(){q=!1;if(n){var w=n.Aq();w=b.Oda(w);return{yaw:w.Sa,pitch:w.pitch,roll:w.Xe}}return{yaw:0,pitch:0,roll:0}};if(g.de()==g.S0||g.de()==g.Gea)p.wg=!1,p.disabled=!1;else if(g.de()==g.VD&&g.browser()==g.Nk&&"https:"!=window.location.protocol&&"localhost"!=window.location.hostname)p.wg=!0,p.disabled=!0;else if(g.de()==g.Di)if(p.wg=!0,p.disabled=!0,window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission)p.Hca();
else{var v=function(){window.removeEventListener("deviceorientation",v,!1);p.disabled=!1;d()};window.addEventListener("deviceorientation",v,!1)}else p.wg=void 0!=window.DeviceMotionEvent,p.disabled=!1;p.wg&&!p.disabled&&d();return p});define("my",["require"],function(){return{w_a:"single",FRONT:"front",Oa:"left",BACK:"back",hb:"right",tc:"top",oc:"bottom"}});
define("gR",["require","my"],function(a){a=a("my");var d={},h=Math.PI/180,m=new THREE.Matrix4;new THREE.Matrix4;var k=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];d.Df=Math.pow(10,3);d.r_=.5*d.Df;d.JBa=d.Df;d.Cfa=[a.FRONT,a.hb,a.BACK,a.Oa,a.tc,a.oc];d.Sta=function(b,g){for(var e=d.Df,c=d.r_,f=b*g,l=this.Tt(),p=[],q=0,n=6*f;q<n;q++)p.push(q);q=[];var r=f;q.push(this.xE(l,b,g,-c,+c,-c,+e,0,-e,0,p.slice(0,r)));n=r;r+=f;q.push(this.xE(l,
b,g,+c,+c,-c,0,+e,-e,0,p.slice(n,r)));n=r;r+=f;q.push(this.xE(l,b,g,+c,+c,+c,-e,0,-e,0,p.slice(n,r)));n=r;r+=f;q.push(this.xE(l,b,g,-c,+c,+c,0,-e,-e,0,p.slice(n,r)));n=r;r+=f;q.push(this.xE(l,b,g,-c,+c,+c,+e,0,0,-e,p.slice(n,r)));q.push(this.xE(l,b,g,-c,-c,-c,+e,0,0,+e,p.slice(r,r+f)));l.mergeVertices();l.computeFaceNormals();l.userData.type="cube";l.userData.Fva=b;l.userData.bAa=g;l.userData.DWa=q;return d.IN(l)};d.MH=function(){var b=this.Tt();this.Nga(b,-.5,.5,0,1,0,0,0,-1,0,0);b.mergeVertices();
b.computeFaceNormals();b.userData.type="plane";return d.IN(b)};d.Rta=function(b,g,e,c,f,l,p,q,n,r,u,t){var v=this.Tt();v.vertices.push(new THREE.Vector3(b,g,e));v.vertices.push(new THREE.Vector3(c,f,l));v.vertices.push(new THREE.Vector3(p,q,n));v.vertices.push(new THREE.Vector3(r,u,t));v.faces.push(new THREE.Face3(0,2,1,null,null,0));v.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,0),new THREE.Vector2(1,1)]);v.faces.push(new THREE.Face3(0,3,2,null,null,0));v.faceVertexUvs[0].push([new THREE.Vector2(0,
1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);v.mergeVertices();v.computeFaceNormals();v.userData.type="quad";return d.IN(v)};d.Uya=function(b,g,e,c,f){b=d.c$(b);var l=b.faceVertexUvs[0][0];l[0].x=g;l[0].y=e+f;l[1].x=g;l[1].y=e;l[2].x=g+c;l[2].y=e;l=b.faceVertexUvs[0][1];l[0].x=g;l[0].y=e+f;l[1].x=g+c;l[1].y=e;l[2].x=g+c;l[2].y=e+f;b.uvsNeedUpdate=!0;return d.IN(b,!0)};d.Hv=function(){return d.r_};d.Cba=function(b,g){return 2*b*Math.tan(.5*g*h)};d.Dba=function(b,g){return 2*b*Math.tan(.5*g*h)};
d.lD=function(b){return Math.max(Math.min(3.539647*b-6.669366*b*b+4.7454*b*b*b,d.r_),.1)};d.Tt=function(){var b=new THREE.Geometry;b.userData={};return b};d.dispose=function(b){b&&(b.isBufferGeometry&&b.userData&&b.userData.geometry&&b.userData.geometry.dispose(),b.isGeometry&&b.userData&&b.userData.HH&&b.userData.HH.dispose(),b.dispose())};d.IN=function(b,g){if(b.isBufferGeometry)return b;if(b.isGeometry){if(!b.userData.HH||g)b.userData.HH&&b.userData.HH.dispose(),g=b.toBufferGeometry(),(g.userData=
{}).geometry=b,b.userData.HH=g;return b.userData.HH}return null};d.c$=function(b){return b.isGeometry?b:b.isBufferGeometry&&b.userData&&b.userData.geometry?b.userData.geometry:null};d.xE=function(b,g,e,c,f,l,p,q,n,r,u){for(var t={},v=0,w=0;w<e;w++){t[w]={};for(var x=0;x<g;x++)this.Nga(b,c+p*x/g+0*w/e,f+0*x/g+n*w/e,l+q*x/g+r*w/e,p/g,0/g,q/g,0/e,n/e,r/e,u[v]),t[w][x]=b.faces.slice(b.faces.length-2,b.faces.length),v+=1}return t};d.e0a=function(b,g,e){g=.5*g/Math.tan(.5*e);m.copy(b);b=k[0];b.x=0;b.y=
0;b.z=0;b.applyMatrix4(m);e=Math.sqrt(b.x*b.x+b.y*b.y+b.z*b.z);var c=g/b.z,f=k[1];f.x=b.x*c;f.y=b.y*c;f.z=g;return e/Math.sqrt(f.x*f.x+f.y*f.y+f.z*f.z)};d.rUa=function(b,g,e){b=d.c$(b);m.copy(g.matrixWorldInverse).multiply(e);switch(b.userData.type){case "cube":return d.aJa(b,m,g.projectionMatrix);default:return d.bJa(b)}};d.nUa=function(b,g,e){b=d.c$(b);switch(b.userData.type){case "plane":return d.EIa(b,g,e);case "quad":return d.Zja(b,1,g,e)||d.Zja(b,0,g,e);default:return null}};d.Nga=function(b,
g,e,c,f,l,p,q,n,r,u){var t=b.vertices.length;b.vertices.push(new THREE.Vector3(g,e,c));b.vertices.push(new THREE.Vector3(g+q,e+n,c+r));b.vertices.push(new THREE.Vector3(g+f+q,e+l+n,c+p+r));b.vertices.push(new THREE.Vector3(g+f,e+l,c+p));b.faces.push(new THREE.Face3(t,t+1,t+2,null,null,u));b.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);b.faces.push(new THREE.Face3(t,t+2,t+3,null,null,u));b.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,
0),new THREE.Vector2(1,1)])};d.EIa=function(b,g,e){var c=b.faces[0],f=b.faces[1],l=k[0],p=k[1],q=k[2];l.copy(b.vertices[c.a]).applyMatrix4(g);p.copy(b.vertices[f.c]).applyMatrix4(g);q.copy(b.vertices[c.b]).applyMatrix4(g);g=p.x-l.x;f=p.y-l.y;var n=p.z-l.z;p=q.x-l.x;var r=q.y-l.y;q=q.z-l.z;var u=f*q-n*r,t=n*p-g*q,v=g*r-f*p,w=e.direction.x*u+e.direction.y*t+e.direction.z*v;if(0!=w&&(v=-(u*(e.origin.x-l.x)+t*(e.origin.y-l.y)+v*(e.origin.z-l.z))/w,!(0>=v||(u=e.origin.x+e.direction.x*v-l.x,t=e.origin.y+
e.direction.y*v-l.y,l=e.origin.z+e.direction.z*v-l.z,e=(g*u+f*t+n*l)/(g*g+f*f+n*n),l=(p*u+r*t+q*l)/(p*p+r*r+q*q),g=b.faceVertexUvs[0][0][0],f=b.faceVertexUvs[0][1][2],b=b.faceVertexUvs[0][0][1],0>e||1<e||0>l||1<l))))return{Pza:g.x+(f.x-g.x)*e+(b.x-g.x)*l,$za:g.y+(f.y-g.y)*e+(b.y-g.y)*l,materialIndex:c.materialIndex}};d.Zja=function(b,g,e,c){var f=b.faces[g],l=k[0],p=k[1],q=k[2];l.copy(b.vertices[f.a]).applyMatrix4(e);p.copy(b.vertices[f.b]).applyMatrix4(e);q.copy(b.vertices[f.c]).applyMatrix4(e);
e=p.x-l.x;var n=p.y-l.y,r=p.z-l.z;p=q.x-l.x;var u=q.y-l.y;q=q.z-l.z;var t=n*q-r*u,v=r*p-e*q,w=e*u-n*p,x=c.direction.x*t+c.direction.y*v+c.direction.z*w;if(0!=x&&(w=-(t*(c.origin.x-l.x)+v*(c.origin.y-l.y)+w*(c.origin.z-l.z))/x,!(0>=w))){t=c.origin.x+c.direction.x*w-l.x;v=c.origin.y+c.direction.y*w-l.y;c=c.origin.z+c.direction.z*w-l.z;if(0!=(l=u*e-p*n))e=(v*e-t*n)/l,n=(v*p-t*u)/-l;else if(0!=(l=q*e-p*r))e=(v*e-t*n)/l,n=(v*p-t*u)/-l;else if(0!=(l=q*n-u*r))e=(c*n-v*r)/l,n=(c*u-v*q)/-l;else return;if(!(0>
n||1<n||0>e||1<e||1<n+e))return p=b.faceVertexUvs[0][g][0],u=b.faceVertexUvs[0][g][1],b=b.faceVertexUvs[0][g][2],{Pza:p.x+(u.x-p.x)*n+(b.x-p.x)*e,$za:p.y+(u.y-p.y)*n+(b.y-p.y)*e,materialIndex:f.materialIndex}}};d.aJa=function(b,g,e){var c=Array.prototype.concat.apply([],b.userData.DWa.map(function(f){return d.pka(g,e,f,b.vertices,0,0,b.userData.Fva,b.userData.bAa).map(function(l){return l.materialIndex})}));return d.zka(c)};d.bJa=function(b){b=b.faces.map(function(g){return g.materialIndex});return d.zka(b)};
d.zka=function(b){var g={};b.forEach(function(c){g[c]=!0});b=[];for(var e in g)b.push(e);return b};d.pka=function(b,g,e,c,f,l,p,q){var n=[];if(d.gQa(b,g,c[e[l][f][0].a],c[e[l+q-1][f][0].b],c[e[l+q-1][f+p-1][0].c],c[e[l][f+p-1][1].c]))if(1==p&&1==q)n.push(e[l][f][0]);else for(l=1<q?[l,l+Math.ceil(.5*q),l+q]:[l,l+q],f=1<p?[f,f+Math.ceil(.5*p),f+p]:[f,f+p],p=1;p<l.length;p++){q=l[p-1];for(var r=l[p]-q,u=1;u<f.length;u++){var t=f[u-1];n=n.concat(d.pka(b,g,e,c,t,q,f[u]-t,r))}}return n};d.gQa=function(b,
g,e,c,f,l){var p=[null,null,null,null,null];k[0].copy(e).applyMatrix4(b);k[1].copy(c).applyMatrix4(b);k[2].copy(f).applyMatrix4(b);k[3].copy(l).applyMatrix4(b);e=0;c=4;for(b=0;4>b;b++){f=k[(b+3)%4];l=k[b];var q=k[(b+1)%4];if(0>=l.z)p[e++]=l;else{if(0>=f.z){var n=k[c++],r=f.z/(f.z-l.z);n.x=f.x+(l.x-f.x)*r;n.y=f.y+(l.y-f.y)*r;n.z=-1E-5;p[e++]=n}0>=q.z&&(n=k[c++],r=l.z/(l.z-q.z),n.x=l.x+(q.x-l.x)*r,n.y=l.y+(q.y-l.y)*r,n.z=-1E-5,p[e++]=n)}}if(2<e){for(b=0;b<e;b++)p[b].applyMatrix4(g);b=0;for(g=e-2;b<
g;b++)if(e=p[b],c=p[b+1],f=p[b+2],!(1<e.x&&1<c.x&&1<f.x||-1>e.x&&-1>c.x&&-1>f.x||1<e.y&&1<c.y&&1<f.y||-1>e.y&&-1>c.y&&-1>f.y))return!0}return!1};d.Tta=function(b,g,e,c,f,l,p,q,n){var r=b*h,u=.5*-r+.5*Math.PI,t=g*h,v=.5*(Math.PI-t)-e*h,w=.5*d.JBa,x=64/Math.PI,y=Math.max(2,Math.ceil(r/c*x));x=Math.max(2,Math.ceil(t/f*x));for(var A=c*y,B=f*x,z=this.Tt(),C=0,G=[],D=0;D<=B;D++){for(var E=[],H=v+D*t/B,R=0;R<=A;R++){var S=-(u+R*r/A);z.vertices.push(new THREE.Vector3(-w*Math.cos(S)*Math.sin(H),+w*Math.cos(H),
+w*Math.sin(S)*Math.sin(H)));E.push(C++)}G.push(E)}for(u=r=0;u<f;u++)for(t=u*x,v=0;v<c;v++){w=v*y;for(D=0;D<x;D++)for(A=p+(1-D/x)*n,B=p+(1-(D+1)/x)*n,R=0;R<y;R++){C=l+R/y*q;E=l+(R+1)/y*q;H=G[t+D][w+R];S=G[t+D+1][w+R+1];var Q=G[t+D][w+R+1];z.faces.push(new THREE.Face3(H,G[t+D+1][w+R],S,null,null,r));z.faceVertexUvs[0].push([new THREE.Vector2(C,A),new THREE.Vector2(C,B),new THREE.Vector2(E,B)]);z.faces.push(new THREE.Face3(H,S,Q,null,null,r));z.faceVertexUvs[0].push([new THREE.Vector2(C,A),new THREE.Vector2(E,
B),new THREE.Vector2(E,A)])}r++}z.mergeVertices();z.computeFaceNormals();z.userData.type="sphere";z.userData.ze=b;z.userData.Pq=g;z.userData.pitch=e;z.userData.Fva=c;z.userData.bAa=f;return d.IN(z)};return d});
define("cb",["require"],function(){return{Ok:"data:image/png;base64, ",RAa:"data:image/png;base64, ",
FBa:"data:image/png;base64, ",
cJ:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAE4CAMAAADW5D7KAAAAM1BMVEUAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBprCkqAAAAEHRSTlMAQIC/758wECDPYK/fcFCPt8VnWAAABehJREFUeNrt3N2WmzAMRWHABmx+/f5P20672kwSIBYI8MA+110T+sUWQnGSZeQyqZu2C1+xxpiiaPIak7kUNrzFjH2FzPuy8mEupsjxibT6szHbhj35PyZ8jMfrb/oQlXaAKstsiExX3H55DUGQ0t0bqwwBLsXyDpe4ZH3jqsGKj+3ZhoL4ezb2bViX8Y57sVmJFbobLq7artUKxQ3HM6uxgr9dF1F367Xs7bZitX4jhtCjJelQb7cT2w1a/nY9RFV2lHnJ8sq/MhRFa4Tb0t77g406L1qLlmRr9i1akhXWtGhJvPoOLUEGQwchSG7Q0uVqUXpsxo+1awTpUeo/DnMakL51Xp5boiAjRV5S6C0Dm/i45a3IWZvnOr94OsKyEQWFi27rJQ0bUUmrYyMKtGjkJVoOnpcsPPsYdF6z0EHwRYO3eJaWoDu1jB8EQ4j59gGct/R0poIYqpZgBGG5ISpsRAZbkv6BNv49OadzFRp5uoepGk+JV3iipsQLnnosNIKqRRcvqFrsw6m03A+391qcfJhKx1dVNncPjB4kJV7vBZrSh6Pj236XB1y/axPfHA+154/wFDsWraYLZ8aqTwSq3Q6JVD6cHfUvg08/8vjtyyqkEOXF1e5T4cuQRnQfRvpdKnwqVsqnzvI9PmwdQzpRXVs7bPYmpBTNuuXVV6+zSWFpTn5L9Qcek5aV5hCl0H6BIaQWvbnAoN07dMlh2b1vh+ozsjOjdpDKKX8uXSaI5XfuHVbfQmyCWHpHEnSxUtyFivtQF6tIEmt1G18Vz5n588//qI8dpbVJYplj33obue1NklhBddepreQOrPiVHC6Ftfat709pRGZuufPpVbFW/vRdmSWEddwDySqtMrsn1hqtMrsrllyrzO6LJdWS9L/Xw5JpiZ4VLogl0ZI9V10RK15L+Ax6SaxYLenz+jWx4rTEs42LYsVoyedAV8X6rLViZnZZrE9aa+aL18Va1lo1i70w1pLWurn1lbHmtVbO+C+NNae19vOQa2NNa63+7OjiWFNa64/LXR3rXWvD0cLLY71qbTmGeX2sZ61NR1ZvgPVda9vx3jtgPbQ2HoW+BdY/ra3Hxu+B9Vdr8xH7m2BlrjTbz/XeBUslYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhgCbAqc1DGYnA/HevQ367vRgeWICYHS8LlwIqPbcBa+auvYAm0wBJogfU5I1iCDGAJ7ok1WOKNCFZUHFjSOyJYgqoFVlwasIT7EKzI8RZYgtRgxScHS/bIA1Zkih+G5YpD0l0C66AYsMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssJIIWGCBBRZYYIEFFlhggbUnli/yOqvz3oP1kerxLJkbsBYzPr1WD9ZCmpcXa8CKXFdKa+uiWD765cCanBM6sCbTTb5eC9bc33hPA1b8tN6BNRU3/YJgCf5XYE2lPhArP/PR/gvL/qCadSpWr9A/Hnk3HM7EyhWw/C59lpn8q8WZWJXGBezSwZfpYaksbbNHA9/v81ywdQfVQf8/tn1G4wT39GMyKr1dr/Osyqq8jfr9yNaSpXKLeV5bjQ377MLq7F34O932P2Ue28YpFBZb79OPKOwelWtom6916hqVGjzdu2XleVaPQZQPaWVmYWlsgbUZkqgFy1eWSslqU2n2IhvSLBsTWeplQlZ+bnJy2i601fOFpFO2fC071nxCWajb1K1OW/12SKkiPNWrWSt30hV11eSwyJ5OZZv5We9JN6F25t2ri2SX1e+LO+Wt9AvfNKmL8/o+O7qlDxHOqBLtpy/l5OMZcxA/DsuXdXjF6trGRX0U5PJj45K7pMmi/gv70+gtsjuKIwAAAABJRU5ErkJggg==",
OBa:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAADcCAMAAADA8VqlAAAAM1BMVEUAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBprCkqAAAAEHRSTlMAQL8QgO/fn89gMHAgUI+vkrzZGQAAB8pJREFUeNrtXduW2yAM5H63zf9/bdukjdYBjI0t4KHz1Obsnp0INJKQjMl//MeM4I7MDaM4mRk6xo1MDB9/Q5BpYeMLlEwKJ98E5aTbMMj4F4bMCG7iByuZEFv8gYVMBx1/Qk6n1zbuYSZzFBq/oclMcDIm8GQecBUzmGgbmpjDPGmDjnkwMgdElt08aYPNcpsnbXDxADKQ0Qgyy2yatIHnHXietIHFGixpALLAzJM2OPZBBMyZNnzb7SUw9IUpCa5kNsybKGQJSjIb6JxpAoDOmCUcEKT5sLgIT8kApASzP8Le23OMdWktReB6rHLTSkXHzeDYQisF3fZmtrJRMk6PfWT5hL/wMmUgvRF2BJMlVFDkcTmmqt/VmxkDglkt/ERPHMYR/dNoHGzcE4epjNodyJkh5d6RE/O9dushsVAdODHda7cY4CVQPYGIFBnRIekOO4jEsKYgSaQ39IHKsK9lH+LGoqQy4LZD3RgIQrOuaDE24vyVHqTT33tONOhMV4J2hBtzIGiPCIIu9gYQpDWCfIjOmDJBCZV88kE/MCBY00HCRnTzBASSKsF1hBv7CwQ9qGU/0DLB7du16YikmmcJgjCPd+M6QYAaEY3ZBYLbCC9ZswQhtA33Ep8czJRTaNr/kBPcmJUJAj6VgVvZq1clmUCPLUWCLlUV9laeRe0KfkvwAIWdylNPN6zmW9JTQbQiDM4cE4TDEGU6d878IcFQkHVmX1ZznqF3WCgQrARjyM7Uj48Dw55nuUJwzZ21euR5FlYiuKWba8mWLxZ38EskBMtlHIcKNWEoN+EpRqhe4Hy1SpCYUlgEmKfFmycp/0HoXWE1088Bag2Pb0JajXVgbn1ijEnz5zbhBYK8FHZCOlVgn1VCm/+beUu5oq/JQP329KyfLLQ6cwRFSfS4gpNkLuSjzSl9QDBkzc3Kw1bqTXd9kqEFcTsOJRB4eCEvgr1C5XOrzMEodYKsGDbsPrMM5rkmOUs8s9x5EOXsRe5HM7iE/92Er8Y6gIOdlucOy+rk26CO0ps0Q5mgLtgpHPQmA3xxgNKUtMNUlDpNwe1Bdi4KU2ys3Y6+SNAUUnB9kHfI4qC2vbPGPu/dheFNVpL8PQ/21PAVOw4lqd7Jo9xSJSYU3N4rDSwQ/KLiCu0pkoWQ0WhP03alg73RBC6PQ0kqyPRa0cg+v+hb4zHLe6UvqMly+pvDvqSy3VMoEKw2l9SVbM/+HK2zN8ZPFasoNcCLJVyoef6YzXgOdNseFxDgek83sSkNez/f2qQQ/o15bL41O0ruayEcm3PVOoyfc0uMgSgKi3wfDONcXzz2xAUI4fOLbEgz8Lvsy63Epkfjgd1UB/RpHnrThPjTPOzeF8ef5qE3HRl/msc8VdQzpB6DfS3NtDrzt3oR8+oMIeKG0mBP84A+2Hl1hhDdrDT4+QwoTZg0n3lB3anjewz/+nv9e/zhXy4fcZNlt5cndBOHN0jhXm4ya7rwLyCv06YLjW5C/eKQyxIAvxxN3PvoTwcCEMk6POsm20XHf4OFshsPjCY+AgSyG0M08dfCmmHQqiy58ZCkC+IutwoY4rkxJEvuemLgX5vRF914gBQCQWhiSY7pxlCbyIsEIQwJVDcGKVxacj/xMiGmG8MG0i1hF5Kh1I0HrDEQ3Km8QnVjqD+XiwRBASimG4Mh9PnAo/Y7csN0YwilsumsbXntPVQ3hjVuKD8gUKZuPGiNoYCDgTGTbUaMWGPw1r2bBPwZ/rpWp08QA2OPcQaXavV60tQqyQ8Z4hlc/eHvdIo7rQs5+kMGvJpzgdPazEf4T+6aeiQAc6W1P7bOwFaqq6DJkbbIOgO2qedaPveh5LgE4XH/uhq5bF1ocBMuCCZ1V8q7dtQIp5ipwrWdlnODfKUeWCe0tQ2dxCUIQmPbCBKHQLAeJK4MeNjqLbf4m/A4p/K4V0rBJmzWIo1KEDZhe4FqotSOYGKtp1z24M7s4AgylnpPkN9skOL3BPW4a8fPlRWhcWSp3wjR2i53fVpuXLUOH/bqnNPO95Ndf4BeD7wJWJ7501y2jTr0G4BZWoJa10E71vUSuobrbILsc+1N+0CvH3ZV8dm1M2MiHmRc04rhenZz6QY/6TrCwEf5iTp7FuwHxRN/ever7hdYwdL59iFdfKynDcPG5F3htHvSQa8qMadXTo9Z5PW0XbhsYdhzko02HHfgF5/pkRHr7ClA8CxDeahLQwkSK6s3Bo0lSJyJL5hi2BtKEO4iwLdi++VtjjVQ7Dv3Tj8UBbJHg1C3UpQ6EERAqGunGNlCMphgLNjp5KobBOg7eWhY4dWFNtmNUzzBwb2Ci4P3HKd52o7q+AHzgbww1/OK3BvgqPTynCHDYydrblURoLR1jwQRA7XkUxwBRt/ek/rpAw0nTNxhs/f4IZS6fFl3JNVygx/WkRVfBJNgRX6HnyNYCFarGy9Z4Qz44WFhrQydAX6ooKrpXU9eAj9k8IZ7rALDvIc0ZXjVF4XsW92GayZcVPc3bK0X4illsX158Z8PsSo2mw9/VhGyXxZIX4i60nALJQ4lveEqSRO3WxxBD6AOVNd5Fj/QjgzBkv/rYZdUROU5GQX9bwGZ+AvN9qmjXMcYDxgeQenxL4u3ssSO+TlevAmuCmDaz/DeZoCji/gLP8t7Xv/jP87hF6zG3Qlg7TIVAAAAAElFTkSuQmCC",
q_:"data:image/png;base64, ",
Bw:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB0CAMAAACBmP1sAAAAmVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZHz8/M8PDzLy8ufn5/u7u4UFBT8/PxmZmbz8/NNTU07Ozuvr6/i4uJwcHDm5uZfX1/o6Oi8vLy9vb2AgIAoKCj29vbT09OsrKzZ2dkoKCiGhoagoKDb29vJycnQ0NDHx8f4+Pj///9ot3XMAAAAMnRSTlOyALYLBLrAvRUiGsMxKS004vxC8WfNyPNP2tLP6rXa+NbBgu3eyeibdvTMWuWojp2P5xSTSb8AAAbBSURBVGje5NfrUuJAEAVg1l0SNTEJAUK4KRdRvLu8/8NtTyeHw5CKEwzln21rt7RK+ep09wyh8+vn62TzT7Ucf9HKpPIb5YBbmrAqRfu85oF3ab5Q+sOhex6TILDr60v5ksL/aoNtZ1IEqMTVcRFG2HZmCZqA4G6OC7CyTdSOSwRYcFEUSr0MUHloKipgYRH22yZEyaCe0d7fhqPdYf0dvq3yWN2mascRsoxowPx9Sc6u0XyVxsJqWHT4dJOigun7GECvv05Q/f7eXZYs1cYmSYrxYF5y62SSBYHHCoLNIukjbV6oQJubDFmK26G+5N3rdM/5RcENFrNeEXYgKqICdZkkNaTJqGJvZkBqfrfbxbclu1Z1KFkdUWHaJEKGca7i3W1mQLUqtWefEw37lsbRjUQF6jRJasiPkYoaEeCFVXvXqJmqoy2iAnWZIG+iOB+briYiAqRlu1RfdaxpGBF1mhil9HVlQq4ziAA7VlmsUadmix9epL9Aa02mBDk3IRcmJEVaVXev3puoqzgk+oVJMgpTszz9IiTB2rLU6ZP87ZzoVybJODWj1ElqRogutkSzmUHTGrRTT/ZkXRESYkM1CBJBx4rqkak3i40FOUVfm4ryj+gtUY6Upr2ysj4kbbF5VM9TdBlHV0Atk51tR1IlOheUI62aIOPlEXnRAn3kSGmSxP58yK9OQLoAJ7qtjBQmOxsP5BdvSX5LBSpHZpRLdxWtmvthyoU3I/ktkahcDsOYQWlax0SG+RQErVIyabDpcaQVE53d6v4wZZukvqALmVSuuytBaZK8CtOH3e5eSL9NSiySdnct3WXQqqk7+6TDxLlsjWbS3a1ZIwbtYGk1Zq7HpG1n7ZHey7spgtJkzLns7JlIjvRO3kytiXYQU0yNufE8DvMs3Z3IBwwEhcmlrYnZtrt9K6hlRumIMVntg8p5GTOoMbFBN+GnienY2Qutk4LqRAeRbWKDxrK0jpjFA15ztQgqqzuXoDguNMMXeXrGNOtfYuHz2cEplkEzuepjBu2wtW9yBTlj+rv+ptmaMaheRtuwakbxg2yQ49XkBeQ4vWZUnUGxRWyumBhnrtceYtaZnn5Iuw+wa46ymlsxw5U8z3ou01dTBj/Brdy4uS8YqJgY59Jsrd91mMGurPUzGtxwcz/DqinjdLZWTVSSuVVculN57sRAxcQlJJ9OvJNMedDHWN3NxZuLZQ5kHz2/kcnqO8aKzdU7N42OzXc5nWiV02TNMFbHQGe8/tTU97FHs0KI6TbZ4CRjg+vNpHxvoSkrNNQbobnJultwrLUndGKe/2BibcX0TjQ5Vjwp1qE0Lw/NcQtTxlo2uNbcFI9/tomjcqLJsQKtGaiYOCznMHEdej9ncqyb7n9g/uvVDloTBoIwDBcPkWI0l0K1pZdSELzU///rOpnk6+u6LmucmL0UCuVh1nTdzHzRvZ3/Gdok5lL/K5iLnglm8v8ZPfua+84+PxM4b597xq/9jG+vv1eW/C7TFezR72zEsqnvbEzuJpvJd5Nmwt2ky+4m3YN3sLLII5Tewbj3dc+/a9pjm5rtedqdGvHeO7Ue24t7/BLvDph8oKcJ70iI9TL7dyQ9Qm7qA+3fBTfPexf0jxPTTyJ/58UMv/NCJlu70Lv95kdbK5PNpYfxMlMPg67UW7sdmzWYhnrr9kSh8cUTdGBrzcxab5jzkENPSoeQTG2u994oNE4OZX7YWasyE3PuHiNleo9RT1DS16RQHt0ZyLGX2tHuw0x7xmvQ8M56z5gyZVKoeuPsbsCkN86niUmhwwwg3hxPZwA3+/EMAYZZB2iwdXuynf1VmZl5NdNZx1D7W2Y6hfkKu6vZVQB1ktmVyKL52vqM7jOEOrkeZ3TpzsoEZRYZQP/H2j6L7MmSCeqTZdBVhPzKB725aegO9MmzZQrt0fdk1LuaXuQ4Q4fMzAzdH3RNp9SpWQHIsglKJkIo6pRMREqWTaF59uMe0YtU9iMjMQuoMi6ViIvALOOSk5gllCwPKm7iIZLlKZOYoASIlFlqXIVlAY4BLTJLkLlZRq3U45DNyqNZrFI2C7Jsgt7MoDVpBs2xYgatnZRBA1WpZO0auYJLWTuyYEbWTVAyhd9kCuVq3cwUWpGQBbOe1kyzk8092UnIukmpqMYGMqKBLGy3P1eysCYGsrCgZH53xna3Mr9Hz/w6iAgZyjb7Hveru8g2d87ttg66SJE1s64qUm2yLddNM848gYjBrDqsu/mqZNWjmXxl5N3uf+IhhkxUZwUny34BiBgwYXF9YeEBxk1YX0BwgLOauKyqFzdZWA+sP5AziIxB81g8AAAAAElFTkSuQmCC",
A0:115,zBa:115,nE:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB0CAMAAACBmP1sAAAAllBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZEAAAAAAAAAAAAAAAAAAAAAAABOTk48PDzz8/Pu7u78/PygoKBmZmbLy8soKCjz8/M7OzsUFBSvr69wcHDo6Oi8vLz4+Pi9vb1fX1/h4eHm5uasrKzZ2dnT09OGhobi4uKAgICBgYHb29vQ0NDKysqampqgoKDIyMj///9mvEG6AAAAMXRSTlO0AMC6Bw4XI+EpHjIsLzTRQvvO82ZP8Mjaz8fp2sGC5+3Wtfh29Jtatd7dqJ2NauWP5Mh4/QAABn9JREFUaN681ulW4zAMBWBPU5hQN2na0J2u7Dt6/5cb20py6+iQnOAp4g+Y5eNKilv15/frR2b/5KOhAk1gsmAHmO3eRVkeHGpKENjlBeqSvwIbagKE52pQfbi6EGygiYBOGwz++mVOSpfVEBMRC4+5K1tDLvc5yydsmNmHaD1rJYnWj9dlTbXWSWJwsO2qasvIoPOs9v46yem0dpPX7TTV7A5YRYc75zwRLTh93zAnK3/aZqku1EtWu5v9SmQwe1+UwHi2j8uazSp3s810YtgBo6a6mkwWYnr9VHD7eLTq+TU/xAWcH02TobaYMiWLAyPq9G5Ctm4/l73v6rAec9gPo5oOM9rF5N2xczTihxPH6xoYRVGN3Tt1Mk2TKmqTKUfJIZN06sTbmxWseqHLsQv7mnGDEbXdLEgX8i13ogC/cVdOze+KqECbTIzShVzYrsY1UEWqqkjV1U831sxOFWiL6Uju69aG3BddhSfLY5d2i3ePNiqG2mT2K1KnRxvyANHjJAv12Ubdcn8FKs2SHOrMLs9s1SqioC7vieiYaofK9io/JUg7yliI7SpPdW3RTLv2SrO+sSDHvK4Qu6ixQRdAhYmYHrkE2aFK9MahZqZypMqP6R4SkN1EPD0lukkT7BHM2v4EkGCBHvVQ7pESZJJuAkiOCvTBoBipMHmYSfpGRCMmIXYMCvROjlTVhjnUH0R0I1L+rL1ronxqRypMr7NZTrRGykD0nmgiuqv8zrph3oemxEznYzNSdBcmYg71XbE/EMOCHohoyrsL04+Z7Yie0dmgYnRvu+sHVd4CpW9FZyGGoqux3V0vqPJiTovHBCnD2/tCtEPQU5OneeSdFWRQd2+Jtl5QVY85/5+msugIQWGeJya6O0PQ0sTS5iJmeFB+XhYICtO+nnxxTCGGBeWJXp9cRgqtTRdtSxvZajqVVa7uk7mMKhOtfSS69Un56/L78lQGXRHlelg1V6G1r0QvTb89H3HNo6j5VP6ne+9eUNjandmgBjKKiSuOouZTaR5Mc+0WwbT3nns475ti9qq/3osaTkWVzU2r5qpqnFt+PwuywYzKQ3kqyaK5j4nZXJhunBu7tTJm81//3kQVm/vFA/VMM86mmD/JiYEuiTbVQFW5QhnRrOlJ+VFOoO7OhckvnddEn2fJqco7NxvC5BV6J3rhmGfJuXbXHy+uKtf2oVghdZac9se2bnFhXiUT3AjhOSU6InowiyvM3ply+mafTfteegHzHDnnRJPkqmYSzc6QEwPtZIbvrarMv7+eU9dM/a94M+hpGIbB6GFFYyvNhQPiAEhIoCEQ4v//Ouic7C39WrI2LviCVAk9HKVpbD/Wz1OZ/5Bn96d58q6smeedMjkTNmvkaWdCy7vC2bf2OTRg2hm/znnLGc95K98y1zz5lsXvCt9PvtmOeeo325jxqhnvJv55cjfhnpCqlSc2rlOebCG9gzVHJndN/3uf3TV3+8ikEuRO7Zsnd2rutxT2LzCraweQWjtQfq5TI6VK+5kaiVowvFs7aoo5WvVtLq8F08kHc79rnWte0rSltRMhr+07avspZozCU/1D3/rJh72dkz0Mfl+xvz7VSF2pT5Z2olfj1zdJvRp2bd6TCs9+zRrStJ4Uu/bIZHHpvXkhU+8t0MGAabtotR6j9PtIlF6qH/KNNJXZJ+rRMyZOPeNTmjBJ1HrjrK5Pb5w0hdlvXWYA1UhmAGzabG1HZh21yDTr+Aj0NEdnOi0znVpomukEjqDB2p5Wl9lVDfRsdhU7mk1pRndfCT2b0TG6Eiarez6LXEpkFhkYgAqTvZvNXCuRh58sWVmYMkEP2aC3BvkAUpgkGqG3Al02Qxek5GnQ7dZME1yBBcjriJxyBQigOBFzoJkTcUjI35i8pf3ymvsxh5q7H4dWkMIUdwjH5aKh79BxUSTMUei+h+LylKUTdXkEKUwiumDiLG2msPXOEpbdTtysTQraExNulukXZTdL1b6bhQ5a6IoOmgZ2X6euHeAJ187WFaQwyxZj+zjTKRS9r8hE8YM6y50kyQJTYokjGokgS0xNFaq5sF8FF7aDCLLAVO7AwG3DmPP72ju/BhTibGaTqFemNpvZ3JNxm8Oo3FzpjedG9Tbq212Ko8i9HdrUTQWTXFHHNXJZ3cfJz5V8Q8dQKb/OjwcJ9sg1cqLBg1bJJOQfLMBFYOPNbBJXA5YjE679SGweEJ5MwlDQ5sY3+a5XYx8CGgsAAAAASUVORK5CYII=",
vBa:115,uBa:115,$Ba:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB1CAMAAABKxC7JAAAAh1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkJBMTEwAAADz8/M8PDzLy8ugoKDu7u5wcHA6Ojr8/PxmZmYUFBTz8/Pi4uKvr6+AgIAnJyfo6Oi8vLzm5ua9vb1fX1/S0tL4+PjZ2dmPj4/JycmsrKyGhoafn58UFBTb29v///9i05URAAAALHRSTlO0AL0KwyYRGDMuHuPUyfxC8WbN29DzT8jaterfzMGC+e3XnOf15Y52W+fOqAzih28AAAcuSURBVGje1JWJcqpAEEUJkrxBZHHfUNEY1/n/73s9wzQ31ACiUq/qXVKpklKPp7uncT7+ff4TZs/6s9IJEzT9j5O/ArlrZk9ddQG1OybkvnT+mEsHzt0xWTCn2dFoYN9lAmhw/X7/sxy6Y7igvsYEEUDg7PQZi86+xASx4Pm+L4S4DDkzQfH9HEtcyD7JBJEV+zmPaKf7aCp/53t03yqy5oL6KlMhWZF4s9MGuHKmy21MWFCh+gyTq9rPDePTggFRkgWcJJGcDWF9H9QXmKaPueJwaXBZMJh75aT7IGFbKrKhQrUlE2XVxPNIquyuE0K4VhR4v4py2aGhKtXWnqirIQ41MVoBWIPNNHVErlBtwcS8fhnkTBN343kJ6HBK2DTQsvfYqPYorT11XbXkYaqJUDSo4lIBda6p07MQqG8rJuo6W6iqBgWxoHH4JbDzq26rVtX1bcEEUoitksx0VQGsir7L1EmiNsWlqG8DE71k5FJJ7kGs5sHX4QqvJWUrBKDNTIOkJaCGJzGSUGwIqJMjfXYJaDOzVyBVKwOWBK8Nlbq6UtC4BurUI6MxSyKtqQFBFwqKc1rDLCEnjHyOaqBjQGuY0KTxARLEZwLoRvhcXZuJkS0jQXyuvgxdAlrJZKTYAPlaXEAPQu2Gcksdu5kHeusAli8F0LPdUsdq5pDeOIblW6YrWr4zVNdicjNp4a3etIQpLYeROqVVTFSWmnmE5bumaWRaylAwoXlW8wPLt0331ClTXTBLmiL+lnJtbZ93WppRdSFqMfOZPaKZXYjOI5pdFgUTmjN9TGDZhelaym8WBROaS5rZjiwxuzsptyzKTAyt0kyh2ZHoAKLMxNB2qwnTBKIlptKMp9DsiMjnZcGizOx95Jqnek233VUjSh0dKtGCiQla8NBavLaxqa4Z3aUWNUyU9iLljjXtz7WIxlaJzmnVC78oroMJupsVZFuug7YZu5U/ODN7wTC5nb6gtZdWaLpuItsncCu3LooLz/xwHqu66U7kE4lct7a4YHI7t1IGlcyBfCae1RtT3IvPj1GnaOeGplYj3S6YCC/dk+CGOnw6VTsrJ8h7mQlRj/qzMQ2Fpx9LmVSclPeYEOWdCya1cyjl1SNk9568c2OfmTxCJzqd0Ozcc0Xrj7cCMfPn2IFHqEtPNDTIny1l5ggbodbzOE5v+0SWkw1uk3VUzYQofcmBN5HTA9N74JmFYeiF4aqEHIcqt2OjJ5hf7KmOysIw6z2jW+hRwnD32zLMb04eeKZSjgomH08pkwee19DTCztcS2SgbxI0afb0iCkKzx6YzZ57Zg4kEvLNn3pPMD9RWzCdBs8f/vq9RNK/tJnbTsMwDEDFijTESlXYG1TqyxBi4v+/D9eLdZTaklct9QtlgbnHcRxf7MPPlBOdNSeYnnOUnVvMWDnRV7HtddjA2eWcuKi6i/yODNPtw9+/LZxP+X4CJXJWosv01uvD3C9HRVRu5eSshJxQjeOsD/NVNJXzcRlH0Z5wTtF+fiTn0wQzq68ieRzSs0LsU51TwonMonJpd8GXcMY6LcbnnFa7aeS+i5MYfyTG212WcXJq5C9LcZnfn9xl3CvdkTs74QTTXj/nrO/sjjyB3MS9ZO8xy7sBmnL63ERT6tBx0ekwAU046xyMvI9ccy0upyZeybetQYcovyXXhNMqwdNzwOlqh76adaxAT+6tXU5NHv9C7VCL1Ujfi8hPM4YxnFkMayT1b6sd0EmNBGj9T8jqrXQRoQ6IayTqsrgWRHxhy5JfjMuVH9tOOMW4Yc3rxzcbFzFt2U5q+1dq+/greUgWHSa1faXT9TDaSelKvWNa+iZiXO3VANq0V4PXis69Wm9gak8Kr1WdeO6OvTc6GHCKF+3ZY3T9PryofS9VpoSKiQehU+MfPeMWoAd6xmC6PjW98Rag9MbZTXQSFxrNALCszgDCfjwB8NFZB8Ksg7DndDaZ6UDJTEdDkNdJd7PMrh4edxxEdHaFZcN5GTO6/1btXbVhIIqiKKhNm5RJ4f//yIixLgtxjY9Ho3GVNMtHeWCY/f1Et5WV23FH5xco3EWuociHC9DXd66ueQu9PnKrO1dPltmvs6HXpiJ/kWcTCf1xh35hpDt0pMOEjtJEKzA3tcgvpHypm/5KWxMxM1ITUWRoIqDaD1Mn2w9kaFwKbY1LUHvj4sEG0/+G1vLsryxqeazMXY2AqJolkVS57aNtb5asjCb03GZt2PPrXZuVezBqBWH71FODBg4NGhLazY5eb+20YMRger5HxfinKeTyFptCaGgnab2dHCOFuNHs6shgP2pEpanK1GB21NaPWtgsMnNlXEHs6+b38Wx+d5CIzGafSj3c1jaLm2fa5qxih+wM7gBLRE6aVGNbOn5ww8tgNqkS+R0esqPJJ66bxpZb9NDK20HiomlssWxf1hu70bS2Bjve0v2mn234zs0miTV//gHyyprZmiIc9wAAAABJRU5ErkJggg==",
bCa:115,B_a:117,dCa:"data:image/png;base64, ",
kA:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}});
define("mU","require jquery.mod li ox cw gf v".split(" "),function(a){var d=a("jquery.mod"),h=a("li"),m=a("ox"),k=a("cw"),b=a("gf");a=a("v");if(a.cd()!=a.OI){var g=function(r){return r.requestFullscreen||r.msRequestFullscreen||r.mozRequestFullScreen||r.webkitRequestFullscreen},e=function(){return document.exitFullscreen||document.msExitFullscreen||document.mozCancelFullScreen||document.webkitExitFullscreen},c=document.createElement("div");if(!(a=!(!g(c)&&!e())))try{a=window.self===window.top}catch(r){a=
!1}if(a){var f=h.extend(b,function(r){b.call(this);this.ma=r;this.Wr=g(r);this.HA=e(r);this.W=this.w4();var u=this;d(document).bind("msfullscreenchange webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){u.R9()});d(window).bind("resize",function(){u.R9()})});f.$ca=function(){};f.prototype.wg=function(){return!(!g(this.ma||c)&&!e())};f.prototype.Gk=function(){this.enabled()||this.toggle()};f.prototype.Zf=function(){this.enabled()&&this.toggle()};f.prototype.toggle=function(){this.enabled()?
this.HA.call(document):this.Wr.call(this.ma);this.R9()};f.prototype.enabled=function(){return this.W&&this.w4()};f.prototype.w4=function(){return this.ma===f.fullscreenElement()};f.prototype.R9=function(){var r=this.w4();this.W!=r&&(this.W=r,this.trigger(new k(m.ta)))};f.enabled=function(){return!!f.fullscreenElement()};f.fullscreenElement=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement};f.Zf=function(){f.enabled()&&
e().call(document)}}else{f=h.extend(b,function(r){b.call(this);this.ma=r});var l=!0;f.$ca=function(r){l="out_of_frame"==r};f.prototype.wg=function(){return l};f.prototype.Gk=function(){this.toggle()};f.prototype.Zf=function(){};f.prototype.toggle=function(){l&&window.open(window.self.location.href,"_blank")};f.prototype.enabled=function(){return f.enabled()};f.enabled=function(){return!1};f.fullscreenElement=function(){return null};f.Zf=function(){}}}else{f=h.extend(b,function(r){b.call(this);this.ma=
r});f.prototype.wg=function(){return!0};f.prototype.Gk=function(){this.enabled()||this.toggle()};f.prototype.Zf=function(){this.enabled()&&this.toggle()};f.prototype.toggle=function(){if(this.enabled())p("fullscreen"),f.tx=null;else{f.tx&&f.tx.Zf();p("fullscreen");var r=q();r.push("fullscreen");n(r);f.tx=this}this.trigger(new k(m.ta))};f.prototype.enabled=function(){return this==f.tx};f.enabled=function(){return!!f.fullscreenElement()};f.fullscreenElement=function(){return f.tx&&f.tx.ma};f.Zf=function(){f.enabled()&&
f.tx.Zf()};f.$ca=function(){};f.tx=null;var p=function(r){for(var u=q(),t=[],v=0;v<u.length;v++)u[v]!=r&&t.push(u[v]);n(t)},q=function(){var r=window.location.hash.substring(1);return r.length?r.split("&"):[]},n=function(r){window.location.hash="#"+(r.length?r.join("&"):"")}}return f});
define("iH","require jquery.mod li ov v md oT cb mU dp".split(" "),function(a){function d(M,W){this.qSa=M;this.gFa=W;this.N9=[];this.dj=null;this.mN=!1}var h=a("jquery.mod"),m=a("li"),k=a("ov"),b=a("v"),g=a("md"),e=a("oT"),c=a("cb"),f=a("mU"),l=a("dp"),p="color:#000; font-family:Arial, Helvetica, sans-serif;",q="",n="border-color:#b2b2b2;",r=n,u="background-color:#009adb; border:none; box-sizing:border-box; color:#fff; cursor:pointer; font-family:Arial, Helvetica, sans-serif; text-align:center;",
t="vertical-align:middle; padding:0;",v='<img style="width:33vmin;" src="'+c.Ok+'"/>',w='<img style="width:24vmin;" src="'+c.Ok+'"/>',x='<img style="width:34vmin;" src="'+c.q_+'"/>',y='<img style="width:34vmin;" src="'+c.RAa+'"/>',A='<img style="width:24vmin;" src="'+c.FBa+'"/>';b.mb()?(u+=" margin:0 1vmin; min-width:20vmin; padding:2.2vmin 4vmin; font-size:3.6vmin; font-weight:bold; min-width:30vmin;",p+=" font-size:3.6vmin; line-height:4.3vmin;",q+=" margin:5vmin 0;",n+="  margin:5vmin 0;",r+="  margin:3vmin 0;",
t+=" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"):u+=" font-size:19px; padding:17px 34px;";q+=p;d.prototype.R2=function(){this.dj||(this.dj=h("<div/>"),this.dj.css({position:"fixed","z-index":e.YAa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.dj.html(this.gFa),h(this.dj).find("button").on("click",function(M){this.cLa(h(M.currentTarget).attr("id"))}.bind(this)))};d.prototype.d9=function(M,W){var I={},P;for(P in W)I[P]=M.css(P);
this.N9.push({$el:M,css:I});M.css(W)};d.prototype.ANa=function(){for(;this.N9.length;){var M=this.N9.pop();M.$el.css(M.css)}};d.prototype.show=function(M,W,I){M||(M=function(){});W||(W=function(){});if(this.mN){var P=this.OR;this.OR=function(){P();M()};var U=this.zR;this.zR=function(){U();W()}}else{this.R2();this.OR=M;this.zR=W;var N=this.ZHa();if(void 0===N){this.mN=!0;var V=this;N=f.fullscreenElement()||document.body;N=h(N);!0!==I?N.children().each(function(){V.d9(h(this),{visibility:"hidden"})}):
(this.d9(N,{overflow:"hidden"}),N.children().each(function(){V.d9(h(this),{position:"absolute","z-index":0})}));N.append(this.dj)}else this.mN=!1,N?this.OR():this.zR()}};d.prototype.hide=function(){this.mN&&(this.mN=!1,this.dj.detach(),this.ANa())};d.prototype.ZHa=function(){var M=l.getItem(this.Tja());if("true"==M)return!0;if("false"==M)return!1};d.prototype.cqa=function(M){l.setItem(this.Tja(),M?"true":"false")};d.prototype.Tja=function(){return this.qSa+"DontDisplay:"+window.location.pathname};
d.prototype.cLa=function(M){var W=h("#tdvvriw_dontdisplay").is(":checked");this.hide();"tdvvriw_continue"==M?(this.OR(),W&&this.cqa(!0)):"tdvvriw_cancel"==M&&(this.zR(),W&&this.cqa(!1))};a=m.extend(d,function(){var M=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+q+'">'+k("use-cardboard-info")+"</div>",'<div><button style="'+u+'" id="tdvvriw_continue">'+
k("use-cardboard")+"</button></div>","</div>",'<hr style="'+n+'">',"<div>",'<div style="'+q+'">','<div style="margin-bottom:2vmin;">'+k("samsung-internet-vr-app-info")+"</div>",'<div><button style="'+u+'" id="tdvvriw_cancel">'+k("launch-default-browser")+"</button></div>","</div>",y,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+t+'"><label for="tdvvriw_dontdisplay">'+
k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"ChromeAppInfoWindow",M)});var B=m.extend(d,function(){var M=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+q+'">'+k("use-cardboard-info")+"</div>",'<div><button style="'+u+'" id="tdvvriw_continue">OK</button></div>',"</div>",'<hr style="'+n+'">',"<div>",'<div style="'+q+'">',
'<div style="margin-bottom:2vmin;">'+k("samsung-internet-vr-info")+"</div>","</div>",y,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+t+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"SamsungInternetInfoWindow",M)}),z=m.extend(d,function(){d.call(this,"SamsungInternetForGearVRInfoWindow",
['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',y,'<div style="'+q+'">This content requires access to the WebVR API.<br>To enable WebVR open the "More" menu you\'ll find above this window and then click on the "Labs" item.</div>','<div><button style="'+u+'" id="tdvvriw_cancel">OK</button></div>',"</div>\n</div></div>"].join("\n"))}),C=m.extend(d,function(){var M=
['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">','<div style="'+q+'"></div>','<div style="text-align:center;"><button style="'+u+' box-shadow:0 0 4px rgba(0, 0, 0, 0.5);" id="tdvvriw_continue">'+k("exit-vr")+"</button></div>","</div></div>"].join("\n");d.call(this,"ExternalVRDisplayVRInfoWindow",M)});C.prototype.R2=function(){d.prototype.R2.call(this);!0===g.Vh("vrv")&&
this.dj.css({background:"none"})};var G=m.extend(d,function(){var M=b.browser()==b.Xh?"https:"!=window.location.protocol?"<div>"+k("giroscope-disabled-http")+"</div>":window.DeviceMotionEvent.requestPermission?k("giroscope-disabled-safari-request-permission").map(function(W){return"<div>"+W+"</div>"}).join("\n"):k("giroscope-disabled-safari-toggle-on"):"<div>"+k("giroscope-disabled-http")+"</div>";M=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',
'<div style="'+q+'">',M,"</div>",'<div><button style="'+u+'" id="tdvvriw_continue">OK</button></div>',"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+t+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"GiroscopeDisabledInfoWindow",M)}),D=m.extend(d,function(){var M=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',
v,'<div style="'+q+'">'+k("use-cardboard-info")+'</div><div><button style="'+u+'" id="tdvvriw_continue">'+k("use-cardboard")+"</button></div>","</div>",'<hr style="'+n+'">',"<div>",y,'<div style="'+q+'">It looks like this device is compatible with Gear VR. If you have a Gear VR headset you can view this content using the Carmel Web Browser (by Oculus).</div>','<div><button style="'+u+'" id="tdvvriw_cancel">Use Carmel web browser</button></div>',"</div>\n</div></div>"].join("\n");d.call(this,"CarmelInstallationPromptVRInfoWindow",
M)}),E=m.extend(d,function(){var M=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+p+' margin:2vmin 0;">'+k("cardboard-v1")+"</div>",'<div><button style="'+u+'" id="tdvvriw_cancel">'+k("use-default-cardboard")+"</button></div>","</div>",'<hr style="'+r+'">',"<div>",'<div style="'+p+' margin-bottom:2vmin;">'+k("cardboard-v2")+"</div>",'<div><button style="'+
u+'" id="tdvvriw_continue">'+k("use-cardboard-v2")+"</button></div>",x,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+t+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"CardboardV2InfoWindow",M)}),H=m.extend(d,function(){var M=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">',
'<div style="'+q+'"></div>','<div style="text-align:center;"><button style="'+u+'" id="tdvvriw_continue">'+k("enter-vr")+"</button></div>","</div></div>"].join("\n");d.call(this,"EnterVRInfoWindow",M)}),R=m.extend(d,function(){d.call(this,"PreparingVRInfoWindow",['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">','<div style="'+q+'">Preparing VR...</div>',"</div></div>"].join("\n"))}),
S=m.extend(d,function(){var M=['<div style="position: absolute; top: 7vmin; right:5vmin; ">',w,'</div>\n<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">',A,'<div style="'+q+'">'+k("use-safari-for-vr")+"</div>",'<div style="text-align:center;"><button style="'+u+'" id="tdvvriw_continue">OK</button></div>',"</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+
q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+t+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"UseSafariVRInfoWindow",M)});m=m.extend(d,function(){var M=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+c.Ok+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">',
'<img style="width:22vmin" src="'+c.cJ+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+k("rotate-device")+"</div>","</div>\n</div>"].join("\n");d.call(this,"RotateVRInfoWindow",M)});var Q={};Q.GBa=new B;Q.v_a=new z;Q.vea=new C;Q.b_a=new D;Q.f_a=new H;Q.p_a=new R;Q.Qfa=new S;Q.cJ=new m;Q.zea=new G;Q.oAa=new a;Q.q_=new E;return Q});
define("da",["require"],function(){return{Ok:"Cardboard",fCa:"WebVR",gCa:"WebXR"}});
define("hp","require lB v hW md bg".split(" "),function(a){var d=a("lB"),h=a("v"),m=a("hW"),k=a("md");a("bg");var b={KVa:function(f){return this.nI(f)||this.cwa(f)?!0:!1},wt:function(){var f=h.JWa();b.wt=function(){return f};return f},cwa:function(f){return"string"==typeof f&&m.is(f,m.un)?!0:!1},g0a:function(f){return this.Xba(f)||this.Yba(f)?!0:!1},Yba:function(f){return"string"==typeof f&&(m.is(f,m.WAa)||m.hz(f,m.XAa))?!0:!1},nI:function(f){return!!f&&!!f.tagName&&"VIDEO"==f.tagName},iz:function(f){return"string"==
typeof f&&m.is(f,m.HLS)||this.nI(f)&&m.is(f.currentSrc,m.HLS)?!0:!1},Ll:function(f){return"string"==typeof f&&m.is(f,m.un)||this.nI(f)&&m.is(f.currentSrc,m.un)?!0:!1},Xba:function(f){return!!f&&!!f.tagName&&"IMG"==f.tagName},Qva:function(f){return!!f&&!!f.tagName&&"CANVAS"==f.tagName},Xua:function(f){return Math.pow(2,Math.round(Math.log(f)/Math.LN2))},awa:function(f){return 0!==f&&0===(f&f-1)},Tva:function(){return h.browser()==h.Wl},BVa:function(){return h.browser()==h.kw},an:function(){return h.de()==
h.Di}},g=h.de()==h.VD&&!h.Nf()&&11>h.LSa();b.cAa=function(f){if(c)return!0;if(h.Taa()&&15.1>h.FP())if(15<=h.FP()){if(h.yva())return!0}else if(b.iz(f))return!0;if(b.BVa())return!0;if(b.an()){if(h.$y()==h.cE&&15<=h.tD())return!1;if(b.iz(f)){if(!d.Kva||14<=h.tD()&&14.6>h.tD())return!0}else if(12>h.tD()||f&&f.videoWidth&&f.videoHeight&&262144>=f.videoWidth*f.videoHeight)return!0}return g&&f&&.2>f.currentTime?!0:!1};b.Dva=function(){return b.Tva()||b.an()};b.Cva=function(){return b.an()&&d.Kva&&11>h.tD()};
var e=!1;b.Ova=function(){e=!1};b.uVa=function(){return e};b.vXa=function(){e=!0};var c=k.Yi("vic");b.FWa=function(){b.an()&&(c=!0)};b.$ua=function(f){return{alpha:!0,depth:!0,stencil:!0,antialias:d.TSa()?f||!1:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,xrCompatible:!b.Tva()}};b.Zaa=function(f,l){l=b.$ua(l);return f.getContext("webgl",l)||f.getContext("experimental-webgl",l)};b.vTa=function(f){var l=b.$ua(!0);return f.getContext("webgl2",
l)};b.getPixelRatio=function(){if(h.mb()){var f=0,l=0;try{f=window.top.innerWidth,l=window.top.innerHeight}catch(q){if(h.de()==h.VD&&1<window.devicePixelRatio)return window.devicePixelRatio}var p=window.devicePixelRatio||1;f=[Math.max(document.documentElement.clientWidth,f),Math.max(document.documentElement.clientHeight,l)].sort(function(q,n){return n-q});p=[screen.width*p,screen.height*p].sort(function(q,n){return n-q});p=[p[0]/f[0],p[1]/f[1]].sort()[0];if(Infinity!==p)return p}else if(h.de()==h.$Aa&&
h.browser()==h.Nk)return 1;return window.devicePixelRatio};return b});
define("dN","require li jquery.mod ed ov cb ox v e ni nB".split(" "),function(a){function d(){this.Hb=!1;this.FN=null;this.ua=this.ia=100;this.t5=this.di=void 0;this.u5=100;this.ma=document.createElement("div");this.ma.style.opacity=0;this.ma.style.display="none";this.ma.style.transition="opacity 0.3s";this.ma.addEventListener("transitionend",this.i$.bind(this));this.fe=document.createElement("div");this.vya(!0);this.fe.style.position="absolute";this.fe.style.left=0;this.fe.style.top=0;this.fe.style.right=
0;this.fe.style.bottom=0;this.ma.appendChild(this.fe);this.Xb=document.createElement("img");this.Xb.style.cursor="pointer";this.Xb.style.position="absolute";this.Xb.style.left="50%";this.Xb.style.top="50%";this.Xb.style.transform="translate(-50%, -50%)";this.ma.appendChild(this.Xb);this.T0=k(this.ma)}function h(u,t){this.reason=u;this.ro=t}var m=a("li"),k=a("jquery.mod");a("ed");a("ov");var b=a("cb"),g=a("ox"),e=a("v"),c=a("e"),f=a("ni"),l=a("nB"),p=m.extend(c,function(){c.call(this);this.we("UserInteractionWindow");
this.cc=null;this.Xr=[];var u=new f;u.set("duration",500);u.set("easing","cubic_in");var t=new l;t.set("duration",500);t.set("easing","cubic_out");this.ja({contentOpaque:!0,left:0,top:0,right:0,bottom:0,hideEffect:t,showEffect:u,visible:!1});this.bind(g.ic,this.iaa,this,!0);this.bind(g.pa,this.fSa,this,!0)});p.prototype.iaa=function(){this.cc&&this.cc.setSize(this.kf(),this.jf())};p.prototype.fSa=function(){var u=this.Xr.slice();this.Xr=[];this.bX();u.forEach(function(t){t.ro.call(t.context)})};p.prototype.zb=
function(){c.prototype.zb.call(this);this.cc||(this.cc=new d,this.cc.setSize(this.kf(),this.jf()),this.cc.rf(!0),this.Ab().append(this.cc.zc().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"})),this.bX())};p.prototype.Yo=function(){c.prototype.Yo.call(this);this.getParent().bind(g.ic,this.iaa,this,!0);p.KCa(this)};p.prototype.Om=function(){this.getParent().unbind(g.ic,this.iaa,this,!0);c.prototype.Om.call(this);p.fNa(this)};p.prototype.dXa=function(u){this.Wr(n,u)};p.prototype.Ica=
function(u){this.Wr(q,u)};p.prototype.Wr=function(u,t){this.Xr.push(new h(u,t));this.Xr.sort(function(v,w){return r[v.reason]-r[w.reason]});this.bX()};p.prototype.ZSa=function(u){this.cancel(n,u)};p.prototype.WSa=function(){this.cancel(q,void 0)};p.prototype.cancel=function(u,t){u=this.RIa(u,t);0<=u&&this.qNa(u)};p.prototype.tha=function(){this.bR(!0)};p.prototype.lR=function(){this.bR(!1)};p.prototype.RIa=function(u,t){for(var v=0;v<this.Xr.length;v++){var w=this.Xr[v];if(w.reason==u&&w.ro==t)return v}return-1};
p.prototype.bX=function(){if(this.cc){var u=this.cJa();if(u){switch(u.reason){case q:this.cc.fda(d.Bea);break;case n:this.cc.fda(d.k0)}this.set("visible",!0)}else this.set("visible",!1)}};p.prototype.qNa=function(u){this.Xr.splice(u,1);u==this.Xr.length&&this.bX()};p.prototype.cJa=function(){return 0<this.Xr.length?this.Xr[0]:null};var q="vr",n="play",r={};r[q]=0;r[n]=1;d.prototype.zc=function(){return this.T0};d.prototype.setSize=function(u,t){if(this.ia!==u||this.ua!==t)this.ia=u,this.ua=t,this.cX()};
d.prototype.vya=function(u){this.fe.style.backdropFilter=u?"blur(8px)":"none"};d.prototype.rf=function(u){this.Hb!=u&&(this.Hb=u,this.FN&&(clearTimeout(this.FN),this.FN=null),this.Hb?(this.ma.style.display="block",this.ma.style.opacity=0,this.FN=setTimeout(function(){this.FN=null;this.ma.style.opacity=1}.bind(this),30)):this.ma.style.opacity=0)};d.prototype.fda=function(u){this.di!=u&&(this.di=u,this.tRa())};d.prototype.i$=function(){this.Hb||(this.ma.style.display="none")};d.prototype.tRa=function(){switch(this.di){case d.k0:this.t5=
b.Bw;this.u5=b.A0;break;case d.Bea:this.t5=b.$Ba,this.u5=b.bCa}this.Xb.src=this.t5;this.cX()};d.prototype.cX=function(){e.mb()?(this.Xb.style.maxWidth=Math.round(.5*this.ia)+"px",this.Xb.style.width="20vmin"):(this.Xb.style.maxWidth=Math.round(.33*this.ia)+"px",this.Xb.style.width=this.u5+"px")};d.k0="play";d.Bea="vr";p.lfa=d;p.Uc=[];p.I7=[];p.KCa=function(u){p.Uc.push(u);p.I7.forEach(function(t){p.Vka(u,t)});p.I7=[]};p.fNa=function(u){p.Uc.splice(p.Uc.indexOf(u),1)};p.ready=function(){return 0<p.Uc.length};
p.Ica=function(u){p.Uc.length?p.Uc.forEach(function(t){p.Vka(t,u)}):p.I7.push(u)};p.Vka=function(u,t){u.Ica(function(){p.Uc.forEach(function(v){v!=u&&v.WSa()});t()})};return p});
define("og",["require"],function(){var a={rn:{}};a.rn.NONE="none";a.rn.Oa="left";a.rn.hb="right";a.Tj=function(){this.y=this.x=0;this.height=this.width=1};a.Rfa=function(){this.eye=a.rn.NONE;this.viewport=new a.Tj;this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.projectionMatrix=new THREE.Matrix4};a.QAa=function(){this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.views=[];this.bY=[]};a.bBa=function(){this.KO=null;this.to=200;this.Ym=100;this.XX=1};
return a});define("dU",["require"],function(){return{zQ:"gaze",h0:"gaze_click"}});
define("hd","require li ox hp gf dN og v iH md dU".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("hp"),k=a("gf"),b=a("dN"),g=a("og"),e=a("v"),c=a("iH"),f=a("md"),l=a("dU");a=d.extend(k,function(){k.call(this);this.Spa=l.zQ;this.Yn=[];this.Cd=new g.QAa;this.Oi=new g.Rfa;this.Oi.eye=g.rn.Oa;this.Si=new g.Rfa;this.Si.eye=g.rn.hb;this.Cd.views=[this.Oi,this.Si];this.re=new g.bBa;this.bind(h.ta,this.RB,this,!1)});a.prototype.initialize=function(){};a.prototype.Gk=function(){};a.prototype.Zf=function(){};
a.prototype.kY=function(){return this.re};a.prototype.Fs=function(){return this.Cd};a.prototype.requestFrame=function(){};a.prototype.isPresenting=function(){};a.prototype.getType=function(){};a.prototype.rY=function(){return this.Spa};a.prototype.nD=function(){};a.prototype.BH=function(p){0>this.Yn.indexOf(p)&&this.Yn.push(p)};a.prototype.xZ=function(p){this.Yn.splice(this.Yn.indexOf(p),1);this.nD()==p&&this.Zf()};a.prototype.IZ=function(p){var q=this.Yn.indexOf(p);0>q||q==this.Yn.length-1||(this.Yn.splice(q,
1),this.Yn.splice(this.Yn.length,0,p))};a.prototype.KIa=function(){return 0<this.Yn.length?this.Yn[this.Yn.length-1]:null};a.prototype.U8=function(){var p=this.KIa();null==p&&(p=m.Zaa(document.createElement("canvas")),this.BH(p));return p};a.prototype.BV=function(p){b.Ica(p)};a.prototype.v9=function(p){e.cd()==e.$D?(this.A8(),c.oAa.show(p,function(){this.Jga()}.bind(this))):e.LO()&&e.cd()==e.QI?c.GBa.show(p):e.cd()==e.mQ?c.Qfa.show(p):e.cd()==e.nQ?c.Qfa.show():p()};a.prototype.V8=function(p){var q=
function(n){this.Spa=n;p()}.bind(this);!e.mb()||e.Nf()?q(l.zQ):"1"==f.getQueryParameter("cardboard_version")?q(l.zQ):"2"==f.getQueryParameter("cardboard_version")?q(l.h0):c.q_.show(function(){q(l.h0)}.bind(this),function(){q(l.zQ)}.bind(this))};a.prototype.RB=function(){e.mb()||(this.isPresenting()?c.vea.show(this.Zf.bind(this)):c.vea.hide())};a.prototype.Jga=function(){this.A8();var p=this.Eka();p.push("vr");this.Tga(p)};a.prototype.A8=function(){var p=this.Eka().filter(function(q){return"vr"!=q});
this.Tga(p)};a.prototype.Eka=function(){var p=window.location.hash.substring(1);return p.length?p.split("&"):[]};a.prototype.Tga=function(p){window.location.hash="#"+(p.length?p.join("&"):"")};return a});
define("t",["require","jquery.mod","mU"],function(a){function d(){l.get(0)==document.body&&g.height(window.innerHeight)}function h(n,r){var u={},t;for(t in r)u[t]=n.css(t);p.push({$el:n,css:u});n.css(r)}function m(n){this.ma=n}var k=a("jquery.mod"),b=a("mU");m.prototype.Gk=function(){this.enabled()||this.toggle()};m.prototype.Zf=function(){this.enabled()&&this.toggle()};m.prototype.toggle=function(){this.enabled()?m.cancel():m.request(this.ma)};m.prototype.enabled=function(){return m.enabled(this.ma)};
var g=k("<div/>").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),e=k("<div/>"),c=null,f=null,l=null,p=[],q=null;m.request=function(n){if(n!==c){m.cancel();c=n;var r=b.fullscreenElement()||document.body;f=k(n);l=k(r);e.insertAfter(f);f.appendTo(g);l.children().each(function(){h(k(this),{visibility:"hidden"})});h(f,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});r==document.body?h(g,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0,
padding:0}):h(g,{position:"absolute",left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});g.appendTo(l);d();q=setInterval(d,300)}};m.cancel=function(){if(c){g.detach();f.insertBefore(e);for(e.detach();p.length;){var n=p.pop();n.$el.css(n.css)}l=f=c=null;p=[];clearInterval(q)}};m.enabled=function(n){return c==n};return m});
define("lb","require li ox cw gf ov cb".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("ov");a=a("cb");var g=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+a.Ok+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">'].join("\n"),e=g+['<img style="width:22vmin" src="'+a.cJ+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+
b("rotate-device")+"</div>"].join("\n")+"</div>\n</div>",c=g+['<img style="width:13vmin; vertical-align:middle;" src="'+a.OBa+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; text-align:left; display:inline-block; vertical-align:middle; margin:5vmin 0 0 2vmin;">Please, swipe up to<br>enter Fullscreen Mode</div>'].join("\n")+"</div>\n</div>";d=d.extend(k,function(){k.call(this);this.pl=this.$g=this.Cn=this.bL=this.cL=this.e6=this.f6=void 0;
this.bT=!1;this.yy=this.V7=this.d6=this.tf=null;this.wja=[];this.F5=this.Zp=!1;this.ec=this.ec.bind(this)});d.prototype.request=function(){this.Zp||(this.Zp=!0,this.Q2(),window.addEventListener("resize",this.ec),document.body.appendChild(this.tf),document.body.appendChild(this.yy),this.UPa=document.documentElement.style.overflow,this.TPa=document.body.style.overflow,document.documentElement.style.overflow="auto",document.body.style.overflow="auto",this.fM())};d.prototype.cancel=function(){this.Zp&&
(this.Zp=!1,window.removeEventListener("resize",this.ec),document.body.style.overflow=this.TPa,document.documentElement.style.overflow=this.UPa,document.body.removeChild(this.tf),document.body.removeChild(this.yy),this.gqa(!1))};d.prototype.enabled=function(){return this.bT};d.prototype.Q2=function(){this.tf||(this.tf=this.SR({position:"fixed",top:0,left:0,zIndex:9999998},!0),this.tf.id="tdvminuictr",this.V7=this.SR({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,e),this.tf.appendChild(this.V7),
this.d6=this.SR({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,c),this.tf.appendChild(this.d6),this.yy=this.SR({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},!1),this.yy.id="tdvminuiscrl",this.yy.addEventListener("touchend",this.ec))};d.prototype.SR=function(f,l,p){var q=document.createElement("div");this.$M(q,f);void 0!==p&&this.AOa(q,p);l&&this.wja.push(q);return q};d.prototype.ec=function(){[0,250,1E3,2E3].forEach(function(f){setTimeout(this.m7.bind(this),
f)}.bind(this))};d.prototype.m7=function(){this.Cn==window.innerWidth&&this.$g==window.innerHeight||this.fM()};d.prototype.fM=function(){this.Cn=window.innerWidth;this.$g=window.innerHeight;this.pl=this.Cn>this.$g?"landscape":"portrait";if("landscape"==this.pl){this.f6&&this.e6&&this.oKa(this.f6,this.e6)&&(!this.cL&&!this.bL||this.pKa(this.cL,this.bL))&&(this.cL=this.Cn,this.bL=this.$g);this.jKa()&&(this.cL=this.Cn,this.bL=this.$g);this.f6=this.Cn;this.e6=this.$g;var f=this.cL==this.Cn&&this.bL==
this.$g}else f=!1;this.wja.forEach(function(n){n.style.height=this.$g+"px";n.style.width=this.Cn+"px"}.bind(this));var l=this.Zp&&"portrait"==this.pl,p=this.Zp&&"landscape"==this.pl&&!f,q=this.Zp&&"landscape"==this.pl;this.$M(this.tf,{display:l||p?"block":"none"});this.$M(this.V7,{display:l?"block":"none"});this.$M(this.d6,{display:p?"block":"none"});this.$M(this.yy,{display:q?"block":"none",right:p?0:"99.9%"});this.gqa(f)};d.prototype.gqa=function(f){null!=this.XV&&(clearTimeout(this.XV),this.XV=
null);this.bT!=f&&(this.XV=setTimeout(function(){this.XV=null;(this.bT=f)?this.trigger(new m(h.Qq)):this.trigger(new m(h.sb));this.trigger(new m(h.ta))}.bind(this),f?1E3:0))};d.prototype.jKa=function(){var f=window.innerWidth,l=window.innerHeight,p=Infinity;[[480,320],[960,640],[1136,640],[1334,750],[1920,1080],[2001,1125],[2048,1536],[2172,1125],[2208,1242],[2732,2048],[2436,1125]].forEach(function(q){p=Math.min(p,Math.abs(100-100*f*q[1]/(l*q[0])))});return 1>=p?!0:!1};d.prototype.oKa=function(f,
l){return f*window.innerHeight>l*window.innerWidth};d.prototype.pKa=function(f,l){return f*window.innerHeight>=l*window.innerWidth};d.prototype.$M=function(f,l){for(var p in l)f.style[p]=l[p]};d.prototype.AOa=function(f,l){f.innerHTML=l};return new d});
define("oC",["require"],function(){if("wakeLock"in navigator){var a=null;var d={enable:function(){null===a&&navigator.wakeLock.request("screen").then(function(h){a=h})},disable:function(){null!==a&&(a.release(),a=null)}}}else d={enable:function(){},disable:function(){}};return d});
define("kn",["require","jquery.mod","ov","cb"],function(a){function d(){this.dj=null;this.W=!1;this.ec=this.ec.bind(this);this.$g=this.Cn=this.pl=void 0}var h=a("jquery.mod"),m=a("ov"),k=a("cb");d.prototype.Tt=function(){this.dj||(this.dj=h("<div/>"),this.dj.css({position:"fixed","z-index":1E6,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.dj.html(['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+
k.Ok+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">','<img style="width:22vmin" src="'+k.cJ+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+m("rotate-device")+"</div>","</div>\n</div>"].join("\n")))};d.prototype.show=function(b){this.W||(this.W=!0,this.Tt(),
h(b).append(this.dj),h(window).on("resize",this.ec),this.fM())};d.prototype.hide=function(){this.W&&(this.W=!1,h(window).off("resize",this.ec),this.dj.detach())};d.prototype.ec=function(){[0,250,1E3,2E3].forEach(function(b){setTimeout(this.m7.bind(this),b)}.bind(this))};d.prototype.m7=function(){this.Cn==window.innerWidth&&this.$g==window.innerHeight||this.fM()};d.prototype.fM=function(){this.Cn=window.innerWidth;this.$g=window.innerHeight;this.pl=this.Cn>this.$g?"landscape":"portrait";this.dj.toggle("landscape"!=
this.pl)};return new d});
define("kJ","require li ox cw gR lB v hB iH ct da hd e bg mU t lb oC kn".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gR"),b=a("lB"),g=a("v"),e=a("hB"),c=a("iH"),f=a("ct"),l=a("da"),p=a("hd"),q=a("e"),n=a("bg"),r=a("mU"),u=a("t"),t=a("lb"),v=a("oC"),w=a("kn"),x=d.extend(p,function(){p.call(this);this.wj=this.Ng=this.Rh=this.TM=this.xu=this.Dk=this.Fd=null;this.xe=l.Ok;this.requestFrame=this.requestFrame.bind(this)});x.prototype.initialize=function(B){if(this.OK()){var z=function(G){if(this.Fd=
G.length?G[0]:null)this.Fd.depthNear=.1,this.Fd.depthFar=2*k.Df,this.Dk="VRFrameData"in window?new VRFrameData:null,window.addEventListener("vrdisplaypresentchange",this.b8.bind(this),!1),t.bind(h.sb,this.Zf.bind(this));B(!!this.Fd)}.bind(this),C=window.WebVRConfig||(window.WebVRConfig={});C.BUFFER_SCALE=x.IH;C.ALWAYS_APPEND_POLYFILL_DISPLAY=!0;C.LOCK_ORIENTATION=!1;f.Ufa.load(function(){navigator.getVRDisplays().then(z)["catch"](function(){z([])})}.bind(this))}else B(!1)};x.prototype.Gk=function(){this.isPresenting()||
this.Ng||this.EC(function(){this.v9(function(){this.V8(function(){this.isPresenting()||this.Ng||(this.Ng=this.U8(),this.s9(),this.Fd.requestPresent([{source:this.Ng.canvas}]).then(function(){this.wj=this.Ng;this.Ng=null;g.cd()!=g.NI&&w.show(r.fullscreenElement());this.DG();this.nO()}.bind(this))["catch"](function(){this.Ng=null;this.EN()}.bind(this)))}.bind(this))}.bind(this))}.bind(this))};x.prototype.Zf=function(){this.isPresenting()&&this.Fd.exitPresent()};x.prototype.requestFrame=function(B){return this.Fd.requestAnimationFrame(function(z){var C=
this.DG();C&&this.XC();B(z);C&&this.Fd.submitFrame()}.bind(this))};x.prototype.isPresenting=function(){return!!this.Fd&&this.Fd.isPresenting};x.prototype.nD=function(){return this.wj};x.prototype.getType=function(){return this.xe};x.prototype.b8=function(){this.isPresenting()?n.KZ(this.requestFrame,this.Fd.cancelAnimationFrame.bind(this.Fd)):(n.Lca(),(this.wj||this.Ng)&&this.EN());this.trigger(new m(h.ta))};x.prototype.OK=function(){return e.wg&&b.Ws&&g.mb()&&g.$y()!=g.cE};x.prototype.EC=function(B){e.disabled?
c.zea.show(function(){e.Hca(function(){this.EC(B)}.bind(this))}):r.enabled()||!q.hP()?(r.Zf(),this.BV(function(){this.EC(B)}.bind(this))):B()};x.prototype.s9=function(){u.request(this.Ng.canvas);g.cd()==g.OI?this.Jga():v.enable();g.cd()==g.NI&&t.request()};x.prototype.DG=function(){this.Fd.getFrameData(this.Dk);if(!this.Dk.pose||!this.Dk.pose.orientation)return!1;this.xu=this.Fd.getEyeParameters("left");this.TM=this.Fd.getEyeParameters("right");var B=this.Fd.getLayers();return(this.Rh=B&&B.length&&
B[0]||null)?!0:!1};x.prototype.nO=function(){this.re.KO=null;this.re.to=2*this.xu.renderWidth;this.re.Ym=this.xu.renderHeight;this.re.XX=1};x.prototype.XC=function(){var B=this.Dk.pose;this.Cd.orientation.fromArray(B&&B.orientation||y);this.Cd.position.fromArray(B&&B.position||A);this.Aaa()};x.prototype.Aaa=function(){this.Oi.position.fromArray(this.xu.offset);this.Oi.orientation.fromArray(y);this.Oi.projectionMatrix.fromArray(this.Dk.leftProjectionMatrix);this.Oi.viewport.x=Math.round(this.re.to*
this.Rh.leftBounds[0]);this.Oi.viewport.y=Math.round(this.re.Ym*this.Rh.leftBounds[1]);this.Oi.viewport.width=Math.round(this.re.to*this.Rh.leftBounds[2]);this.Oi.viewport.height=Math.round(this.re.Ym*this.Rh.leftBounds[3]);this.Si.position.fromArray(this.TM.offset);this.Si.orientation.fromArray(y);this.Si.projectionMatrix.fromArray(this.Dk.rightProjectionMatrix);this.Si.viewport.x=Math.round(this.re.to*this.Rh.rightBounds[0]);this.Si.viewport.y=Math.round(this.re.Ym*this.Rh.rightBounds[1]);this.Si.viewport.width=
Math.round(this.re.to*this.Rh.rightBounds[2]);this.Si.viewport.height=Math.round(this.re.Ym*this.Rh.rightBounds[3])};x.prototype.EN=function(){this.A8();this.wj=this.Ng=null;t.cancel();u.cancel();v.disable();w.hide()};x.IH=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var y=[0,0,0,1],A=[0,0,0];return x});
define("iP","require li cw ox v da hd gR e bg t".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("ox"),k=a("v"),b=a("da"),g=a("hd"),e=a("gR"),c=a("e"),f=a("bg"),l=a("t");a=d.extend(g,function(){g.call(this);this.wj=this.Ng=this.Rh=this.TM=this.xu=this.Dk=this.Fd=null;this.requestFrame=this.requestFrame.bind(this)});a.prototype.initialize=function(u){if(this.OK()){var t=function(v){if(this.Fd=v.length?v[0]:null)this.Fd.depthNear=.1,this.Fd.depthFar=2*e.Df,this.Dk="VRFrameData"in window?new VRFrameData:
null,window.addEventListener("vrdisplaypresentchange",this.b8.bind(this),!1),window.addEventListener("vrdisplayactivate",this.Loa.bind(this)),window.addEventListener("vrdisplaydeactivate",this.Zf.bind(this));u(!!this.Fd)}.bind(this);navigator.getVRDisplays().then(t)["catch"](function(){t([])})}else u(!1)};a.prototype.Gk=function(u){this.isPresenting()||this.Ng||this.EC(u,function(){this.v9(function(){this.V8(function(){this.isPresenting()||this.Ng||this.Loa()}.bind(this))}.bind(this))}.bind(this))};
a.prototype.Zf=function(){this.isPresenting()&&this.Fd.exitPresent()};a.prototype.requestFrame=function(u){return this.Fd.requestAnimationFrame(function(t){var v=this.DG();v&&this.XC();u(t);v&&this.Fd.submitFrame()}.bind(this))};a.prototype.isPresenting=function(){return!!this.Fd&&this.Fd.isPresenting};a.prototype.nD=function(){return this.wj};a.prototype.getType=function(){return b.fCa};a.prototype.OK=function(){return"getVRDisplays"in navigator&&!window.WebVRConfig};a.prototype.b8=function(){this.isPresenting()?
(f.KZ(this.requestFrame,this.Fd.cancelAnimationFrame.bind(this.Fd)),this.DG()&&this.XC()):(f.Lca(),(this.wj||this.Ng)&&this.EN());this.trigger(new h(m.ta))};a.prototype.EC=function(u,t){u||c.hP()?t():this.BV(function(){t()})};a.prototype.Loa=function(){this.Ng=this.U8();this.s9();this.Fd.requestPresent([{source:this.Ng.canvas,attributes:{foveationLevel:3}}]).then(function(){this.wj=this.Ng;this.Ng=null;this.DG()&&this.XC()}.bind(this))["catch"](function(){this.Ng=null;this.EN()}.bind(this))};a.prototype.s9=
function(){l.request(this.Ng.canvas)};a.prototype.DG=function(){this.Fd.getFrameData(this.Dk);if(!this.Dk.pose||!this.Dk.pose.orientation)return!1;this.xu=this.Fd.getEyeParameters("left");this.TM=this.Fd.getEyeParameters("right");var u=this.Fd.getLayers();return(this.Rh=u&&u.length&&u[0]||null)?!0:!1};a.prototype.XC=function(){this.nO();var u=this.Dk.pose;this.Cd.orientation.fromArray(u&&u.orientation||p);this.Cd.position.fromArray(u&&u.position||q);this.Aaa()};a.prototype.nO=function(){this.re.KO=
null;this.re.to=2*this.xu.renderWidth;this.re.Ym=this.xu.renderHeight;this.re.XX=k.Nf()?2048/this.re.Ym:1};a.prototype.Aaa=function(){this.Oi.position.fromArray(this.xu.offset);this.Oi.orientation.fromArray(p);this.Oi.projectionMatrix.fromArray(this.Dk.leftProjectionMatrix);var u=this.Rh.leftBounds&&4==this.Rh.leftBounds.length?this.Rh.leftBounds:n;this.Oi.viewport.x=Math.round(this.re.to*u[0]);this.Oi.viewport.y=Math.round(this.re.Ym*u[1]);this.Oi.viewport.width=Math.round(this.re.to*u[2]);this.Oi.viewport.height=
Math.round(this.re.Ym*u[3]);this.Si.position.fromArray(this.TM.offset);this.Si.orientation.fromArray(p);this.Si.projectionMatrix.fromArray(this.Dk.rightProjectionMatrix);u=this.Rh.rightBounds&&4==this.Rh.rightBounds.length?this.Rh.rightBounds:r;this.Si.viewport.x=Math.round(this.re.to*u[0]);this.Si.viewport.y=Math.round(this.re.Ym*u[1]);this.Si.viewport.width=Math.round(this.re.to*u[2]);this.Si.viewport.height=Math.round(this.re.Ym*u[3])};a.prototype.EN=function(){this.wj=this.Ng=null;l.cancel()};
var p=[0,0,0,1],q=[0,0,0],n=[0,0,.5,1],r=[.5,0,.5,1];return a});
define("kx","require li cw ox v mq da hd gR e bg t lO ha".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("ox"),k=a("v"),b=a("mq"),g=a("da"),e=a("hd"),c=a("gR"),f=a("e"),l=a("bg"),p=a("t"),q=a("lO"),n=a("ha"),r=d.extend(e,function(){e.call(this);this.YC=this.pO=this.Wi=this.wj=null;this.SG="stopped";this.requestFrame=this.requestFrame.bind(this);this.Z8=this.Z8.bind(this);this.a9=this.a9.bind(this);this.b9=this.b9.bind(this);this.Qy=!1;q.wait(function(){setTimeout(function(){this.Qy=!0}.bind(this),
10)}.bind(this))});r.prototype.initialize=function(v){if(this.OK())this.jQa().then(function(w){w?v(!0):v(!1)})["catch"](function(){v(!1)});else v(!1)};r.prototype.Gk=function(){"stopped"==this.SG&&this.EC(function(){this.v9(function(){this.V8(function(){setTimeout(function(){this.LPa()}.bind(this),200)}.bind(this))}.bind(this))}.bind(this))};r.prototype.LPa=function(){"stopped"==this.SG&&(this.SG="starting",this.trigger(new h(m.ta)),l.nda(!0),navigator.xr.requestSession("immersive-vr").then(function(v){this.Wi=
v;this.Wi.addEventListener("end",this.Z8);this.Wi.addEventListener("select",this.a9);this.Wi.addEventListener("visibilitychange",this.b9);return this.Wi.requestReferenceSpace("local")}.bind(this)).then(function(v){this.pO=v;this.wj=this.U8();return this.wj.makeXRCompatible()}.bind(this)).then(function(){k.mb()&&p.request(this.wj.canvas);var v=XRWebGLLayer.getNativeFramebufferScaleFactor(this.Wi);v=Math.max(v,1);v=k.Uva()?1*v:k.IY()?1*v:k.Nf()?1.42222*v:k.mb()?v*r.IH:void 0;var w={antialias:!1};v&&
(w.framebufferScaleFactor=v);this.YC=new XRWebGLLayer(this.Wi,this.wj,w);this.Wi.updateRenderState({baseLayer:this.YC,depthNear:.1,depthFar:2*c.Df});this.nO();this.SG="started";l.KZ(this.requestFrame,this.Wi.cancelAnimationFrame.bind(this.Wi));l.nda(!1)}.bind(this))["catch"](function(){l.nda(!1);this.Vpa();this.trigger(new h(m.ta))}.bind(this)))};r.prototype.Zf=function(){this.isPresenting()&&this.Wi.end()};r.prototype.requestFrame=function(v){return this.Wi.requestAnimationFrame(function(w,x){this.Caa=
x;this.XC();v(w)}.bind(this))};r.prototype.isPresenting=function(){return"stopped"!=this.SG};r.prototype.getType=function(){return g.gCa};r.prototype.nD=function(){return this.wj};r.prototype.OK=function(){return"xr"in navigator};r.prototype.jQa=function(){return"isSessionSupported"in navigator.xr?navigator.xr.isSessionSupported("immersive-vr"):"supportsSession"in navigator.xr?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};r.prototype.EC=function(v){k.IY()?v():k.cd()==k.Rq?this.Qy?
v():f.hP()?setTimeout(v,10):this.BV(function(){setTimeout(v,10)}):f.hP()?v():this.BV(function(){v()})};r.prototype.Z8=function(){l.Lca();this.Vpa();this.trigger(new h(m.ta))};r.prototype.a9=function(){this.trigger(new h(m.sn))};r.prototype.b9=function(){n.Cda(!this.Wi||"visible"!=this.Wi.visibilityState);b.NAa&&"visible"!=this.Wi.visibilityState&&this.Zf()};r.prototype.Vpa=function(){this.YC=this.pO=this.Wi=this.wj=null;this.SG="stopped";p.cancel()};r.prototype.nO=function(){this.re.KO=this.YC.framebuffer;
this.re.to=this.YC.framebufferWidth;this.re.Ym=(k.cd()==k.Rq?2:1)*this.YC.framebufferHeight;this.re.XX=1};r.prototype.XC=function(){var v=this.Caa.getViewerPose(this.pO);if(v){var w=v&&v.transform.orientation||u;this.Cd.orientation.set(w.x,w.y,w.z,w.w);w=v&&v.transform.position||t;this.Cd.position.set(w.x,w.y,w.z);v=this.Caa.getViewerPose(this.pO.getOffsetReferenceSpace(v.transform));for(var x=0;x<v.views.length;x++){var y=v.views[x];if("left"==y.eye)var A=this.Oi;else if("right"==y.eye)A=this.Si;
else continue;w=y.transform.position;A.position.set(w.x,w.y,w.z);w=y.transform.orientation;A.orientation.set(w.x,w.y,w.z,w.w);A.projectionMatrix.fromArray(y.projectionMatrix);y=this.YC.getViewport(y);A.viewport.x=y.x;A.viewport.y=y.y;A.viewport.width=y.width;A.viewport.height=y.height}var B=[];this.Wi.inputSources.forEach(function(z){if("tracked-pointer"==z.targetRayMode&&z.gamepad){var C=z.gamepad;C.pose||(C.Tba=this.Caa.getPose(z.targetRaySpace,this.pO));C.uY||(C.qVa=z.handedness);C.id||(C.rVa=
C.mapping+" "+z.handedness);B.push(C)}}.bind(this));this.Cd.bY=B}};r.IH=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var u={x:0,y:0,z:0,w:1},t={x:0,y:0,z:0};return r});
define("bv","require li ox gf lB v hB md kJ dU da og iP kx ha".split(" "),function(a){function d(y,A){if(y.length){var B=new y[0];B.initialize(function(z){z?A(B):d(y.slice(1),A)})}else A(null)}var h=a("li"),m=a("ox"),k=a("gf"),b=a("lB"),g=a("v"),e=a("hB"),c=a("md"),f=a("kJ"),l=a("dU"),p=a("da"),q=a("og"),n=a("iP"),r=a("kx"),u=a("ha"),t=!1,v=[],w=new k;w.rn=q.rn;w.PBa=l;w.mA=p;w.wg=function(){return!0};w.Fs=function(){return null};w.kY=function(){return null};w.isPresenting=function(){return!1};w.Gk=
function(){t=!0};w.Zf=function(){t=!1};w.d0a=function(){return null};w.BH=function(y){0>v.indexOf(y)&&v.push(y)};w.xZ=function(y){y=v.indexOf(y);-1==y||v.splice(y,1)};w.IZ=function(){};w.zYa=function(y){f.IH=y;r.IH=y};w.yUa=function(){return f.IH};w.getType=function(){return null};w.rY=function(){return null};w.log=function(){w.wg()?w.getType()?h.log("VR: "+w.getType()):h.log("VR: not ready"):h.log("VR: not available");h.log("gyroscope: "+e.wg)};var x="cardboard"==c.getQueryParameter("vr_mode")?[f]:
g.Uva()?[r,n]:g.browser()==g.Nk?[r,n,f]:g.cd()==g.lw?[r,n]:[n,r,f];w.initialize=function(y){var A=setTimeout(function(){A=null;y()},250);d(x,function(B){B?(b.ZYa(),B.bind(m.ta,function(){w.trigger(m.ta)},w,!0),B.bind(m.sn,function(){w.trigger(m.sn)},w,!0),w.wg=function(){return!0},w.kY=function(){return B.kY()},w.Fs=function(){return B.Fs()},w.isPresenting=function(){return B.isPresenting()},w.Gk=function(){B.Gk()},w.Zf=function(){B.Zf()},w.nD=function(){return B.nD()},w.BH=function(z){B.BH(z)},w.xZ=
function(z){B.xZ(z)},w.IZ=function(z){B.IZ(z)},w.getType=function(){return B.getType()},w.rY=function(){return B.rY()},v.forEach(function(z){B.BH(z)}),-1<[g.Zs,g.lw].indexOf(g.cd())?function(){function z(){D++;G=setTimeout(C,1E3*D)}function C(){G=null;5<D?window.location.reload():document.hidden||B.isPresenting()||(B.Gk(!0),z())}document.addEventListener("visibilitychange",function(){document.hidden||(G&&(clearTimeout(G),G=null),D=0,z())},!1);if(G){clearTimeout(G);var G=null}var D=0;z()}():t&&B.Gk()):
w.wg=function(){return!1};A&&(clearTimeout(A),A=null,y())})};w.bind(m.ta,function(){u.EZ(w.isPresenting())},window,!0);window.addEventListener("vrdisplayblur",function(){u.Cda(!0)},!0);window.addEventListener("vrdisplayfocus",function(){u.Cda(!1)},!0);return w});
define("ko","require ed li ox hP lf hs gP bv bc e".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("hP"),b=a("lf"),g=a("hs"),e=a("gP"),c=a("bv"),f=a("bc"),l=a("e");a=h.extend(l,function(){l.call(this);this.we("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",f.jt);this.lx=[];this.KC=[];this.Mb="";this.fh=new e;this.Ab().append(this.fh.zc());this.bind(m.ic,this.ec,this,!0);this.bind(m.hd,this.jk,this,!0);this.bind(m.sd,this.ek,this,!0);c.bind(m.ta,this.S$,this,!0);this.rC=this.G8=
!1});a.prototype.bn=function(p){b.bn(p,k.Qk)};a.prototype.UZ=function(p){return b.UZ(p)};a.prototype.aj=function(p){b.aj(p,k.Qk)};a.prototype.Haa=function(p){this.fh.hta(p)};a.prototype.removeItem=function(p){this.fh.Zxa(p)};a.prototype.xX=function(p,q){this.fh.zs(p).hta(q);this.P$()};a.prototype.VWa=function(p,q){(p=this.fh.zs(p))&&p.Zxa(q)};a.prototype.Saa=function(p){this.fh.HO(p).Th()};a.prototype.Kq=function(p,q){this.fh.TX(p).forEach(function(n){n.nf(q)})};a.prototype.NP=function(p,q,n,r,u){this.fh.zs(p).setPosition(q,
n,r,u);this.P$()};a.prototype.P$=function(){var p=this.fh.tUa();p&&(g.Ij=Math.min(g.Hea,g.Ij*Math.sqrt(g.cBa/p)),this.lsa())};a.prototype.WXa=function(p,q,n){this.fh.HO(p).ada(q,n)};a.prototype.RO=function(p){return this.fh.zs(p).getX()};a.prototype.SO=function(p){return this.fh.zs(p).getY()};a.prototype.jY=function(p){return this.fh.zs(p).WH()};a.prototype.Nua=function(p){return this.fh.zs(p).Bq()};a.prototype.QO=function(p){return this.fh.zs(p).Wa()/g.Ij};a.prototype.PO=function(p){return this.fh.zs(p).xb()/
g.Ij};a.prototype.render=function(){this.rC&&this.fh.render()};a.prototype.vZ=function(p){this.lx.push(p);this.csa()};a.prototype.sI=function(p){p=d(this.lx).lastIndexOf(p);0<=p&&this.lx.splice(p,1);this.csa()};a.prototype.csa=function(){var p=0<this.lx.length?this.lx[this.lx.length-1]:f.Be;this.getParent().set("cursor",p)};a.prototype.GR=function(){0<this.lx.length&&(this.getParent().set("cursor",f.Be),this.lx=[])};a.prototype.MWa=function(p){this.KC.push(p);this.cO()};a.prototype.GWa=function(p){p=
d(this.KC).lastIndexOf(p);0<=p&&this.KC.splice(p,1);this.cO()};a.prototype.cO=function(){var p=0==this.KC.length?"":this.KC[this.KC.length-1]||"";this.Mb!=p&&(this.Mb=p,this.getParent().set("toolTip",this.Mb))};a.prototype.REa=function(){this.Mb&&this.getParent().set("toolTip","");this.Mb="";this.KC=[]};a.prototype.Om=function(){this.REa();this.GR();l.prototype.Om.call(this)};a.prototype.ec=function(){this.lsa();this.P$()};a.prototype.lsa=function(){this.fh.zc().css({transform:1!=g.Ij?"scale("+(1/
g.Ij).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.fh.setSize(this.Wa()*g.Ij,this.xb()*g.Ij);this.render()};a.prototype.jk=function(){this.G8=!0;this.S$()};a.prototype.ek=function(){this.G8=!1;this.S$()};a.prototype.S$=function(){var p=this.G8&&!c.isPresenting();this.rC!=p&&((this.rC=p)?this.render():this.fh.$X())};return a});
define("R","require li cw nq jz cX ds jy ko ox ea gG".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("nq"),k=a("jz"),b=a("cX"),g=a("ds"),e=a("jy"),c=a("ko"),f=a("ox"),l=a("ea"),p=a("gG"),q=m.define("MapPlayer",b,function(){b.call(this,"map");this.$T=this.r6=this.Qh=!1;this.Im=this.Qc=this.L=this.j=null;this.Rw={};for(var n in q.Bt)this.Rw[n]=this.qFa(n);this.$d=d.zo(this.Qg,this)});q.prototype.stop=function(){this.Ic(e.Ff)};q.prototype.rotateClockwise=function(){this.Ic(e.D0)};q.prototype.rotateCounterClockwise=
function(){this.Ic(e.E0)};q.prototype.zoomIn=function(){this.Ic(e.zt)};q.prototype.zoomOut=function(){this.Ic(e.At)};q.prototype.set=function(n,r){if(this.get(n)!=r){switch(n){case "map":this.r6=!0;this.$d();break;case "viewerArea":this.Qh=!0;this.$d();break;case "panoramaMapLocation":this.H7=!0;this.$d();break;case "movementMode":this.$T=!0,this.$d()}b.prototype.set.call(this,n,r)}};q.prototype.qFa=function(n){var r=q.Bt[n];n=new k(this,n,l.Ce);n.bind(f.vb,function(){this.Ic(r.movement)},this);r.stopOnRelease&&
n.bind(f.Zb,function(){this.Ic(e.Ff)},this);return n};q.prototype.ISa=function(n){this.Im=null;this.set("map",n.get("map"));this.set("panoramaMapLocation",n)};q.prototype.ZWa=function(n){this.get("panoramaMapLocation")==n&&(this.set("panoramaMapLocation",null),this.Im=null)};q.prototype.gn=function(n,r,u,t){this.L&&this.L.gn(n,r,u,t);this.Im={yaw:r,pitch:u,hfov:t}};q.prototype.Qg=function(){this.Qh&&(this.Qh=!1,this.Yt(),this.get("viewerArea")&&this.Vt(),this.jN(this.get("viewerArea")));if(this.L){if(this.r6){this.r6=
!1;var n=this.get("map");n?(this.wI(),this.L.Oya(n)):this.L.Wv();this.H7=this.$T=!0}this.H7&&(this.H7=!1,n=this.get("panoramaMapLocation"),this.L.$v(n),n&&this.Im&&this.L.gn(n,this.Im.yaw,this.Im.pitch,this.Im.hfov));this.$T&&(this.$T=!1,this.L.Mq(this.get("movementMode")))}};q.prototype.aH=function(){this.set("map",null)};q.prototype.Vt=function(){var n=this.get("viewerArea");this.j=new c;this.j.ja({left:0,top:0,bottom:0,right:0});n.Va(this.j);this.L=new g(n,this.j);this.L.bind(g.Lj,this.Gp,this);
this.L.bind(g.dt,this.ji,this);this.L.bind(g.Lz,this.eG,this);this.L.bind(g.Nz,this.Wx,this);this.L.bind(g.Mz,this.Gu,this);this.L.bind(g.Mj,this.eM,this,!0)};q.prototype.Yt=function(){this.j&&(this.L.unbind(g.Lj,this.Gp,this),this.L.unbind(g.dt,this.ji,this),this.L.unbind(g.Lz,this.eG,this),this.L.unbind(g.Nz,this.Wx,this),this.L.unbind(g.Mz,this.Gu,this),this.L.unbind(g.Mj,this.eM,this),this.L.clear(),this.j.getParent().removeChild(this.j),this.j=null)};q.prototype.Wx=function(n){this.qL(n.data.map)};
q.prototype.Gu=function(n){this.pL(n.data.map)};q.prototype.Gp=function(n){for(var r in q.Bt)this.Rw[r].set("state",n.data[q.Bt[r].pressedOn]?p.ob:p.Be);this.trigger(new h(f.Pea,n.data))};q.prototype.eM=function(n){this.trigger(new h(q.Mj,{yawDelta:n.data.yawDelta}))};q.prototype.ji=function(n){this.j.getParent().ja({progressPercent:n.data.percent,progressVisible:!0})};q.prototype.eG=function(){this.j.getParent().set("progressVisible",!1)};q.prototype.Ic=function(n){this.L&&this.L.Jj(n)};q.Bt={buttonRotateClockwise:{movement:e.D0,
pressedOn:"rotatingClockwise",stopOnRelease:!0},buttonRotateCounterClockwise:{movement:e.E0,pressedOn:"rotatingCounterClockwise",stopOnRelease:!0},buttonZoomIn:{movement:e.zt,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:e.At,pressedOn:"zoomingOut",stopOnRelease:!0}};q.Mj="requestYawChange";return q});
define("id",["require","lJ","ox","cw","nq"],function(a){var d=a("lJ"),h=a("ox"),m=a("cw");a=a("nq").define("PlayListItem",d,function(){d.call(this);this.A="stopped"});a.prototype.get=function(k,b){return"state"==k?this.A:d.prototype.get.call(this,k,b)};a.prototype.start=function(){this.IZa()};a.prototype.IZa=function(){if("stopped"==this.A||"stopping"==this.A)this.A="starting",this.trigger(new m(h.tn))};a.prototype.Vy=function(){this.Nza()};a.prototype.Nza=function(){if("starting"==this.A||"stopping"==
this.A)this.A="playing",this.trigger(new m(h.Qq))};a.prototype.stop=function(){this.KI()};a.prototype.KI=function(){if("playing"==this.A||"starting"==this.A)this.A="stopping",this.trigger(new m(h.Ff))};a.prototype.end=function(){this.Oza()};a.prototype.Oza=function(){if("stopping"==this.A||"starting"==this.A)this.A="stopped",this.trigger(new m(h.sb))};return a});
define("oY",["require","nq","cX","id"],function(a){var d=a("nq"),h=a("cX"),m=a("id");a=d.define("MapPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Wg,this.Wx,this),k.set("map",this.get("media")))};a.prototype.stop=function(){var k=this.get("player");k&&k.get("map")==this.get("media")&&k.set("map",null);m.prototype.stop.call(this)};a.prototype.Wx=function(){this.get("player").unbind(h.Wg,this.Wx,this);this.get("player").bind(h.Xl,
this.Gu,this);this.Vy();this.get("player").get("map")!=this.get("media")&&this.Gu()};a.prototype.Gu=function(){this.get("player").unbind(h.Xl,this.Gu,this);this.stop();this.end()};return a});
define("fV",["require","ox","nq","jG"],function(a){var d=a("ox"),h=a("nq"),m=a("jG"),k=h.define("MeasureModel3DObject",m,function(){m.call(this);this.bind(d.G("mode"),function(){this.trigger(k.EAa)},this,!0);this.bind(d.G("distance"),function(){this.trigger(k.BAa)},this,!0)});k.EAa="modeChange";k.BAa="distanceChange";return k});define("E",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("MeasureModel3DObjectPoint",d,function(){d.call(this)})});
define("eb",["require","nq","fS"],function(a){var d=a("nq"),h=a("fS");return d.define("OrbitModel3DCamera",h,function(){h.call(this)})});
define("oQ",["require","exports","ox","gf"],function(a,d,h,m){var k=function(){return function(b){this.Pta=b;this.Sg=0;this.finished=!1}}();return function(b){function g(e){var c=b.call(this)||this;c.vm=new Map;c.iF=e||c;return c}Z(g,b);g.prototype.HXa=function(e){if(this.iF=e)this.Aj(),this.K$()};g.prototype.Ota=function(){this.vm.forEach(function(e,c){this.wV(c)}.bind(this));this.vm=new Map};g.prototype.Kl=function(){var e=0;this.vm.forEach(function(c){c.finished&&e++});return e==this.vm.size};
g.prototype.dispose=function(){this.Ota();this.vm.clear();this.iF=void 0};g.prototype.AH=function(e,c){void 0===c&&(c=1);if(this.vm.has(e))return e;this.vm.set(e,new k(c));this.OCa(e);return e};g.prototype.vI=function(e){this.vm.has(e)&&(this.vm["delete"](e),this.wV(e))};g.prototype.Yy=function(e){void 0===e&&(e=1);var c=new m;return this.AH(c,e)};g.prototype.ld=function(e){e=e.source;var c=this.vm.get(e);c&&(this.wV(e),c.Sg=100,c.finished=!0,this.Aj(),this.K$())};g.prototype.ji=function(e){this.vm.get(e.source).Sg=
e.data.percent;this.Aj()};g.prototype.Kf=function(e){e=e.source;this.wV(e);e=this.vm.get(e);e.finished=!0;e.Sg=100;this.iF.trigger(h.Gc);this.Aj();this.K$()};g.prototype.Aj=function(){var e=0,c=0;this.vm.forEach(function(f){c+=f.Pta;e+=f.Sg*f.Pta});this.iF.trigger(h.sc,{percent:e/c})};g.prototype.K$=function(){this.Kl()&&this.iF.trigger(h.Z)};g.prototype.OCa=function(e){e.bind(h.Z,this.ld,this,!0);e.bind(h.sc,this.ji,this,!0);e.bind(h.Gc,this.Kf,this,!0)};g.prototype.wV=function(e){e.unbind(h.Z,this.ld,
this);e.unbind(h.sc,this.ji,this);e.unbind(h.Gc,this.Kf,this)};return g}(m)});
define("fA","require ox kK nq ek eb oQ".split(" "),function(a){function d(r,u){Array.isArray(u)?r.fromArray(u):r.copy(u);return r}function h(r,u){Array.isArray(u)?r.fromArray(u):r.copy(u);return r}function m(r,u){if(Array.isArray(u))return r.toArray(u);u.x=r.x;u.y=r.y;u.z=r.z;return u}var k=a("ox"),b=a("kK"),g=a("nq"),e=a("ek"),c=a("eb"),f=a("oQ");a=g.define("Model3D",e,function(){e.call(this);this.set("camera",new c);this.set("geometryQuery",void 0);this.set("objectQuery",void 0);this.set("preload",
!0)});a.prototype.Kca=function(){this.pi&&(this.pi.unbind(k.Z,this.dM,this),this.pi.dispose());this.pi=new f;this.pi.bind(k.Z,this.dM,this,!0);this.te&&this.te.dispose();this.te=new f(this)};a.prototype.dM=function(){this.trigger(k.bJ)};a.prototype.lY=function(){this.te||this.Kca();return this.te};a.prototype.pY=function(){this.pi||this.Kca();return this.pi};a.prototype.pause=function(){this.get("state")==b.X&&this.set("state",b.Db)};a.prototype.play=function(){this.set("state",b.X)};a.prototype.stop=
function(){this.set("state",b.T)};a.prototype.worldPositionToLocal=function(r,u){h(l,r);d(q,u);q.invert();l.applyMatrix4(q);return m(l,r)};a.prototype.getMatrixWorld=function(r){var u=this.get("objectQuery");return u&&u.Rua(r)};a.prototype.worldDirectionToLocal=function(r,u){h(l,r);d(n,u);q.extractRotation(n);q.invert();l.applyMatrix4(q);return m(l,r)};a.prototype.testIntersection=function(r,u){var t=this.get("geometryQuery");if(t)return h(l,r),h(p,u),t.Bza(l,p)};a.prototype.getDistanceToFloor=function(r){var u=
this.get("geometryQuery");if(u)return h(l,r),u.aUa(l)};a.prototype.pick=function(r,u){var t=this.get("picker");if(t)return t.qZ(r,u)};a.prototype.getScreenPosition=function(r,u){var t=this.get("projectionQuery");if(t)return t.Hba(h(l,r),u)};var l=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Matrix4,n=new THREE.Matrix4;a.prototype.Js=function(){return[]};return a});
define("be",["require","lJ","kK","ox","nq"],function(a){var d=a("lJ"),h=a("kK"),m=a("ox");a=a("nq").define("Model3DAnimation",d,function(){d.call(this);this.bind(m.G("state"),function(){this.trigger(m.le)},this,!0)});a.prototype.pause=function(){this.get("state")==h.X&&this.set("state",h.Db)};a.prototype.play=function(){this.set("currentDirection","forward");this.set("state",h.X)};a.prototype.reverse=function(){this.set("currentDirection","backward");this.set("state",h.X)};a.prototype.stop=function(){this.set("currentTime",
0);this.set("state",h.T)};return a});
define("gL",["require","lJ","kK","nq","ox"],function(a){var d=a("lJ"),h=a("kK"),m=a("nq"),k=a("ox");a=m.define("Model3DCameraSequence",d,function(){d.call(this);this.set("state",h.T);this.bind(k.G("state"),function(){this.trigger(k.le)},this,!0)});a.prototype.play=a.prototype.play=function(){this.set("state",h.X)};a.prototype.pause=a.prototype.pause=function(){this.get("state")==h.X&&this.set("state",h.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",h.T)};return a});
define("ip","require li ox cw jz cX kK ea gG".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("jz"),b=a("cX"),g=a("kK"),e=a("ea"),c=a("gG");a=d.extend(b,function(){b.call(this,!0);this.Rr=!1;this.ZG=!0;this.A=g.T;this.EA=new k(this,"buttonPlayPause",e.Rj);this.EA.bind(h.Pj,this.GLa,this,!0);this.EA.bind(h.am,this.HLa,this,!0);this.GE=new k(this,"buttonPause",e.Ce);this.GE.bind(h.pa,this.aC,this,!0);this.HE=new k(this,"buttonPlay",e.Ce);this.HE.bind(h.pa,this.bC,this,!0);this.JE=new k(this,
"buttonStop",e.Ce);this.JE.bind(h.pa,this.hy,this,!0);this.lEa=new k(this,"buttonRestart",e.Ce);this.lEa.bind(h.pa,this.by,this,!0);this.Zka=d.zo(this.HRa,this);this.Zka()});a.prototype.set=function(f,l){"state"!=f&&b.prototype.set.call(this,f,l)};a.prototype.get=function(f,l){switch(f){case "state":return this.A}return b.prototype.get.call(this,f,l)};a.prototype.HRa=function(){this.ZG&&(this.ZG=!1,this.GE.set("state",this.A==g.Db?c.ob:c.Be),this.HE.set("state",this.A==g.X||this.A==g.Db?c.ob:c.Be),
this.EA.set("pressed",this.A==g.X),this.JE.set("state",this.A==g.T?c.ob:c.Be))};a.prototype.Dy=function(f){this.Rr!=f&&((this.Rr=f)||this.yc(g.T))};a.prototype.yc=function(f){var l=this.A;this.A=f;b.prototype.set.call(this,"state",f);l!=this.A&&(this.ZG=!0,this.Zka(),this.trigger(new m(h.le,{oldState:l,state:this.A})))};a.prototype.aC=function(){this.Rr&&(this.A==g.Db?this.mk():this.Op())};a.prototype.bC=function(){this.Rr&&this.mk()};a.prototype.GLa=function(){this.Rr&&this.mk()};a.prototype.HLa=
function(){this.Rr&&this.Op()};a.prototype.hy=function(){this.Rr&&this.ho()};a.prototype.by=function(){this.Rr&&(this.ho(),this.mk())};a.prototype.mk=function(){};a.prototype.Op=function(){};a.prototype.ho=function(){};return a});
define("eF",["require","li","bg","cw","gf"],function(a){var d=a("li"),h=a("bg"),m=a("cw"),k=a("gf"),b=d.extend(k,function(g,e){k.call(this);this.N=g;this.j=e;this.Pp=null;this.oa=b.th;this.Gg=this.Ah=null;this.vg=this.Pg=void 0});b.prototype.display=function(g){this.Pp=null;if(this.Gg!=g||this.oa!=b.th)this.Pp=g,this.vna()};b.prototype.hide=function(){this.Pp="none";this.vna()};b.prototype.clear=function(){this.oa=b.th;this.Pp=null;this.$Ma();this.hpa();this.j=null};b.prototype.lh=function(g){this.oa==
b.th||this.oa!=b.wn&&this.oa!=b.Fw&&this.oa!=b.rA||(this.vg+=g,g=Math.min(1,this.vg/this.Pg),this.oa==b.wn?this.Ah.set("opacity",g):this.oa==b.rA?(this.Ah.set("opacity",Math.min(1,2*g)),this.Gg.set("opacity",Math.min(1,2*(1-g)))):this.Gg.set("opacity",1-g),this.vg<this.Pg?this.Ma():this.sx())};b.prototype.TO=function(){return this.Gg&&this.j.TO(this.Gg)||void 0};b.prototype.vna=function(){this.Pp&&this.oa==b.th&&this.ap()};b.prototype.ap=function(){this.Gg&&this.trigger(new m(b.Oz,{model:this.Gg}));
"fade_out_fade_in"==this.N.get("transitionMode","blending")&&this.Gg?this.Nw():(this.Ah="none"==this.Pp?null:this.Pp,this.Pp=null,this.Ah?this.Gg?this.T1():this.yJ():this.Gg&&this.Nw())};b.prototype.yJ=function(){this.Gga();this.j.kda(this.Ah,!1);this.vg=0;this.Pg=this.N.get("transitionDuration");this.oa=b.wn;this.Ma()};b.prototype.T1=function(){this.Gga();this.j.kda(this.Ah,!1);this.j.kda(this.Gg,!0);this.vg=0;this.Pg=2*this.N.get("transitionDuration");this.oa=b.rA;this.Ma()};b.prototype.Nw=function(){this.Ah=
null;this.vg=0;this.Pg=this.N.get("transitionDuration");this.oa=b.Fw;this.Ma()};b.prototype.sx=function(){this.Pp!=this.Gg&&this.hpa();this.Gg=this.Ah;this.Ah=null;this.oa=b.th;this.Gg?this.trigger(new m(b.Pz,{model:this.Gg})):this.Pp||this.trigger(new m(b.qea));this.Pp&&this.ap()};b.prototype.Ma=function(){h.requestFrame(this.lh,this)};b.prototype.Gga=function(){this.Ah&&(this.Ah.set("opacity",.01),this.Ah.set("zIndex",1),this.Gg&&this.Gg.set("zIndex",0),this.Ah.set("currentTime",0),this.j.jta(this.Ah),
this.trigger(new m(b.P_,{model:this.Ah})))};b.prototype.hpa=function(){this.Gg&&(this.j.Gca(this.Gg),this.trigger(new m(b.vQ,{model:this.Gg})),this.Gg=null)};b.prototype.$Ma=function(){this.Ah&&(this.j.Gca(this.Ah),this.trigger(new m(b.vQ,{model:this.Ah})),this.Ah=null)};b.th="stopped";b.wn="blending";b.rA="double blending";b.Fw="disolving";b.Cb="request frame";b.P_="model added";b.vQ="model removed";b.Pz="model show";b.Oz="model hide";b.qea="all pending models hidden";return b});
define("cM",["require","li","gf","ox"],function(a){var d=a("li"),h=a("gf"),m=a("ox");a=d.extend(h,function(k,b){h.call(this);this.N=k;this.j=b;this.Gh=null});a.prototype.clear=function(){this.stop();this.j=null};a.prototype.load=function(k){k!=this.Gh&&(this.stop(),this.j.YUa(k)?(this.Ora(k),this.QW(k)):(this.Gh=k,this.Gh.set("opacity",0),this.QDa(),this.j.jta(this.Gh)))};a.prototype.stop=function(){this.Gh&&(this.s$(),this.j.Gca(this.Gh),this.Gh=null)};a.prototype.dM=function(){this.Ora(this.Gh)};
a.prototype.ld=function(){this.s$();var k=this.Gh;this.Gh=null;this.N.set("progressVisible",!1);this.QW(k)};a.prototype.Kf=function(){this.s$();this.Gh=null;this.N.set("progressVisible",!1)};a.prototype.ji=function(k){this.N.ja({progressPercent:k.data.percent,progressVisible:!0})};a.prototype.QDa=function(){this.Gh.bind(m.bJ,this.dM,this,!0);this.Gh.bind(m.Z,this.ld,this,!0);this.Gh.bind(m.sc,this.ji,this,!0);this.Gh.bind(m.Gc,this.Kf,this,!0)};a.prototype.s$=function(){this.Gh.unbind(m.bJ,this.dM,
this,!0);this.Gh.unbind(m.Z,this.ld,this,!0);this.Gh.unbind(m.sc,this.ji,this,!0);this.Gh.unbind(m.Gc,this.Kf,this,!0)};a.prototype.Ora=function(k){this.trigger(m.bJ,{model:k})};a.prototype.QW=function(k){this.trigger(m.Z,{model:k})};a.HAa=m.bJ;a.sea=m.Z;return a});
define("gW","require li ox cw gf kK".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("kK"),g=d.extend(k,function(){k.call(this);this.da=null;this.A=b.T});g.prototype.start=function(e){this.da=e;this.da.bind(h.G("camera"),this.R6,this,!0);this.da.bind(h.G("state"),this.q7,this,!0);this.da.bind(h.G("currentTime"),this.FU,this,!0);this.da.bind(h.G("duration"),this.FU,this,!0);this.q7();this.R6()};g.prototype.end=function(){this.stop();this.Ca&&(this.Ca.unbind(h.G("state"),this.FL,
this,!0),this.Ca=null);this.da&&(this.da.unbind(h.G("camera"),this.R6,this,!0),this.da.unbind(h.G("state"),this.q7,this,!0),this.da.unbind(h.G("currentTime"),this.FU,this,!0),this.da.unbind(h.G("duration"),this.FU,this,!0),this.da=null)};g.prototype.clear=function(){this.end()};g.prototype.play=function(){this.da&&this.da.set("state",b.X)};g.prototype.pause=function(){this.da&&this.da.set("state",b.Db)};g.prototype.stop=function(){this.da&&this.da.set("state",b.T)};g.prototype.setTime=function(e){this.da&&
this.da.set("currentTime",e)};g.prototype.getTime=function(){return this.da&&this.da.get("currentTime")||void 0};g.prototype.q7=function(){var e=this.da.get("state");this.A!=e&&(this.A=e,this.Ca&&this.Ca.set("state",e),this.trigger(new m(g.Cc,{state:this.A})))};g.prototype.FU=function(){this.trigger(new m(g.bj,{model:this.da,time:this.da.get("currentTime"),duration:this.da.get("duration")}));this.FL()};g.prototype.R6=function(){this.Ca&&this.Ca.unbind(h.G("state"),this.FL,this,!0);(this.Ca=this.da.get("camera"))&&
this.Ca.bind(h.G("state"),this.FL,this,!0);this.FL()};g.prototype.FL=function(){0===this.da.get("duration")&&this.da.set("state",this.Ca?this.Ca.get("state"):b.T)};g.Cc="playback state change";g.bj="time change";return g});
define("dR","require li kK cw gf eF cM gW".split(" "),function(a){var d=a("li"),h=a("kK"),m=a("cw"),k=a("gf"),b=a("eF"),g=a("cM"),e=a("gW"),c=d.extend(k,function(f,l){k.call(this);this.N=f;this.j=l;this.j.set("visible",!1);this.se=new g(this.N,this.j);this.Pa=new b(this.N,this.j);this.Ia=new e(this.j);this.se.bind(g.HAa,this.uLa,this,!0);this.se.bind(g.sea,this.Iu,this,!0);this.Pa.bind(b.Oz,this.Xx,this,!0);this.Pa.bind(b.Pz,this.ml,this,!0);this.Pa.bind(b.P_,this.kna,this,!0);this.Pa.bind(b.vQ,this.nna,
this,!0);this.Pa.bind(b.qea,this.WKa,this,!0);this.Ia.bind(e.Cc,this.Qe,this,!0);this.Ia.bind(e.bj,this.Jp,this,!0)});c.prototype.clear=function(){this.se.clear();this.Pa.clear();this.Ia.clear();this.se.unbind(g.sea,this.Iu,this);this.Pa.unbind(b.Oz,this.Xx,this);this.Pa.unbind(b.Pz,this.ml,this);this.Pa.unbind(b.P_,this.kna,this);this.Pa.unbind(b.vQ,this.nna,this);this.Ia.unbind(e.Cc,this.Qe,this);this.Ia.unbind(e.bj,this.Jp,this);this.N=this.j=this.Ia=this.Pa=this.se=null};c.prototype.kYa=function(f){this.j.set("visible",
!0);this.se.load(f)};c.prototype.Wv=function(){this.Pa.hide();this.Ia.end()};c.prototype.play=function(){this.Ia.play()};c.prototype.stop=function(){this.Ia.stop()};c.prototype.pause=function(){this.Ia.pause()};c.prototype.setTime=function(f){this.Ia.setTime(f)};c.prototype.getTime=function(){return this.Ia.getTime()};c.prototype.TO=function(){return this.Pa.TO()};c.prototype.uLa=function(f){this.Pa.display(f.data.model)};c.prototype.Iu=function(){};c.prototype.kna=function(f){this.Ia.start(f.data.model)};
c.prototype.nna=function(){};c.prototype.ml=function(f){f=f.data.model;f.get("autoplay")&&f.get("state")!=h.X&&f.set("state",h.X);this.trigger(new m(c.Pz,{model:f}))};c.prototype.Xx=function(f){this.trigger(new m(c.Oz,{model:f.data.model}))};c.prototype.WKa=function(){this.j.set("visible",!1)};c.prototype.Jp=function(f){this.trigger(new m(c.Q_,f.data))};c.prototype.Qe=function(f){this.trigger(new m(c.Cc,{state:f.data.state}))};c.Pz="modelShow";c.Oz="modelHide";c.h_a="modelEnd";c.Q_="videoTimeChange";
c.Cc="playbackStateChange";return c});define("jX",["require","jquery.mod","v"],function(a){function d(){this.ma=h("<div/>");this.ma.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.ma.hide()}var h=a("jquery.mod"),m=a("v");d.prototype.zc=function(){return this.ma};d.prototype.trigger=function(){m.browser()!=m.Xh&&this.ma.fadeIn(100).fadeOut(100)};return d});
define("lR",["require","exports"],function(){return function(){function a(d,h){this.S=d;this.tag=h||"Entity";this.id=this.tag+"_"+a.$Va++;this.Wm={};this.CP={};this.Hda=0}a.prototype.getComponent=function(d){return this.Wm[d.id]};a.prototype.K=function(d,h){void 0===h&&(h=!1);var m=this.Wm[d.id];m?this.S.aTa(this,d):h&&(m=this.H(d));return m};a.prototype.H=function(d){if(d.id in this.Wm)return this.Wm[d.id];d.HY&&this.Hda++;var h=this.Wm[d.id]=new d;this.S.DSa(this,d);return h};a.prototype.na=function(d){var h;
void 0===h&&(h=!1);d.id in this.Wm&&(d.HY&&this.Hda--,h?this.Wm[d.id].clear():this.CP[d.id]=this.Wm[d.id],delete this.Wm[d.id],this.S.bya(this,d,h))};a.prototype.dTa=function(){for(var d in this.CP)this.CP[d].clear(),delete this.CP[d]};a.prototype.SWa=function(){for(var d in this.Wm){var h=this.Wm[d].constructor;h.HY||(this.CP[d]=this.Wm[d],delete this.Wm[d],this.S.bya(this,h,!1))}};a.$Va=0;return a}()});define("bZ",["require"],function(){function a(){this.id=a.M6++;this.C=[]}a.M6=0;return a});
define("kE",["require"],function(){function a(d,h){this.id=a.M6++;this.name=h;this.C=d.C;this.ie=d.C.slice();this.Ya=[];this.Ag=[]}a.prototype.bTa=function(){!this.ie.length||(this.ie=[]);!this.Ya.length||(this.Ya=[]);!this.Ag.length||(this.Ag=[])};a.M6=0;return a});
define("bp",["require","bZ","kE"],function(a){function d(){this.dVa={};this.J={};this.DD={};this.SH={};this.Fv={};this.CD={};this.BO={};this.BD={}}function h(e){return"string"==typeof e?e:e.id}function m(e,c){0>e.indexOf(c)&&e.push(c);return e}function k(e,c){c=e.indexOf(c);0<=c&&e.splice(c,1);return e}var b=a("bZ"),g=a("kE");d.prototype.sa=function(e){this.BO[e.id]={};this.BO[e.not]={}};d.prototype.rTa=function(e,c){e=this.PIa(e);c=new g(e,c);this.DD[e.id].push(c);return c};d.prototype.PIa=function(e){var c=
this.QIa(e);if(c=this.dVa[c])return c;c=new b;this.J[c.id]=c;e=e.map(h);this.BD[c.id]={};for(var f=0;f<e.length;f++){var l=e[f];this.BD[c.id][l]=!0;this.BO[l][c.id]=!0}this.CD[c.id]={};this.DD[c.id]=[];return c};d.prototype.QIa=function(e){e=e.map(h);e.sort();return e.join("-")};d.prototype.gWa=function(e){this.SH[e.id]={};this.Fv[e.id]={}};d.prototype.hWa=function(e){delete this.SH[e.id];delete this.Fv[e.id]};d.prototype.dWa=function(e,c){var f=c.id,l=c.not;c=e.id;this.SH[c][f]=!0;for(var p in this.Fv[c])if(l in
this.BD[p]){delete this.CD[p][c];delete this.Fv[c][p];k(this.J[p].C,e);for(var q=this.DD[p],n=0,r=q.length;n<r;n++){var u=q[n];m(u.Ag,e);k(u.ie,e);k(u.Ya,e)}}for(p in this.BO[f])if(!(c in this.CD[p])){f=!0;for(var t in this.BD[p])if(l="!"!=t[0],(l?t:t.slice(1))in this.SH[c]!=l){f=!1;break}if(f)for(this.CD[p][c]=!0,this.Fv[c][p]=!0,m(this.J[p].C,e),q=this.DD[p],n=0,r=q.length;n<r;n++)u=q[n],m(u.ie,e),k(u.Ag,e),k(u.Ya,e)}};d.prototype.fWa=function(e,c){var f=c.id,l="!"+f;c=e.id;delete this.SH[c][f];
for(var p in this.Fv[c])if(f in this.BD[p]){delete this.CD[p][c];delete this.Fv[c][p];k(this.J[p].C,e);for(var q=this.DD[p],n=0,r=q.length;n<r;n++){var u=q[n];m(u.Ag,e);k(u.ie,e);k(u.Ya,e)}}for(p in this.BO[l])if(!(c in this.CD[p])){f=!0;for(var t in this.BD[p])if(l="!"!=t[0],(l?t:t.slice(1))in this.SH[c]!=l){f=!1;break}if(f)for(this.CD[p][c]=!0,this.Fv[c][p]=!0,this.J[p].C.push(e),q=this.DD[p],n=0,r=q.length;n<r;n++)u=q[n],m(u.ie,e),k(u.Ag,e),k(u.Ya,e)}};d.prototype.eWa=function(e,c){c=c.id;var f=
e.id,l;for(l in this.Fv[f])if(c in this.BD[l]){f=this.DD[l];for(var p=0,q=f.length;p<q;p++)m(f[p].Ya,e)}};return d});
define("la",["require","bg","lR","bp"],function(a){function d(b){this.lc=b;this.W=!0;this.dh={};this.ZJ=[];this.aFa={};this.AN=[];this.oC=new k;this.pS=[];this.oy=!1;this.uja=void 0}var h=a("bg"),m=a("lR"),k=a("bp");d.prototype.DZ=function(b){this.uja=b};d.prototype.sa=function(b){this.aFa[b.id]=b;this.oC.sa(b);return this};d.prototype.Yd=function(b,g){var e=new b(this,g);e.order=this.AN.length;this.AN.push(e);for(var c in b.J)e[c]=this.oC.rTa(b.J[c],g+"."+c);this.AN.sort(function(f,l){return f.priority-
l.priority||f.order-l.order});return this};d.prototype.dd=function(b){b=new m(this,b);this.dh[b.id]=b;this.oC.gWa(b);this.$a();return b};d.prototype.Ve=function(b){b.id in this.dh&&(delete this.dh[b.id],this.ZJ.push(b),b.SWa(),this.$a())};d.prototype.DSa=function(b,g){this.oC.dWa(b,g);this.$a()};d.prototype.bya=function(b,g,e){this.oC.fWa(b,g);e||this.pS.push(b);this.$a()};d.prototype.aTa=function(b,g){this.oC.eWa(b,g);this.$a()};d.prototype.mc=function(b){this.W=b;this.$a()};d.prototype.$a=function(){this.W&&
!this.oy&&(this.oy=!0,h.requestFrame(this.update,this,this.uja))};d.prototype.update=function(b){b=b||0;this.oy=!1;for(var g=(new Date).getTime(),e=0;e<this.AN.length;e++){var c=this.AN[e];c.Gd(b,g);for(var f in c.constructor.J)c[f].bTa()}for(e=0;e<this.pS.length;e++)this.pS[e].dTa();this.pS.length=0;for(e=this.ZJ.length-1;0<=e;e--)0==this.ZJ[e].Hda&&(this.oC.hWa(this.ZJ[e]),this.ZJ.splice(e,1))};return d});
define("ej",["require","exports"],function(){return function(){function a(){}a.prototype.clear=function(){};a.Wb=function(d){this.id=d+"Component";this.not="!"+this.id};a.Mc=function(d){this.Wb(d+"SystemState");this.HY=!0};a.HY=!1;return a}()});
define("fx",["require","exports","ej"],function(a,d,h){var m;(function(k){var b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.bias=0;f.eua=500;f.intensity=1;f.scale=100;f.dwa=25;f.Cwa=0;f.Paa=4;f.output=null;return f}Z(c,e);return c}(h);k.XD=b;b.Wb("AmbientOcclusionEffect");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Vb=null;return f}Z(c,e);return c}(h);k.Animation=b;b.Wb("Animation");b=function(e){function c(){var f=null!==e&&e.apply(this,
arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.Xs=b;b.Mc("Animation");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.yua=!1;f.qza=!1;f.aQ=2;return f}Z(c,e);return c}(h);k.Ez=b;b.Wb("AntialiasEffect");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.C=[];f.renderOrder=null;f.Ea=null;return f}Z(c,e);return c}(h);k.Vl=b;b.Wb("Area");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.C=[];return f}Z(c,e);return c}(h);
k.jw=b;b.Mc("Area");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.DX=[];return f}Z(c,e);return c}(h);k.Fz=b;b.Mc("AreaPoint");b=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.mw=b;b.Wb("Beacon");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.position=null;return f}Z(c,e);return c}(h);k.nw=b;b.Mc("Beacon");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Ea=null;return f}
Z(c,e);return c}(h);k.Sq=b;b.Wb("BeaconTracker");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.position=null;return f}Z(c,e);return c}(h);k.$s=b;b.Mc("BeaconTracker");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.kg=null;f.mya=null;f.jz=!0;f.Vb=null;f.enabled=!0;f.OH=!0;return f}Z(c,e);return c}(h);var g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.source=null;f.$P=null;f.opacity=1;f.isSprite=!1;f.hidden=!1;f.depthTest=
!0;return f}Z(c,e);return c}(h);k.Yh=g;g.Wb("CanvasMaterial");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.ow=g;g.Mc("CanvasMaterial");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.color="#000000";f.opacity=.5;return f}Z(c,e);return c}(h);k.rQ=g;g.Wb("ColorEffect");g=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.VI=g;g.Wb("Data");g=function(e){function c(){var f=
null!==e&&e.apply(this,arguments)||this;f.Ea=null;f.direction=null;f.min=null;return f}Z(c,e);return c}(h);k.Go=g;g.Wb("Draggable");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.dba=null;return f}Z(c,e);return c}(h);k.pw=g;g.Mc("Draggable");g=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.qw=g;g.Wb("Dragging");g=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(b);k.$z=g;g.Wb("FirstPersonControls");
g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.gt=g;g.Mc("FirstPersonControls");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.distance=0;f.dP=!1;f.x=0;f.y=0;f.z=0;return f}Z(c,e);return c}(h);k.ht=g;g.Wb("FloorTransform");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.Uq=g;g.Mc("FloorTransform");g=function(e){function c(){return null!==
e&&e.apply(this,arguments)||this}Z(c,e);return c}(b);k.aA=g;g.Wb("FlyOverControls");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.it=g;g.Mc("FlyOverControls");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.geometry=null;return f}Z(c,e);return c}(h);k.Geometry=g;g.Wb("Geometry");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.group=null;return f}Z(c,e);return c}(h);k.Group=
g;g.Wb("Group");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.group=null;return f}Z(c,e);return c}(h);k.gE=g;g.Mc("Group");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Vb=null;f.Pba=null;f.Ea=null;f.vo=null;f.priority=void 0;f.isSprite=!1;return f}Z(c,e);return c}(h);k.Yl=g;g.Wb("ImageMaterial");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.vw=g;g.Mc("ImageMaterial");
g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.iya=7;f.intensity=1;return f}Z(c,e);return c}(h);k.ZI=g;g.Wb("MotionBlurEffect");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Vb=null;f.target=null;f.Xd=null;return f}Z(c,e);return c}(h);k.Light=g;g.Wb("Light");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.p0a=null;return f}Z(c,e);return c}(h);k.kt=g;g.Mc("Light");g=function(e){function c(){var f=null!==e&&e.apply(this,
arguments)||this;f.line=null;f.renderOrder=0;return f}Z(c,e);return c}(h);k.Line=g;g.Wb("Line");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.line=null;return f}Z(c,e);return c}(h);k.xw=g;g.Mc("Line");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.color="#ffffff";f.opacity=1;f.width=1;f.depthTest=!0;return f}Z(c,e);return c}(h);k.Xg=g;g.Wb("LineMaterial");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;
return f}Z(c,e);return c}(h);k.ww=g;g.Mc("LineMaterial");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.aa=null;f.position=null;return f}Z(c,e);return c}(h);k.Vq=g;g.Wb("LineToTransform");g=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.yw=g;g.Mc("LineToTransform");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.material=null;return f}Z(c,e);return c}(h);k.Material=g;g.Wb("Material");g=function(e){function c(){var f=
null!==e&&e.apply(this,arguments)||this;f.name=null;return f}Z(c,e);return c}(h);k.mt=g;g.Wb("MaterialVariant");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.So=g;g.Mc("MaterialVariant");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.wo=null;f.renderOrder=0;return f}Z(c,e);return c}(h);k.Mesh=g;g.Wb("Mesh");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.wo=null;return f}
Z(c,e);return c}(h);k.Yq=g;g.Mc("Mesh");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Vb=null;f.Ewa=null;f.Txa=null;f.vo=null;f.Ea=null;f.Jba=null;return f}Z(c,e);return c}(h);k.Dg=g;g.Wb("Model");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.nt=g;g.Mc("Model");g=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.DQ=g;g.Wb("NotCollidable");g=function(e){function c(){return null!==
e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.pBa=g;g.Mc("NotCollidable");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Rda=!0;f.Sda=!0;return f}Z(c,e);return c}(h);k.To=g;g.Wb("NotSelectable");g=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.fA=g;g.Mc("NotSelectable");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Yc=null;return f}Z(c,e);return c}(h);k.Object3D=g;g.Wb("Object3D");g=function(e){function c(){var f=
null!==e&&e.apply(this,arguments)||this;f.id=null;f.container=null;return f}Z(c,e);return c}(h);k.mE=g;g.Wb("Object3DId");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.ot=g;g.Mc("Object3DId");g=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.uO=0;f.castShadow=void 0;f.receiveShadow=void 0;f.envMapIntensity=1;f.opacity=1;f.Ea=null;return f}Z(c,e);return c}(h);k.Uo=g;g.Wb("ObjectTransform");g=function(e){function c(){return null!==
e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.zw=g;g.Mc("ObjectTransform");b=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(b);k.gA=b;b.Wb("OrbitControls");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.pt=b;b.Mc("OrbitControls");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.width=100;f.height=100;return f}Z(c,e);return c}(h);k.OrthographicCamera=
b;b.Wb("OrthographicCamera");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.camera=null;f.width=void 0;f.height=void 0;return f}Z(c,e);return c}(h);k.Aw=b;b.Mc("OrthographicCamera");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.aa=null;f.attach=!1;f.id=null;return f}Z(c,e);return c}(h);k.jb=b;b.Wb("Parent");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.parent=null;f.xd=null;f.id=void 0;f.attach=!1;return f}Z(c,e);
return c}(h);k.Zq=b;b.Mc("Parent");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.width=100;f.height=100;f.fov=75;f.near=.01;f.far=100;f.uta=!1;f.vta=0;return f}Z(c,e);return c}(h);k.PerspectiveCamera=b;b.Wb("PerspectiveCamera");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.camera=null;f.scene=null;f.boundingBox=null;f.Qaa=null;f.oZ=!1;f.width=void 0;f.height=void 0;f.fov=void 0;f.near=void 0;f.far=void 0;return f}Z(c,e);return c}(h);k.$q=b;
b.Mc("PerspectiveCamera");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Bf=1;f.Qf=1;f.mh=1;f.scale=1;f.kz=void 0;f.lz=void 0;return f}Z(c,e);return c}(h);k.cj=b;b.Wb("PixelScaleTransform");b=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.hA=b;b.Mc("PixelScaleTransform");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.renderOrder=null;return f}Z(c,e);return c}(h);k.Plane=b;b.Wb("Plane");b=function(e){function c(){var f=
null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.rt=b;b.Mc("Plane");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Ea=null;f.enabled=!0;return f}Z(c,e);return c}(h);k.$e=b;b.Wb("Pointer");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.aa=null;f.rotate=!0;f.Ea=null;return f}Z(c,e);return c}(h);k.Qj=b;b.Wb("PointerOverTransform");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=
null;return f}Z(c,e);return c}(h);k.ar=b;b.Mc("PointerOverTransform");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.st=b;b.Mc("PointerDragging");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.tt=b;b.Mc("PointerSelection");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.RH=null;f.canvas=null;f.antialias=!0;f.shadowMap=!1;f.renderer=
null;f.GP=[];return f}Z(c,e);return c}(h);k.rh=b;b.Wb("Renderer");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.cr=b;b.Mc("Renderer");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.opacity=1;f.locked=!1;f.enabled=!0;f.scene=null;f.je=null;f.backgroundColor=null;f.Kaa=null;f.wta=null;f.jua=null;f.hba=null;f.outputEncoding=null;f.Ea=null;return f}Z(c,e);return c}(h);k.Scene=b;b.Wb("Scene");b=function(e){function c(){var f=
null!==e&&e.apply(this,arguments)||this;f.scene=null;f.manager=null;return f}Z(c,e);return c}(h);k.er=b;b.Mc("Scene");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Ea=null;f.eQ=!1;f.Dv=!0;f.Uv=!1;f.Fo=!1;return f}Z(c,e);return c}(h);k.jd=b;b.Wb("Selectable");b=function(e){function c(){return null!==e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.iA=b;b.Mc("Selectable");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.color="#ffffff";f.opacity=
1;f.depthTest=!0;f.doubleSided=!1;return f}Z(c,e);return c}(h);k.Dc=b;b.Wb("SolidMaterial");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.vt=b;b.Mc("SolidMaterial");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.radius=1;f.widthSegments=32;f.heightSegments=16;f.renderOrder=0;return f}Z(c,e);return c}(h);k.Sphere=b;b.Wb("Sphere");b=function(e){function c(){return null!==e&&e.apply(this,arguments)||
this}Z(c,e);return c}(h);k.jA=b;b.Mc("Sphere");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.CH=.5;f.DH=.5;f.height=100;f.width=100;f.scale=1;f.lZa=null;f.renderOrder=0;return f}Z(c,e);return c}(h);k.Sprite=b;b.Wb("Sprite");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.fr=b;b.Mc("Sprite");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Bv=!1;f.positionX=0;f.positionY=0;
f.positionZ=0;f.Le=0;f.oe=0;f.Me=0;f.mg="XYZ";f.scale=1;f.Bf=1;f.Qf=1;f.mh=1;f.translationX=0;f.translationY=0;f.Ye=0;f.easing=0;f.Ea=null;return f}Z(c,e);return c}(h);k.ya=b;b.Wb("Transform");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Bv=!1;f.positionX=0;f.positionY=0;f.positionZ=0;f.Le=0;f.oe=0;f.Me=0;f.mg="XYZ";f.scale=1;f.Bf=1;f.Qf=1;f.mh=1;f.translationX=0;f.translationY=0;f.Ye=0;return f}Z(c,e);return c}(h);k.Gf=b;b.Mc("Transform");b=function(e){function c(){return null!==
e&&e.apply(this,arguments)||this}Z(c,e);return c}(h);k.lA=b;b.Mc("TransformEasing");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.Vb=null;f.aea=null;f.Ea=null;return f}Z(c,e);return c}(h);k.vn=b;b.Wb("VideoMaterial");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.manager=null;return f}Z(c,e);return c}(h);k.Dw=b;b.Mc("VideoMaterial");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.je=null;f.width=null;f.height=null;
return f}Z(c,e);return c}(h);k.Tj=b;b.Wb("Viewport");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.je=null;f.Vb=null;return f}Z(c,e);return c}(h);k.Ew=b;b.Wb("ViewportPlaneGeometry");b=function(e){function c(){var f=null!==e&&e.apply(this,arguments)||this;f.geometry=null;f.eza=void 0;f.bza=void 0;f.Eva=void 0;f.verticalAlign=void 0;f.jya=void 0;f.zIndex=void 0;return f}Z(c,e);return c}(h);k.xt=b;b.Mc("ViewportPlaneGeometry");b=function(e){function c(){var f=null!==e&&
e.apply(this,arguments)||this;f.Cxa=1;f.Mva=.5;f.color="#000000";f.opacity=.5;return f}Z(c,e);return c}(h);k.rE=b;b.Wb("VignetteEffect")})(m||(m={}));return m});define("ls",["require"],function(){function a(d,h){this.S=d;this.name=h;this.priority=0}a.prototype.Gd=function(){};return a});
define("cc",["require","ox","kK"],function(a){function d(k,b,g,e,c){this.m=k;this.$c=b;this.$f=g;this.Vj=e;this.Ba=c;this.fW()}var h=a("ox"),m=a("kK");d.prototype.getAnimations=function(){return this.$f};d.prototype.NO=function(){return this.Vj};d.prototype.frame=function(k){this.A==m.X&&(this.cs(this.uh.time+k/1E3),this.Ba())};d.prototype.dispose=function(){this.HW();this.Hw=this.vA=this.uh=this.Ba=this.Vj=this.$f=this.$c=this.m=null};d.prototype.fW=function(){this.uh=new THREE.AnimationMixer(this.$c);
this.qb=0;this.Gb=!1;this.vA=[];this.Hw=[];for(var k=0;k<this.$f.length;k++){var b=this.$f[k],g="alternate"==b.get("animationDirection"),e=this.qb;this.qb+=this.Vj[k].duration*(g?2:1);this.Hw.push({start:e,end:this.qb});e=this.uh.clipAction(this.Vj[k]);g?e.setLoop(THREE.LoopPingPong,2):e.setLoop(THREE.LoopOnce,1);this.vA.push(e);b.set("state",m.T);b.set("currentTime",0);b.set("duration",this.Vj[k].duration)}this.A=m.T;this.Sk=void 0;this.m.bind(h.G("state"),this.wf,this,!0);this.m.bind(h.G("currentTime"),
this.SB,this,!0);this.m.bind(h.G("animationDirection"),this.Fma,this,!0);this.m.set("duration",this.qb);this.cs(0);this.m.get("autoplay")&&this.m.set("state",m.X)};d.prototype.HW=function(){this.m.unbind(h.G("state"),this.wf,this,!0);this.m.unbind(h.G("currentTime"),this.SB,this,!0);this.m.unbind(h.G("animationDirection"),this.Fma,this,!0);this.m.set("state",m.T);for(var k=0;k<this.$f.length;k++)this.vA[k].stop(),this.uh.uncacheClip(this.Vj[k]),this.$f[k].set("state",m.T),this.$f[k].set("currentTime",
0);this.m.set("duration",void 0);this.m.set("currentTime",void 0)};d.prototype.Fma=function(){this.HW();this.fW()};d.prototype.wf=function(){var k=this.m.get("state");this.A!=k&&(this.A==m.T?k==m.Db?this.m.set("state",m.T):k==m.X&&(this.A=m.X,this.Gb=!1,this.cs(0),this.Ba()):this.A==m.X?k==m.T?(this.A=m.T,this.Gb&&"last"==this.m.get("finalFrame")?this.cs(this.qb):this.cs(0)):k==m.Db&&(this.A=m.Db):this.A==m.Db&&(k==m.X?(this.A=m.X,this.Ba()):k==m.T&&(this.A=m.T,this.cs(0))),void 0!==this.Sk&&this.$f[this.Sk].set("state",
this.A),this.m.set("state",this.A))};d.prototype.SB=function(){var k=this.m.get("currentTime");this.uh.time!=k&&(this.A!=m.T&&this.cs(k),this.m.set("currentTime",this.uh.time))};d.prototype.cs=function(k){if(this.uh.time!=k||void 0===this.Sk)if(k>this.qb)this.m.get("loop")?this.m.set("currentTime",k%this.qb):(this.Gb=!0,this.m.trigger(h.sb),this.m.set("state",m.T));else{for(var b=this.Sk||0;k>this.Hw[b].end;)b++;for(;k<this.Hw[b].start;)b--;if(this.Sk!==b){for(var g=this.Sk||0;g<b;g++){var e=this.$f[g],
c=this.vA[g],f=this.Hw[g];"last"==e.get("finalFrame")&&"normal"==e.get("animationDirection")?(c.reset(),c.startAt(f.start),e.set("currentTime",e.get("duration")),c.clampWhenFinished=!0,c.play()):(e.set("currentTime",0),c.stop(),c.clampWhenFinished=!1);e.set("state",m.T)}e=this.$f[b];c=this.vA[b];f=this.Hw[b];c.reset();c.startAt(f.start);c.clampWhenFinished="last"==e.get("finalFrame")&&"normal"==e.get("animationDirection");c.play();for(g=this.Sk||0;g>b;g--)e=this.$f[g],c=this.vA[g],e.set("currentTime",
0),c.stop();this.Sk=b}else c=this.vA[this.Sk],k<this.uh.time&&(c.reset(),c.startAt(this.Hw[this.Sk].start)),c.paused=!1;this.uh.update(k-this.uh.time);e=this.$f[this.Sk];e.set("state",this.A);k=this.uh.time-this.Hw[this.Sk].start;e=e.get("duration");b=k>e;this.$f[this.Sk].set("currentTime",b?2*e-k:k);this.$f[this.Sk].set("currentDirection",b?"backward":"forward");this.m.set("currentTime",this.uh.time);this.Ba()}};return d});
define("op",["require","ox","kK"],function(a){function d(k,b,g,e,c){this.m=k;this.$c=b;this.$f=g;this.Vj=e;this.Ba=c;this.d7=this.d7.bind(this);this.Y6=this.Y6.bind(this);this.fW()}var h=a("ox"),m=a("kK");d.prototype.dispose=function(){this.HW();this.Ba=this.Vj=this.$f=this.$c=this.m=null};d.prototype.getAnimations=function(){return this.$f};d.prototype.NO=function(){return this.Vj};d.prototype.frame=function(k){0<this.Dt.length&&(this.uh.update(k/1E3),this.Dt.forEach(function(b){this.Xga(b)}.bind(this)),
this.Ba())};d.prototype.fW=function(){this.uh=new THREE.AnimationMixer(this.$c);this.uh.addEventListener("loop",this.d7);this.uh.addEventListener("finished",this.Y6);this.kr=new Map;this.$Q=new Map;this.Dt=[];for(var k=0;k<this.$f.length;k++){var b=this.$f[k],g=this.Vj[k];this.$Q.set(b,g);var e=this.uh.clipAction(g);this.kr.set(b,e);b.set("duration",g.duration);b.set("currentTime",b.get("currentTime")||0);b.set("currentDirection","forward");b.bind(h.G("state"),this.tma,this,!0);b.bind(h.G("animationDirection"),
this.qma,this,!0);b.bind(h.G("currentTime"),this.pma,this,!0);b.bind(h.G("currentDirection"),this.oma,this,!0);b.bind(h.G("loop"),this.sma,this,!0);b.bind(h.G("finalFrame"),this.rma,this,!0);this.fH(b)}this.Ba()};d.prototype.HW=function(){for(var k=0;k<this.$f.length;k++){var b=this.$f[k];b.unbind(h.G("state"),this.tma,this,!0);b.unbind(h.G("animationDirection"),this.qma,this,!0);b.unbind(h.G("currentTime"),this.pma,this,!0);b.unbind(h.G("currentDirection"),this.oma,this,!0);b.unbind(h.G("loop"),
this.sma,this,!0);b.unbind(h.G("finalFrame"),this.rma,this,!0);this.kr.get(b).stop();this.kr["delete"](b);this.uh.uncacheClip(this.$Q.get(b));this.$Q["delete"](b);this.$f[k].set("state",m.T);this.$f[k].set("currentTime",0)}this.uh=this.$Q=this.kr=null};d.prototype.d7=function(k){this.kr.forEach(function(b,g){k.action==b&&g.get("loop")&&g.trigger(h.br)})};d.prototype.Y6=function(k){this.kr.forEach(function(b,g){k.action==b&&(this.Xga(g),g.set("state",m.T),"alternate"==g.get("animationDirection")&&
g.set("currentDirection","forward"==g.get("currentDirection")?"backward":"forward"),g.trigger(h.sb))}.bind(this))};d.prototype.qma=function(k){this.fH(k.source)};d.prototype.sma=function(k){this.fH(k.source)};d.prototype.rma=function(k){this.fH(k.source)};d.prototype.oma=function(k){var b=k.source,g=this.kr.get(b),e=g.time,c=b.get("duration");b.get("loop")||0==e||e==c||g.reset();this.fH(k.source)};d.prototype.pma=function(k){this.fH(k.source)};d.prototype.Xga=function(k){this.Vga=!0;var b=this.kr.get(k),
g="alternate"==k.get("animationDirection");g=0<b._loopCount&&1==b._loopCount%2&&g;k.set("currentDirection",g?"backward":"forward");b=b.time;var e=k.get("duration");g?k.set("currentTime",e-b):k.set("currentTime",b);this.Vga=!1};d.prototype.fH=function(k){if(!this.Vga){var b=this.kr.get(k),g="alternate"==k.get("animationDirection"),e="backward"==k.get("currentDirection")&&g,c=k.get("loop"),f="last"==k.get("finalFrame"),l=k.get("currentTime");k=k.get("duration");c?(b.loop=g?THREE.LoopPingPong:THREE.LoopRepeat,
b.repetitions=Infinity,b.clampWhenFinished=!1):e?(b.loop=THREE.LoopPingPong,b.repetitions=2,b.clampWhenFinished=!1):(b.loop=THREE.LoopOnce,b.repetitions=1,b.clampWhenFinished=f||g);g=g&&-1==b._loopCount?e?k+k-l:l:g&&1==b._loopCount%2?k-l:l;b.time!=g&&(b.time=g,b.paused&&b.enabled&&0==g&&b.stop());this.Ba()}};d.prototype.tma=function(k){this.YQa(k.source)};d.prototype.YQa=function(k){var b=this.kr.get(k),g=k.get("state");var e=0<=this.Dt.indexOf(k)?m.X:b.paused&&b.enabled&&b.time<k.get("duration")?
m.Db:m.T;e!=g&&(e==m.X?g==m.Db?(this.Dt.splice(this.Dt.indexOf(k),1),b.paused=!0):g==m.T&&(this.Dt.splice(this.Dt.indexOf(k),1),!b.paused&&b.enabled&&b.stop()):e==m.Db?g==m.X?(this.Dt.push(k),b.paused=!1):g==m.T&&b.stop():e==m.T&&(g==m.X?(this.Dt.push(k),b.paused&&b.enabled&&"alternate"==k.get("animationDirection")&&"backward"==k.get("currentDirection")?b.paused=!1:(b.reset(),b.play(),b.fadeIn(.1))):g==m.Db&&(g=m.T)),k.set("state",g),this.Ba())};return d});
define("three.mod",["require","exports"],function(){return window.THREE});
define("ck",["require","exports","fx","three.mod"],function(a,d,h,m){return function(){function k(){}k.Nb=function(b){return b?b.constructor==m.Object3D?b:(b=b.getComponent(h.Object3D))?b.Yc:null:null};k.getWorldPosition=function(b,g){g=g||new m.Vector3;b=this.Nb(b);if(!b)return null;g.setFromMatrixPosition(b.matrixWorld);return g};k.QP=function(b,g){(b=b.getComponent(h.Object3D))&&null!==b.Yc&&(b=b.Yc,b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!1,g.Bv&&b.parent?(b.parent.updateWorldMatrix(!0,
!1),b.matrix.copy(b.parent.matrixWorld).invert()):b.matrix.identity(),b.matrix.multiply(this.SY.makeTranslation(g.translationX,g.translationY,g.Ye)),b.matrix.multiply(this.SY.makeRotationFromEuler(this.FTa.set(g.Le*this.oE,g.oe*this.oE,g.Me*this.oE,g.mg))),b.matrix.multiply(this.SY.makeTranslation(g.positionX,g.positionY,g.positionZ)),b.matrix.multiply(this.SY.makeScale(g.scale*g.Bf,g.scale*g.Qf,g.scale*g.mh)),b.updateMatrixWorld(!0))};k.NO=function(b){if(!b)return null;b=b.getComponent(h.Dg);return(null===
b||void 0===b?void 0:b.Jba).animations};k.nba=function(b){return b.getComponent(h.OrthographicCamera)||b.getComponent(h.PerspectiveCamera)};k.$m=function(b){return this.cI(this.Nb(b))};k.cI=function(b){for(;b&&!b.isScene;)b=b.parent;return b};k.EYa=function(b,g){b.userData.camera=g};k.HYa=function(b,g,e){b.userData.width=g;b.userData.height=e};k.FYa=function(b,g){b.userData.encoding!==g&&(b.userData.encoding=g,this.Zda(b))};k.GYa=function(b,g){b.userData.zua!==g&&(b.userData.zua=g,this.Zda(b))};k.fz=
function(b){return b.userData.camera};k.Gba=function(b){return b.userData.width};k.UO=function(b){return b.userData.height};k.qY=function(b){return b.userData.encoding};k.LZ=function(b,g){b.userData.background!==g&&(b.userData.background=g,this.Zda(b))};k.Zda=function(b){if(b&&b.userData){var g=b.userData.background,e=b.userData.encoding,c=b.userData.zua;g&&g.isColor?b.background=e==m.sRGBEncoding&&c?g.clone().convertSRGBToLinear():g:(g&&g.isTexture&&(g.encoding=e==m.sRGBEncoding?m.sRGBEncoding:m.LinearEncoding),
b.background=g)}};k.BSa=function(b,g){var e=b.userData.Eda||(b.userData.Eda=[]);0<=e.indexOf(g)||(e.push(g),b.add(g),this.Vda(b))};k.Yxa=function(b,g){var e=b.userData.Eda;if(e){var c=e.indexOf(g);0>c||(e.splice(c,1),b.remove(g))}};k.Vda=function(b){var g=b.userData.Eda;if(g){var e=.99*-b.far;g.forEach(function(c){c.position.z=e})}};k.CSa=function(b,g){var e=b.userData.Dda||(b.userData.Dda=[]);0<=e.indexOf(g)||(e.push(g),b.add(g),this.Rza(b))};k.UWa=function(b,g){var e=b.userData.Dda;if(e){var c=
e.indexOf(g);0>c||(e.splice(c,1),b.remove(g))}};k.Rza=function(b){var g=b.userData.Dda;if(g){var e=.99*b.far;g.forEach(function(c){c.scale.x=c.scale.y=c.scale.z=e})}};k.Av=function(b,g){if(b.material!=g&&b.userData.tP!=g){var e=b.userData.QY;this.fya(b);b.material=g;e&&this.gba(b);b.needsUpdate=!0}};k.gba=function(b){b.userData.QY||(b.userData.QY=!0,b.userData.tP=b.material,b.material=this.hTa(b.material))};k.fya=function(b){b.userData.QY&&(this.ATa(b.material),b.material=b.userData.tP,delete b.userData.tP,
delete b.userData.QY)};k.hTa=function(b){return Array.isArray(b)?b.map(function(g){return g.clone()}):b?b.clone():b};k.ATa=function(b){Array.isArray(b)?b.forEach(function(g){g.dispose()}):b&&b.dispose()};k.dI=function(b){if((b=this.Nb(b))&&b.parent){var g=this.cI(b);if(g){var e=this.fz(g);if(e)return b.matrixWorld.decompose(this.objectPosition,this.aWa,this.nP),this.objectPosition.applyMatrix4(e.matrixWorldInverse),this.nP.setFromMatrixScale(b.parent.matrixWorld),2*Math.abs(this.objectPosition.z)*
Math.tan(e.fov*this.oE/2)/(this.UO(g)*Math.max(this.nP.x,this.nP.y,this.nP.z))}}};k.bz=function(b,g){if(b.userData.id===g)return b;var e=null;if(b.children)for(var c=0;c<b.children.length&&!e;c++)e=this.bz(b.children[c],g);if(!e&&b.skeleton)for(c=0;c<b.skeleton.bones.length&&!e;c++)e=this.bz(b.skeleton.bones[c],g);return e};k.Gua=function(){this.eba||(this.eba=new m.WebGLRenderer);return this.eba};k.SY=new m.Matrix4;k.FTa=new m.Euler;k.objectPosition=new m.Vector3;k.aWa=new m.Quaternion;k.nP=new m.Vector3;
k.oE=Math.PI/180;k.eba=null;return k}()});
define("C","require ku kK fx be cc op ck".split(" "),function(a){function d(l){this.o=l;this.Vj=this.$c=null;this.aR={};this.jS=new Map;this.Jr=this.Tk=this.m=null;this.Yf=!1;this.DL=this.DL.bind(this);this.update()}function h(l,p){if(l==p||!(null!=l&&0!=l.length||null!=p&&0!=p.length))return!0;if(null==l||null==p||l.length!=p.length)return!1;for(var q=0;q<l.length;q++)if(l[q]!=p[q])return!1;return!0}var m=a("ku"),k=a("kK"),b=a("fx"),g=a("be"),e=a("cc"),c=a("op"),f=a("ck");d.prototype.update=function(){var l=
this.o.getComponent(b.Animation);this.zl(l&&l.Vb)};d.prototype.frame=function(l,p){this.nH();this.Yf&&(this.Yf=!1,this.Tk&&this.Tk.frame(l,p),this.Jr&&this.Jr.frame(l,p))};d.prototype.dispose=function(){this.zl(null)};d.prototype.zl=function(l){this.m!=l&&(this.m&&(m.ca(this.m,["animations.autoplay"],this.DL),this.xNa()),(this.m=l)&&m.ZC(this.m,["animations.autoplay"],this.DL),this.DL())};d.prototype.DL=function(){this.asa()};d.prototype.nH=function(){if(!this.$c){var l=f.Nb(this.o),p=f.NO(this.o);
if(this.$c!=l||this.Vj!=p)this.$c=l,this.Vj=p,this.aR={},this.Vj.forEach(function(q){q.name&&(this.aR[q.name]=q)}.bind(this)),this.asa()}};d.prototype.asa=function(){var l=this.m&&this.m.get("animations")||[],p=this.Vj||[],q=p.slice(),n=[],r=[],u=[],t=[];l.length&&p.length&&l.forEach(function(v){var w=v.get("index"),x=v.get("name"),y;void 0!==w&&w<p.length?y=p[w]:void 0!==x&&x in this.aR&&(y=this.aR[x]);0<=q.indexOf(y)&&(q.splice(q.indexOf(y),1),v.get("autoplay")?(n.push(y),r.push(v)):(u.push(y),
t.push(v)))}.bind(this));this.m&&0==r.length&&0<q.length&&(r=q.map(function(v){if(this.jS.has(v))return this.jS.get(v);var w=new g;this.jS.set(v,w);return w}.bind(this)),n=q);h(this.Tk&&this.Tk.getAnimations()||[],r)&&h(this.Tk&&this.Tk.NO()||[],n)||(this.Tk&&(this.Tk.dispose(),this.Tk=null),0<r.length&&(this.Tk=new e(this.m,this.$c,r,n,this.Ba.bind(this))));h(this.Jr&&this.Jr.getAnimations()||[],t)&&h(this.Jr&&this.Jr.NO()||[],u)||(this.Jr&&(this.Jr.dispose(),this.Jr=null),0<t.length&&(this.Jr=new c(this.m,
this.$c,t,u,this.Ba.bind(this))))};d.prototype.xNa=function(){(this.m&&this.m.get("animations")||[]).forEach(function(l){l.set("state",k.T);l.set("currentTime",0)});this.jS.clear()};d.prototype.Ba=function(){this.Yf||(this.Yf=!0,this.o.S.$a())};d.Ob=function(l){l.H(b.Xs).manager=new d(l)};d.eb=function(l){var p=l.getComponent(b.Xs);p.manager.dispose();p.manager=null;l.na(b.Xs)};d.update=function(l){l.getComponent(b.Xs).manager.update()};d.frame=function(l,p,q){l.getComponent(b.Xs).manager.frame(p,
q)};return d});
define("mS",["require","li","ls","fx","C"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("C");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(b,g){this.ota.C.length&&this.ota.C.slice().forEach(k.Ob);this.animations.Ya.length&&this.animations.Ya.slice().forEach(function(e){k.update(e,b,g)});this.animations.C.length&&this.animations.C.slice().forEach(function(e){k.frame(e,b,g)});this.pta.C.length&&this.pta.C.slice().forEach(k.eb)};a.J={};a.J.ota=[m.Animation,m.Xs.not];
a.J.pta=[m.Animation.not,m.Xs];a.J.animations=[m.Animation,m.Xs];return a});
define("eX",["require"],function(){function a(v,w,x,y,A){for(var B,z=0,C=w,G=x-y;C<x;C+=y)z+=(v[G]-v[C])*(v[C+1]+v[G+1]),G=C;if(A===0<z)for(A=w;A<x;A+=y)B=r(A,v[A],v[A+1],B);else for(A=x-y;A>=w;A-=y)B=r(A,v[A],v[A+1],B);B&&c(B,B.next)&&(u(B),B=B.next);return B}function d(v,w){if(!v)return v;w||(w=v);do{var x=!1;if(v.rza||!c(v,v.next)&&0!==e(v.prev,v,v.next))v=v.next;else{u(v);v=w=v.prev;if(v===v.next)break;x=!0}}while(x||v!==w);return w}function h(v,w,x,y,A,B,z){if(v){if(!z&&B){var C=v,G=C;do 0===
G.z&&(G.z=b(G.x,G.y,y,A,B)),G.Gq=G.prev,G=G.Pl=G.next;while(G!==C);G.Gq.Pl=null;G.Gq=null;C=G;var D,E,H,R,S=1;do{G=C;var Q=C=null;for(E=0;G;){E++;var M=G;for(D=H=0;D<S&&(H++,M=M.Pl,M);D++);for(R=S;0<H||0<R&&M;)0!==H&&(0===R||!M||G.z<=M.z)?(D=G,G=G.Pl,H--):(D=M,M=M.Pl,R--),Q?Q.Pl=D:C=D,D.Gq=Q,Q=D;G=M}Q.Pl=null;S*=2}while(1<E)}for(C=v;v.prev!==v.next;){G=v.prev;M=v.next;if(B)Q=m(v,y,A,B);else a:{var W=v;Q=W.prev;R=W.next;if(0<=e(Q,W,R))Q=!1;else{E=Q.x;H=W.x;S=R.x;D=Q.y;W=W.y;var I=R.y,P=E<H?E<S?E:S:
H<S?H:S,U=D<W?D<I?D:I:W<I?W:I,N=E>H?E>S?E:S:H>S?H:S,V=D>W?D>I?D:I:W>I?W:I;for(R=R.next;R!==Q;){if(R.x>=P&&R.x<=N&&R.y>=U&&R.y<=V&&g(E,D,H,W,S,I,R.x,R.y)&&0<=e(R.prev,R,R.next)){Q=!1;break a}R=R.next}Q=!0}}if(Q)w.push(G.yg/x|0),w.push(v.yg/x|0),w.push(M.yg/x|0),u(v),C=v=M.next;else if(v=M,v===C){if(z)if(1===z){v=d(v);z=w;C=x;G=v;do M=G.prev,Q=G.next.next,!c(M,Q)&&f(M,G,G.next,Q)&&q(M,Q)&&q(Q,M)&&(z.push(M.yg/C|0),z.push(G.yg/C|0),z.push(Q.yg/C|0),u(G),u(G.next),G=v=Q),G=G.next;while(G!==v);v=d(G);
h(v,w,x,y,A,B,2)}else{if(2===z)a:{z=v;do{for(C=z.next.next;C!==z.prev;){if(G=z.yg!==C.yg){G=z;M=C;if(Q=G.next.yg!==M.yg&&G.prev.yg!==M.yg){b:{Q=G;do{if(Q.yg!==G.yg&&Q.next.yg!==G.yg&&Q.yg!==M.yg&&Q.next.yg!==M.yg&&f(Q,Q.next,G,M)){Q=!0;break b}Q=Q.next}while(Q!==G);Q=!1}Q=!Q}if(Q){if(Q=q(G,M)&&q(M,G)){Q=G;E=!1;H=(G.x+M.x)/2;S=(G.y+M.y)/2;do Q.y>S!==Q.next.y>S&&Q.next.y!==Q.y&&H<(Q.next.x-Q.x)*(S-Q.y)/(Q.next.y-Q.y)+Q.x&&(E=!E),Q=Q.next;while(Q!==G);Q=E}Q=Q&&(e(G.prev,G,M.prev)||e(G,M.prev,M))||c(G,
M)&&0<e(G.prev,G,G.next)&&0<e(M.prev,M,M.next)}G=Q}if(G){v=n(z,C);z=d(z,z.next);v=d(v,v.next);h(z,w,x,y,A,B,0);h(v,w,x,y,A,B,0);break a}C=C.next}z=z.next}while(z!==v)}}else h(d(v),w,x,y,A,B,1);break}}}}function m(v,w,x,y){var A=v.prev,B=v.next;if(0<=e(A,v,B))return!1;var z=A.x,C=v.x,G=B.x,D=A.y,E=v.y,H=B.y,R=z<C?z<G?z:G:C<G?C:G,S=D<E?D<H?D:H:E<H?E:H,Q=z>C?z>G?z:G:C>G?C:G,M=D>E?D>H?D:H:E>H?E:H,W=b(R,S,w,x,y);w=b(Q,M,w,x,y);x=v.Gq;for(v=v.Pl;x&&x.z>=W&&v&&v.z<=w;){if(x.x>=R&&x.x<=Q&&x.y>=S&&x.y<=M&&
x!==A&&x!==B&&g(z,D,C,E,G,H,x.x,x.y)&&0<=e(x.prev,x,x.next))return!1;x=x.Gq;if(v.x>=R&&v.x<=Q&&v.y>=S&&v.y<=M&&v!==A&&v!==B&&g(z,D,C,E,G,H,v.x,v.y)&&0<=e(v.prev,v,v.next))return!1;v=v.Pl}for(;x&&x.z>=W;){if(x.x>=R&&x.x<=Q&&x.y>=S&&x.y<=M&&x!==A&&x!==B&&g(z,D,C,E,G,H,x.x,x.y)&&0<=e(x.prev,x,x.next))return!1;x=x.Gq}for(;v&&v.z<=w;){if(v.x>=R&&v.x<=Q&&v.y>=S&&v.y<=M&&v!==A&&v!==B&&g(z,D,C,E,G,H,v.x,v.y)&&0<=e(v.prev,v,v.next))return!1;v=v.Pl}return!0}function k(v,w){return v.x-w.x}function b(v,w,x,y,
A){v=(v-x)*A|0;w=(w-y)*A|0;v=(v|v<<8)&16711935;v=(v|v<<4)&252645135;v=(v|v<<2)&858993459;w=(w|w<<8)&16711935;w=(w|w<<4)&252645135;w=(w|w<<2)&858993459;return(v|v<<1)&1431655765|((w|w<<1)&1431655765)<<1}function g(v,w,x,y,A,B,z,C){return(A-z)*(w-C)>=(v-z)*(B-C)&&(v-z)*(y-C)>=(x-z)*(w-C)&&(x-z)*(B-C)>=(A-z)*(y-C)}function e(v,w,x){return(w.y-v.y)*(x.x-w.x)-(w.x-v.x)*(x.y-w.y)}function c(v,w){return v.x===w.x&&v.y===w.y}function f(v,w,x,y){var A=p(e(v,w,x)),B=p(e(v,w,y)),z=p(e(x,y,v)),C=p(e(x,y,w));
return A!==B&&z!==C||0===A&&l(v,x,w)||0===B&&l(v,y,w)||0===z&&l(x,v,y)||0===C&&l(x,w,y)?!0:!1}function l(v,w,x){return w.x<=Math.max(v.x,x.x)&&w.x>=Math.min(v.x,x.x)&&w.y<=Math.max(v.y,x.y)&&w.y>=Math.min(v.y,x.y)}function p(v){return 0<v?1:0>v?-1:0}function q(v,w){return 0>e(v.prev,v,v.next)?0<=e(v,w,v.next)&&0<=e(v,v.prev,w):0>e(v,w,v.prev)||0>e(v,v.next,w)}function n(v,w){var x=new t(v.yg,v.x,v.y),y=new t(w.yg,w.x,w.y),A=v.next,B=w.prev;v.next=w;w.prev=v;x.next=A;A.prev=x;y.next=x;x.prev=y;B.next=
y;y.prev=B;return y}function r(v,w,x,y){v=new t(v,w,x);y?(v.next=y.next,v.prev=y,y.next.prev=v,y.next=v):(v.prev=v,v.next=v);return v}function u(v){v.next.prev=v.prev;v.prev.next=v.next;v.Gq&&(v.Gq.Pl=v.Pl);v.Pl&&(v.Pl.Gq=v.Gq)}function t(v,w,x){this.yg=v;this.x=w;this.y=x;this.next=this.prev=null;this.z=0;this.Pl=this.Gq=null;this.rza=!1}return function(v,w,x){x=x||2;var y=w&&w.length,A=y?w[0]*x:v.length,B=a(v,0,A,x,!0),z=[];if(!B||B.next===B.prev)return z;var C;if(y){var G=B;var D=x;B=[];var E;
y=0;for(E=w.length;y<E;y++){var H=w[y]*D;var R=y<E-1?w[y+1]*D:v.length;H=a(v,H,R,D,!1);H===H.next&&(H.rza=!0);R=B;var S=R.push,Q=H,M=H;do{if(Q.x<M.x||Q.x===M.x&&Q.y<M.y)M=Q;Q=Q.next}while(Q!==H);S.call(R,M)}B.sort(k);for(y=0;y<B.length;y++){D=void 0;w=B[y];b:{E=G;H=w.x;R=w.y;S=-Infinity;do{if(R<=E.y&&R>=E.next.y&&E.next.y!==E.y&&(Q=E.x+(R-E.y)*(E.next.x-E.x)/(E.next.y-E.y),Q<=H&&Q>S&&(S=Q,D=E.x<E.next.x?E:E.next,Q===H)))break b;E=E.next}while(E!==G);if(D){M=D;var W=D.x,I=D.y,P=Infinity;E=D;do{if(H>=
E.x&&E.x>=W&&H!==E.x&&g(R<I?H:S,R,W,I,R<I?S:H,R,E.x,E.y)){Q=Math.abs(R-E.y)/(H-E.x);var U;if((U=q(E,w))&&!(U=Q<P)&&(U=Q===P)&&!(U=E.x>D.x)&&(U=E.x===D.x)){U=D;var N=E;U=0>e(U.prev,U,N.prev)&&0>e(N.next,U,U.next)}U&&(D=E,P=Q)}E=E.next}while(E!==M)}else D=null}D&&(w=n(D,w),d(w,w.next),G=d(D,D.next))}B=G}if(v.length>80*x){var V=C=v[0];var Y=y=v[1];for(G=x;G<A;G+=x)w=v[G],D=v[G+1],w<V&&(V=w),D<Y&&(Y=D),w>C&&(C=w),D>y&&(y=D);C=Math.max(C-V,y-Y);C=0!==C?32767/C:0}h(B,z,x,V,Y,C,0);return z}});
define("o","require li ox eX ls fx ck".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("eX"),k=a("ls"),b=a("fx"),g=a("ck");a=d.extend(k,function(){k.apply(this,arguments);this.qf=this.qf.bind(this);this.Rf=this.Rf.bind(this);this.yd=this.yd.bind(this);this.YZ=this.YZ.bind(this)});a.prototype.Gd=function(){this.rta.C.length&&this.rta.C.slice().forEach(this.qf);this.qta.Ya.length&&this.MZa(this.qta.Ya.slice());this.areas.Ya.length&&this.areas.Ya.slice().forEach(this.Rf);this.sta.C.length&&this.sta.C.slice().forEach(this.yd);
this.tta.C.length&&this.tta.C.slice().forEach(this.yd)};a.prototype.qf=function(E){E.H(b.jw);this.Rf(E)};a.prototype.Rf=function(E){this.OZa(E);this.Vza(E)};a.prototype.MZa=function(E){var H=[];E.forEach(function(R){R.getComponent(b.Fz).DX.forEach(function(S){-1===H.indexOf(S)&&H.push(S)})});H.forEach(this.YZ)};a.prototype.OZa=function(E){this.QZa(E);this.YZ(E)};a.prototype.QZa=function(E){var H=E.getComponent(b.Vl),R=H&&H.C||[],S=(H=E.getComponent(b.jw))&&H.C||[];S.forEach(function(Q){if(-1===R.indexOf(Q)){var M=
Q.getComponent(b.Fz).DX.filter(function(W){return W!==W});0==M.length?Q.na(b.Fz):Q.K(b.Fz).DX=M}});R.forEach(function(Q){-1===S.indexOf(Q)&&Q.K(b.Fz,!0).DX.push(E)})};var e=new THREE.Matrix4,c=[];a.prototype.YZ=function(E){var H=E.getComponent(b.Vl);for(H=H&&H.C||[];c.length<H.length;)c.push(new THREE.Vector3);var R=H.map(function(I,P){return I.getComponent(b.Object3D).Yc.getWorldPosition(c[P])});R=R.filter(function(I,P){return 1E-4<I.distanceTo(R[(P+1)%R.length])});H=this.HUa(R);if(0===H.length)this.Mia(E),
this.Fra(E);else{this.zOa(E,3*H.length);this.RZa(E,c,H);e.copy(E.getComponent(b.Object3D).Yc.matrixWorld).invert();c.forEach(function(I){I.applyMatrix4(e)});E=E.getComponent(b.Geometry);for(var S=E.geometry.attributes.position.array,Q=0,M=0;Q<H.length;){var W=c[H[Q++]];S[M++]=W.x;S[M++]=W.y;S[M++]=W.z;W=c[H[Q++]];S[M++]=W.x;S[M++]=W.y;S[M++]=W.z;W=c[H[Q++]];S[M++]=W.x;S[M++]=W.y;S[M++]=W.z}E.geometry.attributes.position.needsUpdate=!0}};var f=new THREE.Plane,l=new THREE.Vector3,p=new THREE.Vector3,
q=new THREE.Vector3,n=new THREE.Line3,r=new THREE.Vector3,u=new THREE.Vector3,t=new THREE.Vector3,v=new THREE.Vector3,w=new THREE.Vector3,x=5*Math.PI/180;a.prototype.HUa=function(E){if(3>E.length)return[];var H=E[0];for(var R=Number.NEGATIVE_INFINITY,S=1;S<E.length;++S){var Q=H.distanceToSquared(E[S]);if(!(Q<=R)){R=Q;var M=E[S]}}if(0>=R)return[];n.set(H,M);R=Number.NEGATIVE_INFINITY;for(S=0;S<E.length;++S)if(Q=n.closestPointToPoint(E[S],!0,r).distanceToSquared(E[S]),!(Q<=R)){R=Q;var W=E[S]}if(0>=
R)return[];f.setFromCoplanarPoints(H,M,W);for(S=0;S<E.length;++S)if(R=E[S],R!==H&&R!==M&&R!==W){u.copy(H).sub(R).normalize();t.copy(M).sub(R).normalize();v.copy(W).sub(R).normalize();R=u.dot(t);Q=u.dot(v);var I=t.dot(v);R<Q&&R<I?w.copy(u).cross(t):Q<I?w.copy(u).cross(v):w.copy(t).cross(v);w.normalize();R=Math.abs(Math.acos(w.dot(f.normal)));R>.5*Math.PI&&(R=Math.PI-R);if(R>x)return[]}p.copy(E[1]).sub(E[0]).normalize();q.copy(f.normal).cross(p).normalize();H=[];for(S=0;S<E.length;++S)f.projectPoint(E[S],
l),H.push(l.dot(p),l.dot(q));return m(H,null,2)};var y=new THREE.Vector3,A=new THREE.Vector3,B=new THREE.Vector3,z=new THREE.Vector3,C=new THREE.Vector3,G=new THREE.Vector3,D=new THREE.Vector3;a.prototype.RZa=function(E,H,R){var S=0;y.set(0,0,0);for(var Q=0;Q<R.length;){B.copy(H[R[Q++]]);z.copy(H[R[Q++]]);C.copy(H[R[Q++]]);A.copy(B).add(z).add(C).divideScalar(3);var M=.5*D.subVectors(C,B).cross(G.subVectors(z,B)).length();A.multiplyScalar(M);y.add(A);S+=M}y.divideScalar(S);H=E.K(b.ya,!0);H.positionX=
y.x;H.positionY=y.y;H.positionZ=y.z;g.QP(E,H);this.Fra(E,S)};a.prototype.Fra=function(E,H){(E=(E=E.K(b.Vl))&&E.Ea)&&E.trigger(h.ta,{area:H})};a.prototype.Vza=function(E){var H=E.getComponent(b.Object3D);if(H=H&&H.Yc){var R=E.getComponent(b.Material).material;R&&g.Av(H,R);H.renderOrder=E.getComponent(b.Vl).renderOrder}};a.prototype.Mia=function(E){var H=E.getComponent(b.Geometry);H&&(H.geometry&&H.geometry.dispose(),E.na(b.Geometry),E.getComponent(b.Object3D).Yc.geometry=null);if(H=E.getComponent(b.Object3D))H.Yc&&
H.Yc.parent&&H.Yc.parent.remove(H.Yc),E.na(b.Object3D)};a.prototype.zOa=function(E,H){var R=E.getComponent(b.Geometry);R&&R.geometry&&R.geometry.attributes.position.array.length===3*H||(R=E.K(b.Geometry,!0),R.geometry&&R.geometry.dispose(),R.geometry=this.pFa(H),H=E.getComponent(b.Object3D),H||(H=E.H(b.Object3D),H.Yc=new THREE.Mesh,this.Vza(E)),H.Yc.geometry=R.geometry)};a.prototype.pFa=function(E){var H=new THREE.BufferGeometry,R=H.setAttribute,S=THREE.Float32BufferAttribute;E*=3;for(var Q=[],M=
0;M<E;M++)Q.push(0);R.call(H,"position",new S(Q,3));return H};a.prototype.yd=function(E){this.Mia(E);E.na(b.jw);E.na(b.Object3D)};a.J={};a.J.rta=[b.Material,b.Vl,b.jw.not];a.J.qta=[b.Object3D,b.ya,b.Fz];a.J.areas=[b.Vl,b.Material,b.jw];a.J.sta=[b.Vl.not,b.jw];a.J.tta=[b.Material.not,b.jw];return a});
define("mM","require li ox ls fx ck".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("ls"),k=a("fx"),b=a("ck");a=d.extend(m,function(){m.apply(this,arguments);this.yda=this.yda.bind(this);this.SZ=this.SZ.bind(this);this.xda=this.xda.bind(this);this.RZ=this.RZ.bind(this);this.FX=new Map;this.Qwa=new Map;this.EX=new Map;this.Rwa=new Map});a.prototype.Gd=function(){this.xta.C.length&&this.xta.C.slice().forEach(this.yda);this.yta.C.length&&this.yta.C.slice().forEach(this.SZ);this.zta.C.length&&this.zta.C.slice().forEach(this.SZ);
this.Ata.C.length&&this.Ata.C.slice().forEach(this.xda);this.Bta.C.length&&this.Bta.C.slice().forEach(this.RZ);this.Cta.C.length&&this.Cta.C.slice().forEach(this.RZ);this.frame()};a.J={};a.J.xta=[k.Object3D,k.Sq,k.$s.not];a.J.NSa=[k.Object3D,k.Sq,k.$s];a.J.yta=[k.Object3D.not,k.$s];a.J.zta=[k.Sq.not,k.$s];a.J.Ata=[k.Object3D,k.mw,k.nw.not];a.J.Bta=[k.Object3D.not,k.nw];a.J.Cta=[k.mw.not,k.nw];a.prototype.frame=function(){0!=this.NSa.C.length&&this.EX.forEach(function(g,e){var c=this.FX.get(e)||[];
c.forEach(function(f){var l=f.getComponent(k.Object3D).Yc;f.getComponent(k.nw).position.set(0,0,0).applyMatrix4(l.matrixWorld)});g.forEach(function(f){var l=f.getComponent(k.Object3D).Yc;f.getComponent(k.$s).position.set(0,0,0).applyMatrix4(l.matrixWorld)});g.forEach(function(f){var l=f.getComponent(k.$s).position;f=f.getComponent(k.Sq).Ea;var p=c.map(function(q){return{entity:q,distance:l.distanceTo(q.getComponent(k.nw).position)}});p.sort(function(q,n){return q.distance-n.distance});f.trigger(h.ta,
{beacons:p})})}.bind(this))};a.prototype.yda=function(g){g.H(k.$s).position=new THREE.Vector3;this.Rwa.set(g,b.Nb(g));var e=this.EX.get(g.S);e||this.EX.set(g.S,e=[]);0>e.indexOf(g)&&e.push(g)};a.prototype.SZ=function(g){var e=this.EX.get(g.S),c=e.indexOf(g);0<=c&&e.splice(c,1);this.Rwa["delete"](g);g.na(k.$s)};a.prototype.xda=function(g){g.H(k.nw).position=new THREE.Vector3;this.Qwa.set(g,b.Nb(g));var e=this.FX.get(g.S);e||this.FX.set(g.S,e=[]);0>e.indexOf(g)&&e.push(g)};a.prototype.RZ=function(g){var e=
this.FX.get(g.S),c=e.indexOf(g);0<=c&&e.splice(c,1);this.Qwa["delete"](g);g.na(k.nw)};return a});define("kL",["require","exports"],function(){return function(){function a(){}a.Jl=function(d,h,m){return this.bD(d,h,m)};a.Oq=function(d,h,m){return this.bD(d,m,h)};a.bD=function(d,h,m){return 2*Math.atan(m*Math.tan(d*this.oE*.5)/h)*this.UBa};a.UBa=180/Math.PI;a.oE=Math.PI/180;return a}()});
define("hO","require li ls fx kL ck".split(" "),function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("kL"),b=a("ck");a=d.extend(h,function(){h.apply(this,arguments);this.zda=this.zda.bind(this);this.Ada=this.Ada.bind(this);this.ZZ=this.ZZ.bind(this);this.$Z=this.$Z.bind(this);this.Jda=this.Jda.bind(this);this.Kda=this.Kda.bind(this)});a.prototype.Gd=function(){this.Axa.C.length&&this.Axa.C.slice().forEach(this.zda);this.Exa.C.length&&this.Exa.C.slice().forEach(this.Ada);this.AD.Ya.length&&this.AD.Ya.slice().forEach(this.ZZ);
this.Os.Ya.length&&this.Os.Ya.slice().forEach(this.$Z);this.Bxa.C.length&&this.Bxa.C.slice().forEach(this.Jda);this.Fxa.C.length&&this.Fxa.C.slice().forEach(this.Kda)};a.prototype.zda=function(l){var p=l.K(m.OrthographicCamera),q=l.H(m.Aw);l.H(m.Object3D).Yc=q.camera=p.camera=new THREE.OrthographicCamera;this.ZZ(l)};a.prototype.Ada=function(l){var p=l.K(m.PerspectiveCamera),q=l.H(m.$q);q.boundingBox=new THREE.Box3;q.oZ=!0;l.H(m.Object3D).Yc=q.camera=p.camera=new THREE.PerspectiveCamera;this.$Z(l)};
a.prototype.ZZ=function(l){var p=l.getComponent(m.OrthographicCamera);l=l.getComponent(m.Aw);l.width=p.width;l.height=p.height;l=l.camera;l.left=-.5*p.width;l.right=.5*p.width;l.top=.5*p.height;l.bottom=-.5*p.height;l.updateProjectionMatrix()};a.prototype.$Z=function(l){var p=l.getComponent(m.PerspectiveCamera);l=l.getComponent(m.$q);l.width=p.width;l.height=p.height;l.fov=p.fov;l.near=p.near;l.far=p.far;l=l.camera;l.aspect=p.width/p.height;l.fov=p.width>p.height?k.Jl(p.fov,p.width,p.height):p.fov;
l.near=p.near;l.far=p.far;b.Vda(l);l.updateProjectionMatrix()};a.prototype.Jda=function(l){var p=l.getComponent(m.Aw);p.camera.parent&&p.camera.parent.remove(p.camera);p.camera=null;l.na(m.Aw);l.na(m.Object3D)};a.prototype.Kda=function(l){var p=l.getComponent(m.$q);p.camera.parent&&p.camera.parent.remove(p.camera);p.camera=null;l.na(m.$q);l.na(m.Object3D)};a.J={};a.J.Axa=[m.OrthographicCamera,m.Aw.not];a.J.Bxa=[m.OrthographicCamera.not,m.Aw];a.J.Exa=[m.PerspectiveCamera,m.$q.not];a.J.Fxa=[m.PerspectiveCamera.not,
m.$q];a.J.AD=[m.OrthographicCamera,m.Aw];a.J.Os=[m.PerspectiveCamera,m.$q];a.YD=d.extend(h,function(){h.apply(this,arguments);this.vca=this.vca.bind(this)});a.YD.prototype.Gd=function(){this.Os.C.length&&this.Os.C.slice().forEach(this.vca)};a.YD.prototype.vca=function(l){var p=l.getComponent(m.PerspectiveCamera);if(p.uta){var q=l.getComponent(m.$q),n=q.scene||b.$m(l),r=q.camera;if(n&&r){var u=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,v=!1;q.oZ&&(q.boundingBox=this.B2(n,q.boundingBox),q.oZ=
!1,v=!0);n=q.boundingBox;n=[[n.min.x,n.max.x],[n.min.y,n.max.y],[n.min.z,n.max.z]];for(var w=0;2>w;w++)for(var x=0;2>x;x++)for(var y=0;2>y;y++)f.set(n[0][w],n[1][x],n[2][y]).applyMatrix4(r.matrixWorldInverse),-f.z>t&&(t=-f.z),-f.z<u&&(u=-f.z);n=Math.max(p.vta||0,0);w=.5*(u+t);u+=(u-w)*n;t+=(t-w)*n;t=Infinity==t||isNaN(t)?2E3:t;u=0<u?u:20<t?.1:.01;if(Math.abs(p.near-u)>e||Math.abs(p.far-t)>e)r.far=q.far=p.far=t,r.near=q.near=p.near=u,b.Vda(r),b.Rza(r),r.updateProjectionMatrix();v||q.Qaa||(q.Qaa=setTimeout(function(){q.Qaa=
null;q.oZ=!0;l.S&&l.S.$a()},g))}}};a.YD.prototype.B2=function(l,p){p||(p=new THREE.Box3);p.makeEmpty();l.traverse(function(q){if(q.geometry&&!q.isSprite&&(!q.material||q.material.visible)){q.updateWorldMatrix(!1,!1);var n=q.geometry;null===n.boundingBox&&n.computeBoundingBox();c.copy(n.boundingBox);c.applyMatrix4(q.matrixWorld);p.union(c)}});return p};var g=500,e=1E-4,c=new THREE.Box3,f=new THREE.Vector3;a.YD.J={};a.YD.J.Os=[m.PerspectiveCamera,m.$q];return a});
define("bm",["require","exports"],function(){var a={Sj:38,zi:40,hb:39,Oa:37,xfa:32,mn:65,NQ:90,yt:87,ut:83,bt:68,Q:81,E:69,pea:27,qa:{}};a.qa.Sj="ArrowUp";a.qa.zi="ArrowDown";a.qa.hb="ArrowRight";a.qa.Oa="ArrowLeft";a.qa.mn="KeyA";a.qa.NQ="KeyZ";a.qa.yt="KeyW";a.qa.ut="KeyS";a.qa.bt="KeyD";a.qa.Q="KeyQ";a.qa.E="KeyE";a.qa.pea="Escape";a.qa.xfa="Space";return a});
define("kW",["require"],function(){return{K_a:function(){},L_a:function(){},kT:function(){return this.Ue&&this.Ue.bwa()||this.m&&!this.m.get("keyboardEnabled")?!0:!1},Hn:function(){return this.Ue&&this.Ue.bwa()||this.m&&(!this.m.get("mouseEnabled")||this.m.get("mouseDisabled"))?!0:!1},ala:function(){return this.m&&this.m.get("doubleClickDisabled")?!0:!1},Sma:function(){this.IF()||this.hu||this.Msa()},Rma:function(){this.IF()||this.hu||this.Lsa()},hG:function(){this.cla()||this.Msa()},gG:function(){this.cla()||
this.Lsa()},Msa:function(){this.Ue&&this.Ue.Bz();this.m&&this.m.set("userInteracting",!0)},Lsa:function(){this.Ue&&this.Ue.$da();this.m&&this.m.set("userInteracting",!1)}}});
define("f",["require","exports","ck","three.mod"],function(a,d,h,m){return function(){function k(b){this.matrixWorld=new m.Matrix4;this.oca=!1;this.timeout=null;this.aa=b}k.prototype.pda=function(b){if(this.II!=b||"moving"!=this.propertyName)this.II&&this.II.set(this.propertyName,!1),this.II=b,this.propertyName="moving",this.II&&this.II.set(this.propertyName,this.oca)};k.prototype.Xda=function(){var b=h.Nb(this.aa),g=!!b&&!b.matrixWorld.equals(this.matrixWorld);g&&this.matrixWorld.copy(b.matrixWorld);
this.Zv(g);this.timeout&&(clearTimeout(this.timeout),this.timeout=null);g&&(this.timeout=setTimeout(function(){this.timeout=null;this.Zv(!1)}.bind(this),k.mBa))};k.prototype.eb=function(){this.Zv(!1);this.timeout&&clearTimeout(this.timeout)};k.prototype.Zv=function(b){this.oca!=b&&(this.oca=b,this.II.set(this.propertyName,b))};k.mBa=100;return k}()});
define("nM",["require"],function(){function a(h){this.m=h;this.Lx=!0}function d(h,m,k){if(isNaN(h))throw"invalid value";void 0!==m&&h<m&&(h=m);void 0!==k&&h>k&&(h=k);return h}a.prototype.eYa=function(){this.Lx=!1};a.prototype.ada=function(h){this.m.set("fov",this.Lx?d(h,this.m.get("minFov",.1),this.m.get("maxFov",180)):h)};a.prototype.jn=function(h){var m=this.m,k=m.set;if(this.Lx){var b=this.m.get("minYaw"),g=this.m.get("maxYaw");if(void 0!==b)if(180<h)h=180;else{for(;-180>=h;)h+=360;h<b&&(h=b)}if(void 0!==
g)if(-180>h)h=-180;else{for(;180<h;)h-=360;h>g&&(h=g)}}for(;-180>h;)h+=360;for(;180<=h;)h-=360;k.call(m,"yaw",h)};a.prototype.aw=function(h){this.m.set("pitch",this.Lx?d(h,this.m.get("minPitch",-90),this.m.get("maxPitch",90)):h)};a.prototype.setX=function(h){this.m.set("x",this.Lx?d(h,this.m.get("minX"),this.m.get("maxX")):h)};a.prototype.setY=function(h){this.m.set("y",this.Lx?d(h,this.m.get("minY"),this.m.get("maxY")):h)};a.prototype.setZ=function(h){this.m.set("z",this.Lx?d(h,this.m.get("minZ"),
this.m.get("maxZ")):h)};a.prototype.ID=function(h){this.m.set("distance",this.Lx?d(h,this.m.get("minDistance"),this.m.get("maxDistance")):h)};a.prototype.xi=function(h){this.m.set("easing",h)};return a});
define("dJ","require ox kK nq fx nM nZ bE".split(" "),function(a){function d(f,l,p){this.o=f;this.m=l;this.Na=p;this.za=new g(this.m);this.za.eYa();this.sC=0;this.kk=this.Bm=void 0;this.Km=!1;this.ZV(0);this.b4=this.sS=this.a4=this.rS=this.A=void 0;this.yc(m.T);this.Na.bind(h.G("state"),this.wf,this,!0);this.Na.bind(h.G("movementIndex"),this.ZB,this,!0)}var h=a("ox"),m=a("kK"),k=a("nq"),b=a("fx"),g=a("nM"),e=a("nZ"),c=a("bE");d.prototype.Bz=function(){this.Na.get("mandatory")||(this.JR(),this.Na.get("restartMovementOnUserInteraction")?
this.A==m.X&&(this.yN(),this.yc(m.Db,!0)):this.A==m.X&&this.yc(m.T))};d.prototype.$da=function(){this.A==m.Db&&this.Km&&this.Na.get("restartMovementOnUserInteraction")&&this.G9()};d.prototype.frame=function(f){this.A==m.X&&(this.V.yb(f),this.pRa(),this.za.setX(this.V.cb("x")),this.za.setY(this.V.cb("y")),this.za.setZ(this.V.cb("z")),this.za.jn(this.V.cb("yaw")),this.za.aw(this.V.cb("pitch")),this.za.ID(this.V.cb("distance")),this.za.ada(this.V.cb("fov")),this.za.xi(0),f=this.Na.get("movements")[this.Bm],
f.set("position",this.V.Jk()),f.trigger(h.Zz),this.V.Ke()&&(f.trigger(h.sb),this.ZV((this.Bm+1)%this.Na.get("movements").length,!0),0==this.Bm&&(this.sC++,this.Na.trigger(h.br),this.sC==this.Na.get("repeat")&&(this.kpa(),this.yc(m.T),this.Na.trigger(h.sb)))))};d.prototype.pRa=function(){var f=void 0!==this.rS&&void 0!==this.a4,l=void 0!==this.sS&&void 0!==this.b4;if(f||l){var p=this.o.getComponent(b.jb).aa;if(p){var q=this.V.getTime(),n=this.V.Xi();p=p.K(b.rQ,!0);f=f&&q<this.rS?1-q/this.rS:0;l=l&&
n-q<this.sS?1-(n-q)/this.sS:0;0<l||0<f?l>f?(p.color=this.b4,p.opacity=l):(p.color=this.a4,p.opacity=f):(p.color="#000000",p.opacity=0)}}};d.prototype.kpa=function(){var f=this.o.getComponent(b.jb);(f=f&&f.aa)&&f.na(b.rQ)};d.prototype.dispose=function(){this.JR();this.Na.unbind(h.G("state"),this.wf,this,!0);this.Na.unbind(h.G("movementIndex"),this.ZB,this,!0);this.yc(m.T)};d.prototype.wf=function(){var f=this.Na.get("state");this.A!=f&&(f==m.Db&&this.A==m.T?this.Na.set("state",m.T):this.yc(f))};d.prototype.yc=
function(f,l){this.A!=f&&(this.A=f,this.A==m.X?(this.JR(),this.Km=!1,this.ax(),this.HR()):this.A==m.Db?(this.Km=!!l,this.yN()):this.A==m.T&&(this.Km=!1,this.JR(),this.sC=0,f=this.V.getTime(),l=this.V.Xi(),0<f&&f<l&&this.kpa(),this.ZV(0)));this.Na.set("state",this.A)};d.prototype.ZB=function(){this.ZV(this.Na.get("movementIndex"))};d.prototype.ZV=function(f,l){if(this.Bm!==f||l)this.Bm=f,this.ax(),this.Na.set("movementIndex",this.Bm),this.Na.get("movements")[this.Bm].set("position",0)};d.prototype.G9=
function(){this.DV=setTimeout(function(){this.DV=null;this.yc(m.X)}.bind(this),this.Na.get("restartMovementDelay"))};d.prototype.JR=function(){this.DV&&(clearTimeout(this.DV),this.DV=null)};d.prototype.ax=function(){var f=this.Na.get("movements")[this.Bm],l=this.m.get("x",this.m.get("initialX",0)),p=this.m.get("y",this.m.get("initialY",0)),q=this.m.get("z",this.m.get("initialZ",0)),n=this.tk(this.m.get("yaw",this.m.get("initialYaw",0)),-180,180),r=this.m.get("pitch",this.m.get("initialPitch",0)),
u=this.m.get("distance",0),t=this.m.get("fov",this.m.get("initialFov"));if(k.Ka("TargetModel3DCameraMovement",f)){var v=f.get("targetX",l);var w=f.get("targetY",p);var x=f.get("targetZ",q);var y=f.get("targetYaw",n);var A=f.get("targetPitch",r);var B=f.get("targetFov",t);var z=f.get("targetDistance",u);switch(this.Y3(f)){case "left":y=this.tk(y,n-360,n);break;case "right":y=this.tk(y,n,n+360);break;case "longest":y=this.tk(y,n-180,n+180);y=y==n?n+360:y>=n?this.tk(y,n-360,n):this.tk(y,n,n+360);break;
default:y=this.tk(y,n-180,n+180)}}else k.Ka("DistanceModel3DCameraMovement",f)&&(v=l+f.get("xDelta",0),w=p+f.get("yDelta",0),x=q+f.get("zDelta",0),y=n+f.get("yawDelta",0),A=r+f.get("pitchDelta",0),B=t+f.get("fovDelta",0),z=u+f.get("distanceDelta",0));this.V=new e(f.get("easing"),[new c("x",l,v,f.get("xSpeed")),new c("y",p,w,f.get("ySpeed")),new c("z",q,x,f.get("zSpeed")),new c("yaw",n,y,f.get("yawSpeed")),new c("pitch",r,A,f.get("pitchSpeed")),new c("fov",t,B,f.get("fovSpeed")),new c("distance",u,
z,f.get("distanceSpeed"))],f.get("duration"));this.rS=f.get("fadeFromDuration");this.a4=f.get("fadeFromColor");this.sS=f.get("fadeToDuration");this.b4=f.get("fadeToColor")};d.prototype.HR=function(){this.kk=void 0};d.prototype.yN=function(){if(this.V){this.kk=void 0;var f=this.V&&this.V.sba("yaw");f&&(f.yz>f.from?this.kk="right":f.yz<f.from&&(this.kk="left"))}};d.prototype.Y3=function(f){f=f.get("yawPath");"longest"==f&&this.kk&&(f=this.kk);this.kk=void 0;return f};d.prototype.tk=function(f,l,p){for(;f<
l;)f+=p-l;for(;f>p;)f-=p-l;return f};return d});
define("kc","require ku ox kK dJ ck".split(" "),function(a){function d(e,c){this.o=e;this.m=c;this.gy=this.gy.bind(this);this.wf=this.wf.bind(this);this.Eh=this.kj=null;this.$r=[];this.ng=null;this.Oh=!1;this.St=new Map;h.fa(this.m,["initialSequence","idleSequence","sequences.movements"],this.gy,!0);h.fa(this.m,["state"],this.wf,!0);this.Xp=!1}var h=a("ku"),m=a("ox"),k=a("kK"),b=a("dJ"),g=a("ck");d.prototype.bwa=function(){return!!this.ng&&this.ng.get("mandatory")};d.prototype.Bz=function(){this.Oh=
!0;this.yk();this.ng&&this.St.get(this.ng).Bz()};d.prototype.$da=function(){this.Oh=!1;this.ng&&this.St.get(this.ng).$da();!this.Eh||this.ng&&this.ng!=this.Eh||this.cq()};d.prototype.cq=function(){this.Oh||this.rB||!this.Eh||this.ng||!this.m.get("timeToIdle")||(this.rB=setTimeout(function(){this.rB=null;this.HL()}.bind(this),this.m.get("timeToIdle")))};d.prototype.yk=function(){this.rB&&(clearTimeout(this.rB),this.rB=null)};d.prototype.HL=function(){this.Eh&&this.Eh.set("state",k.X)};d.prototype.frame=
function(e){if(!this.Xp){var c=g.$m(this.o),f=0;c&&c.traverse(function(l){(l.isMesh||l.isSprite)&&f++});if(0<f)this.Xp=!0,this.jG();else return}this.ng&&this.St.get(this.ng).frame(e);(e=this.ng&&this.ng.get("state")==k.X)&&this.o.S.$a();return e};d.prototype.jG=function(){this.kj?this.kj.set("state",k.X):this.cq()};d.prototype.dispose=function(){h.ca(this.m,["initialSequence","idleSequence","sequences.movements"],this.gy);h.ca(this.m,["state"],this.wf);this.yk();this.Eh&&this.dF(this.Eh);this.kj&&
this.dF(this.kj);this.$r.forEach(this.dF.bind(this));this.$r=null};d.prototype.wf=function(){this.ng?this.ng.set("state",this.m.get("state")):this.m.get("state")==k.X?(this.cq(),this.rB||this.m.set("state",k.T)):this.yk()};d.prototype.gy=function(){var e=this.P8(this.m.get("initialSequence"));this.kj!=e&&(this.kj&&this.dF(this.kj),(this.kj=e)&&this.T2(this.kj));e=this.P8(this.m.get("idleSequence"));this.Eh!=e&&(this.Eh&&this.dF(this.Eh),(this.Eh=e)&&this.T2(this.Eh));var c=(this.m.get("sequences")||
[]).filter(this.P8.bind(this));this.$r.forEach(function(l){0>c.indexOf(l)&&this.dF(l)}.bind(this));var f=this.$r;this.$r=c;this.$r.forEach(function(l){0>f.indexOf(l)&&this.T2(l)}.bind(this));this.ng||!this.Eh||this.rB||this.cq()};d.prototype.P8=function(e){var c=e&&e.get("movements");return c&&0!=c.length?e:null};d.prototype.Zna=function(e){e=e.source;var c=e.get("state");c==k.X?(this.yk(),c=this.ng,this.ng=e,c&&c!=this.ng&&c.set("state",k.T),this.m.set("state",k.X),this.o.S.$a()):c==k.Db?e==this.ng&&
this.m.set("state",k.Db):c==k.T&&e==this.ng&&(this.m.set("state",k.T),this.ng=null,e!=this.Eh&&this.cq())};d.prototype.T2=function(e){if(this.St.has(e))this.St.get(e);else{e.set("state",k.T);e.bind(m.G("state"),this.Zna,this,!0);var c=new b(this.o,this.m,e);this.St.set(e,c)}};d.prototype.dF=function(e){this.St.has(e)&&(e.set("state",k.T),e.unbind(m.G("state"),this.Zna,this,!0),this.St.get(e).dispose(),this.St["delete"](e))};return d});
define("oI",["require"],function(){return{Z5:function(a){this.sT=this.sT.bind(this);this.tT=this.tT.bind(this);this.PJ=this.Ui=!1;this.Jf={};for(var d=0;d<a.length;d++)this.Jf[a[d]]=!1;this.ZK=0;this.uT=!1;this.$K(!0)},a6:function(){this.$K(!1)},$K:function(a){this.uT!=a&&(this.uT&&(document.removeEventListener("keyup",this.tT),document.removeEventListener("keydown",this.sT)),this.uT=a)&&(document.addEventListener("keyup",this.tT),document.addEventListener("keydown",this.sT))},cla:function(){return 0<
this.ZK},tT:function(a){if(!this.kT||!this.kT()){var d=!1;this.Ui!=a.shiftKey&&(this.Ui=a.shiftKey,d=!0);this.PJ!=a.ctrlKey&&(this.PJ=a.ctrlKey,d=!0);!0===this.Jf[a.code]&&(this.Jf[a.code]=!1,d=!0,this.XB&&this.XB(a.code),this.ZK--,0==this.ZK&&this.Rma&&this.Rma());d&&this.OL&&this.OL()}},sT:function(a){if(!this.kT||!this.kT()){var d=!1;this.Ui!=a.shiftKey&&(this.Ui=a.shiftKey,d=!0);this.PJ!=a.ctrlKey&&(this.PJ=a.ctrlKey,d=!0);!1===this.Jf[a.code]&&(d=this.Jf[a.code]=!0,this.Qma&&this.Qma(a.code),
this.ZK++,1==this.ZK&&this.Sma&&this.Sma());d&&this.OL&&this.OL()}},U_a:function(){return this.Ui},P_a:function(){return this.PJ}}});
define("jB",["require","exports","bc"],function(a,d,h){a=function(){function k(){this.Ie=[]}k.prototype.Hq=function(b){this.Bya(b);this.ab=b;this.j3=null};k.prototype.AXa=function(b){this.Bya(b?b.kg:null);this.ab=null;this.j3=b};k.prototype.NYa=function(b,g){this.ab&&this.ab.set("cursor",b);this.j3&&this.j3.Yca(b,g)};k.prototype.Bya=function(b){this.ge&&(this.ge.XWa(this),this.ge=void 0);b&&(this.ge=m.get(b),this.ge.GSa(this))};k.prototype.dispose=function(){this.Hq(null);this.Ie=[]};k.prototype.push=
function(b){this.Ie.push(b);this.ge&&this.ge.update()};k.prototype.pop=function(b){for(var g=this.Ie.length-1;0<=g;g--)if(this.Ie[g]==b){this.Ie.splice(g,1);this.ge&&this.ge.update();break}};k.prototype.has=function(b){return 0<=this.Ie.indexOf(b)};k.prototype.top=function(){if(this.Ie.length)return this.Ie[this.Ie.length-1]};k.prototype.all=function(){return this.Ie};return k}();var m=function(){function k(b){this.Jc=b;this.Uc=[]}k.prototype.GSa=function(b){this.Uc.push(b);this.update()};k.prototype.XWa=
function(b){this.Uc.splice(this.Uc.indexOf(b),1);this.update();0==this.Uc.length&&k.clear(this.Jc)};k.prototype.update=function(){var b=this.bDa();var g=this.Y4(h.kA)?h.kA:this.Y4(h.Zh)?h.Zh:this.Y4(h.Ze)?h.Ze:this.iq()||h.Be;this.Uc.forEach(function(e){e.NYa(g,b)})};k.prototype.Y4=function(b){for(var g=this.Uc.length-1;0<=g;g--)if(this.Uc[g].has(b))return!0;return!1};k.prototype.bDa=function(){var b=[];this.Uc.forEach(function(g){g.all().forEach(function(e){0>b.indexOf(e)&&b.push(e)})});return b};
k.prototype.iq=function(){for(var b,g=this.Uc.length-1;0<=g&&void 0===b;g--)b=this.Uc[g].top();return b};k.get=function(b){var g=this.Qa.get(b);g||this.Qa.set(b,g=new k(b));return g};k.clear=function(b){this.Qa["delete"](b)};k.Qa=new Map;return k}();return a});
define("jm",["require","exports","ox","gf"],function(a,d,h,m){return function(k){function b(g){var e=k.call(this)||this;if(g instanceof HTMLElement)e.ZY=g;else if("function"===typeof g.zc)e.ZY=g.zc().get(0);else if(g.length&&g.get)e.ZY=g.get(0);else throw Error("invalid element");e.hZ=e.hZ.bind(e);document.addEventListener("pointerlockchange",e.hZ.bind(e),!1);return e}Z(b,k);b.prototype.dispose=function(){document.removeEventListener("pointerlockchange",this.hZ)};b.prototype.lock=function(){if(!this.uo())return this.ZY.requestPointerLock()};
b.prototype.unlock=function(){this.uo()&&document.exitPointerLock()};b.prototype.uo=function(){return document.pointerLockElement===this.ZY};b.prototype.hZ=function(){this.trigger(h.ta)};b.uo=function(){return null!==document.pointerLockElement};return b}(m)});
define("hQ",["require","ox","jB","jm"],function(a){function d(g,e){var c=e.x-g.x;g=e.y-g.y;return Math.sqrt(c*c+g*g)}var h=a("ox"),m=a("jB"),k=a("jm"),b=180/Math.PI;return{E6:function(){this.YT=this.uL=this.hu=this.Ir=!1;this.oV=this.me=null;this.dT=new m;this.vL=null;this.xLa=this.KKa.bind(this)},F6:function(){this.YV(null);this.dT.dispose()},Pla:function(g){this.io(g);if(!this.Hn||!this.Hn()){var e=this.GF();this.Ir||(this.Ir=!0,e||this.hG&&this.hG());this.uL=!g.originalEvent||!g.originalEvent.buttons||
0===(g.originalEvent.buttons&2);this.oV=g;this.fk&&this.fk(g.x,g.y);this.uU&&this.uU(g.x,g.y)}},GF:function(){return this.Ir||this.hu||this.YT},IF:function(){return this.Ir},Q_a:function(){return this.hu},R_a:function(){return this.uL},S_a:function(){return this.YT},Rla:function(g){this.io(g);this.ef&&this.ef(g.x,g.y);if(this.Ir||this.UF.uo()){var e=void 0!==g.movementX?g.movementX:g.x-this.oV.x,c=void 0!==g.movementY?g.movementY:g.y-this.oV.y;this.UF.uo()&&(e*=-1,c*=-1);this.oV=g;this.tU&&this.tU(e,
c,g.x,g.y)}},VT:function(g){this.Ir&&(g&&this.io(g),this.uL=this.Ir=!1,this.Pn&&this.Pn(this.Vc,this.Wc),this.YB&&this.YB(),this.GF()||this.gG&&this.gG())},Lla:function(g){this.Hn&&this.Hn()||(this.io(g),this.Lr&&this.Lr(g.x,g.y))},Mla:function(g){this.Hn&&this.Hn()||this.ala&&this.ala()||(this.io(g),this.fG&&this.fG(g.x,g.y))},Sla:function(g){this.io(g);if(!this.Hn||!this.Hn()){g=g.NX/10;var e=this.GF();this.vL||(this.YT=!0,this.yLa&&this.yLa(),e||this.hG&&this.hG());this.vU&&this.vU(g);this.vL&&
clearTimeout(this.vL);this.vL=setTimeout(this.xLa,100)}},KKa:function(){this.vL=null;this.wLa&&this.wLa();this.YT=!1;this.GF()||this.gG&&this.gG()},Ola:function(g){if(!(this.Hn&&this.Hn()||2>g.touches.length)){var e=this.GF();this.hu||(this.hu=!0,this.LKa(g.touches),e||this.hG&&this.hG());this.Kma&&this.Kma();this.VT()}},Nla:function(g){this.Hn&&this.Hn()||2>g.touches.length||!this.hu||(this.Tla(g.touches),this.Z6&&this.Z6(this.uQa,this.vQa,this.g$,this.wQa),this.Jma&&this.Jma(this.C5,this.D5,this.MN,
this.NN,1,this.g$,this.LK,this.f$,this.B5,this.LN))},D6:function(){this.hu&&(this.hu=!1,this.a7&&this.a7());this.GF()||this.gG&&this.gG()},LKa:function(g){this.B5=this.D5=this.C5=this.LK=this.g$=this.NN=this.MN=this.f$=this.LN=void 0;this.KN=g;this.Tla(g)},Tla:function(g){d(g[0],this.KN[0])+d(g[1],this.KN[1])>d(g[0],this.KN[1])+d(g[1],this.KN[0])&&(g=[g[1],g[0]]);var e=g[0];var c=g[1];e=Math.atan2(-(c.y-e.y),c.x-e.x)*b;c=d(g[0],g[1]);var f=(g[0].x+g[1].x)/2,l=(g[0].y+g[1].y)/2;this.g$=void 0!==this.LK?
c/this.LK:1;this.wQa=void 0!==this.LN?e-this.LN:0;this.LN=e;this.f$=c;this.uQa=void 0!==this.MN?f-this.MN:0;this.vQa=void 0!==this.NN?l-this.NN:0;this.MN=f;this.NN=l;void 0!==this.C5||(this.C5=this.MN);void 0!==this.D5||(this.D5=this.NN);void 0!==this.B5||(this.B5=this.LN);void 0!==this.LK||(this.LK=this.f$);this.KN=g},Qla:function(){},TGa:function(){this.VT();this.D6()},wK:function(){return this.me?this.me.Wa():100},mB:function(){return this.me?this.me.xb():100},ju:function(){return this.me?Math.max(this.me.Wa(),
this.me.xb()):100},YV:function(g){this.me!=g&&(this.me&&(this.me.unbind(h.vb,this.Pla,this,!0),this.me.unbind(h.hc,this.Rla,this,!0),this.me.unbind(h.Zb,this.VT,this,!0),this.me.unbind(h.pa,this.Lla,this,!0),this.me.unbind(h.Zl,this.Mla,this,!0),this.me.unbind(h.Xq,this.Sla,this,!0),this.me.unbind(h.j0,this.Nla,this,!0),this.me.unbind(h.tw,this.Ola,this,!0),this.me.unbind(h.eE,this.D6,this,!0),this.UF.unbind(h.ta,this.Qla,this,!0),this.UF.dispose(),this.UF=null),this.me=g,this.dT.Hq(this.me),this.me&&
(this.me.bind(h.vb,this.Pla,this,!0),this.me.bind(h.hc,this.Rla,this,!0),this.me.bind(h.Zb,this.VT,this,!0),this.me.bind(h.pa,this.Lla,this,!0),this.me.bind(h.Zl,this.Mla,this,!0),this.me.bind(h.Xq,this.Sla,this,!0),this.me.bind(h.j0,this.Nla,this,!0),this.me.bind(h.tw,this.Ola,this,!0),this.me.bind(h.eE,this.D6,this,!0),this.UF=new k(this.me),this.UF.bind(h.ta,this.Qla,this,!0)))},WT:function(g){g.x=-1+2*g.x/this.wK();g.y=1-2*g.y/this.mB();return g},io:function(g){this.Vc=g.x;this.Wc=g.y;this.VF=
g.pageX;this.WF=g.pageY},mC:function(g){this.dT.push(g)},lV:function(g){this.dT.pop(g)}}});
define("kj",["require","ox"],function(a){var d=a("ox");return{GNa:function(){this.QV=!1;this.ao=null;this.EB=this.LF=0;this.wC=!1;this.Mpa(!0)},HNa:function(){this.Mpa(!1);this.yqa(null)},Mpa:function(h){this.QV!=h&&((this.QV=h)||this.PV())},yqa:function(h){this.ao!=h&&(this.PV(),this.ao&&(this.ao.unbind(d.tn,this.Npa,this,!0),this.ao.unbind(d.Ff,this.PV,this,!0),this.ao.unbind(d.ta,this.Lpa,this,!0),this.EB=this.LF=0),this.ao=h)&&(this.ao.bind(d.tn,this.Npa,this,!0),this.ao.bind(d.Ff,this.PV,this,
!0),this.ao.bind(d.ta,this.Lpa,this,!0))},Npa:function(){!this.wC&&this.QV&&(this.wC=!0,this.Una&&this.Una())},Lpa:function(){this.wC&&(this.LF=this.ao.getX(),this.EB=this.ao.getY(),this.Sna&&this.Sna())},PV:function(){this.wC&&(this.wC=!1,this.EB=this.LF=0,this.Tna&&this.Tna())},T_a:function(){return this.wC}}});
define("dI","require li ox bm ck fx kW f nM kc oI hQ kj bc nZ bE".split(" "),function(a){function d(N){this.dK=!1;this.F3=0;this.Sia=!1;this.Tia=N}function h(N){this.o=N;this.Bp=new f(N);this.Z5(y);this.E6();this.GNa();this.bH=.025;this.bk=.25;this.ST=this.TT=this.UT=this.DS=0;this.za=this.Ue=null;this.uR=this.NW=!1;this.AT=1;this.uC=null;this.mC(u.bA);this.MF={};[b.qa.Sj,b.qa.zi,b.qa.Oa,b.qa.hb].forEach(function(V){this.MF[V]=new d(0)}.bind(this));[b.qa.mn,b.qa.ut,b.qa.bt,b.qa.yt,b.qa.Q,b.qa.E].forEach(function(V){this.MF[V]=
new d(300)}.bind(this));this.update()}var m=a("li"),k=a("ox"),b=a("bm"),g=a("ck"),e=a("fx"),c=a("kW"),f=a("f"),l=a("nM"),p=a("kc"),q=a("oI"),n=a("hQ"),r=a("kj"),u=a("bc"),t=a("nZ"),v=a("bE");m.CX(h,[c,q,n,r,Screen]);h.prototype.update=function(){var N=this.o.getComponent(e.$z);this.zl(N&&N.Vb);this.Bp.pda(N&&N.Vb);var V=(!N.OH||-1==P.indexOf(this.o.S))&&N.enabled;this.YV(N&&(V?N.kg:null));this.$K(!!N&&V&&N.jz);this.yqa(!!N&&V&&N.mya);V||this.YB();V&&N.jz||(this.ym=this.xm=this.$j=this.mj=this.ak=
0)};h.prototype.frame=function(N,V){var Y=!1;!Y&&this.Ue&&(Y=this.Ue.frame(N,V));!Y&&this.Bh&&(Y=this.fDa(N));Y||this.sRa(N);this.$Ra();this.dRa();this.Bp.Xda();this.wC&&this.o.S.$a();this.uC=null};var w=1E3/3600*8/1.7;h.prototype.sRa=function(N){N/=1E3;var V=this.Ui?.2:1,Y=this.AT*w;Y*=this.m.get("translationSpeed")*V;var ca=this.m.get("rotationSpeed")*V;V=this.ST;var F=this.TT,K=this.UT,O=this.DS;this.ST=this.TT=this.UT=this.DS=0;var T=(V*V+F*F)/x;T=1<T?1/Math.sqrt(T):1;V*=T;F*=T;var J=C*Math.atan2(this.LF,
Math.abs(this.EB));T=Math.sqrt(this.LF*this.LF+this.EB*this.EB);var L=Math.max(this.mB(),this.wK()),X=this.m.get("fov")/L*2;V=-V*X*ca;F=F*X*ca;K=25*-K*Y;X=this.vK(b.qa.mn,b.qa.bt)*Y;var aa=this.vK(b.qa.yt,b.qa.ut)*Y,ba=this.vK(b.qa.Q,b.qa.E)*Y,da=this.vK(b.qa.zi,b.qa.Sj)*ca*30,ea=this.vK(b.qa.Oa,b.qa.hb)*ca*30;O=2*O*this.AT/L;ca*=J*T*.125;Y*=.5*-T*this.EB;(T=this.o.getComponent(e.ya))&&(V||F||K||X||ba||aa||da||ea||ca||Y||O)&&(G.makeRotationFromEuler(H.set(0,T.oe*z,0,T.mg)),Q.set(X*N,ba*N+O,(aa+Y+
K)*N).applyMatrix4(G),R.set(this.m.get("x"),this.m.get("y"),this.m.get("z")),this.AIa(R,Q,S),this.za.setX(S.x),this.za.setY(S.y),this.za.setZ(S.z),this.za.jn(this.m.get("yaw")+V+(ea+ca)*N),this.za.aw(this.m.get("pitch")+F+da*N),this.za.xi(this.bk),this.o.S.$a())};h.prototype.vK=function(N,V){N=this.MF[N].getState();if(N===d.x_)return-3;if(N===d.zi)return-1.5;V=this.MF[V].getState();return V===d.x_?3:V===d.zi?1.5:0};h.prototype.AIa=function(N,V,Y){Y.copy(N).add(V);if(!Y.equals(N)){this.$g=this.cK(N);
var ca=this.cK(Y);if(this.m.get("keepHeight"))if(Infinity==ca)var F=Infinity;else if(Infinity==this.$g)F=ca;else{F=this.$g+V.y;var K=this.m.get("maxStepHeight");void 0===K&&(K=Infinity!==this.$g?.25*this.$g:0);if(ca<F-K){Y.copy(N);return}Y.y+=F-ca}else F=ca;M.copy(V).normalize().multiplyScalar(.1*this.AT);Y.add(M);this.m.get("collisionDetection")&&this.Xka(N,Y)?Y.copy(N):(this.$g=F,Infinity!==this.$g&&(this.AT=this.$g),Y.sub(M))}};h.prototype.Qma=function(N){this.o.S.$a();this.MF[N].jWa()};h.prototype.XB=
function(N){this.MF[N].kWa()};h.prototype.uU=function(){this.bi=!0;this.mC(u.Zh)};h.prototype.fG=function(N,V){if("translate"==this.m.get("doubleClickAction")){var Y=g.$m(this.o),ca=g.Nb(this.o);if(ca&&Y&&(this.WT(I.set(N,V)),N=this.NK(I,ca),0!=N.length&&(Y=N[0],Y.face&&Y.face.normal))){ca=R.set(this.m.get("x"),this.m.get("y"),this.m.get("z"));N=S.copy(Y.point);V=this.cK(R);if(Math.abs(Math.acos(Y.face.normal.dot(W)))<.25*Math.PI)N.y+=V;else{Q.copy(N).sub(ca);Y=Q.length();ca=2*V;if(Y<ca)return;N.sub(Q.multiplyScalar(ca/
Y));S.y+=V-this.cK(S)}this.Xka(R,S)||Math.abs(V-this.cK(S))>.05*V||(this.Bh=new t("cubic_in_out",[new v("x",R.x,S.x),new v("y",R.y,S.y),new v("z",R.z,S.z)],1500),this.o.S.$a())}}};h.prototype.fDa=function(N){if(!this.Bh)return!1;this.Bh.yb(N);this.za.setX(this.Bh.cb("x"));this.za.setY(this.Bh.cb("y"));this.za.setZ(this.Bh.cb("z"));this.za.xi(0);this.Bh.Ke()&&(this.Bh=null);this.o.S.$a();return!0};var x=2500;h.prototype.tU=function(N,V){this.bi&&(this.ST+=N,this.TT+=V,this.o.S.$a())};h.prototype.YB=
function(){this.bi=!1;this.lV(u.Zh);this.o.S.$a()};h.prototype.vU=function(N){this.UT+=N;this.o.S.$a()};h.prototype.Z6=function(N,V){this.DS+=V;this.o.S.$a()};h.prototype.Una=function(){this.TGa();this.mC(u.Zh)};h.prototype.Sna=function(){this.o.S.$a()};h.prototype.Tna=function(){this.lV(u.Zh)};h.prototype.zl=function(N){this.m!=N&&(this.m&&(this.Ue&&(this.Ue.dispose(),this.Ue=null),this.za=null,A.forEach(function(V){this.m.unbind(k.G(V),this.s7,this,!0)}.bind(this)),B.forEach(function(V){this.m.unbind(k.G(V),
this.S6,this,!0)}.bind(this)),this.m.set("userInteracting",!1)),this.m=N)&&(this.za=new l(this.m),this.MK(),A.forEach(function(V){this.m.bind(k.G(V),this.s7,this,!0)}.bind(this)),this.s7(),B.forEach(function(V){this.m.bind(k.G(V),this.S6,this,!0)}.bind(this)),this.S6(),this.Ue=new p(this.o,this.m),this.m.set("userInteracting",!1))};h.prototype.MK=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",
this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")))};h.prototype.s7=function(){this.NW||(this.NW=!0,this.o.S.$a())};h.prototype.$Ra=function(){if(this.NW&&this.o&&this.m){this.NW=!1;var N=this.o.K(e.ya,!0);N.translationX=this.m.get("x");N.translationY=this.m.get("y");N.Ye=this.m.get("z");N.oe=-this.m.get("yaw");N.Le=this.m.get("pitch");N.Me=0;N.mg="YXZ";N.positionX=0;N.positionY=0;N.positionZ=0;N.easing=this.m.get("easing")}};h.prototype.S6=
function(){this.uR||(this.uR=!0,this.o.S.$a())};h.prototype.dRa=function(){this.uR&&this.o&&this.m&&(this.uR=!1,this.o.K(e.PerspectiveCamera,!0).fov=this.m.get("fov"))};h.prototype.cK=function(N){if(this.wGa===N.x&&this.xGa===N.y&&this.yGa===N.z)return this.vGa;E.far=Infinity;E.ray.origin.copy(N);E.ray.direction.copy(D);var V=E.intersectObjects(this.T4(),!1);if(0===V.length)return Infinity;V=V[0].distance;this.wGa=N.x;this.xGa=N.y;this.yGa=N.z;return this.vGa=V};h.prototype.Xka=function(N,V){E.far=
N.distanceTo(V);E.ray.origin.copy(N);E.ray.direction.copy(V).sub(N).normalize();return 0<E.intersectObjects(this.T4(),!1).length};h.prototype.NK=function(N,V){E.far=V.far;E.setFromCamera(N,V);return E.intersectObjects(this.T4(),!1)};h.prototype.eT=function(N,V){E.ray.origin.copy(N);E.ray.direction.copy(V).sub(N).normalize();return E.intersectObjects(this.O_a(),!1)};h.prototype.T4=function(){if(this.uC)return this.uC;var N=this.o&&g.$m(this.o);if(!N)return this.uC=[];var V=[];(U.get(this.o.S)||[]).forEach(function(ca){(ca=
g.Nb(ca))&&V.push(ca)});this.uC=[];for(N=[N];0<N.length;){var Y=N.pop();Y.isSprite||Y.isLine||Y.isSkinnedMesh||Y.material&&!Y.material.visible||-1!==V.indexOf(Y)||(Y.children&&N.push.apply(N,Y.children),this.uC.push(Y))}return this.uC};var y=[b.qa.Sj,b.qa.zi,b.qa.Oa,b.qa.hb,b.qa.mn,b.qa.ut,b.qa.bt,b.qa.yt,b.qa.Q,b.qa.E],A="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),B=["minFov","maxFov","fov"],z=Math.PI/180,C=180/Math.PI,G=new THREE.Matrix4,
D=new THREE.Vector3(0,-1,0),E=new THREE.Raycaster,H=new THREE.Euler,R=new THREE.Vector3,S=new THREE.Vector3,Q=new THREE.Vector3,M=new THREE.Vector3,W=new THREE.Vector3(0,1,0),I=new THREE.Vector2;h.prototype.dispose=function(){this.zl(null);this.a6();this.F6();this.HNa();this.Bp.eb()};h.Ob=function(N){N.H(e.gt).manager=new h(N)};h.eb=function(N){var V=N.getComponent(e.gt);V.manager.dispose();V.manager=null;N.na(e.gt)};h.update=function(N){N.getComponent(e.gt).manager.update()};h.frame=function(N,V,
Y){N.getComponent(e.gt).manager.frame(V,Y)};var P=[];h.HP=function(N){P=[];N.forEach(function(V){0>P.indexOf(V.S)&&P.push(V.S)})};var U=new Map;h.mYa=function(N){U.clear();N.forEach(function(V){U.has(V.S)||U.set(V.S,[]);U.get(V.S).push(V)})};d.prototype.jWa=function(){this.dK||(this.dK=!0,this.Sia=Date.now()-this.F3<this.Tia,this.F3=Date.now())};d.prototype.kWa=function(){this.dK&&(this.dK=!1)};d.prototype.getState=function(){return this.dK||Date.now()-this.F3<this.Tia?this.Sia?d.x_:d.zi:d.Sj};d.Sj=
0;d.zi=1;d.x_=2;return h});
define("bX","require li ox bm kL ck fx kW f nM kc oI hQ bc nZ bE".split(" "),function(a){function d(J){this.o=J;this.Z5(Q);this.E6();this.Bp=new l(J);this.Pc=w;this.Sp=this.Li=null;this.bH=.025;this.bk=.25;this.Mh=void 0;this.IC=1;this.ak=this.mj=this.$j=this.ym=this.xm=0;this.qk=[];this.xB=this.yB=this.zB=this.vB=this.uB=this.px=this.Ki=this.cu=this.du=this.fu=this.eu=this.bu=void 0;this.z5=1E3;this.EK=void 0;this.yF=0;this.za=this.Ue=null;this.mC(u.bA);this.update()}function h(J,L){J=L-J;180<J?
J-=360:-180>J&&(J+=360);return J}function m(){return(new Date).getTime()}var k=a("li"),b=a("ox"),g=a("bm");a("kL");var e=a("ck"),c=a("fx"),f=a("kW"),l=a("f"),p=a("nM"),q=a("kc"),n=a("oI"),r=a("hQ"),u=a("bc"),t=a("nZ"),v=a("bE");k.CX(d,[f,n,r]);d.prototype.update=function(){var J=this.o.getComponent(c.aA);this.zl(J&&J.Vb);this.Bp.pda(J&&J.Vb);var L=(!J.OH||-1==T.indexOf(this.o.S))&&J.enabled;this.YV(J&&(L?J.kg:null));this.$K(!!J&&L&&J.jz);L||this.YB();L&&J.jz||(this.ym=this.xm=this.$j=this.mj=this.ak=
0)};d.prototype.frame=function(J,L){this.Ue&&this.Ue.frame(J,L)&&this.$p();this.Bh&&(this.Bh.yb(J),this.za.setX(this.Bh.cb("x")),this.za.setY(this.Bh.cb("y")),this.za.setZ(this.Bh.cb("z")),this.za.ID(this.Bh.cb("distance")),this.za.xi(0),this.Bh.Ke()&&(this.Bh=null));this.pg&&(this.pg=Math.max(0,this.pg-J/this.z5),this.za.setX(this.m.get("x")+this.xB*this.pg),this.za.setY(this.m.get("y")+this.yB*this.pg),this.za.setZ(this.m.get("z")+this.zB*this.pg),this.za.jn(this.m.get("yaw")+this.vB*this.pg),this.za.aw(this.m.get("pitch")+
this.uB*this.pg),this.za.xi(0),this.o.S.$a(),0==this.pg&&this.KM());if(this.ym||this.xm||this.$j||this.mj||this.ak)L=J/1E3,this.I6(this.$j*L,this.mj*L,this.ak*L,this.ym*L,this.xm*L);if(this.Pc==w&&void 0!==this.zk&&!this.mj&&this.m.get("keepHeight")&&void 0!==this.EK&&Math.abs(this.zk-this.m.get("y"))>N){this.yF=Math.max(this.yF-J,0);L=this.m.get("y");var X=this.zk-L;this.za.setY(L+Math.min(J*this.EK,Math.abs(X))*(0<X?1:-1));this.o.S.$a()}this.Pc!=w||!this.Sp||this.pg||this.Bh||(this.NA(),this.o.S.$a());
this.Bp.Xda()};d.prototype.OL=function(){this.G$()};d.prototype.G$=function(){var J=0!=this.ak||0!=this.mj||0!=this.$j;this.ym=this.xm=this.ak=this.mj=this.$j=0;var L=this.Jf[g.qa.mn]?1:this.Jf[g.qa.bt]?-1:0,X=this.Jf[g.qa.yt]?1:this.Jf[g.qa.ut]?-1:0,aa=this.Jf[g.qa.Q]?1:this.Jf[g.qa.E]?-1:0,ba=this.Jf[g.qa.Sj]?1:this.Jf[g.qa.zi]?-1:0,da=this.Jf[g.qa.Oa]?1:this.Jf[g.qa.hb]?-1:0;if(ba||da||L||X||aa){var ea=this.Ui?.2:1;L&&(this.$j=-L*ea*this.m.get("translationSpeed"));aa&&(this.mj=-aa*ea*this.m.get("translationSpeed"));
X&&(this.ak=-X*ea*this.m.get("translationSpeed"));da&&(this.ym=-da*ea*100*this.m.get("rotationSpeed"));ba&&(this.xm=ba*ea*100*this.m.get("rotationSpeed"));this.NA();this.o.S.$a();this.u8();this.SGa();L=0!=this.ak||0!=this.mj||0!=this.$j;!J&&L&&this.KM()}};d.prototype.uU=function(){this.bi=!0;this.Pc==C||this.Pc==G||m()<this.Aja+500||(this.mC(u.Zh),this.Pc=w)};d.prototype.tU=function(J,L,X,aa){if(this.bi&&!(this.Pc==C||this.Pc==G||m()<this.Aja+500)){var ba=(J*J+L*L)/2500;ba=1<ba?1/Math.sqrt(ba):1;
J*=ba;L*=ba;ba=this.vIa();this.Pc!=ba?(this.Pc=ba,this.Pc==x?this.uPa(X,aa):this.Pc==y?this.Uqa():this.Pc==A?this.HPa():this.Pc==z&&this.FPa()):this.Pc!=w&&(this.Pc==x?this.mRa(J,L,X,aa):this.Pc==y?this.PRa(J,L):this.Pc==A?this.RRa(J,L):this.Pc==z&&this.ORa(J,L))}};d.prototype.YB=function(){this.lV(u.Zh);this.bi=!1;this.Pc!=w&&(this.Pc=w,this.Li=null,this.Sqa(),this.u8(),this.Rka(),this.o.S.$a())};d.prototype.vU=function(J){this.Pc!=B?(this.Pc=B,this.CPa()):this.ARa(J);this.H6&&clearTimeout(this.H6);
this.H6=setTimeout(function(){this.H6=null;this.Pc==B&&(this.Pc=w,this.$p())}.bind(this),1E3)};d.prototype.Jma=function(J,L,X,aa,ba,da,ea,ia,fa,ha){this.Pc!=C&&this.Pc!=G?(J=.05<Math.abs(da-ba),X=5<h(fa,ha),L=Math.abs(aa-L)>.02*this.mB(),fa=10>Math.min(Math.abs(fa),180-Math.abs(fa),Math.abs(ha),180-Math.abs(ha)),ea=.2>ea/this.ju(),(J||L)&&(fa||ea)?(this.Pc=G,this.GPa()):!X&&!J||fa&&ea||(this.Pc=C,this.IPa())):this.Pc==C?this.SRa(ba,da,fa,ha):this.Pc==G&&this.QRa(L,aa,ba,da)};d.prototype.a7=function(){this.Li=
null;this.Pc==C&&this.Sqa();this.Pc=w;this.Aja=m();this.u8();this.Rka();this.o.S.$a()};d.prototype.fG=function(J,L){if("zoom"==this.m.get("doubleClickAction")){var X=e.$m(this.o),aa=e.Nb(this.o);aa&&X&&(F.set(J,L),this.WT(F),J=this.NK(F,aa),0!=J.length&&(this.$p(),this.NA(),J=J[0].point,D.setFromMatrixPosition(aa.matrixWorld),this.Bh=new t("quad_in_out",[new v("x",D.x,.5*(J.x+D.x)),new v("y",D.y,.5*(J.y+D.y)),new v("z",D.z,.5*(J.z+D.z)),new v("distance",0,0)],500)))}};d.prototype.vIa=function(){return this.uL?
this.Ui?y:x:this.IF()?this.Ui?z:A:w};d.prototype.uPa=function(J,L){this.GG();this.NA();this.mDa(J,L);this.m.get("keepHeight")&&this.AW();this.o.S.$a()};d.prototype.mRa=function(J,L,X,aa){var ba=e.Nb(this.o);ba&&(D.setFromMatrixPosition(ba.matrixWorld),this.Li?(E.set(X,aa,0),this.WT(E),E.unproject(ba),J=this.Li.x-D.x,L=this.Li.z-D.z,-2<Math.atan2(this.Li.y-D.y,Math.sqrt(L*L+J*J))*U?(R.copy(this.Li).applyMatrix4(ba.matrixWorldInverse),S.copy(E).applyMatrix4(ba.matrixWorldInverse),J=R.z/S.z,H.copy(S).multiplyScalar(J).applyMatrix4(ba.matrixWorld).sub(this.Li),
0!=H.y&&this.$p()):(J=(this.Li.y-D.y)/(E.y-D.y),H.copy(E).sub(D).multiplyScalar(J).add(D).sub(this.Li)),H.multiplyScalar(-1)):(V.makeRotationFromEuler(K.set(0,-this.m.get("yaw")*P,0,"YXZ")),Y.set(-J*this.m.get("translationSpeed")/this.ju(),0,-L*this.m.get("translationSpeed")/this.ju()).applyMatrix4(V),H.copy(Y).multiplyScalar(10*this.IC)),this.za.setX(D.x+H.x),this.za.setY(D.y+H.y),this.za.setZ(D.z+H.z),this.kH(H.x,H.y,H.z,0,0),this.za.xi(this.bk))};d.prototype.Uqa=function(){this.GG();this.Li=null;
this.M1();this.$p();this.o.S.$a()};d.prototype.PRa=function(J,L){var X;X||(X=1);J=360*J/this.wK()*this.m.get("rotationSpeed");L=180*-L/this.mB()*this.m.get("rotationSpeed");this.za.jn(this.m.get("yaw")+J);this.za.aw(this.m.get("pitch")+L);this.za.ID(this.L7/X);this.kH(0,0,0,J,L);this.za.xi(this.bk);this.o.S.$a()};d.prototype.HPa=function(){this.Uqa()};d.prototype.RRa=function(J,L){var X=e.Nb(this.o),aa=this.m.get("distance")||this.Mh||1;L=L*aa*2*Math.tan(X.fov*P/2)/this.mB();0!=L&&this.$p();this.za.setY(this.m.get("y")+
L);J=360*J/this.wK()*this.m.get("rotationSpeed");this.za.jn(this.m.get("yaw")+J);this.kH(0,L,0,J,0);this.za.xi(this.bk)};d.prototype.FPa=function(){this.GG();this.NA();this.$p();this.o.S.$a()};d.prototype.ORa=function(J,L){J=360*-J/this.wK()*this.m.get("rotationSpeed");L=180*L/this.mB()*this.m.get("rotationSpeed");this.za.jn(this.m.get("yaw")+J);this.za.aw(this.m.get("pitch")+L);this.kH(0,0,0,J,L);this.za.xi(this.bk);this.o.S.$a()};d.prototype.CPa=function(){this.$p();this.GG();this.Li=null;this.NA();
this.m.get("keepHeight")&&this.AW();this.o.S.$a()};d.prototype.ARa=function(J){this.yOa(Y);Y.multiplyScalar(-J*this.m.get("translationSpeed")*(this.IC||1));this.Mh&&this.bha(this.Mh+Y.y);this.za.setX(this.m.get("x")+Y.x);this.za.setY(this.m.get("y")+Y.y);this.za.setZ(this.m.get("z")+Y.z);this.za.xi(this.bH)};d.prototype.IPa=function(){this.GG();this.Li=null;this.M1();this.$p();this.o.S.$a();this.Tr=void 0};d.prototype.SRa=function(J,L,X,aa){void 0!==this.Tr||(this.Tr=X);X=h(this.Tr,aa);this.Tr=aa;
this.za.jn(this.m.get("yaw")+X);this.za.ID(this.L7*J/L);this.kH(0,0,0,X,0);this.za.xi(this.bk);this.o.S.$a()};d.prototype.GPa=function(){this.GG();this.Li=null;this.M1();this.$p();this.o.S.$a();this.pV=void 0};d.prototype.QRa=function(J,L,X,aa){void 0!==this.pV||(this.pV=J);J=180*-(L-this.pV)/this.mB();this.pV=L;this.za.aw(this.m.get("pitch")+J);this.za.ID(this.L7*X/aa);this.kH(0,0,0,0,J);this.za.xi(this.bk);this.o.S.$a()};d.prototype.mDa=function(J,L){var X=e.$m(this.o),aa=e.Nb(this.o);this.Li=null;
aa&&X&&(F.set(J,L),this.WT(F),J=this.NK(F,aa),J.length&&(this.Li=J[0].point))};d.prototype.M1=function(){this.Sp=null;var J=e.$m(this.o),L=e.Nb(this.o);L&&J&&(F.set(0,0),J=this.NK(F,L),J.length&&(this.Sp=J[0].point),this.Sp||(this.Sp=(new THREE.Vector3).setFromMatrixPosition(L.matrixWorld)),this.m.set("distance",D.setFromMatrixPosition(L.matrixWorld).distanceTo(this.Sp)),this.L7=this.m.get("distance"),this.m.set("x",this.Sp.x),this.m.set("y",this.Sp.y),this.m.set("z",this.Sp.z),this.m.set("easing",
0))};d.prototype.NA=function(){this.Sp&&(this.Sp=null,D.setFromMatrixPosition(e.Nb(this.o).matrixWorld),this.m.set("distance",0),this.m.set("x",D.x),this.m.set("y",D.y),this.m.set("z",D.z),this.m.set("easing",0))};var w="none",x="dragging",y="rotating",A="rotating yaw dragging y",B="moving front",z="rotating around camera",C="rotating yaw gesture",G="rotating pitch gesture",D=new THREE.Vector3,E=new THREE.Vector3,H=new THREE.Vector3,R=new THREE.Vector3,S=new THREE.Vector3;d.prototype.zl=function(J){this.m!=
J&&(this.m&&(this.Ue&&(this.Ue.dispose(),this.Ue=null),this.za=null,M.forEach(function(L){this.m.unbind(b.G(L),this.nsa,this,!1)}.bind(this)),W.forEach(function(L){this.m.unbind(b.G(L),this.yv,this,!1)}.bind(this)),I.forEach(function(L){this.m.unbind(b.G(L),this.lq,this,!1)}.bind(this)),this.m.set("userInteracting",!1)),this.m=J)&&(this.za=new p(this.m),this.MK(),M.forEach(function(L){this.m.bind(b.G(L),this.nsa,this,!1)}.bind(this)),W.forEach(function(L){this.m.bind(b.G(L),this.yv,this,!1)}.bind(this)),
I.forEach(function(L){this.m.bind(b.G(L),this.lq,this,!1)}.bind(this)),this.yv(),this.lq(),this.Ue=new q(this.o,this.m),this.m.set("userInteracting",!1))};d.prototype.MK=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")))};d.prototype.yv=function(){if(this.o&&this.m){var J=this.o.K(c.ya,
!0);J.translationX=this.m.get("x");var L=this.m.get("y")-J.translationY;Math.abs(L)>N&&(J.translationY=this.m.get("y"),this.Pc!=w||this.$j||this.mj||this.ak||this.ym||this.xm||this.Bh||this.pg||this.$p());J.Ye=this.m.get("z");J.oe=-this.m.get("yaw");J.Le=this.m.get("pitch");J.Me=0;J.mg="YXZ";J.positionX=0;J.positionY=0;J.positionZ=this.m.get("distance");J.easing=this.m.get("easing");(void 0!==this.m.get("minHeight")||this.m.get("keepHeight"))&&this.Asa()}};d.prototype.lq=function(){this.o&&this.m&&
(this.o.K(c.PerspectiveCamera,!0).fov=this.m.get("fov"))};d.prototype.I6=function(J,L,X,aa,ba){var da=this.o.getComponent(c.ya);da&&(V.makeRotationFromEuler(K.set(0,da.oe*P,0,da.mg)),Y.set(J,L,X).applyMatrix4(V).multiplyScalar(this.IC),void 0!==this.Mh&&(this.Mh+=Y.y,this.KM()),this.za.setX(this.m.get("x")+Y.x),this.za.setY(this.m.get("y")+Y.y),this.za.setZ(this.m.get("z")+Y.z),this.za.jn(this.m.get("yaw")+aa),this.za.aw(this.m.get("pitch")+ba),this.za.xi(this.bk))};d.prototype.yOa=function(J){var L=
this.o.getComponent(c.ya);L&&(V.makeRotationFromEuler(K.set(L.Le*P,L.oe*P,L.Me*P,L.mg)),J.set(0,0,1).applyMatrix4(V))};d.prototype.GG=function(){this.px=m();this.Ki=1;this.cu=this.du=this.fu=this.eu=this.bu=0;this.pg=this.xB=this.yB=this.zB=this.vB=this.uB=void 0};d.prototype.kH=function(J,L,X,aa,ba){var da=m();this.Ki=da-this.px;this.px=da;this.cu=J;this.du=L;this.fu=X;this.eu=aa;this.bu=ba};d.prototype.Sqa=function(){this.Ki&&(this.xB=this.cu/this.Ki,this.yB=this.du/this.Ki,this.zB=this.fu/this.Ki,
this.vB=this.eu/this.Ki,this.uB=this.bu/this.Ki,this.pg=1)};d.prototype.nsa=function(){void 0!==this.m.get("minHeight")&&(void 0===this.Mh&&this.AW(),void 0!==this.Mh&&this.Mh<this.m.get("minHeight")&&(this.Mh=this.m.get("minHeight")),this.Asa())};d.prototype.$p=function(){this.Mh=this.zk=void 0;this.LM&&(clearTimeout(this.LM),this.LM=null)};d.prototype.Rka=function(){this.yF=2E3;this.EK=void 0;this.o.S.$a()};d.prototype.SGa=function(){this.yF=0;this.EK=Infinity;this.o.S.$a()};d.prototype.u8=function(){this.Li||
void 0!==this.Mh||this.LM||(this.LM=setTimeout(function(){this.LM=null;this.AW()}.bind(this),0))};d.prototype.AW=function(){var J=this.cka();void 0!==J?this.bha(J):this.KM()};d.prototype.bha=function(J){var L=this.m.get("minHeight")||J;this.Mh=Math.max(J,L);this.KM();this.zk=this.m.get("y")+this.Mh-J};d.prototype.KM=function(){if(this.Mh)this.IC=Math.min(10,Math.max(this.Mh||0,.1));else{this.qp(Y);this.dIa(ca);var J=this.eT(Y,ca);this.IC=J.length?Y.distanceTo(J[0].point):Y.y-(this.m.get("minY")||
0)}this.IC=Math.max(Math.abs(this.IC||0),.1)};d.prototype.Asa=function(){this.Bsa||void 0===this.Mh||(this.Bsa=setTimeout(function(){this.Bsa=null;var J=this.cka();void 0!==J&&void 0!==this.Mh&&(J=this.Mh-J,this.EK=0==this.yF?Infinity:Math.abs(J/this.yF),this.zk=this.m.get("y")+J,0!==J&&this.o.S.$a())}.bind(this),0))};d.prototype.cka=function(){if(this.m)return this.qp(Y),this.GIa(Y.x,Y.y,Y.z)};d.prototype.GIa=function(J,L,X){var aa=this.eT(Y.set(J,L,X),ca.set(0,-1,0));if(0<aa.length)return aa[0].distance;
aa=this.eT(Y.set(J,L+1E3,X),ca.set(0,-1,0));if(0<aa.length)return aa[aa.length-1].distance-1E3};d.prototype.eT=function(J,L){O.ray.origin.copy(J);O.ray.direction.copy(L);return O.intersectObjects(this.yK(),!1)};d.prototype.NK=function(J,L){O.setFromCamera(J,L);return O.intersectObjects(this.yK(),!1)};d.prototype.yK=function(){var J=this.o&&e.$m(this.o);if(!J)return[];var L=[];J.traverse(function(X){X.isSprite||X.isLine||L.push(X)});return L};d.prototype.qp=function(J){J.set(0,0,0);this.m&&(J.applyMatrix4(V.makeTranslation(0,
0,this.m.get("distance"))),J.applyMatrix4(V.makeRotationFromEuler(K.set(this.m.get("pitch")*P,-this.m.get("yaw")*P,0*P,"YXZ"))),J.applyMatrix4(V.makeTranslation(this.m.get("x"),this.m.get("y"),this.m.get("z"))))};d.prototype.dIa=function(J){this.m?(V.makeRotationFromEuler(K.set(this.m.get("pitch")*P,-this.m.get("yaw")*P,0,"YXZ")),J.set(0,0,-1).applyMatrix4(V)):J.set(0,0,-1)};var Q=[g.qa.Sj,g.qa.zi,g.qa.Oa,g.qa.hb,g.qa.mn,g.qa.ut,g.qa.bt,g.qa.yt,g.qa.Q,g.qa.E],M=["minHeight"],W="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),
I=["minFov","maxFov","fov"],P=Math.PI/180,U=180/Math.PI,N=1E-6,V=new THREE.Matrix4,Y=new THREE.Vector3(0,0,0),ca=new THREE.Vector3(0,0,0),F=new THREE.Vector2(0,0),K=new THREE.Euler,O=new THREE.Raycaster;d.prototype.dispose=function(){this.NA();this.zl(null);this.a6();this.F6();this.Bp.eb()};d.Ob=function(J){J.H(c.it).manager=new d(J)};d.eb=function(J){var L=J.getComponent(c.it);L.manager.dispose();L.manager=null;J.na(c.it)};d.update=function(J){J.getComponent(c.it).manager.update()};d.frame=function(J,
L,X){J.getComponent(c.it).manager.frame(L,X)};var T=[];d.HP=function(J){T=[];J.forEach(function(L){0>T.indexOf(L.S)&&T.push(L.S)})};return d});
define("hI","require li ox bm fx kW f nM kc oI hQ bc".split(" "),function(a){function d(A){this.o=A;this.Z5(v);this.E6();this.Bp=new e(A);this.vk=new THREE.Matrix4;this.bH=.05;this.bk=.25;this.$j=this.mj=this.ak=this.ym=this.xm=0;this.xB=this.yB=this.zB=this.vB=this.uB=this.px=this.Ki=this.cu=this.du=this.fu=this.eu=this.bu=void 0;this.z5=1E3;this.Dpa=720;this.Dra=4;this.ola=720;this.b6=2;this.za=this.Ue=null;this.mC(q.bA);this.update()}var h=a("li"),m=a("ox"),k=a("bm"),b=a("fx"),g=a("kW"),e=a("f"),
c=a("nM"),f=a("kc"),l=a("oI"),p=a("hQ"),q=a("bc");h.CX(d,[g,l,p]);d.prototype.update=function(){var A=this.o.getComponent(b.gA);this.zl(A&&A.Vb);this.Bp.pda(A&&A.Vb);var B=(!A.OH||-1==y.indexOf(this.o.S))&&A.enabled;this.YV(A&&(B?A.kg:null));this.$K(!!A&&B&&A.jz);B||this.YB();B&&A.jz||(this.ym=this.xm=this.$j=this.mj=this.ak=0)};d.prototype.frame=function(A,B){this.Ue&&this.Ue.frame(A,B);this.pg&&(this.pg=Math.max(0,this.pg-A/this.z5),this.za.setX(this.m.get("x")+this.xB*this.pg),this.za.setY(this.m.get("y")+
this.yB*this.pg),this.za.setZ(this.m.get("z")+this.zB*this.pg),this.za.jn(this.m.get("yaw")+this.vB*this.pg),this.za.aw(this.m.get("pitch")+this.uB*this.pg),this.o.S.$a());if(this.ym||this.xm||this.$j||this.mj||this.ak)A/=1E3,this.I6(this.$j*A,this.mj*A,this.ak*A,this.ym*A,this.xm*A);this.Bp.Xda()};d.prototype.OL=function(){this.G$()};d.prototype.G$=function(){this.ym=this.xm=this.ak=this.mj=this.$j=0;var A=this.Jf[k.qa.mn]?1:this.Jf[k.qa.bt]?-1:0,B=this.Jf[k.qa.yt]?1:this.Jf[k.qa.ut]?-1:0,z=this.Jf[k.qa.Q]?
1:this.Jf[k.qa.E]?-1:0,C=this.Jf[k.qa.Sj]?1:this.Jf[k.qa.zi]?-1:0,G=this.Jf[k.qa.Oa]?1:this.Jf[k.qa.hb]?-1:0;if(A||B||z||C||G){var D=this.Ui?.2:1;A&&(this.$j=-A*D*this.b6*this.m.get("translationSpeed"));z&&(this.mj=-z*D*this.b6*this.m.get("translationSpeed"));B&&(this.ak=-B*D*this.b6*this.m.get("translationSpeed"));G&&(this.ym=G*D*this.ola*this.m.get("rotationSpeed"));C&&(this.xm=-C*D*this.ola*this.m.get("rotationSpeed"));this.o.S.$a()}};d.prototype.uU=function(){this.mC(q.Zh);this.bi=!0;this.px=
(new Date).getTime();this.Ki=1;this.cu=this.du=this.fu=this.eu=this.bu=0;this.pg=this.xB=this.yB=this.zB=this.vB=this.uB=void 0;this.o.S.$a()};d.prototype.tU=function(A,B){if(this.bi){var z=(A*A+B*B)/2500;z=1<z?1/Math.sqrt(z):1;A*=z;B*=z;z=(new Date).getTime();this.Ki=z-this.px;this.px=z;this.cu=this.du=this.fu=this.eu=this.bu=0;z=this.uL;this.Ui&&(z=!z);z?(this.eu=+A*this.m.get("rotationSpeed")*this.Dpa/this.ju(),this.bu=-B*this.m.get("rotationSpeed")*this.Dpa/this.ju(),this.Cpa(this.eu,this.bu)):
(this.Uja(A*this.Dra/this.ju(),B*this.Dra/this.ju(),r),this.cu=r.x,this.du=r.y,this.fu=r.z,this.j$(this.cu,this.du,this.fu));this.za.xi(this.bk)}};d.prototype.Uja=function(A,B,z){var C=this.o.getComponent(b.ya);z.set(-A*this.m.get("translationSpeed"),+B*this.m.get("translationSpeed"),0*this.m.get("translationSpeed"));z.applyMatrix4(t.makeRotationFromEuler(u.set(C.Le*n,C.oe*n,C.Me*n,C.mg)));z.multiplyScalar(this.m.get("distance"))};d.prototype.YB=function(){this.lV(q.Zh);this.bi&&(this.bi=!1,this.Ki&&
(this.xB=this.cu/this.Ki,this.yB=this.du/this.Ki,this.zB=this.fu/this.Ki,this.vB=this.eu/this.Ki,this.uB=this.bu/this.Ki,this.pg=1,this.za.xi(this.bk)),this.px=void 0)};d.prototype.vU=function(A){this.za.ID(this.m.get("distance")-A*this.m.get("distance")*this.m.get("translationSpeed"));this.za.xi(this.bH)};d.prototype.Kma=function(){this.Ska=this.m.get("distance");this.bi=!1};d.prototype.Z6=function(A,B,z){this.Uja(A/this.ju(),B/this.ju(),r);this.j$(r.x,r.y,r.z);this.za.ID(this.Ska/z);this.za.xi(this.bk)};
d.prototype.a7=function(){this.Ska=this.m.get("distance")};d.prototype.I6=function(A,B,z,C,G){var D=this.o.getComponent(b.ya);D&&(t.makeRotationFromEuler(u.set(0,D.oe*n,0,D.mg)),r.set(A,B,z).applyMatrix4(t).multiplyScalar(this.m.get("distance")),this.j$(r.x,r.y,r.z),this.Cpa(C,G),this.za.xi(this.bk))};d.prototype.j$=function(A,B,z){this.za.setX(this.m.get("x")+A);this.za.setY(this.m.get("y")+B);this.za.setZ(this.m.get("z")+z)};d.prototype.Cpa=function(A,B){this.za.jn(this.m.get("yaw")+A);this.za.aw(this.m.get("pitch")+
B)};d.prototype.zl=function(A){this.m!=A&&(this.m&&(this.Ue&&(this.Ue.dispose(),this.Ue=null),this.za=null,w.forEach(function(B){this.m.unbind(m.G(B),this.yv,this,!1)}.bind(this)),x.forEach(function(B){this.m.unbind(m.G(B),this.lq,this,!1)}.bind(this)),this.m.set("userInteracting",!1)),this.m=A)&&(this.m.set("userInteracting",!1),this.za=new c(this.m),this.MK(),w.forEach(function(B){this.m.bind(m.G(B),this.yv,this,!1)}.bind(this)),x.forEach(function(B){this.m.bind(m.G(B),this.lq,this,!1)}.bind(this)),
this.yv(),this.lq(),this.Ue=new f(this.o,this.m))};d.prototype.MK=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")),this.m.set("distance",this.m.get("initialDistance")),this.m.set("easing",this.bk))};d.prototype.yv=function(){if(this.o&&this.m){var A=this.o.K(b.ya,!0);A.translationX=
this.m.get("x");A.translationY=this.m.get("y");A.Ye=this.m.get("z");A.oe=-this.m.get("yaw");A.Le=this.m.get("pitch");A.Me=0;A.mg="YXZ";A.positionX=0;A.positionY=0;A.positionZ=this.m.get("distance");A.easing=this.m.get("easing")}};d.prototype.lq=function(){this.o&&this.m&&(this.o.K(b.PerspectiveCamera,!0).fov=this.m.get("fov"))};var n=Math.PI/180,r=new THREE.Vector3(0,1,0),u=new THREE.Euler,t=new THREE.Matrix4,v=[k.qa.Sj,k.qa.zi,k.qa.Oa,k.qa.hb,k.qa.mn,k.qa.ut,k.qa.bt,k.qa.yt,k.qa.Q,k.qa.E],w="easing minYaw maxYaw yaw minPitch maxPitch pitch minDistance maxDistance distance minX maxX x minY maxY y minZ maxZ z".split(" "),
x=["minFov","maxFov","fov"];d.prototype.dispose=function(){this.zl(null);this.a6();this.F6();this.Bp.eb()};d.Ob=function(A){A.H(b.pt).manager=new d(A)};d.eb=function(A){var B=A.getComponent(b.pt);B.manager.dispose();B.manager=null;A.na(b.pt)};d.update=function(A){A.getComponent(b.pt).manager.update()};d.frame=function(A,B,z){A.getComponent(b.pt).manager.frame(B,z)};var y=[];d.HP=function(A){y=[];A.forEach(function(B){0>y.indexOf(B.S)&&y.push(B.S)})};return d});
define("gX","require li ls fx dI bX hI".split(" "),function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("dI"),b=a("bX"),g=a("hI");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(e,c){(this.qca.ie.length||this.qca.Ag.length)&&k.mYa(this.qca.C);this.tua.C.length&&this.tua.C.slice().forEach(b.Ob);this.JO.Ya.length&&this.JO.Ya.slice().forEach(b.update);this.JO.C.length&&this.JO.C.slice().forEach(function(f){b.frame(f,e,c)});this.uua.C.length&&this.uua.C.slice().forEach(b.eb);this.oua.C.length&&
this.oua.C.slice().forEach(k.Ob);this.IO.Ya.length&&this.IO.Ya.slice().forEach(k.update);this.IO.C.length&&this.IO.C.slice().forEach(function(f){k.frame(f,e,c)});this.pua.C.length&&this.pua.C.slice().forEach(k.eb);this.vxa.C.length&&this.vxa.C.slice().forEach(g.Ob);this.sP.Ya.length&&this.sP.Ya.slice().forEach(g.update);this.sP.C.length&&this.sP.C.slice().forEach(function(f){g.frame(f,e,c)});this.wxa.C.length&&this.wxa.C.slice().forEach(g.eb);if(this.FO.ie.length||this.FO.Ag.length)k.HP(this.FO.C),
this.IO.C.slice().forEach(k.update),b.HP(this.FO.C),this.JO.C.slice().forEach(b.update),g.HP(this.FO.C),this.sP.C.slice().forEach(g.update)};a.J={};a.J.FO=[m.qw];a.J.qca=[m.DQ];a.J.oua=[m.$z,m.gt.not];a.J.IO=[m.$z,m.gt];a.J.pua=[m.$z.not,m.gt];a.J.tua=[m.aA,m.it.not];a.J.JO=[m.aA,m.it];a.J.uua=[m.aA.not,m.it];a.J.vxa=[m.gA,m.pt.not];a.J.sP=[m.gA,m.pt];a.J.wxa=[m.gA.not,m.pt];return a});
define("iE",["require","fx"],function(a){function d(m){this.o=m;this.Qqa=this.ha=null;this.ua=this.ia=void 0;this.update()}var h=a("fx");d.prototype.update=function(){var m=this.o.getComponent(h.Yh),k=m.source&&m.source.width||0,b=m.source&&m.source.height||0;!this.ha||!!this.ha.m0a==m.isSprite&&this.ia==k&&this.ua==b||(this.ha.map.dispose(),this.ha.dispose(),this.ha=null);this.ia=k;this.ua=b;this.ha||(m.isSprite?(this.ha=new THREE.SpriteMaterial,this.ha.sizeAttenuation=!1):this.ha=new THREE.MeshBasicMaterial,
this.ha.map=new THREE.Texture,this.ha.transparent=!0,this.o.H(h.Material).material=this.ha);this.ha.map.image!=m.source&&(this.ha.map.image=m.source,this.ha.map.needsUpdate=!0);this.Qqa!=m.$P&&(this.Qqa=m.$P,this.ha.map.needsUpdate=!0);this.ha.opacity=m.opacity||0;this.ha.depthTest=!!m.depthTest;this.ha.visible=0<this.ha.opacity&&!m.hidden;this.ha.needsUpdate=!0;this.o.S.$a()};d.prototype.dispose=function(){this.ha&&(this.ha.map.dispose(),this.ha.map=null,this.ha.dispose(),this.ha=null,this.o.na(h.Material));
this.o=null};d.Ob=function(m){m.H(h.ow).manager=new d(m)};d.eb=function(m){var k=m.getComponent(h.ow);k.manager.dispose();k.manager=null;m.na(h.ow)};d.update=function(m){m.getComponent(h.ow).manager.update()};return d});
define("ig",["require","li","ls","fx","iE"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("iE");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.Nl.C.length&&this.Nl.C.slice().forEach(k.Ob);this.materials.Ya.length&&this.materials.Ya.slice().forEach(k.update);this.Ol.C.length&&this.Ol.C.slice().forEach(k.eb)};a.J={};a.J.Nl=[m.Yh,m.ow.not];a.J.materials=[m.Yh,m.ow];a.J.Ol=[m.Yh.not,m.ow];return a});
define("dX",["require","ox","fx","ck","bc"],function(a){function d(x){this.ni=x;this.ge=this.Hg=null;this.fK=!1;this.update()}var h=a("ox"),m=a("fx"),k=a("ck"),b=a("bc");d.prototype.update=function(){var x=this.ni.getComponent(m.$e);this.bN(x&&x.enabled?x.jba:null);this.aN(x&&x.enabled?x.aba:null)};d.prototype.frame=function(){this.Lf()};d.prototype.bN=function(x){this.Hg!=x&&(this.Hg&&this.Hg.unbind(h.hc,this.ef,this,!0),(this.Hg=x)&&this.Hg.bind(h.hc,this.ef,this,!0))};d.prototype.aN=function(x){this.ge!=
x&&(this.ge&&this.fK&&this.ge.pop(b.Zh),(this.ge=x)&&this.fK&&this.ge.push(b.Zh))};d.prototype.ef=function(){var x=v.get(this.ni.S);x&&0!=x.length&&this.ni.S.$a()};d.prototype.Lf=function(){var x=v.get(this.ni.S),y=x&&x.length||0;this.dqa(0<y);if(0!=y&&(y=this.FS())){var A=this.ni.getComponent(m.$e);if(A)for(g.copy(A.origin).applyMatrix4(y.matrixWorld),e.copy(A.origin).add(A.direction).applyMatrix4(y.matrixWorld).sub(g).normalize(),y=0;y<x.length;y++){A=x[y];var B=A.getComponent(m.Go),z=A.getComponent(m.pw),
C=w.get(A);C&&B&&z&&(z.bua||(z.bua=(new THREE.Vector3).setFromMatrixPosition(C.matrixWorld)),c.copy(z.bua),f.copy(B.direction),this.yIa(c,f,g,e,l),z.dba||(z.dba=(new THREE.Vector3).copy(l).sub(c)),l.sub(z.dba),B.min&&0>p.copy(l).sub(B.min).dot(B.direction)&&l.copy(B.min),l.applyMatrix4(q.copy(C.parent.matrixWorld).invert()),A=A.K(m.ya),n.multiply(q.makeTranslation(A.translationX,A.translationY,A.Ye).invert()),n.multiply(q.makeRotationFromEuler(r.set(A.Le*t,A.oe*t,A.Me*t,A.mg)).invert()),l.applyMatrix4(q),
A.positionX=l.x,A.positionY=l.y,A.positionZ=l.z)}}};d.prototype.dqa=function(x){this.fK!=x&&(this.fK=x,this.ge&&(this.fK?this.ge.push(b.Zh):this.ge.pop(b.Zh)))};d.prototype.yIa=function(x,y,A,B,z){u.copy(x).sub(A);A=y.dot(B);var C=B.dot(B),G=y.dot(y);B=u.dot(B);var D=u.dot(y);z.copy(x);x=A*A-C*G;0!=x&&z.addScaledVector(y,(C*D-B*A)/x)};d.prototype.FS=function(){var x=k.Nb(this.ni);return x&&x.isCamera?x:(x=k.cI(x))&&k.fz(x)};var g=new THREE.Vector3,e=new THREE.Vector3,c=new THREE.Vector3,f=new THREE.Vector3,
l=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Matrix4,n=new THREE.Matrix4,r=new THREE.Euler,u=new THREE.Vector3,t=Math.PI/180;d.prototype.dispose=function(){this.dqa(!1);this.bN(null);this.aN(null);this.o=null};d.Bda=function(x){x.H(m.st).manager=new d(x)};d.Lda=function(x){var y=x.getComponent(m.st);y.manager.dispose();y.manager=null;x.na(m.st)};d.Yda=function(x){x.getComponent(m.st).manager.update()};d.frame=function(x){x.getComponent(m.st).manager.frame()};var v=new Map,w=new Map;d.UYa=function(x){x.H(m.pw);
x.H(m.qw);d.Sza(x)};d.Sza=function(x){var y=k.Nb(x);w.set(x,y);var A=v.get(x.S);A||v.set(x.S,A=[]);y&&(y=A,0>y.indexOf(x)&&y.push(x))};d.xza=function(x){var y=v.get(x.S),A=y.indexOf(x);0<=A&&y.splice(A,1);w["delete"](x);x.na(m.pw);x.na(m.qw)};return d});
define("kQ",["require","li","ls","fx","dX"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("dX");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.xP.C.length&&this.xP.C.slice().forEach(k.Bda);this.Fq.Ya.length&&this.Fq.Ya.slice().forEach(k.Yda);this.Fq.C.length&&this.Fq.C.slice().forEach(k.frame);this.yP.C.length&&this.yP.C.slice().forEach(k.Lda);this.aua.C.length&&this.aua.C.slice().forEach(k.UYa);this.$ta.C.length&&this.$ta.C.slice().forEach(k.Sza);this.cua.C.length&&
this.cua.C.slice().forEach(k.xza);this.dua.C.length&&this.dua.C.slice().forEach(k.xza)};a.J={};a.J.xP=[m.$e,m.st.not];a.J.Fq=[m.$e,m.st];a.J.yP=[m.$e.not,m.st];a.J.aua=[m.Object3D,m.Go,m.pw.not];a.J.$ta=[m.Object3D,m.Go,m.pw];a.J.cua=[m.Object3D.not,m.pw];a.J.dua=[m.Go.not,m.pw];return a});
define("kH",["require","fx","ck"],function(a){function d(w){this.o=w;this.a8=!1}var h=a("fx"),m=a("ck");d.prototype.update=function(){this.a8=!1};d.prototype.frame=function(){this.Lf()};d.prototype.Lf=function(){if(!this.a8&&(this.Fa=this.Fa||m.$m(this.o))){var w=m.Nb(this.o),x=w&&w.parent;if(x&&x.matrixWorld){var y=[];this.Fa.traverse(function(C){C.isSprite||C.isLine||C==w||y.push(C)});var A=this.o.K(h.ht);l.set(A.x,A.y,A.z).applyMatrix4(x.matrixWorld);f.ray.origin.set(l.x,l.y,l.z);f.ray.direction.set(0,
-1,0);var B=f.intersectObjects(y,!1);if(0!=B.length){var z=B[0];g.copy(x.matrixWorld).invert();B=this.o.K(h.ya,!0);e.setFromMatrixPosition(x.matrixWorld);k.copy(z.object.matrixWorld);c.setFromMatrixPosition(k);b.copy(k).invert();!A.dP&&z.face&&z.face.normal?n.copy(z.face.normal).applyMatrix4(k).sub(c).add(e):n.copy(e).add(r);n.applyMatrix4(g).normalize();t.setFromUnitVectors(q,n);u.setFromQuaternion(t,B.mg);B.Le=u.x*v;B.oe=u.y*v;B.Me=u.z*v;l.copy(z.point).applyMatrix4(g);B.translationX=l.x;B.translationY=
l.y;B.Ye=l.z;p.setFromMatrixScale(g);x=Math.max(p.x,p.y,p.z);B.positionX=0;B.positionY=0;B.positionZ=x*A.distance;this.a8=!0}}}};d.prototype.dispose=function(){};var k=new THREE.Matrix4,b=new THREE.Matrix4,g=new THREE.Matrix4,e=new THREE.Vector3,c=new THREE.Vector3,f=new THREE.Raycaster,l=new THREE.Vector3,p=new THREE.Vector3;new THREE.Matrix4;new THREE.Matrix4;var q=new THREE.Vector3(0,0,1),n=new THREE.Vector3,r=new THREE.Vector3(0,1,0),u=new THREE.Euler,t=new THREE.Quaternion,v=180/Math.PI;d.Ob=
function(w){w.H(h.Uq).manager=new d(w)};d.eb=function(w){var x=w.getComponent(h.Uq);x.manager.dispose();x.manager=null;w.na(h.Uq)};d.frame=function(w){w.getComponent(h.Uq).manager.frame()};d.update=function(w){w.getComponent(h.Uq).manager.update()};return d});
define("hE",["require","li","ls","fx","kH"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("kH");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.qua.C.length&&this.qua.C.slice().forEach(k.Ob);this.UX.Ya.length&&this.UX.C.slice().forEach(k.update);this.UX.C.length&&this.UX.C.slice().forEach(k.frame);this.rua.C.length&&this.rua.C.slice().forEach(k.eb);this.sua.C.length&&this.sua.C.slice().forEach(k.eb)};a.J={};a.J.qua=[m.Object3D,m.ht,m.Uq.not];a.J.UX=[m.Object3D,
m.ht,m.Uq];a.J.rua=[m.Object3D.not,m.Uq];a.J.sua=[m.ht.not,m.Uq];return a});define("gh",["require","fx"],function(a){var d=a("fx");return{Ob:function(h){var m=h.H(d.gE),k=h.H(d.Object3D);h.H(d.ya);h=h.K(d.Group);k.Yc=m.group=h.group=new THREE.Group},eb:function(h){h.getComponent(d.gE).group=null;h.na(d.gE);h.na(d.Object3D)}}});
define("ln",["require","li","ls","fx","gh"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("gh");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.lva.C.length&&this.lva.C.slice().forEach(k.Ob);this.mva.C.length&&this.mva.C.slice().forEach(k.eb)};a.J={};a.J.lva=[m.Group,m.gE.not];a.J.mva=[m.Group.not,m.gE];return a});
define("bf","require li ox kK cw gf bg".split(" "),function(a){function d(l,p,q,n){this.Qba=l;this.src=l.src;this.zZ=p;this.AO=q;this.YX=n;this.frameWidth=this.Qba.width/this.AO;this.frameHeight=this.Qba.height/this.zZ}var h=a("li"),m=a("ox"),k=a("kK");a("cw");var b=a("gf"),g=a("bg");a=h.extend(b,function(l,p,q,n,r,u,t){b.call(this);this.sm=r;this.eh=new d(l,p,q,r);this.rpa=u;this.bda(n);this.c4=t;this.O=document.createElement("canvas");this.O.width=this.eh.frameWidth;this.O.height=this.eh.frameHeight;
this.xa=this.O.getContext("2d");this.xa.globalCompositeOperation="copy";this.A=k.T;this.zV=this.lm=0;this.W2=void 0;this.Dh=e.request(this.eh);this.Dh.bind(m.ta,this.ij,this,!0);this.ij()});a.prototype.bda=function(l){if(this.Fe!==l){var p=this.JN;this.Fe=l;this.JN=this.Fe*this.eh.YX;this.d4=this.JN-.1*this.Fe;void 0!==p&&(this.lm=this.lm/p*this.JN)}};a.prototype.Eya=function(l){this.c4!==l&&(this.c4=l,this.ij())};a.prototype.Id=function(l){if(this.A!=l){if(l==k.Db){if(this.A!=k.X)return}else l==
k.X?this.A==k.T&&(this.lm=this.zV=0,this.ij()):l!=k.T||0==this.lm&&0!=this.zV||(this.lm=this.d4,this.ij());this.A=l;g.requestFrame(this.tj,this);this.trigger(m.le)}};a.prototype.getState=function(){return this.A};a.prototype.tj=function(l){this.A==k.X&&(this.lm=Math.min(this.lm+l,this.Dh.Dh.length*this.Fe),this.lm>=this.JN&&(this.zV++,this.rpa&&this.zV==this.rpa?(this.Id(k.T),this.lm=this.d4,this.trigger(m.sb)):(this.lm%=this.JN,this.trigger(m.br))),this.ij(),this.A==k.X&&g.requestFrame(this.tj,this))};
a.prototype.clear=function(){this.Id(k.T);this.O.width=this.O.height=0;this.O=null;e.release(this.eh);this.eh=null};a.prototype.lg=function(){return this.O};a.prototype.ij=function(){var l=this.c4&&this.lm>=this.d4?0:Math.floor(this.lm/this.Fe);this.W2!=l&&l<this.Dh.Dh.length&&(this.W2=l,this.xa.drawImage(this.Dh.get(this.W2),0,0),this.trigger(m.ta))};d.prototype.isEqual=function(l){return this.src==l.src&&this.zZ==l.zZ&&(this.AO=l.AO)&&(this.frameWidth=l.frameWidth)&&(this.frameHeight=l.frameHeight)&&
(this.YX=l.YX)};var e={oj:[],rCa:2E3,request:function(l){l=this.ci(l);l.ED++;this.fra(l);return l.frames},release:function(l){l=this.ci(l);l.ED--;0==l.ED&&this.tPa(l)},ci:function(l){for(var p=0;p<this.oj.length;p++)if(this.oj[p].PTa.isEqual(l))return this.oj[p];p={};p.PTa=l;p.frames=new c(l);p.ED=0;this.oj.push(p);return p},tPa:function(l){this.fra(l);l.cba=setTimeout(function(){e.iGa(l)},e.rCa)},fra:function(l){l.cba&&(clearTimeout(l.cba),l.cba=null)},iGa:function(l){this.oj.splice(this.oj.indexOf(l),
1);l.frames.clear()}},c=h.extend(b,function(l){b.call(this);this.eh=l;this.Dh=[];f.add(this)});c.prototype.clear=function(){f.remove(this);this.Dh.forEach(function(l){l.width=0;l.height=0});this.Dh=null};c.prototype.get=function(l){return this.Dh[l]};c.prototype.ITa=function(){var l=this.Dh.length%this.eh.AO,p=Math.floor(this.Dh.length/this.eh.AO)%this.eh.zZ,q=document.createElement("canvas");q.width=this.eh.frameWidth;q.height=this.eh.frameHeight;var n=q.getContext("2d");n.globalCompositeOperation=
"copy";n.drawImage(this.eh.Qba,l*this.eh.frameWidth,p*this.eh.frameHeight,this.eh.frameWidth,this.eh.frameHeight,0,0,this.eh.frameWidth,this.eh.frameHeight);c.iHa(q);this.Dh.push(q);this.trigger(m.ta)};c.iHa=function(){var l=document.createElement("canvas");l.width=1;l.height=1;var p=l.getContext("2d");return function(q){p.drawImage(q,0,0,1,1,0,0,1,1)}}();var f={oj:[],a$:null,add:function(l){this.oj.push(l);this.Kpa()},remove:function(l){this.oj=this.oj.filter(function(p){return p!=l})},Kpa:function(){this.a$||
(this.a$=setTimeout(function(){this.a$=null;this.gM()}.bind(this),40))},gM:function(){if(0!=this.oj.length){for(var l=(new Date).getTime()+10;(new Date).getTime()<l;){var p=this.oj.filter(function(q){return 0==q.Dh.length});p=0<p.length?p[0]:this.oj[0];p.ITa();if(p.Dh.length==p.eh.YX&&(this.oj.splice(this.oj.indexOf(p),1),0==this.oj.length))return}this.Kpa()}}};return a});
define("os",["require","ox","kK"],function(a){function d(k,b){this.zd=k;this.qc=b;this.Hb=!1;this.j1();this.n1();this.WB()}var h=a("ox"),m=a("kK");d.prototype.clear=function(){this.v8();this.B8();this.zd.set("state",m.T);this.qc=this.zd=null};d.prototype.rf=function(k){this.Hb!=k&&(this.Hb=k,this.ms())};d.prototype.WB=function(){this.qc.Id(this.zd.get("state"))};d.prototype.LL=function(){this.ms()};d.prototype.NL=function(){this.qc.bda(this.zd.get("frameDuration"))};d.prototype.ML=function(){this.qc.Eya("first"==
this.zd.get("finalFrame"))};d.prototype.JL=function(){this.zd.trigger(h.br)};d.prototype.IL=function(){this.zd.trigger(h.sb)};d.prototype.KL=function(){this.zd.set("state",this.qc.getState())};d.prototype.ms=function(){this.zd.get("autoplay")&&this.qc.Id(this.Hb?m.X:m.T)};d.prototype.j1=function(){this.zd.bind(h.G("state"),this.WB,this,!0);this.zd.bind(h.G("autoplay"),this.LL,this,!0);this.zd.bind(h.G("frameDuration"),this.NL,this,!0);this.zd.bind(h.G("finalFrame"),this.ML,this,!0)};d.prototype.v8=
function(){this.zd.unbind(h.G("state"),this.WB,this,!0);this.zd.unbind(h.G("autoplay"),this.LL,this,!0);this.zd.unbind(h.G("frameDuration"),this.NL,this,!0);this.zd.unbind(h.G("finalFrame"),this.ML,this,!0)};d.prototype.n1=function(){this.qc.bind(h.br,this.JL,this,!0);this.qc.bind(h.sb,this.IL,this,!0);this.qc.bind(h.le,this.KL,this,!0)};d.prototype.B8=function(){this.qc.unbind(h.br,this.JL,this,!0);this.qc.unbind(h.sb,this.IL,this,!0);this.qc.unbind(h.le,this.KL,this,!0)};return d});
define("eA",["require","ox","nq","bf","os"],function(a){function d(g,e,c,f){this.qe=g;this.Xb=e;this.ub=c;this.Ba=f.bind(this);m.Ka("AnimatedImageResource",this.qe)?(this.qc=new k(this.Xb,this.qe.get("rowCount",1),this.qe.get("colCount",1),this.qe.get("frameDuration"),this.qe.get("frameCount",this.qe.get("rowCount",1)*this.qe.get("colCount",1)),this.qe.get("repeat"),"first"==this.qe.get("finalFrame")),this.ub.image=this.qc.lg(),this.qc.bind(h.ta,this.JK,this,!0),this.zn=new b(this.qe,this.qc)):this.ub.image=
this.Xb;this.ub.needsUpdate=!0;this.Ba()}var h=a("ox"),m=a("nq"),k=a("bf"),b=a("os");d.prototype.rf=function(g){this.zn&&this.zn.rf(g)};d.prototype.dispose=function(){this.zn&&(this.zn.clear(),this.zn=null);this.qc&&(this.qc.unbind(h.ta,this.JK,this,!0),this.qc.clear(),this.qc=null);this.ub=this.Xb=this.qe=null};d.prototype.JK=function(){this.ub.needsUpdate=!0;this.Ba()};return d});
define("eE",["require"],function(){var a={},d=null;a.Eua=function(){if(!d){var h=document.createElement("canvas");h.width=128;h.height=128;h.getContext("2d").clearRect(0,0,h.width,h.height);d=h}return d};return a});
define("jr",["require","kL","mL","lX"],function(a){var d=a("kL"),h=a("mL"),m=a("lX"),k=180/Math.PI,b=Math.PI/180;return{gY:function(g,e,c,f,l,p,q){e||(e=g*f/c);l||(l=m.sw);var n={};switch(l){case m.sw:n.width=g;n.height=e;break;case m.NONE:n.width=c;n.height=f;break;case m.qh:n.width=Math.min(e*c/f,g);n.height=Math.min(g*f/c,e);break;case m.Tq:n.width=Math.max(e*c/f,g);n.height=Math.max(g*f/c,e);break;case m.Oo:n.width=g;n.height=g*f/c;break;case m.Nj:n.width=e*c/f,n.height=e}n.width>g?(n.fw=g/n.width,
n.fQ=p==h.Oa?0:p==h.hb?1-n.fw:.5*(1-n.fw),n.width=g):(n.fQ=0,n.fw=1);n.height>e?(n.gw=e/n.height,n.iQ=q==h.tc?1-n.gw:q==h.oc?0:.5*(1-n.gw),n.height=e):(n.iQ=0,n.gw=1);return n},Bba:function(g,e,c,f,l,p,q,n){e||(e=d.Jl(g,c,f));l||(l=m.sw);p||(p=4096/360);var r={};switch(l){case m.sw:r.ze=g;r.Pq=e;break;case m.NONE:r.ze=2*Math.atan2(.5*c,45*p)*k;r.Pq=d.Jl(r.ze,c,f);break;case m.qh:r.ze=Math.min(d.Oq(e,c,f),g);r.Pq=Math.min(d.Jl(g,c,f),e);break;case m.Tq:r.ze=Math.max(d.Oq(e,c,f),g);r.Pq=Math.max(d.Jl(g,
c,f),e);break;case m.Oo:r.ze=g;r.Pq=d.Jl(g,c,f);break;case m.Nj:r.ze=d.Oq(e,c,f),r.Pq=e}r.ze>g?(r.fw=Math.tan(.5*g*b)*c/Math.tan(.5*r.ze*b)/c,r.fQ=q==h.Oa?0:q==h.hb?1-r.fw:.5*(1-r.fw),r.ze=g):(r.fQ=0,r.fw=1);r.Pq>e?(r.gw=Math.tan(.5*e*b)*f/Math.tan(.5*r.Pq*b)/f,r.iQ=n==h.tc?1-r.gw:n==h.oc?0:.5*(1-r.gw),r.Pq=e):(r.iQ=0,r.gw=1);return r}}});
define("jN","require ku ox cw nq co lf eA eE fx nZ bE jr".split(" "),function(a){function d(v){this.o=v;this.yC=this.yC.bind(this);this.Ba=this.Ba.bind(this);this.zj=this.zj.bind(this);v=v.getComponent(l.Yl);this.Lg=v.vo;this.he=v.Ea;this.m=v.Vb;this.qe=v.Pba;this.mKa=v.isSprite;this.Yf=!1;this.om=this.Xa=null;this.tr=0;this.w9=this.q3=this.tb=this.gF=this.W=void 0;h.fa(this.m,r,this.yC,!1);h.fa(this.qe,u,this.yC,!1);h.fa(this.m,t,this.zj,!1);this.yC()}var h=a("ku"),m=a("ox"),k=a("cw"),b=a("nq"),
g=a("co"),e=a("lf"),c=a("eA"),f=a("eE"),l=a("fx"),p=a("nZ"),q=a("bE"),n=a("jr"),r=["height","scaleMode","width"],u=["levels.url","levels.width","levels.height"],t="depthTest enabled encoding hidden side opacity".split(" ");d.prototype.frame=function(v){this.om&&(this.om.yb(v),this.tr=this.om.cb("alpha"),this.N$(),this.om.Ke()&&(this.om=null),this.o.S.$a());this.Yf&&(this.Yf=!1)};d.prototype.yC=function(){var v=this.qe&&this.qe.get("levels")||[];v=v.filter(function(D){return!!D.get("url")});var w=
1,x=1;b.Ka("AnimatedImageResource",this.qe)&&(w=this.qe.get("rowCount"),x=this.qe.get("colCount"));var y=null;if(0<v.length){v.sort(function(D,E){return E.get("width")-D.get("width")});y=this.m.get("width");var A=this.m.get("height"),B=this.m.get("scaleMode","fill"),z=v[0].get("width")/x,C=v[0].get("height")/w,G=n.gY(y,A,z,C,B);y=v.reduce(function(D,E){return!D||D.get("width")>E.get("width")&&E.get("width")/x>=G.width&&E.get("height")/w>=G.height?E:D})}this.cN(y)};d.prototype.cN=function(v){this.Xa!=
v&&(this.Xa&&(this.sGa(),this.w3(),this.bS(),this.np(),this.Yf=!1),this.Xa=v)&&(this.hp(),this.TA(),this.UJ(),this.Yf=!1,this.Ba())};d.prototype.UJ=function(){this.vd||(this.vd=new g,this.vd.EI([this.Xa.get("url")]),this.vd.bind(m.Z,this.ld,this,!0),this.vd.bind(m.sc,this.bna,this,!0),this.vd.bind(m.Gc,this.Kf,this,!0),this.Ur=this.o.getComponent(l.Yl).priority,e.bn(this.vd,this.Ur))};d.prototype.np=function(){this.vd&&(this.vd.unbind(m.Z,this.ld,this,!0),this.vd.unbind(m.sc,this.bna,this,!0),this.vd.unbind(m.Gc,
this.Kf,this,!0),e.aj(this.vd,this.Ur),this.vd=null)};d.prototype.ld=function(){this.bGa();this.n$(new k(m.Z))};d.prototype.bna=function(v){this.n$(new k(m.sc,{percent:v.Sg}))};d.prototype.Kf=function(){this.n$(new k(m.Gc))};d.prototype.n$=function(v){this.Lg&&this.Lg.trigger(v)};d.prototype.Ba=function(){this.Yf||(this.Yf=!0,this.o.S.$a())};d.prototype.hp=function(){this.ub=new THREE.Texture;this.ub.image=f.Eua();this.ub.generateMipmaps=!0;this.ub.minFilter=THREE.LinearMipMapLinearFilter};d.prototype.bS=
function(){this.ub&&(this.ub.dispose(),this.ub=null)};d.prototype.TA=function(){this.mKa?(this.ha=new THREE.SpriteMaterial({map:this.ub}),this.ha.sizeAttenuation=!1):this.ha=new THREE.MeshBasicMaterial({map:this.ub});this.ha.transparent=!0;this.ha.visible=0;this.ha.opacity=0;this.ha.needsUpdate=!0;this.o.H(l.Material).material=this.ha;this.zj(!0)};d.prototype.zj=function(v){var w=this.m.get("enabled")&&!this.m.get("hidden")&&!!this.ko,x=this.W!==w;if(x||v){this.W=w;w=this.tr;var y=this.W?1:0,A=this.m.get("hidden")?
0:200;this.om=w!==y?new p("linear",[new q("alpha",w,y,void 0)],Math.abs(w-y)*A):null;this.N$()}w=this.m.get("encoding");if(this.gF!==w||v)this.gF=w,this.YRa();w=this.m.get("depthTest");if(this.q3!==w||v)this.q3=w,this.xRa();w=this.m.get("opacity");if(this.tb!==w||v)this.tb=w,this.N$();w=this.m.get("side");if(this.w9!==w||v)this.w9=w,this.yRa();x&&this.he&&this.he.trigger(this.W?m.hd:m.sd)};d.prototype.YRa=function(){if(this.ha&&(this.ha.map||this.ha.emissiveMap)){var v="srgb"==this.gF?THREE.sRGBEncoding:
THREE.LinearEncoding;this.ha.map&&(this.ha.map.encoding=v);this.ha.emissiveMap&&(this.ha.emissiveMap.encoding=v);this.ha.needsUpdate=!0}this.Ba()};d.prototype.xRa=function(){this.ha&&(this.ha.depthTest=this.q3);this.Ba()};d.prototype.N$=function(){this.ha&&(this.ha.opacity=this.tb*this.tr,this.ha.visible=0<this.ha.opacity,this.ha.isShaderMaterial&&this.ha.uniforms.opacity&&(this.ha.uniforms.opacity.value=this.tb*this.tr));this.ko&&this.ko.rf(0<this.tb);this.Ba()};d.prototype.yRa=function(){if(this.ha)switch(this.w9){case "back":this.ha.side=
THREE.BackSide;break;case "double":this.ha.side=THREE.DoubleSide;break;default:this.ha.side=THREE.FrontSide}this.Ba()};d.prototype.w3=function(){this.ha&&(this.ha.dispose(),this.ha=null,this.o.na(l.Material))};d.prototype.bGa=function(){this.ko=new c(this.qe,e.lf(this.Xa.get("url")),this.ub,this.Ba);this.zj(!0)};d.prototype.sGa=function(){this.ko&&(this.ko.dispose(),this.ko=null)};d.prototype.dispose=function(){this.cN(null);h.ca(this.m,r,this.yC);h.ca(this.qe,u,this.yC);h.ca(this.m,t,this.zj);this.o=
this.Lg=this.qe=this.m=null};d.Ob=function(v){v.H(l.vw).manager=new d(v)};d.eb=function(v){var w=v.getComponent(l.vw);w.manager.dispose();w.manager=null;v.na(l.vw)};d.frame=function(v,w){v.getComponent(l.vw).manager.frame(w)};return d});
define("ms",["require","li","ls","fx","jN"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("jN");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(b,g){this.Nl.C.length&&this.Nl.C.slice().forEach(k.Ob);this.Ol.C.length&&this.Ol.C.slice().forEach(k.eb);this.materials.C.length&&this.materials.C.slice().forEach(function(e){k.frame(e,b,g)})};a.J={};a.J.Nl=[m.Yl,m.vw.not];a.J.materials=[m.Yl,m.vw];a.J.Ol=[m.Yl.not,m.vw];return a});
define("K",["require","ns","fx"],function(a){function d(k){this.o=k;this.ha=null;this.update()}var h=a("ns"),m=a("fx");d.prototype.update=function(){this.ha||(this.ha=new THREE.LineBasicMaterial,this.ha.transparent=!0,this.o.H(m.Material).material=this.ha);var k=this.o.getComponent(m.Xg);this.ha.color=new THREE.Color(h.SD(k.color||"#ffffff"));this.ha.lineWidth=k.width||1;this.ha.opacity=k.opacity||0;this.ha.depthTest=!!k.depthTest;this.ha.visible=0<this.ha.opacity;this.ha.needsUpdate=!0};d.prototype.dispose=
function(){this.ha&&(this.ha.dispose(),this.ha=null,this.o.na(m.Material));this.o=null};d.Ob=function(k){k.H(m.ww).manager=new d(k)};d.eb=function(k){var b=k.getComponent(m.ww);b.manager.dispose();b.manager=null;k.na(m.ww)};d.update=function(k){k.getComponent(m.ww).manager.update()};return d});
define("iI",["require","li","ls","fx","K"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("K");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.Nl.C.length&&this.Nl.C.slice().forEach(k.Ob);this.materials.Ya.length&&this.materials.Ya.slice().forEach(k.update);this.Ol.C.length&&this.Ol.C.slice().forEach(k.eb)};a.J={};a.J.Nl=[m.Xg,m.ww.not];a.J.materials=[m.Xg,m.ww];a.J.Ol=[m.Xg.not,m.ww];return a});
define("G","require ox fx ck nq ns a".split(" "),function(a){function d(q){this.o=q;this.Yf=!1;this.m=this.o.getComponent(m.Light).Vb;p.forEach(function(n){this.m.bind(h.G(n),this.hW,this,!1)}.bind(this));this.hW()}var h=a("ox"),m=a("fx"),k=a("ck"),b=a("nq"),g=a("ns"),e=a("a");d.prototype.update=function(){this.hW()};var c=Math.PI/180;d.prototype.hW=function(){var q=this.o.K(m.Light);if(b.Ka("AmbientLight",q.Vb)){q.Xd&&q.Xd.isAmbientLight||(this.o.K(m.Object3D,!0).Yc=q.Xd=new THREE.AmbientLight);
var n=q.target}else if(b.Ka("OrbitLight",q.Vb)){q.Xd&&q.Xd.isDirectionalLight||(this.o.K(m.Object3D,!0).Yc=q.Xd=new THREE.DirectionalLight);n=e.Bs(q.Vb.get("yaw")*c,q.Vb.get("pitch")*c).AI(10);q.Xd.position.set(n.x,n.y,n.z);"fixed_to_target"==q.Vb.get("mode","fixed_to_target")?(q.Xd.target=k.Nb(q.target),n=q.target):(q.Xd.target=new THREE.Object3D,n=q.target.getComponent(m.jb).aa.getComponent(m.Scene).je);q.Xd.castShadow=0<q.Vb.get("intensity")&&q.Vb.get("castShadow");var r=q.Xd.castShadow?q.Vb.get("shadowMapSize"):
16;r!=q.Xd.shadow.mapSize.width&&(q.Xd.shadow.dispose(),q.Xd.shadow=q.Xd.shadow.clone(),q.Xd.shadow.mapSize.width=q.Xd.shadow.mapSize.height=r);q.Xd.shadow.radius=q.Vb.get("shadowRadius");q.Xd.shadow.bias=q.Vb.get("shadowBias");this.zsa()}q.Xd.color=new THREE.Color(g.SD(q.Vb.get("color")));q.Xd.intensity=q.Vb.get("intensity");q.Xd.visible=0<q.Xd.intensity;q=this.o.getComponent(m.jb);q&&q.aa==n||(q=this.o.K(m.jb,!0),q.aa=n)};var f=new THREE.Box3,l=new THREE.Vector3;d.prototype.frame=function(){this.zsa()};
d.prototype.zsa=function(){var q=this.o&&this.o.getComponent(m.Light);if(q&&q.Xd&&q.Xd.castShadow){for(var n=q.Xd.shadow.camera,r=this.B2(k.Nb(q.target),f),u=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,v=Number.NEGATIVE_INFINITY,w=Number.POSITIVE_INFINITY,x=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,A=0;2>A;A++)for(var B=0;2>B;B++)for(var z=0;2>z;z++)l.set(0==A?r.min.x:r.max.x,0==B?r.min.y:r.max.y,0==z?r.min.z:r.max.z).applyMatrix4(n.matrixWorldInverse),l.x<u&&(u=l.x),l.x>t&&(t=l.x),
l.y>v&&(v=l.y),l.y<w&&(w=l.y),-l.z>y&&(y=-l.z),-l.z<x&&(x=-l.z);q=q.Vb.get("shadowTolerance")||0;r=.5*(x+y);x+=(x-r)*q;y+=(y-r)*q;r=.5*(u+t);u+=(u-r)*q;t+=(t-r)*q;r=.5*(v+w);v+=(v-r)*q;w+=(w-r)*q;if(n.left!=u||n.right!=t||n.top!=v||n.bottom!=w||n.near!=x||n.far!=y)q=this.o.K(m.Light),q.Xd.shadow.camera.left=u,q.Xd.shadow.camera.top=v,q.Xd.shadow.camera.right=t,q.Xd.shadow.camera.bottom=w,q.Xd.shadow.camera.near=x,q.Xd.shadow.camera.far=y,q.Xd.shadow.camera.updateProjectionMatrix(),q.Xd.shadow.needsUpdate=
!0}};d.prototype.B2=function(q,n){n.makeEmpty();var r=new THREE.Box3;q.traverse(function(u){if(u.geometry&&!u.isSprite){u.updateWorldMatrix(!1,!1);var t=u.geometry;null===t.boundingBox&&t.computeBoundingBox();r.copy(t.boundingBox);r.applyMatrix4(u.matrixWorld);n.union(r)}});return n};d.prototype.dispose=function(){this.m&&(p.forEach(function(q){this.m.unbind(h.G(q),this.hW,this,!1)}.bind(this)),this.m=null);this.o&&(this.o.na(m.jb),this.o.na(m.Object3D),this.o=null)};var p="castShadow color intensity mode pitch yaw shadowBias shadowRadius shadowMapSize shadowTolerance".split(" ");
d.Ob=function(q){q.H(m.kt).manager=new d(q)};d.eb=function(q){var n=q.getComponent(m.kt);n.manager.dispose();n.manager=null;q.na(m.kt)};d.update=function(q){q.getComponent(m.kt).manager.update()};d.frame=function(q){q.getComponent(m.kt).manager.frame()};return d});
define("oz",["require","li","ls","fx","G"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("G");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.hwa.C.length&&this.hwa.C.slice().forEach(k.Ob);this.OY.Ya.length&&this.OY.Ya.slice().forEach(k.update);this.OY.C.length&&this.OY.C.slice().forEach(k.frame);this.iwa.C.length&&this.iwa.C.slice().forEach(k.eb)};a.J={};a.J.hwa=[m.Light,m.kt.not];a.J.OY=[m.Light,m.kt];a.J.iwa=[m.Light.not,m.kt];return a});
define("oh",["require","li","ls","fx","ck"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("ck");a=d.extend(h,function(){h.apply(this,arguments);this.qf=this.qf.bind(this);this.Rf=this.Rf.bind(this);this.yd=this.yd.bind(this)});a.prototype.Gd=function(){this.owa.C.length&&this.owa.C.slice().forEach(this.qf);this.lines.Ya.length&&this.lines.Ya.slice().forEach(this.Rf);this.pwa.C.length&&this.pwa.C.slice().forEach(this.yd);this.qwa.C.length&&this.qwa.C.slice().forEach(this.yd);this.rwa.C.length&&
this.rwa.C.slice().forEach(this.yd)};a.prototype.qf=function(b){b.H(m.Object3D).Yc=new THREE.LineSegments;b.H(m.xw);b.H(m.ya);if(!b.getComponent(m.Geometry)){var g=(new THREE.BufferGeometry).setFromPoints([new THREE.Vector3(0,0,0),new THREE.Vector3(0,0,1)]);g.userData.Sva=!0;b.H(m.Geometry).geometry=g}this.Rf(b)};a.prototype.Rf=function(b){var g=b.getComponent(m.Object3D).Yc;k.Av(g,b.getComponent(m.Material).material);var e=b.getComponent(m.Geometry).geometry;g.geometry!=e&&(g.geometry&&e.userData.Sva&&
g.geometry.dispose(),g.geometry=e,g.needsUpdate=!0);b=b.getComponent(m.Line).renderOrder||0;g.renderOrder!=b&&(g.renderOrder=b,g.needsUpdate=!0)};a.prototype.yd=function(b){b.na(m.xw);b.na(m.Geometry);var g=b.getComponent(m.Object3D);g&&(g=g.Yc,g.geometry&&g.geometry.userData.Sva&&g.geometry.dispose(),g.geometry=null,k.Av(g,null),b.na(m.Object3D))};a.J={};a.J.owa=[m.Line,m.Material,m.xw.not];a.J.lines=[m.Line,m.Geometry,m.Material,m.xw];a.J.pwa=[m.Line.not,m.xw];a.J.qwa=[m.Material.not,m.xw];a.J.rwa=
[m.Geometry.not,m.xw];return a});
define("fJ",["require","li","ls","fx","ck"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("ck");a=d.extend(h,function(){h.apply(this,arguments);this.qf=this.qf.bind(this);this.yd=this.yd.bind(this);this.eD=this.eD.bind(this)});a.prototype.Gd=function(){this.kwa.C.length&&this.kwa.C.slice().forEach(this.qf);this.jwa.C.length&&this.jwa.C.slice().forEach(this.eD);this.lwa.C.length&&this.lwa.C.slice().forEach(this.yd);this.mwa.C.length&&this.mwa.C.slice().forEach(this.yd);this.nwa.C.length&&this.nwa.C.slice().forEach(this.yd)};
a.prototype.qf=function(p){p.H(m.yw)};a.prototype.yd=function(p){p.na(m.yw)};var b=new THREE.Matrix4,g=new THREE.Quaternion,e=new THREE.Vector3,c=new THREE.Vector3(0,0,1),f=new THREE.Euler,l=180/Math.PI;a.prototype.eD=function(p){var q=p.getComponent(m.ya);if(q){var n=k.Nb(p);if(n&&n.parent){var r=p.getComponent(m.Vq),u=r.aa;if(u){r=k.Nb(u);if(!r||!r.parent)return;e.setFromMatrixPosition(r.matrixWorld)}else if(r.position)e.copy(r.position);else return;b.copy(n.parent.matrixWorld).invert();e.applyMatrix4(b);
e.x-=q.translationX;e.y-=q.translationY;e.z-=q.Ye;n=e.length();g.setFromUnitVectors(c,e.normalize());f.setFromQuaternion(g,q.mg);f.x*=l;f.y*=l;f.z*=l;if(q.scale!=n||q.Le!=f.x||q.oe!=f.y||q.Me!=f.z)q=p.K(m.ya),q.scale=n,q.Le=f.x,q.oe=f.y,q.Me=f.z,k.QP(p,q),p.S.$a()}}};a.J={};a.J.kwa=[m.Object3D,m.Vq,m.yw.not];a.J.jwa=[m.Object3D,m.Vq,m.yw,m.ya];a.J.lwa=[m.Object3D.not,m.yw];a.J.mwa=[m.Vq.not,m.yw];a.J.nwa=[m.ya.not,m.yw];return a});
define("eP","require li ox ls fx ck".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("ls"),k=a("fx"),b=a("ck");a=d.extend(m,function(){m.apply(this,arguments);this.qf=this.qf.bind(this);this.yd=this.yd.bind(this);this.Rf=this.Rf.bind(this)});a.prototype.Gd=function(){this.Vwa.C.length&&this.Vwa.C.slice().forEach(this.qf);this.rca.Ya.length&&this.rca.Ya.slice().forEach(this.Rf);this.Wwa.C.length&&this.Wwa.C.slice().forEach(this.yd);this.Xwa.C.length&&this.Xwa.C.slice().forEach(this.yd)};a.prototype.qf=
function(g){g.H(k.zw);this.rca.C.forEach(function(e){this.YJa(e,g)&&this.qV(b.Nb(e))}.bind(this));this.Rf(g)};a.prototype.Rf=function(g){var e=g.getComponent(k.Uo);g=b.Nb(g);this.FDa(g,e);this.qV(g);this.Ud(g,e)};a.prototype.yd=function(g){g.na(k.zw);var e=b.Nb(g);e&&(this.SEa(e),this.qV(e),g.na(k.zw))};a.prototype.FDa=function(g,e){g.userData.uxa=e.opacity;g.userData.envMapIntensity=e.envMapIntensity;g.userData.uO=e.uO;g.userData.castShadow=e.castShadow;g.userData.receiveShadow=e.receiveShadow};
a.prototype.SEa=function(g){g.userData.uxa=void 0;g.userData.envMapIntensity=void 0;g.userData.uO=void 0;g.userData.castShadow=void 0;g.userData.receiveShadow=void 0};a.prototype.qV=function(g){var e=this.Mja(g),c=this.NHa(g),f=this.LHa(g),l=this.MHa(g),p=this.OHa(g);if(g.material){if(void 0===e&&void 0===c)b.fya(g);else{var q=g.userData.tP||g.material;if(void 0!==q.opacity){var n=q.opacity*(void 0===e?1:e),r=0<n,u=1>n?!0:q.transparent;if(g.material.opacity!==n||g.material.visible!==r||g.material.transparent!==
u)b.gba(g),g.material.opacity=n,g.material.transparent=u,g.material.visible=r,g.material.needsUpdate=!0}void 0!==q.envMapIntensity&&(q=q.envMapIntensity*(void 0===c?1:c),g.material.envMapIntensity!==q&&(b.gba(g),g.material.envMapIntensity=q,g.material.needsUpdate=!0))}var t=this.xHa(f);(null==g.material.map?[]:Array.isArray(g.material.map)?g.material.map:[g.material.map]).forEach(function(v){v.anisotropy!==t&&(v.anisotropy=t,v.needsUpdate=!0)})}g.isMesh&&(void 0!==l&&g.castShadow!==l&&(g.castShadow=
l),void 0!==p&&g.receiveShadow!==p&&(g.receiveShadow=p));g.children&&g.children.forEach(function(v){v.userData.oVa=e;v.userData.nVa=c;v.userData.lVa=f;v.userData.mVa=l;v.userData.pVa=p;this.qV(v)}.bind(this))};a.prototype.xHa=function(g){return 1+Math.round((g||0)*(b.Gua().capabilities.getMaxAnisotropy()-1))};a.prototype.Mja=function(g){var e=g.userData.uxa;g=g.userData.oVa;if(void 0!==g||void 0!==e)if(e=(void 0!==g?g:1)*(void 0!==e?e:1),1!==e)return e};a.prototype.NHa=function(g){var e=g.userData.envMapIntensity;
g=g.userData.nVa;if(void 0!==g||void 0!==e)if(e=(void 0!==g?g:1)*(void 0!==e?e:1),1!==e)return e};a.prototype.LHa=function(g){var e=g.userData.uO;if(void 0!==e)return e;g=g.userData.lVa;if(void 0!==g)return g};a.prototype.MHa=function(g){var e=g.userData.castShadow;if(void 0!==e)return e;g=g.userData.mVa;if(void 0!==g)return g};a.prototype.OHa=function(g){var e=g.userData.receiveShadow;if(void 0!==e)return e;g=g.userData.pVa;if(void 0!==g)return g};a.prototype.Ud=function(g,e){var c=this.Mja(g);void 0!==
c&&(c=0<c,g.userData.WZa!==c&&(g.userData.WZa=c,e.Ea&&e.Ea.trigger(c?h.hd:h.sd)))};a.prototype.YJa=function(g,e){g=b.Nb(g);e=b.Nb(e);if(!g||!e)return!1;for(e=e.parent;e;){if(e===g)return!0;e=e.parent}return!1};a.J={};a.J.Vwa=[k.Uo,k.Object3D,k.zw.not];a.J.rca=[k.Uo,k.Object3D,k.zw];a.J.Wwa=[k.Uo.not,k.zw];a.J.Xwa=[k.Object3D.not,k.zw];return a});
define("oq",["require","ox","fx","ck"],function(a){function d(k){this.o=k;this.Nsa=this.zr=this.$c=null;this.qH=-1}a("ox");var h=a("fx"),m=a("ck");d.prototype.frame=function(){if(!this.zr&&(this.zr=this.o.getComponent(h.Dg).Jba)){var k=this.zr.userData&&this.zr.userData.gltfExtensions&&this.zr.userData.gltfExtensions.KHR_materials_variants;this.Nsa=k&&k.variants||[];this.update()}};d.prototype.update=function(){var k=this.o.getComponent(h.mt).name,b=this.Nsa.findIndex(function(e){return e.name==k}),
g=this.zr.scene;this.$c!=g?(this.$c&&this.xpa(this.$c),this.$c=g,this.qH=b,this.$c&&this.Eqa(this.$c,this.qH)):this.qH!=b&&(this.qH=b,this.$c&&this.Eqa(this.$c,this.qH));this.o.S.$a()};d.prototype.xpa=function(k){this.cha(k,-1)};d.prototype.Eqa=function(k,b){this.CKa(k,b,function(){this.$c==k&&this.qH==b&&this.cha(k,b)}.bind(this))};d.prototype.CKa=function(k,b,g){var e=[];k.traverse(function(c){var f=c.isMesh&&c.userData.gltfExtensions&&c.userData.gltfExtensions.KHR_materials_variants;if(f=f&&f.mappings)c.userData.zxa||
(c.userData.zxa=c.material),c.userData.Cz||(c.userData.Cz={}),(f=f.find(function(l){return-1!=l.variants.indexOf(b)}))&&e.push(this.zr.parser.getDependency("material",f.material).then(function(l){c.userData.Cz[b]||(c.userData.Cz[b]=l)}))}.bind(this));Promise.all(e).then(function(){g(k,b)})};d.prototype.cha=function(k,b){k.traverse(function(g){if(g.userData.Cz){var e=g.userData.Cz[b];e?(m.Av(g,e),this.zr.parser.assignFinalMaterial(g)):m.Av(g,g.userData.zxa)}}.bind(this));this.o.S.$a()};d.prototype.dispose=
function(){this.$c&&(this.xpa(this.$c),this.$c=null)};d.Ob=function(k){k.H(h.So).manager=new d(k)};d.eb=function(k){var b=k.getComponent(h.So);b.manager.dispose();b.manager=null;k.na(h.So)};d.update=function(k){k.getComponent(h.So).manager.update()};d.frame=function(k){k.getComponent(h.So).manager.frame()};return d});
define("ht",["require","li","ls","fx","oq"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("oq");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.uwa.C.length&&this.uwa.C.slice().forEach(k.Ob);this.RY.C.length&&this.RY.C.slice().forEach(k.frame);this.RY.Ya.length&&this.RY.Ya.slice().forEach(k.update);this.vwa.C.length&&this.vwa.C.slice().forEach(k.eb);this.wwa.C.length&&this.wwa.C.slice().forEach(k.eb);this.xwa.C.length&&this.xwa.C.slice().forEach(k.eb)};a.J={};
a.J.uwa=[m.mt,m.Dg,m.Object3D,m.So.not];a.J.RY=[m.mt,m.Dg,m.Object3D,m.So];a.J.vwa=[m.mt.not,m.So];a.J.wwa=[m.Object3D.not,m.So];a.J.xwa=[m.Dg.not,m.So];return a});
define("hH",["require","fx"],function(a){var d=a("fx");return{Ob:function(h){var m=h.H(d.Yq);h.H(d.ya);var k=h.K(d.Mesh);h.H(d.Object3D).Yc=m.wo=k.wo=new THREE.Mesh(h.getComponent(d.Geometry).geometry,h.getComponent(d.Material).material);k.wo.renderOrder=k.renderOrder},update:function(h){var m=h.K(d.Yq);m.wo.geometry=h.getComponent(d.Geometry).geometry;m.wo.material=h.getComponent(d.Material).material;m.wo.renderOrder=h.getComponent(d.Mesh).renderOrder},eb:function(h){h.getComponent(d.Yq).wo=null;
h.na(d.Yq);h.na(d.Object3D)}}});
define("fn",["require","li","ls","fx","hH"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("hH");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.Bwa.C.length&&this.Bwa.C.slice().forEach(k.Ob);this.Awa.Ya.length&&this.Awa.Ya.slice().forEach(k.update);this.TY.C.length&&this.TY.C.slice().forEach(k.eb);this.VVa.C.length&&this.TY.C.slice().forEach(k.eb);this.WVa.C.length&&this.TY.C.slice().forEach(k.eb)};a.J={};a.J.Bwa=[m.Mesh,m.Geometry,m.Material,m.Yq.not];a.J.Awa=
[m.Mesh,m.Geometry,m.Material,m.Yq];a.J.TY=[m.Mesh.not,m.Yq];a.J.VVa=[m.Geometry.not,m.Yq];a.J.WVa=[m.Material.not,m.Yq];return a});
define("kX",["require","ox","ns","fx","ck"],function(a){function d(e){this.o=e;this.m=this.o.getComponent(k.Dg).Vb;this.Ee=null;this.uS=void 0;g.forEach(function(c){this.m.bind(h.G(c),this.Re,this,!0)}.bind(this));this.update()}var h=a("ox"),m=a("ns"),k=a("fx"),b=a("ck"),g=["floorColor","floorHeight","floorOpacity","floorRadius"];d.prototype.update=function(){var e=this.m.get("floorColor");this.uS!=e&&(!e&&this.Ee&&(this.Kia(this.Ee),this.Ee=null),this.uS=e)&&(this.Ee||(this.Ee=this.DFa()),this.GOa(this.Ee,
this.uS));e=this.m.get("floorOpacity");this.Ee&&this.Ee.material.opacity!=e&&(this.Ee.material.opacity=e);e=this.m.get("floorHeight");this.Ee&&this.Ee.position.y!=e&&(this.Ee.position.y=e);e=this.m.get("floorRadius");this.Ee&&this.Ee.scale.x!=e&&(this.Ee.scale.x=this.Ee.scale.y=this.Ee.scale.z=e)};d.prototype.frame=function(){if(this.Ee&&!this.Ee.parent){for(var e=b.Nb(this.o);e&&!e.isScene;)e=e.parent;e&&e.add(this.Ee)}};d.prototype.dispose=function(){g.forEach(function(e){this.m.unbind(h.G(e),this.Re,
this,!0)}.bind(this));this.Ee&&(this.Kia(this.Ee),this.Ee=null)};d.prototype.Re=function(){this.o.S.$a();this.update()};d.prototype.DFa=function(){var e=new THREE.CircleGeometry(1,128);e=new THREE.Mesh(e);e.receiveShadow=!0;e.position.y=0;e.rotation.x=.5*-Math.PI;e.needsUpdate=!0;return e};d.prototype.GOa=function(e,c){var f=e.material;f&&(!f.isShadowMaterial&&"transparent"==c||!f.h0a&&"transparent"!=c)&&(f.dispose(),f=null);"transparent"==c?f||(f=new THREE.ShadowMaterial):(f||(f=new THREE.MeshStandardMaterial,
f.defines.USE_UV="",f.onBeforeCompile=function(l){var p=l.fragmentShader.lastIndexOf("}");l.fragmentShader=l.fragmentShader.substring(0,p)+"float uvCenterCoef = 2.0 * length(vUv - 0.5);\nfloat uvAlphaCoef = 1.0 - smoothstep(0.97, 1.0, uvCenterCoef);\ngl_FragColor.a = uvAlphaCoef * gl_FragColor.a;\n"+l.fragmentShader.substring(p,l.fragmentShader.length)},f.roughness=1,f.metalness=0,f.envMapIntensity=0,f.transparent=!0),f.color=new THREE.Color(m.SD(c)));f.needsUpdate=!0;e.material=f};d.prototype.Kia=
function(e){e.parent&&e.parent.remove(e);e.material&&e.material.dispose();e.material=null;e.geometry&&e.geometry.dispose();e.geometry=null};return d});
define("mi",["require","ox","fx"],function(a){function d(k){this.o=k;this.uq=k.S;this.m=this.o.getComponent(m.Dg).Vb;this.m.bind(h.G("lights"),this.J$,this,!1);this.Aa=null;this.yu=[];this.k6=new Map;this.update()}var h=a("ox"),m=a("fx");d.prototype.update=function(){var k=this.o.getComponent(m.Object3D);k=k&&k.Yc;this.Aa!=k&&(this.Aa=k,this.J$())};d.prototype.J$=function(){var k=this.Aa?this.m.get("lights",[]).length?this.m.get("lights"):[]:[];this.kqa(k)};d.prototype.dispose=function(){this.Aa=
null;this.m.unbind(h.G("lights"),this.J$,this,!1);this.kqa([])};d.prototype.kqa=function(k){this.yu!=k&&(this.yu.forEach(function(b){0>k.indexOf(b)&&this.iNa(b)}.bind(this)),k.forEach(function(b){0>this.yu.indexOf(b)&&this.NCa(b)}.bind(this)),this.yu=k)};d.prototype.NCa=function(k){var b=this.uq.dd("Light"),g=b.H(m.Light);g.Vb=k;g.target=this.o;this.k6.set(k,b)};d.prototype.iNa=function(k){var b=this.k6.get(k);this.k6["delete"](k);this.uq.Ve(b)};return d});
define("mf",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("Model3DResourceLevel",d,function(){d.call(this)});a.KQ="mobile";a.prototype.get=function(h,m){switch(h){case "levels":m=[this];break;case "url":for(var k=d.prototype.get.call(this,h),b=this.get("levels"),g=0;b&&g<b.length&&void 0===k;g++){var e=b[g];e!=this&&(k=e.get(h))}return void 0!==k?k:m}return d.prototype.get.call(this,h,m)};return a});
define("gO",["require","exports","three.mod"],function(a,d,h){a=function(){function b(){}b.intersect=function(g,e){var c=[];e.forEach(function(f){f.isSkinnedMesh||!f.geometry||f.geometry.userData.Dta||(f.geometry.computeBoundsTree(),f.geometry.userData.Dta=!0);f.isSkinnedMesh&&!f.userData.Maa&&(f.userData.Maa=f.geometry.boundingBox,f.geometry.boundingBox=m,f.userData.Fta=f.geometry.boundingSphere,f.geometry.boundingSphere=k,c.push(f))});g.firstHitOnly=!0;e=e.filter(function(f){return(f.isScene||f.parent)&&
(!f.isMesh||f.geometry)});g=g.intersectObjects(e,!1);c.forEach(function(f){f.geometry.boundingBox=f.userData.Maa;delete f.userData.Maa;f.geometry.boundingSphere=f.userData.Fta;delete f.userData.Fta});g=g.filter(function(f){return f.object.isLine?!1:!0});g.sort(function(f,l){var p=-f.object.renderOrder,q=-l.object.renderOrder;p==q&&(p=f.object.material&&!f.object.material.depthTest?0:1,q=l.object.material&&!l.object.material.depthTest?0:1);p==q&&(p=f.distance,q=l.distance);return p-q});return g};return b}();
var m=new h.Box3;m.min.x=m.min.y=m.min.z=-Infinity;m.max.x=m.max.y=m.max.z=Infinity;var k=new h.Sphere;k.center.x=k.center.y=k.center.z=0;k.radius=Infinity;return a});
define("mT",["require","gO"],function(a){function d(e){this.da=e}var h=a("gO"),m=new THREE.Raycaster,k=new THREE.Vector3,b=new THREE.Vector3(0,-1,0),g=new THREE.Vector3(0,1,0);d.prototype.Bza=function(e,c){m.ray.origin.copy(e);k.copy(c).sub(e);var f=k.length();k.normalize();m.ray.direction.copy(k);e=this.yK();return 0<h.intersect(m,e).filter(function(l){if(l.distance>=.98*f||!l.object.visible)return!1;l=Array.isArray(l.object.material)&&l.face?l.object.material[l.face.materialIndex]:l.object.material;
return!l||l.visible}).length};d.prototype.aUa=function(e){m.ray.origin.copy(e);m.ray.direction.copy(b);e=this.yK();var c=h.intersect(m,e);if(0<c.length)return c[0].distance;m.ray.direction.copy(g);c=h.intersect(m,e);if(0<c.length)return-c[0].distance};d.prototype.yK=function(){var e=[];this.da.traverse(function(c){c.isSprite||c.isLine||e.push(c)});return e};return d});
define("bb",["require","ck"],function(a){function d(m,k){this.Ha=m;this.lJa=k}var h=a("ck");d.prototype.Rua=function(m){return(m=this.Nb(m))&&m.matrixWorld};d.prototype.Nb=function(m){return m?h.bz(this.lJa,m):h.Nb(this.Ha)};return d});
define("ef",["require","ck"],function(a){function d(c,f,l){this.Ha=c;this.PKa=f;this.vHa=l}var h=a("ck"),m=new THREE.Vector3,k=new THREE.Vector3,b=new THREE.Vector3,g=new THREE.Frustum,e=new THREE.Matrix4;d.prototype.Hba=function(c,f){f=this.PKa.Rua(f);if(!f)return null;k.copy(c).applyMatrix4(f);var l=(c=h.Nb(this.Ha))&&h.cI(c);c=l&&h.fz(l);if(!c)return null;e.identity().multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);g.setFromProjectionMatrix(e);if(!g.containsPoint(k))return null;f=(l&&
h.Gba(l))/2;l=(l&&h.UO(l))/2;m.copy(k).project(c);f=m.x*f+f;l=-(m.y*l)+l;b.setFromMatrixPosition(c.matrixWorld);c=this.vHa.Bza(b,k);return{x:Math.round(f),y:Math.round(l),visible:!c}};return d});
define("dF",["require","li","ox","gf","im"],function(a){var d=a("li"),h=a("ox"),m=a("gf"),k=a("im");a=d.extend(m,function(b,g){m.call(this);this.fd=b;this.Ur=g;this.Wr=new Request(b);this.oha=this.Wp=null;this.uN=this.uN.bind(this);this.HA=this.HA.bind(this)});a.prototype.start=function(){this.JB||(this.IA=!1,this.JB=k.add(this.fd,this.Ur,this.uN,this.HA))};a.prototype.uN=function(){0==this.fd.indexOf("filesystem:")?this.ZGa():this.$Ga()};a.prototype.ZGa=function(){var b=new XMLHttpRequest;b.open("GET",
this.fd,!0);b.responseType="arraybuffer";b.onload=function(){this.ena(b.response);b.onload=b.onerror=null}.bind(this);b.onerror=function(){this.ana();b.onload=b.onerror=null};b.send()};a.prototype.$Ga=function(){fetch(this.Wr).then(function(b){if(this.IA)return b.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");if(!b.ok)return Promise.resolve(b);var g=b.headers.get("content-length")||b.headers.get("x-content-length"),e=void 0,c=0;null!==g&&(e=parseInt(g,10));this.Wp=
b.body.getReader();var f=!1,l=function(n){this.IA?n.close():f=!0}.bind(this),p=function(n){return this.Wp.read().then(function(r){var u=r.value;u&&(c+=u.byteLength,n.enqueue(u));r.done&&(e=c,q(n));this.trigger(h.sc,{totalBytes:e,bytesLoaded:c,percent:c<e?100*c/e:100})}.bind(this))["catch"](function(r){console.log("Error reading response",r);n.error(r)}.bind(this))}.bind(this),q=function(n){f&&(n.close(),f=!1,this.Wp=null)}.bind(this);return new Response(new ReadableStream({start:function(n){return l(n)},
pull:function(n){return p(n)},cancel:function(){q()}}))}.bind(this)).then(function(b){return b.arrayBuffer()}.bind(this)).then(function(b){this.ena(b)}.bind(this))["catch"](function(){this.ana()}.bind(this))};a.prototype.cancel=function(){this.JB&&(this.JB.cancel(),this.JB=null)};a.prototype.HA=function(){this.IA=!0;this.Wp&&this.Wp.cancel()};a.prototype.ena=function(b){this.oha=b;this.JB&&(this.JB.loaded(),this.JB=null);this.trigger(h.Z)};a.prototype.ana=function(){this.cancel();this.trigger(h.Gc)};
a.prototype.getData=function(){return this.oha};return a});
define("ey","require ox hP mf mT bb ef ck fx dF v mq md".split(" "),function(a){function d(r,u,t,v){this.o=r;this.og=u;this.i7=this.i7.bind(this);this.j7=this.j7.bind(this);r=this.o.getComponent(f.Dg);this.m=r.Vb;this.pi=v;this.te=t;this.he=this.pi.Yy(1);this.te.AH(this.he,1);this.Aa=this.zr=null;this.fd=this.gJa(r.Ewa);this.xF=new THREE.GLTFLoader;this.NF=new THREE.KTX2Loader;this.NF.setTranscoderPath(THREE.lAa);this.NF.detectSupport(c.Gua());this.xF.setKTX2Loader(this.NF);this.xF.setMeshoptDecoder(THREE.MeshoptDecoder);
this.op=new l(this.fd,m.dA);this.HCa();this.op.start()}var h=a("ox"),m=a("hP"),k=a("mf"),b=a("mT"),g=a("bb"),e=a("ef"),c=a("ck"),f=a("fx"),l=a("dF"),p=a("v"),q=a("mq"),n=a("md");d.prototype.gJa=function(r){var u=r.get("levels");if(!t&&p.mb())var t=(t=u.find(function(v){return-1<v.get("tags").indexOf(k.KQ)}))&&t.get("url");t||u.length&&(t=u[0].get("url"));t||(t=r.get("url"));return t};d.prototype.update=function(){};d.prototype.ld=function(){this.xF.parse(this.op.getData(),n.getDirectory(this.fd),
this.i7,this.j7)};d.prototype.ji=function(r){this.he.trigger(h.sc,r.data)};d.prototype.Kf=function(r){q.bE&&r&&r.message&&console.error(r.message);this.he.trigger(h.Gc)};d.prototype.j7=function(r){q.bE&&r&&r.message&&console.error(r.message);this.he.trigger(h.Gc)};d.prototype.i7=function(r){this.xF&&(r.scene.traverse(function(u){u.isMesh&&(u.material.depthWrite=!u.material.transparent)}),this.Aa=r.scene,this.sDa(this.Aa),this.og.H(f.Object3D).Yc=this.Aa,this.o.K(f.Dg,!0).Jba=r,this.DCa(),this.m.set("geometryQuery",
new b(this.Aa)),this.m.set("objectQuery",new g(this.o,this.Aa)),this.m.set("projectionQuery",new e(this.o,this.m.get("objectQuery"),this.m.get("geometryQuery"))),this.QW())};d.prototype.DCa=function(){var r=this.o.getComponent(f.Dg);this.o.H(f.Animation).Vb=r.Vb};d.prototype.QW=function(){this.m.set("isLoaded",!0);this.he.trigger(h.Z)};d.prototype.sDa=function(r){void 0===r.userData.id&&(r.userData.id="root");for(var u=[r];u.length;){var t=u.shift();r=[];t.children&&(r=r.concat(t.children));t.isSkinnedMesh&&
(r=r.concat(t.skeleton.bones));r.forEach(function(v,w){void 0===v.userData.id&&(v.userData.id=t.userData.id+"/"+w);u.push(v)})}};d.prototype.HCa=function(){this.op.bind(h.Z,this.ld,this,!0);this.op.bind(h.sc,this.ji,this,!0);this.op.bind(h.Gc,this.Kf,this,!0)};d.prototype.cNa=function(){this.op.unbind(h.Z,this.ld,this,!0);this.op.unbind(h.sc,this.ji,this,!0);this.op.unbind(h.Gc,this.Kf,this,!0)};d.prototype.dispose=function(){this.op&&(this.cNa(),this.op.cancel(),this.op=null);this.xF&&(this.xF=null);
this.Aa&&(this.Aa.traverse(function(r){function u(w){w&&0>t.indexOf(w)&&t.push(w)}var t=[];u(r.material);u(r.userData.tP);if(r.userData.Cz)for(var v in r.userData.Cz)u(r.userData.Cz[v]);t.forEach(function(w){w.dispose();Object.keys(w).forEach(function(x){(x=w[x])&&"object"===typeof x&&"minFilter"in x&&x.dispose()})});r.geometry&&r.geometry.userData.Dta&&r.geometry.disposeBoundsTree();r.geometry&&r.geometry.dispose()}),this.Aa=null,this.og.na(f.Object3D));this.NF&&(this.NF.dispose(),this.NF=null);
this.he&&(this.te.vI(this.he),this.pi.vI(this.he),this.te=this.he=null);this.m&&(this.m.set("geometryQuery",null),this.m.set("objectQuery",null),this.m.set("isLoaded",!1),this.m=null)};return d});
define("jO","require ku lJ ox gf fx ck".split(" "),function(a){function d(u,t,v){this.Ha=u;this.eF=t;this.D=v;this.ff=this.ff.bind(this);this.nl=this.nl.bind(this);this.Xf=1;this.W=!1;this.Uga=new Map;this.dh=[];this.Zg=this.Ha.S.dd("DraggingPositionContainer");this.Zg.H(b.Group);this.Zg.H(b.ya);this.dh.push(this.Zg);this.Fc=null;this.xA=[this.ata=this.K2("x"),this.bta=this.K2("y"),this.cta=this.K2("z")];this.xA.forEach(function(w){this.Cy(w,function(x){x.opacity=.5;x.depthTest=!1});w.H(b.jb).aa=
this.Zg}.bind(this));h.fa(this.D,n,this.ff,!0);h.fa(this.D,r,this.nl,!0)}var h=a("ku");a("lJ");var m=a("ox"),k=a("gf"),b=a("fx"),g=a("ck");d.prototype.dispose=function(){h.ca(this.D,n,this.ff);h.ca(this.D,r,this.nl);var u=this.Ha.S;this.dh.forEach(function(t){u.Ve(t)});this.D=this.Ha=this.xA=this.o=this.dh=null};d.prototype.frame=function(){if(this.W)if(this.dN(g.dI(this.Zg)||1),this.Fc){var u=this.eF.getComponent(b.ya);this.D.set("x",u.positionX);this.D.set("y",u.positionY);this.D.set("z",u.positionZ)}else this.gRa()};
var e=new THREE.Vector3,c=new THREE.Vector3,f=new THREE.Euler,l=new THREE.Quaternion,p=new THREE.Matrix4,q=180/Math.PI;d.prototype.K2=function(u){var t=this.Ha.S.dd("DraggingArrow");this.dh.push(t);t.H(b.Group);var v=t.K(b.ya,!0);"x"===u?v.Me=-90:"z"==u&&(t.K(b.ya,!0).Le=90);u=this.Ha.S.dd("DraggingArrowCylinder");this.dh.push(u);u.H(b.Mesh).renderOrder=1;u.H(b.Geometry).geometry=new THREE.CylinderGeometry(.05,.05,.85,16,1,!0);u.H(b.Dc);u.H(b.jb).aa=t;u.K(b.ya,!0).positionY=-.075;v=this.Ha.S.dd("DraggingArrowCone");
this.dh.push(v);v.H(b.Mesh).renderOrder=1;v.H(b.Geometry).geometry=new THREE.ConeGeometry(.05,.15,16,1,!0);v.H(b.Dc);v.H(b.jb).aa=t;v.K(b.ya,!0).positionY=.425;this.Uga.set(t,[u,v]);return t};d.prototype.dN=function(u){this.Xf!=u&&(this.Xf=u,this.ff())};d.prototype.ff=function(){var u=this.D.get("draggableArrowLength")*this.Xf;this.Cy(this.ata,function(v){v.color=this.D.get("draggableXControlsColor")}.bind(this));var t=this.ata.K(b.ya,!0);t.scale=u;t.translationX=u/2;this.Cy(this.bta,function(v){v.color=
this.D.get("draggableYControlsColor")}.bind(this));t=this.bta.K(b.ya,!0);t.scale=u;t.translationY=u/2;this.Cy(this.cta,function(v){v.color=this.D.get("draggableZControlsColor")}.bind(this));t=this.cta.K(b.ya,!0);t.scale=u;t.Ye=u/2};d.prototype.gRa=function(){var u=g.Nb(this.eF);u&&(p.copy(u.matrixWorld).invert().decompose(e,l,c),u=this.Zg.getComponent(b.ya),f.setFromQuaternion(l,u.mg),f.x*=q,f.y*=q,f.z*=q,u.Le!=f.x||u.oe!=f.y||u.Me!=f.z)&&(u=this.Zg.K(b.ya),u.Le=f.x,u.oe=f.y,u.Me=f.z)};d.prototype.nl=
function(){var u=this.D.get("positionDraggable");this.W!=u&&((this.W=u)?(this.Zg.H(b.jb).aa=this.eF,this.xA.forEach(function(t){t=t.H(b.jd);t.Uv=!0;t.Dv=!0;t.Ea=new k;t.Ea.bind(m.Tc,this.kG,this,!0);t.Ea.bind(m.ac,this.Gm,this,!0);t.Ea.bind(m.vb,this.fk,this,!0);t.Ea.bind(m.Zb,this.Pn,this,!0)}.bind(this))):(this.Zg.na(b.jb),this.xA.forEach(function(t){t.na(b.jd)})))};d.prototype.kG=function(u){(u=this.Zk(u))&&u!=this.Fc&&this.Cy(u,function(t){t.opacity=1})};d.prototype.Gm=function(u){(u=this.Zk(u))&&
u!=this.Fc&&this.Cy(u,function(t){t.opacity=.5})};d.prototype.fk=function(u){u=this.Zk(u);this.Ey(u)};d.prototype.Pn=function(u){u=this.Zk(u);u==this.Fc&&(this.Ey(null),-1!=this.xA.indexOf(u)&&this.D.trigger(m.qt))};d.prototype.Cy=function(u,t){this.Uga.get(u).forEach(function(v){t(v.K(b.Dc))}.bind(this))};d.prototype.Zk=function(u){u=this.xA.map(function(t){return t.getComponent(b.jd).Ea}).indexOf(u.source);return-1==u?null:this.xA[u]};d.prototype.Ey=function(u){this.Fc&&(this.Cy(this.Fc,function(v){v.opacity=
.5}),this.eF.na(b.Go));if(this.Fc=u){this.Cy(this.Fc,function(v){v.opacity=1});u=g.getWorldPosition(this.eF);var t=g.getWorldPosition(this.Fc);this.eF.H(b.Go).direction=t.sub(u)}};var n=["draggableArrowLength","draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],r=["positionDraggable"];return d});
define("n","require ku ox gf fx ck".split(" "),function(a){function d(n,r,u){this.Ha=n;this.o=r;this.D=u;this.gk=this.gk.bind(this);this.ff=this.ff.bind(this);this.nl=this.nl.bind(this);this.Fc=null;this.W=!1;this.sV=[1,1,1,1,1,1];this.dh=[];this.cg=[this.vH=this.gp(),this.uH=this.gp(),this.xH=this.gp(),this.wH=this.gp(),this.zH=this.gp(),this.yH=this.gp()];this.cg.forEach(function(t){t=t.K(b.Dc);t.opacity=.5;t.depthTest=!1}.bind(this));h.fa(this.D,l,this.ff,!0);h.fa(this.D,p,this.gk,!0);h.fa(this.D,
q,this.nl,!0)}var h=a("ku"),m=a("ox"),k=a("gf"),b=a("fx"),g=a("ck");d.prototype.frame=function(){if(this.W&&(this.JOa(this.cg.map(function(G){return g.dI(G)||1})),this.Fc)){var n=g.Nb(this.o),r=g.Nb(this.sF(this.Fc));if(n&&r){c.copy(n.matrixWorld).invert();e.setFromMatrixPosition(r.matrixWorld).applyMatrix4(c);n=this.D.get("x");r=this.D.get("y");var u=this.D.get("z"),t=this.D.get("width"),v=this.D.get("height"),w=this.D.get("depth"),x=0,y=0,A=0,B=0,z=0,C=0;switch(this.Fc){case this.vH:B=e.x-.5*t;
x=.5*B;break;case this.uH:B=-e.x-.5*t;x=.5*-B;break;case this.xH:z=e.y-.5*v;y=.5*z;break;case this.wH:z=-e.y-.5*v;y=.5*-z;break;case this.zH:C=e.z-.5*w;A=.5*C;break;case this.yH:C=-e.z-.5*w,A=.5*-C}this.D.set("x",n+x);this.D.set("width",t+B);this.D.set("y",r+y);this.D.set("height",v+z);this.D.set("z",u+A);this.D.set("depth",w+C)}}};var e=new THREE.Vector3,c=new THREE.Matrix4;d.prototype.gp=function(){var n=this.Ha.S.dd("DraggingSphere");this.dh.push(n);n.H(b.Mesh).renderOrder=2;n.H(b.Geometry).geometry=
new THREE.SphereGeometry;n.H(b.Dc);return n};d.prototype.ff=function(){this.vH.K(b.Dc).color=this.D.get("draggableXControlsColor");this.uH.K(b.Dc).color=this.D.get("draggableXControlsColor");this.xH.K(b.Dc).color=this.D.get("draggableYControlsColor");this.wH.K(b.Dc).color=this.D.get("draggableYControlsColor");this.zH.K(b.Dc).color=this.D.get("draggableZControlsColor");this.yH.K(b.Dc).color=this.D.get("draggableZControlsColor");var n=this.D.get("draggableSphereRadius");this.cg.forEach(function(r,u){r.K(b.ya,
!0).scale=n*this.sV[u]}.bind(this))};d.prototype.gk=function(){this.vH.K(b.ya,!0).positionX=this.D.get("width")/2;this.uH.K(b.ya,!0).positionX=-this.D.get("width")/2;this.xH.K(b.ya,!0).positionY=this.D.get("height")/2;this.wH.K(b.ya,!0).positionY=-this.D.get("height")/2;this.zH.K(b.ya,!0).positionZ=this.D.get("depth")/2;this.yH.K(b.ya,!0).positionZ=-this.D.get("depth")/2};d.prototype.nl=function(){var n=this.D.get("sizeDraggable");this.W!=n&&(this.W=n,this.cg.forEach(function(r){n?(r.H(b.jb).aa=this.o,
this.cg.forEach(function(u){u=u.H(b.jd);u.Uv=!0;u.Dv=!0;u.Ea=new k;u.Ea.bind(m.Tc,this.$F,this,!0);u.Ea.bind(m.ac,this.X6,this,!0);u.Ea.bind(m.vb,this.V6,this,!0);u.Ea.bind(m.Zb,this.W6,this,!0)}.bind(this))):(r.na(b.jb),this.cg.forEach(function(u){u.na(b.jd)}.bind(this)))}.bind(this)))};d.prototype.JOa=function(n){for(var r=!1,u=0;u<this.sV.length&&!r;u++)r=this.sV[u]!=n[u];r&&(this.sV=n,this.ff())};d.prototype.$F=function(n){(n=this.Zk(n))&&n!=this.Fc&&(n.K(b.Dc).opacity=1)};d.prototype.X6=function(n){(n=
this.Zk(n))&&n!=this.Fc&&(n.K(b.Dc).opacity=.5)};d.prototype.Zk=function(n){n=this.cg.map(function(r){return r.getComponent(b.jd).Ea}).indexOf(n.source);return-1==n?null:this.cg[n]};d.prototype.V6=function(n){n=this.Zk(n);this.Ey(n)};d.prototype.W6=function(n){n=this.Zk(n);n==this.Fc&&(this.Ey(null),this.gk(),(n=-1!=this.cg.indexOf(n))&&this.D.trigger(m.qt),n&&this.D.trigger(m.vfa))};d.prototype.Ey=function(n){this.Fc&&(this.Fc.K(b.Dc).opacity=.5,this.sF(this.Fc).na(b.Go));if(this.Fc=n)this.Fc.K(b.Dc).opacity=
1,n=this.sF(this.Fc).H(b.Go),n.direction=this.$Ha(this.Fc),n.min=this.aIa(this.Fc)};d.prototype.$Ha=function(n){var r=g.getWorldPosition(this.o);return g.getWorldPosition(n).sub(r)};d.prototype.sF=function(n){return-1!=this.cg.indexOf(n)?n:null};d.prototype.aIa=function(n){var r=this.BIa(n);if(r){r=g.getWorldPosition(r);var u=g.getWorldPosition(n).sub(r);switch(n){case this.vH:case this.uH:var t=this.D.get("minWidth");break;case this.xH:case this.wH:t=this.D.get("minHeight");break;case this.zH:case this.yH:t=
this.D.get("minDepth")}return r.add(u.setLength(t||f))}};d.prototype.BIa=function(n){switch(n){case this.vH:return this.uH;case this.uH:return this.vH;case this.xH:return this.wH;case this.wH:return this.xH;case this.zH:return this.yH;case this.yH:return this.zH}return null};d.prototype.dispose=function(){h.ca(this.D,l,this.ff);h.ca(this.D,p,this.gk);h.ca(this.D,q,this.nl);var n=this.Ha.S;this.dh.forEach(function(r){n.Ve(r)});this.D=this.Ha=this.cg=this.o=this.dh=null};var f=1E-6,l=["draggableSphereRadius",
"draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],p="depth height x y z width".split(" "),q=["sizeDraggable"];return d});
define("cp","require ku lJ ox fx jO n".split(" "),function(a){function d(f,l,p){this.Ha=f;this.D=p;this.gk=this.gk.bind(this);this.ff=this.ff.bind(this);this.o=this.nFa();f=this.o.H(k.jb);f.aa=this.Ha;f.id=this.D.get("parentId");this.pr=this.L2();this.pr.H(k.jb).aa=this.o;this.lK=this.BFa();this.lK.H(k.jb).aa=this.o;this.dh=[this.o,this.pr,this.lK];this.YA=new b(this.Ha,this.o,this.D);this.K3=new g(this.Ha,this.o,this.D);f=this.o.H(k.jd);f.Dv=!0;f.Uv=!0;f.Ea=this.D;h.fa(this.D,e,this.ff,!0);h.fa(this.D,
c,this.gk,!0);this.D.trigger(m.hd)}var h=a("ku");a("lJ");var m=a("ox"),k=a("fx"),b=a("jO"),g=a("n");d.prototype.frame=function(){this.YA.frame();this.K3.frame()};d.prototype.nFa=function(){var f=this.Ha.S.dd("Box");f.H(k.Group);return f};d.prototype.L2=function(){var f=this.Ha.S.dd("BoxBorder");f.H(k.Line);f.H(k.Geometry).geometry=this.oFa();f.H(k.Xg);return f};d.prototype.BFa=function(){var f=this.Ha.S.dd("BoxFace");f.H(k.Mesh);f.H(k.Geometry).geometry=new THREE.BoxGeometry(1,1,1);f.H(k.Dc);return f};
d.prototype.oFa=function(){var f=[new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(-.5,-.5,-.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(.5,.5,-.5),new THREE.Vector3(.5,.5,-.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(-.5,-.5,
-.5),new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(-.5,-.5,-.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(.5,.5,-.5)];return(new THREE.BufferGeometry).setFromPoints(f)};d.prototype.ff=function(){var f=this.pr.K(k.Xg);f.color=this.D.get("lineColor");f.opacity=this.D.get("lineOpacity");f.width=this.D.get("lineWidth");f.depthTest=this.D.get("depthTest");f=this.lK.K(k.Dc);f.color=
this.D.get("faceColor");f.opacity=this.D.get("faceOpacity");f.depthTest=this.D.get("depthTest");f=this.o.K(k.jd,!0);f.Fo=this.D.get("useHandCursor");f.eQ=this.D.get("transparentAreaActive")};d.prototype.gk=function(){var f=this.o.K(k.ya,!0);f.positionX=this.D.get("x");f.positionY=this.D.get("y");f.positionZ=this.D.get("z");f=this.pr.K(k.ya,!0);var l=this.lK.K(k.ya,!0);l.Bf=f.Bf=this.D.get("width");l.Qf=f.Qf=this.D.get("height");l.mh=f.mh=this.D.get("depth")};d.prototype.dispose=function(){this.K3.dispose();
this.K3=null;this.YA.dispose();this.YA=null;h.ca(this.D,e,this.ff);h.ca(this.D,c,this.gk);var f=this.Ha.S;this.dh.forEach(function(l){f.Ve(l)});this.Ha=this.lK=this.pr=this.o=this.dh=null;this.D.trigger(m.sd);this.D=null};var e=["transparentAreaActive","useHandCursor"],c="depth height x y z width".split(" ");return d});
define("Z",["require"],function(){var a={qn:function(){this.kZa=this.dza=this.jZa=this.hza=this.gza=this.fza=0;this.YP=!1;this.Ts=new THREE.CubeTexture;this.zZa=this.vza=this.yZa=this.wza=this.targetY=this.targetX=0;this.cQ=!1;this.Us=new THREE.CubeTexture;this.mg="XYZ";this.position=1},c0a:function(){return new a.qn},create:function(m){var k=new THREE.ShaderMaterial;k.uniforms={sCube:{value:m.Ts},sPos:{value:new THREE.Vector3},sRot:{value:new THREE.Matrix4},sEnabled:{value:!1},tCube:{value:m.Us},
tPos:{value:new THREE.Vector3},tRot:{value:new THREE.Matrix4},tEnabled:{value:!1},blendingCoef:{value:0}};k.fragmentShader="uniform samplerCube sCube;\nuniform vec3 sPos;\nuniform mat4 sRot;\nuniform bool sEnabled;\nuniform samplerCube tCube;\nuniform vec3 tPos;\nuniform mat4 tRot;\nuniform bool tEnabled;\nuniform float blendingCoef;\nvarying vec3 vWorldPosition;\nvoid main() {\n    vec4 sFragColor;\n    vec4 tFragColor;\n    if (sEnabled) \n    {\n        vec4 sCubePosition4 = sRot * vec4((vWorldPosition - sPos), 1);\n        vec3 sCubePosition = sCubePosition4.xyz / sCubePosition4.w;\n\t    sFragColor = textureCube(sCube, sCubePosition);\n    }\n    if (tEnabled)\n    {\n        vec4 tCubePosition4 = tRot * vec4((vWorldPosition - tPos), 1);\n        vec3 tCubePosition = tCubePosition4.xyz / tCubePosition4.w;\n\t    tFragColor = textureCube(tCube, tCubePosition);\n    }\n    if (sEnabled && tEnabled)\n    {\n        gl_FragColor = mix(sFragColor, tFragColor, blendingCoef);     \n    }\n    else if (sEnabled)\n    {        \n        gl_FragColor = vec4(sFragColor.rgb, sFragColor.a * (1.0 - blendingCoef));\n    }\n    else if (tEnabled)\n    {\n        gl_FragColor = vec4(tFragColor.rgb, tFragColor.a * blendingCoef);\n    }\n    #include <encodings_fragment>\n}";
k.vertexShader="varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;\n   gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}";k.side=THREE.DoubleSide;k.depthWrite=!0;k.transparent=!0;k.needsUpdate=!0;this.update(k,m);return k},update:function(m,k){m.uniforms.sCube.value=k.Ts;m.uniforms.sPos.value.set(k.fza,k.gza,k.hza);m.uniforms.sRot.value.makeRotationFromEuler(d.set(k.jZa*h,k.dza*h,k.kZa*h,k.mg));m.uniforms.sEnabled.value=
k.YP;m.uniforms.tCube.value=k.Us;m.uniforms.tPos.value.set(k.targetX,k.targetY,k.wza);m.uniforms.tRot.value.makeRotationFromEuler(d.set(k.yZa*h,k.vza*h,k.zZa*h,k.mg));m.uniforms.tEnabled.value=k.cQ;m.uniforms.blendingCoef.value=k.position;m.needsUpdate=!0;return m}},d=new THREE.Euler,h=Math.PI/180;return a});
define("lL",["require","ku","Z","fx","ck"],function(a){function d(c,f,l){this.Ha=c;this.og=f;this.D=l;this.Ju=this.Ju.bind(this);this.o=this.Ha.S.dd("ProjectedMaterial");this.$c=this.ha=this.Yb=null}var h=a("ku"),m=a("Z"),k=a("fx"),b=a("ck");d.prototype.frame=function(){!this.$c&&b.Nb(this.og)&&this.hPa()};d.prototype.hPa=function(){this.Yb=new m.qn;this.ha=m.create(this.Yb);this.ha.polygonOffset=!0;this.ha.polygonOffsetUnits=1;this.ha.polygonOffsetFactor=-10;this.ha.needsUpdate=!0;this.$c=this.RFa();
this.o.H(k.Object3D).Yc=this.$c;var c=this.o.H(k.jb);c.aa=this.Ha;c.id=this.D.get("parentId");c.attach=!0;h.fa(this.D,e,this.Ju,!0)};d.prototype.RFa=function(){var c=b.Nb(this.og),f=new Map;c.traverse(function(q){if(q.material&&q.userData){var n={};q.material&&(n.material=q.material,q.material=this.ha);q.userData&&(n.userData=q.userData,q.userData={});f.set(q,n)}}.bind(this));c=c.clone();f.forEach(function(q,n){q.material&&(n.material=q.material);q.userData&&(n.userData=q.userData)});var l=b.$m(this.og),
p=l&&b.fz(l);this.oN=new THREE.Mesh(new THREE.BoxGeometry(2,2,2),this.ha);this.gF=l&&b.qY(l);b.CSa(p,this.oN);return c};d.prototype.Ju=function(){this.Yb.texture||(this.Yb.texture=new THREE.CubeTexture);this.Yb.texture.image!=this.D.get("faces")&&(this.Yb.texture.image=this.D.get("faces"),this.Yb.texture.encoding=THREE.sRGBEncoding,this.Yb.texture.needsUpdate=!0);this.D.get("sourceFaces")?(this.Yb.Ts.image!=this.D.get("sourceFaces")&&(this.Yb.Ts&&this.Yb.Ts.dispose(),this.Yb.Ts=new THREE.CubeTexture,
this.Yb.Ts.image=this.D.get("sourceFaces"),this.Yb.Ts.encoding=this.gF,this.Yb.Ts.needsUpdate=!0),this.Yb.fza=this.D.get("sourceX"),this.Yb.gza=this.D.get("sourceY"),this.Yb.hza=this.D.get("sourceZ"),this.Yb.dza=this.D.get("sourceYaw"),this.Yb.YP=!0):this.Yb.YP=!1;this.D.get("targetFaces")?(this.Yb.Us.image!=this.D.get("targetFaces")&&(this.Yb.Us&&this.Yb.Us.dispose(),this.Yb.Us=new THREE.CubeTexture,this.Yb.Us.image=this.D.get("targetFaces"),this.Yb.Us.encoding=this.gF,this.Yb.Us.needsUpdate=!0),
this.Yb.targetX=this.D.get("targetX"),this.Yb.targetY=this.D.get("targetY"),this.Yb.wza=this.D.get("targetZ"),this.Yb.vza=this.D.get("targetYaw"),this.Yb.cQ=!0):this.Yb.cQ=!1;this.Yb.position=this.D.get("position");b.Nb(this.og).visible=this.Yb.YP&&this.Yb.cQ||this.Yb.YP&&0>=this.Yb.position||this.Yb.cQ&&1<=this.Yb.position?!1:!0;m.update(this.ha,this.Yb);this.o.S.$a()};var g=new THREE.MeshBasicMaterial;d.prototype.dispose=function(){b.Nb(this.og).visible=!0;this.$c&&this.$c.traverse(function(c){c.material==
this.ha&&(c.material=g)}.bind(this));this.oN&&(b.UWa(this.oN.parent,this.oN),this.oN=null);this.ha&&(this.Yb.Ts.dispose(),this.Yb.Us.dispose(),this.Yb.texture.dispose(),this.Yb=null,this.ha.dispose(),this.ha=null);h.ca(this.D,e,this.Ju);this.o&&this.o.S.Ve(this.o);this.D=this.o=this.Ha=null};var e="sourceX sourceY sourceZ sourceYaw sourceFaces targetX targetY targetZ targetYaw targetFaces position".split(" ");return d});
define("cF","require ku ox gf fx ck".split(" "),function(a){function d(w,x,y){this.Ha=w;this.o=x;this.D=y;this.iG=this.iG.bind(this);this.ff=this.ff.bind(this);this.nl=this.nl.bind(this);this.Fc=null;this.W=!1;this.Xf=1;this.Zg=this.Ha.S.dd("DraggingSize2DContainer");this.Zg.H(b.Group);this.Zg.H(b.ya);this.cg=[this.q6=this.gp(),this.i6=this.gp(),this.O8=this.gp(),this.t8=this.gp()];this.cg.forEach(function(A){A.H(b.ya);A=A.K(b.Dc);A.color="#ffffff";A.opacity=.5;A.depthTest=!1}.bind(this));this.pr=
this.L2();this.dh=[this.Zg,this.pr].concat(this.cg);[this.pr].concat(this.cg).forEach(function(A){A.H(b.jb).aa=this.Zg}.bind(this));h.fa(this.D,t,this.iG,!0);h.fa(this.D,u,this.ff,!0);h.fa(this.D,v,this.nl,!0)}var h=a("ku"),m=a("ox"),k=a("gf"),b=a("fx"),g=a("ck"),e=new THREE.Matrix4,c=new THREE.Vector3,f=new THREE.Vector3,l=new THREE.Quaternion,p=new THREE.Vector3,q=new THREE.Vector3,n=new THREE.Euler,r=180/Math.PI;d.prototype.frame=function(){if(this.W){var w=g.Nb(this.Zg),x=w&&g.cI(w),y=x&&g.fz(x);
if(y){if(this.Fc){var A=g.Gba(x);x=g.UO(x);g.getWorldPosition(this.o,q).project(y);q.x=(q.x+1)*A*.5;q.y=(1-q.y)*x*.5;g.getWorldPosition(this.Fc,p).project(y);p.x=(p.x+1)*A*.5;p.y=(1-p.y)*x*.5;A=this.D.get("anchorX");x=this.D.get("anchorY");var B,z,C=q.x-p.x,G=p.y-q.y,D=-C,E=-G;this.i6===this.Fc&&(0<A||1>x)?C>G?B=C/A:z=G/(1-x):this.t8===this.Fc&&(1>A||1>x)?D>G?B=D/(1-A):z=G/(1-x):this.q6===this.Fc&&(0<A||0<x)?C>E?B=C/A:z=E/x:this.O8===this.Fc&&(1>A||0<x)&&(D>E?B=D/(1-A):z=E/x);void 0!==z&&void 0===
B?B=z*this.Wga:void 0!==B&&void 0===z&&(z=B/this.Wga);void 0!==B&&void 0!==z&&(this.D.set("width",this.ia=B),this.D.set("height",this.ua=z))}B=this.Zg.getComponent(b.ya);e.copy(w.parent.matrixWorld).invert().multiply(y.matrixWorld).decompose(c,l,f);n.setFromQuaternion(l,B.mg);n.x*=r;n.y*=r;n.z*=r;if(B.Le!=n.x||B.oe!=n.y||B.Me!=n.z)B=this.Zg.K(b.ya),B.Le=n.x,B.oe=n.y,B.Me=n.z;this.dN(g.dI(this.Zg)||1)}}};d.prototype.aRa=function(w,x){null!=this.w$&&clearTimeout(this.w$);this.w$=setTimeout(function(){this.w$=
null;if(this.ia!==w||this.ua!==x)this.ia=w,this.ua=x,this.Wga=this.ia/this.ua}.bind(this),100)};d.prototype.gp=function(){var w=this.Ha.S.dd("DraggingSphere");w.H(b.Mesh).renderOrder=2;w.H(b.Geometry).geometry=new THREE.SphereGeometry;w.H(b.Dc);return w};d.prototype.L2=function(){var w=this.Ha.S.dd("BoxBorder");w.H(b.Line);w.H(b.Geometry).geometry=this.$Fa();var x=w.H(b.Xg);x.color="#0000ff";x.depthTest=!1;x.width=1;return w};d.prototype.$Fa=function(){var w=[new THREE.Vector3(-.5,-.5,0),new THREE.Vector3(.5,
-.5,0),new THREE.Vector3(.5,-.5,0),new THREE.Vector3(.5,.5,0),new THREE.Vector3(.5,.5,0),new THREE.Vector3(-.5,.5,0),new THREE.Vector3(-.5,.5,0),new THREE.Vector3(-.5,-.5,0)];return(new THREE.BufferGeometry).setFromPoints(w)};d.prototype.ff=function(){var w=this.pr.K(b.Xg);w.color=this.D.get("draggableLineColor");w.opacity=this.D.get("draggableLineOpacity");w.width=this.D.get("draggableLineWidth");this.cg.forEach(function(x){x.K(b.Dc).color=this.D.get("draggableSphereColor");x.K(b.ya).scale=this.D.get("draggableSphereRadius")*
this.Xf}.bind(this))};d.prototype.dN=function(w){this.Xf!=w&&(this.Xf=w,this.iG(),this.ff())};d.prototype.iG=function(){var w=this.D.get("anchorX"),x=this.D.get("anchorY"),y=this.D.get("width"),A=this.D.get("height"),B=this.q6.K(b.ya,!0);B.positionX=-w*y*this.Xf;B.positionY=x*A*this.Xf;B=this.O8.K(b.ya,!0);B.positionX=(1-w)*y*this.Xf;B.positionY=x*A*this.Xf;B=this.i6.K(b.ya,!0);B.positionX=-w*y*this.Xf;B.positionY=(x-1)*A*this.Xf;B=this.t8.K(b.ya,!0);B.positionX=(1-w)*y*this.Xf;B.positionY=(x-1)*
A*this.Xf;B=this.pr.K(b.ya,!0);B.positionX=(.5-w)*y*this.Xf;B.positionY=(x-.5)*A*this.Xf;B.Bf=y*this.Xf;B.Qf=A*this.Xf;this.aRa(y,A)};d.prototype.nl=function(){var w=this.D.get("sizeDraggable");this.W!=w&&((this.W=w)?(this.Zg.H(b.jb).aa=this.o,this.cg.forEach(function(x){x=x.H(b.jd);x.Uv=!0;x.Dv=!0;x.Ea=new k;x.Ea.bind(m.Tc,this.$F,this,!0);x.Ea.bind(m.ac,this.X6,this,!0);x.Ea.bind(m.vb,this.V6,this,!0);x.Ea.bind(m.Zb,this.W6,this,!0)}.bind(this))):(this.Zg.na(b.jb),this.cg.forEach(function(x){x.na(b.jd)}.bind(this))))};
d.prototype.$F=function(w){(w=this.Zk(w))&&w!=this.Fc&&(w.K(b.Dc).opacity=1)};d.prototype.X6=function(w){(w=this.Zk(w))&&w!=this.Fc&&(w.K(b.Dc).opacity=.5)};d.prototype.V6=function(w){w=this.Zk(w);this.Ey(w)};d.prototype.W6=function(w){(w=this.Zk(w))&&w==this.Fc&&(this.Ey(null),this.iG(),(w=-1!=this.cg.indexOf(w))&&this.D.trigger(m.qt),w&&this.D.trigger(m.vfa))};d.prototype.Zk=function(w){w=this.cg.map(function(x){return x.getComponent(b.jd).Ea}).indexOf(w.source);if(-1==w)return null;w=this.cg[w];
return this.gKa(w)?w:null};d.prototype.gKa=function(w){var x=this.D.get("anchorX"),y=this.D.get("anchorY");return this.i6===w&&(0<x||0<y)||this.t8===w&&(1>x||0<y)||this.q6===w&&(0<x||1>y)||this.O8===w&&(1>x||1>y)?!0:!1};d.prototype.Ey=function(w){this.Fc&&(this.Fc.K(b.Dc).opacity=.5,this.sF(this.Fc).na(b.Go));if(this.Fc=w){this.Fc.K(b.Dc).opacity=1;var x=this.sF(this.Fc).H(b.Go),y=g.getWorldPosition(this.o);w=g.getWorldPosition(w);w=(new THREE.Vector3).copy(w).sub(y);var A=Math.min(w.length(),10*
this.Xf);y=(new THREE.Vector3).copy(y).add(c.copy(w).setLength(A));x.direction=w;x.min=y}};d.prototype.sF=function(w){return-1!=this.cg.indexOf(w)?w:null};d.prototype.dispose=function(){h.ca(this.D,t,this.iG);h.ca(this.D,u,this.ff);h.ca(this.D,v,this.nl);var w=this.Ha.S;this.dh.forEach(function(x){w.Ve(x)});this.D=this.Ha=this.cg=this.o=this.dh=null};var u=["draggableLineColor","draggableLineOpacity","draggableLineWidth","draggableSphereColor","draggableSphereRadius"],t="anchorX anchorY height x y z width".split(" "),
v=["sizeDraggable"];return d});
define("hV","require ku hP fx jO cF ck".split(" "),function(a){function d(v,w,x,y,A){this.Ha=v;this.te=x;this.pi=y;this.D=A;this.gk=this.gk.bind(this);this.VL=this.VL.bind(this);this.ff=this.ff.bind(this);this.wU=this.wU.bind(this);this.Lg=this.te.Yy(1);this.D.get("preload")&&this.pi.AH(this.Lg);this.o=this.Ha.S.dd("SpriteContainer");this.o.H(k.Group);v=this.o.H(k.jb);v.aa=this.Ha;v.id=this.D.get("parentId");this.QN=this.Ha.S.dd("TranslationSpriteContainer");this.QN.H(k.Group);this.QN.H(k.jb).aa=
this.o;this.fs=this.Ha.S.dd("Sprite");this.fs.H(k.jb).aa=this.QN;v=this.fs.H(k.Yl);v.Vb=this.D;v.Pba=this.D.get("image");v.Ea=this.D;v.vo=this.Lg;v.isSprite=!0;v.priority=this.D.get("preload")?m.dA:m.Mea;this.fs.H(k.Sprite).renderOrder=2;this.fs.H(k.jd).Ea=this.D;this.fs.H(k.mw);this.fs.H(k.VI).object=this.D;this.l6=!1;this.Xf=1E-4;this.Nx=this.o.S.dd("TranslationLine");this.Nx.H(k.Line).renderOrder=1;this.Nx.H(k.Xg);this.YA=new b(this.Ha,this.o,this.D);this.J3=new g(this.Ha,this.QN,this.D);h.fa(this.D,
n,this.gk,!0);h.fa(this.D,u,this.VL,!0);h.fa(this.D,t,this.ff,!0);h.fa(this.D,r,this.wU,!0)}var h=a("ku"),m=a("hP"),k=a("fx"),b=a("jO"),g=a("cF"),e=a("ck");d.prototype.frame=function(){this.YA.frame();this.J3.frame();this.dN(e.dI(this.o)||1E-4)};d.prototype.gk=function(){this.o.H(k.jb).id!=this.D.get("parentId")&&(this.o.K(k.jb).id=this.D.get("parentId"));var v=this.o.K(k.ya,!0);v.positionX=this.D.get("x");v.positionY=this.D.get("y");v.positionZ=this.D.get("z")};d.prototype.dN=function(v){this.Xf!=
v&&(this.Xf=v,this.VL())};d.prototype.VL=function(){var v=this.QN.K(k.ya,!0),w=this.D.get("translationLength");l.set(this.D.get("translationX"),this.D.get("translationY"),this.D.get("translationZ"));void 0!==w&&l.setLength(w*this.Xf);v.translationX=l.x;v.translationY=l.y;v.Ye=l.z;w=this.Nx.K(k.ya,!0);l.set(v.translationX,v.translationY,v.Ye);w.scale=l.length();c.setFromUnitVectors(p,l.normalize());f.setFromQuaternion(c,w.mg);f.x*=q;f.y*=q;f.z*=q;w.Le=f.x;w.oe=f.y;w.Me=f.z;this.jsa()};var c=new THREE.Quaternion,
f=new THREE.Euler,l=new THREE.Vector3,p=new THREE.Vector3(0,0,1),q=180/Math.PI;d.prototype.ff=function(){var v=this.fs.K(k.jd,!0);v.Fo=this.D.get("useHandCursor");v.eQ=this.D.get("transparentAreaActive");v.Dv=this.D.get("clickEnabled");v.Uv=this.D.get("rollOverEnabled");v=this.Nx.K(k.Xg);v.color=this.D.get("translationLineColor");v.depthTest=this.D.get("depthTest");v.opacity=this.D.get("hidden")?0:this.D.get("translationLineOpacity");v.width=this.D.get("translationLineWidth");this.jsa()};d.prototype.wU=
function(){var v=this.fs.K(k.Sprite,!0);v.CH=this.D.get("anchorX");v.DH=this.D.get("anchorY");v.width=this.D.get("width");v.height=this.D.get("height");v.scale=this.D.get("scale")};d.prototype.jsa=function(){var v=this.D.get("translationLineVisible")&&0<this.D.get("translationLineOpacity")&&(0!=this.D.get("translationX")||0!=this.D.get("translationY")||0!=this.D.get("translationZ"));this.l6!=v&&((this.l6=v)?this.Nx.H(k.jb).aa=this.o:this.Nx.na(k.jb))};d.prototype.dispose=function(){this.YA.dispose();
this.YA=null;this.J3.dispose();this.J3=null;h.ca(this.D,n,this.gk);h.ca(this.D,u,this.VL);h.ca(this.D,t,this.ff);h.ca(this.D,r,this.wU);this.te.vI(this.Lg);this.pi.vI(this.Lg);this.Lg=this.pi=this.te=null;var v=this.Ha.S;this.Ha=null;v.Ve(this.fs);this.fs=null;v.Ve(this.Nx);this.Nx=null;v.Ve(this.o);this.D=this.o=null};var n=["parentId","x","y","z"],r=["anchorX","anchorY","width","height","scale"],u=["translationX","translationY","translationZ","translationLength"],t="clickEnabled depthTest hidden rollOverEnabled transparentAreaActive translationLineColor translationLineOpacity translationLineVisible translationLineWidth useHandCursor".split(" ");
return d});define("fR",["require","nq","cp","lL","hV"],function(a){var d=a("nq"),h=a("cp"),m=a("lL"),k=a("hV");return{create:function(b,g,e,c,f){return d.Ka("SpriteModel3DObject",f)?new k(b,g,e,c,f):d.Ka("BoxModel3DObject",f)?new h(b,g,f):d.Ka("ProjectedMaterialModel3DObject",f)?new m(b,g,f):null}}});
define("kN",["require","ku","fx","fR"],function(a){function d(b,g,e,c){this.o=b;this.og=g;this.te=e;this.pi=c;this.$B=this.$B.bind(this);this.uq=b.S;this.m=this.o.getComponent(m.Dg).Vb;this.Aa=(b=this.o.getComponent(m.Object3D))&&b.Yc;this.sj=[];this.dU=new Map;h.fa(this.m,["objects.enabled"],this.$B,!0)}var h=a("ku"),m=a("fx"),k=a("fR");d.prototype.update=function(){var b=this.o.getComponent(m.Object3D);b=b&&b.Yc;if(this.Aa!==b){var g=this.Aa;this.Aa=b;this.ZW(!!g)}};d.prototype.frame=function(){this.dU.forEach(function(b){b&&
b.frame&&b.frame()})};d.prototype.dispose=function(){this.Aa=null;h.ca(this.m,["objects.enabled"],this.$B);this.pqa([])};d.prototype.$B=function(){this.ZW()};d.prototype.ZW=function(b){var g=this.m.get("objects").filter(function(e){return e.get("enabled")});this.pqa(g,b)};d.prototype.pqa=function(b,g){if(this.sj!=b||g)this.sj.forEach(function(e){(g||0>b.indexOf(e))&&this.lNa(e)}.bind(this)),b.forEach(function(e){(g||0>this.sj.indexOf(e))&&this.SCa(e)}.bind(this)),this.sj=b};d.prototype.SCa=function(b){this.dU.set(b,
k.create(this.o,this.og,this.te,this.pi,b))};d.prototype.lNa=function(b){var g=this.dU.get(b);g&&g.dispose();this.dU["delete"](b)};return d});
define("kb",["require","ox","fx"],function(a){function d(g,e){this.o=g;this.og=e;this.pj=this.Aa=this.m=null;this.KU=new Map;this.zl(this.o.getComponent(m.Dg).Vb);this.update()}var h=a("ox"),m=a("fx");d.prototype.update=function(){var g=this.og.getComponent(m.Object3D);g=g&&g.Yc;this.Aa!=g&&(this.Aa=g,this.yA())};d.prototype.zl=function(g){this.m&&k.forEach(function(e){this.m.unbind(h.G(e),this.yA,this,!1)}.bind(this));if(this.m=g)k.forEach(function(e){this.m.bind(h.G(e),this.yA,this,!1)}.bind(this)),
this.yA()};d.prototype.yA=function(){this.oqa(this.m.get("model"));if(this.Aa){var g=this.m.get("bakedTextures");this.Aa.traverse(function(e){e.isMesh&&(g?this.hFa(e):this.ypa(e))}.bind(this));this.o.S.$a()}};d.prototype.hFa=function(g){!g.material||g.material.isMeshBasicMaterial||this.KU.get(g)||(this.KU.set(g,g.material),g.material=(new THREE.MeshBasicMaterial).copy(g.material))};d.prototype.ypa=function(g){var e=g.material,c=this.KU.get(g);e&&c&&(this.KU["delete"](g),g.material=c)};d.prototype.oqa=
function(g){this.pj!=g&&(this.pj&&b.forEach(function(e){this.pj.unbind(h.G(e),this.L1,this,!1)}.bind(this)),this.pj=g)&&(b.forEach(function(e){this.pj.bind(h.G(e),this.L1,this,!1)}.bind(this)),this.L1())};d.prototype.L1=function(){var g=this.og.K(m.ya,!0);g.positionX=this.pj.get("positionX");g.positionY=this.pj.get("positionY");g.positionZ=this.pj.get("positionZ");g.Le=this.pj.get("rotationX");g.oe=this.pj.get("rotationY");g.Me=this.pj.get("rotationZ");g.scale=this.pj.get("scale");g.translationX=
this.pj.get("translationX");g.translationY=this.pj.get("translationY");g.Ye=this.pj.get("translationZ")};d.prototype.dispose=function(){this.Aa&&(this.Aa.traverse(function(g){g.isMesh&&this.ypa(g)}.bind(this)),this.Aa=null);this.oqa(null);this.zl(null)};var k=["bakedTextures","model"],b="positionX positionY positionZ rotationX rotationY rotationZ scale translationX translationY translationZ".split(" ");return d});
define("bP","require ox cw oQ fx kX mi ey kN kb".split(" "),function(a){function d(p){this.o=p;this.o.H(b.Group);this.og=this.o.S.dd("GLTF");this.og.H(b.jb).aa=this.o;p=this.o.getComponent(b.Dg);this.pi=new k(p.Txa);this.te=new k(p.vo);this.he=p.Ea;this.Qx=new c(this.o,this.og,this.te,this.pi);this.sj=new f(this.o,this.og,this.te,this.pi);this.yu=new e(this.o);this.Ee=new g(this.o);this.m=new l(this.o,this.og)}var h=a("ox"),m=a("cw"),k=a("oQ"),b=a("fx"),g=a("kX"),e=a("mi"),c=a("ey"),f=a("kN"),l=a("kb");
d.prototype.update=function(){this.Qx.update();this.sj.update();this.m.update();this.yu.update();this.Ee.update()};d.prototype.frame=function(){this.sj.frame();this.Ee.frame();this.he.trigger(new m(h.Zz))};d.prototype.dispose=function(){this.Ee&&(this.Ee.dispose(),this.Ee=null);this.Qx&&(this.Qx.dispose(),this.Qx=null);this.sj&&(this.sj.dispose(),this.sj=null);this.yu&&(this.yu.dispose(),this.yu=null);this.m&&(this.m.dispose(),this.m=null);this.te&&(this.te.dispose(),this.te=null);this.og&&(this.og.S.Ve(this.og),
this.og=null);this.he=null};d.Ob=function(p){p.H(b.nt).manager=new d(p)};d.eb=function(p){var q=p.getComponent(b.nt);q.manager.dispose();q.manager=null;p.na(b.nt)};d.update=function(p){p.getComponent(b.nt).manager.update()};d.frame=function(p){p.getComponent(b.nt).manager.frame()};return d});
define("kP",["require","li","ls","fx","bP"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("bP");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.Fwa.C.length&&this.Fwa.C.slice().forEach(k.Ob);this.WY.Ya.length&&this.WY.Ya.slice().forEach(k.update);this.WY.C.length&&this.WY.C.slice().forEach(k.frame);this.Gwa.C.length&&this.Gwa.C.slice().forEach(k.eb)};a.J={};a.J.Fwa=[m.Dg,m.nt.not];a.J.WY=[m.Dg,m.nt];a.J.Gwa=[m.Dg.not,m.nt];return a});
define("cg",["require","fx","ck"],function(a){function d(k){this.o=k;this.$c=null}var h=a("fx"),m=a("ck");d.prototype.frame=function(){if(!this.$c){var k=this.o.getComponent(h.mE),b=m.Nb(k.container);if(this.$c=b&&k.id&&m.bz(b,k.id)||null)this.o.H(h.Object3D).Yc=this.$c,this.o.S.$a()}};d.prototype.update=function(){this.$c&&(this.o.na(h.Object3D),this.$c=null)};d.prototype.dispose=function(){this.$c&&(this.o.na(h.Object3D),this.$c=null)};d.Ob=function(k){k.H(h.ot).manager=new d(k)};d.eb=function(k){var b=
k.getComponent(h.ot);b.manager.dispose();b.manager=null;k.na(h.ot)};d.frame=function(k){k.getComponent(h.ot).manager.frame()};d.update=function(k){k.getComponent(h.ot).manager.update()};return d});
define("gY",["require","li","ls","fx","cg"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("cg");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.Twa.C.length&&this.Twa.C.slice().forEach(k.Ob);this.bZ.Ya.length&&this.bZ.Ya.slice().forEach(k.update);this.bZ.C.length&&this.bZ.C.slice().forEach(k.frame);this.Uwa.C.length&&this.Uwa.C.slice().forEach(k.eb)};a.J={};a.J.Twa=[m.mE,m.ot.not];a.J.bZ=[m.mE,m.ot];a.J.Uwa=[m.mE.not,m.ot];return a});
define("nF",["require","fx","ck"],function(a){function d(k){this.o=k;this.jB=new THREE.PlaneGeometry;this.Hla=this.o.H(h.Object3D).Yc=new THREE.Mesh(this.jB);this.update()}var h=a("fx"),m=a("ck");d.prototype.update=function(){var k=this.o.getComponent(h.Material).material;k&&m.Av(this.Hla,k);this.Hla.renderOrder=this.o.getComponent(h.Plane).renderOrder};d.prototype.dispose=function(){this.jB.dispose();this.jB=null};d.Ob=function(k){k.H(h.rt).manager=new d(k)};d.eb=function(k){var b=k.getComponent(h.rt);
b.manager.dispose();b.manager=null;k.na(h.rt);k.na(h.Object3D)};d.update=function(k){k.getComponent(h.rt).manager.update()};return d});
define("gT",["require","li","ls","fx","nF"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("nF");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.wP.C.length&&this.wP.C.slice().forEach(k.Ob);this.planes.Ya.length&&this.planes.Ya.slice().forEach(k.update);this.Mxa.C.length&&this.Mxa.C.slice().forEach(k.eb);this.Nxa.C.length&&this.Nxa.C.slice().forEach(k.eb)};a.J={};a.J.wP=[m.Material,m.Plane,m.rt.not];a.J.planes=[m.Plane,m.Material,m.rt];a.J.Mxa=[m.Plane.not,m.rt];
a.J.Nxa=[m.Material.not,m.rt];return a});
define("hG",["require","fx","ck"],function(a){var d=a("fx"),h=a("ck");return{Ob:function(m){var k=m.getComponent(d.jb),b=h.Nb(k.aa);if(b){var g=m.H(d.Zq);g.parent=b;k.id&&(b=b&&h.bz(b,k.id));g.id=k.id;g.xd=h.Nb(m);g.attach=k.attach;b&&g.xd&&(g.attach?b.attach(g.xd):b.add(g.xd))}},update:function(m){var k=m.getComponent(d.jb),b=m.getComponent(d.Zq),g=h.Nb(k.aa),e=h.Nb(m);if(b.parent!=g||b.xd!=e||k.id!=b.id||k.attach!=b.attach||e&&g&&!e.parent)b=m.K(d.Zq),b.xd&&b.xd.parent&&(k.aa.K(d.Object3D),b.xd.parent.remove(b.xd)),
b.parent=g,k.id&&(g=g&&h.bz(g,k.id)),b.id=k.id,b.xd=e,b.attach=k.attach,g&&b.xd&&(b.attach?g.attach(b.xd):g.add(b.xd),(k=m.getComponent(d.ya))&&h.QP(m,k))},eb:function(m){var k=m.getComponent(d.Zq);k.xd&&k.xd.parent&&k.xd.parent.remove(k.xd);k.parent=null;k.xd=null;k.id=void 0;m.na(d.Zq)}}});
define("mB",["require","li","ls","fx","hG"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("hG");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.oP.C.length&&this.oP.C.slice().forEach(k.Ob);this.Cq.C.length&&this.Cq.C.slice().forEach(k.update);this.Cq.Ya.length&&this.Cq.Ya.slice().forEach(k.update);this.Cq.ie.length&&this.Cq.ie.slice().forEach(k.update);this.Lta.C.length&&this.Lta.C.slice().forEach(k.eb);this.Mta.C.length&&this.Mta.C.slice().forEach(k.eb)};a.J=
{};a.J.oP=[m.Object3D,m.jb,m.Zq.not];a.J.Cq=[m.Object3D,m.jb,m.Zq];a.J.Lta=[m.Object3D.not,m.jb,m.Zq];a.J.Mta=[m.jb.not,m.Zq];return a});
define("dc",["require","li","ls","fx","ck"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("ck");a=d.extend(h,function(){h.apply(this,arguments);this.qf=this.qf.bind(this);this.yd=this.yd.bind(this);this.eD=this.eD.bind(this)});a.prototype.Gd=function(){this.Ixa.C.length&&this.Ixa.C.slice().forEach(this.qf);this.Hxa.C.length&&this.Hxa.C.slice().forEach(this.eD);this.Jxa.C.length&&this.Jxa.C.slice().forEach(this.yd);this.Kxa.C.length&&this.Kxa.C.slice().forEach(this.yd)};a.prototype.qf=function(e){e.H(m.hA)};
a.prototype.yd=function(e){e.na(m.hA)};var b=new THREE.Matrix4,g=new THREE.Vector3;a.prototype.eD=function(e){var c=e.getComponent(m.cj),f=e.getComponent(m.ya);if(f){var l=e.getComponent(m.Object3D).Yc;if(l&&l.parent){var p=e.getComponent(m.Gf),q=1E-7;p&&(q=k.dI(e)||q);b.copy(l.parent.matrixWorld).invert();g.setFromMatrixScale(b);l=Math.max(g.x,g.y,g.z);p&&p.Bv&&(q/=l,l=1);p=c.scale*l;void 0!==c.kz&&(p=Math.min(c.kz*q,p));void 0!==c.lz&&(p=Math.max(c.lz*q,p));if(f.scale!=p||f.Bf!=c.Bf||f.Qf!=c.Qf||
f.mh!=c.mh)f=e.K(m.ya),f.scale=p,f.Bf=c.Bf,f.Qf=c.Qf,f.mh=c.mh}}};a.J={};a.J.Ixa=[m.Object3D,m.cj,m.hA.not];a.J.Hxa=[m.Object3D,m.cj,m.hA];a.J.Jxa=[m.Object3D.not,m.hA];a.J.Kxa=[m.cj.not,m.hA];return a});
define("dL",["require","ox","fx","ck"],function(a){function d(t){this.o=t;this.BL=new THREE.Vector3;this.Za=new THREE.Vector3;this.A5=this.Xc=this.h$=!1;this.Ioa=[];this.update()}var h=a("ox"),m=a("fx"),k=a("ck");d.prototype.update=function(){this.x7=this.o.getComponent(m.Qj).aa};d.prototype.frame=function(){this.rsa();this.yv()};d.prototype.rsa=function(){var t=u.filter(function(w){return w.S==this.o.S}.bind(this)),v=this.Ioa;v.filter(function(w){return-1==t.indexOf(w)}).forEach(this.pNa.bind(this));
t.filter(function(w){return-1==v.indexOf(w)}).forEach(this.WCa.bind(this));this.Ioa=t};d.prototype.WCa=function(t){(t=t.getComponent(m.$e))&&t.Ea.bind(h.hc,this.ef,this,!0);t&&t.Ea.bind(h.ac,this.Gm,this,!0)};d.prototype.pNa=function(t){(t=t.getComponent(m.$e))&&t.Ea.unbind(h.hc,this.ef,this);t&&t.Ea.unbind(h.ac,this.Gm,this)};d.prototype.ef=function(t){if(this.x7&&k.bz(k.Nb(this.x7),t.data.objectId)&&"mesh"==t.data.type){var v=this.Xc;this.Xc=!0;var w=k.Nb(this.o);if((w=w&&w.parent)&&w.matrixWorld){var x=
this.o.getComponent(m.Qj);x&&(g.setFromMatrixPosition(w.matrixWorld),e.copy(w.matrixWorld).invert(),c.fromArray(t.data.objectMatrixWorld),b.setFromMatrixPosition(c),f.copy(c).invert(),x.rotate?t.data.normal?this.BL.copy(t.data.normal).applyMatrix4(c).sub(b).add(g):this.BL.copy(t.data.cameraPosition):this.BL.copy(q),this.BL.applyMatrix4(e).normalize(),this.Za.copy(t.data.position).applyMatrix4(e),this.h$=!0,this.o.S.$a(),v||(t=(x=this.o.getComponent(m.Qj))&&x.Ea)&&t.trigger(h.Tc))}}else this.Gm()};
var b=new THREE.Vector3,g=new THREE.Vector3,e=new THREE.Matrix4,c=new THREE.Matrix4,f=new THREE.Matrix4;d.prototype.Gm=function(){if(this.Xc){this.Xc=!1;this.o.S.$a();var t=this.o.getComponent(m.Qj);(t=t&&t.Ea)&&t.trigger(h.ac)}};d.prototype.yv=function(){if(this.h$||this.Xc){this.h$=!1;var t=this.o.K(m.ya,!0);t.positionX=0;t.positionY=0;t.positionZ=0;l.setFromUnitVectors(p,this.BL);n.setFromQuaternion(l,t.mg);t.Le=n.x*r;t.oe=n.y*r;t.Me=n.z*r;t.translationX=this.Za.x;t.translationY=this.Za.y;t.Ye=
this.Za.z;t.easing=this.A5?.4:0;this.A5||(k.QP(this.o,t),this.A5=!0)}};var l=new THREE.Quaternion,p=new THREE.Vector3(0,0,1),q=new THREE.Vector3(0,1,0),n=new THREE.Euler,r=180/Math.PI;d.prototype.dispose=function(){this.x7=null;this.rsa()};d.xYa=function(t){u=t};var u=[];d.Ob=function(t){t.H(m.ar).manager=new d(t)};d.eb=function(t){var v=t.getComponent(m.ar);v.manager.dispose();v.manager=null;t.na(m.ar)};d.frame=function(t){t.getComponent(m.ar).manager.frame()};d.update=function(t){t.getComponent(m.ar).manager.update()};
return d});
define("io",["require","li","ls","fx","dL"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("dL");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){k.xYa(this.Fq.C);this.Oxa.C.length&&this.Oxa.C.slice().forEach(k.Ob);this.rZ.Ya.length&&this.rZ.C.slice().forEach(k.update);this.rZ.C.length&&this.rZ.C.slice().forEach(k.frame);this.Pxa.C.length&&this.Pxa.C.slice().forEach(k.eb);this.Qxa.C.length&&this.Qxa.C.slice().forEach(k.eb)};a.J={};a.J.Fq=[m.$e];a.J.Oxa=[m.Object3D,m.Qj,
m.ar.not];a.J.rZ=[m.Object3D,m.Qj,m.ar];a.J.Pxa=[m.Object3D.not,m.ar];a.J.Qxa=[m.Qj.not,m.ar];return a});define("fZ",["require","hp"],function(a){return a("hp")});
define("eJ",["require","fx","nZ","bE"],function(a){function d(b){this.o=b;this.enabled=!1;this.om=null;this.tr=0;this.passes=[];this.vi=this.wi=!1;this.Oe=null;this.ua=this.ia=100}var h=a("fx"),m=a("nZ"),k=a("bE");d.prototype.dispose=function(){this.Oe&&(this.Oe.saoRenderTarget.dispose(),this.Oe.blurIntermediateRenderTarget.dispose(),this.Oe.beautyRenderTarget.dispose(),this.Oe.normalRenderTarget.dispose(),this.Oe.depthRenderTarget.dispose(),this.Oe.depthMaterial.dispose(),this.Oe.normalMaterial.dispose(),
this.Oe.saoMaterial.dispose(),this.Oe.vBlurMaterial.dispose(),this.Oe.hBlurMaterial.dispose(),this.Oe.materialCopy.dispose(),this.Oe.depthCopy.dispose(),this.Oe=null)};d.prototype.update=function(b,g,e,c,f){var l=this.o.getComponent(h.XD),p=!!l;if(this.wi=this.enabled!=p)(this.enabled=p)?(!this.Oe&&b&&g&&(this.Oe=new THREE.SAOPass(b,g,!1,!0)),this.om=new m("linear",[new k("alpha",0,1,void 0)],l.eua),this.tr=0,this.passes=[this.Oe],this.vi=!0):(this.passes=[],this.vi=!1);this.enabled&&(this.om&&(this.om.yb(f),
this.tr=this.om.cb("alpha"),1==this.tr&&(this.om=null),this.o.S.$a()),null!==l.output&&(this.Oe.params.output=l.output),this.Oe.params.saoBias=l.bias/l.scale,this.Oe.params.saoIntensity=this.tr*l.intensity,this.Oe.params.saoScale=l.scale,this.Oe.params.saoKernelRadius=l.dwa,this.Oe.params.saoMinResolution=l.Cwa/1E3,this.Oe.params.saoBlur=0<l.Paa,this.Oe.params.saoBlurRadius=l.Paa,this.Oe.params.saoBlurStdDev=8,this.Oe.params.saoBlurDepthCutoff=.01,(this.ia!=e||this.ua!=c)&&this.Oe.setSize(this.ia=
e,this.ua=c))};return d});
define("r",["require","fx"],function(a){function d(m){this.o=m;this.enabled=!1;this.passes=[];this.vi=this.wi=!1;this.hr=null}var h=a("fx");d.prototype.dispose=function(){this.hr&&(this.hr.material.dispose(),this.hr=null)};d.prototype.update=function(m,k,b,g){m=this.o.getComponent(h.Ez);m=!!m&&m.yua;if(this.wi=this.enabled!=m)(this.enabled=m)?(this.hr||(this.hr=new THREE.ShaderPass(THREE.FXAAShader),this.hr.needsSwap=!0),this.passes=[this.hr],this.vi=!0):(this.passes=[],this.vi=!1);!this.enabled||
this.ia==b&&this.ua==g||(this.ia=b,this.ua=g,this.hr.material.uniforms.resolution.value.x=1/this.ia,this.hr.material.uniforms.resolution.value.y=1/this.ua,this.hr.setSize(b,g))};return d});
define("om",["require","ns","fx"],function(a){function d(b){this.o=b;this.enabled=!1;this.passes=[];this.vi=this.wi=!1;this.Qt=null;this.tb=this.vc=void 0}var h=a("ns"),m=a("fx");d.prototype.dispose=function(){this.Qt&&(this.Qt.material.dispose(),this.Qt=null)};d.prototype.update=function(){var b=this.o.getComponent(m.rQ),g=!!b&&0<b.opacity;if(this.wi=this.enabled!=g)(this.enabled=g)?(this.Qt||(this.Qt=new THREE.ShaderPass(k),this.Qt.needsSwap=!0),this.passes=[this.Qt],this.vi=!0):(this.passes=[],
this.vi=!1);this.enabled&&(this.tb!==b.opacity&&(this.tb=b.opacity,this.Qt.uniforms.opacity.value=this.tb),this.vc!==b.color&&(this.vc=b.color,this.Qt.uniforms.color.value=new THREE.Color(h.SD(this.vc))))};var k={uniforms:{tDiffuse:{value:null},opacity:{value:.5},color:{value:new THREE.Color(0)}},vertexShader:"varying vec2 vUv;\nvoid main() {\n    vUv = uv;\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform float opacity;\nuniform vec3 color;\nuniform sampler2D tDiffuse;\nvarying vec2 vUv;\nvoid main() {\n    vec4 texel = texture2D(tDiffuse, vUv);\n    float composedAlpha = opacity + texel.a * (1.0 - opacity);\n    if (composedAlpha > 0.0)\n    {\n        vec3 rgb = (color * opacity + texel.rgb * texel.a * (1.0 - opacity)) / composedAlpha;\n        gl_FragColor = vec4(rgb, composedAlpha);\n    }\n    else\n    {\n        gl_FragColor = texel;\n    }\n}"};
return d});
define("fT",["require","fx"],function(a){function d(m){this.o=m;this.enabled=!1;this.om=null;this.tr=0;this.passes=[];this.vi=this.wi=!1;this.Pi=null;this.e8=new THREE.Matrix4;this.g8=new THREE.Matrix4;this.d8=new THREE.Vector3}var h=a("fx");d.prototype.dispose=function(){this.Pi&&(this.Pi.dispose(),this.Pi=null)};d.prototype.update=function(m,k){var b=this.o.getComponent(h.ZI),g=!!b;if(this.wi=this.enabled!=g)(this.enabled=g)?(!this.Pi&&m&&k&&(this.Pi=new THREE.MotionBlurPass,this.Pi.needsSwap=!0,
this.e8.copy(k.matrixWorldInverse),this.g8.copy(k.projectionMatrix),this.d8.copy(k.position)),this.passes=[this.Pi],this.vi=!0):(this.passes=[],this.vi=!1);this.enabled&&(this.Pi.uniforms.inverseProjectionMatrix.value.copy(k.projectionMatrix).invert(),this.Pi.uniforms.near.value=k.near,this.Pi.uniforms.far.value=k.far,this.Pi.uniforms.depthLimit.value=.99,this.Pi.uniforms.clipToWorldMatrix.value.copy(k.matrixWorld).multiply(this.Pi.uniforms.inverseProjectionMatrix.value),this.Pi.uniforms.previousWorldToClipMatrix.value.copy(this.g8).multiply(this.e8),
this.Pi.uniforms.cameraMove.value.copy(k.position).sub(this.d8),this.Pi.uniforms.velocityFactor.value=b.intensity,this.Pi.uniforms.samples.value=b.iya);this.e8.copy(k.matrixWorldInverse);this.g8.copy(k.projectionMatrix);this.d8.copy(k.position)};return d});
define("eC",["require","ns","fx"],function(a){function d(m){this.o=m;this.enabled=!0;this.passes=[];this.pca=this.vi=this.wi=!1;this.qW=void 0;this.yh=this.gg=this.xk=null}a("ns");var h=a("fx");d.prototype.dispose=function(){this.xk&&(this.xk.dispose(),this.xk=null);this.gg&&(this.gg=null);this.yh&&(this.yh.material.dispose(),this.yh=null)};d.prototype.update=function(m,k,b,g,e,c){e=this.o.getComponent(h.Ez);c=!!e&&e.qza&&c;if(this.wi=this.qW!==c)(this.qW=c)?(this.xk||(this.xk=new THREE.SSAARenderPass(m,
k),this.xk.sampleLevel=e.aQ,this.xk.needsSwap=!0,this.xk.clear=!0,this.xk.clearColor=65793,this.xk.clearAlpha=0),this.yh||(this.yh=new THREE.ShaderPass(THREE.CopyShader),this.yh.needsSwap=!0),this.passes=[this.xk,this.yh],this.pca=this.vi=!0):(this.gg||(this.gg=new THREE.RenderPass,this.gg.clear=!0,this.gg.clearColor=65793,this.gg.clearAlpha=0),this.passes=[this.gg],this.pca=this.vi=!1);this.qW?(this.xk.scene=m,this.xk.camera=k,this.xk.sampleLevel=e.aQ,this.yh.uniforms.opacity.value=Math.pow(2,Math.round(5<
e.aQ?5:e.aQ)),this.xk.setSize(b,g)):(this.gg.scene=m,this.gg.camera=k,this.gg.setSize(b,g))};return d});
define("nk",["require","ns","fx"],function(a){function d(b){this.o=b;this.enabled=!1;this.passes=[];this.vi=this.wi=!1;this.rq=null;this.vc=void 0}var h=a("ns"),m=a("fx");d.prototype.dispose=function(){this.rq&&(this.rq.material.dispose(),this.rq=null)};d.prototype.update=function(){var b=this.o.getComponent(m.rE),g=!!b;if(this.wi=this.enabled!=g)(this.enabled=g)?(this.rq||(this.rq=new THREE.ShaderPass(k),this.rq.needsSwap=!0),this.passes=[this.rq],this.vi=!0):(this.passes=[],this.vi=!1);this.enabled&&
(this.rq.uniforms.innerRadius.value=b.Mva,this.rq.uniforms.outerRadius.value=b.Cxa,this.rq.uniforms.opacity.value=b.opacity,this.vc!==b.color&&(this.vc=b.color,this.rq.uniforms.color.value=new THREE.Color(h.SD(this.vc))))};var k={uniforms:{tDiffuse:{value:null},innerRadius:{value:.5},outerRadius:{value:.5},opacity:{value:.5},color:{value:new THREE.Color(0)}},vertexShader:"varying vec2 vUv;\nvoid main() {\n    vUv = uv;\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",
fragmentShader:"uniform float innerRadius;\nuniform float outerRadius;\nuniform float opacity;\nuniform vec3 color;\nuniform sampler2D tDiffuse;\nvarying vec2 vUv;\nvoid main() {\n    vec4 texel = texture2D(tDiffuse, vUv);\n    vec2 uv = vUv - vec2(0.5, 0.5);\n    float radius = sqrt(dot(uv, uv)) * 1.4142135623730951;\n    float coef = clamp((radius - innerRadius) / (outerRadius - innerRadius), 0.0, 1.0);\n    float alpha = opacity * coef;\n    float composedAlpha = alpha + texel.a * (1.0 - alpha);\n    if (composedAlpha > 0.0)\n    {\n        vec3 rgb = (color * alpha + texel.rgb * texel.a * (1.0 - alpha)) / composedAlpha;\n        gl_FragColor = vec4(rgb, composedAlpha);\n    }\n    else\n    {\n        gl_FragColor = texel;\n    }\n}"};
return d});
define("gK","require eJ r om fT eC nk ck".split(" "),function(a){function d(f){this.nd=f;this.Fa=this.Ca=this.If=null;this.ua=this.ia=void 0;this.yh=this.wr=this.j=this.FG=null;this.mS=[new g(f),new h(f),new b(f),new e(f),new m(f),new k(f)];this.cU=!1}var h=a("eJ"),m=a("r"),k=a("om"),b=a("fT"),g=a("eC"),e=a("nk"),c=a("ck");d.prototype.dispose=function(){this.j&&(this.j.domElement.style.backgroundColor=void 0);for(;this.mS.length;)this.mS.pop().dispose();this.Jia();this.wr&&(this.wr.material.dispose(),this.wr=
null);this.yh&&(this.yh.material.dispose(),this.yh=null)};d.prototype.setSize=function(f,l){if(this.ia!=f||this.ua!=l)this.ia=f,this.ua=l,this.If&&this.If.setSize(this.ia,this.ua),this.j&&this.j.setSize(this.ia,this.ua)};d.prototype.CI=function(f){this.Fa=f};d.prototype.Iq=function(f){this.Ca=f};d.prototype.setRenderTarget=function(f){this.FG!=f&&(this.FG=f,this.If&&(this.If.reset(f||void 0),this.If.renderToScreen=!f))};d.prototype.BYa=function(f){this.j!=f&&(this.j=f,this.j.setSize(this.ia,this.ua),
this.Jia())};d.prototype.render=function(f){this.jPa();this.oRa(f);this.j.domElement.style.backgroundColor=this.cU?"#000000":void 0;this.If.render()};d.prototype.jPa=function(){this.If||(this.If=new THREE.EffectComposer(this.j,this.FG||void 0),this.If.renderToScreen=!this.FG,this.If.setSize(this.ia,this.ua))};d.prototype.oRa=function(f){var l=!1,p=!1;this.cU=!1;this.mS.forEach(function(n){n.update(this.Fa,this.Ca,this.ia,this.ua,f,this.If.renderToScreen);l||(l=n.wi);p||(p=n.vi);this.cU||(this.cU=
n.pca)}.bind(this));p=p&&this.j.outputEncoding==THREE.sRGBEncoding&&this.If.renderToScreen;c.GYa(this.Fa,p);p&&!this.wr?(this.wr=new THREE.ShaderPass(THREE.GammaCorrectionShader),l=this.wr.needsSwap=!0):this.wr&&(this.wr.enabled=p);this.If.renderToScreen||this.yh?this.yh&&(this.yh.enabled=!this.If.renderToScreen):(this.yh=new THREE.ShaderPass(THREE.CopyShader),l=this.yh.needsSwap=!0);if(l){var q=[];this.mS.forEach(function(n){q=q.concat(n.passes)});this.wr&&q.push(this.wr);for(this.yh&&q.push(this.yh);0<
this.If.passes.length;)this.If.removePass(this.If.passes[this.If.passes.length-1]);q.forEach(function(n){this.If.addPass(n)}.bind(this))}};d.prototype.Jia=function(){this.If&&(this.If.renderTarget1!=this.FG&&this.If.renderTarget1.dispose(),this.If.renderTarget2!=this.FG&&this.If.renderTarget2.dispose(),this.If=null)};return d});
define("cZ","require ox v fx ck gK".split(" "),function(a){function d(e){this.Vv=e;this.opacity=0;this.height=this.width=void 0;this.renderTarget=null;this.Fa=void 0;this.Jpa=!1;this.Ipa=!0;this.Ca=void 0;this.qC=!1;this.LU=void 0;this.rc=new g(e);this.update()}var h=a("ox"),m=a("v"),k=a("fx"),b=a("ck"),g=a("gK");d.prototype.update=function(){var e=this.Vv.getComponent(k.Scene);this.opacity=e&&e.opacity||0;this.Jpa=e?e.locked:!1;this.Ipa=e?e.enabled:!0;var c=e&&e.scene;this.Fa!=c&&(this.Fa=c,this.qC=
!0,this.rc.CI(this.Fa));var f=(c=(c=e&&e.je)&&(c.getComponent(k.OrthographicCamera)||c.getComponent(k.PerspectiveCamera)))&&c.width,l=c&&c.height;if(this.width!=f||this.height!=l)this.width=f,this.height=l,this.qC=!0,this.rc.setSize(this.width,this.height);e=e&&"srgb"==e.outputEncoding?THREE.sRGBEncoding:THREE.LinearEncoding;this.LU!=e&&(this.LU=e,this.qC=!0,b.FYa(this.Fa,e));e=c&&c.camera;this.Ca!=e&&(this.Ca=e,this.qC=!0,this.rc.Iq(this.Ca));this.Fa&&(b.EYa(this.Fa,this.Ca),b.HYa(this.Fa,this.width,
this.height));return this};d.prototype.render=function(e,c,f){(c||this.qC||!this.Jpa)&&this.Ipa&&(window.stats&&window.stats.begin(),c?(e.setRenderTarget(null),this.qC=!0):(this.renderTarget||(this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType,samples:e.capabilities.isWebGL2?m.mb()?2:8:0}),this.renderTarget.depthTexture=new THREE.DepthTexture),e.setRenderTarget(this.renderTarget),
this.renderTarget.texture.encoding=this.LU,this.qC=!1),e.outputEncoding=this.LU,this.rc.setRenderTarget(c?null:this.renderTarget),this.rc.BYa(e),this.rc.render(f),(e=this.Vv.getComponent(k.Scene))&&e.Ea&&e.Ea.trigger(h.Zz),window.stats&&window.stats.end())};d.prototype.isVisible=function(){return this.Fa&&this.Ca&&0<this.opacity};d.prototype.dispose=function(){this.Ca=this.Fa=this.Vv=null;this.rc&&(this.rc.dispose(),this.rc=null);this.renderTarget&&(this.renderTarget.dispose(),this.renderTarget=null)};
return d});
define("fD",["require","mq","fx","fZ","cZ"],function(a){function d(e){this.o=e;this.bv=[];this.fPa();this.dPa()}var h=a("mq"),m=a("fx"),k=a("fZ"),b=a("cZ");d.prototype.frame=function(e){var c=this.o.getComponent(m.rh),f=c.GP.map(this.UIa.bind(this));this.bv.filter(function(q){return 0>f.indexOf(q)}).forEach(function(q){q.dispose()});this.bv=f;var l=this.bv.filter(function(q){return q.isVisible()});if(0<l.length){this.j.shadowMap.enabled=c.shadowMap;var p=1==l.length&&1<=l[0].opacity;l.forEach(function(q){q.render(this.j,p,
e)}.bind(this));p||this.uNa(l.slice(0,2))}};d.prototype.UIa=function(e){for(var c=0;c<this.bv.length;c++)if(this.bv[c].Vv==e)return this.bv[c].update();return new b(e)};d.prototype.uNa=function(e){this.im.material.uniforms.t1.value=e[0].renderTarget.texture;this.im.material.uniforms.o1.value=e[0].opacity;1<e.length?(this.im.material.uniforms.useT2.value=1,this.im.material.uniforms.t2.value=e[1].renderTarget.texture,this.im.material.uniforms.o2.value=e[1].opacity):this.im.material.uniforms.useT2.value=
0;this.j.setSize(e[0].width,e[0].height);this.j.setRenderTarget(null);this.j.setClearColor(0,0);this.j.clear();this.j.render(this.fR,this.mha)};d.prototype.dispose=function(){for(;this.bv.length;)this.bv.shift().dispose();this.bv=null;this.cQa();this.eQa()};var g=[];d.prototype.fPa=function(){var e=this.o.K(m.rh);if(0<g.length)var c=g.pop();else{c=document.createElement("canvas");var f=k.vTa(c);f||(f=k.Zaa(c,!0));c=new THREE.WebGLRenderer({alpha:!0,canvas:c,context:f});c.setPixelRatio(k.getPixelRatio());
c.autoClear=!1;c.debug.checkShaderErrors=h.bE;c.shadowMap.type=THREE.PCFShadowMap}e.renderer=this.j=c;e.canvas=this.j.domElement;e.RH.append(e.canvas)};d.prototype.eQa=function(){this.j.domElement.parentNode.removeChild(this.j.domElement);var e=this.j;e.setSize(1,1);g.push(e);this.j=null};d.prototype.dPa=function(){this.fR=new THREE.Scene;this.mha=new THREE.OrthographicCamera(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,-10,10);this.im=new THREE.Mesh(new THREE.PlaneGeometry(window.innerWidth,
window.innerHeight),this.mFa());this.fR.add(this.im)};d.prototype.cQa=function(){this.fR.remove(this.im);this.im.geometry.dispose();this.im.geometry=null;this.im.material.dispose();this.fR=this.mha=this.im=this.im.material=null};d.prototype.mFa=function(){var e=new THREE.ShaderMaterial({uniforms:{t1:{value:null},t2:{value:null},o1:{value:1},o2:{value:1},useT2:{value:1}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",
fragmentShader:"uniform sampler2D t1;\nuniform sampler2D t2;\nuniform float o1;\nuniform float o2;\nuniform int useT2;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texel1 = texture2D(t1, vUv);\n   texel1.a = texel1.a * o1;\n   if (useT2 == 1) {\n\t  vec4 texel2 = texture2D(t2, vUv);\n     texel2.a = texel2.a * o2;\n     gl_FragColor = mix(texel1, texel2, texel2.a);\n   } else {\n     gl_FragColor = texel1;\n   }\n  #include <encodings_fragment>\n}"});e.transparent=!0;return e};d.Ob=function(e){e.H(m.cr).manager=
new d(e)};d.eb=function(e){var c=e.getComponent(m.cr);c.manager.dispose();c.manager=null;e.na(m.cr)};d.update=function(e){e.getComponent(m.cr).manager.update()};d.frame=function(e,c,f){e.getComponent(m.cr).manager.frame(c,f)};return d});
define("lo",["require","li","ls","fx","fD"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("fD");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(b,g){this.dya.C.length&&this.dya.C.slice().forEach(k.Ob);this.yZ.C.length&&this.yZ.C.slice().forEach(function(e){k.frame(e,b,g)});this.eya.C.length&&this.eya.C.slice().forEach(k.eb)};a.J={};a.J.dya=[m.rh,m.cr.not];a.J.eya=[m.rh.not,m.cr];a.J.yZ=[m.rh,m.cr];return a});
define("jK","require li ox gf dh ck hP lf".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("gf"),k=a("dh"),b=a("ck"),g=a("hP"),e=a("lf");a=d.extend(m,function(f,l){m.call(this);this.fd=f;this.Fa=l;this.wa=new k;this.wa.EI([this.fd]);this.wa.bind(h.Z,this.ld,this,!1);this.wa.bind(h.Gc,this.Kf,this,!1);this.ed=null;this.tb=0;e.bn(this.wa,g.dA)});a.prototype.$i=function(f){this.tb!==f&&(this.tb=f,this.ed&&(this.ed.material.opacity=this.tb,this.ed.material.visible=0<this.tb,this.ed.material.needsUpdate=
!0))};a.prototype.Kl=function(){return!!this.ed};a.prototype.ld=function(){this.ZFa();this.trigger(h.Z)};a.prototype.Kf=function(){this.trigger(h.Gc)};a.prototype.ZFa=function(){var f=new THREE.Texture;f.image=e.lf(this.fd);f.generateMipmaps=!0;f.minFilter=THREE.LinearMipMapLinearFilter;f.needsUpdate=!0;f=new THREE.SpriteMaterial({map:f});f.sizeAttenuation=!1;f.transparent=!0;f.visible=0<this.tb;f.opacity=this.tb;this.ed=new THREE.Sprite(f);this.ed.renderOrder=-1E3};a.prototype.update=function(){if(this.ed){var f=
b.fz(this.Fa);this.ed.parent!=f&&(this.ed.parent&&b.Yxa(this.ed.parent,this.ed),f&&b.BSa(f,this.ed));if(f){var l=b.UO(this.Fa),p=this.ed.material.map.image.width,q=this.ed.material.map.image.height;f=l/(2*Math.tan(f.fov*c/2));l=Math.max(l/f,b.Gba(this.Fa)/(f*p/q));this.ed.scale.y!=l&&(this.ed.scale.y=l,this.ed.scale.x=l*p/q)}p=b.qY(this.Fa);this.ed.material.map.encoding!=p&&(this.ed.material.map.encoding=p,this.ed.material.needsUpdate=!0)}};a.prototype.dispose=function(){this.ed&&(this.ed.parent&&
b.Yxa(this.ed.parent,this.ed),this.ed.material.map.dispose(),this.ed.material.dispose(),this.ed=null);this.wa&&e.aj(this.wa,g.dA)};var c=Math.PI/180;return a});
define("bH","require ox fx jK nZ bE".split(" "),function(a){function d(e,c){this.o=e;this.Lg=c;this.Ht=void 0;this.hi=this.gm=this.V=this.Fa=null;this.update()}var h=a("ox"),m=a("fx"),k=a("jK"),b=a("nZ"),g=a("bE");d.prototype.frame=function(e){this.V&&this.MC(e);this.gm&&this.gm.update();this.hi&&this.hi.update()};d.prototype.update=function(){var e=this.o.getComponent(m.Scene);this.Fa=e.scene;if(!this.Fa){if(!e.scene)return;this.Fa=e.scene}e=e.Kaa||null;this.Ht===e||this.V||(this.bK(this.hi),this.hi=
null,(this.Ht=e)?this.hi=this.lFa(this.Ht):(this.ax(),this.Lg.trigger(h.Z)))};d.prototype.MC=function(e){this.V.yb(e);this.gm&&this.gm.$i(Math.min(1,Math.max(0,this.V.cb("alpha"))));this.hi&&this.hi.$i(Math.min(1,Math.max(0,this.V.cb("nextAlpha"))));this.V.Ke()&&(this.V=null,this.gm&&(this.bK(this.gm),this.gm=null),this.gm=this.hi,this.hi=null,this.update());this.o.S.$a()};d.prototype.o7=function(){this.hi.unbind(h.Z,this.o7,this,!0);this.hi.unbind(h.Gc,this.p7,this,!0);this.ax();this.Lg.trigger(h.Z)};
d.prototype.p7=function(){this.bK(this.hi);this.hi=null;this.ax();this.Lg.trigger(h.Z)};d.prototype.ax=function(){this.hi&&this.gm?this.V=new b("linear",[new g("nextAlpha",0,2,void 0),new g("alpha",2,0,void 0)],600):this.hi?this.V=new b("linear",[new g("nextAlpha",0,1,void 0)],300):this.gm&&(this.V=new b("linear",[new g("alpha",1,0,void 0)],300));this.o.S.$a()};d.prototype.lFa=function(e){e=new k(e,this.Fa);this.LDa(e);e.$i(0);return e};d.prototype.bK=function(e){e&&(this.PQa(e),e.dispose())};d.prototype.LDa=
function(e){e.bind(h.Z,this.o7,this,!0);e.bind(h.Gc,this.p7,this,!0)};d.prototype.PQa=function(e){e.unbind(h.Z,this.o7,this,!0);e.unbind(h.Gc,this.p7,this,!0)};d.prototype.dispose=function(){this.gm&&(this.bK(this.gm),this.gm=null);this.hi&&(this.bK(this.hi),this.hi=null)};return d});
define("lr","require ox hP ns oQ fx ck kq".split(" "),function(a){function d(f,l){this.o=f;this.OV=this.NG=this.MG=this.Mw=this.zA=this.Ht=this.bB=void 0;this.Ca=this.j=this.Fa=null;this.Lg=l;this.te=new b(this.Lg);this.kd=[new c(m.dA),new c(m.dA)];this.kd.forEach(function(p){p.bind(h.Z,this.ld,this,!0);p.bind(h.Gc,this.Kf,this,!0)}.bind(this));this.Bqa([]);this.update()}var h=a("ox"),m=a("hP"),k=a("ns"),b=a("oQ"),g=a("fx"),e=a("ck"),c=a("kq");d.prototype.frame=function(){!this.j&&this.Fa&&(this.j=
d.EUa(this.o.S,this.Fa))&&(this.ea(),this.L$())};d.prototype.update=function(){var f=this.o.getComponent(g.Scene),l=!1,p=!1,q=f.jua||null;this.bB!==q&&(this.bB=q,p=!0);q=f.Kaa||null;this.Ht!==q&&(this.Ht=q,p=!0);q=f.wta||null;this.zA!==q&&(this.zA=q,p=!0);p&&(this.Fsa(),this.L$(),l=!0);this.Mw!==f.backgroundColor&&(this.Mw=f.backgroundColor,l=!0);this.Fa!==f.scene&&(this.Fa=f.scene,l=!0);l&&this.ea()};d.prototype.Fsa=function(){this.Bqa(this.hJa())};d.prototype.hJa=function(){var f=[];this.bB&&-1==
f.indexOf(this.bB)&&f.push(this.bB);!this.Ht&&this.zA&&-1==f.indexOf(this.zA)&&f.push(this.zA);if(this.Fa&&this.Fa.background&&this.Fa.background.image&&this.Fa.background.image.src){var l=this.Fa.background.image.src;-1==f.indexOf(l)&&f.push(l)}return f};d.prototype.Bqa=function(f){var l=[],p=[];this.kd.forEach(function(q){var n=q.ui();0>f.indexOf(n)?(q.cancel(),l.push(q)):p.push(n)});f.forEach(function(q){0>p.indexOf(q)&&l.shift().load(q)})};d.prototype.L$=function(){var f=0;this.te.Ota();this.kd.forEach(function(l){l.ui()&&
!l.Kl()&&(this.te.AH(l),f++)}.bind(this));0==f&&this.Lg&&this.Lg.trigger(h.Z)};d.prototype.dispose=function(){this.kd.forEach(function(f){f.cancel();f.unbind(h.Z,this.ld,this,!0);f.unbind(h.Gc,this.Kf,this,!0)}.bind(this));this.o&&(this.v3(),this.nx(),this.o=null)};d.prototype.ld=function(){this.ea();this.L$()};d.prototype.ea=function(){if(this.Fa&&this.j){if(this.bB){var f=this.hka(this.bB);f&&this.nDa(f)}else this.v3();this.Ht?this.nx():this.zA?(f=this.hka(this.zA))&&this.Yga(f):this.Mw?this.Yga(void 0,
this.Mw):this.nx();this.Fsa();this.o.S.$a()}};d.prototype.hka=function(f){for(var l=0;l<this.kd.length;l++)if(this.kd[l].Kl()&&this.kd[l].ui()==f)return this.kd[l];return null};d.prototype.hp=function(f,l){return 6>Math.round(f.rd()/f.ce())?this.AFa(f,l):this.vFa(f,l)};d.prototype.AFa=function(f,l){var p=new THREE.Texture;p.image=f.lf();p.encoding=e.qY(this.Fa);p.mapping=THREE.EquirectangularReflectionMapping;p.needsUpdate=!0;return l?(f=new THREE.PMREMGenerator(this.j),p=f.fromEquirectangular(p).texture,
f.dispose(),p):p};d.prototype.Yga=function(f,l){if(this.Fa){if(f){var p=f&&f.ui()||void 0;if(p==this.NG)return;this.nx();e.LZ(this.Fa,this.hp(f,!1));this.NG=p;this.MG=void 0}l&&l!=this.MG&&(this.nx(),e.LZ(this.Fa,"transparent"==l?null:new THREE.Color(k.SD(l))),this.MG=l,this.NG=void 0)}};d.prototype.nx=function(){this.Fa&&(this.MG||this.NG)&&(this.NG&&(this.Fa.background.dispose(),e.LZ(this.Fa,null),this.NG=void 0),this.MG&&(e.LZ(this.Fa,null),this.MG=void 0))};d.prototype.nDa=function(f){if(this.Fa){var l=
f&&f.ui()||void 0;l!=this.OV&&(this.v3(),this.Fa.environment=this.hp(f,!0),this.OV=l)}};d.prototype.v3=function(){this.Fa&&this.OV&&(this.Fa.environment.dispose(),this.Fa.environment=null,this.OV=void 0)};d.prototype.vFa=function(f,l){for(var p=Array(6),q=f.rd()/6,n=f.ce(),r=0;6>r;r++){var u=document.createElement("canvas");u.width=q;u.height=n;u.getContext("2d").drawImage(f.lf(),r*q,0,q,n,0,0,q,n);p[r]=u}f=new THREE.CubeTexture;f.images=[p[1],p[3],p[4],p[5],p[0],p[2]];f.encoding=e.qY(this.Fa);f.needsUpdate=
!0;return l?(l=new THREE.PMREMGenerator(this.j),p=l.fromCubemap(f).texture,l.dispose(),p):f};d.prototype.Kf=function(){this.o.getComponent(g.Scene).scene.environment=null;this.o.S.$a()};d.qpa=new Map;d.qda=function(f,l){d.qpa.set(f,l||[])};d.EUa=function(f,l){f=d.qpa.get(f)||[];for(var p=0;p<f.length;p++){var q=f[p].getComponent(g.rh);if(q&&0<q.GP.filter(function(n){return n.getComponent(g.Scene).scene==l}).length)return q.renderer}return null};return d});
define("hy",["require","fx","oQ","bH","lr"],function(a){function d(g){this.o=g;this.Lg=null;var e=this.o.K(h.Scene),c=this.o.K(h.er);this.o.H(h.Object3D).Yc=c.scene=e.scene=new THREE.Scene;this.te=new m;this.jK=new b(g,this.te.Yy());this.fe=new k(g,this.te.Yy())}var h=a("fx"),m=a("oQ"),k=a("bH"),b=a("lr");d.prototype.frame=function(g){this.jK.frame(g);this.fe.frame(g)};d.prototype.update=function(){this.jK.update();this.fe.update();this.wRa()};d.prototype.wRa=function(){var g=this.o.getComponent(h.Scene);
this.Lg!=g.hba&&(this.Lg=g.hba,this.te.HXa(this.Lg))};d.prototype.dispose=function(){this.te&&(this.te.dispose(),this.te=null);this.fe&&(this.fe.dispose(),this.fe=null);this.jK&&(this.jK.dispose(),this.jK=null);this.o&&(this.o=null)};d.Ob=function(g){g.H(h.er).manager=new d(g)};d.eb=function(g){var e=g.getComponent(h.er);e.manager.dispose();e.manager=null;g.na(h.er);g.na(h.Object3D)};d.frame=function(g,e){g.getComponent(h.er).manager.frame(e)};d.update=function(g){g.getComponent(h.er).manager.update()};
d.qda=function(g,e){b.qda(g,e)};return d});
define("eR",["require","li","ls","fx","hy"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("hy");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(b){this.kya.C.length&&this.kya.C.slice().forEach(k.Ob);this.scenes.Ya.length&&this.scenes.Ya.slice().forEach(k.update);this.scenes.C.length&&this.scenes.C.slice().forEach(function(g){k.frame(g,b)});k.qda(this.S,this.yZ.C.slice());this.lya.C.length&&this.lya.C.slice().forEach(k.eb)};a.J={};a.J.kya=[m.Scene,m.er.not];a.J.scenes=
[m.Scene,m.er];a.J.lya=[m.Scene.not,m.er];a.J.yZ=[m.rh,m.cr];return a});
define("ex",["require","v"],function(a){function d(e){this.ug=e;"CANVAS"==e.tagName?(this.O=e,this.Ac=1):(this.O=document.createElement("canvas"),this.Ac=k.de()==k.Di?.5:1,this.O.width=Math.round(e.width*this.Ac),this.O.height=Math.round(e.height*this.Ac));this.xa=this.O.getContext("2d");this.xa.globalCompositeOperation="copy";this.O!=e&&this.xa.drawImage(e,0,0,e.width,e.height,0,0,this.O.width,this.O.height)}function h(e,c,f){0>e?e=f==THREE.RepeatWrapping?c+e%c:f==THREE.MirroredRepeatWrapping?0==
Math.floor(Math.abs(e/c))%2?Math.abs(e%c):c-1+e%c:0:e>=c&&(e=f==THREE.RepeatWrapping?e%c:f==THREE.MirroredRepeatWrapping?1==Math.floor(e/c)%2?c-1-e%c:e%c:c-1);return e}function m(e,c,f){try{if(e instanceof CanvasRenderingContext2D)return e.getImageData(c,f,1,1).data;if(e.tagName&&"CANVAS"==e.tagName)return e.fKa?[0,0,0,0]:e.getContext("2d").getImageData(c,f,1,1).data;b.drawImage(e,c,f,1,1,0,0,1,1);return b.getImageData(0,0,1,1).data}catch(l){return[0,0,0,0]}}var k=a("v");d.prototype.transparent=function(e,
c){return d.transparent(this.xa,Math.round(e*this.Ac),Math.round(c*this.Ac))};d.prototype.dw=function(e,c){return d.dw(this.xa,Math.round(e*this.Ac),Math.round(c*this.Ac))};d.prototype.info=function(e,c){return d.info(this.xa,Math.round(e*this.Ac),Math.round(c*this.Ac))};d.prototype.dispose=function(){this.O!=this.ug&&(this.O.width=this.O.height=0);this.ug=this.O=this.xa=null};d.GZa=function(e,c,f){if(!e.image||!e.image.width||!e.image.height)return!0;c=h(Math.round(c*e.image.width),e.image.width,
e.wrapS);f=h(Math.round((1-f)*e.image.height),e.image.height,e.wrapT);return!d.transparent(e.image,c,f)};d.transparent=function(e,c,f){return!d.dw(e,c,f)};d.dw=function(e,c,f){return!e.tagName||e.tagName&&"VIDEO"==e.tagName?!0:0<m(e,c,f)[3]};d.info=function(e,c,f){e=m(e,c,f);c=e[3];return{dw:0<c,opacity:c,color:"#"+g[e[0]]+g[e[1]]+g[e[2]]}};a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d");b.globalCompositeOperation="copy";var g=function(){for(var e=Array(256),c=0;16>
c;c++)e[c]="0"+c.toString(16);for(;256>c;c++)e[c]=c.toString(16);return e}();return d});
define("oa","require ox ex fx ck gO bc".split(" "),function(a){function d(z){this.ni=z;this.OG=this.gu=this.ge=this.Hg=null;this.AL=void 0;this.mu=!1;this.update()}function h(z,C,G,D){this.aa=z;this.Yc=C;this.point=G;this.normal=D}function m(z){return{x:z.x,y:z.y,z:z.z}}function k(z,C,G,D){var E=C.S,H=z.get(E);H||z.set(E,H=[]);z=H.indexOf(C);G&&0>z?H.push(C):!G&&0<=z&&H.splice(z,1);D.delete(E)}var b=a("ox"),g=a("ex"),e=a("fx"),c=a("ck"),f=a("gO"),l=a("bc");d.prototype.update=function(){var z=this.ni.getComponent(e.$e);
z.Gxa=this;this.bN(z&&z.enabled?z.jba:null);this.aN(z&&z.enabled?z.aba:null)};d.prototype.frame=function(){this.OEa();this.cv(n)};d.prototype.bN=function(z){this.Hg!=z&&(this.Hg&&(this.Hg.unbind(b.hc,this.ef,this,!0),this.Hg.unbind(b.pa,this.Lr,this,!0),this.Hg.unbind(b.Zl,this.fG,this,!0),this.Hg.unbind(b.vb,this.fk,this,!0),this.Hg.unbind(b.Zb,this.Pn,this,!0)),this.Hg=z)&&(this.Hg.bind(b.hc,this.ef,this,!0),this.Hg.bind(b.pa,this.Lr,this,!0),this.Hg.bind(b.Zl,this.fG,this,!0),this.Hg.bind(b.vb,
this.fk,this,!0),this.Hg.bind(b.Zb,this.Pn,this,!0))};d.prototype.aN=function(z){this.ge!=z&&(this.ge&&this.mu&&this.ge.pop(l.Ze),(this.ge=z)&&this.mu&&this.ge.push(l.Ze))};d.prototype.ef=function(z){this.io(z);this.IF&&-1==t.indexOf(this.ni.S)?this.cv(n):this.cv(q)};d.prototype.Lr=function(z){this.io(z);(z=this.u4())&&this.SW(b.pa,z)};d.prototype.fG=function(z){this.io(z);(z=this.u4())&&this.SW(b.Zl,z)};d.prototype.fk=function(z){this.IF=!0;this.io(z);if(z=this.u4())this.V3=z.aa,this.X3=z.aa.getComponent(e.jd).Ea,
this.SW(b.vb,z)};d.prototype.Pn=function(z){this.IF=!1;this.io(z);if(this.V3)var C=(C=this.V3.getComponent(e.jd))&&C.Ea;!C&&this.X3&&(C=this.X3);this.X3=this.V3=null;C&&(z=this.Gja(),C.trigger(b.Zb,z),C=this.ni.getComponent(e.$e),C.Ea&&C.Ea.trigger(b.Zb,z))};d.prototype.io=function(z){this.Vc=z.x;this.Wc=z.y;this.VF=z.pageX;this.WF=z.pageY};d.prototype.cv=function(z){var C=(new Date).getTime()+z;this.AL&&C>=this.AL||(this.AL=C,clearTimeout(this.OG),this.OG=setTimeout(function(){this.OG=null;this.AL=
void 0;this.PLa()}.bind(this),z))};d.prototype.PLa=function(){var z=this.TIa();this.eqa(z&&z.aa);z&&this.SW(b.hc,z)};d.prototype.qZ=function(z,C,G){var D=this.Vc,E=this.Wc,H=this.VF,R=this.WF;this.WF=this.VF=this.Wc=this.Vc=void 0;z=this.E4(z,[]);C=this.x4(z,C,G);var S;C&&(S=this.tka(C));this.Vc=D;this.Wc=E;this.VF=H;this.WF=R;return S};d.prototype.TIa=function(){var z=this.ni.getComponent(e.$e);if(!z)return null;var C=this.SIa();return this.x4(C,z.origin,z.direction)||null};d.prototype.u4=function(){var z=
this.ni.getComponent(e.$e);if(!z)return null;var C=this.SHa();return this.x4(C,z.origin,z.direction)||null};d.prototype.eqa=function(z){if(this.gu!=z){if(null!=this.gu!=(null!=z)){var C=this.ni.getComponent(e.$e);C&&C.Ea&&C.Ea.trigger(z?b.Tc:b.ac)}this.gu&&this.Mra(this.gu,b.ac);(this.gu=z)&&this.Mra(this.gu,b.Tc);z=this.gu&&this.gu.getComponent(e.jd);z=!!z&&z.Fo;this.mu!=z&&(this.mu=z,this.ge&&(this.mu?this.ge.push(l.Ze):this.ge.pop(l.Ze)))}};d.prototype.x4=function(z,C,G){var D=Array.from(z.keys());
C=this.TJa(D,C,G);for(G=0;G<C.length;G++){D=C[G];var E=D.point,H=D.object,R=D.face&&D.face.normal,S=z.get(H),Q=S&&S.getComponent(e.jd);if(Q){var M=Array.isArray(H.material)&&D.face?H.material[D.face.materialIndex]:H.material;if(!M||M.visible)if(Q.eQ||!M||!M.map||g.GZa(M.map,D.uv.x,D.uv.y))return H.isSkinnedMesh&&(H=this.gHa(H.skeleton.bones,E)),new h(S,H,E,R)}}return null};d.prototype.SHa=function(){var z=this.ni.S,C=A.get(z);if(!C){C=v.get(z);var G=x.get(z);C=this.E4(C,G);A.set(z,C)}return C};d.prototype.SIa=
function(){var z=this.ni.S,C=B.get(z);if(!C){C=w.get(z);var G=y.get(z);C=this.E4(C,G);B.set(z,C)}return C};d.prototype.E4=function(z,C){var G=(C&&C.map(function(H){return c.Nb(H)}).filter(function(H){return!!H})||[]).slice(),D=new Map;z&&z.forEach(function(H){var R=c.Nb(H);R&&-1==G.indexOf(R)&&(G.push(R),D.set(H,R))});var E=new Map;D.forEach(function(H,R){for(var S=[H];S.length;){var Q=S.shift();if(Q==H||-1==G.indexOf(Q))E.set(Q,R),Q.children&&(S=S.concat(Q.children))}});return E};d.prototype.TJa=
function(z,C,G){var D=c.Nb(this.ni);if(!D)return[];u.camera=this.FS();u.ray.origin.copy(C).applyMatrix4(D.matrixWorld);u.ray.direction.copy(C).add(G).applyMatrix4(D.matrixWorld).sub(u.ray.origin).normalize();return f.intersect(u,z)};d.prototype.SW=function(z,C){var G=this.tka(C);C=C.aa.getComponent(e.jd);C.Ea&&C.Ea.trigger(z,G);C=this.ni.getComponent(e.$e);C.Ea&&C.Ea.trigger(z,G)};d.prototype.Gja=function(){var z={};void 0!==this.Vc&&void 0!==this.Wc&&(z.x=this.Vc,z.y=this.Wc);void 0!==this.VF&&void 0!==
this.WF&&(z.pageX=this.VF,z.pageY=this.WF);return z};d.prototype.tka=function(z){var C=this.Gja(),G=z.Yc,D=z.point;z=z.normal;C.position=m(D);var E=this.FS();C.cameraPosition=m(E?r.setFromMatrixPosition(E.matrixWorld):r.set(0,0,0));E=G;for(var H=C;;){H.object=E.userData.id;H.name=E.name;H.type=E.isMesh?"mesh":E.isBone?"bone":"other";H.localPosition=m(E.worldToLocal(r.copy(D)));r.setFromMatrixScale(E.matrixWorld);H.localScale=Math.max(r.x,r.y,r.z);H.objectMatrixWorld=G.matrixWorld.toArray();z&&(H.normal=
m(p(G,z,E,r)));if(!E.parent||!E.parent.userData.id)break;E=E.parent;H=H.parent={}}return C};var p=function(){var z=new THREE.Vector3,C=new THREE.Matrix4;return function(G,D,E,H){H.copy(D);if(G==E)return H;H.applyMatrix4(G.matrixWorld);H.sub(z.setFromMatrixPosition(G.matrixWorld));H.add(z.setFromMatrixPosition(E.matrixWorld));H.applyMatrix4(C.copy(E.matrixWorld).invert()).normalize();return H}}();d.prototype.FS=function(){if(this.qK.camera)return this.qK.camera;var z=c.Nb(this.ni);z&&z.isCamera?this.qK.camera=
z:(z=c.cI(z),this.qK.camera=z&&c.fz(z));return this.qK.camera};d.prototype.OEa=function(){this.qK={}};d.prototype.Mra=function(z,C){(z=(z=z.getComponent(e.jd))&&z.Ea)&&z.trigger(C)};d.prototype.gHa=function(z,C){var G=null,D=Infinity;for(z=z.slice();z.length;){var E=z.shift(),H=C.distanceTo(E.getWorldPosition(r));H<D&&(G=E,D=H);z.unshift.apply(z,E.children)}return G};d.prototype.dispose=function(){this.OG&&(clearTimeout(this.OG),this.OG=null,this.AL=void 0);this.bN(null);this.aN(null);this.eqa(null)};
var q=16,n=400,r=new THREE.Vector3(0,1,0),u=new THREE.Raycaster;a=new THREE.Box3;a.min.x=a.min.y=a.min.z=-Infinity;a.max.x=a.max.y=a.max.z=Infinity;a=new THREE.Sphere;a.center.x=a.center.y=a.center.z=0;a.radius=Infinity;d.Bda=function(z){z.H(e.tt).manager=new d(z)};d.Lda=function(z){var C=z.getComponent(e.tt);C.manager.dispose();C.manager=null;z.na(e.tt)};d.frame=function(z){z.getComponent(e.tt).manager.frame()};d.Yda=function(z){z.getComponent(e.tt).manager.update()};d.YYa=function(z){z.H(e.iA);
d.Zza(z)};d.Zza=function(z){var C=c.Nb(z),G=z.getComponent(e.jd);k(v,z,C&&G.Dv,A);k(w,z,C&&G.Uv,B)};d.Aza=function(z){k(v,z,!1,A);k(w,z,!1,B);z.na(e.iA)};d.WYa=function(z){z.H(e.fA);d.Wza(z)};d.Wza=function(z){var C=c.Nb(z),G=z.getComponent(e.To);k(x,z,C&&G.Rda,A);k(y,z,C&&G.Sda,B)};d.zza=function(z){k(y,z,!1,B);k(x,z,!1,A);z.na(e.fA)};var t=[];d.yYa=function(z){t=[];z.forEach(function(C){0>t.indexOf(C.S)&&t.push(C.S)})};var v=new Map,w=new Map,x=new Map,y=new Map,A=new Map,B=new Map;return d});
define("nj",["require","li","ls","fx","oa"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("oa");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.xP.C.length&&this.xP.C.slice().forEach(k.Bda);this.Fq.Ya.length&&this.Fq.Ya.slice().forEach(k.Yda);this.Fq.C.length&&this.Fq.C.slice().forEach(k.frame);this.yP.C.length&&this.yP.C.slice().forEach(k.Lda);this.rya.C.length&&this.rya.C.slice().forEach(k.YYa);this.qya.C.length&&this.qya.Ya.slice().forEach(k.Zza);this.sya.C.length&&
this.sya.C.slice().forEach(k.Aza);this.tya.C.length&&this.tya.C.slice().forEach(k.Aza);this.Nwa.C.length&&this.Nwa.C.slice().forEach(k.WYa);this.Mwa.C.length&&this.Mwa.Ya.slice().forEach(k.Wza);this.Owa.C.length&&this.Owa.C.slice().forEach(k.zza);this.Pwa.C.length&&this.Pwa.C.slice().forEach(k.zza);(this.xca.ie.length||this.xca.Ag.length)&&k.yYa(this.xca.C)};a.J={};a.J.xca=[m.Qj];a.J.xP=[m.$e,m.tt.not];a.J.Fq=[m.$e,m.tt];a.J.yP=[m.$e.not,m.tt];a.J.rya=[m.Object3D,m.jd,m.iA.not];a.J.qya=[m.Object3D,
m.jd,m.iA];a.J.sya=[m.Object3D.not,m.iA];a.J.tya=[m.jd.not,m.iA];a.J.Nwa=[m.Object3D,m.To,m.fA.not];a.J.Mwa=[m.Object3D,m.To,m.fA];a.J.Owa=[m.Object3D.not,m.fA];a.J.Pwa=[m.To.not,m.fA];return a});
define("ji",["require","ns","fx"],function(a){function d(k){this.o=k;this.ha=null;this.update()}var h=a("ns"),m=a("fx");d.prototype.update=function(){this.ha||(this.ha=new THREE.MeshBasicMaterial,this.ha.transparent=!0,this.o.H(m.Material).material=this.ha);var k=this.o.getComponent(m.Dc);this.ha.color=new THREE.Color(h.SD(k.color||"#ffffff"));this.ha.opacity=k.opacity||0;this.ha.depthTest=!!k.depthTest;this.ha.side=k.doubleSided?THREE.DoubleSide:THREE.FrontSide;this.ha.visible=0<this.ha.opacity;
this.ha.needsUpdate=!0};d.prototype.dispose=function(){this.ha&&(this.ha.dispose(),this.ha=null,this.o.na(m.Material));this.o=null};d.Ob=function(k){k.H(m.vt).manager=new d(k)};d.eb=function(k){var b=k.getComponent(m.vt);b.manager.dispose();b.manager=null;k.na(m.vt)};d.update=function(k){k.getComponent(m.vt).manager.update()};return d});
define("ik",["require","li","ls","fx","ji"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("ji");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.Nl.C.length&&this.Nl.C.slice().forEach(k.Ob);this.materials.Ya.length&&this.materials.Ya.slice().forEach(k.update);this.Ol.C.length&&this.Ol.C.slice().forEach(k.eb)};a.J={};a.J.Nl=[m.Dc,m.vt.not];a.J.materials=[m.Dc,m.vt];a.J.Ol=[m.Dc.not,m.vt];return a});
define("kU",["require","li","ls","fx","ck"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("ck");a=d.extend(h,function(){h.apply(this,arguments);this.qf=this.qf.bind(this);this.Rf=this.Rf.bind(this);this.yd=this.yd.bind(this)});a.prototype.Gd=function(){this.jza.C.length&&this.jza.C.slice().forEach(this.qf);this.iza.Ya.length&&this.iza.Ya.slice().forEach(this.Rf);this.kza.C.length&&this.kza.C.slice().forEach(this.yd);this.lza.C.length&&this.lza.C.slice().forEach(this.yd)};a.prototype.qf=function(b){b.H(m.Object3D).Yc=
new THREE.Mesh(new THREE.SphereGeometry);b.H(m.jA);this.Rf(b)};a.prototype.Rf=function(b){var g=b.getComponent(m.Object3D).Yc;k.Av(g,b.getComponent(m.Material).material);b=b.getComponent(m.Sphere);var e=g.geometry;if(e.radius!=b.radius||e.widthSegments!=b.widthSegments||e.heightSegments!=b.heightSegments)e.dispose(),e=new THREE.SphereGeometry(b.radius,b.widthSegments,b.heightSegments),g.geometry=e,g.needsUpdate=!0;b=b.renderOrder||0;g.renderOrder!=b&&(g.renderOrder=b,g.needsUpdate=!0)};a.prototype.yd=
function(b){var g=b.getComponent(m.Object3D);(g=g&&g.Yc)&&g.geometry&&(g.geometry.dispose(),g.geometry=null);g&&k.Av(g,null);b.na(m.jA);b.na(m.Object3D)};a.J={};a.J.jza=[m.Sphere,m.Material,m.jA.not];a.J.iza=[m.Sphere,m.Material,m.jA];a.J.kza=[m.Sphere.not,m.jA];a.J.lza=[m.Material.not,m.jA];return a});
define("lM",["require","ku","fx","ck"],function(a){function d(g){this.o=g;this.Fa=null;this.f2=90;this.g2=100;this.ia=this.ua=void 0;this.Ac=1;this.ed=this.o.K(h.Sprite).lZa=this.o.K(h.Object3D,!0).Yc=new THREE.Sprite;this.ed.material.opacity=0;this.zj();this.update();this.frame()}a("ku");var h=a("fx"),m=a("ck");d.prototype.update=function(){var g=this.o.getComponent(h.Sprite);this.ua=g.height;this.ia=g.width;this.ed.center.x=g.CH;this.ed.center.y=1-g.DH;this.Ac=g.scale;this.El();this.ed.needsUpdate=
!0};d.prototype.frame=function(){this.Fa||(this.Fa=m.$m(this.o));this.lq();this.zj();this.El()};d.prototype.lq=function(){if(this.Fa){var g=m.fz(this.Fa);if(g&&g.isPerspectiveCamera){var e=m.UO(this.Fa);if(this.f2!=g.fov||this.g2!=e)this.f2=g.fov,this.g2=e,this.El(),this.ed.needsUpdate=!0}}};d.prototype.zj=function(){var g=this.Fa?this.o.getComponent(h.Material).material:null;g&&m.Av(this.ed,g);this.ed.renderOrder=this.o.getComponent(h.Sprite).renderOrder};d.prototype.El=function(){var g=this.ua/
(this.g2/(2*Math.tan(this.f2*b/2))),e=this.Ac;this.ed.parent&&(this.ed.parent.getWorldScale(k),e/=Math.max(k.x,k.y,k.z));g*=e;e=g*this.ia/this.ua;var c=this.o.getComponent(h.ya)||this.o.H(h.ya);if(c.Bf!=e||c.Qf!=g||1!=c.mh)c=this.o.K(h.ya,!0),c.Bf=e,c.Qf=g,c.mh=1};var k=new THREE.Vector3,b=Math.PI/180;d.prototype.dispose=function(){};d.Ob=function(g){g.H(h.fr).manager=new d(g)};d.eb=function(g){var e=g.getComponent(h.fr);e.manager.dispose();e.manager=null;g.na(h.fr);g.na(h.Object3D)};d.update=function(g){g.getComponent(h.fr).manager.update()};
d.frame=function(g){g.getComponent(h.fr).manager.frame()};return d});
define("ew",["require","li","ls","fx","lM"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("lM");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.nza.C.length&&this.nza.C.slice().forEach(k.Ob);this.PZ.Ya.length&&this.PZ.C.slice().forEach(k.update);this.PZ.C.length&&this.PZ.C.slice().forEach(k.frame);this.oza.C.length&&this.oza.C.slice().forEach(k.eb);this.pza.C.length&&this.pza.C.slice().forEach(k.eb)};a.J={};a.J.nza=[m.Material,m.Sprite,m.fr.not];a.J.PZ=[m.Sprite,
m.Material,m.fr];a.J.oza=[m.Sprite.not,m.fr];a.J.pza=[m.Material.not,m.fr];return a});
define("kl","require li ox cw ls fx ck".split(" "),function(a){function d(l,p,q){for(;l<p-180;)l+=360;for(;l>p+180;)l-=360;return h(l,p,q)}function h(l,p,q){if(!q)return p;l=(p-l)*(1-q);1E-5>Math.abs(l)&&(l=0);return p-l}var m=a("li"),k=a("ox"),b=a("cw"),g=a("ls"),e=a("fx"),c=a("ck");a=m.extend(g,function(){g.apply(this,arguments);this.qf=this.qf.bind(this);this.Rf=this.Rf.bind(this);this.yd=this.yd.bind(this)});a.prototype.Gd=function(l,p){this.oP.C.length&&this.oP.C.slice().forEach(this.qf);this.Cq.ie.length&&
this.Cq.ie.slice().forEach(function(q){this.Rf(q,l,p)}.bind(this));this.Cq.Ya.length&&this.Cq.Ya.slice().forEach(function(q){this.Rf(q,l,p)}.bind(this));this.Ywa.C.length&&this.Ywa.C.slice().forEach(function(q){this.Rf(q,l,p)}.bind(this));this.hua.C.length&&this.hua.C.slice().forEach(this.yd);this.iua.C.length&&this.iua.C.slice().forEach(this.yd)};a.prototype.qf=function(l){var p=l.getComponent(e.ya),q=l.H(e.Gf);q.positionX=p.positionX;q.positionY=p.positionY;q.positionZ=p.positionZ;q.Le=p.Le;q.oe=
p.oe;q.Me=p.Me;q.mg=p.mg;q.scale=p.scale;q.Bf=p.Bf;q.Qf=p.Qf;q.mh=p.mh;q.translationX=p.translationX;q.translationY=p.translationY;q.Ye=p.Ye;this.updateMatrixWorld(l)};a.prototype.Rf=function(l){var p=l.getComponent(e.ya),q=l.getComponent(e.Gf),n=p.easing||0;n?l.getComponent(e.lA)||l.H(e.lA):l.na(e.lA);var r=null;p.Bv!==q.Bv&&(r||(r=l.K(e.Gf)),r.Bv=p.Bv);p.positionX!==q.positionX&&(r||(r=l.K(e.Gf)),r.positionX=h(r.positionX,p.positionX,n));p.positionY!==q.positionY&&(r||(r=l.K(e.Gf)),r.positionY=
h(r.positionY,p.positionY,n));p.positionZ!==q.positionZ&&(r||(r=l.K(e.Gf)),r.positionZ=h(r.positionZ,p.positionZ,n));p.Le!==q.Le&&(r||(r=l.K(e.Gf)),r.Le=d(r.Le,p.Le,n));p.oe!==q.oe&&(r||(r=l.K(e.Gf)),r.oe=d(r.oe,p.oe,n));p.Me!==q.Me&&(r||(r=l.K(e.Gf)),r.Me=d(r.Me,p.Me,n));p.scale!==q.scale&&(r||(r=l.K(e.Gf)),r.scale=p.scale);p.Bf!==q.Bf&&(r||(r=l.K(e.Gf)),r.Bf=p.Bf);p.Qf!==q.Qf&&(r||(r=l.K(e.Gf)),r.Qf=p.Qf);p.mh!==q.mh&&(r||(r=l.K(e.Gf)),r.mh=p.mh);p.translationX!==q.translationX&&(r||(r=l.K(e.Gf)),
r.translationX=h(r.translationX,p.translationX,n));p.translationY!==q.translationY&&(r||(r=l.K(e.Gf)),r.translationY=h(r.translationY,p.translationY,n));p.Ye!==q.Ye&&(r||(r=l.K(e.Gf)),r.Ye=h(r.Ye,p.Ye,n));r?this.updateMatrixWorld(l):l.na(e.lA)};var f=new THREE.Vector3;a.prototype.updateMatrixWorld=function(l){c.QP(l,l.getComponent(e.Gf));var p=l.getComponent(e.ya).Ea;p&&(c.getWorldPosition(l,f),l={position:{}},l.position.x=f.x,l.position.y=f.y,l.position.z=f.z,p.trigger(new b(k.qt,l)))};a.prototype.yd=
function(l){l.na(e.Gf);l.na(e.lA)};a.J={};a.J.Cq=[e.Object3D,e.ya,e.Gf];a.J.oP=[e.Object3D,e.ya,e.Gf.not];a.J.Ywa=[e.Object3D,e.ya,e.Gf,e.lA];a.J.hua=[e.Object3D.not,e.ya,e.Gf];a.J.iua=[e.ya.not,e.Gf];return a});
define("gN",["require"],function(){function a(h,m,k){this.fd=h;this.wra=m;this.ZA=k||d}var d=function(){var h=document.createElement("canvas");h.width=h.height=256;h.getContext("2d").clearRect(0,0,h.width,h.height);return h}();a.prototype.isEmpty=function(){return this.ZA==d};a.prototype.isEqual=function(h,m){return this.fd==h.fd&&Math.abs(this.wra-h.wra)<(m||0)&&this.ZA==h.ZA};return a});
define("db",["require","lB","v","hW"],function(a){function d(c){return k.Cza(c.get("width"),c.get("height"),c.get("framerate"))}function h(c,f){if(!f)return!0;var l=c.get("url"),p=c.get("srcObject");c=c.get("type")||"";switch(f){case "srcObj":return!!p;case "webm":return g.is(l,g.Tfa)||m(c,"webm");case "h265":return g.is(l,g.UAa)||(g.is(l,g.r0)||g.is(l,g.Oea)||!l)&&(m(c,"hev1")||m(c,"h265")||m(c,"heic"))?!0:!1;case "mp4":return g.is(l,g.r0)||m(c,"mp4");case "hls":return g.is(l,g.HLS)||m(c,"x-mpegurl");
case "ogv":return g.is(l,g.hfa)||m(c,"ogg");case "mov":return g.is(l,g.Oea)||m(c,"quicktime");default:return!1}}function m(c,f){return 0<=(c||"").toLowerCase().indexOf(f)}var k=a("lB"),b=a("v"),g=a("hW"),e={MUa:function(c){return e.select(c.get("levels"))},KUa:function(c){return e.select(c.get("levels"))},select:function(c){c||(c=[]);c=c.slice();var f=[];f.push({type:"srcObj",Nq:!0});k.VUa&&f.push({type:"hls",Nq:!1});k.hVa&&f.push({type:"h265",Nq:!0});k.Oba&&f.push({type:"webm",Nq:!0});k.xY&&f.push({type:"mp4",
Nq:!0});k.iVa&&f.push({type:"mov",Nq:!0});k.Nba&&f.push({type:"ogv",Nq:!0});f.push({type:"mp4",Nq:!0});f.push({type:"webm",Nq:!0});f.push({type:"mp4",Nq:!1});f.push({type:"webm",Nq:!1});for(var l=1E3*(b.mb()?800:5E3),p=0;p<f.length;p++){var q=c;f[p].Nq&&(q=q.filter(d));q=q.filter(function(n){if(h(n,f[p].type))return!0});"hls"!=f[p].type&&q.sort(function(n,r){return Math.abs(l-n.get("bitrate"))-Math.abs(l-r.get("bitrate"))});if(q.length)return q[0]}return null}};return e});
define("nT","require li cw gf ox kK hP nq v md nP dw gN mN nU bT db".split(" "),function(a){function d(x){f.browser()==f.Wl&&(x=l.Uy(x,"playbacksession="+(new Date).getTime()));return x}var h=a("li"),m=a("cw"),k=a("gf"),b=a("ox"),g=a("kK"),e=a("hP"),c=a("nq"),f=a("v"),l=a("md"),p=a("nP"),q=a("dw"),n=a("gN"),r=a("mN"),u=a("nU"),t=a("bT"),v=a("db"),w=h.extend(k,function(x,y){k.call(this);this.fb=x;this.v=y;this.Xa=w.Ej(this.v);this.m=null;this.kN();this.v.bind(b.G("subtitlesURL"),this.Fm,this,!0);this.v.bind(b.G("gain"),
this.bG,this,!0);this.Xa.bind(b.G("srcObject"),this.Fm,this,!0);this.Xa.bind(b.G("subtitlesURL"),this.Fm,this,!0);this.Xa.bind(b.G("url"),this.Fm,this,!0);this.Xa.bind(b.G("gain"),this.bG,this,!0);this.A=g.T;this.Sf=this.qb=0;this.df=!1;this.sq=1;this.el=!1;this.O=this.Rb=null;this.LE=!1;this.BR=void 0;this.Uha=!1;this.jr=[]});w.prototype.Ib=function(){return this.fb};w.prototype.Id=function(x){this.A==x||x==g.Db&&this.A!=g.X||(this.Uha&&x==g.X&&this.A==g.T&&this.m2(),this.A=x,this.A==g.X?(this.Rb&&
this.Rb.play(this.fb,this.m,this.Sf),t.wZ(this)):(t.Bva()?this.Rb&&this.Rb.stop():t.zP(this),this.A==g.T&&this.l9()),this.p$())};w.prototype.getState=function(){return this.A};w.prototype.Xi=function(){return this.qb};w.prototype.setCurrentTime=function(x){this.Sf=x;this.Rb&&(this.Rb.rD()&&this.iS(),this.Rb.play(this.fb,this.m,this.Sf))};w.prototype.getCurrentTime=function(){return this.Sf};w.prototype.cw=function(x){this.sq=x;this.Rb&&this.Rb.cw(x)};w.prototype.Cf=function(x){this.df=x;this.Rb&&
this.Rb.Cf(x)};w.prototype.setLoop=function(x){this.el=x;this.Rb&&this.Rb.setLoop(x)};w.prototype.wXa=function(){this.Uha=!0};w.prototype.QH=function(x,y,A){this.Rb&&this.Rb.rD()?this.Rb.QH(x,y,A):this.LE?x.drawImage(this.O,0,0,y,A):x.fillRect(0,0,y,A)};w.prototype.eY=function(){if(this.Rb&&this.Rb.rD()){var x=this.Rb.getCurrentTime(),y=this.Rb.dc;if(this.jT())return new n(this.m.src,this.BR,this.O);this.m2();return new n(this.m.src,x,y)}return this.LE?new n(this.m.src,this.Sf,this.O):new n(this.m.src,
this.Sf,null)};w.prototype.Jca=function(){return!this.df&&this.v.get("hasAudio")};w.prototype.getType=function(){return u.un};w.prototype.Zua=function(){return e.un};w.prototype.gua=function(x){this.Rb=x;setTimeout(function(){this.Rb&&this.Rb.bind(p.Kj,this.GL,this,!0)}.bind(this),0);this.kN();this.Rb.bind(p.Ef,this.Se,this,!0);this.Rb.bind(p.Ai,this.Dm,this,!0);this.Rb.bind(b.Pk,this.ii,this,!0);this.Rb.Cf(this.df);this.Rb.cw(this.sq);this.Rb.setLoop(this.el);this.Rb.play(this.fb,this.m,this.Sf)};
w.prototype.gwa=function(){this.Rb.rD()&&this.iS();this.Sf=this.Rb.getCurrentTime();this.Rb.unbind(p.Kj,this.GL,this,!0);this.Rb.unbind(p.Ef,this.Se,this,!0);this.Rb.unbind(p.Ai,this.Dm,this,!0);this.Rb.unbind(b.Pk,this.ii,this,!0);this.A==g.T&&(this.Rb.stop(),this.Rb.setCurrentTime(0));this.Rb=null};w.prototype.clear=function(){t.zP(this);this.m2();this.v&&(this.v.unbind(b.G("subtitlesURL"),this.Fm,this,!0),this.v.unbind(b.G("gain"),this.bG,this,!0),this.v=null);this.Xa&&(this.Xa.unbind(b.G("subtitlesURL"),
this.Fm,this,!0),this.Xa.unbind(b.G("url"),this.Fm,this,!0),this.Xa.unbind(b.G("srcObject"),this.Fm,this,!0),this.Xa=null)};w.prototype.Fm=function(){this.lC&&clearTimeout(this.lC);this.lC=setTimeout(function(){this.lC=null;this.Rb&&(this.m.kn=this.v.get("subtitlesURL")||this.Xa.get("subtitlesURL"),this.m.src=this.Xa.get("srcObject")||d(this.Xa.get("url")),this.Rb.play(this.fb,this.m,this.Sf))}.bind(this),10)};w.prototype.bG=function(){this.Rb&&(this.m.gain=this.v.get("gain",1)*this.Xa.get("gain",
1),this.Rb.JP(this.m.gain))};w.prototype.kN=function(){this.m=new r;this.m.src=this.Xa.get("srcObject")||d(this.Xa.get("url"));this.m.kn=this.v.get("subtitlesURL")||this.Xa.get("subtitlesURL");this.m.gz=this.v.get("hasAudio",!0)&&this.Xa.get("hasAudio",!0);this.m.gain=this.v.get("gain",1)*this.Xa.get("gain",1)};w.prototype.iS=function(){this.O||(this.O=document.createElement("canvas"));if(!this.jT()){this.O.width=this.Rb.rd();this.O.height=this.Rb.ce();this.BR=this.Rb.getCurrentTime();var x=this.O.getContext("2d");
x.clearRect(0,0,this.O.width,this.O.height);this.LE=this.Rb.QH(x,this.O.width,this.O.height)}};w.prototype.jT=function(){var x=this.Rb.getCurrentTime();this.qb&&(x=Math.min(x,this.qb));return this.LE&&.15>=Math.abs(x-this.BR)};w.prototype.m2=function(){this.LE&&(this.BR=void 0,this.LE=!1,f.browser()!=f.Wl&&(this.O.width=0,this.O.height=0,this.O=null))};w.prototype.Dm=function(){this.qb=this.Rb.Xi();this.l$()};w.prototype.Se=function(){this.qb!=this.Rb.Xi()&&this.Dm();this.Sf=this.Rb.getCurrentTime();
f.de()==f.Di&&0<this.Sf&&this.Sf>this.qb-.15&&!this.jT()&&!this.el?this.iS():f.browser()==f.Nk&&0<this.Sf&&this.Sf>this.qb-.05&&!this.jT()&&this.el&&this.iS();this.SN()};w.prototype.ii=function(){this.jr=this.Rb.MO().map(function(x){for(var y=null,A=0;A<this.jr.length&&!y;A++)this.jr[A].cue==x&&(y=this.jr[A]);y||(y=new q(x));return y}.bind(this));this.trigger(new m(b.Pk))};w.prototype.GL=function(){this.Id(g.T);this.m$()};w.prototype.l9=function(){this.Sf=0;this.SN()};w.prototype.SN=function(){this.trigger(new m(w.Ef))};
w.prototype.l$=function(){this.trigger(new m(w.Ai))};w.prototype.m$=function(){this.trigger(new m(b.sb))};w.prototype.p$=function(){this.trigger(new m(b.le))};w.Ef="time update";w.Ai="duration update";w.Ej=function(x){if(c.Ka("Video360Resource",x))return v.KUa(x);if(c.Ka("VideoResource",x))return v.MUa(x);throw"invalid video resource object: "+x;};return w});
define("gm",["require","ox","kK","cw","nT"],function(a){function d(g,e,c,f){this.Y=g;this.m=e;this.he=c;this.Ba=f;this.lc=g.Ib();this.Sf=this.m.get("currentTime");this.A=this.m.get("state");this.el=this.m.get("loop");this.iV=this.lc.get("mute");this.bU=this.m.get("mute");this.A=this.m.get("autoplay")?m.X:m.Db;this.m1();this.m.set("state",this.A);this.Y.Cf(this.iV||this.bU);this.Y.setLoop(this.el);this.Y.setCurrentTime(this.Sf);this.Y.Id(this.A)}var h=a("ox"),m=a("kK"),k=a("cw"),b=a("nT");d.prototype.dispose=
function(){this.y8()};d.prototype.Lna=function(){var g=this.m.get("currentTime",0);this.Sf!=g&&this.Y.setCurrentTime(this.Sf=g)};d.prototype.Pna=function(){var g=this.m.get("state",m.T);this.A!=g&&this.Y.Id(this.A=g)};d.prototype.Nna=function(){var g=this.m.get("mute",!1);this.bU!=g&&this.Y.Cf(this.iV||(this.bU=g))};d.prototype.Mna=function(){var g=this.m.get("loop",!1);this.el!=g&&this.Y.setLoop(this.el=g)};d.prototype.bM=function(){var g=this.lc.get("mute",!1);this.iV!=g&&this.Y.Cf((this.iV=g)||
this.bU)};d.prototype.kM=function(){this.m.set("currentTime",this.Sf=this.Y.getCurrentTime())};d.prototype.iM=function(){this.m.set("duration",this.Y.Xi())};d.prototype.jM=function(){this.m.set("state",this.A=this.Y.getState());this.Ba()};d.prototype.lM=function(){this.he.trigger(new k(h.sb))};d.prototype.m1=function(){this.lc.bind(h.G("mute"),this.bM,this,!0);this.Y.bind(b.Ef,this.kM,this,!0);this.Y.bind(b.Ai,this.iM,this,!0);this.Y.bind(h.le,this.jM,this,!0);this.Y.bind(h.sb,this.lM,this,!0);this.m.bind(h.G("currentTime"),
this.Lna,this,!0);this.m.bind(h.G("state"),this.Pna,this,!0);this.m.bind(h.G("mute"),this.Nna,this,!0);this.m.bind(h.G("loop"),this.Mna,this,!0)};d.prototype.y8=function(){this.lc.unbind(h.G("mute"),this.bM,this,!0);this.Y.unbind(b.Ef,this.kM,this,!0);this.Y.unbind(b.Ai,this.iM,this,!0);this.Y.unbind(h.le,this.jM,this,!0);this.Y.unbind(h.sb,this.lM,this,!0);this.m.unbind(h.G("currentTime"),this.Lna,this,!0);this.m.unbind(h.G("state"),this.Pna,this,!0);this.m.unbind(h.G("mute"),this.Nna,this,!0);this.m.unbind(h.G("loop"),
this.Mna,this,!0)};return d});
define("w","require ox kK hP co lf eE fZ".split(" "),function(a){function d(f,l,p,q){this.hp();this.Y=f;this.m=l;this.Xa=p;this.Ba=q;this.yG=this.Xa.get("posterURL");this.Ssa=this.Xa.get("url");this.ia=this.Xa.get("width");this.ua=this.Xa.get("height");this.Cd=null;this.U9=this.X9=void 0;this.vla();this.Xa.bind(h.G("posterURL"),this.Jna,this,!0);this.Ba();this.xa=this.O=null}var h=a("ox"),m=a("kK"),k=a("hP"),b=a("co"),g=a("lf"),e=a("eE"),c=a("fZ");d.prototype.update=function(){var f=this.Y.eY();f.isEmpty()&&
(f=null);if(f&&(!this.Cd||this.Cd&&!this.Cd.isEqual(f))){this.Cd=f;f=this.Cd.ZA;var l=c.nI(f);l&&(f.width=f.videoWidth||this.ia,f.height=f.videoHeight||this.ua);!this.O&&this.Ssa&&c.cAa(this.Ssa)&&(this.O=document.createElement("canvas"),this.O.width=this.ia,this.O.height=this.ua,this.xa=this.O.getContext("2d"));this.O&&l&&(this.xa.drawImage(f,0,0,this.O.width,this.O.height),f=this.O);this.Aqa(f)}else!this.Cd&&this.Uu&&this.ub.image!=this.Uu&&this.Aqa(this.Uu);(this.ub.needsUpdate||this.Y.getState()==
m.X)&&this.Ba()};d.prototype.Jna=function(){this.QOa(this.Xa.get("posterURL"))};d.prototype.QOa=function(f){this.yG!=f&&(this.Tra(),this.yG=f,this.vla())};d.prototype.vla=function(){this.yG&&(this.Uu=null,this.xG=new b,this.xG.EI([this.yG]),this.xG.bind(h.Z,this.Ina,this,!0),g.bn(this.xG,this.m.get("loadPriority",k.Qk)))};d.prototype.Tra=function(){this.yG&&(this.xG.unbind(h.Z,this.Ina,this,!0),g.aj(this.xG,this.m.get("loadPriority",k.Qk)),this.Uu=this.xG=null)};d.prototype.Ina=function(){this.Uu=
g.lf(this.yG);if(this.Uu.width!=this.ia||this.Uu.height!=this.ua){var f=document.createElement("canvas"),l=f.getContext("2d");f.width=this.ia;f.height=this.ua;l.drawImage(this.Uu,0,0,this.ia,this.ua);this.Uu=f}this.Ba()};d.prototype.Aqa=function(f){this.ub&&this.X9==f.width&&this.U9==f.height?this.ub.image=f:this.hp(f);this.ub.needsUpdate=!0};d.prototype.hp=function(f){this.bS();this.ub=new THREE.Texture;this.ub.image=f||e.Eua();this.X9=this.ub.image.width;this.U9=this.ub.image.height;this.ub.generateMipmaps=
!1;this.ub.minFilter=THREE.LinearFilter;this.ub.magFilter=THREE.LinearFilter;this.ub.format=THREE.RGBAFormat};d.prototype.bS=function(){this.ub&&(this.U9=this.X9=void 0,this.ub.dispose(),this.ub=null)};d.prototype.dispose=function(){this.Tra();this.Xa.unbind(h.G("posterURL"),this.Jna,this,!0);this.xa=this.Xa=null;this.O&&(this.O=this.O.width=this.O.height=0);this.bS();this.Ba=this.Ph=this.Y=null};d.prototype.sY=function(){return this.ub};return d});
define("de","require exports ku ox hP co lf three.mod".split(" "),function(a,d,h,m,k,b,g,e){var c=["alphaMap"];return function(){function f(l,p,q){this.nXa=function(n){this.AX!=n&&(this.Qza(),this.AX=n,this.RVa())};this.Vb=l;this.level=p;this.$a=q;this.dZ=this.dZ.bind(this);h.fa(this.level,c,this.dZ,!0)}f.prototype.dispose=function(){h.ca(this.level,c,this.dZ);this.Qza();this.BTa()};f.prototype.sY=function(){return this.texture};f.prototype.dZ=function(){this.nXa(this.level.get("alphaMapURL"))};f.prototype.RVa=
function(){this.AX&&(this.$C=new b,this.$C.EI([this.AX]),this.$C.bind(m.Z,this.Zwa,this,!0),g.bn(this.$C,this.Vb.get("loadPriority",k.Qk)))};f.prototype.Qza=function(){this.$C&&(this.$C.unbind(m.Z,this.Zwa,this,!0),g.aj(this.$C,this.Vb.get("loadPriority",k.Qk)),this.mta=this.$C=null)};f.prototype.Zwa=function(){this.mta=g.lf(this.AX);this.createTexture();this.$a()};f.prototype.createTexture=function(){this.texture=new e.Texture;this.texture.image=this.mta;this.texture.generateMipmaps=!1;this.texture.minFilter=
e.LinearFilter;this.texture.magFilter=e.LinearFilter;this.texture.format=e.RGBAFormat;this.texture.needsUpdate=!0};f.prototype.BTa=function(){this.texture&&(this.texture.dispose(),this.texture=null)};return f}()});
define("kA",["require","fZ"],function(a){var d=a("fZ");return{tAa:function(){this.blending=0;this.oI=void 0;this.aza=this.threshold=0},cCa:function(){this.iz=!1;this.height=this.width=100},create:function(h,m,k){var b=h.iz&&d.Dva(),g=h.iz&&d.Cva(),e=void 0,c=!b,f={uniforms:{},transparent:!0};f.uniforms.text1={type:"sampler2D",value:null};f.uniforms.textAlpha={type:"sampler2D",value:null};f.uniforms.validTextAlpha={type:"bool",value:!1};f.uniforms.opacity={type:"float",value:1};f.vertexShader=["varying vec2 vUV;\nvoid main() {",
"\tvUV = vec2( uv.x, "+(b?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");if(g||m.blending||m.oI){b=[];var l=[];b=b.concat(["uniform sampler2D text1;","uniform sampler2D textAlpha;","uniform bool validTextAlpha;","uniform float opacity;","varying vec2 vUV;"]);l=l.concat(["   vec4 color = texture2D(text1, vUV);","   float alpha = color.a * opacity;","   if (validTextAlpha)","       alpha *= texture2D(textAlpha, vUV).r;"]);m.blending&&
(e=.5*Math.min(h.width,h.height)*m.blending,f.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(e/h.width,e/h.height)},b=b.concat(["uniform vec2 blendingLimit;"]),l=l.concat("   float xCoef = 0.0;,   float yCoef = 0.0;,   if (vUV.x < blendingLimit.x) {,      xCoef = 1.0 - (vUV.x / blendingLimit.x);,      xCoef = xCoef * xCoef;,   } else if ((1.0 - vUV.x) < blendingLimit.x) {,      xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);,      xCoef = xCoef * xCoef;,   },   if (vUV.y < blendingLimit.y) {,      yCoef = 1.0 - (vUV.y / blendingLimit.y);,      yCoef = yCoef * yCoef;,   } else if ((1.0 - vUV.y) < blendingLimit.y) {,      yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);,      yCoef = yCoef * yCoef;,   },   alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(",")));
m.oI&&(f.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(m.oI.substr(1,2),16)/255,parseInt(m.oI.substr(3,2),16)/255,parseInt(m.oI.substr(5,2),16)/255)},f.uniforms.chromaThreshold={type:"f",value:m.threshold},f.uniforms.chromaSmoothing={type:"f",value:m.aza},b=b.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),l=l.concat("    float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{    float maskCr = 0.7132 * (chromaColor.r - maskY);{    float maskCb = 0.5647 * (chromaColor.b - maskY);{    float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{    float Cr = 0.7132 * (color.r - Y);{    float Cb = 0.5647 * (color.b - Y);{    float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{    alpha = alpha * chromaBlendValue;".split("{")));
l=l.concat(["\tgl_FragColor = vec4(color"+(g?".bgr":".rgb")+", alpha);"]);e=THREE.RGBAFormat;f.fragmentShader=[].concat(b,["void main() {"],l,["}"]).join("\n")}else f.fragmentShader="uniform sampler2D text1;\nuniform sampler2D textAlpha;\nuniform bool validTextAlpha;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\n   vec4 color = texture2D(text1, vUV);\n   float alpha = color.a * opacity;\n   if (validTextAlpha)\n       alpha *= 1.0 - texture2D(textAlpha, vUV).r;\n\tgl_FragColor = vec4(color.rgb, alpha);\n}";
h=new THREE.ShaderMaterial(f);h.transparent=!0;h.depthWrite=!0;h.side=THREE.FrontSide;h.depthTest=!0;h.needsUpdate=!0;h.userData.Hza=c;h.userData.Iza=e;this.UD(h,k);return h},UD:function(h,m){h.uniforms.text1.value!==m&&(void 0!==h.userData.Hza&&(m.flipY=h.userData.Hza),void 0!==h.userData.Iza&&(m.format=h.userData.Iza),h.uniforms.text1.value=m)},LZa:function(h,m){h.uniforms.textAlpha.value!==m&&(h.uniforms.textAlpha.value=m,h.uniforms.validTextAlpha.value=!!m)}}});
define("kd",["require","nT","ox"],function(a){function d(m,k){this.Kc=m;this.Y=k;this.i1=[];this.V1();this.ii()}a("nT");var h=a("ox");d.prototype.clear=function(){this.LEa();this.t$();this.Y=this.Kc=null};d.prototype.V1=function(){this.Y.bind(h.Pk,this.ii,this,!0)};d.prototype.t$=function(){this.Y.unbind(h.Pk,this.ii,this,!0)};d.prototype.ii=function(){this.Kc.set("activeSubtitles",this.i1=this.Y.jr)};d.prototype.LEa=function(){this.Kc.get("activeSubtitles")==this.i1&&this.Kc.set("activeSubtitles",
this.i1=[])};return d});
define("gU","require ku ox kK gm w de kA fZ fx kd nT".split(" "),function(a){function d(n){this.o=n;this.mU=this.mU.bind(this);n=n.getComponent(l.vn);this.he=n.Ea;this.m=n.Vb;this.mX=n.aea;this.lc=this.o.S.lc;this.Ba=this.Ba.bind(this);this.Yf=!1;this.Xa=null;h.fa(this.mX,["levels.url","levels.srcObject","levels.width","levels.height"],this.mU,!0)}var h=a("ku"),m=a("ox"),k=a("kK"),b=a("gm"),g=a("w"),e=a("de"),c=a("kA"),f=a("fZ"),l=a("fx"),p=a("kd"),q=a("nT");d.prototype.update=function(){this.Yf&&
(this.Yf=!1,this.ko.update(),c.UD(this.ha,this.ko.sY()),c.LZa(this.ha,this.q1.sY()))};d.prototype.mU=function(){this.cN(q.Ej(this.mX))};d.prototype.cN=function(n){n=n&&(n.get("url")||n.get("srcObject"))?n:null;this.Xa!=n&&(this.Xa&&(this.Rsa.dispose(),this.Rsa=null,this.m.unbind(m.G("opacity"),this.Ona,this,!0),this.w3(),this.ko.dispose(),this.ko=null,this.q1.dispose(),this.q1=null,this.uGa(),this.Yf=!1),this.Xa=n)&&(this.eGa(),this.Rsa=new b(this.Y,this.m,this.he,this.Ba),this.ko=new g(this.Y,this.m,
this.Xa,this.Ba),this.q1=new e(this.m,this.Xa,this.Ba),this.TA(),this.m.bind(m.G("opacity"),this.Ona,this,!0),this.nqa(this.tb=this.m.get("opacity",1)),this.Yf=!1,this.Ba())};d.prototype.Ba=function(){this.Yf||(this.Yf=!0,this.o.S.$a())};d.prototype.eGa=function(){this.Y=new q(this.o.S.lc,this.mX);this.mv=new p(this.m,this.Y)};d.prototype.uGa=function(){this.Y.Id(k.T);this.Y.clear();this.Y=null;this.mv.clear();this.mv=null};d.prototype.TA=function(){var n=new c.cCa;n.iz=!this.Xa.get("srcObject")&&
f.iz(this.Xa.get("url"));n.width=this.Xa.get("width");n.height=this.Xa.get("height");var r=new c.tAa;r.blending=this.m.get("blending",0);r.oI=this.m.get("chromaColor");r.threshold=this.m.get("chromaThreshold",0);r.aza=this.m.get("chromaSmoothing",0);this.ha=c.create(n,r,this.ko.sY());this.o.H(l.Material).material=this.ha};d.prototype.w3=function(){this.ha.dispose();this.ha=null;this.o.na(l.Material)};d.prototype.dispose=function(){this.cN(null);this.m.set("state",k.T);this.o=this.he=this.m=this.lc=
null;h.ca(this.mX,["levels.url","levels.srcObject","levels.width","levels.height"],this.mU)};d.prototype.Ona=function(){var n=this.m.get("opacity");this.tb!=n&&(this.nqa(this.tb=n),this.Ba())};d.prototype.nqa=function(n){this.ha.opacity=n;this.ha.isShaderMaterial&&this.ha.uniforms.opacity&&(this.ha.uniforms.opacity.value=n)};d.Ob=function(n){n.H(l.Dw).manager=new d(n)};d.eb=function(n){var r=n.getComponent(l.Dw);r.manager.dispose();r.manager=null;n.na(l.Dw)};d.update=function(n){n.getComponent(l.Dw).manager.update()};
return d});define("es",["require","li","ls","fx","gU"],function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("gU");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Gd=function(){this.Nl.C.length&&this.Nl.C.slice().forEach(k.Ob);this.Ol.C.length&&this.Ol.C.slice().forEach(k.eb);this.materials.C.length&&this.materials.C.slice().forEach(k.update)};a.J={};a.J.Nl=[m.vn,m.Dw.not];a.J.materials=[m.vn,m.Dw];a.J.Ol=[m.vn.not,m.Dw];return a});
define("oo",["require","li","ls","ck","fx"],function(a){var d=a("li"),h=a("ls"),m=a("ck"),k=a("fx");a=d.extend(h,function(){h.apply(this,arguments);this.o9=this.o9.bind(this);this.oH=this.oH.bind(this)});a.prototype.Gd=function(){this.bea.ie.length&&this.bea.ie.slice().forEach(this.o9);this.AD.Ya.length&&this.AD.Ya.slice().forEach(this.oH);this.Os.Ya.length&&this.Os.Ya.slice().forEach(this.oH);this.AD.ie.length&&this.AD.ie.slice().forEach(this.oH);this.Os.ie.length&&this.Os.ie.slice().forEach(this.oH)};
a.prototype.o9=function(b){var g=b.getComponent(k.Tj),e=m.nba(g.je),c=e&&e.width||100;e=e&&e.height||100;if(g.width!=c||g.height!=e)g=b.K(k.Tj),g.width=c,g.height=e};a.prototype.oH=function(b){var g=m.nba(b);this.bea.C.forEach(function(e){if(e.getComponent(k.Tj).je==b){var c=e.getComponent(k.Tj);if(c.width!=g.width||c.height!=g.height)c=e.K(k.Tj),c.width=g.width,c.height=g.height}})};a.J={};a.J.bea=[k.Tj];a.J.AD=[k.OrthographicCamera];a.J.Os=[k.PerspectiveCamera];return a});
define("dV",["require"],function(){return{create:function(){var a=new THREE.BufferGeometry;a.setAttribute("position",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("normal",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("uv",new THREE.BufferAttribute(new Float32Array(12),2));a.setIndex(new THREE.BufferAttribute(new Uint32Array(6),1));return a},set:function(a,d,h,m,k,b,g,e,c,f,l,p,q,n,r){var u=a.getAttribute("position").array,t=a.getAttribute("normal").array,v=
a.getAttribute("uv").array,w=a.getIndex().array;u[9]=u[0]=d;u[10]=u[1]=h;u[11]=u[2]=m;v[6]=v[0]=k;v[7]=v[1]=b;u[3]=u[0]+l;u[4]=u[1]+p;u[5]=u[2]+q;v[2]=v[0];v[3]=v[1]+n;u[12]=u[6]=u[3]+g;u[13]=u[7]=u[4]+e;u[14]=u[8]=u[5]+c;v[8]=v[4]=v[2]+f;v[9]=v[5]=v[3];u[15]=u[12]-l;u[16]=u[13]-p;u[17]=u[14]-q;v[10]=v[8];v[11]=v[9]-n;d=e*q-c*p;c=c*l-g*q;g=g*p-e*l;e=1/Math.sqrt(d*d+c*c+g*g);t[0]=t[3]=t[6]=t[9]=t[12]=t[15]=d*e;t[1]=t[4]=t[7]=t[10]=t[13]=t[16]=c*e;t[2]=t[5]=t[8]=t[11]=t[14]=t[17]=g*e;w[0]=0;w[1]=2;
w[2]=1;w[3]=3;w[4]=5;w[5]=4;a.getAttribute("position").needsUpdate=!0;a.getAttribute("normal").needsUpdate=!0;a.getAttribute("uv").needsUpdate=!0;a.clearGroups();a.addGroup(0,6,r);a.computeBoundingBox();a.computeBoundingSphere();return a}}});
define("ob",["require","ox","ll"],function(a){function d(k,b,g){this.sp=k;this.m=b;this.X4=g;this.LV=this.LV.bind(this);this.AE=void 0;this.m.forEach(function(e){this.sp.bind(h.G(e),this.RB,this,!0)}.bind(this));this.LV()}var h=a("ox"),m=a("ll");d.prototype.stop=function(){this.m.forEach(function(k){this.sp.unbind(h.G(k),this.RB,this,!0)}.bind(this));this.AE&&(m.cancel(this.AE),this.AE=void 0)};d.prototype.RB=function(){this.AE||(this.AE=m.qz(this.LV))};d.prototype.LV=function(){this.AE=void 0;var k=
this.sp;this.X4.apply(window,this.m.map(function(b){return k.get(b)}))};return d});
define("fq","require li ls fx dV ob ck mL lX".split(" "),function(a){var d=a("li"),h=a("ls"),m=a("fx"),k=a("dV"),b=a("ob"),g=a("ck"),e=a("mL"),c=a("lX"),f=d.extend(h,function(){h.apply(this,arguments);this.n9=this.n9.bind(this);this.Q$=this.Q$.bind(this);this.Q9=this.Q9.bind(this)});f.prototype.Gd=function(){this.wP.C.length&&this.wP.C.slice().forEach(this.n9);this.planes.Ya.length&&this.planes.Ya.slice().forEach(this.Q$);this.Lxa.C.length&&this.Lxa.C.slice().forEach(this.Q9)};f.prototype.n9=function(l){var p=
l.getComponent(m.Ew),q=l.H(m.Tj);q.je=p.je;var n=g.nba(p.je);n&&(q.width=n.width,q.height=n.height);q=l.H(m.xt);q.geometry=k.create();q.Uxa=new b(p.Vb,"width height horizontalAlign verticalAlign scaleMode zIndex".split(" "),function(r,u,t,v,w,x){var y=l.K(m.xt);y.eza=r;y.bza=u;y.Eva=t;y.verticalAlign=v;y.jya=w;y.zIndex=x});l.H(m.Geometry).geometry=q.geometry};f.prototype.Q9=function(l){var p=l.getComponent(m.xt);p.geometry.dispose();p.geometry=null;p.Uxa.stop();p.Uxa=null;l.na(m.Geometry);l.na(m.Tj);
l.na(m.xt)};f.prototype.Q$=function(l){var p=l.getComponent(m.xt),q=l.getComponent(m.Tj),n=q.width,r=q.height,u=p.eza,t=p.bza;switch(p.jya){case c.NONE:q=u;var v=t;break;case c.Oo:q=n;v=t*n/u;break;case c.Nj:v=r;q=u*r/t;break;case c.Tq:u*r>t*n?(v=r,q=u*r/t):(q=n,v=t*n/u);break;default:u*r>t*n?(q=n,v=t*n/u):(v=r,q=u*r/t)}switch(p.Eva){case e.Oa:n=.5*-n;break;case e.hb:n=.5*n-q;break;default:n=.5*-q}switch(p.verticalAlign){case e.tc:r=.5*r-v;break;case e.oc:r=.5*-r;break;default:r=.5*-v}u=p.zIndex-
f.eBa;k.set(p.geometry,n,r,0,0,0,q,0,0,1,0,v,0,1,0);l.K(m.ya,!0).positionZ=u;l.S.$a()};f.eBa=100;f.J={};f.J.wP=[m.Ew,m.xt.not];f.J.planes=[m.Ew,m.xt,m.Tj];f.J.Lxa=[m.Ew.not,m.xt];return f});
define("ix","require mS o mM hO gX ig kQ hE ln ms iI oz oh fJ eP ht fn kP gY gT mB dc io lo eR nj ik kU ew kl es oo fq".split(" "),function(a){var d=a("mS"),h=a("o"),m=a("mM"),k=a("hO"),b=a("gX"),g=a("ig"),e=a("kQ"),c=a("hE"),f=a("ln"),l=a("ms"),p=a("iI"),q=a("oz"),n=a("oh"),r=a("fJ"),u=a("eP"),t=a("ht"),v=a("fn"),w=a("kP"),x=a("gY"),y=a("gT"),A=a("mB"),B=a("dc"),z=a("io"),C=a("lo"),G=a("eR"),D=a("nj"),E=a("ik"),H=a("kU"),R=a("ew"),S=a("kl"),Q=a("es"),M=a("oo");a=a("fq");var W={};W.Animation=d;W.Vl=
h;W.mw=m;W.Camera=k;W.sAa=b;W.Yh=g;W.qw=e;W.ht=c;W.Group=f;W.Yl=l;W.Xg=p;W.Light=q;W.Line=n;W.Vq=r;W.Uo=u;W.mt=t;W.Mesh=v;W.Dg=w;W.sBa=x;W.jb=A;W.Plane=y;W.cj=B;W.Qj=z;W.rh=C;W.Scene=G;W.Selection=D;W.Dc=E;W.Sphere=H;W.Sprite=R;W.ya=S;W.vn=Q;W.Tj=M;W.Ew=a;return W});
define("nC",["require","v"],function(a){var d=a("v");return{Kza:function(h,m){m||(m="screenshot.jpg");a:{try{var k=h.toDataURL("image/jpeg");break a}catch(c){}k=void 0}if(!k)return!1;var b=k;h=document.createElement("a");if("string"===typeof h.download)document.body.appendChild(h),h.download=m,h.href=b,h.click(),document.body.removeChild(h);else if(d.browser()==d.kw){h=window.navigator;k=h.msSaveOrOpenBlob;b=atob(b.split(",")[1]);for(var g=[],e=0;e<b.length;e++)g.push(b.charCodeAt(e));b=new Blob([new Uint8Array(g)],
{type:"image/jpeg"});k.call(h,b,m)}else window.location.replace(b);return!0}}});
define("gg","require li ox e cb jX la fx ix nC".split(" "),function(a){function d(n){return n.map(function(r){return String.fromCharCode(r)}).join("")}var h=a("li"),m=a("ox"),k=a("e"),b=a("cb"),g=a("jX"),e=a("la"),c=a("fx"),f=a("ix"),l=a("nC");a=h.extend(k,function(n,r){k.call(this);this.lc=n;this.tSa=r;this.uq=(new e(n)).sa(c.XD).sa(c.Animation).sa(c.Xs).sa(c.Ez).sa(c.Vl).sa(c.jw).sa(c.Fz).sa(c.mw).sa(c.nw).sa(c.Sq).sa(c.$s).sa(c.Yh).sa(c.ow).sa(c.rQ).sa(c.Go).sa(c.pw).sa(c.qw).sa(c.$z).sa(c.gt).sa(c.aA).sa(c.it).sa(c.ht).sa(c.Uq).sa(c.Geometry).sa(c.Group).sa(c.gE).sa(c.Yl).sa(c.vw).sa(c.Light).sa(c.kt).sa(c.Line).sa(c.Xg).sa(c.ww).sa(c.Vq).sa(c.yw).sa(c.xw).sa(c.Material).sa(c.Uo).sa(c.zw).sa(c.mt).sa(c.So).sa(c.Mesh).sa(c.Yq).sa(c.Dg).sa(c.nt).sa(c.DQ).sa(c.pBa).sa(c.To).sa(c.fA).sa(c.Object3D).sa(c.mE).sa(c.ot).sa(c.gA).sa(c.pt).sa(c.OrthographicCamera).sa(c.Aw).sa(c.PerspectiveCamera).sa(c.$q).sa(c.jb).sa(c.Zq).sa(c.cj).sa(c.hA).sa(c.Plane).sa(c.rt).sa(c.$e).sa(c.st).sa(c.Qj).sa(c.ar).sa(c.tt).sa(c.Dc).sa(c.vt).sa(c.ya).sa(c.lA).sa(c.Gf).sa(c.rh).sa(c.cr).sa(c.Scene).sa(c.er).sa(c.jd).sa(c.iA).sa(c.Sphere).sa(c.jA).sa(c.Sprite).sa(c.fr).sa(c.Dc).sa(c.vt).sa(c.vn).sa(c.Dw).sa(c.Tj).sa(c.Ew).sa(c.xt).sa(c.rE).Yd(f.Camera,"Camera").Yd(f.Tj,
"Viewport").Yd(f.Yl,"ImageMaterial").Yd(f.Yh,"CanvasMaterial").Yd(f.Xg,"LineMaterial").Yd(f.Dc,"SolidMaterial").Yd(f.vn,"VideoMaterial").Yd(f.Uo,"ObjectTransform").Yd(f.mt,"MaterialVariant").Yd(f.Ew,"ViewportPlaneGeometry").Yd(f.Group,"Group").Yd(f.Line,"Line").Yd(f.Mesh,"Mesh").Yd(f.Plane,"Plane").Yd(f.Sphere,"Sphere").Yd(f.Sprite,"Sprite").Yd(f.Dg,"Model").Yd(f.Light,"Light").Yd(f.Scene,"Scene").Yd(f.jb,"Parent").Yd(f.sBa,"ObjectId").Yd(f.Animation,"Animation").Yd(f.ht,"FloorTransform").Yd(f.sAa,
"CameraControls").Yd(f.qw,"Dragging").Yd(f.Selection,"Selection").Yd(f.Qj,"PointerOverTransform").Yd(f.cj,"PixelScaleTransform").Yd(f.ya,"Transform").Yd(f.Vl,"Area").Yd(f.Vq,"LineToTransform").Yd(f.Camera.YD,"CameraAutoNearFar").Yd(f.mw,"Beacon").Yd(f.rh,"Renderer");this.j=this.uq.dd("Renderer");this.vC=[];this.FC=!1;this.oK=new g;this.Ab().append(this.oK.zc());this.bind(m.hd,this.jk,this,!0);this.bind(m.sd,this.ek,this,!0)});a.prototype.dd=function(n){return this.uq.dd(n)};a.prototype.Ve=function(n){this.uq.Ve(n)};
a.prototype.kta=function(n){!(0<=this.vC.indexOf(n))&&(this.vC.push(n),n=this.j.K(c.rh))&&(n.GP=this.vC.slice())};a.prototype.aXa=function(n){n=this.vC.indexOf(n);!(0>n)&&(this.vC.splice(n,1),n=this.j.K(c.rh))&&(n.GP=this.vC.slice())};a.prototype.DZ=function(n){this.uq.DZ(n)};a.prototype.JYa=function(){if(1!=this.FC){this.FC=!0;var n=this.j.K(c.rh);n&&(n.shadowMap=this.FC)}};a.prototype.mc=function(n){this.uq.mc(n)};a.prototype.FD=function(){this.oK.trigger();this.uq.update();return l.Kza(this.j.getComponent(c.rh).canvas)};
a.prototype.Vaa=function(){this.uq.update();return this.j.getComponent(c.rh).canvas.toDataURL("image/png")};a.prototype.jk=function(){this.mPa()};a.prototype.ek=function(){this.fQa()};a.prototype.mPa=function(){var n=this.j.getComponent(c.rh);if(!n&&(n=this.j.H(c.rh),n.RH=document.createElement("div"),this.Ab().BX(n.RH),n.GP=this.vC.slice(),n.antialias=!0,n.shadowMap=this.FC,this.lc.get(p)&&this.tSa)){this.mO=document.createElement("div");for(var r in q)this.mO.style[r]=q[r];this.Ab().BX(this.mO)}};
a.prototype.fQa=function(){var n=this.j.getComponent(c.rh);n&&(this.Ab().$xa(n.RH),this.mO&&this.Ab().$xa(this.mO),this.mO=null,this.j.na(c.rh))};var p=d([119,97,116,101,114,109,97,114,107]),q={};q[d([104,101,105,103,104,116])]=d([49,48,48,37]);q[d([119,105,100,116,104])]=d([49,48,48,37]);q[d([112,111,115,105,116,105,111,110])]=d([97,98,115,111,108,117,116,101]);q[d([116,111,112])]=0;q[d([108,101,102,116])]=0;q[d([98,97,99,107,103,114,111,117,110,100,73,109,97,103,101])]=d([117,114,108,40,34])+b.dCa+
d([34,41]);q[d([98,97,99,107,103,114,111,117,110,100,80,111,115,105,116,105,111,110])]=d([99,101,110,116,101,114]);q[d([98,97,99,107,103,114,111,117,110,100,83,105,122,101])]=d([99,111,110,116,97,105,110]);q[d([112,111,105,110,116,101,114,69,118,101,110,116,115])]=d([110,111,110,101]);q[d([98,97,99,107,103,114,111,117,110,100,82,101,112,101,97,116])]=d([110,111,45,114,101,112,101,97,116]);q[d([111,112,97,99,105,116,121])]=.5;return a});
define("eI",["require","ku","ox","nq","fx"],function(a){function d(c,f,l){this.j=c;this.da=f;this.Hi=l;this.N=this.j.N;this.Ca=null;this.Re=this.Re.bind(this);this.j.bind(m.ic,this.ec,this,!0);this.da.bind(m.G("camera"),this.fU,this,!0);this.N.bind(m.G("isKeyboardTarget"),this.b7,this,!0);this.fU();this.b7();this.ec()}var h=a("ku"),m=a("ox"),k=a("nq"),b=a("fx");d.prototype.mc=function(c){for(var f in e){var l=this.Hi.K(e[f]);l&&(l.enabled=c)}};d.prototype.dispose=function(){this.Ca&&(this.p9(!1),
h.ca(this.Ca,g,this.Re),this.Ca=null);this.da.unbind(m.G("camera"),this.fU,this,!0);this.da=null;this.N.unbind(m.G("isKeyboardTarget"),this.b7,this,!0);this.N=null;this.j.unbind(m.ic,this.ec,this,!0);this.Hi=this.j=null};d.prototype.fU=function(){var c,f;for(f in e){var l=e[f];this.da.get("camera")&&k.Ka(f,this.da.get("camera"))?c=this.Hi.K(l,!0):this.Hi.na(l)}c&&(c.Vb=this.da.get("camera"),c.kg=this.j.getParent(),c.mya=this.N.YK,c.jz=this.N.get("isKeyboardTarget"))};d.prototype.b7=function(){var c=
this.da.get("camera"),f,l;for(l in e){var p=e[l];c&&k.Ka(l,c)&&(f=this.Hi.K(p,!0))}f&&(f.jz=this.N.get("isKeyboardTarget"));this.Ca!=c&&(this.Ca&&(this.p9(!1),h.ca(this.Ca,g,this.Re)),(this.Ca=c)&&h.fa(this.Ca,g,this.Re,!0))};d.prototype.Re=function(){var c=this.Hi.K(b.PerspectiveCamera,!0);c.uta=this.Ca.get("autoNearFar");c.vta=this.Ca.get("autoNearFarTolerance");c.near=this.Ca.get("near");c.far=this.Ca.get("far");this.p9(this.Ca.get("userInteracting"))};d.prototype.ec=function(){var c=this.Hi.K(b.PerspectiveCamera,
!0);c.width=this.j.kf();c.height=this.j.jf()};d.prototype.p9=function(c){this.Oh!=c&&(this.Oh=c,this.Ca&&this.Ca.trigger(this.Oh?m.Pfa:m.Ofa))};var g=["autoNearFar","autoNearFarTolerance","near","far","userInteracting"],e={OrbitModel3DCamera:b.gA,FirstPersonModel3DCamera:b.$z,FlyOverModel3DCamera:b.aA};return d});
define("nz",["require","exports","ku"],function(a,d,h){return function(){function m(){this.pP=this.pP.bind(this);this.uZ=this.object=null;this.elements=[];this.GO=new Map;this.Sxa=this.Ag=this.ie=this.filter=null}m.prototype.$ya=function(k,b){this.dispose();this.object=k;this.uZ=b;h.fa(this.object,[this.uZ],this.pP,!0)};m.prototype.pP=function(k){k=k||[];this.filter&&(k=k.filter(this.filter));var b=this.elements,g=this.elements=k;b.forEach(function(e,c){var f=g.indexOf(e);if(-1==f){var l=this.GO.get(e);
this.GO["delete"](e);this.Ag&&this.Ag(e,l)}else f!=c&&(l=this.GO.get(e),this.Sxa&&(c=this.Sxa(e,f,l,c),c!=l&&this.GO.set(e,c)))}.bind(this));g.forEach(function(e,c){-1==b.indexOf(e)&&this.ie&&(c=this.ie(e,c),this.GO.set(e,c))}.bind(this))};m.prototype.dispose=function(){this.object&&(h.ca(this.object,[this.uZ],this.pP),this.pP([]),this.uZ=this.object=null)};return m}()});
define("fG",["require","exports","nq"],function(a,d,h){return function(){function m(){}m.pz=function(k,b){m.wX[k]=b};m.QUa=function(k){for(var b in m.wX)if(h.Ka(b,k))return!0;return!1};m.mTa=function(k,b,g,e){for(var c in m.wX)if(h.Ka(c,k))return new m.wX[c](k,b,g,e);return null};m.wX={};return m}()});
define("oR",["require","exports","nz","fG"],function(a,d,h,m){return function(){function k(b,g,e,c){this.hXa=b;this.model=g;this.Of=e;this.renderer=c;this.filter=this.filter.bind(this);this.ie=this.ie.bind(this);this.Ag=this.Ag.bind(this);this.yD=new h;this.yD.filter=this.filter;this.yD.ie=this.ie;this.yD.Ag=this.Ag;this.yD.$ya(this.model,"objects")}k.prototype.filter=function(b){return m.QUa(b)?!0:!1};k.prototype.ie=function(b){return m.mTa(b,this.hXa,this.Of,this.renderer)};k.prototype.Ag=function(b,
g){g.dispose()};k.prototype.dispose=function(){this.yD.dispose()};return k}()});
define("iR",["require","exports","ox","nq"],function(a,d,h,m){return function(){function k(b,g){this.tL=b.tL;this.da=g;this.sj=[];this.tL.bind(h.G("spritesEnabled"),this.boa,this,!0);this.da.bind(h.G("objects"),this.$B,this,!0);this.ea()}k.prototype.dispose=function(){this.tL.unbind(h.G("spritesEnabled"),this.boa,this);this.da.unbind(h.G("objects"),this.$B,this);this.sj.forEach(function(b){b.dda(!1)});this.sj=[]};k.prototype.boa=function(){this.ea()};k.prototype.$B=function(){this.ea()};k.prototype.ea=
function(){var b=[];!1===this.tL.get("spritesEnabled")&&b.push("SpriteModel3DObject");var g=this.da.get("objects");this.sj.forEach(function(e){-1==g.indexOf(e)&&e.dda(!1)});this.sj=g;this.sj.forEach(function(e){var c=b.some(function(f){return m.Ka(f,e)});e.dda(c)})};return k}()});
define("br",["require","exports","ku"],function(a,d,h){var m=["camera","objects","postprocessing"],k=["userInteracting","moving"];return function(){function b(g){this.model=g;this.camera=null;this.xo=[];this.sca=this.sca.bind(this);this.cZ=this.cZ.bind(this);h.fa(this.model,m,this.sca,!0)}b.prototype.dispose=function(){this.RP([])};b.prototype.sca=function(){this.Iq(this.model.get("camera"));this.RP([].concat(this.model.get("objects"),this.model.get("postprocessing")))};b.prototype.Iq=function(g){this.camera!==
g&&(this.camera&&h.ca(this.camera,k,this.cZ),(this.camera=g)&&h.fa(this.camera,k,this.cZ,!0))};b.prototype.cZ=function(){this.Xza()};b.prototype.RP=function(g){this.xo!=g&&(g||(g=[]),this.xo&&this.xo.forEach(function(e){-1==g.indexOf(e)&&(e.WP&&e.WP(!1),e.Zv&&e.Zv(!1))}.bind(this)),this.xo=g,this.Xza())};b.prototype.Xza=function(){if(this.xo&&this.camera){var g=this.camera.get("userInteracting"),e=this.camera.get("moving");this.xo.forEach(function(c){c.WP&&c.WP(g);c.Zv&&c.Zv(e)}.bind(this))}};return b}()});
define("nd","require exports ku fx oR iR br".split(" "),function(a,d,h,m,k,b,g){var e=["variant"];return function(){function c(f,l,p,q){this.object=f;this.model=l;this.Dxa=p;this.renderer=q;this.lZ=this.lZ.bind(this);this.aa=this.Dxa.S.dd("Model");f=this.aa.H(m.Dg);f.Ea=this.object;this.object.get("preload")&&(f.Txa=this.model.pY().Yy());f.vo=this.model.lY().Yy();f.Ewa=this.object.get("model");f.Vb=this.object;f=this.aa.H(m.jd);f.Ea=this.object;f.Dv=!0;f.Uv=!0;this.aa.H(m.jb).aa=this.Dxa;this.aa.H(m.ya);
h.fa(this.object,e,this.lZ,!0);this.yD=new k(this.model,this.object,this.aa,this.renderer);this.mZa=new b(this.renderer,this.object);this.UZa=new g(this.model)}c.prototype.Es=function(){return this.aa};c.prototype.dispose=function(){h.ca(this.object,e,this.lZ);this.aa.S.Ve(this.aa);this.yD.dispose();this.mZa.dispose();this.UZa.dispose()};c.prototype.lZ=function(){var f=this.object.get("variant");f?this.aa.K(m.mt,!0).name=f:this.aa.na(m.mt)};return c}()});
define("dQ","require exports ku ox hP fx three.mod".split(" "),function(a,d,h,m,k,b,g){var e=["collidable"],c=["image"],f=["color","depthTest","opacity","width"],l=["parentId"],p=["maxWorldToPixelScale","minWorldToPixelScale","scale"],q="x y z normalX normalY normalZ upX upY upZ width height attachToParent".split(" "),n=new g.Matrix4,r=new g.Vector3,u=new g.Vector3,t=new g.Vector3,v=new g.Euler,w=180/Math.PI,x="x y z positionX positionY positionZ rotationX rotationY rotationZ scale translationX translationY translationZ attachToParent".split(" "),
y=["clickEnabled","rollOverEnabled","transparentAreaActive","useHandCursor"],A=["castShadow","receiveShadow"],B=["color","depthTest","hidden","opacity"],z=["video"],C=["hidden","enabled","opacity"];return{TI:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);h.fa(this.object,e,this.$wa||(this.$wa=this.cWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,e,this.$wa);D.prototype.qd.call(this)};
E.prototype.cWa=function(){this.object.get("collidable")?this.aa.na(b.DQ):this.aa.H(b.DQ)};return E}(G)},Yl:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);this.vo=this.model.lY().Yy();this.object.get("preload")&&this.model.pY().AH(this.vo);var H=this.aa.H(b.Yl);H.Vb=this.object;H.Ea=this.object;H.isSprite=!1;H.priority=this.object.get("preload")?k.dA:k.Mea;H.vo=this.vo;h.fa(this.object,c,this.cxa||
(this.cxa=this.iWa.bind(this)),!0)};E.prototype.qd=function(){this.model.lY().vI(this.vo);this.model.pY().vI(this.vo);h.ca(this.object,c,this.cxa);D.prototype.qd.call(this)};E.prototype.iWa=function(){this.aa.K(b.Yl).Pba=this.object.get("image")};return E}(G)},Xg:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);this.aa.H(b.Xg);h.fa(this.object,f,this.dxa||(this.dxa=this.lWa.bind(this)),!0)};E.prototype.qd=
function(){h.ca(this.object,f,this.dxa);D.prototype.qd.call(this)};E.prototype.lWa=function(){var H=this.aa.K(b.Xg);H.color=this.object.get("color");H.opacity=this.object.get("opacity");H.depthTest=this.object.get("depthTest");H.width=this.object.get("width")};return E}(G)},Plane:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);this.aa.H(b.Plane);this.aa.H(b.ya);h.fa(this.object,q,this.mxa||(this.mxa=
this.oWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,q,this.mxa);D.prototype.qd.call(this)};E.prototype.oWa=function(){r.set(0,0,0);t.set(this.object.get("upX",0),this.object.get("upY",1),this.object.get("upZ",0));u.set(this.object.get("normalX",0),this.object.get("normalY",0),this.object.get("normalZ",1)).multiplyScalar(-1);n.lookAt(r,u,t);v.setFromRotationMatrix(n);var H=this.aa.K(b.ya);H.Bv=this.object.get("attachToParent");H.translationX=this.object.get("x",0);H.translationY=this.object.get("y",
0);H.Ye=this.object.get("z",0);H.Bf=this.object.get("width",1);H.Qf=this.object.get("height",1);H.Le=v.x*w;H.oe=v.y*w;H.Me=v.z*w;H.positionX=0;H.positionY=0;H.positionZ=0};return E}(G)},jb:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);this.aa.H(b.jb).aa=this.Of;h.fa(this.object,l,this.kxa||(this.kxa=this.mWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,l,this.kxa);D.prototype.qd.call(this)};
E.prototype.mWa=function(){this.aa.K(b.jb).id=this.object.get("parentId")};return E}(G)},EBa:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);h.fa(this.object,p,this.lxa||(this.lxa=this.nWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,p,this.lxa);D.prototype.qd.call(this)};E.prototype.nWa=function(){var H=this.object.get("maxWorldToPixelScale"),R=this.object.get("minWorldToPixelScale");
if(void 0!==H||void 0!==R){var S=this.aa.K(b.cj,!0);S.kz=H;S.lz=R;S.Bf=S.Qf=S.mh=this.object.get("scale")}else null===(S=this.aa)||void 0===S?void 0:S.na(b.cj)};return E}(G)},sfa:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);this.aa.H(b.ya);h.fa(this.object,x,this.nxa||(this.nxa=this.pWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,x,this.nxa);D.prototype.qd.call(this)};E.prototype.pWa=
function(){var H=this.aa.K(b.ya);H.Bv=this.object.get("attachToParent");H.positionX=this.object.get("x",this.object.get("positionX",0));H.positionY=this.object.get("y",this.object.get("positionY",0));H.positionZ=this.object.get("z",this.object.get("positionZ",0));H.mg=this.object.get("rotationOrder","XYZ");H.Le=this.object.get("rotationX",0);H.oe=this.object.get("rotationY",0);H.Me=this.object.get("rotationZ",0);H.scale=this.object.get("scale",1);H.translationX=this.object.get("translationX",0);H.translationY=
this.object.get("translationY",0);H.Ye=this.object.get("translationZ",0)};return E}(G)},jd:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);h.fa(this.object,y,this.pxa||(this.pxa=this.qWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,y,this.pxa);D.prototype.qd.call(this)};E.prototype.qWa=function(){var H=this.object.get("clickEnabled"),R=this.object.get("rollOverEnabled");if(!1!==H&&
!1!==R)this.aa.na(b.To);else{var S=this.aa.H(b.To);S.Rda=!1===H;S.Sda=!1===R}!1===H&&!1===R?this.aa.na(b.jd):(S=this.aa.K(b.jd,!0),S.Fo=this.object.get("useHandCursor"),S.eQ=this.object.get("transparentAreaActive"),S.Ea=this.object,S.Dv=!!H,S.Uv=!!R)};return E}(G)},K0:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);h.fa(this.object,A,this.qxa||(this.qxa=this.rWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,
A,this.qxa);D.prototype.qd.call(this)};E.prototype.rWa=function(){var H=this.aa.K(b.Uo,!0);H.castShadow=this.object.get("castShadow");H.receiveShadow=this.object.get("receiveShadow")};return E}(G)},Dc:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);this.aa.H(b.Dc);this.visible=!1;h.fa(this.object,B,this.rxa||(this.rxa=this.sWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,B,this.rxa);
this.rf(!1);D.prototype.qd.call(this)};E.prototype.sWa=function(){var H=this.aa.K(b.Dc);H.color=this.object.get("color");H.opacity=this.object.get("hidden")?0:this.object.get("opacity");H.depthTest=this.object.get("depthTest");this.rf(0<H.opacity)};E.prototype.rf=function(H){this.visible!=H&&((this.visible=H)?this.object.trigger(m.hd):this.object.trigger(m.sd))};return E}(G)},vn:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);
var H=this.aa.H(b.vn);H.Vb=this.object;H.Ea=this.object;h.fa(this.object,z,this.sxa||(this.sxa=this.tWa.bind(this)),!0)};E.prototype.qd=function(){h.ca(this.object,z,this.sxa);D.prototype.qd.call(this)};E.prototype.tWa=function(){this.aa.K(b.vn).aea=this.object.get("video")};return E}(G)},Sfa:function(G){return function(D){function E(){return null!==D&&D.apply(this,arguments)||this}Z(E,D);E.prototype.pd=function(){D.prototype.pd.call(this);h.fa(this.object,C,this.txa||(this.txa=this.uWa.bind(this)),
!0)};E.prototype.qd=function(){h.ca(this.object,C,this.txa);D.prototype.qd.call(this)};E.prototype.uWa=function(){var H=this.aa.K(b.Uo,!0);H.opacity=this.object.get("enabled")&&!this.object.get("hidden")?this.object.get("opacity"):0;H.Ea=this.object};return E}(G)}}});
define("jv",["require","exports","nd","dQ"],function(a,d,h,m){a=function(k){function b(g,e,c,f){g=k.call(this,g,e,c,f)||this;g.Of=g.aa;g.pd();return g}Z(b,k);b.prototype.pd=function(){};b.prototype.qd=function(){};b.prototype.dispose=function(){this.qd();k.prototype.dispose.call(this)};return b}(h);return m.K0(a)});
define("gA",["require","exports","ku","ox"],function(a,d,h,m){return function(){function k(b,g){this.renderer=b;this.model=g;this.Ne=this.renderer.N;this.fZ=this.fZ.bind(this);this.xo=[];this.zz="";this.Ns=null;this.Ob()}k.prototype.dispose=function(){this.eb()};k.prototype.Ob=function(){h.fa(this.model,"objects",this.fZ,!0);this.model.bind(m.Tc,this.fxa,this,!0);this.model.bind(m.ac,this.exa,this,!0)};k.prototype.eb=function(){this.model.unbind(m.Tc,this.fxa,this);this.model.unbind(m.ac,this.exa,
this);h.ca(this.model,"objects",this.fZ);this.RP([]);this.Ns&&this.iZ(this.Ns)};k.prototype.fZ=function(){this.RP(this.model.get("objects"))};k.prototype.RP=function(b){this.xo!=b&&(this.xo.forEach(function(g){g.unbind(m.Tc,this.jxa,this);g.unbind(m.ac,this.ixa,this)}.bind(this)),this.Ns&&0<=this.xo.indexOf(this.Ns)&&0>b.indexOf(this.Ns)&&this.iZ(this.Ns),this.xo=b,this.xo.forEach(function(g){g.bind(m.Tc,this.jxa,this,!0);g.bind(m.ac,this.ixa,this,!0)}.bind(this)))};k.prototype.jxa=function(b){b=
b.source;this.oxa(b,b.get("toolTip"))};k.prototype.ixa=function(b){this.iZ(b.source)};k.prototype.fxa=function(){this.oxa(this.model,this.model.get("toolTip"))};k.prototype.exa=function(){this.iZ(this.model)};k.prototype.iZ=function(b){this.Ns==b&&(this.Ns=null,this.Xya(""))};k.prototype.oxa=function(b,g){this.Ns!=b&&(this.Ns=b,this.Xya(g||""))};k.prototype.Xya=function(b){this.zz!=b&&(this.zz=b,this.Ne.set("toolTip",this.zz))};return k}()});
define("lG",["require"],function(){function a(d){this.vc=this.Ar(d.get("surfaceReticleColor"));this.dv=this.Ar(d.get("surfaceReticleSelectionColor"));this.tb=d.get("surfaceReticleOpacity");this.MNa=d.get("surfaceReticleSelectionOpacity");this.wh=this.sf=128;this.iMa=.456;this.jMa=.088;this.IJa=.18;this.O=document.createElement("canvas");this.O.width=this.sf;this.O.height=this.wh;this.xa=this.O.getContext("2d");this.xa.fillStyle="red";this.xa.imageSmoothingEnabled=!0;this.xa.fillRect(0,0,this.sf,this.wh);
this.Xc=this.Pt=!1;this.OF=this.MU=void 0;this.wA=0}a.prototype.v4=function(){return this.uk(NaN*this.dv[0]+NaN*this.vc[0],NaN*this.dv[1]+NaN*this.vc[1])};a.prototype.Ar=function(d){d=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(d);return[parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16)]};a.prototype.uk=function(d,h){return"rgba("+d.join(",")+", "+h+")"};a.prototype.setPosition=function(d){this.Za!=d&&(this.Za=d,this.va=!0)};a.prototype.rd=function(){return this.sf};a.prototype.ce=function(){return this.wh};
a.prototype.lg=function(){return this.O};a.prototype.update=function(){if(!this.va)return!1;this.va=!1;this.xa.clearRect(0,0,this.sf,this.wh);var d=[this.dv[0]*this.Za+(1-this.Za)*this.vc[0],this.dv[1]*this.Za+(1-this.Za)*this.vc[1],this.dv[2]*this.Za+(1-this.Za)*this.vc[2]],h=this.MNa*this.Za+(1-this.Za)*this.tb;this.xa.strokeStyle=this.uk(d,h);this.xa.fillStyle=this.uk(d,h*this.Za);this.xa.beginPath();this.xa.lineWidth=this.sf*this.jMa;this.xa.arc(.5*this.sf,.5*this.sf,this.sf*this.iMa,0,2*Math.PI,
!1);this.xa.stroke();this.xa.beginPath();this.xa.arc(.5*this.sf,.5*this.sf,this.sf*this.IJa,0,2*Math.PI,!1);this.xa.fill();return!0};return a});define("hi",["require","lG"],function(a){return a("lG")});
define("is","require ku ox gf hi v fx".split(" "),function(a){function d(l,p,q){this.da=l;this.Ha=p;this.j=q;this.N=this.j.N;this.Hu=this.Hu.bind(this);this.Nu=this.Nu.bind(this);this.Xc=void 0;this.da.bind(m.G("surfaceSelectionEnabled"),this.S3,this,!0);this.S3()}var h=a("ku"),m=a("ox"),k=a("gf"),b=a("hi"),g=a("v"),e=a("fx");d.prototype.S3=function(){var l=this.da.get("surfaceSelectionEnabled")&&!g.mb();!!this.o!=l&&(l?this.aB():this.kp())};d.prototype.aB=function(){if(!this.o){this.o=this.Ha.S.dd("PointerReticle");
this.o.H(e.Plane).renderOrder=2;this.o.H(e.Qj).aa=this.Ha;this.o.H(e.To);this.o.H(e.jb).aa=this.Ha;var l=this.o.H(e.Sq);l.Ea=new k;l.Ea.bind(m.ta,this.EL,this,!0);h.fa(this.da,c,this.Hu,!0);this.js=new b(this.N);this.js.setPosition(0);this.js.update();l=this.o.H(e.Yh);l.source=this.js.lg();l.depthTest=!1;h.fa(this.da,f,this.Nu,!0);this.he=null;this.CC(!1)}};d.prototype.kp=function(){this.o&&(this.he&&(this.he.trigger(m.ac),this.he=null),h.ca(this.da,f,this.Nu),this.fN(null),this.o.getComponent(e.Sq).Ea.unbind(m.ta,
this.EL,this,!0),this.Ha.S.Ve(this.o),this.js=this.o=null,h.ca(this.da,c,this.Hu))};d.prototype.Hu=function(){var l=this.o.K(e.cj,!0);l.Bf=l.Qf=2;l.scale=this.da.get("surfaceReticleRadius");l.kz=this.da.get("surfaceReticleMaxRadius");l.lz=this.da.get("surfaceReticleMinRadius")};d.prototype.EL=function(l){l=this.xIa(l);var p=this.FHa(l);0==p&&(l=null);this.UNa(l);this.kOa(p)};d.prototype.Nu=function(){this.fN(this.da&&this.da.get("pointer"))};d.prototype.fN=function(l){this.Qd!==l&&(this.Qd&&(this.Qd.unbind(m.pa,
this.Lr,this,!0),this.Qd.unbind(m.hc,this.ef,this,!0),this.Qd.unbind(m.ac,this.Gm,this,!0)),this.Qd=l)&&(this.Qd.bind(m.pa,this.Lr,this,!0),this.Qd.bind(m.hc,this.ef,this,!0),this.Qd.bind(m.ac,this.Gm,this,!0))};d.prototype.Lr=function(){this.he&&this.he.trigger(m.pa)};d.prototype.ef=function(){this.CC(!0)};d.prototype.Gm=function(){this.CC(!1)};d.prototype.CC=function(l){this.Xc!==l&&(this.Xc=l,this.o.K(e.Yh).opacity=this.Xc?1:0)};d.prototype.UNa=function(l){l=this.Hja(l);this.he!=l&&(this.he&&this.he.trigger(m.ac),
(this.he=l)&&this.he.trigger(m.Tc))};d.prototype.xIa=function(l){l=l.data.beacons;if(!l)return null;for(var p=0;p<l.length;p++)if(this.Hja(l[p]))return l[p];return null};d.prototype.FHa=function(l){if(!l)return 0;var p=this.o.getComponent(e.ya);return p?Math.max(0,1-l.distance/(this.da.get("surfaceSelectionCoef")*p.scale*p.Bf)):0};d.prototype.Hja=function(l){return(l=(l=l&&l.entity)&&l.getComponent(e.VI))&&l.wZa||null};d.prototype.kOa=function(l){this.js.setPosition(l);this.js.update()&&(this.o.K(e.Yh).$P=
(new Date).getTime())};d.prototype.dispose=function(){this.kp();this.da.unbind(m.G("surfaceSelectionEnabled"),this.S3,this,!0)};var c=["surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius"],f=["pointer"];return d});
define("kV",["require","ku","ox","gf","fx"],function(a){function d(e,c,f){this.da=e;this.Ha=c;this.Hi=f;this.W=!1;this.sU=this.sU.bind(this);h.fa(this.da,g,this.sU,!0)}var h=a("ku"),m=a("ox"),k=a("gf"),b=a("fx");d.prototype.sU=function(){var e=!!this.da.get("maxNearestObjectsVisible");this.W!=e&&(this.W&&this.kp(),(this.W=e)&&this.aB())};d.prototype.aB=function(){var e=this.Hi.H(b.Sq);e.Ea=new k;e.Ea.bind(m.ta,this.EL,this,!0);this.Ha.S.$a()};d.prototype.kp=function(){this.Hi.getComponent(b.Sq).Ea.unbind(m.ta,
this.EL,this,!0);this.Hi.na(b.Sq);this.da.get("objects").forEach(function(e){e.get("hideBasedOnDistance")&&e.eda(!1)})};d.prototype.EL=function(e){var c=0,f=this.da.get("maxNearestObjectsVisible");e.data.beacons.forEach(function(l){if(l=this.EHa(l))l.get("hideBasedOnDistance")?(l.eda(c>=f),c++):l.eda(!1)}.bind(this))};d.prototype.EHa=function(e){e=(e=e.entity.getComponent(b.VI))&&e.object;e.get&&void 0!==e.get("hideBasedOnDistance")||(e=null);return e};d.prototype.dispose=function(){h.ca(this.da,
g,this.sU);this.W&&(this.W=!1,this.kp())};var g=["maxNearestObjectsVisible"];return d});
define("fz","require li ku ox gf fx".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("gf"),b=a("fx");a=d.extend(k,function(e,c){k.call(this);this.ud=e;this.Ha=c;this.xf=this.xf.bind(this);this.o=null;this.Ck=0;this.Hb=!1;this.AM=[];this.ud.bind(m.G("areaOpacity"),this.sna,this);this.jH()});a.prototype.HZ=function(e){this.AM.forEach(function(c){c.unbind(m.hd,this.Ud,this,!0);c.unbind(m.sd,this.Ud,this,!0)}.bind(this));this.AM=e;this.AM.forEach(function(c){c.bind(m.hd,this.Ud,this,!0);
c.bind(m.sd,this.Ud,this,!0)}.bind(this));this.Vra();this.Ud()};a.prototype.dispose=function(){this.ud.unbind(m.G("areaOpacity"),this.sna,this);this.pv()};a.prototype.Es=function(){return this.o};a.prototype.isVisible=function(){return this.Hb};a.prototype.sna=function(){this.jH();this.po()};a.prototype.jH=function(){0<this.ud.get("areaOpacity")?this.Fy():this.pv()};a.prototype.Fy=function(){if(!this.o){this.o=this.Ha.S.dd("MeasureArea");var e=new k;e.bind(m.ta,this.Vx,this,!0);this.o.H(b.Vl).Ea=
e;this.o.H(b.Dc);this.o.H(b.jb).aa=this.Ha;h.fa(this.ud,g,this.xf,!0);this.Vra()}};a.prototype.pv=function(){this.o&&(this.o.getComponent(b.Vl).Ea.unbind(m.ta,this.Vx,this,!0),h.ca(this.ud,g,this.xf),this.o.S.Ve(this.o),this.o=null)};a.prototype.ds=function(e){this.Hb!=e&&((this.Hb=e)?(this.bo(1),this.trigger(m.hd)):(this.bo(0),this.trigger(m.sd)))};a.prototype.Ud=function(){this.ds(this.AM.every(function(e){return e.isVisible()}))};a.prototype.Vx=function(e){this.ud.set("area",e.data.area)};a.prototype.xf=
function(){if(this.o){var e=this.o.K(b.Dc);e.color=this.ud.get("areaColor");e.depthTest=this.ud.get("depthTest");e.doubleSided=!0;this.po()}};a.prototype.bo=function(e){this.Ck!=e&&(this.Ck=e,this.po())};a.prototype.po=function(){this.o&&(this.o.K(b.Dc).opacity=this.ud.get("areaOpacity")*Math.max(1E-4,this.Ck))};a.prototype.Vra=function(){this.o&&(this.o.K(b.Vl).C=this.AM.map(function(e){return e.Es()}))};var g=["areaColor","areaOpacity","depthTest"];return a});
define("bQ",["require","ho"],function(a){function d(b,g,e){k.style.fontFamily=m.Ev(g.fontFamily);k.style.fontSize=g.fontSize;k.style.fontWeight=g.fontWeight;k.style.fontStyle=g.fontStyle;k.innerHTML=b;document.body.appendChild(k);var c=new h(Math.ceil(k.clientWidth),Math.ceil(k.clientHeight));document.body.removeChild(k);e&&(e.font=g.fontSize+" "+m.Ev(g.fontFamily),b=e.measureText(b).width,c.height*=b/c.width,c.width=b);return c}function h(b,g){this.width=b;this.height=g}var m=a("ho"),k=document.createElement("div");
k.style.display="inline-block";k.style.margin=0;k.style.padding=0;k.style.whiteSpace="nowrap";d.L0=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};return d});
define("fm",["require","bQ","ho"],function(a){function d(){this.f4=this.Ar("#ffffff");this.Mw=this.Ar("#000000");this.wh=this.sf=0;this.O=document.createElement("canvas");this.xa=this.O.getContext("2d");this.xa.imageSmoothingQuality="high";this.hs=new m.L0;this.g4=this.oF=void 0;this.u1=this.v1=.5;this.qq=void 0;this.eH=d.o0;this.tv=void 0;this.FI(0)}function h(b){return 100<b?b.toFixed(0):10<b?b.toFixed(1):b.toFixed(2)}var m=a("bQ"),k=a("ho");d.Cea="imperial area";d.Dea="imperial length";d.Kea="metric area";
d.o0="metric length";d.prototype.dispose=function(){this.O.width=this.O.height=0;this.O=null};d.prototype.JXa=function(b){this.f4!=b&&(this.f4=b,this.va=!0)};d.prototype.pXa=function(b){this.Mw!=b&&(this.Mw=b,this.va=!0)};d.prototype.KXa=function(b){this.g4!=b&&(this.g4=b,this.va=!0)};d.prototype.LXa=function(b){this.oF!=b&&(this.oF=b,this.va=!0)};d.prototype.Nca=function(){.5!=this.hs.CH&&(this.u1=.5,this.va=!0)};d.prototype.Oca=function(b){this.hs.DH!=b&&(this.v1=b,this.va=!0)};d.prototype.FI=function(b){this.qq!=
b&&(this.qq=b,this.H$())};d.prototype.RYa=function(b){this.eH!=b&&(this.eH=b,this.H$())};d.prototype.SYa=function(b){this.tv!=b&&(this.tv=b,this.H$())};d.prototype.H$=function(){if(void 0===this.tv)this.Ta=h(this.qq);else if(this.eH==d.o0){var b=this.qq*this.tv;this.Ta=1<=b?h(b)+"m":h(100*b)+"cm"}else this.eH==d.Kea?(b=this.qq*this.tv*this.tv,this.Ta=.1<=b?h(b)+"m\u00b2":h(1E4*b)+"cm\u00b2"):this.eH==d.Dea?(b=this.qq*this.tv*1.0936,this.Ta=1760<b?h(b/1760)+"mi":100<=b?h(b)+"yd":1<=3*b?h(3*b)+"ft":
h(36*b)+"in"):this.eH==d.Cea&&(b=this.qq*this.tv*1.0936*this.tv*1.0936,this.Ta=1<=b?h(b)+"yd\u00b2":1<=9*b?h(9*b)+"ft\u00b2":h(1296*b)+"in\u00b2");this.va=!0};d.prototype.Ar=function(b){b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(b);return[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]};d.prototype.uk=function(b,g){return"rgba("+b.join(",")+", "+g+")"};d.prototype.rd=function(){return this.sf};d.prototype.ce=function(){return this.wh};d.prototype.lg=function(){return this.O};d.prototype.update=
function(){if(!this.va)return!1;this.va=!1;this.hs.fontFamily=this.g4||"Arial";this.hs.fontSize=this.oF?"string"==typeof this.oF?this.oF:this.oF+"px":"30px";var b=m(this.Ta,this.hs),g=this.Ar(this.f4),e=this.Ar(this.Mw),c=b.width;b=b.height;var f=.5*b,l=.3*b,p=f+c+.5*b,q=l+b+.2*b,n=.5*q;this.O.width=this.O.height=this.sf=this.wh=Math.max(128,Math.pow(2,Math.ceil(Math.log(Math.max(p,q))/Math.LN2)));var r=this.sf*this.u1-p*this.u1,u=this.wh*this.v1-q*this.v1;this.OE();this.xa.save();this.xa.translate(r,
u);this.xa.fillStyle=this.uk(e,1);this.xa.beginPath();this.xa.moveTo(0,n);this.xa.quadraticCurveTo(0,0,n,0);this.xa.lineTo(p-n,0);this.xa.quadraticCurveTo(p,0,p,n);this.xa.quadraticCurveTo(p,q,p-n,q);this.xa.lineTo(n,q);this.xa.quadraticCurveTo(0,q,0,q-n);this.xa.closePath();this.xa.fill();this.xa.fillStyle=this.uk(g,1);this.xa.font=this.hs.fontSize+" '"+this.hs.fontFamily+"'";this.xa.font=this.hs.fontSize+(isNaN(this.hs.fontSize)?"":"px")+" "+k.Ev(this.hs.fontFamily);this.xa.textBaseline="middle";
this.xa.textAlign="center";this.xa.fillText(this.Ta,Math.round(f+.5*c),Math.round(l+.5*b));this.xa.restore();return!0};d.prototype.OE=function(){this.xa.clearRect(0,0,this.sf,this.wh)};return d});
define("fu","require li ku ox gf fx fm ep".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("gf"),b=a("fx"),g=a("fm"),e=a("ep");a=d.extend(k,function(f,l,p){k.call(this);this.B6=f;this.ud=l;this.Ha=p;this.xf=this.xf.bind(this);this.eo=this.o=null;this.Ck=0;this.Hb=!1;this.BW=this.Yg=this.py=this.Mx=null;this.qq=void 0;this.Hh=new g;this.B6.bind(m.G("worldUnitToMeters"),this.t7,this,!0);this.ud.bind(m.G("units"),this.e7,this,!0);this.Fy()});a.prototype.Nya=function(f){this.aW(f,null,null)};
a.prototype.wYa=function(f){this.aW(null,f,null)};a.prototype.oXa=function(f){this.aW(null,null,f)};a.prototype.aW=function(f,l,p){if(this.py!=l||this.Mx!=f||this.Yg!=p)[this.Mx,this.py,this.Yg].forEach(function(q){q&&q.unbind(m.hd,this.Ud,this,!0);q&&q.unbind(m.sd,this.Ud,this,!0)}.bind(this)),this.pv(),this.Mx=f,this.py=l,this.Yg=p,this.Fy(),this.xf(),this.ig(!0),[this.Mx,this.py,this.Yg].forEach(function(q){q&&q.bind(m.hd,this.Ud,this,!0);q&&q.bind(m.sd,this.Ud,this,!0)}.bind(this)),this.Mx?(this.o.K(b.jb).aa=
this.Mx.Es(),this.o.K(b.ya).Ye=.5,f=this.o.K(b.Sprite),f.CH=.5,f.DH=.5,this.Hh.Nca(),this.Hh.Oca(.5)):this.py?(this.o.K(b.jb).aa=this.py.Es(),this.o.K(b.ya).Ye=0,f=this.o.K(b.Sprite),f.CH=.5,f.DH=1.1,this.Hh.Nca(),this.Hh.Oca(1)):this.Yg?(this.o.K(b.jb).aa=this.Yg.Es(),this.o.K(b.ya).Ye=0,f=this.o.K(b.Sprite),f.CH=.5,f.DH=.5,this.Hh.Nca(),this.Hh.Oca(.5)):this.o.K(b.jb).aa=null,this.Ud(),this.e7(),this.t7()};a.NBa="partialDistance";a.zfa="distance";a.MBa="area";a.prototype.setStyle=function(f){this.BW!=
f&&(this.BW=f,this.xf())};a.prototype.FI=function(f){void 0!==f&&this.qq!==f&&(this.qq=f,this.Hh.FI(f),this.ig(),this.Ud())};a.prototype.dispose=function(){this.B6.unbind(m.G("worldUnitToMeters"),this.t7,this,!0);this.ud.unbind(m.G("units"),this.e7,this,!0);this.aW(null,null);this.Hh.dispose();this.Hh=null;this.pv()};a.prototype.t7=function(){this.Hh.SYa(this.B6.get("worldUnitToMeters"));this.ig()};a.prototype.e7=function(){var f=this.ud.get("units"),l=!!this.Yg;this.Hh.RYa("imperial"==f?l?g.Cea:
g.Dea:l?g.Kea:g.o0);this.ig()};a.prototype.Fy=function(){if(!this.o){this.o=this.Ha.S.dd("MeasureLabel");this.o.H(b.Sprite).renderOrder=2;this.o.H(b.To);var f=this.o.H(b.Yh);f.source=this.Hh.lg();f.isSprite=!0;h.fa(this.ud,c,this.xf,!0);this.o.H(b.ya);this.o.H(b.jb)}};a.prototype.pv=function(){this.o&&(h.ca(this.ud,c,this.xf),this.o.S.Ve(this.o),this.o=null)};a.prototype.isVisible=function(){return this.Hb};a.prototype.ds=function(f){this.Hb!=f&&((this.Hb=f)?(this.ePa(),this.trigger(m.hd)):(this.dQa(),
this.bo(0),this.trigger(m.sd)))};a.prototype.Ud=function(){this.ds(0<this.qq&&(this.Mx&&this.Mx.isVisible()||this.py&&this.py.isVisible()||this.Yg&&this.Yg.isVisible()))};a.prototype.ePa=function(){this.eo||(this.eo=new e,this.eo.set("duration",300),this.eo.bind(e.E_,this.aoa,this,!0),this.eo.bind(e.Kj,this.$na,this,!0),this.eo.play())};a.prototype.dQa=function(){this.eo&&(this.eo.unbind(e.E_,this.aoa,this,!0),this.eo.unbind(e.Kj,this.$na,this,!0),this.eo.stop(),this.eo=null)};a.prototype.aoa=function(){this.bo(2*
this.eo.Jk()-1)};a.prototype.$na=function(){this.bo(1)};a.prototype.xf=function(){this.o.K(b.Yh).depthTest=this.vF("depthTest");this.Hh.JXa(this.vF("labelFontColor"));this.Hh.pXa(this.vF("labelBackgroundColor"));this.Hh.KXa(this.vF("labelFontFamily"));this.Hh.LXa(this.vF("labelFontSize"));this.po();this.ig()};a.prototype.vF=function(f){var l;this.BW&&(l=this.ud.get(this.BW+f[0].toUpperCase()+f.substr(1)));void 0===l&&(l=this.ud.get(f));return l};a.prototype.ig=function(f){if(this.Hh.update()||f){f=
this.o.K(b.Yh);var l=this.o.K(b.Sprite);f.$P=(new Date).getTime();l.width=this.Hh.rd();l.height=this.Hh.ce()}};a.prototype.bo=function(f){this.Ck!=f&&(this.Ck=f,this.po())};a.prototype.po=function(){this.o.K(b.Yh).opacity=this.vF("labelOpacity")*Math.max(1E-4,this.Ck)};var c="depthTest areaLabelBackgroundColor areaLabelFontColor areaLabelFontFamily areaLabelOpacity areaLabelFontSize distanceLabelBackgroundColor distanceLabelFontColor distanceLabelFontFamily distanceLabelOpacity distanceLabelFontSize labelBackgroundColor labelFontColor labelFontFamily labelOpacity labelFontSize partialDistanceLabelBackgroundColor partialDistanceLabelFontColor partialDistanceLabelFontFamily partialDistanceLabelOpacity partialDistanceLabelFontSize".split(" ");
return a});
define("dD","require li ku ox gf fx".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("gf"),b=a("fx");a=d.extend(k,function(e,c){k.call(this);this.ud=e;this.Ha=c;this.Bl=this.Al=null;this.xf=this.xf.bind(this);this.o=null;this.Ck=0;this.Hb=!1;this.Fy()});a.prototype.HZ=function(e,c){if(this.Al!=e||this.Bl!=c)this.Al&&this.Al.unbind(m.hd,this.Ud,this,!0),this.Al&&this.Al.unbind(m.sd,this.Ud,this,!0),this.Bl&&this.Bl.unbind(m.hd,this.Ud,this,!0),this.Bl&&this.Bl.unbind(m.sd,this.Ud,this,
!0),this.Al=e,this.Bl=c,this.Al&&this.Al.bind(m.hd,this.Ud,this,!0),this.Al&&this.Al.bind(m.sd,this.Ud,this,!0),this.Bl&&this.Bl.bind(m.hd,this.Ud,this,!0),this.Bl&&this.Bl.bind(m.sd,this.Ud,this,!0),this.o.K(b.jb,!0).aa=this.Al&&this.Al.Es(),this.o.K(b.Vq,!0).aa=this.Bl&&this.Bl.Es(),this.Ud()};a.prototype.Es=function(){return this.o};a.prototype.dispose=function(){this.HZ(null,null);this.pv()};a.prototype.Fy=function(){this.o||(this.o=this.Ha.S.dd("MeasureLine"),this.o.H(b.Line),this.o.H(b.Xg),
this.o.H(b.ya),h.fa(this.ud,g,this.xf,!0))};a.prototype.pv=function(){this.o&&(h.ca(this.ud,g,this.xf),this.o.S.Ve(this.o),this.o=null)};a.prototype.isVisible=function(){return this.Hb};a.prototype.ds=function(e){this.Hb!=e&&((this.Hb=e)?(this.bo(1),this.trigger(m.hd)):(this.bo(0),this.trigger(m.sd)))};a.prototype.Ud=function(){this.ds(this.Al&&this.Al.isVisible()&&this.Bl&&this.Bl.isVisible())};a.prototype.xf=function(){var e=this.o.K(b.Xg);e.color=this.ud.get("lineColor");e.depthTest=this.ud.get("depthTest");
e.width=this.ud.get("lineWidth");e.depthTest=this.ud.get("depthTest");this.po()};a.prototype.bo=function(e){this.Ck!=e&&(this.Ck=e,this.po())};a.prototype.po=function(){this.o.K(b.Xg).opacity=this.ud.get("lineOpacity")*Math.max(1E-4,this.Ck)};var g=["depthTest","lineColor","lineOpacity","lineWidth"];return a});
define("nV","require li ku ox gf fx".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("gf"),b=a("fx");a=d.extend(k,function(f,l,p,q){k.call(this);this.ud=f;this.da=l;this.Ha=p;this.Tp=q;this.xU=this.xU.bind(this);this.xf=this.xf.bind(this);this.Em=this.Em.bind(this);this.o=null;this.bi=this.UM=this.Xc=this.Lw=!1;this.Ck=0;this.Hb=!1;this.Fy();h.fa(this.ud,g,this.xU,!0);h.fa(this.ud,c,this.xf,!0);h.ZC(this.Tp,e,this.Em,!0);this.bind(m.qt,this.Hna,this,!0);this.bind(m.Tc,this.kG,this,!0);
this.bind(m.ac,this.Gm,this,!0);this.Em();this.vY()&&this.ds(!0)});a.prototype.dispose=function(){h.ca(this.ud,g,this.xU);h.ca(this.ud,c,this.xf);h.ca(this.Tp,e,this.Em);this.unbind(m.qt,this.Hna,this,!0);this.unbind(m.Tc,this.kG,this,!0);this.unbind(m.ac,this.Gm,this,!0);this.pv()};a.prototype.Es=function(){return this.o};a.prototype.uya=function(f){this.Lw!==f&&((this.Lw=f)?(f=this.o.H(b.Qj),f.aa=this.Ha,f.rotate=!1,f.Ea=new k,this.ds(!0),f.Ea.bind(m.Tc,this.$F,this,!0)):((f=this.o.getComponent(b.Qj))&&
f.Ea.unbind(m.Tc,this.$F,this,!0),this.o.na(b.Qj),f=this.da.worldPositionToLocal([this.x,this.y,this.z],this.da.getMatrixWorld()),this.Aya(f[0],f[1],f[2])),this.Oy(),this.V$())};a.prototype.Dya=function(f){void 0===f&&(f=!1);this.bi!==f&&((this.bi=f)?this.o.H(b.qw):this.o.na(b.qw))};a.prototype.DYa=function(f){this.UM!==f&&(this.UM=f,this.V$(),this.Xc=!1,this.Oy())};a.prototype.Aya=function(f,l,p){this.Tp.set("x",f);this.Tp.set("y",l);this.Tp.set("z",p);this.ds(this.vY())};a.prototype.Fy=function(){this.o=
this.Ha.S.dd("MeasurePoint");this.o.H(b.Sphere);this.o.H(b.Dc);this.o.H(b.jd).Ea=this;this.o.H(b.To);this.o.H(b.ya).Ea=this;this.o.H(b.cj);this.o.H(b.jb).aa=this.Ha;this.V$();this.po();this.Oy()};a.prototype.pv=function(){this.o.S.Ve(this.o);this.o=null};a.prototype.isVisible=function(){return this.Hb};a.prototype.ds=function(f){this.Hb!=f&&((this.Hb=f)?(this.bo(1),this.trigger(m.hd)):(this.bo(0),this.trigger(m.sd)))};a.prototype.V$=function(){var f=this.o.K(b.jd);f.Fo=this.UM;f.Uv=this.UM;f.Dv=!this.Lw;
f=this.o.K(b.To,!0);f.Sda=!this.UM||this.Lw;f.Rda=this.Lw};a.prototype.$F=function(){this.ds(!0)};a.prototype.kG=function(){this.Xc=!0;this.Oy()};a.prototype.Gm=function(){this.Xc=!1;this.Oy()};a.prototype.xU=function(){this.o.K(b.jb).id=this.ud.get("parentId")};a.prototype.xf=function(){if(this.o){var f=this.o.K(b.cj);f.Bf=f.Qf=f.mh=1;f.kz=this.ud.get("pointMaxRadius");f.lz=this.ud.get("pointMinRadius");f.scale=this.ud.get("pointRadius")||1;this.o.K(b.Dc).depthTest=this.ud.get("depthTest");this.Oy()}};
a.prototype.Oy=function(){if(this.o){var f=this.Lw?"pointDragColor":this.Xc?"pointOverColor":"pointColor";this.o.K(b.Dc).color=this.ud.get(f)}};a.prototype.bo=function(f){this.Ck!=f&&(this.Ck=f,this.po())};a.prototype.po=function(){this.o.K(b.Dc).opacity=Math.max(1E-4,this.Ck)};a.prototype.Hna=function(f){this.x=f.data.position.x;this.y=f.data.position.y;this.z=f.data.position.z};a.prototype.Em=function(){if(this.vY()&&this.o){var f=this.o.K(b.ya,!0);f.positionX=f.positionY=f.positionZ=0;f.Le=f.oe=
f.Me=0;f.translationX=this.Tp.get("x");f.translationY=this.Tp.get("y");f.Ye=this.Tp.get("z")}};a.prototype.vY=function(){var f=this.Tp.get("x"),l=this.Tp.get("y"),p=this.Tp.get("z");return void 0!==f&&void 0!==l||void 0!==p};a.prototype.distanceTo=function(f){var l=this.x-f.x,p=this.y-f.y;f=this.z-f.z;return Math.sqrt(l*l+p*p+f*f)};var g=["parentId"],e=["x","y","z"],c="depthTest mode pointDragColor pointColor pointOverColor pointMaxRadius pointMinRadius pointRadius".split(" ");return a});
define("eq","require ku ox bm fz fu dD nV v".split(" "),function(a){function d(t,v,w,x){this.D=t;this.da=v;this.Ha=w;this.j=x;this.N=this.j.N;this.Fp=this.Fp.bind(this);this.AU=this.AU.bind(this);this.rU=this.rU.bind(this);this.HU=this.HU.bind(this);this.cG=this.cG.bind(this);this.Vx=this.Vx.bind(this);this.Nu=this.Nu.bind(this);this.XB=this.XB.bind(this);this.Qd=null;this.ri=new Map;this.zM=new Map;this.xp=[];this.GB=[];this.rG=new Map;this.gh=[];this.oi=null;this.UW();this.xe=this.Pc=void 0;this.W=
!1;h.fa(this.D,["enabled"],this.Fp,!0)}var h=a("ku"),m=a("ox"),k=a("bm"),b=a("fz"),g=a("fu"),e=a("dD"),c=a("nV"),f=a("v");d.prototype.dispose=function(){this.kp();h.ca(this.D,["enabled"],this.Fp);this.oi=this.gh=this.GB=this.xp=this.zM=this.ri=null;this.UW();this.xe=this.Pc=null};d.prototype.Fp=function(){this.D.get("enabled")?this.aB():this.kp()};d.prototype.aB=function(){this.W||(this.W=!0,this.iFa(),this.sia(this.D),document.addEventListener("keyup",this.XB),h.fa(this.D,l,this.AU,!0),h.fa(this.D,
q,this.HU,!0),h.fa(this.D,p,this.rU,!0),h.fa(this.D,n,this.cG,!0),h.fa(this.D,r,this.Vx,!0),h.fa(this.da,u,this.Nu,!0))};d.prototype.kp=function(){this.W&&(this.W=!1,this.vqa([]),this.Qia(this.D),this.oGa(),document.removeEventListener("keyup",this.XB),h.ca(this.D,l,this.AU),h.ca(this.D,q,this.HU),h.ca(this.D,p,this.rU),h.ca(this.D,n,this.cG),h.ca(this.D,r,this.Vx),h.ca(this.da,u,this.Nu),this.fN(null))};d.prototype.Nu=function(){this.fN(this.da&&this.da.get("pointer"))};d.prototype.fN=function(t){this.Qd!==
t&&(this.Qd&&(this.Qd.unbind(m.pa,this.lna,this,!0),this.Qd.unbind(m.Zl,this.mna,this,!0)),this.Qd=t)&&(this.Qd.bind(m.pa,this.lna,this,!0),this.Qd.bind(m.Zl,this.mna,this,!0))};d.prototype.AU=function(){this.vqa(this.D.get("points"))};d.prototype.rU=function(){var t=this.D.get("mode");if(t!=this.Pc){switch(this.Pc){case "create":1>this.gh.length||this.oi&&2>this.gh.length?t="create":this.oNa(this.oi);break;case "edit":"create"==t?"single"===this.D.get("type")&&0<this.gh.length?t="edit":this.YQ():
this.fv(null);break;case "view":"create"===t&&("single"===this.D.get("type")&&0<this.gh.length?t="view":this.YQ());break;default:"create"==t&&("single"===this.D.get("type")&&0<this.gh.length&&this.a5(this.lu(-1))?t="edit":this.fv(this.lu(-1),!1))}this.Pc=t;this.D.set("mode",this.Pc);this.ssa()}};d.prototype.HU=function(){var t=this.D.get("type");t!==this.xe&&(this.xe=t,"single"===this.xe&&1<this.gh.length&&this.D.set("points",this.X_a.slice(0,1)))};d.prototype.cG=function(){this.hsa();this.TW()};
d.prototype.Vx=function(){var t=this.H4(this.Yg);t&&t.FI(this.D.get("area"))};d.prototype.XB=function(t){t.which==k.pea&&this.N.get("isKeyboardTarget")&&("create"==this.D.get("mode")?this.D.set("mode","edit"):"edit"==this.Pc&&this.fv(null))};d.prototype.YQ=function(){this.VCa();this.fv(this.lu(-1),!1)};d.prototype.VCa=function(){var t=this.N.get("application").Xm("MeasureModel3DObjectPoint");if(!f.mb()){var v=this.lu(-1);v&&this.a5(v)&&(t.set("x",v.get("x")),t.set("y",v.get("y")),t.set("z",v.get("z")))}this.D.set("points",
this.gh.concat([t]))};d.prototype.lu=function(t){var v=[this.D].concat(this.gh);return 0>t&&0<v.length-t?v[v.length+t]:0<=t&&t<v.length?v[t]:null};d.prototype.oNa=function(t){this.D.set("points",this.gh.filter(function(v){return v!=t}))};d.prototype.a5=function(t){return!!t&&this.ri.get(t).vY()};d.prototype.lna=function(t){if("create"==this.D.get("mode")){if(this.oi){var v=this.oi;this.fv(null);this.oDa(v,t)}"single"==this.xe&&0<this.gh.length?this.D.set("mode","edit"):this.YQ()}else"edit"==this.D.get("mode")&&
this.fv(null)};d.prototype.mna=function(){"create"==this.D.get("mode")&&f.mb()&&this.D.set("mode","edit")};d.prototype.Dna=function(){"create"==this.D.get("mode")&&this.D.set("mode","edit")};d.prototype.Cna=function(t){if("create"==this.D.get("mode")){var v=this.lu(-2);t=this.zM.get(t.source);v==t?this.D.set("mode","edit"):(v=this.oi,this.fv(null),v.set("x",t.get("x")),v.set("y",t.get("y")),v.set("z",t.get("z")),v=this.lu(0),t==v?this.D.set("mode","edit"):this.YQ())}};d.prototype.Ena=function(t){"edit"==
this.D.get("mode")&&this.fv(this.zM.get(t.source),!0)};d.prototype.Fna=function(){"edit"==this.D.get("mode")&&this.fv(null)};d.prototype.Gna=function(){this.TW()};d.prototype.TW=function(){for(var t=[],v=this.lu(0),w=this.R4(),x=0;x<w.length;x++){var y=w[x];v=this.ri.get(v);var A=this.ri.get(y);A=v.distanceTo(A);(v=this.H4(this.xp[x]))&&v.FI(A);t.push(A);v=y}t=t.reduce(function(B,z){return B+z},0);(v=this.H4(this.ri.get(w[w.length-1])))&&v.FI(t);this.D.set("distance",isNaN(t)?void 0:t)};d.prototype.oDa=
function(t,v){if(v=v&&v.data.position)v=this.da.worldPositionToLocal(v,this.da.getMatrixWorld()),this.ri.get(t).Aya(v.x,v.y,v.z)};d.prototype.fv=function(t,v){v||(v=!1);if(this.oi!==t){if(this.oi){var w=this.ri.get(this.oi);w.Dya(!1);w.uya(!1)}if(this.oi=t)w=this.ri.get(this.oi),w.Dya(v),w.uya(v||!f.mb());this.isa();this.ssa();this.UW()}};d.prototype.vqa=function(t){this.gh!=t&&(this.gh.forEach(function(v){-1==t.indexOf(v)&&this.Qia(v)}.bind(this)),this.gh=t,this.oi&&this.gh.indexOf(this.oi)&&(this.oi=
null),this.UW(),this.gh.forEach(function(v){this.sia(v)}.bind(this)),this.isa(),this.hsa(),this.$Qa(),this.TW())};d.prototype.R4=function(){return this.gh.filter(function(t){return this.a5(t)||this.ri.get(t).Lw}.bind(this))};d.prototype.isa=function(){for(;this.gh.length<this.xp.length;)this.rGa();for(;this.gh.length>this.xp.length;)this.OFa();for(var t=!0,v=0;v<this.gh.length;v++){var w=this.lu(v),x=this.lu(v+1);w==this.oi&&(t=!1);var y=t?x:w;this.xp[v].HZ(this.ri.get(t?w:x),this.ri.get(y))}};d.prototype.hsa=
function(){this.UQa();var t=this.R4(),v=1==t.length;this.D.get("displayPartialDistanceLabel")&&!v&&this.xp.forEach(function(w){var x=this.ET(w);x.Nya(w);x.setStyle(g.NBa)}.bind(this));this.D.get("displayDistanceLabel")&&(v?(t=this.ET(this.xp[0]),t.Nya(this.xp[0]),t.setStyle(g.zfa)):1<t.length&&(v=this.ri.get(t[t.length-1]),t=this.ET(v),t.wYa(v),t.setStyle(g.zfa)));this.D.get("displayAreaLabel")&&this.Yg&&(t=this.ET(this.Yg),t.oXa(this.Yg),t.setStyle(g.MBa));this.tGa();this.TW();this.Vx()};d.prototype.ssa=
function(){var t=!this.oi&&"view"!=this.Pc;this.ri.forEach(function(v){v.DYa(t)})};d.prototype.$Qa=function(){this.Yg&&this.Yg.HZ([this.D].concat(this.R4()).map(function(t){return this.ri.get(t)}.bind(this)))};d.prototype.sia=function(t){var v=this.ri.get(t);v||(v=new c(this.D,this.da,this.Ha,t),this.ri.set(t,v),this.zM.set(v,t),v.bind(m.Zl,this.Dna,this,!0),v.bind(m.pa,this.Cna,this,!0),v.bind(m.vb,this.Ena,this,!0),v.bind(m.Zb,this.Fna,this,!0),v.bind(m.qt,this.Gna,this,!1))};d.prototype.Qia=function(t){var v=
this.ri.get(t);v&&(v.unbind(m.qt,this.Gna,this,!1),v.unbind(m.Zl,this.Dna,this,!0),v.unbind(m.pa,this.Cna,this,!0),v.unbind(m.vb,this.Ena,this,!0),v.unbind(m.Zb,this.Fna,this,!0),v.dispose(),this.ri["delete"](t),this.zM["delete"](v))};d.prototype.OFa=function(){var t=new e(this.D,this.Ha);this.xp.push(t)};d.prototype.rGa=function(){0!=this.xp.length&&this.xp.pop().dispose()};d.prototype.NFa=function(){var t=new g(this.da,this.D,this.Ha);this.GB.push(t);return t};d.prototype.UQa=function(){this.rG.clear()};
d.prototype.ET=function(t){var v=this.GB.length>this.rG.size?this.GB[this.rG.size]:this.NFa();this.rG.set(t,v);return v};d.prototype.H4=function(t){return this.rG.get(t)};d.prototype.tGa=function(){for(;this.GB.length>this.rG.size;)this.qGa()};d.prototype.qGa=function(){0!=this.GB.length&&this.GB.pop().dispose()};d.prototype.iFa=function(){this.Yg||(this.Yg=new b(this.D,this.Ha))};d.prototype.oGa=function(){this.Yg&&(this.Yg.dispose(),this.Yg=null)};d.prototype.UW=function(){this.D.set("draggingPoint",
!!this.oi)};var l=["points"],p=["mode"],q=["type"],n=["displayAreaLabel","displayDistanceLabel","displayPartialDistanceLabel"],r=["area"],u=["pointer"];return d});
define("eG",["require","exports","fx","nd","dQ"],function(a,d,h,m,k){a=function(b){function g(e,c,f,l){e=b.call(this,e,c,f,l)||this;e.Of=f;e.aa.H(h.mw);e.aa.H(h.VI).object=e.object;e.pd();return e}Z(g,b);g.prototype.pd=function(){};g.prototype.qd=function(){};g.prototype.dispose=function(){this.qd();b.prototype.dispose.call(this)};return g}(m);a=k.jd(a);a=k.Sfa(a);a=k.TI(a);a=k.K0(a);a=k.jb(a);a=k.EBa(a);return a=k.sfa(a)});
define("cC",["require","exports","ku","dQ"],function(a,d,h,m){a=function(){function k(b,g,e,c){this.object=b;this.model=g;this.Of=e;this.renderer=c;this.Wh=this.Wh.bind(this);this.enabled=!1;this.aa=null;h.fa(this.object,["enabled"],this.Wh,!0)}k.prototype.pd=function(){};k.prototype.qd=function(){};k.prototype.dispose=function(){this.disable();h.ca(this.object,["enabled"],this.Wh)};k.prototype.Wh=function(){this.object.get("enabled")?this.enable():this.disable()};k.prototype.enable=function(){this.enabled||
(this.enabled=!0,this.aa=this.Of.S.dd("ImagePlane"),this.pd())};k.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.qd(),this.aa.S.Ve(this.aa),this.aa=null)};return k}();a=m.jd(a);a=m.TI(a);a=m.Yl(a);a=m.jb(a);return a=m.Plane(a)});
define("cD",["require","exports","ku","fx","dQ"],function(a,d,h,m,k){var b=["objectId"];a=function(){function g(e,c,f,l){this.object=e;this.model=c;this.Of=f;this.renderer=l;this.aa=this.Of.S.dd("InnerObject");this.Ju=this.Ju.bind(this);h.fa(this.object,b,this.Ju,!0);this.pd()}g.prototype.pd=function(){};g.prototype.qd=function(){};g.prototype.Ju=function(){var e=this.aa.K(m.mE,!0);e.id=this.object.get("objectId");e.container=this.Of};g.prototype.dispose=function(){this.qd();h.ca(this.object,b,this.Ju);
this.Of.S.Ve(this.aa);this.aa=null};return g}();a=k.jd(a);a=k.TI(a);a=k.K0(a);return a=k.Sfa(a)});
define("nf","require exports ku fx dQ three.mod".split(" "),function(a,d,h,m,k,b){var g=["x","y","z"],e=["targetX","targetY","targetZ"];a=function(){function c(f,l,p,q){this.object=f;this.model=l;this.Of=p;this.renderer=q;this.Wh=this.Wh.bind(this);this.gZ=this.gZ.bind(this);this.kZ=this.kZ.bind(this);this.enabled=!1;this.aa=null;h.fa(this.object,["enabled"],this.Wh,!0)}c.prototype.pd=function(){};c.prototype.qd=function(){};c.prototype.dispose=function(){this.disable();h.ca(this.object,["enabled"],
this.Wh)};c.prototype.Wh=function(){this.object.get("enabled")?this.enable():this.disable()};c.prototype.enable=function(){this.enabled||(this.enabled=!0,this.aa=this.Of.S.dd("Line"),this.aa.H(m.ya),this.aa.H(m.Line),this.aa.H(m.Vq).position=new b.Vector3,h.fa(this.object,g,this.gZ,!0),h.fa(this.object,e,this.kZ,!0),this.pd())};c.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.qd(),h.ca(this.object,g,this.gZ),h.ca(this.object,e,this.kZ),this.aa.S.Ve(this.aa),this.aa=null)};c.prototype.gZ=
function(){var f=this.aa.K(m.ya);f.translationX=this.object.get("x",0);f.translationY=this.object.get("y",0);f.Ye=this.object.get("z",0)};c.prototype.kZ=function(){var f=this.aa.K(m.Vq);f.position.x=this.object.get("targetX");f.position.y=this.object.get("targetY");f.position.z=this.object.get("targetZ")};return c}();a=k.jd(a);a=k.Xg(a);return a=k.jb(a)});
define("fd",["require","exports","ku","fx","dQ"],function(a,d,h,m,k){var b=["radius","maxRadius","minRadius"];a=function(){function g(e,c,f,l){this.object=e;this.model=c;this.Of=f;this.renderer=l;this.Wh=this.Wh.bind(this);this.jZ=this.jZ.bind(this);this.enabled=!1;this.aa=null;h.fa(this.object,["enabled"],this.Wh,!0)}g.prototype.pd=function(){};g.prototype.qd=function(){};g.prototype.dispose=function(){this.disable();h.ca(this.object,["enabled"],this.Wh)};g.prototype.Wh=function(){this.object.get("enabled")?
this.enable():this.disable()};g.prototype.enable=function(){this.enabled||(this.enabled=!0,this.aa=this.Of.S.dd("Sphere"),this.aa.H(m.Sphere),this.aa.H(m.cj),h.fa(this.object,b,this.jZ,!0),this.pd())};g.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.qd(),h.ca(this.object,b,this.jZ),this.aa.S.Ve(this.aa),this.aa=null)};g.prototype.jZ=function(){var e=this.aa.K(m.cj);e.Bf=e.Qf=e.mh=1;e.scale=this.object.get("radius");e.kz=this.object.get("maxRadius");e.lz=this.object.get("minRadius")};
return g}();a=k.jd(a);a=k.TI(a);a=k.Dc(a);a=k.jb(a);return a=k.sfa(a)});
define("km",["require","ku","ox","hi","fx"],function(a){function d(f,l,p,q){this.D=f;this.da=l;this.Ha=p;this.j=q;this.N=this.j.N;this.Fp=this.Fp.bind(this);this.Hu=this.Hu.bind(this);this.Em=this.Em.bind(this);this.xf=this.xf.bind(this);this.z6=this.Ha.getComponent(b.Dg).vo;this.z6.bind(m.Z,this.Iu,this,!1);this.A6=this.Jla=!1;this.js=new k(this.N);this.js.setPosition(0);this.js.update();this.o=null;h.fa(this.D,["enabled"],this.Fp,!0)}var h=a("ku"),m=a("ox"),k=a("hi"),b=a("fx");d.prototype.Fp=function(){this.D.get("enabled")?
this.aB():this.kp()};d.prototype.aB=function(){if(!this.o){this.o=this.Ha.S.dd("Reticle");var f=this.o.H(b.jb);f.aa=this.Ha;f.id=this.D.get("parentId");this.o.H(b.Plane).renderOrder=2;this.o.H(b.Yh).source=this.js.lg();this.o.H(b.mw);f=this.o.H(b.VI);f.wZa=this.D;f.object=this.D;h.fa(this.da,c,this.Hu,!0);h.fa(this.D,g,this.Em,!0);h.fa(this.D,e,this.xf,!0)}};d.prototype.kp=function(){this.o&&(this.Ha.S.Ve(this.o),this.o=null,h.ca(this.da,c,this.Hu),h.ca(this.D,g,this.Em),h.ca(this.D,e,this.xf))};
d.prototype.Hu=function(){var f=this.o.K(b.cj,!0);f.Bf=f.Qf=2;f.scale=this.da.get("surfaceReticleRadius");f.kz=this.da.get("surfaceReticleMaxRadius");f.lz=this.da.get("surfaceReticleMinRadius");this.osa()};d.prototype.Em=function(){var f=this.o.K(b.ht,!0);f.x=this.D.get("x");f.y=this.D.get("y");f.z=this.D.get("z");f.distance=this.D.get("distance");f.dP=this.D.get("horizontal")};d.prototype.xf=function(){var f=this.o.K(b.jd,!0);f.Fo=this.D.get("useHandCursor");f.eQ=this.D.get("transparentAreaActive");
f.Ea=this.D;f=this.o.K(b.Yh);f.opacity=this.D.get("opacity");f.hidden=this.D.get("hidden");f.depthTest=this.D.get("depthTest")};d.prototype.Iu=function(){this.Jla=!0;this.osa()};d.prototype.osa=function(){var f=this.Jla&&.5<this.da.get("opacity");this.A6!=f&&(this.A6=f)&&this.o&&this.o.K(b.ht)};d.prototype.dispose=function(){this.kp();h.ca(this.D,["enabled"],this.Fp);this.z6.unbind(m.Z,this.Iu,this,!1);this.z6=null};var g=["distance","horizontal","x","y","z"],e=["depthTest","hidden","opacity","transparentAreaActive",
"useHandCursor"],c=["opacity","surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius","surfaceSelectionEnabled"];return d});
define("fW",["require","exports","ku","dQ"],function(a,d,h,m){a=function(){function k(b,g,e,c){this.object=b;this.model=g;this.Of=e;this.renderer=c;this.Wh=this.Wh.bind(this);this.enabled=!1;this.aa=null;h.fa(this.object,["enabled"],this.Wh,!0)}k.prototype.pd=function(){};k.prototype.qd=function(){};k.prototype.dispose=function(){this.disable();h.ca(this.object,["enabled"],this.Wh)};k.prototype.Wh=function(){this.object.get("enabled")?this.enable():this.disable()};k.prototype.enable=function(){this.enabled||
(this.enabled=!0,this.aa=this.Of.S.dd("VideoPlane"),this.pd())};k.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.qd(),this.aa.S.Ve(this.aa),this.aa=null)};return k}();a=m.jd(a);a=m.TI(a);a=m.vn(a);a=m.jb(a);return a=m.Plane(a)});
define("gH","require exports eq eG cC cD nf fd fG km fW".split(" "),function(a,d,h,m,k,b,g,e,c,f,l){c.pz("MeasureModel3DObject",h);c.pz("ChildModel3DObject",m);c.pz("ImagePlaneModel3DObject",k);c.pz("InnerModel3DObject",b);c.pz("LineModel3DObject",g);c.pz("SphereModel3DObject",e);c.pz("SurfaceReticleModel3DObject",f);c.pz("VideoPlaneModel3DObject",l);return c});
define("hA","require exports ku ox bm gf v li jm nq".split(" "),function(a,d,h,m,k,b,g,e,c,f){return function(l){function p(q,n,r,u,t){var v=l.call(this)||this;v.UY=[];v.gta=0;v.fta=0;v.PX=!1;v.fua=!1;v.renderer=q;v.Ws=n;v.model=r;v.Of=u;v.je=t;v.vq=v.vq.bind(v);v.GX=v.GX.bind(v);v.bba=e.zo(v.bba,v);v.VY=v.VY.bind(v);v.LY=v.LY.bind(v);v.KY=v.KY.bind(v);v.Ne=v.renderer.N;v.kg=v.renderer.getParent();v.enabled=!0;v.type=p.YI;v.Ob();return v}Z(p,l);p.prototype.getType=function(){return this.type};p.prototype.mc=
function(q){this.enabled=q};p.prototype.dispose=function(){this.eb()};p.prototype.Ob=function(){this.kg.bind(m.hc,this.vq,this,!0);this.kg.bind(m.pa,this.eta,this,!0);h.ZC(this.model,["camera.lockMouse"],this.GX,!0);h.ZC(this.model,["objects"],this.VY,!0);this.Lk=new c(this.kg.zc());this.Lk.bind(m.ta,this.Jwa,this,!0);document.addEventListener("keyup",this.LY);document.addEventListener("keydown",this.KY);this.Ss(p.YI)};p.prototype.eb=function(){this.kg.unbind(m.hc,this.vq,this);this.kg.unbind(m.pa,
this.eta,this);h.ca(this.model,["camera.lockMouse"],this.GX);h.ca(this.model,["objects"],this.VY);this.Qya([]);this.Lk.unbind(m.ta,this.Jwa,this);this.Lk.uo()&&this.Lk.unlock();this.Ne.YK.mc(!1);this.Lk.dispose();document.removeEventListener("keyup",this.LY);document.removeEventListener("keydown",this.KY)};p.prototype.GX=function(){this.jP=!g.mb()&&this.model.get("camera").get("lockMouse");!this.jP&&this.Lk.uo()&&this.Lk.unlock();this.Uza()};p.prototype.Uza=function(){this.Ne.YK.mc((!this.PX||!this.fua)&&
(g.mb()||!this.jP))};p.prototype.vq=function(){this.Lk.uo()||this.Ss(p.YI)};p.prototype.KY=function(q){-1!=p.gBa.indexOf(q.code)&&(this.type==p.YI&&this.Ss(p.i0),this.jP&&!this.Lk.uo()&&this.Lk.lock())};p.prototype.LY=function(q){q.code==k.qa.xfa&&this.kg.trigger(m.pa)};p.prototype.eta=function(){this.fta=(new Date).getTime();this.jP&&!this.Lk.uo()?this.Lk.lock():this.bba()};p.prototype.gTa=function(){this.jP&&this.Lk.uo()&&this.Lk.unlock()};p.prototype.Jwa=function(){this.Lk.uo()?this.Ss(p.i0):this.Ss(p.YI)};
p.prototype.VY=function(){this.Qya(this.model.get("objects",[]))};p.prototype.Qya=function(q){var n=this;this.UY.forEach(function(r){r.unbind(m.pa,n.Swa,n)});this.UY=q;this.UY.forEach(function(r){r.bind(m.pa,n.Swa,n,!0);f.Ka("MeasureModel3DObject",r)&&(r.bind(m.G("draggingPoint"),n.fca,n,!0),r.bind(m.G("mode"),n.fca,n,!0))});this.fca()};p.prototype.Swa=function(q){q.source.get("useHandCursor")&&(this.gta=(new Date).getTime())};p.prototype.fca=function(){var q=!1,n=!1;this.UY.forEach(function(u){f.Ka("MeasureModel3DObject",
u)&&(n=n||!!u.get("draggingPoint"),q=q||"edit"==u.get("mode")&&!!u.get("draggingPoint"))});this.fua=q;var r=this.model.get("camera");n!=this.PX&&(this.PX=n,setTimeout(function(){r.EXa(this.PX)}.bind(this),0));this.Uza()};p.prototype.bba=function(){100<Math.abs(this.fta-this.gta)&&this.gTa()};p.prototype.Ss=function(q){this.type!==q&&(this.type=q,this.trigger(m.ta))};p.YI="mouse";p.i0="gaze";p.gBa=[k.qa.Sj,k.qa.zi,k.qa.Oa,k.qa.hb,k.qa.mn,k.qa.bt,k.qa.yt,k.qa.ut,k.qa.E,k.qa.Q];return p}(b)});
define("lE",["require","exports"],function(){return function(){function a(d){this.vc=this.Ar(d.get("vrPointerColor"));this.dv=this.Ar(d.get("vrPointerSelectionColor"));this.qv=this.uk([0,0,0],0);this.iW=this.uk([0,0,0],.125);this.zGa=this.uk(this.vc,1);this.AGa=this.uk(this.dv,1);this.HEa=this.uk(this.dv,1);this.GEa=this.uk(this.vc,.5);this.EEa=this.uk(this.vc,1);this.FEa=this.uk(this.dv,1);this.wh=this.sf=64;this.A1=4E3;this.Ria=.1;this.Uk=.16;this.co=.04;this.Pha=this.ER=.68-this.co;this.DR=1-this.co;
this.O=document.createElement("canvas");this.O.width=this.sf;this.O.height=this.wh;this.xa=this.O.getContext("2d");this.Xc=this.Pt=!1;this.OF=this.MU=void 0;this.wA=0}a.prototype.Ar=function(d){return(d=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(d))?[parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16)]:[0,0,0]};a.prototype.uk=function(d,h){return"rgba("+d.join(",")+", "+h+")"};a.prototype.lda=function(d,h){this.Xc=d;this.MU=h};a.prototype.BZ=function(d){this.Pt=d};a.prototype.rd=function(){return this.sf};
a.prototype.ce=function(){return this.wh};a.prototype.lg=function(){return this.O};a.prototype.update=function(d){return this.Pt?this.DGa(d):this.Xc?this.IGa():this.HGa()};a.prototype.dispose=function(){this.xa=null;this.O.width=this.O.height=1};a.prototype.OE=function(){var d;null===(d=this.xa)||void 0===d?void 0:d.clearRect(0,0,this.sf,this.wh)};a.prototype.HGa=function(){if(this.OF==a.Eea)return!1;this.OE();this.Xia(this.zGa);this.OF=a.Eea;return!0};a.prototype.IGa=function(){if(void 0===this.MU){if(this.OF==
a.U)return!1;this.OE();this.Xia(this.AGa)}else this.mMa(this.MU);this.OF=a.U;return!0};a.prototype.DGa=function(d){for(this.wA+=d;this.wA>this.A1;)this.wA-=this.A1;this.BEa(this.wA/this.A1);this.OF=a.qQ;return!0};a.prototype.Xia=function(d){this.ij(this.Ria+this.co,0,this.qv,this.iW,0,2*Math.PI);this.ij(this.Ria,0,this.qv,d,0,2*Math.PI)};a.prototype.JGa=function(d){this.ij(this.ER-.5*(this.Uk+this.co),this.Uk+this.co,this.iW,this.qv,0,2*Math.PI);this.ij(this.ER-.5*this.Uk,this.Uk,this.GEa,this.qv,
0,2*Math.PI);this.ij(this.ER-.5*this.Uk,this.Uk,this.HEa,this.qv,.5*Math.PI,(.5+2*d)*Math.PI)};a.prototype.EGa=function(d,h){this.ij(this.Pha-.5*(this.Uk+this.co),this.Uk+this.co,this.iW,this.qv,0,2*Math.PI);this.ij(this.Pha-.5*this.Uk,this.Uk,this.EEa,this.qv,0,2*Math.PI);d=(.5+2*d)*Math.PI;for(h=(.5+2*h)*Math.PI;h<d;)h+=2*Math.PI;var m=d-this.co/(2*this.DR*Math.PI),k=h+this.co/(2*this.DR*Math.PI);Math.abs(k-m+2*Math.PI)<2*this.co&&(m=0,k=h);this.ij(this.DR-.5*(this.Uk+this.co),this.Uk+this.co,this.iW,
this.qv,m,k);this.ij(this.DR-.5*this.Uk,this.Uk,this.FEa,this.qv,d,h)};a.prototype.ij=function(d,h,m,k,b,g){var e=Math.round(.5*this.sf),c=Math.round(.5*this.wh),f=Math.min(e,c);d=Math.round(d*f);var l=this.xa;l&&(l.imageSmoothingEnabled=!0,l.lineWidth=h*f,l.strokeStyle=m,l.fillStyle=k,l.beginPath(),l.arc(e,c,d,b,g,!1),l.stroke(),l.fill())};a.prototype.BEa=function(d){this.OE();if(.25>d){var h=d/.25;d=.5*h}else.5>d?(h=(d-.25)/.25,d=.5+h,h=1+.5*h):.75>d?(h=(d-.5)/.25,d=.5+.5*h,h=.5+h):(d=h=(d-.75)/
.25,h=.5+.5*h);this.EGa(d,h)};a.prototype.mMa=function(d){this.OE();this.JGa(d)};a.Eea="initial";a.qQ="changing";a.U="over";return a}()});
define("eT","require exports three.mod ku ox lE jB fx bc bg".split(" "),function(a,d,h,m,k,b,g,e,c,f){var l=new h.Vector3(0,0,0),p=new h.Vector3(0,0,-1);a=function(){function n(r,u,t,v,w){this.renderer=r;this.Ws=u;this.model=t;this.Of=v;this.je=w;this.hQ=this.hQ.bind(this);this.Sv=this.Sv.bind(this);this.Cv=this.Cv.bind(this);this.Ne=this.renderer.N;this.kg=this.renderer.getParent();this.Ps=this.model.get("application").Xm("Model3DPointer");this.Ob()}n.prototype.mc=function(r){var u=this.je.K(e.$e);
u&&(u.enabled=r)};n.prototype.dispose=function(){this.eb()};n.prototype.Ob=function(){this.yI=new b(this.Ne);this.RTa=new q(this.kg,this.yI);this.Lv=new g;this.Lv.AXa(this.RTa);var r=this.je.H(e.$e);r.origin=l;r.direction=p;r.jba=this.kg;r.aba=this.Lv;r.Ea=this.Ps;this.Ne.set("toolTipCentered",!0);this.model.set("pointer",this.Ps);this.TYa();this.XYa();this.Lv.push(c.kA);f.requestFrame(this.hQ)};n.prototype.eb=function(){this.Lv.pop(c.kA);this.AZa();this.BZa();this.Ne.set("toolTipCentered",!1);this.Ne.set("toolTipCenteredOffsetY",
void 0);this.model.set("pointer",void 0);this.je.na(e.$e);this.Lv.dispose();f.XSa(this.hQ)};n.prototype.XYa=function(){this.Bo=this.Of.S.dd("GazeReticle");this.Bo.H(e.jb).aa=this.je;this.Bo.H(e.Plane).renderOrder=2;var r=this.Bo.H(e.Yh);r.source=this.yI.lg();r.depthTest=!1;this.Bo.H(e.ya).Ye=-1;this.renderer.bind(k.ic,this.Sv,this,!0);this.Sv();this.Jaa(this.je.getComponent(e.$e),this.Ps)};n.prototype.Jaa=function(r,u){u.set("originX",r.origin.x);u.set("originY",r.origin.y);u.set("originZ",r.origin.z);
u.set("directionX",r.direction.x);u.set("directionY",r.direction.y);u.set("directionZ",r.direction.z)};n.prototype.BZa=function(){this.Bo&&(this.Bo.S.Ve(this.Bo),this.Bo=null)};n.prototype.SZa=function(){if(this.Bo){var r=this.Bo.K(e.cj,!0);r.Bf=r.Qf=2;var u=Math.min(this.Ne.Wa(),this.Ne.xb())/100;r.lz=r.kz=Math.round(5*u);this.Ne.set("toolTipCenteredOffsetY",2*u)}};n.prototype.hQ=function(r){this.Bo&&this.yI.update(r)&&(this.Bo.K(e.Yh).$P=(new Date).getTime());f.requestFrame(this.hQ)};n.prototype.Sv=
function(){this.SZa()};n.prototype.TYa=function(){m.ZC(this.model,"camera",this.Cv,!0)};n.prototype.AZa=function(){m.ca(this.model,"camera",this.Cv);this.Cya(!0)};n.prototype.Cv=function(){this.Cya(!1)};n.prototype.Cya=function(r){var u=this.je.K(e.$z);u&&(u.OH=r);(u=this.je.K(e.aA))&&(u.OH=r);(u=this.je.K(e.gA))&&(u.OH=r)};return n}();var q=function(){function n(r,u){this.kg=r;this.yI=u}n.prototype.Yca=function(r,u){-1<u.indexOf(c.Ze)?this.yI.lda(!0):this.yI.lda(!1)};return n}();return a});
define("oe","require exports three.mod ku ox jB kL fx".split(" "),function(a,d,h,m,k,b,g,e){var c=new h.Vector3(0,0,0),f=Math.PI/180,l=new h.Vector3;return function(){function p(q,n,r,u,t){this.renderer=q;this.Ws=n;this.model=r;this.Of=u;this.je=t;this.WX=this.WX.bind(this);this.Sv=this.Sv.bind(this);this.vq=this.vq.bind(this);this.Ne=this.renderer.N;this.kg=this.renderer.getParent();this.Ps=this.model.get("application").Xm("Model3DPointer");this.enabled=!0;this.Ob()}p.prototype.mc=function(q){this.enabled=
q;var n=this.je.K(e.$e);n&&(n.enabled=q)};p.prototype.dispose=function(){this.eb()};p.prototype.Ob=function(){var q=this.je.H(e.$e);q.origin=c;q.direction=new h.Vector3;q.jba=this.kg;q.Ea=this.Ps;this.Lv=new b;this.Lv.Hq(this.kg);q.aba=this.Lv;q.enabled=this.enabled;m.fa(this.model,["camera.fov"],this.WX,!0);this.renderer.bind(k.ic,this.Sv,this,!0);this.kg.OSa(k.vb,this.vq,this);this.kg.bind(k.hc,this.vq,this,!0);this.model.set("picker",this);this.model.set("pointer",this.Ps)};p.prototype.eb=function(){m.ca(this.model,
["camera.fov"],this.WX);this.renderer.unbind(k.ic,this.Sv,this);this.kg.unbind(k.vb,this.vq,this);this.kg.unbind(k.hc,this.vq,this);this.je.na(e.$e);this.Lv.dispose();this.model.set("picker",void 0);this.model.set("pointer",void 0)};p.prototype.Sv=function(){this.Wda()};p.prototype.WX=function(){this.Wda()};p.prototype.vq=function(q){this.XVa=q.x;this.YVa=q.y;this.Wda()};p.prototype.Wda=function(){var q=this.je.K(e.$e);this.Tua(this.XVa,this.YVa,q.direction);this.Jaa(q,this.Ps)};p.prototype.Jaa=function(q,
n){n.set("originX",q.origin.x);n.set("originY",q.origin.y);n.set("originZ",q.origin.z);n.set("directionX",q.direction.x);n.set("directionY",q.direction.y);n.set("directionZ",q.direction.z)};p.prototype.Tua=function(q,n,r){var u;r=r||new h.Vector3;var t=(null===(u=this.model.get("camera"))||void 0===u?void 0:u.get("fov"))||90;u=this.Ne.Wa();var v=this.Ne.xb();void 0===q&&(q=u/2);void 0===n&&(n=v/2);r.set(q-u/2,v/2-n,-u/(2*Math.tan((u>v?t:g.Oq(t,u,v))*f/2))).normalize();return r};p.prototype.qZ=function(q,
n){var r=this.je.getComponent(e.$e);if(r&&r.Gxa)return r.Gxa.qZ([this.Of],c,this.Tua(q,n,l))};return p}()});
define("mm","require exports ku ox hA eT oe".split(" "),function(a,d,h,m,k,b,g){return function(){function e(c,f,l,p,q){this.renderer=c;this.Ws=f;this.model=l;this.Of=p;this.je=q;this.enabled=!0;this.Cv=this.Cv.bind(this);this.Ob()}e.prototype.mc=function(c){var f;this.enabled=c;null===(f=this.NH)||void 0===f?void 0:f.mc(this.enabled)};e.prototype.dispose=function(){this.eb()};e.prototype.Ob=function(){h.fa(this.model,"camera",this.Cv,!0)};e.prototype.eb=function(){h.ca(this.model,"camera",this.Cv);
this.Ss("none");this.yza()};e.prototype.Cv=function(){"FirstPersonModel3DCamera"==this.model.get("camera").get("class")?this.VYa():(this.yza(),this.Ss("mouse"))};e.prototype.VYa=function(){this.TH||(this.TH=new k(this.renderer,this.Ws,this.model,this.Of,this.je),this.TH.bind(m.ta,this.axa,this,!0),this.axa())};e.prototype.yza=function(){var c;this.TH&&(null===(c=this.TH)||void 0===c?void 0:c.dispose(),this.TH=void 0)};e.prototype.axa=function(){var c;switch(null===(c=this.TH)||void 0===c?void 0:c.getType()){case k.i0:this.Ss("gaze");
break;default:this.Ss("mouse")}};e.prototype.Ss=function(c){var f;if(this.type!==c){this.NH&&this.NH.dispose();this.type=c;switch(this.type){case "mouse":this.NH=new g(this.renderer,this.Ws,this.model,this.Of,this.je);break;case "gaze":this.NH=new b(this.renderer,this.Ws,this.model,this.Of,this.je);break;default:this.NH=void 0}null===(f=this.NH)||void 0===f?void 0:f.mc(this.enabled)}};return e}()});
define("kt",["require","ku","fx"],function(a){function d(b,g){this.rc=b;this.nd=g;this.W=!1;this.Re=this.Re.bind(this);h.fa(this.rc,k,this.Re,!0)}var h=a("ku"),m=a("fx");d.prototype.Re=function(){var b=this.rc.get("enabled")&&!this.rc.get("disabled");this.W!=b&&(this.W&&this.nd.na(m.XD),(this.W=b)&&this.nd.H(m.XD));this.W&&(b=this.nd.K(m.XD),b.eua=this.rc.get("easingDuration"),b.bias=this.rc.get("bias"),b.intensity=this.rc.get("intensity"),b.scale=this.rc.get("scale"),b.dwa=this.rc.get("kernelRadius"),
b.Cwa=this.rc.get("minResolution"),b.Paa=this.rc.get("blurRadius"),b.output="ao"==this.rc.get("output")?THREE.SAOPass.OUTPUT.SAO:THREE.SAOPass.OUTPUT.Default)};d.prototype.dispose=function(){this.nd.na(m.XD);this.nd=null;h.ca(this.rc,k,this.Re)};var k="disabled enabled bias easingDuration intensity scale kernelRadius minResolution blurRadius output".split(" ");return d});
define("D",["require","ku","fx"],function(a){function d(b,g){this.rc=b;this.nd=g;this.W=!1;this.Re=this.Re.bind(this);h.fa(this.rc,k,this.Re,!0)}var h=a("ku"),m=a("fx");d.prototype.Re=function(){var b=this.rc.get("enabled")&&!this.rc.get("disabled");this.W!=b&&(this.W&&this.nd.na(m.Ez),(this.W=b)&&this.nd.H(m.Ez));this.W&&(b=this.nd.K(m.Ez),b.yua="fxaa"==this.rc.get("mode"),b.qza="ssaa"==this.rc.get("mode"),b.aQ=this.rc.get("ssaaSampleLevel"))};d.prototype.dispose=function(){this.nd.na(m.Ez);this.nd=
null;h.ca(this.rc,k,this.Re)};var k=["disabled","enabled","mode","ssaaSampleLevel"];return d});
define("kC",["require","ku","fx"],function(a){function d(b,g){this.rc=b;this.nd=g;this.W=!1;this.Re=this.Re.bind(this);h.fa(this.rc,k,this.Re,!0)}var h=a("ku"),m=a("fx");d.prototype.Re=function(){var b=this.rc.get("enabled")&&!this.rc.get("disabled");this.W!=b&&(this.W&&this.nd.na(m.ZI),(this.W=b)&&this.nd.H(m.ZI));this.W&&(b=this.nd.K(m.ZI),b.iya=this.rc.get("samples"),b.intensity=this.rc.get("intensity"))};d.prototype.dispose=function(){this.nd.na(m.ZI);this.nd=null;h.ca(this.rc,k,this.Re)};var k=
["disabled","enabled","samples","intensity"];return d});
define("gF",["require","ku","fx"],function(a){function d(b,g){this.rc=b;this.nd=g;this.Re=this.Re.bind(this);h.fa(this.rc,k,this.Re,!0)}var h=a("ku"),m=a("fx");d.prototype.Re=function(){var b=this.rc.get("enabled")&&!this.rc.get("disabled");this.W!=b&&(this.W&&this.nd.na(m.rE),(this.W=b)&&this.nd.H(m.rE));this.W&&(b=this.nd.K(m.rE),b.Mva=this.rc.get("innerRadius"),b.Cxa=this.rc.get("outerRadius"),b.color=this.rc.get("color"),b.opacity=this.rc.get("opacity"))};d.prototype.dispose=function(){this.nd.na(m.rE);
this.nd=null;h.ca(this.rc,k,this.Re)};var k="enabled disabled opacity color innerRadius outerRadius".split(" ");return d});
define("l","require exports nz kt D kC gF nq".split(" "),function(a,d,h,m,k,b,g,e){return function(){function c(f,l){this.model=f;this.Vv=l;this.filter=this.filter.bind(this);this.ie=this.ie.bind(this);this.Ag=this.Ag.bind(this);this.AP=new h;this.AP.filter=this.filter;this.AP.ie=this.ie;this.AP.Ag=this.Ag;this.AP.$ya(this.model,"postprocessing")}c.prototype.filter=function(f){return e.Ka("AmbientOcclusionModel3DPostprocessing",f)||e.Ka("AntialiasModel3DPostprocessing",f)||e.Ka("MotionBlurModel3DPostprocessing",
f)||e.Ka("VignetteModel3DPostprocessing",f)};c.prototype.ie=function(f){return e.Ka("AmbientOcclusionModel3DPostprocessing",f)?new m(f,this.Vv):e.Ka("AntialiasModel3DPostprocessing",f)?new k(f,this.Vv):e.Ka("MotionBlurModel3DPostprocessing",f)?new b(f,this.Vv):e.Ka("VignetteModel3DPostprocessing",f)?new g(f,this.Vv):null};c.prototype.Ag=function(f,l){l.dispose()};c.prototype.dispose=function(){this.AP.dispose()};return c}()});
define("ny","require ox oQ fx ck eI jv gA is kV gH mm l".split(" "),function(a){function d(n,r,u){this.j=n;this.Vd=r;this.da=u;this.N=this.j.N;this.da.Kca();this.nd=this.Vd.dd("Scene");n=this.nd.H(m.Scene);n.hba=this.da.lY().AH(this.da.pY().Yy(.1));n.Ea=this.da;this.Ila=new g(this.da,this.da,this.nd,this.j);this.Ha=this.Ila.Es();n.je=this.Hi=this.Vd.dd("PerspectiveCamera");this.Hi.H(m.jb).aa=this.nd;this.Aha=new b(this.j,this.da,this.Hi);this.Hoa=new l(this.j,this.Vd,this.da,this.Ha,this.Hi);q.forEach(function(t){this.da.bind(h.G(t),
this.f7,this,!0)}.bind(this));this.HMa=new p(this.da,this.nd);this.Vd.kta(this.nd);this.NKa=new f(this.da,this.Ha,this.Hi);this.YPa=new c(this.da,this.Ha,this.j);this.pQa=new e(this.j,this.da);this.f7()}var h=a("ox");a("oQ");var m=a("fx"),k=a("ck"),b=a("eI"),g=a("jv"),e=a("gA"),c=a("is"),f=a("kV");a("gH");var l=a("mm"),p=a("l");d.prototype.KD=function(n){this.nd.K(m.Scene).locked=n};d.prototype.mc=function(n){this.nd.K(m.Scene).enabled=n;this.Hoa.mc(n);this.Aha.mc(n)};d.prototype.dispose=function(){q.forEach(function(n){this.da.unbind(h.G(n),
this.f7,this,!0)}.bind(this));this.da.unbind(h.G("camera"),this.fU,this,!0);this.Ila.dispose();this.Aha.dispose();this.Hoa.dispose();this.HMa.dispose();this.YPa.dispose();this.NKa.dispose();this.pQa.dispose();this.Vd.aXa(this.nd);this.Vd.Ve(this.nd);this.Vd.Ve(this.Hi)};d.prototype.wUa=function(){return this.Ha?k.dI(this.Ha):void 0};d.prototype.f7=function(){var n=this.nd.K(m.Scene);n.opacity=this.da.get("opacity");n.jua=this.da.get("environmentURL");n.Kaa=this.da.get("backgroundImageURL");n.wta=
this.da.get("backgroundPanoramaURL");n.backgroundColor=this.da.get("backgroundColor");n.outputEncoding=this.da.get("encoding");n=this.da.get("environmentIntensity");var r=this.da.get("anisotropicFilteringLevel");if(1!=n||0!=r){var u=this.nd.K(m.Uo,!0);u.envMapIntensity=n;u.uO=r}else this.nd.na(m.Uo)};var q="anisotropicFilteringLevel environmentURL backgroundImageURL backgroundPanoramaURL backgroundColor opacity encoding environmentIntensity".split(" ");return d});
define("ld","require li gg ny bc d nS".split(" "),function(a){var d=a("li"),h=a("gg"),m=a("ny"),k=a("bc"),b=a("d"),g=a("nS");a=d.extend(g,function(e,c,f){g.call(this);this.lc=e;this.N=c;this.tL=f;this.we("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",k.jt);this.set("layout",b.jQ);this.Vd=null;this.TF=[];this.LG=new Map});a.prototype.zb=function(){g.prototype.zb.call(this);null==this.Vd&&(this.Vd=new h(this.lc,!0),this.Vd.ja({left:0,top:0,right:0,bottom:0,cursor:k.jt,toolTipDisabled:!0}),
this.Vd.JYa(),this.Va(this.Vd),this.TF.forEach(this.Dqa.bind(this)))};a.prototype.YUa=function(e){return 0<=this.TF.indexOf(e)};a.prototype.jta=function(e){0<=this.TF.indexOf(e)||(this.TF.push(e),this.Vd&&this.Dqa(e))};a.prototype.Gca=function(e){var c=this.TF.indexOf(e);0>c||(this.TF.splice(c,1),this.Vd&&this.pra(e))};a.prototype.kda=function(e,c){(e=this.LG.get(e))&&e.KD(c)};a.prototype.Pya=function(e,c){(e=this.LG.get(e))&&e.mc(c)};a.prototype.TO=function(e){return(e=this.LG.get(e))?e.wUa():void 0};
a.prototype.FD=function(){return this.Vd&&this.Vd.FD()};a.prototype.Vaa=function(){return this.Vd&&this.Vd.Vaa()};a.prototype.Dqa=function(e){this.pra(e);this.LG.set(e,new m(this,this.Vd,e))};a.prototype.pra=function(e){var c=this.LG.get(e);c&&(this.LG["delete"](e),c.dispose())};return a});
define("bG","require li ox nq jz ip dR ld ea".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("nq"),k=a("jz"),b=a("ip"),g=a("dR"),e=a("ld"),c=a("ea");a=m.define("Model3DPlayer",b,function(){b.call(this,"model");this.lp=this.QT=this.Qh=!1;this.L=this.j=null;this.qb=this.Ed=0;this.$d=d.zo(this.Qg,this);this.a2=new k(this,"buttonToggleSprites",c.Rj);this.a2.bind(h.Pj,function(){this.set("spritesEnabled",!0)},this);this.a2.bind(h.am,function(){this.set("spritesEnabled",!1)},this);this.a2.set("pressed",
this.get("spritesEnabled"))});a.prototype.play=function(){this.bC()};a.prototype.pause=function(){this.aC()};a.prototype.stop=function(){this.hy()};a.prototype.restart=function(){this.by()};a.prototype.getModelPixelScale=function(){return this.uIa()};a.prototype.captureToDataURL=function(){return this.j&&this.j.Vaa()};a.prototype.saveScreenshot=function(){return this.j&&this.j.FD()};a.prototype.set=function(f,l){if(this.get(f)!=l){switch(f){case "model":this.QT=!0;this.set("requesterPlayer",null);
this.$d();break;case "viewerArea":this.Qh=!0;this.$d();break;case "displayPlaybackBar":this.lp=!0,this.$d()}b.prototype.set.call(this,f,l)}};a.prototype.get=function(f,l){switch(f){case "currentTime":return this.L&&this.L.getTime()||0}return b.prototype.get.call(this,f,l)};a.prototype.Qg=function(){this.Qh&&(this.Qh=!1,this.Yt(),this.get("viewerArea")&&this.Vt(),this.jN(this.get("viewerArea")),this.QT=!0);var f=!1;if(this.j&&(this.QT||this.uW)){var l=this.get("model");if(l&&!this.j.Ib()){this.$d();
return}this.QT=!1;this.qb=this.Ed=0;f=!0;l?(this.wI(this.get("requesterPlayer")?[this.get("requesterPlayer"),this]:[this]),this.L.kYa(l)):this.L.Wv()}this.lp&&(this.lp=!1,f=!0);f&&this.xv()};a.prototype.aH=function(){this.set("model",null)};a.prototype.Vt=function(){var f=this.get("application"),l=this.get("viewerArea");this.j=new e(f,l,this);this.j.ja({left:0,top:0,bottom:0,right:0});l.Va(this.j);this.L=new g(l,this.j);this.L.bind(g.Pz,this.ml,this);this.L.bind(g.Oz,this.Xx,this);this.L.bind(g.Q_,
this.pna,this,!0);this.L.bind(g.Cc,this.Qe,this);this.Dy(!0)};a.prototype.Yt=function(){this.j&&(this.L.unbind(g.Pz,this.ml,this),this.L.unbind(g.Oz,this.Xx,this),this.L.unbind(g.Q_,this.pna,this,!0),this.L.unbind(g.Cc,this.Qe,this),this.L.clear(),this.j.getParent().removeChild(this.j),this.j=null,this.Dy(!1))};a.prototype.Qe=function(f){this.yc(f.data.state)};a.prototype.ml=function(f){var l=this.get("viewerArea");this.Pd=l&&l.Pd;this.qL(f.data.model);this.xv()};a.prototype.Xx=function(f){this.Pd=
null;this.pL(f.data.model)};a.prototype.pna=function(f){this.Ed=f.data.time;this.qb=f.data.duration;this.xv()};a.prototype.xM=function(f){this.xC(f.data.position)};a.prototype.mk=function(){this.L&&this.L.play()};a.prototype.ho=function(){this.L&&this.L.stop()};a.prototype.Op=function(){this.L&&this.L.pause()};a.prototype.xC=function(f){this.L&&this.L.setTime(f)};a.prototype.uIa=function(){return this.L&&this.L.TO()};a.prototype.xv=function(){if(this.j){var f=this.j.getParent();0<this.qb&&this.get("displayPlaybackBar")?
f.ja({playbackBarPosition:this.Ed,playbackBarDuration:this.qb,playbackBarVisible:!0}):f.set("playbackBarVisible",!1)}};return a});
define("oN","require ox kK nq cX id".split(" "),function(a){var d=a("ox"),h=a("kK"),m=a("nq"),k=a("cX"),b=a("id");a=m.define("Model3DPlayListItem",b,function(){b.call(this)});a.prototype.start=function(){b.prototype.start.call(this);var g=this.get("player");g&&(g.bind(k.Wg,this.ml,this),g.get("model")==this.get("media")&&this.get("media").get("isLoaded")?this.ml():g.set("model",this.get("media")))};a.prototype.stop=function(){var g=this.get("player");g&&(g.unbind(k.Wg,this.ml,this),g.get("model")==
this.get("media")&&g.set("model",null));b.prototype.stop.call(this)};a.prototype.ml=function(g){g&&g.data.media!=this.get("media")||(this.get("player").unbind(k.Wg,this.ml,this),this.get("player").bind(k.Xl,this.Xx,this),this.mSa())};a.prototype.mSa=function(){var g=this.get("media").get("camera").get("sequences",[]).find(function(e){return e.get("internal")&&e.get("state")==h.X});g?g.bind(d.sb,this.doa,this,!0):this.Vy()};a.prototype.doa=function(g){g.source.unbind(d.sb,this.doa,this,!0);this.Vy()};
a.prototype.Xx=function(g){g.data.media==this.get("media")&&(this.get("player").unbind(k.Xl,this.Xx,this),this.stop(),this.end())};return a});define("oX",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("Model3DPointer",d,function(){d.call(this)})});
define("jI",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("Model3DResource",d,function(){d.call(this)});a.prototype.get=function(h,m){switch(h){case "levels":m=[this];break;case "url":for(var k=d.prototype.get.call(this,h),b=this.get("levels"),g=0;b&&g<b.length&&void 0===k;g++){var e=b[g];e!=this&&(k=e.get(h))}return void 0!==k?k:m}return d.prototype.get.call(this,h,m)};return a});define("ir",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("Menu",d,function(){d.call(this)})});
define("p",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("MenuItem",d,function(){d.call(this)})});define("dE",["require","nq","fc"],function(a){var d=a("nq"),h=a("fc");return d.define("MotionBlurModel3DPostprocessing",h,function(){h.call(this)})});define("ks",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("MovementPhotoCamera",d,function(){d.call(this)})});
define("cB",["require"],function(){var a={Kz:"drag_acceleration",ct:"drag_rotation"};a.Nea=a.Kz;a.Efa=a.ct;return a});define("oK",["require","li","cw"],function(a){var d=a("li"),h=a("cw");return d.extend(h,function(m){h.call(this,m);this.rI=this.MI=this.Pv=this.iw=0})});define("nl",["require","li","cw"],function(a){var d=a("li"),h=a("cw");return d.extend(h,function(m){h.call(this,m);this.Lba=this.gVa=0})});
define("fk","require li ed ox cw gf cB oK nl".split(" "),function(a){function d(q,n){return q*n}function h(q,n){var r=0<n?1:-1;return r*(Math.pow(q,r*n)-1)/(q-1)}function m(q,n){return Math.min(Math.max(q/n,-1),1)}var k=a("li");a("ed");var b=a("ox"),g=a("cw"),e=a("gf"),c=a("cB"),f=a("oK"),l=a("nl"),p=k.extend(e,function(){e.call(this);this.Ela=this.Fla=1800;this.JKa=this.tQa=0;this.RK=!1;this.$n=void 0;this.NB=c.Nea;this.Cra=c.Efa;this.gK=0;this.KV=void 0;this.Oh=!1;this.EE=null;this.oB=3;this.La=
90;this.I3=this.HC=this.Ac=1;this.Pd=this.ab=null;this.wM=!1});p.prototype.Iq=function(q){this.Fla=q.get("manualRotationSpeed");this.Ela=q.get("manualRotationSpeed");this.oB=q.get("manualZoomSpeed");this.I3=q.get("draggingFactor")};p.prototype.uz=function(q){this.NB=q;this.U$()};p.prototype.OD=function(q){this.Cra=q;this.U$()};p.prototype.JD=function(q){this.La=q;this.HC=this.La/90};p.prototype.Hq=function(q){this.Hl();if(q){this.ab=q;if(this.Pd=q.mUa&&q.Pd)this.Pd.bind(b.vb,this.Doa,this,!0),this.Pd.bind(b.Zb,
this.Eoa,this,!0);this.ab.bind(b.vb,this.Nd,this,!0);this.ab.bind(b.hc,this.qj,this,!0);this.ab.bind(b.Zb,this.rj,this,!0);this.ab.bind(b.Xq,this.OB,this,!0);!1!==this.ab.Ib().get("settings").get(TDV.PlayerSettings.yBa)&&this.ab.bind(b.fE,this.kB,this,!0);this.ab.bind(b.tw,this.Bja,this,!0);this.ab.bind(b.eE,this.yja,this,!0);this.U$()}};p.prototype.Hl=function(){null!=this.ab&&(this.Pd&&(this.Pd.unbind(b.vb,this.Doa,this),this.Pd.unbind(b.Zb,this.Eoa,this),this.Pd=null),this.ab.unbind(b.vb,this.Nd,
this),this.ab.unbind(b.hc,this.qj,this),this.ab.unbind(b.Zb,this.rj,this),this.ab.unbind(b.Xq,this.OB,this),this.ab.unbind(b.fE,this.kB,this),this.ab.unbind(b.tw,this.Bja,this),this.ab.unbind(b.eE,this.yja,this),this.ab=null,this.oS())};p.prototype.U$=function(){this.ab&&(this.ab.Jn?(this.KV=this.Cra,this.gK=this.tQa):(this.KV=this.NB,this.gK=this.JKa))};p.prototype.Doa=function(){this.wM=!0};p.prototype.Eoa=function(){this.wM=!1};p.prototype.Nd=function(q){this.wM||(this.JPa(q),this.H9())};p.prototype.qj=
function(q){this.wM||this.mH(q)};p.prototype.rj=function(){this.wM||(this.U3(),this.oS())};p.prototype.OB=function(q){this.daa(q);this.H9(500)};p.prototype.Bja=function(){this.H9()};p.prototype.kB=function(q){this.eaa(q)};p.prototype.yja=function(){this.oS()};p.prototype.JPa=function(q){this.RK=!0;this.$n=q;this.mH(q)};p.prototype.mH=function(q){if(this.RK)switch(this.KV){case c.Kz:this.URa(q);break;case c.ct:this.TRa(q)}};p.prototype.URa=function(q){var n=this.xsa,r=q.x-this.$n.x;r=+d(h(10,m(3>Math.abs(r)?
0:r,this.ab.Wa())),this.Fla*this.HC);q=q.y-this.$n.y;n.call(this,r,-d(h(10,m(3>Math.abs(q)?0:q,this.ab.xb())),this.Ela*this.HC))};p.prototype.TRa=function(q){this.T$(-d(m(q.x-this.$n.x,this.ab.Wa()),this.La*this.I3),+d(m(q.y-this.$n.y,this.ab.Wa()),this.La*this.I3));this.$n=q};p.prototype.U3=function(){if(this.RK)switch(this.RK=!1,this.KV){case c.Kz:this.xsa(0,0)}};p.prototype.xsa=function(q,n){var r=new f(p.ft);r.iw=q;r.Pv=n;this.trigger(r)};p.prototype.T$=function(q,n){var r=new f(p.ft);r.MI=q;
r.rI=n;this.trigger(r)};p.prototype.eaa=function(q){if(this.Ac!=q.scale){this.U3();var n=this.Ac;this.Ac=q.scale;q=new l(p.No);q.Lba=this.La*n/this.Ac-this.La;this.trigger(q)}};p.prototype.daa=function(q){if(0!=q.delta){this.U3();var n=new l(p.No);n.Lba=this.La*-q.delta*this.oB/100;this.trigger(n)}};p.prototype.H9=function(q){var n=null!=this.EE;this.bra();if(q&&(n||!this.Oh)){var r=this;this.EE=setTimeout(function(){r.EE=null;r.oS()},q)}this.Oh||(this.Oh=!0,this.trigger(new g(p.Ci)))};p.prototype.oS=
function(){this.bra();this.Oh&&(this.Oh=!1,this.trigger(new g(p.Bi)))};p.prototype.bra=function(){null!=this.EE&&(clearTimeout(this.EE),this.EE=null)};p.ft="rotation change";p.No="zoom change";p.Ci="user interaction start";p.Bi="user interaction end";return p});
define("dt",["require","v"],function(a){function d(){this.bH=m.mb()?.066:.1;this.MKa=.5;this.vPa=m.mb()?.066:.1;this.wSa=.1;this.sW=this.yW=!1;this.reset()}function h(k,b,g){k=(b-k)*(1-g);.01>Math.abs(k)&&(k=0);return b-k}var m=a("v");d.prototype.reset=function(){this.yia=this.Z2=this.WE=this.ix=this.XJ=this.d3=this.c3=this.h3=this.zF=this.oB=this.FV=this.HV=this.Rp=this.vM=this.ts=this.rO=0};d.prototype.rda=function(k,b,g,e,c,f,l,p,q){return this.rO!=k||(this.vM=b)||this.HV!=g||0!=e||0!=c||this.sW!=
l||this.Zla!=p||this.yW!=q?(this.rO=k,this.vM=b,this.HV=g,this.ts+=e,this.Rp+=c,this.FV+=f,this.sW=l,this.Zla=p,this.yW=q,!0):!1};d.prototype.dZa=function(k,b){return this.oB!=k||0!=b?(this.oB=k,this.zF+=b,!0):!1};d.prototype.We=function(){return 0!=this.h3||0!=this.c3||0!=this.d3||0!=this.XJ||0!=this.rO||0!=this.vM||0!=this.HV||0!=this.oB||0!=this.ts||0!=this.Rp||0!=this.zF};d.prototype.yb=function(k){k=1E3/k;var b=this.h3/k,g=this.rO/k+this.ts;this.ts=0;var e=this.c3/k,c=this.vM/k+this.Rp;this.Rp=
0;var f=this.d3/k,l=this.HV/k+this.FV;this.FV=0;var p=this.oB+this.zF*k;this.zF=0;var q=0==g&&0==c&&0==l,n=0==b&&0==e&&0==f;this.sW&&n&&!q||this.yW&&q&&!n||this.Zla&&!q&&!n?(q=q?this.bH:n?this.vPa:this.MKa,this.ix=h(b,g,q),this.WE=h(e,c,q),this.Z2=h(f,l,q)):(this.ix=g,this.WE=c,this.Z2=l);b=0==this.XJ;g=0==p;this.XJ=this.sW&&b&&!g||this.yW&&g&&!b?h(this.XJ,p,this.wSa):p;this.h3=this.ix*k;this.c3=this.WE*k;this.d3=this.Z2*k;this.yia=this.XJ/k};return d});
define("cW","require jquery.mod li e fk dt bg ox".split(" "),function(a){var d=a("jquery.mod"),h=a("li"),m=a("e"),k=a("fk"),b=a("dt"),g=a("bg"),e=a("ox");a=h.extend(m,function(){m.call(this);this.we("Renderer");this.O=d("<canvas></canvas>");this.O.css({position:"absolute",left:0,top:0});this.Ab().append(this.O);this.Fx=null;this.Da=this.DF=this.BF=this.CF=0;this.pk=!1;this.DMa=150;this.IK=0;this.um=null;this.bind(e.ic,this.ec,this,!0);this.kb=new k;this.kb.t0a(720);this.kb.IP(0);this.kb.uz("drag_rotation");
this.kb.JD(360);this.kb.bind(k.ft,this.QLa,this);this.bc=new b});a.prototype.SXa=function(c,f,l){this.Fx=c;this.CF=f;this.BF=l;this.DF=Math.floor(this.Fx.length*this.Da/360);this.L8();this.kb.Hq(this);this.Ma()};a.prototype.cTa=function(){this.Fx=null;this.yk();this.L8();this.kb.Hl()};a.prototype.play=function(){this.pk=!0;this.Ma()};a.prototype.QLa=function(c){this.yk();this.bc.rda(c.iw,c.Pv,0,c.MI,c.rI,0,!1,!0);this.Ma()};a.prototype.HL=function(){this.play()};a.prototype.tj=function(c){this.Fx&&
(this.bc.We()?(this.pk=!1,this.bc.yb(c),this.Pga(this.bc.ix),this.Ma()):this.pk?(this.Pga(this.DMa*c/1E3),this.Ma()):this.FF()||this.cq())};a.prototype.jn=function(c){for(this.Da=c;0>this.Da;)this.Da+=360;for(;360<=this.Da;)this.Da-=360;this.uRa()};a.prototype.uRa=function(){if(this.Fx){var c=Math.floor(this.Fx.length*this.Da/360);this.DF!=c&&(this.DF=c,this.fpa())}};a.prototype.Pga=function(c){this.jn(this.Da+c)};a.prototype.ec=function(){this.L8()};a.prototype.L8=function(){var c=this.O.get(0);
if(0==this.CF||0==this.BF)c.width=0,c.height=0;else{var f=this.kf(),l=this.jf();l*this.CF>f*this.BF?(c.width=f,c.height=this.BF*f/this.CF):(c.height=l,c.width=this.CF*l/this.BF);this.O.css({left:Math.round(.5*(f-c.width))+"px",top:Math.round(.5*(l-c.height))+"px"});this.fpa()}};a.prototype.fpa=function(){if(this.Fx){var c=this.O.get(0);c.getContext("2d").drawImage(this.Fx[this.DF],0,0,this.CF,this.BF,0,0,c.width,c.height)}};a.prototype.FF=function(){return this.um?!0:!1};a.prototype.cq=function(){this.yk();
if(0<this.IK){var c=this;this.um=setTimeout(function(){c.um=null;c.HL()},this.IK)}};a.prototype.yk=function(){this.um&&(clearTimeout(this.um),this.um=null)};a.prototype.Ma=function(){g.requestFrame(this.tj,this)};return a});
define("mg","require ox hP cw nq fX A cW nS kq".split(" "),function(a){var d=a("ox"),h=a("hP"),m=a("cw"),k=a("nq"),b=a("fX"),g=a("A"),e=a("cW"),c=a("nS"),f=a("kq");a=k.define("Object3D",c,function(){c.call(this);this.kd=this.zm=this.Lh=this.j=null;this.bind(d.hd,this.jk,this);this.bind(d.sd,this.ek,this)});a.prototype.zb=function(){c.prototype.zb.call(this);this.j||(this.j=new e,this.j.ja({left:0,top:0,right:0,bottom:0}),this.Va(this.j));this.Lh||(this.Lh=new g,this.Lh.ja({left:0,bottom:0,right:0,
height:20,visible:!1}),this.Va(this.Lh))};a.prototype.jk=function(){this.fL()};a.prototype.ek=function(){this.ho()};a.prototype.fL=function(){this.Lh.set("percent",0);this.Lh.set("visible",!0);this.j.jn(this.get("yaw"));var l=this.get("frames",[]);this.zm=[];this.kd=[];for(var p=0;p<l.length;p++){var q=b.zq(l[p]);this.zm.push(q);q=new f(h.Qk);q.bind(d.Z,this.QL,this);q.bind(d.Gc,this.RL,this);this.kd.push(q)}for(p=0;p<l.length;p++)this.kd[p].load(this.zm[p].get("url"))};a.prototype.QL=function(){var l=
this.kd.filter(function(p){return p.Kl()});this.Lh.set("percent",100*l.length/this.kd.length);l.length==this.kd.length&&this.ld()};a.prototype.RL=function(){};a.prototype.ld=function(){this.Lh.set("visible",!1);var l=this.zm[0].get("width",this.kd[0].rd()),p=this.zm[0].get("height",this.kd[0].ce()),q=this.kd.map(function(n){return n.lf()});this.j.SXa(q,l,p);this.trigger(new m(d.Z))};a.prototype.ho=function(){this.kd&&(this.Lh.set("visible",!1),this.j.cTa(),this.kd=this.kd.forEach(function(l){l.unbind(d.Z,
this.QL,this);l.unbind(d.Gc,this.RL,this);l.cancel()}),this.zm=this.kd=null)};return a});define("it",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("OrbitLight",d,function(){d.call(this)})});define("gC",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("RotationalCameraPosition",d,function(h,m,k){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("hfov",k)})});
define("mk",["require","gC","nq"],function(a){var d=a("gC");return a("nq").define("PanoramaCameraPosition",d,function(){d.apply(this,arguments)})});define("hj",["require","lJ","nq","mk","gC"],function(a){var d=a("lJ"),h=a("nq"),m=a("mk"),k=a("gC"),b=h.define("RotationalCamera",d,function(){d.call(this);this.set("initialPosition",new k)});return h.define("PanoramaCamera",b,function(){b.call(this);this.set("initialPosition",new m)})});
define("lY",["require","gC","nq"],function(a){var d=a("gC");return a("nq").define("RotationalCameraDisplayPosition",d,function(){d.apply(this,arguments)})});define("kI",["require","lY","nq"],function(a){var d=a("lY");return a("nq").define("PanoramaCameraDisplayPosition",d,function(){d.apply(this,arguments)})});define("eU",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PanoramaCameraMovement",d,function(){d.call(this)})});
define("eN",["require","lJ","cw","nq","ox"],function(a){var d=a("lJ"),h=a("cw"),m=a("nq"),k=a("ox");a=m.define("RotationalCameraSequence",d,function(){d.call(this)});a.prototype.play=a.prototype.play=function(){this.trigger(new h(k.Bw))};a.prototype.pause=a.prototype.pause=function(){this.trigger(new h(k.nE))};return a});define("bM",["require","nq","eN"],function(a){var d=a("nq"),h=a("eN");return d.define("PanoramaCameraSequence",h,function(){h.call(this)})});
define("iq",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PanoramaMapLocation",d,function(){d.call(this)})});define("bj",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PanoramaModel3DLocation",d,function(){d.call(this)})});define("oL",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PanoramaOverlay",d,function(){d.call(this)})});
define("mZ",["require","kK","hf","a"],function(a){function d(b){this.j=b;this.$o=[];this.b5=!1;this.gb=this.Da=0}var h=a("kK"),m=a("hf"),k=a("a");d.prototype.clear=function(){this.stop();this.$o=this.j=null};d.prototype.end=function(b){var g=[],e=[],c=this.mka(b);this.$o.forEach(function(f){0>c.indexOf(f)?g.push(f):e.push(f)});g.forEach(function(f){f.hD().Id(h.T)});this.$o=e;this.b5=!1};d.prototype.start=function(b){this.end(b);this.$o=this.mka(b);this.b5=0<this.$o.filter(function(g){return g instanceof
m}).length;this.Xra();this.VV(h.X,!0)};d.prototype.play=function(){this.VV(h.X)};d.prototype.pause=function(){this.VV(h.Db)};d.prototype.stop=function(){this.VV(h.T)};d.prototype.wd=function(){this.Da=this.j.Rc();this.gb=this.j.Lc();this.Xra()};d.prototype.Xra=function(){if(this.b5){var b=Math.PI/180,g=this.Da*b,e=this.gb*b,c=new k(Math.sin(g)*Math.cos(e),Math.sin(e),Math.cos(g)*Math.cos(e));this.$o.forEach(function(f){if(f instanceof m){var l=f.get("yaw",g)*b,p=f.get("pitch",e)*b,q=f.get("maximumAngle",
360)*b;l=new k(Math.sin(l)*Math.cos(p),Math.sin(p),Math.cos(l)*Math.cos(p));q=Math.min(1,Math.max(0,1-Math.acos(c.dD(l))/q));f.hD().cw(q)}}.bind(this))}};d.prototype.mka=function(b){return b?b.get("audios",[]):[]};d.prototype.VV=function(b,g){(g?this.$o.slice().reverse():this.$o).forEach(function(e){if(e.get("autoplay",!1)){e=e.hD();var c=e.getState();b==h.X&&c!=h.X?e.Id(h.X):b==h.Db&&c==h.X?e.Id(h.Db):b==h.T&&c!=h.T&&e.Id(h.T)}})};return d});
define("fj",["require"],function(){function a(c){c%=m;0>c&&(c+=m);return g[c*k|0]}function d(c){c%=m;0>c&&(c+=m);return b[c*k|0]}function h(){this.identity()}h.prototype.identity=function(){this.m11=1;this.m21=this.m13=this.m12=0;this.m22=1;this.m32=this.m31=this.m23=0;this.m33=1;this.tz=this.oh=this.nh=0};h.prototype.clone=function(){var c=new h;c.m11=this.m11;c.m12=this.m12;c.m13=this.m13;c.m21=this.m21;c.m22=this.m22;c.m23=this.m23;c.m31=this.m31;c.m32=this.m32;c.m33=this.m33;c.nh=this.nh;c.oh=
this.oh;c.tz=this.tz;return c};h.prototype.concat=function(c){var f=this.m11,l=this.m12,p=this.m13,q=this.m21,n=this.m22,r=this.m23,u=this.m31,t=this.m32,v=this.m33,w=this.nh,x=this.oh,y=this.tz;this.m11=f*c.m11+l*c.m21+p*c.m31;this.m12=f*c.m12+l*c.m22+p*c.m32;this.m13=f*c.m13+l*c.m23+p*c.m33;this.m21=q*c.m11+n*c.m21+r*c.m31;this.m22=q*c.m12+n*c.m22+r*c.m32;this.m23=q*c.m13+n*c.m23+r*c.m33;this.m31=u*c.m11+t*c.m21+v*c.m31;this.m32=u*c.m12+t*c.m22+v*c.m32;this.m33=u*c.m13+t*c.m23+v*c.m33;this.nh=w*
c.m11+x*c.m21+y*c.m31+c.nh;this.oh=w*c.m12+x*c.m22+y*c.m32+c.oh;this.tz=w*c.m13+x*c.m23+y*c.m33+c.tz};h.prototype.translate=function(c,f,l){this.nh+=c;this.oh+=f;this.tz+=l};h.prototype.scale=function(c,f,l){this.m11*=c;this.m12*=f;this.m13*=l;this.m21*=c;this.m22*=f;this.m23*=l;this.m31*=c;this.m32*=f;this.m33*=l;this.nh*=c;this.oh*=f;this.tz*=l};h.prototype.rotateX=function(c){var f=a(c);c=d(c);var l=this.m12*f+this.m13*c,p=this.m22*c-this.m23*f,q=this.m22*f+this.m23*c,n=this.m32*c-this.m33*f,r=
this.m32*f+this.m33*c,u=this.oh*c-this.tz*f,t=this.oh*f+this.tz*c;this.m12=this.m12*c-this.m13*f;this.m13=l;this.m22=p;this.m23=q;this.m32=n;this.m33=r;this.oh=u;this.tz=t};h.prototype.rotateY=function(c){var f=a(c);c=d(c);var l=-this.m11*f+this.m13*c,p=this.m21*c+this.m23*f,q=-this.m21*f+this.m23*c,n=this.m31*c+this.m33*f,r=-this.m31*f+this.m33*c,u=this.nh*c+this.tz*f,t=-this.nh*f+this.tz*c;this.m11=this.m11*c+this.m13*f;this.m13=l;this.m21=p;this.m23=q;this.m31=n;this.m33=r;this.nh=u;this.tz=t};
h.prototype.rotateZ=function(c){var f=a(c);c=d(c);var l=this.m11*f+this.m12*c,p=this.m21*c-this.m22*f,q=this.m21*f+this.m22*c,n=this.m31*c-this.m32*f,r=this.m31*f+this.m32*c,u=this.nh*c-this.oh*f,t=this.nh*f+this.oh*c;this.m11=this.m11*c-this.m12*f;this.m12=l;this.m21=p;this.m22=q;this.m31=n;this.m32=r;this.nh=u;this.oh=t};h.prototype.rotate=function(c,f,l){this.rotateX(c);this.rotateY(f);this.rotateZ(l)};h.prototype.invert=function(){var c=this.ZTa();if(0==c)return!1;var f=this.clone();this.m11=
(f.m22*f.m33-f.m23*f.m32)/c;this.m12=(f.m13*f.m32-f.m12*f.m33)/c;this.m13=(f.m12*f.m23-f.m13*f.m22)/c;this.m21=(f.m23*f.m31-f.m21*f.m33)/c;this.m22=(f.m11*f.m33-f.m13*f.m31)/c;this.m23=(f.m13*f.m21-f.m11*f.m23)/c;this.m31=(f.m21*f.m32-f.m22*f.m31)/c;this.m32=(f.m12*f.m31-f.m11*f.m32)/c;this.m33=(f.m11*f.m22-f.m12*f.m21)/c;this.nh=-(f.nh*this.m11+f.oh*this.m21+f.tz*this.m31);this.oh=-(f.nh*this.m12+f.oh*this.m22+f.tz*this.m32);this.tz=-(f.nh*this.m13+f.oh*this.m23+f.tz*this.m33);return!0};h.prototype.ZTa=
function(){return this.m11*(this.m22*this.m33-this.m23*this.m32)+this.m12*(this.m23*this.m31-this.m21*this.m33)+this.m13*(this.m21*this.m32-this.m22*this.m31)};h.prototype.EH=function(c){var f=c.x*this.m12+c.y*this.m22+c.z*this.m32+this.oh,l=c.x*this.m13+c.y*this.m23+c.z*this.m33+this.tz;c.x=c.x*this.m11+c.y*this.m21+c.z*this.m31+this.nh;c.y=f;c.z=l};for(var m=2*Math.PI,k=18E4/m,b=new Float32Array(180001),g=new Float32Array(180001),e=0;18E4>e;e++)b[e]=Math.cos(e/k),g[e]=Math.sin(e/k);b[18E4]=b[0];
g[18E4]=g[0];return h});define("dz",["require"],function(){return{Ys:0,Oa:1,hb:2}});
define("bY",["require","nq","lB"],function(a){var d=a("nq"),h=a("lB"),m={get:function(k){return k.wCa||(k.wCa=this.eHa(k))},eHa:function(k){if(d.Ka("CubicPanoramaFrame",k))return k.get("stereoCube")?m.Cw:k.get("cube")?m.lt:m.Rk;if(d.Ka("SphericPanoramaFrame",k)){var b=k.get("stereoSphere"),g=k.get("sphere"),e=k.get("hfov");k=k.get("vfov");var c=359.9<e&&179.9<k,f=!1;b&&(g?c&&h.SSa()?f=!0:!c&&h.RSa()&&(f=!0):f=!0);return f?(g=b.get("levels"),b=Math.max.apply(Math,g.map(function(l){return l.get("width")})),
g=Math.max.apply(Math,g.map(function(l){return l.get("height")})),2==Math.round(g/k/(b/e))?m.Wo:m.dr):m.Qo}},Cw:"stereoCube_12_1",lt:"monoCube_6_1",Rk:"monoCube_1_1",Qo:"monoSphere_1_1",Wo:"stereoSphere_1_2",dr:"stereoSphere_2_1"};return m});
define("nc","require nq lT dz my bY jr lB v hW md lX kq nT".split(" "),function(a){function d(I,P,U){return I.split(P).join(U).split(encodeURI(P)).join(U)}function h(I,P){return 0<=I.indexOf(P)||0<=I.indexOf(encodeURI(P))}function m(){var I=z.Mv()&&C.Vh("recent_ipad_use_max_res",!1);m=function(){return I};return I}function k(I){if(0==I.length)return 1;I.sort(function(P,U){return U.get("width")-P.get("width")});return I[0].get("width")/I[0].get("height")}function b(I,P){var U=1E4;m()||(z.Nf()?U=2048:
z.Mv()?U=1280:z.mb()&&(U=1024));switch(I){case A.lt:return[6*U,U];case A.Rk:return[U,U];case A.Cw:return[12*U,U]}switch(I){case A.Wo:P*=2;break;case A.dr:P*=.5}return 2<P?[4*U,4*U/P]:[2*U*P,2*U]}function g(I){if(m())return[void 0,void 0];switch(I){case A.lt:if(z.Nf()||z.mb())return[18432,1536];break;case A.Wo:if(z.Nf())return[5352,5352];if(z.mb())return[6086,6086];break;case A.Qo:if(z.Nf())return[7168,3584];if(z.mb()&&z.Mv())return[8192,4096]}return[void 0,void 0]}function e(I,P){var U=g(P);return I.filter(function(N){return v.Ka("TiledImageResourceLevel",
N)?!0:void 0!==U[0]&&N.get("width")>U[0]||void 0!==U[1]&&N.get("height")>U[1]?!1:!0})}function c(){return z.Mv()?[w.Bfa]:z.Zba()?z.cd()==z.Zs||z.cd()==z.Hz?[w.LQ,w.M0]:[w.M0,w.LQ]:z.Nf()?[w.LQ]:z.mb()?[w.KQ]:[]}function f(I){I.sort(function(P,U){return P.get("width")-U.get("width")});return I}function l(I,P){function U(N){return Math.abs(N.get("width")*N.get("height")-P[0]*P[1])}I.sort(function(N,V){return U(N)-U(V)});return I.length&&I[0]||null}function p(I,P,U){I=I.filter(function(N){return 0>N.get("tags").indexOf(P)});
return I.length?I:void 0!==U?U:[]}function q(I,P,U){I=I.filter(function(N){return 0<=N.get("tags").indexOf(P)});return I.length?I:void 0!==U?U:[]}function n(I,P,U){switch(U){case A.Cw:case A.lt:case A.Rk:return I;case A.Qo:case A.dr:return I*P.get("hfov",180)/90;case A.Wo:return I*P.get("hfov",180)*2/90}}function r(I,P){switch(P){case A.Cw:return I.get("stereoCube").get("levels");case A.lt:return I.get("cube").get("levels");case A.Rk:return I.get("front").get("levels");case A.Qo:return I.get("sphere").get("levels");
case A.Wo:case A.dr:return I.get("stereoSphere").get("levels")}}function u(I,P){var U=r(I,P),N=I.get("minFaceSize");if(N){var V=n(N,I,P);I=U.filter(function(Y){return Y.get("height")>=V});0<I.length&&(U=I)}return U}function t(I){for(var P=[],U=0;U<I.length;U++){var N=I[U];0>P.indexOf(N)&&P.push(N)}return P}var v=a("nq"),w=a("lT"),x=a("dz"),y=a("my"),A=a("bY"),B=a("jr");a("lB");var z=a("v");a("hW");var C=a("md"),G=a("lX"),D=a("kq"),E=a("nT"),H={Sua:function(I){I=I.get("frames");if(0==I.length)return 1;
var P=I[0];I=A.get(P)==A.Qo&&P.Ll()?(I=E.Ej(P.get("sphere")))?[I]:[]:A.get(P)!=A.Wo&&A.get(P)!=A.dr||!P.Ll()?H.xba(P,!1):(I=E.Ej(P.get("stereoSphere")))?[I]:[];return Math.max.apply(Math,I.map(function(U){return H.xUa(P,U)}).concat([1]))},xUa:function(I,P){P=H.tba(I,P,y.FRONT);P=P.get("width");var U=I.ez().get("hfov",360);switch(A.get(I)){case A.Cw:return P/1080;case A.lt:return P/540;case A.Rk:return P/90;case A.Qo:return P/U;case A.Wo:return P/U;case A.dr:return P/(2*U)}},Rba:function(I,P){I=H.Zm(I,
P);return 6>=I.length&&I.every(function(U){return D.TZ(U)})},zca:function(I,P){return H.Zm(I,P).every(function(U){return D.TZ(U)})},Zm:function(I,P,U){if(!I)return[];U||(U=!1);if(v.Ka("Panorama",I))return U=I.get("flipImageHorizontally",!1),t([].concat(Array.prototype.concat.apply([],I.get("frames").map(function(J){return H.Zm(J,P,U)})),Array.prototype.concat.apply([],I.get("overlays").map(function(J){return H.Zm(J,P,U)}))));if(v.Ka("PanoramaFrame",I)){var N=Array.prototype.concat.apply([],I.get("overlays").map(function(J){return H.Zm(J,
P,U)}));if(A.get(I)==A.Qo&&I.Ll())return H.Zm(E.Ej(I.get("sphere")),P).concat(N);if((A.get(I)==A.Wo||A.get(I)==A.dr)&&I.Ll())return H.Zm(E.Ej(I.get("stereoSphere")),P).concat(N);var V=H.xba(I,P)[0];U=I.get("flipImageHorizontally",!1);if(A.get(I)==A.Rk){var Y=[y.FRONT,y.Oa,y.BACK,y.hb,y.tc,y.oc];return Array.prototype.concat.apply([],Y.map(function(J){return(J=H.tba(I,V,J))?H.Zm(J,P,U):[]})).concat(N)}return H.Zm(V,P,U).concat(N)}if(v.Ka("Video360ResourceLevel",I))return(N=I.get("posterURL"))?[N]:
[];if(v.Ka("HotspotPanoramaOverlay",I))return I.get("projected")?Array.prototype.concat.apply([],I.get("items").map(function(J){return H.Zm(J,P,U)})):[];if(v.Ka("FlatHotspotPanoramaOverlayImage",I)||v.Ka("HotspotPanoramaOverlayImage",I))return N=I.get("image").get("levels"),V=N[0],H.Zm(V,P,U),Array.prototype.concat.apply([],N.map(function(J){return H.Zm(J,P,U)}));if(v.Ka("TiledImageResourceLevel",I)){var ca=[];N=Math.round(I.get("width")/I.get("height"));if(1==N)var F=A.Rk;else if(12==N)F=A.m_a;else if(6==
N)F=A.lt;else return[];var K=12==N?[x.hb,x.Oa]:[x.Ys];Y=[y.hb,y.Oa,y.tc,y.oc,y.FRONT,y.BACK];var O=I.get("colCount",N)/N,T=I.get("rowCount",1);K.forEach(function(J){Y.forEach(function(L){for(var X=0;X<T;X++)for(var aa=0;aa<O;aa++)ca.push(H.dva(I,F,J,L,U,T,X,aa))})});return ca}return v.Ka("ImageResourceLevel",I)?[I.get("url")]:[]},xba:function(I,P){var U=A.get(I),N=this.VHa(I);if(N)return P&&!this.$ka(N)&&(I=this.ska(I),I!=N)?[I,N]:[N];N=q(u(I,U),w.N0);if(0<N.length)return f(N);N=this.HIa(I);return P&&
!this.$ka(N)&&(I=this.ska(I),I!=N)?[I,N]:[N]},EVa:function(I){return 0<=I.get("tags").indexOf(w.N0)},tba:function(I,P,U){if(A.get(I)!=A.Rk)return P;switch(U){case y.FRONT:var N=I.get("front");break;case y.Oa:N=I.get("left");break;case y.BACK:N=I.get("back");break;case y.hb:N=I.get("right");break;case y.tc:N=I.get("top");break;case y.oc:N=I.get("bottom")}I=N&&N.get("levels")||[];if(0==I.length)return null;I=I.filter(function(V){return V.get("width")==P.get("width")&&V.get("height")==P.get("height")&&
V.get("grayscale",!1)==P.get("grayscale",!1)&&V.get("colCount",1)==P.get("colCount",1)&&V.get("rowCount",1)==P.get("rowCount",1)});return I[0]},dva:function(I,P,U,N,V,Y,ca,F){I=I.get("url");var K=0;h(I,"{eye}")?I=d(I,"{eye}",W[U]):K+=6*(V?Q:S)[U];h(I,"{face}")?I=d(I,"{face}",M[N]):P!=A.Rk&&(K+=R[N]);I=d(I,"{row}",ca);return I=d(I,"{column}",F+K*Y)},zUa:function(I,P){return H.xK(H.lB(I.get("image")),90,90,G.qh,P)},YTa:function(I,P){return H.xK(H.lB(I.get("image")),I.get("hfov"),I.get("vfov"),I.get("scaleMode"),
P)},lUa:function(I,P){return H.xK(H.lB(I.get("image")),I.get("hfov"),I.get("vfov"),I.get("scaleMode"),P)},LUa:function(I,P){return H.xK(H.lB(I.get("image")),I.get("hfov"),I.get("vfov"),I.get("scaleMode"),P)},Hua:function(I,P){return H.xK(H.lB(I.get("image")),I.get("hfov"),I.get("vfov"),I.get("scaleMode"),P)},lB:function(I){return I&&I.get("levels")||[]},xK:function(I,P,U,N,V){if(!I||!I.length)return null;I=p(I,w.gr,I);for(var Y=c(),ca=0;ca<Y.length;ca++)I=q(I,Y[ca],I);Y=1E4;m()||(z.Nf()?Y=2048:z.Mv()?
Y=1280:z.mb()&&(Y=1024));ca=f(I)[I.length-1];P=B.Bba(P,U,ca.get("width"),ca.get("height"),N,V);return l(I,[P.ze*Y/90,P.Pq*Y/90])},gUa:function(I){var P=H.lB(I.get("image"));if(!P||!P.length)return null;P=p(P,w.gr,P);for(var U=c(),N=0;N<U.length;N++)P=q(P,U[N],P);U=f(P)[P.length-1];I=B.gY(I.get("width"),I.get("height"),U.get("width"),U.get("height"),I.get("scaleMode"));return l(P,[I.width,I.height])},CUa:function(I){var P=H.lB(I.get("image"));if(!P||!P.length)return null;P=p(P,w.gr,P);for(var U=c(),
N=0;N<U.length;N++)P=q(P,U[N],P);U=1E4;m()||(z.Nf()?U=2048:z.Mv()?U=1280:z.mb()&&(U=1024));var V=N=20;(I=I.get("vertices"))&&4==I.length&&(N=I[0].get("yaw"),V=I[1].get("yaw"),V<N&&(V+=360),N=V-N,V=I[0].get("pitch"),I=I[3].get("pitch"),V-=I);return l(P,[N*U/90,V*U/90])},ska:function(I){var P=A.get(I);I=u(I,P);I=e(I,P);I=q(I,w.gr,I);P=c();for(var U=0;U<P.length;U++)I=q(I,P[U],I);return l(I,[0,0])},HIa:function(I){var P=A.get(I);I=u(I,P);I=e(I,P);I=p(I,w.gr,I);for(var U=c(),N=0;N<U.length;N++)I=q(I,
U[N],I);P=b(P,k(I));return l(I,P)},VHa:function(I){var P=c();if(0==P.length)return null;var U=A.get(I),N=u(I,U);N=e(N,U);N=p(N,w.gr,N);I=[];for(var V=0;V<P.length&&0==I.length;V++)I=q(N,P[V]);if(0==I.length)return null;P=b(U,k(I));return l(I,P)},$ka:function(I){return 0<=I.get("tags").indexOf(w.N0)?!1:z.cd()==z.Iz?!0:D.TZ(I.get("url"))}},R=function(){var I={};I[y.hb]=0;I[y.Oa]=1;I[y.tc]=2;I[y.oc]=3;I[y.FRONT]=4;I[y.BACK]=5;return I}(),S=function(){var I={};I[x.hb]=0;I[x.Oa]=1;I[x.Ys]=0;return I}(),
Q=function(){var I={};I[x.hb]=1;I[x.Oa]=0;I[x.Ys]=0;return I}(),M=function(){var I={};I[y.hb]="r";I[y.Oa]="l";I[y.tc]="u";I[y.oc]="d";I[y.FRONT]="f";I[y.BACK]="b";return I}(),W=function(){var I={};I[x.Oa]="l";I[x.hb]="r";I[x.Ys]="b";return I}();return H});
define("il","require ed ox kL fj a nc".split(" "),function(a){function d(q){this.j=q;this.va=!1;this.Pm=d.oA;this.i4=this.Pka=!1;this.yi(null);this.j.bind(m.ic,this.ec,this,!0);this.ec()}var h=a("ed"),m=a("ox"),k=a("kL"),b=a("fj"),g=a("a"),e=a("nc");d.prototype.vva=function(){return this.Pm!==d.oA};d.prototype.uva=function(){return this.Pm&d.sE?!0:!1};d.prototype.wva=function(){return this.Pm&d.tE?!0:!1};d.prototype.xva=function(){return this.Pm&d.sA?!0:!1};d.prototype.tva=function(){return this.Pm&
d.nA?!0:!1};d.prototype.EZ=function(q){this.Pka=q};d.prototype.Rc=function(){this.Um();return this.Da};d.prototype.Lc=function(){this.Um();return this.gb};d.prototype.Mf=function(){this.Um();return this.bd};d.prototype.Iv=function(){this.Um();return this.La};d.prototype.yi=function(q){q?(this.F7=q.get("hfov",360),this.UU=q.get("vfov",180),this.rM=q.get("pitch",0),this.cC=q.get("partial",!1),this.d5=q.Ava(),this.Z4=q.pva(),this.i5=Math.min(q.get("hfovMax",170),170),this.FK=q.get("hfovMin"),this.t6=
e.Sua(q)):(this.F7=360,this.UU=180,this.rM=0,this.Z4=this.d5=this.cC=!1,this.i5=120,this.t6=this.FK=1);this.Da=0;this.gb=this.rM;this.bd=0;this.va=!0};d.prototype.setPosition=function(q,n,r,u,t){this.Da=q;this.gb=n;this.bd=r;this.La=u;this.i4=t;this.va=!0};d.prototype.ec=function(){var q=this.j.Wa(),n=this.j.xb();if(this.ia!=q||this.ua!=n)this.ia=q,this.ua=n,this.va=!0};d.prototype.Um=function(){if(this.va){this.va=!1;var q=this.Da*l,n=this.gb*l,r=this.La*l,u=(this.i4?k.Oq(this.i5,this.ia,this.ua):
this.i5)*l;a:{var t=this.FK;if(h(t).isString()&&(t=t.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&2<=t.length){t=parseFloat(t[1]);break a}t=void 0}t=void 0!==t?2*Math.atan2(this.ia*this.j.getPixelRatio()*.5,45*this.t6*t/100):this.FK?(this.i4?k.Oq(this.FK,this.ia,this.ua):this.FK)*l:2*Math.atan2(this.ia*this.j.getPixelRatio()*.5,45*this.t6);t=Math.min(u,t);if(this.Pka){var v=360;var w=180;var x=0}else if(this.d5||this.Z4){v=this.Z4?90:this.rM+.5*this.UU;var y=this.d5?-90:this.rM-.5*this.UU;w=v-y;x=.5*(v+
y);v=this.F7}else v=this.F7,x=this.rM,w=this.UU;v*=l;w*=l;x*=l;for(y=this.ia/this.ua;q<-c;)q+=2*c;for(;q>c;)q-=2*c;r=Math.max(Math.min(r,u),t);u=d.oA;n>f?u|=d.sA:n<-f&&(u|=d.nA);n=Math.max(Math.min(n,.5*c),.5*-c);var A=2*Math.atan(Math.tan(.5*r)/y);if(A>=w)r=2*Math.atan(Math.tan(.5*w)*y),n=x,u=u|d.sA|d.nA;else{var B=Math.min(.5*w+x,.5*c);w=Math.max(.5*-w+x,.5*-c);x=!this.cC&&B>=.495*c?.5*c:B-.5*A;w=!this.cC&&w<=.495*-c?.5*-c:w+.5*A;n>x?(n=x,u|=d.sA):n<w&&(n=w,u|=d.nA)}this.cC&&(w=Math.tan(.5*r),y=
w/y,y=new g(-w,0<n?y:-y,1),w=new b,w.rotateX(-n),y.apply(w),y=2*y.Rc(),0>y&&(y+=2*c),w=.5*v-.5*y,A=.5*-v+.5*y,y>v?(q=0,r=Math.max(t,r*v/y),u=u|d.sE|d.tE):q>w?(q=w,u|=d.tE):q<A&&(q=A,u|=d.sE));this.Da=q*p;this.gb=n*p;this.La=r*p;this.Pm=u}};var c=Math.PI,f=.5*Math.PI,l=Math.PI/180,p=180/Math.PI;d.oA=0;d.sE=1;d.tE=2;d.sA=4;d.nA=8;return d});
define("bd",["require","li","ox","gf","oK"],function(a){var d=a("li"),h=a("ox"),m=a("gf"),k=a("oK"),b=d.extend(m,function(){m.call(this);this.RK=!1;this.$n=void 0;this.La=90;this.Z3=.1;this.Ca=this.ab=null});b.prototype.Iq=function(g){this.Ca&&this.Ca.unbind(h.G("hoverFactor"),this.A$,this);if(this.Ca=g)this.Ca.bind(h.G("hoverFactor"),this.A$,this),this.A$()};b.prototype.A$=function(){this.Z3=this.Ca.get("hoverFactor")};b.prototype.JD=function(g){this.La=g};b.prototype.Hq=function(g){this.Hl();g&&
(this.ab=g,this.$n=void 0,this.ab.bind(h.hc,this.qj,this,!0))};b.prototype.Hl=function(){null!=this.ab&&(this.ab.unbind(h.hc,this.qj,this),this.ab=null)};b.prototype.qj=function(g){this.mH(g)};b.prototype.mH=function(g){this.$n&&this.T$.call(this,+(Math.min(Math.max((g.x-this.$n.x)/this.ab.Wa(),-1),1)*this.La*this.Z3),-(Math.min(Math.max((g.y-this.$n.y)/this.ab.Wa(),-1),1)*this.La*this.Z3));this.$n=g};b.prototype.T$=function(g,e){if(0!=g||0!=e){var c=new k(b.ft);c.MI=g;c.rI=e;this.trigger(c)}};b.ft=
"rotation change";return b});
define("hc","require ed li cw gf dt bd".split(" "),function(a){a("ed");var d=a("li"),h=a("cw"),m=a("gf"),k=a("dt"),b=a("bd"),g=d.extend(m,function(e,c,f){m.call(this);this.j=e;this.xc=this.j.xc;this.ga=c;this.Ec=f;this.sy=this.WQ=this.W=!1;this.bc=new k;this.Vi=null;this.bd=this.gb=this.Da=0;this.La=90;this.kb=new b;this.kb.bind(b.ft,this.TL,this,!0)});g.prototype.clear=function(){this.kb.unbind(b.ft,this.TL,this,!0);this.kb.Hl();this.kb=null;this.OA();this.j=this.xc=this.Ec=this.ga=this.bc=null};
g.prototype.Iq=function(e){this.bc.reset();this.kb.Iq(e)};g.prototype.setPosition=function(e,c,f,l){if(this.Da!=e||this.gb!=c||this.bd!=f||this.La!=l)this.Da=e,this.gb=c,this.bd=f,this.La=l,this.kb.JD(this.La),this.c9(!1),this.wN()};g.prototype.We=function(){return this.WQ&&this.sy?!0:!1};g.prototype.yb=function(e){this.Qy=!1;this.bc.yb(e);this.sy=!1;e=this.Da+this.bc.ix;var c=this.gb+this.bc.WE;this.Ec.Co(this.La);this.ga.setPosition(e,c,this.bd,this.Ec.xg(),this.Ec.Gv());this.Da=this.ga.Rc();this.gb=
this.ga.Lc();this.bd=this.ga.Mf();this.La=this.ga.Iv()};g.prototype.yq=function(){return this.Da};g.prototype.xq=function(){return this.gb};g.prototype.cz=function(){return this.bd};g.prototype.kD=function(){return this.La};g.prototype.mc=function(e){this.W!=e&&((this.W=e)?this.wN():(this.OA(),this.c9(!1)))};g.prototype.TL=function(e){this.Ic(e.iw,e.Pv,0,0,e.MI,e.rI,0,0,!1,!1,!0,!0)};g.prototype.Ic=function(e,c,f,l,p,q,n,r,u,t,v,w){var x=this.bc.rda(e,c,f,p,q,n,t,v,w)||x;x&&this.Nh()};g.prototype.Nh=
function(){this.sy=!0;this.trigger(new h(g.ph))};g.prototype.wN=function(){this.OA();this.Vi=setTimeout(this.gM.bind(this),30)};g.prototype.OA=function(){this.Vi&&(clearTimeout(this.Vi),this.Vi=null)};g.prototype.gM=function(){this.c9(this.W)};g.prototype.c9=function(e){this.WQ!=e&&((this.WQ=e)?(this.bc.reset(),this.kb.Hq(this.j.getParent()),this.Nh()):this.kb.Hl())};g.ph="position change request";return g});
define("hu","require li ox cw gf v hB".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf");a("v");var b=a("hB");a=d.extend(k,function(){k.call(this);this.Psa=this.W=!1;this.bd=this.gb=this.Da=0;this.CV=!1;this.Rp=this.ts=0});a.prototype.mc=function(g){if(this.W!=g)if(this.W=g){b.bind(this.RB,this,!0);g=b.Aq();var e=g.pitch;this.ts=this.Da-g.yaw;this.Rp=this.gb-e;this.oo()}else b.unbind(this.RB,this,!0)};a.prototype.setPosition=function(g,e,c){this.Da!=g&&(this.ts=this.tC(this.ts+(g-
this.tC(this.Da,g)),0),this.Da=g);this.gb!=e&&(this.Rp+=e-this.gb,this.gb=e);this.bd=c};a.prototype.yq=function(){return this.Da};a.prototype.xq=function(){return this.gb};a.prototype.cz=function(){return this.bd};a.prototype.We=function(){return b.wWa()};a.prototype.yb=function(g){var e=b.Aq(),c=e.roll;g=20*g/1E3;var f=e.pitch+(this.Psa?this.Rp:0);this.Da=this.dg(this.Da,this.tC(this.tC(e.yaw,this.Da)+this.ts,this.Da),g);this.gb=this.dg(this.gb,f,g);this.bd=this.dg(this.bd,c,g)};a.prototype.$Ya=
function(g){this.Psa=g};a.prototype.dg=function(g,e,c){g=(e-g)*(1-c);.01>Math.abs(g)&&(g=0);return e-g};a.prototype.tC=function(g,e){for(;g+180<e;)g+=360;for(;g-180>e;)g-=360;return g};a.prototype.RB=function(){this.W&&this.oo()};a.prototype.oo=function(){this.trigger(new m(h.ta))};return a});define("eh",["require"],function(){return{jE:"left",kE:"right",iE:"down",lE:"up",ufa:"rotate10x",Vfa:"zoom2x",X:"playing",zt:"zoomIn",At:"zoomOut",Ff:"stop"}});
define("fo","require li bm cw gf eh".split(" "),function(a){var d=a("li"),h=a("bm"),m=a("cw"),k=a("gf"),b=a("eh"),g=d.extend(k,function(c){k.call(this);this.j=c;this.W=!1;this.ei={};this.sN=null;this.Ui=this.rN=!1;this.qT=this.qT.bind(this);this.vu=this.vu.bind(this);this.xc=this.j.xc;document.addEventListener("keydown",this.qT);document.addEventListener("keyup",this.vu)});g.prototype.clear=function(){this.W=!1;this.xc=this.j=null;document.removeEventListener("keydown",this.qT);document.removeEventListener("keyup",
this.vu)};g.prototype.mc=function(c){this.W!=c&&(this.W=c)&&this.WW()};var e=[h.Sj,h.zi,h.Oa,h.hb,h.mn,h.NQ];g.prototype.qT=function(c){var f=c.which,l=!1;!this.ei[f]&&0<=e.indexOf(f)&&(this.sN||this.rN||(this.sN=setTimeout(this.ULa.bind(this),100)),l=this.ei[f]=!0);this.Ui!=c.shiftKey&&(this.Ui=c.shiftKey,l=!0);l&&this.WW()};g.prototype.ULa=function(){this.rN=!0;this.WW()};g.prototype.vu=function(c){var f=c.which,l=!1;if(f in this.ei){delete this.ei[f];l=!1;for(f in this.ei)this.ei[f]&&(l=!0);l||
(this.sN&&clearTimeout(this.sN),this.sN=null,this.rN=!1);l=!0}this.Ui!=c.shiftKey&&(this.Ui=c.shiftKey,l=!0);l&&this.WW()};g.prototype.WW=function(){if(this.W){var c=this.xc.get("arrowKeysAction");if("none"!=c){c="rotate"==c;var f=[];this.ei[h.mn]?f.push(b.zt):this.ei[h.NQ]&&f.push(b.At);this.rN&&(this.ei[h.mn]||this.ei[h.NQ])&&f.push(b.Vfa);this.ei[h.Oa]?f.push(b.jE):this.ei[h.hb]&&f.push(b.kE);if(c||this.Ui)this.ei[h.Sj]?f.push(b.lE):this.ei[h.zi]&&f.push(b.iE);this.rN&&(this.ei[h.Oa]||this.ei[h.hb]||
this.ei[h.Sj]||this.ei[h.zi])&&f.push(b.ufa);0==f.length&&f.push(b.Ff);this.trigger(new m(g.R_,{Kwa:f}))}}};g.R_="movementsChange";return g});
define("mA",["require"],function(){function a(){this.tA=!0;this.reset()}function d(h,m,k){h=(m-h)*(1-k);.01>Math.abs(h)&&(h=0);return m-h}a.prototype.reset=function(){this.tA&&(this.tA=!1,this.EW=this.FW=this.nv=this.Sm=this.XE=this.$E=this.YE=this.kx=void 0)};a.prototype.moveTo=function(h,m,k,b,g){this.Sm=h;this.nv=m;this.FW=k;this.EW=b;this.y5=g;this.tA=!0};a.prototype.setPosition=function(h,m,k,b){this.kx=h;this.YE=m;this.$E=k;this.XE=b};a.prototype.yq=function(){return this.kx};a.prototype.xq=
function(){return this.YE};a.prototype.cz=function(){return this.$E};a.prototype.kD=function(){return this.XE};a.prototype.We=function(){return this.tA};a.prototype.yb=function(){if(this.tA)if(this.y5)this.kx=this.Sm,this.YE=this.nv,this.$E=this.FW,this.XE=this.EW,this.tA=!1;else{for(var h=this.kx,m=this.Sm-180,k=this.Sm+180;h<m;)h+=k-m;for(;h>k;)h-=k-m;this.kx=h;this.kx=d(this.kx,this.Sm,.5);this.YE=d(this.YE,this.nv,.5);this.$E=d(this.$E,this.FW,.5);this.XE=d(this.XE,this.EW,.5);this.kx==this.Sm&&
this.YE==this.nv&&this.$E==this.FW&&this.XE==this.EW&&(this.tA=!1)}};return a});
define("cs",["require","nm","md","bv"],function(a){function d(){this.W=!1;this.bd=this.gb=this.Da=0;this.wT=void 0}var h=a("nm"),m=a("md"),k=a("bv");d.prototype.mc=function(e){this.W!=e&&(this.W=e,this.wT=void 0)};d.prototype.setPosition=function(e,c,f){this.Da=e;this.gb=c;this.bd=f};d.prototype.yq=function(){return this.Da};d.prototype.xq=function(){return this.gb};d.prototype.cz=function(){return this.bd};d.prototype.We=function(){return!0};d.prototype.yb=function(){var e=h.Oda(k.Fs().orientation);
this.Da+=void 0===this.wT?0:e.Sa-this.wT;this.wT=e.Sa;this.gb=e.pitch;this.bd=e.Xe;this.gb=void 0===g?e.pitch:g;this.bd=void 0===b?e.Xe:b};var b=m.Yi("debug")?m.hY("force_vr_roll"):void 0,g=m.Yi("debug")?m.hY("force_vr_pitch"):void 0;return d});
define("g","require ed li ox cw gf cB hu fo dt fk mA cs eh bv bc".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("cw"),b=a("gf"),g=a("cB"),e=a("hu"),c=a("fo"),f=a("dt"),l=a("fk"),p=a("mA"),q=a("cs"),n=a("eh"),r=a("bv"),u=a("bc"),t=h.extend(b,function(v,w,x){b.call(this);this.j=v;this.xc=this.j.xc;this.ga=w;this.Ec=x;this.sy=this.Ax=this.BK=this.tV=this.W=!1;this.bc=new f;this.fq=new p;this.bd=this.gb=this.Da=0;this.La=90;this.HC=1;this.zh=void 0;this.P1=this.wJ=5;this.Qy=!1;this.kb=
new l;this.kb.bind(l.ft,this.TL,this,!0);this.kb.bind(l.No,this.Yx,this,!0);this.kb.bind(l.Ci,this.Lp,this,!0);this.kb.bind(l.Bi,this.Kp,this,!0);this.al=new e;this.al.bind(m.ta,this.Lma,this);this.zx=!1;this.wm=new c(this.j);this.wm.bind(c.R_,this.Vma,this,!0);this.ss=new q;r.bind(m.ta,this.Rn,this,!0);this.Rn()});t.prototype.clear=function(){this.kb.unbind(l.ft,this.TL,this,!0);this.kb.unbind(l.No,this.Yx,this,!0);this.kb.unbind(l.Ci,this.Lp,this,!0);this.kb.unbind(l.Bi,this.Kp,this,!0);this.kb.Hl();
this.kb=null;this.al.unbind(m.ta,this.Lma,this);this.al=null;this.wm.unbind(c.R_,this.Vma,this,!0);this.wm.clear();this.wm=null;r.unbind(m.ta,this.Rn,this,!0);this.Ec=this.ga=this.bc=null;this.GR();this.j=this.xc=null};t.prototype.Iq=function(v){this.bc.reset();this.fq.reset();this.kb.Iq(v);this.wJ=v.get("automaticRotationSpeed");this.P1=v.get("automaticZoomSpeed")};t.prototype.Jj=function(v){function w(z){return d(v).contains(z)}d.isArray(v)||(v=[v]);var x=0,y=0,A=0,B=!1;w(n.Ff)||(w(n.jE)?x=-this.wJ:
w(n.kE)&&(x=+this.wJ),w(n.iE)?y=-this.wJ:w(n.lE)&&(y=+this.wJ),w(n.zt)?A=-this.P1:w(n.At)&&(A=+this.P1),w(n.X)&&(B=!0),w(n.Vfa)&&(A*=2),w(n.ufa)&&(x*=10,y*=10),x*=this.HC,y*=this.HC);this.Ic(x,y,0,A,0,0,0,0,B,!0,!0,!0)};t.prototype.setPosition=function(v,w,x,y){this.Da=v;this.gb=w;this.bd=x;this.La=y;this.HC=this.La/90;this.al.setPosition(this.Da,this.gb,this.bd);this.ss.setPosition(this.Da,this.gb,this.bd);this.kb.JD(this.La);this.fq.setPosition(this.Da,this.gb,this.bd,this.La)};t.prototype.moveTo=
function(v,w,x,y,A){this.fq.moveTo(v,w,x,this.Ec.wua(y),A);this.tV=!1;this.bc.reset();this.Nh()};t.prototype.sda=function(v,w,x){this.Ic(0,0,0,0,v,w,x,0,!1,!1,!1)};t.prototype.We=function(){return this.W&&(this.sy||this.b_())?!0:!1};t.prototype.fTa=function(){this.sy=this.Qy=!1};t.prototype.b_=function(){return this.W?this.Qy?!0:this.ss.W?this.ss.We()||this.bc.We():this.al.W?this.zx?!0:this.al.We()||this.bc.We():this.bc.We()||this.fq.We():!1};t.prototype.yb=function(v){this.Qy=!1;this.bc.yb(v);this.sy=
!1;var w=this.La;if(this.ss.W){this.ss.yb(v);v=this.ss.yq()+this.bc.ix;var x=this.ss.xq();var y=this.ss.cz()}else this.fq.We()?(this.fq.yb(v),v=this.fq.yq(),x=this.fq.xq(),y=this.fq.cz(),w=this.fq.kD()):(this.al.W?(this.zx=!1,this.al.yb(v),v=this.al.yq()+this.bc.ix,x=this.al.xq(),this.BK&&(x+=this.bc.WE),y=this.al.cz()):(v=this.Da+this.bc.ix,x=this.gb+this.bc.WE,y=0),w+=this.bc.yia);this.Ec.Co(w);this.ga.setPosition(v,x,y,this.Ec.xg(),this.Ec.Gv());this.Da=this.ga.Rc();this.gb=this.ga.Lc();this.bd=
this.ga.Mf();this.La=this.ga.Iv();if(this.tV&&this.ga.vva()){w=this.bc.rO;if(this.ga.uva()||this.ga.wva())w=-w;v=this.bc.vM;if(this.ga.xva()||this.ga.tva())v=-v;this.Ic(w,v,0,0,0,0,0,0,!0,!1,!1,!0)}};t.prototype.yq=function(){return this.Da};t.prototype.xq=function(){return this.gb};t.prototype.cz=function(){return this.bd};t.prototype.kD=function(){return this.La};t.prototype.mc=function(v){this.W!=v&&((this.W=v)?(this.By(this.kb.NB==g.ct?u.bA:void 0),this.kb.Hq(this.j.getParent()),this.Nh()):(this.GR(),
this.kb.Hl()),this.M$())};t.prototype.KP=function(v){this.Ax!=v&&(this.Ax=v,this.M$(),this.zx=!0)};t.prototype.sz=function(v){this.wm.mc(v)};t.prototype.M$=function(){this.al.mc(this.W&&this.Ax&&!r.isPresenting());this.ss.mc(this.W&&r.isPresenting())};t.prototype.Lma=function(){this.Nh()};t.prototype.LP=function(v){this.BK=v;this.al.$Ya(this.BK)};t.prototype.uz=function(v){this.kb.uz(v);this.By(this.kb.NB==g.ct?u.bA:void 0)};t.prototype.OD=function(v){this.kb.OD(v)};t.prototype.Rn=function(){this.M$();
this.Nh()};t.prototype.TL=function(v){var w=!this.ss.W&&(!this.al.W||this.BK);if(this.kb.NB==g.Kz){var x=void 0;if(0!=v.iw||0!=v.Pv){var y=25<Math.sqrt(v.Pv*v.Pv+v.iw*v.iw),A=180*Math.atan2(v.Pv,v.iw)/Math.PI;-22.5<=A&&22.5>A?x=y?u.Rea:u.Qea:22.5<=A&&67.5>A?x=y?u.Tea:u.$ea:67.5<=A&&112.5>A?x=y?u.Sea:u.Zea:112.5<=A&&157.5>A?x=y?u.Uea:u.afa:157.5<=A||-157.5>A?x=y?u.Yea:u.efa:-157.5<=A&&-112.5>A?x=y?u.Xea:u.dfa:-112.5<=A&&-67.5>A?x=y?u.Vea:u.bfa:-67.5<=A&&-22.5>A&&(x=y?u.Wea:u.cfa)}this.By(x);this.Ic(v.iw,
v.Pv,0,0,v.MI,v.rI,0,0,!1,!1,!1,w)}else this.Ic(v.iw,v.Pv,0,0,v.MI,v.rI,0,0,!1,!1,w,w)};t.prototype.Yx=function(v){this.Ic(0,0,0,v.gVa,0,0,0,v.Lba,!1,!0,!1,!0)};t.prototype.Ic=function(v,w,x,y,A,B,z,C,G,D,E,H){var R=!1;this.xc.get("rotationEnabled")&&(R=this.bc.rda(v,w,x,A,B,z,D,E,H)||R);this.xc.get("zoomEnabled")&&(R=this.bc.dZa(y,C)||R);R&&(this.fq.reset(),this.tV=G,this.Nh())};t.prototype.Nh=function(){this.sy=!0;this.trigger(new k(t.ph))};t.prototype.Lp=function(){this.Qy=!0;this.trigger(new k(t.Ci));
this.kb.NB==g.ct&&this.By(u.Zh)};t.prototype.Kp=function(){this.trigger(new k(t.Bi));this.kb.NB==g.ct&&this.By(u.bA)};t.prototype.Vma=function(v){this.Jj(v.data.Kwa);0>v.data.Kwa.indexOf(n.Ff)&&this.j.Ib().trigger(new k(m.pE,{ZP:v}))};t.prototype.By=function(v){this.zh!=v&&this.W&&(this.zh&&this.j.sI(this.zh),(this.zh=v)&&this.j.vZ(this.zh))};t.prototype.GR=function(){this.zh&&(this.j.sI(this.zh),this.zh=void 0)};t.ph="position change request";t.Ci="user interaction start";t.Bi="user interaction end";
return t});define("mI",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("TargetRotationalCameraMovement",d,function(){d.call(this)})});
define("P","require li ox kK cw gf nq gJ mI nZ bE".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("kK"),k=a("cw"),b=a("gf"),g=a("nq");a("gJ");a("mI");var e=a("nZ"),c=a("bE"),f=d.extend(b,function(l,p,q){b.call(this);this.j=l;this.ga=p;this.Ec=q;this.HG=this.Na=null;this.tl=this.Km=!1;this.kk=void 0;this.XF=[];this.sC=0;this.V=null;this.gb=this.Da=0;this.La=90});f.prototype.clear=function(){this.end();this.ga=this.j=null};f.prototype.start=function(l){this.UOa(l);this.uMa();this.tl=!1;this.HR();
this.Km=!1;this.Nh();this.yj()};f.prototype.end=function(){null!=this.Na&&(this.Wha(),this.Km=this.tl=!1,this.V=null,this.yj())};f.prototype.BWa=function(){this.Na&&this.Na.get("restartMovementOnUserInteraction")?this.Km||(this.yN(),this.L9(),this.V=null,this.Km=!0,this.yj()):(this.V=null,this.pause())};f.prototype.EWa=function(){this.Km&&(this.Km=!1,this.mla()||this.G9())};f.prototype.UOa=function(l){this.Wha();this.Na=l;this.Na.bind(h.Bw,this.Xna,this,!0);this.Na.bind(h.nE,this.Wna,this,!0);this.Na.bind(h.G("movementIndex"),
this.ZB,this,!0);this.XF=this.Na.get("movements",[])};f.prototype.Wha=function(){this.L9();null!=this.Na&&(this.Na.unbind(h.Bw,this.Xna,this),this.Na.unbind(h.nE,this.Wna,this),this.Na.unbind(h.G("movementIndex"),this.ZB,this),this.Na.set("movementIndex",-1),this.Na=null,this.XF=[])};f.prototype.Gj=function(){return this.Na?this.tl?m.Db:m.X:m.T};f.prototype.setPosition=function(l,p,q,n){this.Da=l;this.gb=p;this.La=n};f.prototype.We=function(){return!this.Na||!this.V||this.tl||this.Km||this.mla()?
!1:!0};f.prototype.yb=function(l){if(this.We()){this.V.yb(l);l=this.V.cb("hfov");if(this.Ec.Yva()){var p=this.V.sba("hfov");p.from=this.Ec.JX(p.from);p.yz=this.Ec.JX(p.yz);l=this.Ec.JX(l)}this.ga.setPosition(this.V.cb("yaw"),this.V.cb("pitch"),0,l,this.Ec.Gv());this.Da=this.ga.Rc();this.gb=this.ga.Lc();this.La=this.ga.Iv();this.V.Ke()&&this.zLa()}};f.prototype.yq=function(){return this.Da};f.prototype.xq=function(){return this.gb};f.prototype.kD=function(){return this.La};f.prototype.play=function(){this.tl&&
(this.tl=!1,this.V||this.ZB(),this.HR(),this.Nh(),this.yj())};f.prototype.pause=function(){this.tl||(this.tl=!0,this.yN(),this.yj())};f.prototype.Xna=function(){this.play()};f.prototype.Wna=function(){this.pause()};f.prototype.uMa=function(){this.sC=0;var l=this.Na.get("movementIndex",-1);-1==l&&(l=0);this.gV(l)};f.prototype.wMa=function(){this.sC++;var l=this.Na.get("repeat",1);0<this.XF.length&&(0==l||this.sC<l)?this.gV(0):(this.Na.trigger(new k(h.sb)),this.end(),this.LQa())};f.prototype.vMa=function(){this.gV(this.Na.get("movementIndex",
0)+1)};f.prototype.gV=function(l){l<this.XF.length?this.Na.get("movementIndex")!=l?this.Na.set("movementIndex",l):this.ZB():(this.Na.trigger(new k(h.br)),this.wMa())};f.prototype.ZB=function(){var l=this.Na.get("movementIndex");this.V=0<=l?this.ax(this.XF[l]):null};f.prototype.zLa=function(){this.XF[this.Na.get("movementIndex")].trigger(new k(h.sb));this.vMa()};f.prototype.mla=function(){return null!=this.HG};f.prototype.G9=function(){this.L9();var l=this,p=this.Na.get("restartMovementDelay")||0;
this.HG=setTimeout(function(){l.HG=null;l.OLa()},p);this.yj()};f.prototype.L9=function(){this.HG&&(clearTimeout(this.HG),this.HG=null)};f.prototype.OLa=function(){this.gV(this.Na.get("movementIndex"));this.Nh();this.yj()};f.prototype.ax=function(l){var p,q=this.tk(this.Da,-180,180),n=this.gb,r=this.La;if(g.Ka("TargetRotationalCameraMovement",l)){var u=l.get("targetYaw",q);var t=l.get("targetPitch",n);(p=l.get("targetHfov"))?(this.Ec.Mya(p),p=this.Ec.xg()):p=r;this.ga.setPosition(u,t,0,p,this.Ec.Gv());
if(this.ga.cC)u=this.ga.Rc();else switch(this.Y3(l)){case "left":u=this.tk(u,q-360,q);break;case "right":u=this.tk(u,q,q+360);break;case "longest":u=this.tk(u,q-180,q+180);u=u>=q?this.tk(u,q-360,q):this.tk(u,q,q+360);break;default:u=this.tk(u,q-180,q+180)}}else g.Ka("DistanceRotationalCameraMovement",l)&&(u=q+l.get("yawDelta",0),this.ga.cC&&(u=Math.min(Math.max(-180,u),180)),t=n+l.get("pitchDelta",0),p=r+l.get("hfovDelta",0),this.ga.setPosition(u,t,0,p,this.Ec.Gv()),this.ga.cC&&(u=this.ga.Rc()));
t=this.ga.Lc();p=this.ga.Iv();return new e(l.get("easing"),[new c("yaw",q,u,l.get("yawSpeed")),new c("pitch",n,t,l.get("pitchSpeed")),new c("hfov",r,p,l.get("hfovSpeed"))],l.get("duration"))};f.prototype.HR=function(){this.kk=void 0};f.prototype.yN=function(){if(this.V){this.kk=void 0;var l=this.V&&this.V.sba("yaw");l&&(l.yz>l.from?this.kk="right":l.yz<l.from&&(this.kk="left"))}};f.prototype.Y3=function(l){l=l.get("path");"longest"==l&&this.kk&&(l=this.kk);this.kk=void 0;return l};f.prototype.tk=
function(l,p,q){for(;l<p;)l+=q-p;for(;l>q;)l-=q-p;return l};f.prototype.Nh=function(){this.trigger(new k(f.ph))};f.prototype.LQa=function(){this.trigger(new k(f.d0))};f.prototype.yj=function(){this.trigger(new k(f.Cc))};f.ph="position change request";f.d0="sequence end";f.Cc="playback state change";return f});
define("bs","require ed li ox cw gf il hc g P eh bv kK".split(" "),function(a){a("ed");var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("il"),g=a("hc"),e=a("g"),c=a("P"),f=a("eh"),l=a("bv"),p=a("kK"),q=d.extend(k,function(n,r){k.call(this);this.j=n;this.j.bind(h.ic,this.ec,this);l.bind(h.ta,this.Rn,this,!0);this.Ec=r;this.N8=!1;this.La=this.bd=this.gb=this.Da=void 0;this.vs=this.us=this.wL=this.zL=this.yL=this.xL=!1;this.Rm=!0;this.zF=this.Rp=0;this.W=!1;this.um=null;this.IK=5E3;this.kj=this.Eh=null;
this.$r=[];this.mi=this.Kw=p.T;this.ga=new b(n);this.Tb=new e(this.j,this.ga,this.Ec);this.Tb.bind(e.ph,this.Ip,this,!0);this.Tb.bind(e.Ci,this.Lp,this,!0);this.Tb.bind(e.Bi,this.Kp,this,!0);this.tm=new g(this.j,this.ga,this.Ec);this.tm.bind(g.ph,this.Ip,this,!0);this.Te=new c(this.j,this.ga,this.Ec);this.Te.bind(c.ph,this.Ip,this,!0);this.Te.bind(c.d0,this.ey,this,!0);this.Te.bind(c.Cc,this.Yna,this,!0)});q.prototype.clear=function(){this.yk();this.Tb.unbind(e.ph,this.Ip,this);this.Tb.unbind(e.Ci,
this.Lp,this,!0);this.Tb.unbind(e.Bi,this.Kp,this,!0);this.Tb.clear();this.Tb=null;this.tm.unbind(g.ph,this.Ip,this,!0);this.tm.clear();this.tm=null;this.Te.unbind(c.ph,this.Ip,this);this.Te.unbind(c.d0,this.ey,this);this.Te.unbind(c.Cc,this.Yna,this);this.Te.clear();this.ga=this.Te=null;this.j.unbind(h.ic,this.ec,this);l.unbind(h.ta,this.Rn,this,!0);this.j=null;this.Ca&&(this.Ca.unbind(h.G("sequences"),this.gy,this,!0),this.Ca=null);this.dW([])};q.prototype.end=function(){this.Kw=p.T;this.yk();this.Tb.mc(!1);
this.tm.mc(!1);this.Te.end();this.W=!1;this.ev(0,0,0);this.kj=this.Eh=null;this.Ca&&(this.Ca.unbind(h.G("sequences"),this.gy,this,!0),this.Ca=null);this.dW([]);this.OC()};q.prototype.start=function(n,r){this.Kw=p.X;this.W=!0;this.ev(0,0,0);this.eN(n);this.jOa(r);this.epa();this.tW(this.kj);this.tm.mc(!0);this.OC()};q.prototype.Gj=function(){return this.mi};q.prototype.play=function(n){this.Kw=p.X;this.Te.Gj()==p.Db?this.Te.play():this.Te.Gj()==p.T&&(!n&&this.kj?this.tW(this.kj):this.FF()||this.cq());
this.OC()};q.prototype.resume=function(){this.Kw==p.Db&&(this.Tb.fTa(),this.play(!0))};q.prototype.pause=function(){this.Tb.Jj(f.Ff);this.Kw==p.X&&(this.Kw=p.Db,this.Te.Gj()==p.X?(this.Te.pause(),this.OC()):this.FF()&&this.yk())};q.prototype.stop=function(){this.Kw=p.T;this.Te.Gj()!=p.T&&this.Te.end();this.Tb.Jj(f.Ff);this.OC();this.FF()&&this.yk()};q.prototype.moveTo=function(n,r,u,t,v){this.Tb.moveTo(n,r,u,t,v)};q.prototype.dW=function(n){this.$r.forEach(function(r){r.unbind(h.Bw,this.Tpa,this,
!0)}.bind(this));this.$r=n;this.$r.forEach(function(r){r.bind(h.Bw,this.Tpa,this,!0)}.bind(this))};q.prototype.Rn=function(){this.ga.EZ(l.isPresenting())};q.prototype.Jj=function(n){this.Tb.Jj(n)};q.prototype.sda=function(n,r,u){this.Tb.sda(n,r,u)};q.prototype.KP=function(n){this.Ax!=n&&(this.Ax=n,this.Tb.KP(this.Ax),this.Ma())};q.prototype.LP=function(n){this.Tb.LP(n)};q.prototype.uz=function(n){this.Tb.uz(n)};q.prototype.OD=function(n){this.Tb.OD(n)};q.prototype.sz=function(n){this.Tb.sz(n)};q.prototype.Rv=
function(n){this.W&&(this.Tb.We()||l.isPresenting()||this.Ax&&(this.Tb.W||!this.Tb.BK)?(this.Tb.b_()&&this.Te.BWa(),this.Tb.yb(n),this.yl(this.Tb.yq(),this.Tb.xq(),this.Tb.cz(),this.Tb.kD()),this.Ma()):this.Te.Km?(this.Te.EWa(),this.Ma()):this.Te.We()?(this.Te.yb(n),this.yl(this.Te.yq(),this.Te.xq(),0,this.Te.kD()),this.Ma()):this.tm.We()?(this.tm.yb(n),this.yl(this.tm.yq(),this.tm.xq(),0,this.tm.kD()),this.Ma()):this.N8?(this.N8=!1,this.Ec.Co(this.j.xg()),this.ga.setPosition(this.j.Rc(),this.j.Lc(),
this.j.Mf(),this.Ec.xg(),this.Ec.Gv()),this.yl(this.ga.Rc(),this.ga.Lc(),this.ga.Mf(),this.ga.Iv()),this.Ma()):(this.ev(0,0,0),this.Kw==p.X&&this.Te.Gj()!=p.X&&(this.FF()||this.cq())))};q.prototype.wd=function(){this.IRa();this.epa()};q.prototype.IRa=function(){var n=this.j.Rc()-this.Da||0,r=this.j.Lc()-this.gb||0;this.j.Mf();this.ev(n,r,this.j.xg()-this.La||0)};q.prototype.epa=function(){this.Da=this.j.Rc();this.gb=this.j.Lc();this.bd=this.j.Mf();this.La=this.j.xg();this.Tb.setPosition(this.Da,this.gb,
this.bd,this.La);this.Te.setPosition(this.Da,this.gb,this.bd,this.La);this.tm.setPosition(this.Da,this.gb,this.bd,this.La)};q.prototype.eN=function(n){this.ga.yi(n)};q.prototype.jOa=function(n){this.Ca=n;this.IK=n.get("timeToIdle",5E3);this.Eh=n.get("idleSequence");this.kj=n.get("initialSequence");this.Tb.Iq(n);this.tm.Iq(n);n.bind(h.G("sequences"),this.gy,this,!0);this.dW(n.get("sequences",[]))};q.prototype.gy=function(){this.dW(this.Ca.get("sequences",[]))};q.prototype.Tpa=function(n){this.tW(n.source)};
q.prototype.Ip=function(){this.yk();this.Ma()};q.prototype.Lp=function(){this.trigger(new m(q.Ci))};q.prototype.Kp=function(){this.trigger(new m(q.Bi))};q.prototype.tW=function(n){n?(this.Tb.mc(!n.get("mandatory",!1)),this.Te.start(n)):this.ey()};q.prototype.ey=function(){this.Tb.mc(!0);this.cq()};q.prototype.Yna=function(){this.OC()};q.prototype.ec=function(){this.N8=!0;this.Ma()};q.prototype.FF=function(){return null!=this.um};q.prototype.cq=function(){this.yk();var n=this;this.um=setTimeout(function(){n.um=
null;n.HL()},this.IK)};q.prototype.yk=function(){this.um&&(clearTimeout(this.um),this.um=null)};q.prototype.HL=function(){this.tW(this.Eh)};q.prototype.Ma=function(){this.trigger(new m(q.Cb))};q.prototype.yl=function(n,r,u,t){this.j.setPosition(n,r,u,t)};q.prototype.ev=function(n,r,u){var t=!1,v=.001>Math.abs(n)&&.001>Math.abs(r)&&.001>Math.abs(u);v||this.Ax?(t=1!=this.Rm,this.vs=this.us=this.wL=this.zL=this.yL=this.xL=!1,this.Rm=!0):(this.xL!=-.001>n&&(this.xL=!this.xL,t=!0),this.yL!=.001<n&&(this.yL=
!this.yL,t=!0),this.wL!=-.001>r&&(this.wL=!this.wL,t=!0),this.zL!=.001<r&&(this.zL=!this.zL,t=!0),this.us!=-.001>u&&(this.us=!this.us,t=!0),this.vs!=.001<u&&(this.vs=!this.vs,t=!0),this.Rm!=v&&(this.Rm=!this.Rm,t=!0));v||this.trigger(new m(q.Jo,{yaw:this.Da,pitch:this.gb,roll:this.bd,hfov:this.La}));t&&((this.W||this.Rm)&&this.trigger(new m(q.Lj,{movingLeft:this.xL,movingRight:this.yL,movingUp:this.zL,movingDown:this.wL,zoomingIn:this.us,zoomingOut:this.vs,stopped:this.Rm})),this.OC())};q.prototype.OC=
function(){if(this.W){var n=this.Te.Gj();this.Rm||(n=p.X)}else n=p.T;this.mi!=n&&(this.mi=n,this.trigger(new m(q.Cc,{state:this.mi})))};q.Cb="request frame";q.Lj="movement change";q.Jo="position change";q.Cc="playback state change";q.Ci="user interaction start";q.Bi="user interaction end";return q});
define("gI","require ox il v hB md bv nm".split(" "),function(a){function d(f,l,p){this.j=f;this.Ec=l;this.Ky=p;this.ga=new h(f);p.Ug&&this.ga.yi(p.Ug);this.av=new h(f);this.HB=this.Dr=void 0;this.Da=this.j.Rc();this.gb=this.j.Lc();this.bd=this.j.Mf();this.La=this.Ky.Ug?this.j.xg():d.jea;this.ara=0;this.la=null;this.ula=!0}a("ox");var h=a("il");a("v");var m=a("hB"),k=a("md"),b=a("bv"),g=a("nm");d.prototype.yi=function(f){this.la!=f&&(this.my=!0,this.la=f)};d.prototype.bw=function(f,l){this.Da=f;this.gb=
l};d.prototype.cD=function(f){this.Ec.Mya(f);return this.Ec.xg()};d.prototype.Co=function(f){this.La=f};d.prototype.PP=function(f){this.ula=f};d.prototype.ND=function(f){this.ara=f};d.prototype.Rv=function(){this.Ec.Yva()&&(this.La=this.Ec.JX(this.La));if(this.Ky.Bb()){var f=b.Fs().orientation;f=g.Oda(f);this.Da+=void 0===this.Dr?0:f.Sa-this.Dr;this.Dr=f.Sa;this.gb=f.pitch;this.bd=f.Xe;this.gb=void 0===c?f.pitch:c;this.bd=void 0===e?f.Xe:e}else if(this.Ky.nva()){f=m.Aq();var l=this.tC(f.yaw,this.Da);
this.Da+=void 0===this.Dr?0:l-this.Dr;this.gb+=void 0===this.HB?0:f.pitch-this.HB;this.bd=f.roll;this.Dr=f.yaw;this.HB=f.pitch}else f=this.tC(this.j.Rc(),this.Da),l=this.j.Lc(),this.Da+=void 0===this.Dr?0:f-this.Dr,this.gb+=void 0===this.HB?0:l-this.HB,this.bd=this.j.Mf();this.my&&this.ga.yi(this.la);this.ga.EZ(b.isPresenting());this.ga.setPosition(this.Da,this.gb,this.bd,this.La,this.Ec.Gv());this.my&&(this.my=!1,this.Ky&&this.Ky.Ug&&(f=this.j.mf(this.Ky.Ug)))&&(f.set("deltaYaw",this.j.Rc()-this.ga.Rc()),
f.set("deltaPitch",this.j.Lc()-this.ga.Lc()),f.set("deltaRoll",this.j.Mf()-this.ga.Mf()));this.Da=this.ga.Rc();this.gb=this.ga.Lc();this.bd=this.ga.Mf();this.Ky.Bb()||this.Ky.nva()||(this.Dr=this.Da,this.HB=this.gb);this.La=this.ula?this.ga.Iv():this.La;this.j.setPosition(this.Da,this.gb,this.bd,this.La);this.j.ND(this.ara)};d.prototype.AZ=function(f,l){this.av.yi(f);this.av.setPosition(0,0,0,l,this.Ec.Gv());return this.av.Iv()};d.prototype.jXa=function(f,l){this.av.yi(f);this.av.setPosition(l.Sa,
l.pitch,l.Xe,l.ze,this.Ec.Gv());l.Sa=this.av.Rc();l.pitch=this.av.Lc();l.Xe=this.av.Mf();l.ze=this.av.Iv()};d.prototype.tC=function(f,l){for(;f+180<l;)f+=360;for(;f-180>l;)f-=360;return f};d.prototype.Vta=function(){return d.jea};d.jea=TDV.rfa.uAa;var e=k.Yi("debug")?k.hY("force_vr_roll"):void 0,c=k.Yi("debug")?k.hY("force_vr_pitch"):void 0;return d});
define("oU",["require","gC","lY","v","bv"],function(a){function d(g,e,c,f,l){this.j=g;this.Hj=e;g=this.j.N;this.dQ=g.get("transitionMode","blending");e=g.get("transitionDuration",500);this.zJa(c,f)&&(this.dQ=d.yQ,e=1500);this.FH=g.get("blendingTransitionDuration",e);this.NTa=g.get("firstTransitionDuration",e);this.Zta=g.get("disolveTransitionDuration",e);this.Lza=g.get("translationTransitionDuration",1E3);g.get("translationTransitionSpeed");this.Mza=g.get("translationTransitionEnabled",!0);this.xxa=
g.get("originTransitionDuration",3E3);this.f_=1E3;this.Ug=c;this.hZa=!c||c.Vba();this.iZa=!c||c.Pva();this.Bc=f;this.tza=!f||f.Vba();this.Ida=!f||f.Pva();this.xZa=!!f&&this.S5(f);e=(this.PD=l)&&l.get("initialPosition")||new h;this.zg=new h;this.zg.set("yaw",e.get("yaw",0));this.zg.set("pitch",e.get("pitch"));this.zg.set("hfov",e.get("hfov"));this.Af=new m;this.Af.set("yaw",this.zg.get("yaw"));this.Af.set("pitch",this.zg.get("pitch"));this.Af.set("hfov",this.zg.get("hfov"));this.Af.set("stereographicFactor",
0);this.so=[];if(!c){this.so=l&&l.get("displayMovements")||[];for(e=this.so.length-1;0<=e;e--)this.Af.set("yaw",this.Af.get("yaw",this.so[e].get("targetYaw"))),this.Af.set("pitch",this.Af.get("pitch",this.so[e].get("targetPitch"))),this.Af.set("hfov",this.Af.get("hfov",this.so[e].get("targethfov"))),this.Af.set("stereographicFactor",this.Af.get("stereographicFactor",this.so[e].get("stereographicFactor")));l=l&&l.get("displayOriginPosition")||this.zg;this.Af.set("yaw",l.get("yaw"));this.Af.set("pitch",
l.get("pitch"));this.Af.set("hfov",l.get("hfov"));this.Af.set("stereographicFactor",l.get("stereographicFactor"))}this.JI=this.dQ==d.pn&&this.Mza&&this.tza&&this.dJa(c,f)||null;var p=this.dQ==d.pn&&this.Bc&&this.tza&&this.Hj&&this.Bc.get("modelLocations")||[];l=this.dQ==d.pn&&this.Ug&&this.hZa&&this.Hj&&this.Ug.get("modelLocations")||[];var q=[];l.forEach(function(r){p.forEach(function(u){r.get("model")==u.get("model")&&q.push([r,u])})});var n=this.Hj&&this.Hj.get("model");this.nc=this.fc=null;1<
q.length&&this.Hj&&(e=q.find(function(r){return r[0].get("model")==n}))&&(q=[e]);(e=q.length?q[0]:null)&&(n&&e[0].get("model")==n||e[0].get("forceModelLoading")||e[1].get("forceModelLoading"))?(this.fc=e[0],this.nc=e[1]):(this.fc=l.find(function(r){return r.get("preferred")}),this.fc||this.nc||(this.nc=p.find(function(r){return r.get("preferred")})),[].concat(l,p).forEach(function(r){r.set("preferred",!1)}),this.fc||this.nc||(this.fc=l.find(function(r){return r.get("model")==n})),this.fc||this.nc||
(this.nc=p.find(function(r){return r.get("model")==n})),this.fc||this.nc||(this.fc=l.find(function(r){return r.get("forceModelLoading")})),this.fc||this.nc||(this.nc=p.find(function(r){return r.get("forceModelLoading")})));(this.nc||this.fc)&&g.get("translationTransitionSpeed")&&(this.nc||this.fc).get("model").get("worldUnitToMeters")&&(this.Lza=g.get("translationTransitionSpeed")/(this.nc||this.fc).get("model").get("worldUnitToMeters"));this.Qv=null;this.cza=k.de()==k.Di?512:1536;this.uza=k.de()==
k.Di?512:1024;g=this.Bb();this.mode=!g&&this.fc&&this.nc&&this.JI?d.R0:!g&&this.fc&&this.nc&&this.Mza?d.Gfa:this.JI?d.Ffa:g||this.Ug||!this.nc?g||this.Bc||!this.fc?c?f?"blending"==this.dQ?d.pn:d.yQ:d.xea:d.wea:d.Hfa:d.Q0;this.mode!=d.pn||this.iZa&&this.Ida||!(0<this.Af.get("stereographicFactor",0)||0<this.so.filter(function(r){return 0<r.get("targetStereographicFactor",0)}).length)||(this.mode=d.yQ);this.ln=null}var h=a("gC"),m=a("lY"),k=a("v"),b=a("bv");d.prototype.nva=function(){return this.j.xc.get("gyroscopeEnabled")};
d.prototype.Bb=function(){return b.isPresenting()};d.prototype.dJa=function(g,e){if(!g||!e)return null;g=(g.get("adjacentPanoramas")||[]).filter(function(c){return c.get("enabled")&&c.USa()&&c.get("panorama")==e});return 0==g.length?null:g[0]};d.prototype.zJa=function(g,e){return this.Bb()&&k.de()==k.Di&&(this.S5(g)||this.S5(e))};d.prototype.S5=function(g){return!!g&&g.Ll()};d.yQ="fade_out_fade_in";d.wea="fade_in";d.xea="fade_out";d.pn="blending";d.Ffa="translation";d.Q0="translation_from_model";
d.R0="translation_through_model";d.Gfa="translation_to_from_model";d.Hfa="translation_to_model";return d});define("eK",["require"],function(){function a(d,h,m,k){this.L=d;this.Pb=h;this.j=m;this.F=k}a.prototype.Rg=function(){return!1};a.prototype.lh=function(){};a.prototype.vD=function(){return!1};return a});
define("lK",["require","li","eK","nZ","bE"],function(a){var d=a("li"),h=a("eK"),m=a("nZ"),k=a("bE");a=d.extend(h,function(b,g,e,c){h.call(this,b,g,e,c);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(b){if(!this.Gb){if(!this.V){var g=this.j.mf(this.F.Bc);g.Th();g.set("alpha",.01);this.V=new m("linear",[new k("alpha",0,1,void 0)],this.F.FH)}this.V.yb(b);b=this.V.cb("alpha");g=this.j.mf(this.F.Bc);g.set("alpha",b);this.V.Ke()&&(this.Gb=!0)}};return a});
define("dK",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("ProjectedMaterialModel3DObject",h,function(){h.call(this)})});define("lU",["require","li","eK"],function(a){var d=a("li"),h=a("eK");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g);this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(){this.Gb||(this.Qi(),this.Gb=!0)};a.prototype.Qi=function(){};return a});
define("cO",["require","li","dK","lU"],function(a){var d=a("li"),h=a("dK"),m=a("lU"),k=d.extend(m,function(b,g,e,c,f){m.call(this,b,g,e,c);this.Kh=f||3});k.prototype.Qi=function(){var b=this.F.fc,g=this.F.nc,e=this.F.Qv=new h;this.Kh&1&&(e.set("sourceX",b.get("x")),e.set("sourceY",b.get("y")),e.set("sourceZ",b.get("z")),e.set("sourceYaw",b.get("yaw")),e.set("sourceFaces",this.Fha(this.F.Ug,this.F.cza)));this.Kh&2&&(e.set("targetX",g.get("x")),e.set("targetY",g.get("y")),e.set("targetZ",g.get("z")),
e.set("targetYaw",g.get("yaw")),e.set("targetFaces",this.Fha(this.F.Bc,this.F.uza)));b=(b||g).get("model");b.set("objects",b.get("objects").concat([this.F.Qv]))};k.prototype.Fha=function(b,g){b=this.j.mf(b);var e=b.get("alpha");b.set("alpha",1);g=this.j.wO(g);b.set("alpha",e);return g};k.Afa=d.extend(k,function(b,g,e,c){k.call(this,b,g,e,c,1)});k.Nfa=d.extend(k,function(b,g,e,c){k.call(this,b,g,e,c,2)});return k});
define("lA",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.F.Hj.j.Pya(this.F.nc.get("model"),!1)};return a});define("kG",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.F.Hj.j.Pya(this.F.fc.get("model"),!0)};return a});
define("lv",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.F.Bc&&!this.j.mf(this.F.Bc)&&(this.hh=this.j.create(this.F.Bc),this.hh.set("alpha",0),this.j.add(this.hh))};return a});
define("nN",["require","li","ox","cX","eK"],function(a){var d=a("li"),h=a("ox"),m=a("cX"),k=a("eK");a=d.extend(k,function(b,g,e,c){k.call(this,b,g,e,c);this.da=(this.F.fc||this.F.nc).get("model");this.Xp=!1;this.da?(this.Ux=this.F.Hj,this.Ux.get("model")==this.da&&this.da.get("isLoaded")?(this.Iu(),this.ml(),this.Xp=!0):(this.Ux.set("model",this.da),this.da.bind(h.Z,this.Iu,this,!0),this.Ux.set("requesterPlayer",this.j.xc),this.Ux.bind(m.Wg,this.ml,this,!0))):this.Xp=!0});a.prototype.Rg=function(){return this.Xp};
a.prototype.vD=function(){return!0};a.prototype.Iu=function(){this.da.unbind(h.Z,this.Iu,this)};a.prototype.ml=function(){this.Ux.unbind(m.Wg,this.ml,this,!0);this.Xp=!0};return a});
define("hC",["require","li","lU","bD"],function(a){var d=a("li"),h=a("lU"),m=a("bD");a=d.extend(h,function(k,b,g,e){h.call(this,k,b,g,e)});a.prototype.Qi=function(){if(this.F.xZa){var k=this.F.Bc.get("frames")[0];k=k.get("sphere")||k.get("stereoSphere");var b=k.get("levels")||[];(!0===k.get("hasAudio")||0<b.length&&!0===b[0].get("hasAudio"))&&m.request(this.j.Ib())}};return a});
define("fe",["require","li","eK","nZ","bE"],function(a){var d=a("li"),h=a("eK"),m=a("nZ"),k=a("bE");a=d.extend(h,function(b,g,e,c){h.call(this,b,g,e,c);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(b){if(!this.Gb){if(!this.V){var g=this.F.nc&&this.F.nc.get("targetFaces")?.01*this.F.FH:this.F.nc?.5*this.F.FH:this.j.N.XZa()&&!this.F.Ug?this.F.NTa:this.F.FH;this.V=new m("linear",[new k("alpha",.001,1,void 0)],g)}this.V.yb(b);b=this.V.cb("alpha");this.j.mf(this.F.Bc).set("alpha",
b);this.V&&this.V.Ke()&&(this.Gb=!0)}};return a});
define("iS",["require","li","gf","hp"],function(a){var d=a("li"),h=a("gf"),m=a("hp");a=d.extend(h,function(){h.call(this);this.ka=this.Aa=null;this.Kd=[];this.aT=this.Yf=!1;this.CL=null;this.dk=[this];this.kaa={};this.qr={};this.DK=!1;this.n8={};this.o8={};this.Xo(["blendingActive","globalBlendingActive"]);this.CCa();this.set("alpha",1);this.set("translationX",0);this.set("translationY",0);this.set("translationZ",0);this.set("deltaYaw",0);this.set("deltaPitch",0);this.set("deltaRoll",0);this.set("flipHorizontally",
!1);this.set("index",0)});a.prototype.CCa=function(){var k="alpha deltaYaw deltaPitch deltaRoll translationX translationY translationZ".split(" ");Array.isArray(k)||(k=[k]);k.forEach(function(b){this.n8[b]=!0}.bind(this))};a.prototype.Xo=function(k){Array.isArray(k)||(k=[k]);k.forEach(function(b){this.o8[b]=!0}.bind(this))};a.prototype.set=function(k,b){this.kaa[k]!==b&&(this.o8[k]&&this.Kd.forEach(function(g){g.set(k,b)}),this.kDa(k,b),this.YM(k))};a.prototype.get=function(k){return this.kaa[k]};
a.prototype.YM=function(k){this.qr[k]||(this.qr[k]=!0,this.DK||(this.DK=!0,this.Ba()),this.n8[k]&&this.Kd.forEach(function(b){b.YM(k)}))};a.prototype.MEa=function(){this.DK&&(this.DK=!1,this.qr={})};a.prototype.M=function(){if(this.DK)for(var k=0;k<arguments.length;k++)if(this.qr[arguments[k]])return!0;return!1};a.prototype.kDa=function(k,b){this.kaa[k]=b};a.prototype.Kb=function(){return this.Kd};a.prototype.Tg=function(k){var b=k||[],g=this.Kd.slice();k=b.length!=g.length;for(var e=0;e<b.length&&
!k;e++)k=b[e]!=g[e];k&&(k=g.filter(function(c){return-1==b.indexOf(c)}),e=b.filter(function(c){return-1==g.indexOf(c)}),this.Kd=b,k.forEach(function(c){c.$V(null)}),e.forEach(function(c){c.remove();c.$V(this)}.bind(this)),this.Ba())};a.prototype.$V=function(k){this.ka!=k&&(this.ka&&this.Om(),(this.ka=k)&&this.Yo(),this.k9(this.ka&&this.ka.Aa))};a.prototype.Yo=function(){for(var k in this.ka.n8)this.YM(k);for(k in this.ka.o8)this.set(k,this.ka.get(k))};a.prototype.Om=function(){};a.prototype.k9=function(k){this.Aa!=
k&&(k||this.Qb(),(this.Aa=k)&&this.Lb(),this.Kd.forEach(function(b){b.k9(this.Aa)}.bind(this)))};a.prototype.Lb=function(){this.$Ca()};a.prototype.Qb=function(){this.dNa()};a.prototype.$Ca=function(){this.dk.forEach(function(k){this.Aa.CL.add(k,this)}.bind(this))};a.prototype.dNa=function(){this.dk.forEach(function(k){this.Aa.CL.remove(k,this)}.bind(this))};a.prototype.Th=function(){this.ka&&this.ka.Raa(this)};a.prototype.Raa=function(k){var b=this.Kd.indexOf(k);if(-1==b)throw"Child not found";b!=
this.Kd.length-1&&(this.Kd.splice(b,1),this.Kd.push(k),this.Ba())};a.prototype.HTa=function(k){var b=this.Kd.indexOf(k);if(-1==b)throw"Child not found";this.Kd.splice(b,1);k.$V(null);this.Ba()};a.prototype.appendChild=function(k){k.remove();this.Kd.push(k);k.$V(this);this.Ba()};a.prototype.remove=function(){this.ka&&this.ka.HTa(this)};a.prototype.hn=function(){};a.prototype.Ba=function(){this.Yf||(this.Yf=!0,this.ka&&this.ka.Ba(this))};a.prototype.TEa=function(){this.Yf=!1};a.prototype.I8=function(){this.aT||
(this.aT=!0,this.ka&&this.ka.I8())};a.prototype.QEa=function(){this.aT=!1};a.prototype.ea=function(){this.$ra();this.M("translationX","translationY","translationZ")&&(this.set("composedTranslationX",this.get("translationX")+(this.ka?this.ka.get("composedTranslationX"):0)),this.set("composedTranslationY",this.get("translationY")+(this.ka?this.ka.get("composedTranslationY"):0)),this.set("composedTranslationZ",this.get("translationZ")+(this.ka?this.ka.get("composedTranslationZ"):0)));this.M("deltaYaw",
"deltaPitch","deltaRoll")&&(this.set("composedDeltaYaw",this.get("deltaYaw")+(this.ka?this.ka.get("composedDeltaYaw"):0)),this.set("composedDeltaPitch",this.get("deltaPitch")+(this.ka?this.ka.get("composedDeltaPitch"):0)),this.set("composedDeltaRoll",this.get("deltaRoll")+(this.ka?this.ka.get("composedDeltaRoll"):0)),m.Ova())};a.prototype.$ra=function(){this.M("alpha")&&this.set("composedAlpha",this.get("alpha")*(this.ka?this.ka.get("composedAlpha"):1))};return a});
define("nr",["require","lf","hp","v"],function(a){var d=a("lf"),h=a("hp"),m=a("v"),k={y6:void 0,jYa:function(b){this.y6=b},r3:void 0,CXa:function(b){this.r3=b},createTexture:function(){var b=new THREE.Texture;b.image=k.$H();b.userData={};b.userData.Jza={};return b},eTa:function(b){b.image!=this.$H()&&(b.image=this.$H(),b.needsUpdate=!0)},UD:function(b,g){g=this.STa(g);b.generateMipmaps=this.uEa(g);if(b.generateMipmaps)b.minFilter=THREE.LinearMipMapLinearFilter,b.anisotropy=Math.min(this.yHa(g),m.iva().ywa),
h.awa(g.width)&&h.awa(g.height)?b.image=g:(b.Hr||(b.Hr=document.createElement("canvas"),b.Hr.GW=!0),b.image=b.Hr,b.Hr.Ra=g,b.image.width=h.Xua(g.width),b.image.height=h.Xua(g.height),b.image.getContext("2d").drawImage(g,0,0,b.image.width,b.image.height));else if(b.minFilter=THREE.LinearFilter,h.nI(g)&&h.cAa(g)){b.tp||(b.tp=document.createElement("canvas"),b.SJa=b.tp.getContext("2d"),b.tp.GW=!0);var e=g.videoWidth;h.an()&&(e=Math.min(4096,e));var c=e*g.videoHeight/g.videoWidth;if(b.tp.width!=e||b.tp.height!=
c)b.tp.width=e,b.tp.height=c;g.readyState>=g.HAVE_CURRENT_DATA&&b.SJa.drawImage(g,0,0,e,c);b.image=b.tp}else b.image=g;b.Hr&&b.image!=b.Hr&&(k.OX(b.Hr),delete b.Hr);b.needsUpdate=!0;(b=k.Iba(b))&&b.isShaderMaterial&&(b.needsUpdate=!0);h.Ova()},STa:function(b){b?h.Yba(b)?b=d.lf(b,!1):h.cwa(b)?b=this.$H():!h.nI(b)||b.readyState>=b.HAVE_CURRENT_DATA&&0<b.videoWidth&&0<b.videoHeight||(b=this.$H()):b=this.$H();return b},sTa:function(b,g,e,c,f){var l=document.createElement("canvas");l.width=h.wt();l.height=
h.wt();l.GW=!0;var p=l.getContext("2d");if(!p)return null;p.drawImage(b,g,e,c,f,0,0,h.wt(),h.wt());this.VX(l);return l},OX:function(b){h.Qva(b)&&b.GW&&(delete b.GW,b.width=0,b.height=0)},dispose:function(b){b.tp&&b.tp!=b.image&&this.OX(b.tp);b.image&&this.OX(b.image);b.dispose()},a_:function(b,g,e){g?(b.nra=!0,b.mra=e||1):(delete b.nra,delete b.mra)},yHa:function(b){return b&&b.mra||1},OYa:function(b,g){b.userData.Jza.material=g},Iba:function(b){return b.userData.Jza.material},PSa:function(b){return h.Xba(b)},
decode:function(b){h.Yba(b)&&(b=d.lf(b,!1));h.Xba(b)&&this.VX(b)},VX:function(b){var g=document.createElement("canvas");g.width=1;g.height=1;var e=g.getContext("2d");k.VX=function(c){e.drawImage(c,0,0,1,1,0,0,1,1)};return k.VX(b)},n3:null,$H:function(){if(!this.n3){var b=document.createElement("canvas");b.width=128;b.height=128;b.fKa=!0;b.getContext("2d").clearRect(0,0,b.width,b.height);this.n3=b}return this.n3},uEa:function(b){if(h.KVa(b))return!1;if(h.Qva(b))return!!b.nra;if(m.mb()){if(void 0!==
this.y6)return this.y6}else if(void 0!==this.r3)return this.r3;return!1}};return k});
define("cr",["require","hp","nr"],function(a){function d(b){this.gQ=(b=h.iz(b))&&h.Dva();this.fP=b&&h.Cva();this.Wy=0;this.ws=void 0;this.yO=this.zO=0;this.premultipliedAlpha=!1;this.side=void 0;this.params={}}var h=a("hp"),m=a("nr"),k={zba:function(b){return b.map||b.uniforms&&b.uniforms.texture&&b.uniforms.texture.value},Zy:function(b,g){b||(b=m.createTexture());g||(g=new k.qn);b=g.fXa()?this.pTa(b,g):this.Yaa(b);g.side&&(b.side=g.side);for(var e in g.params)b[e]=g.params[e];return b},Yaa:function(b){var g=
new THREE.MeshBasicMaterial;g.map=b;this.yA(g);return g},pTa:function(b,g){var e={uniforms:{},transparent:!0};e.uniforms.texture={type:"sampler2D",value:b};b.flipY=!g.gQ;e.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(g.gQ?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");if(g.fP||g.Wy||g.ws||g.premultipliedAlpha){var c=[],f=[];c=c.concat(["uniform sampler2D texture;","uniform float opacity;","varying vec2 vUV;"]);
e.uniforms.opacity={type:"float",value:1};f=f.concat(["   vec4 color = texture2D(texture, vUV);","   float alpha = color.a * opacity;"]);g.premultipliedAlpha&&(f=f.concat(["   if (color.a > 0.0)","       color.rgb /= color.a;"]));if(g.Wy){var l=b.image.width||b.image.videoWidth,p=b.image.height||b.image.videoHeight,q=.5*Math.min(l,p)*g.Wy;e.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(q/l,q/p)};c=c.concat(["uniform vec2 blendingLimit;"]);f=f.concat("   float xCoef = 0.0;,   float yCoef = 0.0;,   if (vUV.x < blendingLimit.x) {,      xCoef = 1.0 - (vUV.x / blendingLimit.x);,      xCoef = xCoef * xCoef;,   } else if ((1.0 - vUV.x) < blendingLimit.x) {,      xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);,      xCoef = xCoef * xCoef;,   },   if (vUV.y < blendingLimit.y) {,      yCoef = 1.0 - (vUV.y / blendingLimit.y);,      yCoef = yCoef * yCoef;,   } else if ((1.0 - vUV.y) < blendingLimit.y) {,      yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);,      yCoef = yCoef * yCoef;,   },   alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(","))}g.ws&&
(e.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(g.ws.substr(1,2),16)/255,parseInt(g.ws.substr(3,2),16)/255,parseInt(g.ws.substr(5,2),16)/255)},e.uniforms.chromaThreshold={type:"f",value:g.zO},e.uniforms.chromaSmoothing={type:"f",value:g.yO},c=c.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),f=f.concat("    float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{    float maskCr = 0.7132 * (chromaColor.r - maskY);{    float maskCb = 0.5647 * (chromaColor.b - maskY);{    float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{    float Cr = 0.7132 * (color.r - Y);{    float Cb = 0.5647 * (color.b - Y);{    float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{    alpha = alpha * chromaBlendValue;".split("{")));
f=f.concat(["\tgl_FragColor = vec4(color"+(g.fP?".bgr":".rgb")+", alpha);"]);b.format=THREE.RGBAFormat;e.fragmentShader=[].concat(c,["void main() {"],f,["}"]).join("\n")}else e.fragmentShader="uniform sampler2D texture;\nvarying vec2 vUV;\nvoid main() {\n\tgl_FragColor = texture2D(texture, vUV);\n}";b=new THREE.ShaderMaterial(e);this.yA(b);return b},dispose:function(b){Array.isArray(b)||(b=[b]);b.forEach(function(g){var e=k.zba(g);e&&m.dispose(e);g.dispose()})},yA:function(b){b.side=THREE.FrontSide;
b.transparent=!0;b.depthTest=!1;b.needsUpdate=!0;b.userData={};b.userData.twa={};m.OYa(k.zba(b),b)},ida:function(b,g){b.userData.twa.wo=g},Qua:function(b){return b.userData.twa.wo}};d.prototype.fXa=function(){return this.gQ||this.fP||this.Wy||this.ws||this.premultipliedAlpha};d.prototype.isEqual=function(b){return this.gQ===b.gQ&&this.fP===b.fP&&this.Wy===b.Wy&&this.ws===b.ws&&this.zO===b.zO&&this.yO===b.yO&&this.premultipliedAlpha===b.premultipliedAlpha&&this.side===b.side};k.qn=d;return k});
define("em",["require","gR","cr"],function(a){function d(b){return Array.isArray(b)?b:b?[b]:[]}var h=a("gR"),m=a("cr"),k={create:function(b,g){var e=new THREE.Mesh(b,g);e.overdraw=!1;e.matrixAutoUpdate=!1;e.userData.Ov={};e.userData.Ov.attributes={};d(g).forEach(function(c){m.ida(c,e)});return e},Qta:function(b){var g=new THREE.Group;k.forEach(b,function(e){g.add(e)});return g},iYa:function(b,g){d(g).forEach(function(e){m.ida(e,null)});m.dispose(b.material);b.material=g;d(g).forEach(function(e){m.ida(e,
b)})},dz:function(b){return d(b.material)},sUa:function(b,g){if(b.layers.mask&g.layers.mask){var e=k.dz(b);return h.rUa(b.geometry,g,b.matrixWorld).map(function(c){return e[c]})}return[]},cda:function(b,g){b.geometry=g},oUa:function(b,g){var e=[];k.Cj(b,function(c){var f=k.dz(c);g.forEach(function(l){var p=h.nUa(c.geometry,c.matrixWorld,l);if(p){var q=m.zba(f[p.materialIndex]);l=q.image;l==q.Hr&&(l=q.Hr.Ra);q=Math.round(p.Pza*l.width-.5);q=0>q?0:q>l.width-1?l.width-1:q;p=Math.round((1-p.$za)*l.height-
.5);p=0>p?0:p>l.height-1?l.height-1:p;e.push({x:q,y:p,source:l})}})});return e},CI:function(b,g){k.forEach(b,function(e){g?g.add(e):e.parent&&e.parent.remove(e)})},Dz:"panoramaId",WD:"panoramaFrameId",h_:"panoramaOverlayId",g_:"levelIndex",setAttribute:function(b,g,e){k.Cj(b,function(c){c.userData.Ov.attributes[g]=e})},getAttribute:function(b,g){return b.userData.Ov.attributes[g]},mua:function(b,g,e){for(var c=[],f=0,l=b.length;f<l;f++){var p=b[f];p.userData.Ov.attributes[g]!==e&&c.push(p)}return c},
RX:function(b,g,e){for(var c=[],f=0,l=b.length;f<l;f++){var p=b[f];p.userData.Ov.attributes[g]===e&&c.push(p)}return c},kva:function(b,g){for(var e={},c=0,f=b.length;c<f;c++){var l=b[c],p=l.userData.Ov.attributes[g];void 0!==p&&(e[p]||(e[p]=[])).push(l)}return e},dY:function(b){b=b.userData.Ov.alpha;return void 0===b?1:b},nf:function(b,g){k.Cj(b,function(e){e.userData.Ov.alpha=g;k.dz(e).forEach(function(c){c.opacity=g;"ShaderMaterial"==c.type&&c.uniforms&&c.uniforms.opacity&&(c.uniforms.opacity.value=
g)})})},wq:function(b,g){k.Cj(b,function(e){e.matrix.copy(g);e.matrixWorldNeedsUpdate=!0})},hva:function(b){return b.renderOrder},OZ:function(b,g){k.forEach(b,function(e){e.renderOrder=g})},dispose:function(b){k.Cj(b,function(g){g.geometry&&(h.dispose(g.geometry),g.geometry=void 0);g.material&&(m.dispose(g.material),g.material=void 0)})},Hk:function(b){var g=[];k.Cj(b,function(e){g.push(e)});return g},forEach:function(b,g){Array.isArray(b)?b.forEach(g):b&&b.isObject3D&&(b.isMesh||"Group"==b.type)&&
g(b)},Cj:function(b,g){if(Array.isArray(b))for(var e=0,c=b.length;e<c;e++)k.Cj(b[e],g);else if(b&&b.children)for(e=0,c=b.children.length;e<c;e++)k.Cj(b.children[e],g);b&&b.isObject3D&&b.isMesh&&g(b)}};return k});
define("V",["require","em"],function(a){var d=a("em");return{Hk:function(h){var m=[];h.children&&h.children.forEach(function(k){d.Cj(k,function(b){b.userData&&b.userData.Ov&&m.push(b)})});return m},Xca:function(h,m){h.userData.cameras=m},oba:function(h){return h.userData.cameras||[]},iD:function(h){return h.userData.cameras&&0<h.userData.cameras.length&&h.userData.cameras[0]||null}}});
define("oE","require li ox gf em V".split(" "),function(a){function d(p,q){return p.reduce(function(n,r){return n?!0:!!(q.layers.mask&r.layers.mask)},!1)}function h(p){p=b(p).loaded;return void 0===p?!1:p}function m(p){p=b(p).active;return void 0===p?!0:p}function k(p){p=b(p).blending;return void 0===p?!1:p}function b(p){return p.userData.bWa||(p.userData.bWa={})}var g=a("li"),e=a("ox"),c=a("gf"),f=a("em"),l=a("V");a=g.extend(c,function(){c.call(this);this.A=void 0;this.v6=!1});a.prototype.update=
function(p){var q=p.Bb&&this.A&&!this.A.Bb;this.A=p.clone();this.v6||(q?this.vJa():this.zRa())};a.prototype.zRa=function(){var p=!1,q=l.oba(this.A.Bg),n=l.Hk(this.A.Bg);f.RX(n,f.WD,void 0).forEach(function(w){var x=d(q,w)&&0<f.dY(w)&&m(w);w.visible!=x&&(w.visible=x,p=!0)});n=f.mua(n,f.WD,void 0);n=f.kva(n,f.Dz);for(var r in n){var u=n[r],t=q.map(function(){return!1});u.sort(function(w,x){return f.hva(x)-f.hva(w)});var v=u.some(k);u.forEach(function(w){var x=d(q,w)&&0<f.dY(w)&&m(w)&&(!v||h(w));if(x){x=
!0;for(var y=v||h(w)&&.999<f.dY(w),A=0;A<q.length;A++)w.layers.mask&q[A].layers.mask&&!t[A]&&(x=!1,y&&(t[A]=!0));x=!x}w.visible!=x&&(w.visible=x,p=!0)})}p&&this.trigger(e.ta)};a.prototype.vJa=function(){this.v6=!0;l.Hk(this.A.Bg).forEach(function(p){p.visible=!1});setTimeout(function(){this.v6=!1;this.update(this.A)}.bind(this),300);this.trigger(e.ta)};a.gda=function(p,q){b(p).loaded=q};a.setActive=function(p,q){b(p).active=q};a.wya=function(p,q){f.Cj(p,function(n){b(n).blending=q})};return a});
define("kk","require li ox hP gf oE cr em V v".split(" "),function(a){function d(v){return(v=v.userData.Eo)&&!(!v.hca&&!v.dca)}function h(v){return v.userData.Eo||(v.userData.Eo={})}function m(v){return h(v).RD}function k(v){return h(v).enabled||!1}function b(v){return!m(v).cca()}var g=a("li"),e=a("ox");a("hP");var c=a("gf"),f=a("oE"),l=a("cr"),p=a("em"),q=a("V"),n=a("v"),r=g.extend(c,function(){c.call(this);this.QF=[];this.Px=[];this.wE=[];this.A=void 0;this.ps=null;this.Py=this.Py.bind(this)});
r.prototype.update=function(v){this.A=v.clone();this.XQa()?this.Py():this.msa()};r.prototype.msa=function(){this.ps||(this.ps=setTimeout(this.Py,1E3))};var u=Math.PI/180;r.prototype.XQa=function(){var v=0<this.A.Sl?1E3:this.A.vO/Math.tan(Math.min(.5*this.A.Uh,89.99)*u);n.mb()||(v*=1.5);var w=q.oba(this.A.Bg),x=q.Hk(this.A.Bg).filter(d),y=x.filter(k);var A=p.mua(y,p.WD,void 0);A=p.kva(A,p.WD);A.none=p.RX(y,p.WD,void 0);y=[];for(var B in A)for(var z=A[B],C=0,G=z.length;C<G;C++){var D=z[C];(h(D).hca||
r.BQ)==r.Wq&&y.push(D)}for(var E=0,H=w.length;E<H;E++){var R=w[E];for(B in A){z=A[B];var S=null,Q=Number.NEGATIVE_INFINITY,M=null,W=Number.POSITIVE_INFINITY;C=0;for(G=z.length;C<G;C++)if(D=z[C],D.layers.mask&R.layers.mask&&(h(D).hca||r.BQ)==r.BQ){var I=90*h(D).CWa;I<v&&I>Q?(S=D,Q=I):I>=v&&I<W&&(M=D,W=I)}this.A.Bb&&M&&S?Q>.75*v?y.push(S):y.push(M):(M&&0>y.indexOf(M)&&y.push(M),S&&0>y.indexOf(S)&&y.push(S))}}v=[];for(w=0;w<y.length;w++)B=y[w],0>v.indexOf(B)&&v.push(B);y=v;a:{v=this.wE;w=y;for(B=0;B<
v.length;B++)if(0>w.indexOf(v[B])){v=!1;break a}for(B=0;B<w.length;B++)if(0>v.indexOf(w[B])){v=!1;break a}v=!0}v=!v;this.wE=y;C=0;for(G=x.length;C<G;C++)D=x[C],k(D)&&f.setActive(D,0<=this.wE.indexOf(D));return v};r.prototype.Py=function(){this.ps=null;for(var v=[],w=[],x=[],y=(new Date).getTime()-t,A=q.oba(this.A.Bg),B=q.Hk(this.A.Bg),z=0,C=B.length;z<C;z++){var G=B[z],D=G.userData.Eo;if(D){var E=p.dz(G);if(D.enabled){var H=[];if(0<=this.wE.indexOf(G)){if(0<this.A.Sl||(h(G).dca||r.n0)==r.Po)H=E;else for(var R=
0,S=A.length;R<S;R++){var Q=p.sUa(G,A[R]);if(0==R)H=Q;else for(var M=0,W=Q.length;M<W;M++){var I=Q[M];0>H.indexOf(I)&&H.push(I)}}M=0;for(W=H.length;M<W;M++)I=H[M],(I.userData.Eo||(I.userData.Eo={})).ewa=y}this.K1(G,H);M=0;for(W=D.Eq.length;M<W;M++)v.push(D.Eq[M]);M=0;for(W=D.Tv.length;M<W;M++)w.push(D.Tv[M])}else for(D.Tv||this.K1(G,[]),M=0,W=D.Tv.length;M<W;M++)I=D.Tv[M],0>D.Eq.indexOf(I)&&w.push(I);M=0;for(W=E.length;M<W;M++)x.push(E[M])}}z=[];M=0;for(W=this.Px.length;M<W;M++)I=this.Px[M],0>x.indexOf(I)?
I.userData.Eo.RD.unload():b(I)?this.h9(I,!1):z.push(I);this.Px=z;M=Math.max(r.zwa(),Math.round(1.25*w.length))-v.length;if(this.Px.length>M)for(this.Px.sort(function(P,U){return h(P).ewa-h(U).ewa}),z=this.Px.splice(0,this.Px.length-M),M=0,W=z.length;M<W;M++)I=z[M],I.userData.Eo.RD.unload(),this.h9(I,!1);w=[];z=0;for(C=this.wE.length;z<C;z++)G=this.wE[z],D=G.userData.Eo,0<D.Eq.length&&w.push(G);x=Number.POSITIVE_INFINITY;z=0;for(C=w.length;z<C;z++)G=w[z],D=G.userData.Eo,M=D.priority,M=void 0!==M?M:
Number.POSITIVE_INFINITY,M<x&&(x=M);v=[];z=0;for(C=w.length;z<C;z++)if(G=w[z],D=G.userData.Eo,M=D.priority,M=void 0!==M?M:Number.POSITIVE_INFINITY,M==x)for(Q=D.Eq,M=0,W=Q.length;M<W;M++)I=Q[M],v.push(I);M=0;for(W=this.QF.length;M<W;M++)I=this.QF[M],0>v.indexOf(I)&&(I=I.userData.Eo.RD,I.unbind(e.Z,this.V9,this,!0),I.unbind(e.Gc,this.W9,this,!0),I.YSa());z=this.QF;this.QF=v;C=this.QF.slice();M=0;for(W=C.length;M<W;M++)I=C[M],0>z.indexOf(I)&&(I=I.userData.Eo.RD,I.bind(e.Z,this.V9,this,!0),I.bind(e.Gc,
this.W9,this,!0),I.load())};r.prototype.V9=function(v){this.ura(v.source);this.trigger(e.Z)};r.prototype.W9=function(v){this.ura(v.source)};r.prototype.ura=function(v){v.unbind(e.Z,this.V9,this,!0);v.unbind(e.Gc,this.W9,this,!0);var w=v.material(),x=this.QF,y=x.indexOf(w);0<=y&&x.splice(y,1);this.Px.push(w);this.h9(w,!0);v=v.wo();0<=h(v).Eq.indexOf(w)&&this.K1(v,h(v).Tv);this.msa()};r.prototype.K1=function(v,w){var x=h(v).Tv;x=x?x.length:void 0;var y=h(v).Eq;y=y?y.length:void 0;h(v).Tv=w;h(v).Eq=
w.filter(b);f.gda(v,0==h(v).Eq.length&&(h(v).dca||r.n0)==r.Po);w=(w=h(v).Tv)?w.length:void 0;var A=h(v).Eq;A=A?A.length:void 0;y===A&&x===w||v.dispatchEvent({type:e.sc,Sg:w?100-100*A/w:100});y!==A&&0===A&&v.dispatchEvent({type:e.Z})};r.prototype.h9=function(v,w){if(w!=v.visible){var x=l.Qua(v),y=p.getAttribute(x,p.Dz),A=p.getAttribute(x,p.g_);if(void 0===y||void 0===A)v.visible=w;else{var B=q.Hk(this.A.Bg).filter(d);y=p.RX(B,p.Dz,y);A=p.RX(y,p.g_,A);var z=p.dz(x).indexOf(v);v=A.map(function(C){return p.dz(C)[z]});
for(x=0;x<v.length&&w;x++)w=w&&m(v[x]).cca();for(x=0;x<v.length;x++)v[x].visible=w}}};r.zwa=function(){var v=n.mb()?128:384;r.zwa=function(){return v};return v};r.mc=function(v,w){p.Cj(v,function(x){h(x).enabled=w})};r.enabled=k;r.GZ=function(v,w){p.Cj(v,function(x){h(x).CWa=w})};r.Po="all";r.n0="in view";r.Xv=function(v,w){p.Cj(v,function(x){h(x).dca=w})};r.Wq="always";r.BQ="on demand";r.Yv=function(v,w){p.Cj(v,function(x){h(x).hca=w})};r.UP=function(v,w){p.Cj(v,function(x){h(x).priority=w})};r.LD=
function(v,w){p.Cj(v,function(x){h(x).q0a=w;p.dz(x).forEach(function(y){m(y).fYa(w)})})};r.o0a=function(v){return 100-100*h(v).Eq.length/h(v).Tv.length};r.n0a=function(v){return 0==h(v).Eq.length};r.DI=function(v,w){(h(v).RD=w)&&(v.visible=w.cca())};r.RD=m;var t=(new Date).getTime();return r});
define("h","require li iS em V kk oE".split(" "),function(a){var d=a("li"),h=a("iS"),m=a("em"),k=a("V"),b=a("kk"),g=a("oE");a=d.extend(h,function(){h.call(this);this.set("tag","WebGLObject");this.set("zOrder",0);this.set("webglScene",null);this.set("meshGroup",null);this.set("camera",null)});a.prototype.An=function(){return[]};a.prototype.Qb=function(){m.dispose(this.get("meshGroup"));m.CI(this.get("meshGroup"),null);this.set("meshGroup",null);h.prototype.Qb.call(this)};a.prototype.ea=function(e){h.prototype.ea.call(this,
e);this.set("camera",k.iD(e.Bg));this.set("webglScene",e.Bg);this.get("meshGroup")||(this.set("meshGroup",m.Qta(this.An())),this.get("meshGroup").userData.yWa=this);this.M("webglScene","meshGroup")&&m.CI(this.get("meshGroup"),this.get("webglScene"));this.Dl();this.nq(e);this.RC();this.M("loadingActive","meshGroup")&&b.mc(this.get("meshGroup"),this.get("loadingActive"));this.M("blendingActive","meshGroup")&&g.wya(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.Dl=function(){this.M("composedAlpha",
"meshGroup")&&this.Jw()};a.prototype.Jw=function(){m.nf(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.nq=function(){throw"Must be overridden in descendants.";};a.prototype.RC=function(){if(this.M("index","meshGroup")){var e=this.get("meshGroup");e&&e.children.forEach(function(c,f,l){m.OZ(c,this.get("index")+f/l.length)}.bind(this))}};return a});
define("fv",["require","li","gR","h","em"],function(a){var d=a("li"),h=a("gR"),m=a("h"),k=a("em"),b=new THREE.Matrix4,g=Math.PI/180;a=d.extend(m,function(){m.call(this);this.set("tag","Frame");this.jh=new THREE.Matrix4;this.Bd=new THREE.Matrix4;this.xl=new THREE.Matrix4;this.gi=new THREE.Matrix4});a.prototype.ea=function(e){m.prototype.ea.call(this,e)};a.prototype.nq=function(e){var c=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.jh.makeTranslation(.5*-this.get("composedTranslationX")*
h.Df,.5*this.get("composedTranslationY")*h.Df,.5*this.get("composedTranslationZ")*h.Df),c=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Bd.makeRotationY(-e.Sa*g),this.Bd.multiply(b.makeRotationX(-this.get("composedDeltaPitch")*g)),this.Bd.multiply(b.makeRotationY(this.get("composedDeltaYaw")*g)),this.Bd.multiply(b.makeRotationY(e.Sa*g)),c=!0);this.M("flipHorizontally")&&(e=this.get("flipHorizontally")?-1:1,this.xl.makeScale(e,1,1),c=!0);if(c||this.M("meshGroup"))this.gi.copy(this.jh),
this.gi.multiply(this.Bd),this.gi.multiply(this.xl),k.wq(this.get("meshGroup"),this.gi)};return a});
define("z",["require"],function(){function a(){this.AF=d++;this.jL="_map_"+this.AF+"_key";this.rT={};this.wp=[];this.length=0}var d=0;a.prototype.set=a.prototype.add=function(h,m){0>this.wp.indexOf(h)&&this.wp.push(h);if("object"===typeof h&&null!==h){var k=h[this.jL];if(!k){k=this.jL;for(var b=[],g=0;8>g;g++)b.push(Math.floor(16*Math.random()).toString(16));k=h[k]=b.join("")}}else k=h;this.rT[k]=m;this.length=this.wp.length};a.prototype.get=function(h){return this.rT["object"===typeof h&&null!==
h?h[this.jL]:h]};a.prototype.XUa=function(h){return 0<=this.wp.indexOf(h)};a.prototype.remove=function(h){var m=this.wp.indexOf(h);0>m||(this.wp.splice(m,1),"object"===typeof h&&null!==h?(m=h[this.jL],delete h[this.jL]):m=h,delete this.rT[m],this.length=this.wp.length)};a.prototype.forEach=function(h){this.wp.slice().forEach(function(m){h(m,this.get(m))}.bind(this))};a.prototype.dispose=function(){for(;this.wp.length;)this.remove(this.wp.pop());this.wp=this.rT=null};return a});
define("nR",["require","li","gf","z"],function(a){function d(){this.fD=[]}var h=a("li"),m=a("gf"),k=a("z");a=h.extend(m,function(b){m.call(this);this.bf=b;this.Uc=[];this.pu=new k;this.lO=[];this.N3=[];this.aG=this.aG.bind(this)});a.prototype.pf=function(b){this.Uc.forEach(function(g){if(g.removeEventListener)g.removeEventListener(this.bf,this.aG);else if(g.unbind)g.unbind(this.bf,this.aG,this,!0);else throw"invalid instance type";}.bind(this));this.Uc=b.slice();this.Uc.forEach(function(g){if(g.addEventListener)g.addEventListener(this.bf,
this.aG);else if(g.bind)g.bind(this.bf,this.aG,this,!0);else throw"invalid instance type";this.pu.XUa(g)||this.pu.set(g,new d)}.bind(this));this.y$()};a.prototype.dispose=function(){this.pf([]);this.Uc=null;this.pu.dispose();this.N3=this.lO=this.pu=null};a.prototype.Ul=function(b){this.lO.push(b);this.y$();return this};a.prototype.yo=function(b){this.N3.push(b);return this};a.prototype.As=function(b){this.Uc.forEach(function(g){b(g,this.pu.get(g).fD)}.bind(this))};a.prototype.Ml=function(b){b=this.pu.get(b).fD;
return 0==b.length?null:b[b.length-1]};a.prototype.aG=function(b){var g=b.target||b.source;if(g=this.pu&&this.pu.get(g))g.fD.push(b),this.N3.forEach(function(e){e(b,this)}.bind(this)),this.y$()};a.prototype.y$=function(){if(0!=this.Uc.length){for(var b=0;b<this.Uc.length;b++)if(0==this.pu.get(this.Uc[b]).fD.length)return;this.lO.length&&(b=this.lO.slice(),this.lO=[],b.forEach(function(g){g(this)}.bind(this)))}};return a});
define("cU","require li ox hP gf cr nr".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("hP"),k=a("gf"),b=a("cr"),g=a("nr"),e=d.extend(k,function(){k.call(this);this.xe=void 0;this.ub=g.createTexture();this.A=e.eJ;this.gL=m.Qk});e.prototype.type=function(){return this.xe};e.prototype.texture=function(){return this.ub};e.prototype.material=function(){return this.ub&&g.Iba(this.ub)};e.prototype.wo=function(){var c=this.ub&&g.Iba(this.ub);return c&&b.Qua(c)};e.prototype.fYa=function(c){this.gL=c};
e.prototype.load=function(){this.A==e.eJ&&(this.A=e.IQ,this.U1())};e.prototype.YSa=function(){this.SVa()&&(this.A==e.IQ?this.zW():this.xN(),this.A=e.eJ)};e.prototype.unload=function(){this.A!=e.eJ&&(this.A==e.IQ?this.zW():this.A==e.G0?this.xN():this.Ny(),this.A=e.eJ)};e.prototype.U1=function(){};e.prototype.zW=function(){};e.prototype.S1=function(){};e.prototype.xN=function(){};e.prototype.Ny=function(){g.eTa(this.texture)};e.prototype.SVa=function(){return this.A==e.IQ||this.A==e.G0};e.prototype.cca=
function(){return this.A==e.F0||this.A==e.yfa};e.prototype.dispose=function(){g.dispose(this.ub);this.ub=null};e.prototype.dG=function(c){this.A=c?e.G0:e.yfa;c?this.S1():this.trigger(h.Gc)};e.prototype.ima=function(){this.A=e.F0;this.trigger(h.Z)};e.eJ="initial";e.IQ="loading";e.G0="adding";e.yfa="error loading";e.F0="added";e.WBa="custom";e.XBa="image tile";e.y_a="image animation";e.z_a="video 360";return e});
define("fa","require li ox co lf nr cU".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("co"),k=a("lf"),b=a("nr"),g=a("cU");a=d.extend(g,function(e){g.call(this);this.xe=g.WBa;this.fd=e;this.fd||(this.A=g.F0);this.ug=this.vd=null;this.B1=this.fO=void 0});a.prototype.Rl=function(e){this.ug=e;b.UD(this.ub,this.ug);this.ug&&void 0!==this.fO&&b.a_(this.ug,this.fO,this.B1)};a.prototype.a_=function(e,c){this.fO!==e&&(this.fO=e,this.B1=c,this.ug&&b.a_(this.ug,this.fO,this.B1))};a.prototype.lf=function(){return k.lf(this.fd)};
a.prototype.update=function(){b.UD(this.ub,this.ug)};a.prototype.U1=function(){this.fd?this.UJ():this.dG(!0)};a.prototype.zW=function(){this.np()};a.prototype.S1=function(){this.ima()};a.prototype.Ny=function(){this.np()};a.prototype.dispose=function(){this.np();g.prototype.dispose.call(this)};a.prototype.ld=function(){this.dG(!0)};a.prototype.Kf=function(){this.dG(!1)};a.prototype.UJ=function(){this.vd||(this.vd=new m,this.vd.EI([this.fd]),this.vd.bind(h.Z,this.ld,this,!0),this.vd.bind(h.Gc,this.Kf,
this,!0),k.bn(this.vd,this.gL))};a.prototype.np=function(){this.vd&&(this.vd.unbind(h.Z,this.ld,this,!0),this.vd.unbind(h.Gc,this.Kf,this,!0),k.aj(this.vd,this.gL),this.vd=null)};return a});
define("dC","require li ox gf nr bg".split(" "),function(a){function d(){f||(f=!0,e.requestFrame(h,null))}function h(){for(f=!1;c.length;){var p=c.shift();p.add();if(p.ZVa())break}c.length&&d()}var m=a("li"),k=a("ox"),b=a("gf"),g=a("nr"),e=a("bg"),c=[],f=!1,l=m.extend(b,function(p,q){b.call(this);this.texture=p;this.source=q});l.prototype.ZVa=function(){return!this.source.Bga&&g.PSa(this.source)};l.prototype.decode=function(){this.source.Bga||(g.decode(this.source),this.source.Bga=!0)};l.prototype.add=
function(){g.UD(this.texture,this.source);this.trigger(k.Z)};l.prototype.remove=function(){var p=c.indexOf(this);0<=p&&c.splice(p,1);g.UD(this.texture,null)};return{add:function(p,q){p=new l(p,q);c.push(p);d();return p}}});
define("mF","require li ox co lf dC cU".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("co"),k=a("lf"),b=a("dC"),g=a("cU");a=d.extend(g,function(e){g.call(this);this.xe=g.XBa;this.fd=e;this.ug=this.BG=this.vd=null});a.prototype.lf=function(){return this.ug};a.prototype.U1=function(){this.UJ()};a.prototype.zW=function(){this.np()};a.prototype.S1=function(){this.WFa()};a.prototype.xN=function(){this.np();this.x3()};a.prototype.Ny=function(){this.np();this.x3()};a.prototype.dispose=function(){this.np();
this.x3();g.prototype.dispose.call(this)};a.prototype.ld=function(){this.ug=k.lf(this.fd);this.dG(!0)};a.prototype.Kf=function(){this.dG(!1)};a.prototype.jma=function(){this.ima()};a.prototype.UJ=function(){this.vd||(this.vd=new m,this.vd.EI([this.fd]),this.vd.bind(h.Z,this.ld,this,!0),this.vd.bind(h.Gc,this.Kf,this,!0),k.bn(this.vd,this.gL))};a.prototype.np=function(){this.vd&&(this.vd.unbind(h.Z,this.ld,this,!0),this.vd.unbind(h.Gc,this.Kf,this,!0),k.aj(this.vd,this.gL),this.vd=null)};a.prototype.WFa=
function(){this.BG=b.add(this.ub,this.ug);this.BG.bind(h.Z,this.jma,this,!0)};a.prototype.x3=function(){this.BG&&(this.BG.unbind(h.Z,this.jma,this,!0),this.BG.remove(),this.BG=null)};return a});
define("oF",["require","li","lf","nr","mF"],function(a){var d=a("li"),h=a("lf"),m=a("nr"),k=a("mF");a=d.extend(k,function(b,g,e,c,f){k.call(this,b.get("url"));this.Ga=g;this.Ja=e;this.ia=c;this.ua=f;this.qKa=0!=this.Ga||0!=this.Ja||this.ia!=b.get("width")||this.ua!=b.get("height")});a.prototype.ld=function(){this.qKa?(this.cGa(),this.np(),this.dG(!!this.ug)):k.prototype.ld.call(this)};a.prototype.xN=function(){k.prototype.xN.call(this);this.y3()};a.prototype.Ny=function(){k.prototype.Ny.call(this);
this.y3()};k.prototype.dispose=function(){k.prototype.dispose.call(this);this.y3()};a.prototype.cGa=function(){var b=h.lf(this.fd);this.ug=m.sTa(b,this.Ga,this.Ja,this.ia,this.ua)};a.prototype.y3=function(){this.ug&&(m.OX(this.ug),this.ug=null)};return a});
define("fs","require nq dz my hp fa mF oF gR cr em bY nc kk v".split(" "),function(a){var d=a("nq"),h=a("dz"),m=a("my"),k=a("hp"),b=a("fa"),g=a("mF"),e=a("oF"),c=a("gR"),f=a("cr"),l=a("em"),p=a("bY"),q=a("nc"),n=a("kk"),r=a("v"),u={oTa:function(t,v){var w=p.get(t);switch(w){case p.Cw:case p.lt:case p.Rk:return this.HFa(w,t,v);case p.Qo:case p.Wo:case p.dr:return this.JFa(w,t,v)}},uTa:function(t,v){var w=new g(v.get("posterURL"));return this.via(t,v,w)},tTa:function(t,v){var w=new b;return this.via(t,
v,w)},via:function(t,v,w){var x=t.get("hfov"),y=t.get("vfov"),A=t.get("pitch"),B=v.get("width");v=v.get("url");t=p.get(t);var z=t==p.dr?2:1,C=t==p.Wo?2:1;t=2<z+C?[h.Oa,h.hb]:[h.Ys];var G=Math.round(B/z),D=f.Zy(w.texture(),new f.qn(v));n.DI(D,w);D.visible=!0;return t.map(function(E,H){H=c.Tta(x,y,A,1,1,H%z/z,(C-1-Math.floor(H/z))/C,1/z,1/C);H=l.create(H,[D]);H.layers.set(E);n.GZ(H,G/x);return H}.bind(this))},qTa:function(t){var v=[m.hb,m.Oa,m.tc,m.oc,m.FRONT,m.BACK].map(function(){var x=new b;x.Rl(u.ZIa(t));
var y=f.Zy(x.texture());n.DI(y,x);y.visible=!0;return y}),w=c.Sta(1,1);v=l.create(w,v);n.GZ(v,256/90);v.layers.set(h.Ys);return v},x9:{},ZIa:function(t){if(!u.x9[t]){var v=document.createElement("canvas");v.width=v.height=256;var w=v.getContext("2d");w.fillStyle=t;w.fillRect(0,0,v.width,v.height);u.x9[t]=v}return u.x9[t]},HFa:function(t,v,w){var x=t==p.Cw?[h.hb,h.Oa]:[h.Ys],y=v.get("flipImageHorizontally");y&&(x=x.reverse());var A=t==p.Rk?1:6*x.length,B=w.get("width")/A,z=w.get("height");if(d.Ka("TiledImageResourceLevel",
w)){var C=w.get("colCount",A)/A;var G=w.get("rowCount",1)}else this.upa(t,w)?(C=Math.ceil(B/k.wt()),G=Math.ceil(z/k.wt())):G=C=1;var D=[m.hb,m.Oa,m.tc,m.oc,m.FRONT,m.BACK];return x.map(function(E,H){var R=Array(6);D.forEach(function(M,W){var I=q.tba(v,w,M);if(d.Ka("TiledImageResourceLevel",w))R[c.Cfa.indexOf(M)]=this.CFa(I,t,E,M,y,C,G);else{W=t==p.Rk?0:Math.round((H*D.length+W)*B);var P=1<C||1<G||t!=p.Rk?256<B?1:.5:0;R[c.Cfa.indexOf(M)]=this.pia(I,C,G,W,0,B,z,P)}}.bind(this));var S=Array.prototype.concat.apply([],
R),Q=c.Sta(C,G);S=l.create(Q,S);S.layers.set(E);n.GZ(S,B/90);return S}.bind(this))},JFa:function(t,v,w){var x=t==p.Qo?[h.Ys]:[h.Oa,h.hb];v.get("flipImageHorizontally")&&(x=x.reverse());var y=w.get("width"),A=w.get("height"),B=v.get("hfov"),z=v.get("vfov"),C=v.get("pitch"),G=Math.round(y/B/(A/z)),D=Math.round(y/G),E=Math.round(A/Math.round(A/z/(y/B))),H=(t=this.upa(t,w))?Math.ceil(D/k.wt()):1,R=t?Math.ceil(E/k.wt()):1;return x.map(function(S,Q){Q=this.pia(w,H,R,Q%G*D,Math.floor(Q/G)*E,D,E);var M=c.Tta(B,
z,C,H,R,0,0,1,1);Q=l.create(M,Q);Q.layers.set(S);n.GZ(Q,D/B);return Q}.bind(this))},upa:function(t,v){switch(t){case p.Cw:case p.lt:case p.Wo:case p.dr:return!0;case p.Rk:return!1;case p.Qo:return r.iva().maxTextureSize<Math.max(v.get("width"),v.get("height"))?!0:k.an()||r.mb()?!1:r.cd()==r.Iz?!0:!1}},pia:function(t,v,w,x,y,A,B,z){z||(z=0);for(var C=[],G=0;G<w;G++)for(var D=y+z+(B-2*z)*G/w,E=y+z+(B-2*z)*(G+1)/w,H=0;H<v;H++){var R=x+z+(A-2*z)*H/v,S=x+z+(A-2*z)*(H+1)/v;R=t?new e(t,R,D,S-R,E-D):new b;
S=f.Yaa(R.texture());n.DI(S,R);C.push(S)}return C},CFa:function(t,v,w,x,y,A,B){for(var z=[],C=0;C<B;C++)for(var G=0;G<A;G++){var D=t?new g(q.dva(t,v,w,x,y,B,C,G)):new b;var E=f.Yaa(D.texture());n.DI(E,D);E.visible=!1;z.push(E)}return z}};return u});
define("dg","require li ox fv nR fs kk".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("fv"),k=a("nR"),b=a("fs"),g=a("kk");a=d.extend(m,function(e){m.call(this);this.vc=e;this.set("tag","SolidFrame");this.Kg=null});a.prototype.Lb=function(){this.Kg=(new k(h.Z)).Ul(this.ld.bind(this));m.prototype.Lb.call(this)};a.prototype.Qb=function(){this.Kg.dispose();m.prototype.Qb.call(this)};a.prototype.An=function(){var e=[b.qTa(this.vc)];g.Yv(e,g.Wq);g.Xv(e,g.Po);this.Kg.pf(e);return e};a.prototype.ld=
function(){this.trigger(h.Sc);this.trigger(h.Z)};return a});
define("lz","require li eK dg nZ bE".split(" "),function(a){var d=a("li"),h=a("eK"),m=a("dg"),k=a("nZ"),b=a("bE");a=d.extend(h,function(g,e,c,f){h.call(this,g,e,c,f);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(g){if(!this.Gb){this.F.ln||(this.F.ln=new m("#000000"),this.F.ln.set("alpha",1),this.j.add(this.F.ln));if(!this.V){this.F.ln.Th();var e=2*this.F.FH;this.V=new k("linear",[new b("alpha",2,0,void 0)],e);this.F.ln.Th()}this.V.yb(g);this.F.ln.set("alpha",
Math.min(.99,this.V.cb("alpha")));this.j.mf(this.F.Bc).set("alpha",1);this.V&&this.V.Ke()&&(this.Gb=!0)}};return a});
define("bI",["require","li","eK","nZ","bE"],function(a){var d=a("li"),h=a("eK"),m=a("nZ"),k=a("bE");a=d.extend(h,function(b,g,e,c){h.call(this,b,g,e,c);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(b){if(!this.Gb){if(!this.V){var g=this.F.fc?.01*this.F.FH:this.F.Zta;this.V=new m("linear",[new k("alpha",1,0,void 0)],g)}this.V.yb(b);b=this.V.cb("alpha");this.j.mf(this.F.Ug).set("alpha",b);this.V.Ke()&&(this.Gb=!0)}};return a});
define("nv","require li eK dg nZ bE".split(" "),function(a){var d=a("li"),h=a("eK"),m=a("dg"),k=a("nZ"),b=a("bE");a=d.extend(h,function(g,e,c,f){h.call(this,g,e,c,f);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(g){if(!this.Gb){this.F.ln||(this.F.ln=new m("#000000"),this.F.ln.set("alpha",0),this.j.add(this.F.ln));if(!this.V){this.F.ln.Th();var e=2*this.F.Zta;this.V=new k("linear",[new b("alpha",0,2,void 0)],e)}this.V.yb(g);g=Math.min(1,this.V.cb("alpha"));
this.F.ln.set("alpha",g);1==g&&this.j.mf(this.F.Ug).set("alpha",0);this.V.Ke()&&(this.Gb=!0)}};return a});
define("ch",["require","li","eK","nZ","bE"],function(a){function d(g,e,c){for(;g<e;)g+=c-e;for(;g>c;)g-=c-e;return g}var h=a("li"),m=a("eK"),k=a("nZ"),b=a("bE");a=h.extend(m,function(g,e,c,f){m.call(this,g,e,c,f);this.V=null;this.Gb=!1;this.Bm=0});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(g){this.Gb||(this.V||(this.V=this.Bm<this.F.so.length?this.TFa(this.Bm):this.yFa()),this.V.yb(g),this.Pb.bw(this.V.cb("yaw"),this.V.cb("pitch")),this.Pb.Co(this.V.cb("hfov")),this.Pb.ND(this.V.cb("stereographicFactor")),
this.V.Ke()&&(this.V=null,this.Bm++,this.Bm>this.F.so.length&&(this.Pb.PP(!0),this.Gb=!0)))};a.prototype.yFa=function(){var g=d(this.j.Rc(),-180,180),e=this.j.Lc();this.j.Mf();var c=this.j.xg(),f=this.j.A.Sl,l=this.F.zg.get("hfov");l={Sa:this.F.zg.get("yaw"),pitch:this.F.zg.get("pitch",e),Xe:this.j.Mf(),ze:l?this.Pb.cD(l):c,Sl:0};this.Pb.jXa(this.F.Bc,l);l.Sa=d(l.Sa,g-180,g+180);var p=.5<Math.abs(c-l.ze),q=Math.abs(f-l.Sl),n=.01<q;p=this.F.Bb()?1:Math.max(p?this.F.f_:1,n?this.F.xxa*q:1);return new k(n?
"linear":"cubic_in_out",[new b("yaw",g,l.Sa,void 0),new b("pitch",e,l.pitch,void 0),new b("hfov",c,l.ze,void 0),new b("stereographicFactor",f,l.Sl,void 0)],p)};a.prototype.TFa=function(g){var e=this.F.so[g],c=d(this.j.Rc(),-180,180),f=this.j.Lc();this.j.Mf();var l=this.j.xg(),p=this.j.A.Sl,q=e.get("targetStereographicFactor",p),n=e.get("targetHfov");if(n)n=this.Pb.cD(n);else{for(n=!1;g<this.F.so.length&&!n;g++)n=void 0!==this.F.so[g].get("targetHfov");n?n=l:(n=this.Pb.cD(this.F.zg.get("hfov",this.Pb.Vta())),
n=l+(n-l)*(p-q))}g=e.get("targetYaw",c);var r=e.get("targetPitch",f);this.j.Mf();switch(e.get("path")){case "left":g=d(g,c-360,c);break;case "right":g=d(g,c,c+360);break;case "longest":g=d(g,-360,360);g=g>=c?d(g,c,c+360):d(g,c-360,c);break;default:g=d(g,c-180,c+180)}return new k(e.get("easing"),[new b("yaw",c,g,e.get("yawSpeed")),new b("pitch",f,r,e.get("pitchSpeed")),new b("hfov",l,n,e.get("hfovSpeed")),new b("stereographicFactor",p,q,e.get("stereographicFactorSpeed"))],e.get("duration"))};return a});
define("fO",["require","li","eK","nZ","bE"],function(a){var d=a("li"),h=a("eK"),m=a("nZ"),k=a("bE");a=d.extend(h,function(b,g,e,c){h.call(this,b,g,e,c);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(b){if(!this.Gb){if(!this.V){var g=this.j.Lc(),e=this.j.xg(),c=this.j.A.Sl,f=this.F.Af.get("stereographicFactor",0),l=Math.abs(c-f),p=0<f?this.F.Af.get("pitch",g):g,q=this.F.Af.get("hfov");q=q?this.Pb.cD(q):e;0==f&&(q=Math.min(e,this.Pb.AZ(this.F.Bc,q)));this.Pb.PP(!1);
l=this.F.Bb()?1:Math.max(.5<Math.abs(e-q)?this.F.f_:1,.01<l?this.F.xxa:1);this.V=new m("cubic_in_out",[new k("hfov",e,q,void 0),new k("pitch",g,p,void 0),new k("stereographicFactor",c,f,void 0)],l)}this.V.yb(b);this.Pb.Co(this.V.cb("hfov"));this.Pb.ND(this.V.cb("stereographicFactor"));this.Pb.bw(this.j.Rc(),this.V.cb("pitch"));this.V.Ke()&&(this.Pb.yi(this.F.Bc),this.Pb.bw(this.F.Af.get("yaw"),this.F.Af.get("pitch",this.j.Lc())),this.Gb=!0)}};return a});
define("eu",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){var m=this.j.mf(this.F.Ug);this.j.remove(m)};return a});define("iN",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){var m=(this.F.fc||this.F.nc).get("model");m.set("objects",m.get("objects").filter(function(k){return k!=this.F.Qv}.bind(this)));this.F.Qv=null};return a});
define("s",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.Pb.yi(this.F.Bc);this.Pb.bw(this.F.zg.get("yaw"),this.F.zg.get("pitch",this.j.Lc()));var m=this.F.zg.get("hfov");m&&(m=this.Pb.cD(m),this.Pb.Co(m))};return a});
define("dm",["require","li","kL","lU"],function(a){var d=a("li");a("kL");var h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.Pb.yi(this.F.Bc);if(this.F.PD.get("keepInitialPositionOnTranslation")){var m=this.F.zg.get("yaw");var k=this.F.zg.get("pitch")}else k=this.F.nc.get("model").get("camera"),m=k.get("yaw")-this.F.nc.get("yaw"),k=this.F.PD.get("enterPointingToHorizon")?0:k.get("pitch");this.Pb.bw(m,k);if(m=this.F.zg.get("hfov"))m=this.Pb.cD(m),this.Pb.Co(m)};
return a});define("oS",["require","li","kL","lU"],function(a){var d=a("li");a("kL");var h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.Pb.yi(this.F.Bc);if(this.F.PD.get("keepInitialPositionOnTranslation")){var m=this.F.zg.get("yaw");var k=this.F.zg.get("pitch")}else k=this.F.nc.get("model").get("camera"),m=k.get("yaw")-this.F.nc.get("yaw"),k=k.get("pitch");this.Pb.bw(m,k)};return a});
define("kM",["require","li","ox","eK"],function(a){var d=a("li"),h=a("ox"),m=a("eK");a=d.extend(m,function(k,b,g,e){m.call(this,k,b,g,e);this.da=null;this.Gb=!1});a.prototype.sLa=function(){this.Gb=!0};a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(){if(!this.da&&(this.da=this.F.fc.get("model"),this.F.Hj.get("model")==this.da)){var k=this.da.get("camera");k.set("easing",0);k.set("x",this.F.fc.get("x"));k.set("y",this.F.fc.get("y"));k.set("z",this.F.fc.get("z"));k.set("yaw",this.j.Rc()+
this.F.fc.get("yaw"));k.set("pitch",this.j.Lc());k.set("fov",this.j.Wa()>this.j.xb()?this.j.UH():this.j.VH());this.da.bind(h.Zz,this.sLa,this,!0)}};return a});define("hM",["require","li","lU","oU"],function(a){var d=a("li"),h=a("lU"),m=a("oU");a=d.extend(h,function(k,b,g,e){h.call(this,k,b,g,e)});a.prototype.Qi=function(){this.F.Bc&&(this.F.mode==m.Q0||this.F.mode==m.R0?this.F.Bc.set("minFaceSize",1024):this.F.Bc.set("minFaceSize",void 0))};return a});
define("hg",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.Pb.yi(this.F.Bc);var m=this.F.Ida?this.F.Af.get("stereographicFactor",0):0;this.Pb.ND(m);this.Pb.bw(this.F.Af.get("yaw"),this.F.Af.get("pitch",this.j.Lc()));(m=this.F.Af.get("hfov"))||this.F.Ug||(m=this.Pb.Vta());m&&(m=this.Pb.cD(m),this.Pb.Co(m),this.Pb.PP(!this.F.Ida))};return a});
define("gi",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.Pb.yi(this.F.Bc);var m=this.Pb.AZ(this.F.Bc,this.j.xg());this.Pb.Co(m);this.Pb.bw(this.j.Rc()+this.F.JI.Fua(),this.j.Lc())};a.prototype.vD=function(){return!0};return a});
define("ok",["require","li","eK","nZ","bE"],function(a){var d=a("li"),h=a("eK"),m=a("nZ"),k=a("bE");a=d.extend(h,function(b,g,e,c){h.call(this,b,g,e,c);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(b){if(!this.Gb){if(!this.V){var g=this.j.xg(),e=this.Pb.AZ(this.F.Bc,g),c=!this.F.Bb()&&.01<Math.abs(g-e)?this.F.f_:1;this.V=new m("cubic_in_out",[new k("hfov",g,e,void 0)],c)}this.V.yb(b);this.Pb.Co(this.V.cb("hfov"));this.V.Ke()&&(this.Pb.PP(!0),this.Gb=!0)}};
return a});
define("fE",["require","li","eK","nZ","bE"],function(a){var d=a("li"),h=a("eK"),m=a("nZ"),k=a("bE");a=d.extend(h,function(b,g,e,c){h.call(this,b,g,e,c);this.V=null;this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(b){if(!this.Gb){if(!this.V){var g=this.j.xg(),e=Math.min(this.Pb.AZ(this.F.Bc,g),g),c=!this.F.Bb()&&.01<Math.abs(g-e)?this.F.f_:1;this.V=new m("cubic_in_out",[new k("hfov",g,e,void 0)],c);this.Pb.PP(!1)}this.V.yb(b);this.Pb.Co(this.V.cb("hfov"));this.V.Ke()&&(this.Pb.yi(this.F.Bc),
this.Pb.bw(this.j.Rc()+this.F.JI.Fua(),this.j.Lc()),this.Gb=!0)}};a.prototype.vD=function(){return!0};return a});define("dM",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){this.F.fc&&this.F.Hj.get("model")==this.F.fc.get("model")&&this.j.xc.wI([this.F.Hj])};return a});
define("lZ",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Qi=function(){var m=[this.j.xc];this.F.nc&&m.push(this.F.Hj);this.j.xc.wI(m)};return a});
define("bw",["require","li","eK","v"],function(a){var d=a("li"),h=a("eK"),m=a("v");a=d.extend(h,function(k,b,g,e){h.call(this,k,b,g,e);this.A="not initialized";this.Za=0});a.prototype.Rg=function(){return"ended"==this.A};a.prototype.lh=function(k){this.Rg()||("not initialized"==this.A&&this.E5(),"initialized"==this.A&&(this.gq.get("ready")||this.gq.Rba())&&this.uN(),"started"==this.A&&this.ea(k),1<=this.Za&&this.iK())};a.prototype.E5=function(){this.Foa=this.F.Lza;this.zJ=.25;this.UDa=.75;this.WMa=
.25;this.Era=this.eJa();this.g1=.5*this.Foa;this.TQa=this.Foa-2*this.g1;this.MB=1/(this.g1+this.TQa);this.VQ=this.MB/this.g1;this.jv=0;this.gq=this.j.mf(this.F.Bc);this.z9=this.j.mf(this.F.Ug);this.hF=this.F.JI.eUa();this.A="initialized"};a.prototype.eJa=function(){var k=this.F.JI.get("distance");return k?Math.min(.99,k/this.F.Ug.get("distanceToFloor")):.75};a.prototype.uN=function(){this.j.Rya(!this.F.Bb()&&m.browser()!=m.Wl);this.gq.Th();this.A="started"};a.prototype.ea=function(k){this.gq.get("ready")||
this.Za<this.WMa?this.Za>=1-.5*this.jv*this.jv/this.VQ?this.jv=Math.sqrt(2*(1-this.Za)*this.VQ):this.jv<this.MB&&(this.jv=Math.min(this.jv+this.VQ*k,this.MB)):this.jv=Math.max(this.jv-this.VQ*k,0);this.Za=Math.min(Math.max(0,this.Za+this.jv*k),1);this.gq.get("ready")||(this.zJ=Math.max(this.zJ,this.Za));this.ZW(this.Za,Math.max(0,Math.min(1,(this.Za-this.zJ)/(this.UDa-this.zJ))))};a.prototype.iK=function(){this.gq.set("alpha",1);this.j.Rya(!1);this.A="ended"};a.prototype.ZW=function(k,b){var g=(k-
1)*this.Era;this.gq.set("translationX",g*this.hF.x);this.gq.set("translationY",g*this.hF.y);this.gq.set("translationZ",g*this.hF.z);this.gq.get("ready");k*=this.Era;this.z9.set("translationX",k*this.hF.x);this.z9.set("translationY",k*this.hF.y);this.z9.set("translationZ",k*this.hF.z);this.gq.set("alpha",Math.max(.01,Math.min(.99,b)))};a.prototype.vD=function(){return this.Za<this.zJ};return a});
define("fi",["require","nq","fh"],function(a){var d=a("nq"),h=a("fh");return d.define("TargetModel3DCameraMovement",h,function(){h.call(this)})});
define("gz","require li ox gL fi eK".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("gL"),k=a("fi"),b=a("eK");a=d.extend(b,function(e,c,f,l){b.call(this,e,c,f,l);this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(){var e=this.F.fc.get("model");if(this.F.Hj.get("model")!=e)this.ey();else if(!this.Na){e=e.get("camera");var c=e.kra;c||(c={x:e.get("initialX",e.get("x")),y:e.get("initialY",e.get("y")),z:e.get("initialZ",e.get("z")),yaw:e.get("initialYaw",e.get("yaw")),pitch:e.get("initialPitch",
e.get("pitch")),fov:e.get("initialFov",e.get("fov")),distance:e.get("initialDistance",e.get("distance"))});e.set("easing",0);e.set("x",this.F.fc.get("x"));e.set("y",this.F.fc.get("y"));e.set("z",this.F.fc.get("z"));e.set("distance",0);e.set("yaw",this.j.Rc()+this.F.fc.get("yaw"));e.set("pitch",this.j.Lc());e.set("fov",this.j.Wa()>this.j.xb()?this.j.UH():this.j.VH());this.Dd=new k;this.Dd.set("targetX",c.x);this.Dd.set("targetY",c.y);this.Dd.set("targetZ",c.z);this.Dd.set("targetYaw",c.yaw);this.Dd.set("targetPitch",
c.pitch);this.Dd.set("targetFov",c.fov);this.Dd.set("targetDistance",c.distance);this.Dd.set("duration",1E3);this.Dd.set("easing","quad_in_out");this.Dd.bind(h.Zz,this.g7,this,!0);this.Na=new m;this.Na.set("movements",[this.Dd]);this.Na.set("mandatory",!0);this.Na.set("internal",!0);this.Na.bind(h.sb,this.ey,this,!0);e.set("sequences",e.get("sequences").concat([this.Na]));this.Na.play();this.lN();this.P9=(new THREE.Vector3).set(c.x,c.y,c.z);this.pN=(new THREE.Vector3).set(this.F.fc.get("x"),this.F.fc.get("y"),
this.F.fc.get("z"))}};var g=new THREE.Vector3;a.prototype.g7=function(){var e=this.F.fc.get("model").get("camera");e=g.set(e.get("x"),e.get("y"),e.get("z")).distanceTo(this.pN)/this.pN.distanceTo(this.P9);var c=Math.max(.01,Math.min(.99,(e-0)/.33));this.j.JZ(0<e&&1>e);this.F.Qv.set("position",c)};a.prototype.ey=function(){var e=this.F.fc.get("model").get("camera");e.set("sequences",e.get("sequences").filter(function(c){return c!=this.Na}.bind(this)));this.Gb=!0;this.RM()};a.prototype.lN=function(){var e=
this.F.fc.get("model");this.GM=e.get("postprocessing");this.HM=e.get("surfaceSelectionEnabled");e.set("postprocessing",!1);e.set("surfaceSelectionEnabled",!1)};a.prototype.RM=function(){var e=this.F.fc.get("model"),c=this.GM,f=this.HM;setTimeout(function(){e.set("postprocessing",c);e.set("surfaceSelectionEnabled",f)},30)};return a});
define("ib","require li ox nq gL fi dK eK".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("nq"),k=a("gL"),b=a("fi"),g=a("dK"),e=a("eK");a=d.extend(e,function(p,q,n,r){e.call(this,p,q,n,r);this.Gb=!1;this.VDa=0;this.WDa=1;this.qM=[];this.sL=[];this.qM.push(this.Cqa.bind(this))});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(){if(this.F.Hj.get("model")!=this.F.nc.get("model"))this.ona();else{var p=this.qM;for(this.qM=[];0<p.length;)p.shift()()}};a.prototype.tLa=function(){var p=
this.sL;for(this.sL=[];0<p.length;)p.shift()()};a.prototype.MPa=function(){this.gPa();this.lN();this.sL.push(this.wJa.bind(this));this.sL.push(this.usa.bind(this))};a.prototype.gPa=function(){var p=this.F.nc.get("model").get("camera");p.set("easing",0);p.set("x",this.F.fc.get("x"));p.set("y",this.F.fc.get("y"));p.set("z",this.F.fc.get("z"));p.set("distance",0);p.set("yaw",this.j.Rc()+this.F.fc.get("yaw"));p.set("pitch",this.j.Lc());p.set("fov",this.j.Wa()>this.j.xb()?this.j.UH():this.j.VH());this.Dd=
new b;this.Dd.set("targetX",this.F.nc.get("x"));this.Dd.set("targetY",this.F.nc.get("y"));this.Dd.set("targetZ",this.F.nc.get("z"));if(this.F.PD.get("keepInitialPositionOnTranslation")){var q=this.F.zg.get("yaw")+this.F.nc.get("yaw"),n=this.F.zg.get("pitch"),r=this.F.zg.get("hfov");this.Dd.set("targetYaw",q);void 0!==n&&this.Dd.set("targetPitch",n);void 0!==r&&this.Dd.set("targetFov",r)}this.Dd.set("duration",1500);this.Dd.set("easing","cubic_in_out");this.Dd.bind(h.Zz,this.tLa,this,!0);this.Na=new k;
this.Na.set("movements",[this.Dd]);this.Na.set("mandatory",!0);this.Na.set("internal",!0);this.Na.bind(h.sb,this.ona,this,!0);p.set("sequences",p.get("sequences").concat([this.Na]));this.Na.play()};a.prototype.Cqa=function(){if(this.j.mf(this.F.Bc).get("ready")){var p=this.F.fc,q=this.F.nc,n=p.get("model"),r=n.get("objects").find(function(t){return m.Ka("ProjectedMaterialModel3DObject",t)}),u=!r;r||(r=new g);this.F.Qv=r;r.set("sourceX",p.get("x"));r.set("sourceY",p.get("y"));r.set("sourceZ",p.get("z"));
r.set("sourceYaw",p.get("yaw"));r.set("targetX",q.get("x"));r.set("targetY",q.get("y"));r.set("targetZ",q.get("z"));r.set("targetYaw",q.get("yaw"));p=this.j.mf(this.F.Ug);q=this.j.mf(this.F.Bc);p.set("alpha",1);q.set("alpha",.01);r.set("sourceFaces",this.j.wO(this.F.cza,r.get("sourceFaces")));p.set("alpha",.01);q.set("alpha",1);r.set("targetFaces",this.j.wO(this.F.uza,r.get("targetFaces")));p.set("alpha",1);q.set("alpha",.01);r.set("position",0);u&&n.set("objects",n.get("objects").concat([this.F.Qv]));
this.MPa()}else this.qM.push(this.Cqa.bind(this))};a.prototype.wJa=function(){this.j.mf(this.F.Ug).set("alpha",0);this.Fia()};a.prototype.Fia=function(){(this.Joa=void 0===this.Joa?10:this.Joa-1)?this.qM.push(this.Fia.bind(this)):this.j.JZ(!0)};a.prototype.OGa=function(){this.j.JZ(!1)};var c=new THREE.Vector3,f=new THREE.Vector3,l=new THREE.Vector3;a.prototype.fJa=function(){var p=this.F.fc;c.set(p.get("x"),p.get("y"),p.get("z"));var q=this.F.nc;f.set(q.get("x"),q.get("y"),q.get("z"));p=p.get("model").get("camera");
l.set(p.get("x"),p.get("y"),p.get("z"));return l.distanceTo(c)/f.distanceTo(c)};a.prototype.usa=function(){var p=this.fJa();p=Math.max(0,Math.min(1,(p-this.VDa)/this.WDa));this.F.Qv.set("position",p);1>p&&this.sL.push(this.usa.bind(this))};a.prototype.ona=function(){var p=this.F.fc.get("model").get("camera");p.set("sequences",p.get("sequences").filter(function(q){return q!=this.Na}.bind(this)));this.OGa();this.RM();this.Gb=!0};a.prototype.lN=function(){var p=this.F.fc.get("model"),q=this.F.Hj;this.GM=
p.get("postprocessing");this.HM=p.get("surfaceSelectionEnabled");this.KMa=q.get("spritesEnabled");p.set("postprocessing",!1);p.set("surfaceSelectionEnabled",!1);q.set("spritesEnabled",!1)};a.prototype.RM=function(){var p=this.F.fc.get("model"),q=this.F.Hj,n=this.GM,r=this.HM,u=this.KMa;setTimeout(function(){p.set("postprocessing",n);p.set("surfaceSelectionEnabled",r);q.set("spritesEnabled",u)},500)};return a});
define("le","require li ox gL fi eK kL".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("gL"),k=a("fi"),b=a("eK"),g=a("kL");a=d.extend(b,function(c,f,l,p){b.call(this,c,f,l,p);this.Gb=!1});a.prototype.Rg=function(){return this.Gb};a.prototype.lh=function(){if(!this.Na){var c=this.F.nc.get("model").get("camera");c.tZa();var f=Math.abs(c.get("pitch")-this.j.Lc()),l=30<f;this.Dd=new k;this.Dd.set("targetX",this.F.nc.get("x"));this.Dd.set("targetY",this.F.nc.get("y"));this.Dd.set("targetZ",this.F.nc.get("z"));
this.Dd.set("targetDistance",0);this.Dd.set("targetFov",this.tJa(this.j.xg()));this.Dd.set("targetYaw",this.j.Rc()+this.F.nc.get("yaw"));l?this.Dd.set("targetPitch",c.get("pitch")):this.Dd.set("targetPitch",this.j.Lc());this.Dd.set("duration",1500);this.Dd.set("easing","cubic_in_out");this.Dd.bind(h.Zz,this.g7,this,!0);var p=[this.Dd];l&&(l=new k,l.set("targetPitch",this.j.Lc()),l.set("duration",f/90*1E3),l.set("easing","quad_in_out"),p.push(l));this.Na=new m;this.Na.set("movements",p);this.Na.set("mandatory",
!0);this.Na.set("internal",!0);this.Na.bind(h.sb,this.ey,this,!0);c.set("sequences",c.get("sequences").concat([this.Na]));this.Na.play();this.lN();this.pN=(new THREE.Vector3).set(c.get("x"),c.get("y"),c.get("z"));this.P9=(new THREE.Vector3).set(this.F.nc.get("x"),this.F.nc.get("y"),this.F.nc.get("z"))}};a.prototype.tJa=function(c){return this.j.Wa()<this.j.xb()?g.Jl(c,this.j.Wa(),this.j.xb()):c};var e=new THREE.Vector3;a.prototype.g7=function(){var c=this.F.nc.get("model").get("camera");c=e.set(c.get("x"),
c.get("y"),c.get("z")).distanceTo(this.pN)/this.pN.distanceTo(this.P9);var f=Math.max(.01,Math.min(.99,(c-.66)/(1-.66)));this.j.JZ(0<c&&1>c);this.F.Qv.set("position",f)};a.prototype.ey=function(){var c=this.F.nc.get("model").get("camera");c.set("sequences",c.get("sequences").filter(function(f){return f!=this.Na}.bind(this)));this.Gb=!0;this.RM()};a.prototype.lN=function(){var c=this.F.nc.get("model");this.GM=c.get("postprocessing");this.HM=c.get("surfaceSelectionEnabled");c.set("postprocessing",!1);
c.set("surfaceSelectionEnabled",!1)};a.prototype.RM=function(){var c=this.F.nc.get("model"),f=this.GM,l=this.HM;setTimeout(function(){c.set("postprocessing",f);c.set("surfaceSelectionEnabled",l)},30)};return a});define("iO",["require","li","lU"],function(a){var d=a("li"),h=a("lU");a=d.extend(h,function(m,k,b,g,e){h.call(this,m,k,b,g);this.sEa=e});a.prototype.Qi=function(){this.sEa.call(this.L)};return a});
define("gc",["require","li","eK"],function(a){var d=a("li"),h=a("eK");a=d.extend(h,function(m,k,b,g){h.call(this,m,k,b,g)});a.prototype.Rg=function(){var m=this.j.Ib(),k=m&&m.pH;m=m&&m.SF;return!!k&&!k.get("visible")&&!!m&&!m.get("visible")};return a});
define("N",["require","li","eK"],function(a){var d=a("li"),h=a("eK"),m=d.extend(h,function(k,b,g,e){h.call(this,k,b,g,e);this.$u=null});m.prototype.Rg=function(){this.$u||(this.$u=this.F.Bc&&this.j.mf(this.F.Bc));return this.$u&&this.$u.get("ready")};m.prototype.vD=function(){return!0};m.gfa=d.extend(m,function(k,b,g,e){m.call(this,k,b,g,e)});m.gfa.prototype.vD=function(){return!1};m.kfa=d.extend(m,function(k,b,g,e){m.call(this,k,b,g,e)});m.kfa.prototype.Rg=function(){this.$u||(this.$u=this.F.Bc&&
this.j.mf(this.F.Bc));return this.$u&&(this.$u.get("ready")||this.$u.zca())};return m});
define("nA",["require","li","bm","cw","gf"],function(a){var d=a("li"),h=a("bm"),m=a("cw"),k=a("gf"),b=d.extend(k,function(g){k.call(this);this.j=g;this.W=!1;this.vu=this.vu.bind(this);this.xc=this.j.xc});b.prototype.clear=function(){this.xc=this.j=null};b.prototype.mc=function(g){this.W!=g&&(this.W&&document.removeEventListener("keyup",this.vu),(this.W=g)&&document.addEventListener("keyup",this.vu))};b.prototype.vu=function(g){"translate"==this.xc.get("arrowKeysAction")&&(g.which!=h.zi||g.shiftKey?
g.which!=h.Sj||g.shiftKey||this.trigger(new m(b.T_)):this.trigger(new m(b.S_)))};b.T_="moveForward";b.S_="moveBackward";return b});
define("oG","require cw gf gI oU lK cO lA kG lv nN hC fe lz bI nv ch fO eu iN s dm oS kM hM hg gi ok fE dM lZ bw gz ib le iO gc N nA li".split(" "),function(a){var d=a("cw"),h=a("gf"),m=a("gI"),k=a("oU"),b=a("lK"),g=a("cO"),e=a("lA"),c=a("kG"),f=a("lv"),l=a("nN"),p=a("hC"),q=a("fe"),n=a("lz"),r=a("bI"),u=a("nv"),t=a("ch"),v=a("fO"),w=a("eu"),x=a("iN"),y=a("s"),A=a("dm"),B=a("oS"),z=a("kM"),C=a("hM"),G=a("hg"),D=a("gi"),E=a("ok"),H=a("fE"),R=a("dM"),S=a("lZ"),Q=a("bw"),M=a("gz"),W=a("ib"),I=a("le"),
P=a("iO"),U=a("gc"),N=a("N");a("nA");var V=a("li").extend(h,function(Y,ca,F){h.call(this);this.N=Y;this.j=ca;this.Ec=F;this.Pb=this.Ux=null;this.Iia=this.rr=this.uM=this.Ru=void 0;this.F=null;this.Og=[]});V.prototype.jda=function(Y){this.Ux=Y};V.prototype.clear=function(){this.D8(this.rr);this.F&&this.D8(this.F.Bc);this.uM=this.Ru=void 0;this.ga=this.Ec=this.j=this.N=this.F=null};V.prototype.start=function(Y,ca){!this.F&&Y==this.rr||this.F&&Y==this.F.Bc?this.uM=this.Ru=void 0:(this.Ru=Y,this.uM=ca,
0==this.Og.length&&this.wW())};V.prototype.hide=function(){this.Ru=null;!this.F&&this.rr&&this.wW()};V.prototype.$Ta=function(){return this.F&&this.F.Bc};V.prototype.wW=function(){this.F=new k(this.j,this.Ux,this.rr,this.Ru,this.uM);this.Pb=new m(this.j,this.Ec,this.F);this.uM=this.Ru=void 0;this.ra(C);this.ra(f);switch(this.F.mode){case k.xea:this.Eb(this.sv);this.ra(r);this.Eb(this.rv);this.ra(w);this.Eb(this.jq);break;case k.wea:this.ra(S);this.Eb(this.My);this.ra(N);this.ra(p);this.ra(G);this.Eb(this.ls);
this.ra(q);this.ra(U);this.ra(t);this.Eb(this.Ly);break;case k.yQ:this.F.Bb()?(this.ra(S),this.Eb(this.My),this.Eb(this.sv),this.ra(u),this.Eb(this.rv),this.ra(w),this.Eb(this.jq),this.ra(N),this.ra(y),this.Eb(this.ls),this.Eb(this.Ly),this.ra(n)):(this.ra(S),this.Eb(this.My),this.Eb(this.sv),this.ra(r),this.Eb(this.rv),this.ra(w),this.Eb(this.jq),this.ra(N),this.ra(p),this.ra(G),this.Eb(this.ls),this.ra(q),this.ra(U),this.ra(t),this.Eb(this.Ly));break;case k.Ffa:this.ra(S);this.Eb(this.My);this.Eb(this.sv);
this.Eb(this.rv);this.F.Bb()?(this.ra(D),this.Eb(this.ls),this.ra(Q),this.ra(w),this.Eb(this.jq)):(this.ra(H),this.Eb(this.ls),this.ra(Q),this.ra(w),this.Eb(this.jq),this.ra(E),this.ra(p),this.ra(U));this.Eb(this.Ly);break;case k.pn:this.ra(S);this.Eb(this.My);this.ra(N);this.F.Bb()?(this.Eb(this.sv),this.Eb(this.rv),this.ra(y),this.Eb(this.ls),this.ra(b),this.ra(w),this.Eb(this.jq)):(this.Eb(this.sv),this.Eb(this.rv),this.ra(v),this.Eb(this.ls),this.ra(b),this.ra(w),this.Eb(this.jq),this.ra(p),this.ra(U),
this.ra(t));this.Eb(this.Ly);break;case k.Q0:this.ra(S);this.Eb(this.My);this.ra(l);this.ra(N);this.ra(g.Nfa);this.ra(A);this.ra(I);this.Eb(this.ls);this.ra(q);this.ra(x);this.ra(e);this.ra(p);this.ra(U);this.Eb(this.Ly);break;case k.Hfa:this.ra(l);this.ra(g.Afa);this.ra(c);this.ra(z);this.Eb(this.sv);this.ra(r);this.Eb(this.rv);this.ra(w);this.Eb(this.jq);this.ra(M);this.ra(x);this.ra(R);break;case k.R0:this.Eb(this.My);this.ra(l);this.ra(c);this.Eb(this.sv);this.Eb(this.rv);this.ra(N.kfa);this.ra(W);
this.ra(w);this.Eb(this.jq);this.ra(N.gfa);this.ra(B);this.Eb(this.ls);this.ra(q);this.ra(x);this.ra(e);this.ra(p);this.ra(U);this.Eb(this.Ly);break;case k.Gfa:this.Eb(this.My),this.ra(l),this.ra(g.Afa),this.ra(c),this.ra(z),this.ra(N),this.Eb(this.sv),this.ra(r),this.Eb(this.rv),this.ra(w),this.Eb(this.jq),this.ra(M),this.ra(x),this.ra(g.Nfa),this.ra(A),this.ra(I),this.Eb(this.ls),this.ra(q),this.ra(x),this.ra(e),this.Eb(this.Ly)}this.Eb(this.NQa);this.Ma()};V.prototype.i$=function(){this.rr=this.F.Bc;
this.Iia=this.F.PD;this.F=this.Pb=null;void 0===this.Ru?this.rr?this.xQa(this.rr,this.Iia):this.yQa():this.wW()};window.jTa=!0;window.kTa=!0;document.addEventListener("keydown",function(Y){67==Y.which&&(window.jTa=window.kTa=!0)});V.prototype.Rv=function(Y){for(;this.Og.length;){var ca=this.Og[0];if(void 0!==this.Ru&&this.Ru!==this.rr&&ca.vD()){this.D8(this.F.Bc);this.Og=[];this.wW();break}else if(ca.lh(Y),this.Ma(),this.Pb.Rv(Y),ca.Rg())this.Og.shift(),0==this.Og.length&&this.i$();else break}};document.addEventListener("keydown",
function(){(new Date).getTime()});document.addEventListener("keyup",function(){(new Date).getTime()});V.prototype.wd=function(){};V.prototype.ra=function(Y){this.Og.push(new Y(this,this.Pb,this.j,this.F))};V.prototype.Eb=function(Y){this.Og.push(new P(this,this.Pb,this.j,this.F,Y))};V.prototype.D8=function(Y){Y&&(Y=this.j.mf(Y))&&(this.j.remove(Y),this.jq())};V.prototype.My=function(){this.trigger(new d(V.c0,{panorama:this.F.Bc}))};V.prototype.jq=function(){this.trigger(new d(V.U_,{panorama:this.F?
this.F.Ug:this.rr,nextPanorama:this.F?this.F.Bc:null}))};V.prototype.sv=function(){this.trigger(new d(V.Rz,{panorama:this.F.Ug}))};V.prototype.rv=function(){this.trigger(new d(V.Qz,{panorama:this.F.Ug,nextPanorama:this.F.Bc}))};V.prototype.Ly=function(){this.trigger(new d(V.Sz,{panorama:this.F.Bc,camera:this.F.PD}))};V.prototype.NQa=function(){this.trigger(new d(V.Mo))};V.prototype.ls=function(){this.trigger(new d(V.Tz,{panorama:this.F.Bc,camera:this.F.PD}))};V.prototype.xQa=function(Y,ca){this.trigger(new d(V.A_,
{panorama:Y,camera:ca}))};V.prototype.yQa=function(){this.trigger(new d(V.B_))};V.prototype.Ma=function(){this.trigger(new d(V.Cb))};V.Cb="request frame";V.c0="request load";V.U_="panorama removed";V.A_="all pending panoramas displayed";V.B_="all pending panoramas hidden";V.Qz="panorama end";V.Tz="panorama start";V.Sz="panorama show";V.Rz="panorama hide";V.Mo="transition end";return V});
define("kZ",["require","li","cw","gf"],function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=d.extend(m,function(b){m.call(this);this.j=b});k.prototype.clear=function(){this.end();this.j=null};k.prototype.iI=function(b){for(var g=this.HS(b),e=b.iY(),c=0;c<g;c++)this.j.mf(this.B4(b,c)).set("alpha",c==e?1:0)};k.prototype.getTime=function(){return 0};k.prototype.start=function(){};k.prototype.end=function(){};k.prototype.play=function(){};k.prototype.pause=function(){};k.prototype.qI=function(){};k.prototype.xI=
function(){};k.prototype.QZ=function(){};k.prototype.stop=function(){};k.prototype.MD=function(){};k.prototype.rz=function(){};k.prototype.Bz=function(){};k.prototype.wd=function(){};k.prototype.Gj=function(){};k.prototype.HS=function(b){return b.get("frames").length};k.prototype.B4=function(b,g){return b.get("frames")[g]};k.prototype.Ma=function(){this.trigger(new h(k.Cb))};k.prototype.kq=function(b,g,e,c,f,l){this.trigger(new h(k.bj,{time:b,duration:g,transitionPosition:e,transitionLength:c,steps:f,
selectedStep:l}))};k.prototype.yj=function(){this.trigger(new h(k.Cc,{state:this.Gj()}))};k.Cb="request frame";k.CAa="frame display";k.DAa="frame hide";k.bj="time change";k.Cc="playback state change";return k});
define("bq","require jquery.mod ed li ox hP cw kZ eZ fj md bv kq".split(" "),function(a){a("jquery.mod");var d=a("ed"),h=a("li"),m=a("ox"),k=a("hP");a("cw");var b=a("kZ"),g=a("eZ"),e=a("fj");a("md");var c=a("bv"),f=a("kq"),l=h.extend(b,function(p){b.call(this,p);this.yS=null;this.l4=this.iB=0;this.la=this.LB=null;this.rK=void 0;this.Y7=!1;this.La=360;this.Qsa=180;this.gb=.5;this.On=.2;this.Au=.45;this.zla=5E3;this.Dla=1;this.NT=[[.5,.25],[.5,.375],[.25,.5],[.375,.5],[.5,.5],[.625,.5],[.75,.5],[.5,
.625],[.5,.75]];this.HKa=[.05,.1,.05,.1,.4,.1,.05,.1,.05]});l.prototype.iI=function(p){b.prototype.iI.call(this,p);this.eN(p)};l.prototype.start=function(p){this.eN(p);this.Ma()};l.prototype.end=function(){this.eN(null)};l.prototype.eN=function(p){this.la!=p&&(this.la&&(this.QQa(),this.la=null,this.VQa()),this.la=p)&&(this.RDa(),this.La=p.get("hfov",360),this.Qsa=p.get("vfov",180),this.gb=p.get("pitch",0),this.f8=this.kC=void 0,this.AKa(p),this.Za=.5)};l.prototype.Bz=function(){this.Y7=!1};l.prototype.MD=
function(p){this.Za=p/l.nJ;this.Ma();this.Y7=!0};l.prototype.rz=function(p){this.MD(p)};l.prototype.kq=function(){var p=this.HS(this.la),q=this.Za*(p-1),n=Math.max(0,Math.min(p-2,Math.floor(q))),r=void 0;.01>q-n?r=n:.99<q-n&&(r=n+1);b.prototype.kq.call(this,this.Za*l.nJ,l.nJ,this.Za*l.nJ,l.nJ,p,r)};l.prototype.wd=function(p){if(this.la){var q=this.j.Rc(),n=this.j.Lc(),r=this.j.Mf(),u=0;if(void 0!==this.kC&&void 0!==this.f8&&void 0!==this.Soa){var t=q-this.kC,v=n-this.f8,w=r-this.Soa;u=1E3*Math.sqrt(t*
t+v*v+w*w)/p}this.kC=q;this.f8=n;this.Soa=r;t=this.HS(this.la);var x=this.Za*(t-1);v=Math.max(0,Math.min(t-2,Math.floor(x)));w=v+1;x=1-(x-v);for(var y=1-x,A=[],B=0;B<t;B++)A.push(0);A[w]=y;A[v]=1>y?1:0;for(B=0;B<t;B++)this.j.mf(this.B4(this.la,B)).set("alpha",A[B]);this.kq();if(this.yS&&(u<=this.Dla||c.isPresenting())&&!this.Y7){B=Math.PI/180;u=180/Math.PI;A=this.j.Wa();var z=this.j.xb(),C=new e;C.rotateZ(-r*B);C.rotateX(-n*B);C.rotateY(-q*B);q=[];for(B=0;B<this.NT.length;B++)n=new g(this.NT[B][0]*
A,this.NT[B][1]*z,0),r=this.j.unproject(n).fva(),r.apply(C),n=r.Rc()*u,r=r.Lc()*u,q.push(Math.round((90-r)*this.l4/180)*this.iB+Math.round((n+180)*this.iB/360));n=[];for(B=0;B<t;B++){r=this.yS[B];for(A=u=0;A<this.NT.length;A++)u+=this.HKa[A]*r[q[A]];n.push(u)}B=n[v];q=n[w];v=x*n[v]+y*n[w];p=Math.min(1/t,p/this.zla);t=this.Za;w=Math.max.apply(Math,n);x=Math.min.apply(Math,n);v<this.On&&v<w?t=q>v?t+p:t-p:v>this.Au&&v>x&&(t=B<v?t-p:t+p);t=Math.min(1,Math.max(0,t));this.Za!=t&&(this.Za=t,this.Ma())}}};
l.prototype.AKa=function(p){var q=d(p.get("frames",[])).map(function(n){return n.get("thumbnailUrl")});this.LB=d(q).map(function(n){var r=null;n&&(r=new f(k.Qk),r.bind(m.Z,this.fna,this),r.bind(m.Gc,this.gna,this));return r},this);d(this.LB).each(function(n,r){n&&n.load(q[r])})};l.prototype.VQa=function(){this.Dia();this.yS=null};l.prototype.pLa=function(){this.iB=150;this.LB.map(function(p){p&&(this.iB=Math.min(360*p.rd()/this.La,this.iB))},this);this.l4=Math.round(this.iB/2);this.yS=this.LB.map(function(p){return this.PFa(p,
this.iB,this.l4,this.La,this.Qsa,this.gb)},this);this.Dia()};l.prototype.PFa=function(p,q,n,r,u,t){var v=document.createElement("canvas");v.width=q;v.height=n;var w=v.getContext("2d");w.fillStyle="#000000";w.fillRect(0,0,q,n);p&&(p=p.lf(),r=Math.round(q*r/360),w.drawImage(p,.5*(q-r),Math.round(n*(90-(t+.5*u))/180),r,Math.round(n*u/180)));q=[];v=w.getImageData(0,0,v.width,v.height);for(n=w=0;w<v.height;w++)for(u=0;u<v.width;u++,n+=4)q.push((.299*v.data[n]+.587*v.data[n+1]+.114*v.data[n+2])/255);return q};
l.prototype.Dia=function(){d(this.LB).each(function(p){p&&(p.unbind(m.Z,this.fna,this),p.unbind(m.Gc,this.gna,this),p.cancel())},this);this.LB=null};l.prototype.fna=function(){0==d(this.LB).filter(function(p){return p&&!p.Kl()}).length&&this.pLa()};l.prototype.gna=function(){};l.prototype.RDa=function(){this.la.bind(m.G("minimumLuminance"),this.Ku,this);this.la.bind(m.G("maximumLuminance"),this.Ku,this);this.la.bind(m.G("luminanceChangeTime"),this.Ku,this);this.la.bind(m.G("maxLuminanceChangeSpeed"),
this.Ku,this);this.Ku()};l.prototype.QQa=function(){this.la.unbind(m.G("minimumLuminance"),this.Ku,this);this.la.unbind(m.G("maximumLuminance"),this.Ku,this);this.la.unbind(m.G("luminanceChangeTime"),this.Ku,this);this.la.unbind(m.G("maxLuminanceChangeSpeed"),this.Ku,this)};l.prototype.Ku=function(){this.On=this.la.get("minimumLuminance");this.Au=this.la.get("maximumLuminance");void 0==this.On&&void 0==this.Au?(this.On=.2,this.Au=.45):void 0==this.On?this.On=Math.min(.2,this.Au):void 0==this.On?this.Au=
Math.max(.45,this.On):this.On=Math.min(this.On,this.Au);this.Au=Math.min(1,Math.max(0,this.Au));this.On=Math.min(1,Math.max(0,this.On));this.zla=Math.max(100,this.la.get("luminanceChangeTime",5E3));this.Dla=this.la.get("maxLuminanceChangeSpeed",1);this.Ma()};l.nJ=1E3;return l});
define("el",["require","li","y","kK","kZ"],function(a){var d=a("li"),h=a("y"),m=a("kK"),k=a("kZ");a=d.extend(k,function(b){k.call(this,b);this.wS=this.xS=null;this.jj=this.Ch=5E3;this.Ed=void 0;this.qb=this.Ch;this.sm=1;this.la=null;this.BB=!1});a.prototype.start=function(b){this.la=b;this.BB=!1;this.lT=!0;this.xS=h.Vs(this.la,"frameDisplayTime",this.B$,this);this.wS=h.Vs(this.la,"frameTransitionTime",this.B$,this);this.sm=this.HS(this.la);this.Ed=this.la.iY()*(this.Ch+this.jj);this.B$(!0);this.kq();
this.Ma();this.yj()};a.prototype.B$=function(b){var g=Math.max(100,this.la.get("frameDisplayTime",5E3)),e=Math.max(100,this.la.get("frameTransitionTime",5E3));if(this.Ch!=g||this.jj!=e||b){b=this.rF();var c=this.XHa();this.Ch=g;this.jj=e;1<this.sm?(this.Ed=b*(this.Ch+this.jj)+c*this.Ch+c*this.jj,this.qb=this.sm*(this.Ch+this.jj)):(this.Ed=c*this.Ch,this.qb=this.Ch)}};a.prototype.rF=function(){return 1<this.sm?Math.floor(this.Ed/(this.Ch+this.jj)):0};a.prototype.YHa=function(){return 1<this.sm?(this.rF()+
1)%this.sm:0};a.prototype.XHa=function(){return 1<this.sm?Math.max(0,Math.min(1,this.Ed-this.rF()*(this.Ch+this.jj))):this.Ed/this.Ch};a.prototype.Sja=function(){return 1<this.sm?Math.max(0,Math.min(1,(this.Ed-(this.rF()*(this.Ch+this.jj)+this.Ch))/this.jj)):0};a.prototype.OPa=function(b){var g=Math.floor(b/this.jj);return g*(this.Ch+this.jj)+this.Ch+(b-g*this.jj)};a.prototype.vra=function(b){var g=Math.floor(b/(this.Ch+this.jj));return g*this.jj+Math.max(0,b-g*(this.Ch+this.jj)-this.Ch)};a.prototype.play=
function(){this.BB&&(this.BB=!1,this.lT&&this.Ma(),this.yj())};a.prototype.pause=function(){this.BB=!0;this.yj()};a.prototype.qI=function(){this.pause()};a.prototype.xI=function(){this.play()};a.prototype.end=function(){this.lT=!1;this.la=null;this.xS&&(this.xS.Az(),this.xS=null);this.wS&&(this.wS.Az(),this.wS=null);this.yj()};a.prototype.MD=function(b){this.Ed=b;this.Ma()};a.prototype.rz=function(b){this.Ed=this.OPa(b);this.Ma();this.pause()};a.prototype.wd=function(b){if(this.lT){this.BB||(this.Ed+=
b);this.Ed%=this.qb;b=this.rF();var g=this.YHa(),e=this.Sja(),c=g>b?e:1;e=g>b?1:1-e;for(var f=0;f<this.sm;f++){var l=f==b?e:f==g?c:0;var p=this.j.mf(this.B4(this.la,f));p.get("alpha")!=l&&(0<l&&1>l&&p.Th(),p.set("alpha",l))}this.kq();this.BB||this.Ma()}};a.prototype.Gj=function(){return this.lT?this.BB?m.Db:m.X:m.T};a.prototype.yj=function(){k.prototype.yj.call(this,this.Gj())};a.prototype.kq=function(){k.prototype.kq.call(this,this.Ed,this.qb,this.vra(this.Ed),this.vra(this.qb),this.sm+1,0===this.Sja()?
this.rF():void 0)};return a});define("bL",["require","li","kZ"],function(a){var d=a("li"),h=a("kZ");return d.extend(h,function(m){h.call(this,m)})});
define("ml",["require","li","ox","kK","kZ"],function(a){var d=a("li"),h=a("ox"),m=a("kK"),k=a("kZ");a=d.extend(k,function(b){k.call(this,b);this.df=!1});a.prototype.iI=function(){};a.prototype.start=function(b){this.end();this.la=b;this.la.set("mute",this.df);this.la.get("autoplay")&&this.la.set("state",m.X);this.Ct()};a.prototype.getTime=function(){return this.la?this.la.get("currentTime"):0};a.prototype.Gj=function(){return this.la?this.la.get("state"):m.T};a.prototype.play=function(){this.la&&
this.la.set("state",m.X)};a.prototype.pause=function(){this.la&&this.la.set("state",m.Db)};a.prototype.QZ=function(){this.la&&this.la.set("state",m.Db)};a.prototype.stop=function(){this.la&&this.la.set("state",m.T)};a.prototype.end=function(){this.la&&(this.Zu(),this.la=null)};a.prototype.MD=function(b){this.la&&this.la.set("state",m.X);this.la&&this.la.set("currentTime",b)};a.prototype.Cf=function(b){this.df=b;this.la&&this.la.set("mute",this.df)};a.prototype.Ct=function(){this.la.bind(h.G("currentTime"),
this.Se,this,!0);this.la.bind(h.G("duration"),this.Dm,this,!0);this.la.bind(h.G("state"),this.wf,this,!0);this.la.get("state")!=m.T&&this.yj()};a.prototype.Zu=function(){this.la.unbind(h.G("currentTime"),this.Se,this,!0);this.la.unbind(h.G("duration"),this.Dm,this,!0);this.la.unbind(h.G("state"),this.wf,this,!0)};a.prototype.wf=function(){this.yj()};a.prototype.Se=function(){this.kq()};a.prototype.Dm=function(){this.kq()};a.prototype.kq=function(){this.la&&k.prototype.kq.call(this,this.la.get("currentTime"),
this.la.get("duration"))};return a});
define("x","require li kK cw gf nq kZ bq el bL ml".split(" "),function(a){var d=a("li");a("kK");var h=a("cw"),m=a("gf"),k=a("nq"),b=a("kZ"),g=a("bq"),e=a("el"),c=a("bL"),f=a("ml"),l=d.extend(m,function(p){m.call(this);this.j=p;this.m6=this.RR(e);this.f5=this.RR(g);this.lX=this.RR(f);this.D9=this.RR(c);this.Ld=null});l.prototype.clear=function(){this.FR(this.m6);this.m6=null;this.FR(this.f5);this.f5=null;this.FR(this.lX);this.lX=null;this.FR(this.D9);this.j=this.Ld=this.D9=null};l.prototype.RR=function(p){p=
new p(this.j);p.bind(b.Cb,this.Ge,this,!0);p.bind(b.bj,this.Jp,this,!0);p.bind(b.Cc,this.Qe,this,!0);return p};l.prototype.FR=function(p){p.unbind(b.Cb,this.Ge,this);p.unbind(b.bj,this.Jp,this);p.unbind(b.Cc,this.Qe,this);p.clear()};l.prototype.Q5=function(p,q){return k.Ka(q,p)};l.prototype.Oja=function(p){return this.Q5(p,"HDRPanorama")?this.f5:this.Q5(p,"LivePanorama")?this.m6:this.Q5(p,"VideoPanorama")?this.lX:this.D9};l.prototype.iI=function(p){(this.Ld=this.Oja(p))&&this.Ld.iI(p)};l.prototype.start=
function(p){this.Ge();(this.Ld=this.Oja(p))&&this.Ld.start(p)};l.prototype.Gj=function(){if(this.Ld)return this.Ld.Gj()};l.prototype.getTime=function(){return this.Ld?this.Ld.getTime():0};l.prototype.play=function(){this.Ld&&this.Ld.play()};l.prototype.pause=function(){this.Ld&&this.Ld.pause()};l.prototype.qI=function(){this.Ld&&this.Ld.qI()};l.prototype.xI=function(){this.Ld&&this.Ld.xI()};l.prototype.QZ=function(){this.Ld&&this.Ld.QZ()};l.prototype.stop=function(){this.Ld&&this.Ld.stop();this.trigger(new h(l.bj,
{duration:0,time:0,steps:void 0,selectedStep:void 0}))};l.prototype.end=function(){this.Ld&&(this.Ld.end(),this.Ld=null)};l.prototype.MD=function(p){this.Ld&&this.Ld.MD(p)};l.prototype.rz=function(p){this.Ld&&this.Ld.rz(p)};l.prototype.Bz=function(){this.Ld&&this.Ld.Bz()};l.prototype.wd=function(p){this.Ld&&this.Ld.wd(p)};l.prototype.Cf=function(p){this.lX.Cf(p)};l.prototype.Ge=function(){this.trigger(new h(l.Cb))};l.prototype.Jp=function(p){this.trigger(new h(l.bj,p.data))};l.prototype.Qe=function(p){this.trigger(new h(l.Cc,
p.data))};l.Cb="request frame";l.CAa="frame display";l.DAa="frame hide";l.bj="time change";l.Cc="playback state change";return l});
define("mn",["require","li","ox","gf","lj"],function(a){var d=a("li"),h=a("ox"),m=a("gf"),k=a("lj");a=d.extend(m,function(b){m.call(this);this.j=b;this.hh=this.la=null});a.prototype.start=function(b){this.la=b;this.hh=this.j.mf(this.la);this.hh.bind(h.Z,this.ld,this,!0);this.hh.bind(h.sc,this.Ou,this,!0);this.hh.get("ready")?this.trigger(h.Sc,{panorama:this.la}):this.hh.bind(h.Sc,this.jG,this,!0);this.hh.set("loadingActive",!0)};a.prototype.stop=function(){this.la=null;this.hh&&(this.hh.unbind(h.Sc,
this.jG,this),this.hh.unbind(h.Z,this.ld,this),this.hh.unbind(h.sc,this.Ou,this),this.hh.set("loadingActive",!1),this.hh=null,this.trigger(h.Ff))};a.prototype.clear=function(){this.stop()};a.prototype.jG=function(){this.hh.unbind(h.Sc,this.jG,this);this.trigger(h.Sc,{panorama:this.la})};a.prototype.ld=function(){this.hh.unbind(h.Sc,this.jG,this);this.hh.unbind(h.Z,this.ld,this);this.hh.unbind(h.sc,this.Ou,this);this.hh=null;this.trigger(h.Z,{panorama:this.la});this.la=null;this.trigger(h.Ff)};a.prototype.Ou=
function(b){this.trigger(new k(h.sc,b.Sg))};return a});
define("jM","require li ox cw gf R".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("R"),g=d.extend(k,function(e){k.call(this);this.j=e;this.yp=this.la=this.fi=null;this.gb=this.Da=0;this.La=.5*Math.PI});g.prototype.clear=function(){this.stop();this.mpa();this.fi=this.j=null};g.prototype.hda=function(e){this.fi!=e&&(this.mpa(),this.IR(),this.fi=e,this.Kga(),this.RCa())};g.prototype.RCa=function(){this.fi&&this.fi.bind(h.G("map"),this.hna,this,!1)};g.prototype.mpa=function(){this.fi&&
this.fi.unbind(h.G("map"),this.hna,this,!1)};g.prototype.stop=function(){this.IR();this.la=null};g.prototype.wd=function(){this.Da=this.j.Rc();this.gb=this.j.Lc();this.La=this.j.xg();this.fi&&this.yp&&this.fi.gn(this.yp,this.Da,this.gb,this.La)};g.prototype.hna=function(){this.la&&(this.IR(),(this.yp=this.Rpa(this.la,this.fi.get("map",null),!1))&&this.Mqa())};g.prototype.display=function(e){this.la!=e&&(this.IR(),this.la=e,this.Kga())};g.prototype.hide=function(e){this.la==e&&this.stop()};g.prototype.IR=
function(){this.yp&&(this.uJa(),this.yp=null)};g.prototype.Kga=function(){this.fi&&this.la&&(this.yp=this.Rpa(this.la,this.fi.get("map",null),!0))&&this.Mqa()};g.prototype.Rpa=function(e,c,f){e=e.get("mapLocations",[]);for(var l=0;l<e.length;l++){var p=e[l];if(p.get("map")==c)return p}return f&&0<e.length?e[0]:null};g.prototype.Mqa=function(){this.fi.ISa(this.yp);this.fi.bind(b.Mj,this.tpa,this,!0);this.fi.gn(this.yp,this.Da,this.gb,this.La)};g.prototype.uJa=function(){this.fi&&(this.fi.ZWa(this.yp),
this.fi.unbind(b.Mj,this.tpa,this))};g.prototype.tpa=function(e){this.trigger(new m(g.Mj,{yawDelta:e.data.yawDelta}))};g.Mj="request yaw change";return g});
define("he","require ox ll gf bg md bv".split(" "),function(a){function d(B){this.LR=B;this.Xk=null;this.b2={};for(B=0;B<this.LR.buttons.length;B++)this.b2[this.LR.buttons[B]]=!1;this.Z1=0;this.qy=null;this.nC=[new THREE.Quaternion,new THREE.Quaternion];this.sk=this.nC[0];this.Kh=[new THREE.Vector3,new THREE.Vector3];this.Za=this.Kh[0];this.AG=new THREE.Vector3;this.jC=new THREE.Quaternion;this.Mha=0}function h(B,z,C){this.jVa=B;this.buttons=z;this.KWa=C}function m(){if(!A&&x!=l.ye){x=l.ye;var B,
z=q.isPresenting()&&q.Fs();if(B=z&&z.bY&&z.bY.length?z.bY:navigator.getGamepads&&navigator.getGamepads()){for(z=0;z<t.length;z++)t[z].Hya(null);for(z=0;z<B.length;z++){var C=B[z];if(C&&(C.pose||C.Tba)){var G=C.id||C.rVa,D=G+(C.uY?"-"+C.uY:""),E=w[D];if(!E){a:{for(var H=0;H<n.length;H++){var R=n[H];if(0==G.indexOf(r[R].jVa)){G=R;break a}}G=void 0}G&&t.push(E=w[D]=new d(r[G]))}E&&w[D].Hya(C)}}(B=v)&&!v.$ba()&&(v=null);for(z=0;z<t.length;z++)if(E=t[z],E.$ba()&&E.pressed()){v=E;break}if(!v)for(z=0;z<
t.length;z++)if(E=t[z],E.$ba()){if("right"==E.W4){v=E;break}v||(v=E)}B!=v&&c.qz(k)}}}function k(){u.trigger(e.ta)}function b(){m()}function g(){q.isPresenting()?(y&&(clearInterval(y),y=null),m(),y=setInterval(b,500)):y&&(clearInterval(y),y=null)}var e=a("ox"),c=a("ll"),f=a("gf"),l=a("bg"),p=a("md"),q=a("bv"),n="oculus go;oculus touch;xr-standard;gear vr;daydream;vive;vive focus;microsoft;unknown".split(";"),r={};r["oculus go"]=new h("Oculus Go",["trackpad","trigger"],"trigger");r["oculus touch"]=
new h("Oculus Touch","thumbstick trigger grip abutton bbutton surface".split(" "),"trigger");r["xr-standard"]=new h("xr-standard","trigger grip unknow_button_0 thumbstick abutton bbutton unknow_button".split(" "),"trigger");r["gear vr"]=new h("Gear VR",["trackpad","trigger"],"trigger");r.daydream=new h("Daydream Controller",["trackpad","menu","system"],"trackpad");r.vive=new h("OpenVR",["trackpad","trigger","grip","menu","system"],"trigger");r["vive focus"]=new h("HTC Vive Focus",["trackpad","trigger",
"grip"],"trigger");r.microsoft=new h("Spatial Controller (Spatial Interaction Source)",["thumbstick","trigger","grip","menu","thumbpad"],"trigger");r.unknown=new h("",[],void 0);d.prototype.Hya=function(B){if(this.Xk=B){this.W4=this.Xk.uY||this.Xk.qVa;this.Xk.pose?(this.qy=this.Xk.pose,this.qy.orientation&&(this.sk=this.nC[0]==this.sk?this.nC[1]:this.nC[0],this.sk.fromArray(this.qy.orientation)),this.qy.position?(this.Za=this.Kh[0]==this.Za?this.Kh[1]:this.Kh[0],this.Za.fromArray(this.qy.position)):
this.Za=null):this.Xk.Tba&&(this.qy=this.Xk.Tba.transform,this.sk=this.nC[0]==this.sk?this.nC[1]:this.nC[0],this.sk.copy(this.qy.orientation),this.Za=this.Kh[0]==this.Za?this.Kh[1]:this.Kh[0],this.Za.copy(this.qy.position));B=0;for(var z=Math.min(this.Xk.buttons.length,this.Xk.buttons.length);B<z;B++)this.b2[this.LR.buttons[B]]=this.Xk.buttons[B].pressed;for(B=this.Z1=0;B<this.Xk.buttons.length;B++)this.Xk.buttons[B].pressed&&this.Z1++;(B=!!this.AG!=!!this.Za||this.Za&&this.AG.x!=this.Za.x&&this.AG.y!=
this.Za.y&&this.AG.z!=this.Za.z)&&(this.Za?this.AG.copy(this.Za):this.AG.set(0,0,0,0));(z=!!this.jC!=!!this.sk||this.sk&&(this.jC.x!=this.sk.x||this.jC.y!=this.sk.y||this.jC.z!=this.sk.z||this.jC.w!=this.sk.w))&&(this.sk?this.jC.copy(this.sk):this.jC.set(0,0,0));if(B||z)this.Mha=l.ye}};d.prototype.$ba=function(){return!!this.Xk};d.prototype.zVa=function(){return 500<l.ye-this.Mha};d.prototype.uY=function(){return this.W4};d.prototype.quaternion=function(){return this.sk};d.prototype.position=function(){return this.Za};
d.prototype.pressed=function(B){B||(B=this.LR.KWa);return B?this.b2[B]:0<this.Z1};var u=new f;u.all=function(){m();return t};u.PY=function(){m();return v};u.Oa="left";u.hb="right";var t=[],v=null,w={},x=void 0,y=null,A=p.Vh("disable-controller",!1);q.bind(e.ta,g);g();return u});
define("df",["require","eZ","a"],function(a){function d(k,b){this.Pf=k||new h(0,0,0);this.Zi=b||new h(1,0,0)}var h=a("eZ"),m=a("a");d.prototype.clone=function(){return new d(this.Pf.clone(),this.Zi.clone())};d.prototype.apply=function(k){k.EH(this.Pf);k.EH(this.Zi)};d.prototype.fva=function(){return m.az(this.Pf,this.Zi)};return d});
define("hX",["require","df","eZ"],function(a){function d(k,b,g){this.ia=k||100;this.ua=b||100;this.La=g||Math.PI;this.j8=void 0;this.qr=!0}var h=a("df"),m=a("eZ");d.prototype.JD=function(k){this.La!=k&&(this.La=k,this.qr=!0)};d.prototype.Iv=function(){return this.La};d.prototype.XP=function(k){this.ia!=k&&(this.ia=k,this.qr=!0)};d.prototype.rd=function(){return this.ia};d.prototype.Jya=function(k){this.ua!=k&&(this.ua=k,this.qr=!0)};d.prototype.ce=function(){return this.ua};d.prototype.project=function(k){if(0!=
k.z){this.vsa();var b=1/k.z,g=this.j8*b;k.x=.5*this.ia-k.x*g;k.y=.5*this.ua-k.y*g;k.z=b}};d.prototype.unproject=function(k){this.vsa();return new h(new m(0,0,0),new m(.5*this.ia-k.x,.5*this.ua-k.y,this.j8))};d.prototype.vsa=function(){this.qr&&(this.j8=.5*this.ia/Math.tan(.5*this.La),this.qr=!1)};return d});
define("oD",["require"],function(){function a(){this.Xe=this.pitch=this.Sa=0;this.Uh=this.ze=90;this.vO=this.HX=this.height=this.width=100;this.Ij=1;this.uD=this.Bb=!1;this.Sl=0;this.aY=this.vX=this.YY=!1;this.sD=this.BP=!0;this.camera=this.DO=this.CO=this.Bg=null;this.enabled=!1;this.ye=0;this.bQ=void 0}a.prototype.clone=function(){var d=new a;d.Sa=this.Sa;d.pitch=this.pitch;d.Xe=this.Xe;d.ze=this.ze;d.Uh=this.Uh;d.width=this.width;d.height=this.height;d.HX=this.HX;d.vO=this.vO;d.Ij=this.Ij;d.Bb=
this.Bb;d.uD=this.uD;d.Sl=this.Sl;d.YY=this.YY;d.aY=this.aY;d.vX=this.vX;d.BP=this.BP;d.sD=this.sD;d.Bg=this.Bg;d.CO=this.CO;d.DO=this.DO;d.camera=this.camera;d.enabled=this.enabled;d.ye=this.ye;d.bQ=this.bQ;return d};return a});
define("dx","require jquery.mod ed ox mL bg ho".split(" "),function(a){function d(p){this.Gda=p;this.element=document.createElement("div");this.Mda=document.createElement("span");this.element.appendChild(this.Mda);this.Mda.innerHTML=p.text.split("<br>").join("\n").split("\n").map(m).join("<br>");this.IX=!1}function h(p){this.N=p;this.XN=b.throttle(this.XN.bind(this),100);this.YN=b.throttle(this.YN.bind(this),100);this.ma=document.createElement("div");this.ma.style.position="absolute";this.ma.style.left=
0;this.ma.style.top=0;this.ma.style.right=0;this.ma.style.bottom=0;this.ma.style.zIndex=1;this.ma.style.cursor="inherit";this.ma.style.display="none";this.T0=k(this.ma);this.rl=document.createElement("div");this.rl.style.position="absolute";this.rl.style.left=0;this.rl.style.right=0;this.rl.style.zIndex=1;this.rl.style.cursor="inherit";this.ma.appendChild(this.rl);this.Gy=null;this.cH=[];this.Ih=[];this.E7={};this.rH=e.oc;this.N.bind(g.G("subtitlesEnabled"),this.jH,this);h.mfa.forEach(function(q){this.N.bind(g.G(q),
this.XN,this)}.bind(this));h.nfa.forEach(function(q){this.N.bind(g.G(q),this.YN,this)}.bind(this));this.jH();this.XN();this.YN()}function m(p){l.innerHTML=p;return l.innerText}var k=a("jquery.mod"),b=a("ed"),g=a("ox"),e=a("mL"),c=a("bg"),f=a("ho");h.prototype.clear=function(){this.wda(null);this.N&&(this.N.unbind(g.G("subtitlesEnabled"),this.jH,this),h.mfa.forEach(function(p){this.N.unbind(g.G(p),this.XN,this)}.bind(this)),h.nfa.forEach(function(p){this.N.unbind(g.G(p),this.YN,this)}.bind(this)),
this.N=null)};h.prototype.zc=function(){return this.T0};h.prototype.wda=function(p){this.Gy!=p&&(this.Gy&&this.Gy.unbind(g.G("activeSubtitles"),this.O6,this,!0),(this.Gy=p)&&this.Gy.bind(g.G("activeSubtitles"),this.O6,this,!0),this.O6())};h.prototype.O6=function(){this.bPa(this.Gy&&this.Gy.get("activeSubtitles")||[])};h.prototype.jH=function(){this.W=this.N.get("subtitlesEnabled");this.X$()};h.prototype.XN=function(){this.rH=this.uK("subtitlesVerticalAlign",[e.tc,e.ee,e.oc],e.oc);this.rl.style["text-align"]=
this.uK("subtitlesHorizontalAlign",[e.Oa,e.hb,e.Ae],e.Ae);this.rl.style.bottom=this.rH==e.oc?this.Zj("subtitlesBottom",0):"";this.rl.style.top=this.rH==e.tc?this.Zj("subtitlesTop",0):this.rH==e.ee?"50%":"";this.rl.style.transform=this.rH==e.ee?"translate(0, -50%)":"";this.X$()};h.prototype.YN=function(){var p={};p["background-color"]=this.S4("subtitlesBackgroundColor","subtitlesBackgroundOpacity");p.border=[this.Zj("subtitlesBorderSize"),"solid",this.ci("subtitlesBorderColor")].join(" ");p["box-shadow"]=
this.ci("subtitlesShadow",!1)?[this.Zj("subtitlesShadowHorizontalLength"),this.Zj("subtitlesShadowVerticalLength"),this.Zj("subtitlesShadowBlurRadius"),this.S4("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";p.display="inline-block";p["font-family"]=f.Ev(this.ci("subtitlesFontFamily"));p["font-size"]=this.Zj("subtitlesFontSize");p.color=this.ci("subtitlesFontColor");p["font-weight"]=this.uK("subtitlesFontWeight","bold bolder lighter 100 200 300 400 500 600 700 800 900 normal".split(" "),
"normal");p["font-style"]=this.uK("subtitlesFontStyle",["italic","normal"],"normal");p["margin-bottom"]=this.Zj("subtitlesGap");p.opacity=this.ci("subtitlesOpacity");p["padding-top"]=this.Zj("subtitlesPaddingTop");p["padding-bottom"]=this.Zj("subtitlesPaddingBottom");p["padding-left"]=this.Zj("subtitlesPaddingLeft");p["padding-right"]=this.Zj("subtitlesPaddingRight");p.position="relative";p["text-align"]=this.uK("subtitlesHorizontalAlign",["left","right","center"],"center");p["text-decoration"]=this.ci("subtitlesTextDecoration",
["underline","overline","line-through","none"],"none");p["text-shadow"]=[this.Zj("subtitlesTextShadowHorizontalLength"),this.Zj("subtitlesTextShadowVerticalLength"),this.Zj("subtitlesTextShadowBlurRadius"),this.S4("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.E7=p;this.ADa()};h.prototype.bPa=function(p){this.cH=p;this.X$()};h.prototype.X$=function(){for(var p=this.W?this.cH:[],q=this.Ih.length-1;0<=q;q--){var n=this.Ih[q];if(0<=p.indexOf(n.Gda))break;this.rl.removeChild(n.element)}for(var r=
[],u=!1;0<=q;q--)n=this.Ih[q],!n.IX&&0>p.indexOf(n.Gda)&&(n.IX=!0,n.element.style.visibility="hidden",u=!0),r.splice(0,0,n);u&&c.requestFrame(this.$ha,this);this.Ih=r;var t=this.Ih.filter(function(v){return!v.IX}).map(function(v){return v.Gda});p.filter(function(v){return 0>t.indexOf(v)}).forEach(function(v){v=new d(v);this.aha(v);this.rH==e.oc&&0<this.Ih.length?this.rl.insertBefore(v.element,this.Ih[this.Ih.length-1].element):this.rl.appendChild(v.element);this.Ih.push(v)}.bind(this));this.ma.style.display=
0<this.Ih.length?"block":"none"};h.prototype.$ha=function(p){var q=!1;p=Math.round(200*p/1E3);for(var n=0;n<this.Ih.length;n++){var r=this.Ih[n];if(r.IX)if(q=!0,p>=r.element.clientHeight)p-=r.element.clientHeight,this.rl.removeChild(r.element),this.Ih.splice(n,1),n--;else{r.element.style.height=r.element.clientHeight-p+"px";break}}q&&c.requestFrame(this.$ha,this)};h.prototype.ADa=function(){this.Ih.forEach(this.aha.bind(this))};h.prototype.aha=function(p){for(var q in this.E7)p.Mda.style[q]=this.E7[q]};
h.prototype.ci=function(p,q){return this.N.get(p,q)};h.prototype.Zj=function(p,q){p=this.N.get(p,q);isNaN(p)||(p=Math.round(p)+"px");return p};h.prototype.uK=function(p,q,n){p=this.N.get(p);return 0>q.indexOf(p)?n:p};h.prototype.S4=function(p,q,n,r){p=this.N.get(p,n);q=this.N.get(q,r);return"rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+q+")"};h.mfa=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"];
h.nfa="subtitlesBackgroundColor subtitlesBackgroundOpacity subtitlesBorderColor subtitlesBorderSize subtitlesFontFamily subtitlesFontColor subtitlesFontSize subtitlesFontStyle subtitlesFontWeight subtitlesGap subtitlesOpacity subtitlesPaddingTop subtitlesPaddingBottom subtitlesPaddingLeft subtitlesPaddingRight subtitlesShadow subtitlesShadowBlurRadius subtitlesShadowHorizontalLength subtitlesShadowVerticalLength subtitlesShadowColor subtitlesTextDecoration subtitlesTextShadowBlurRadius subtitlesTextShadowColor subtitlesTextShadowHorizontalLength subtitlesTextShadowOpacity subtitlesTextShadowVerticalLength".split(" ");
var l=document.createElement("div");return h});define("eH",["require","li","ox","dx"],function(a){var d=a("li"),h=a("ox"),m=a("dx");a=d.extend(m,function(k,b){m.call(this,k);this.xc=b;this.xc.bind(h.G("panorama"),this.h7,this);this.h7()});a.prototype.clear=function(){this.xc&&(this.xc.unbind(h.G("panorama"),this.h7,this),this.xc=null);m.prototype.clear.call(this)};a.prototype.h7=function(){this.wda(this.xc.get("panorama"))};return a});
define("ot",["require"],function(){function a(h,m){this.j=h;this.EG=m;this.gg=new THREE.CustomRenderPass(m);this.gg.renderToScreen=!1;this.MV=new THREE.SavePass;this.MV.enabled=!0;this.Ow=new THREE.ShaderPass(THREE.BlendShader,"tDiffuse1");this.Ow.uniforms.tDiffuse2.value=this.MV.renderTarget.texture;this.Ow.uniforms.mixRatio.value=.8;this.Ow.renderToScreen=!0;this.Ow.enabled=!0;this.noa=new THREE.ShaderPass(THREE.CopyShader);this.noa.renderToScreen=!0;this.jm=new THREE.EffectComposer(h);this.jm.addPass(this.gg);
this.jm.addPass(this.Ow);this.jm.addPass(this.MV);this.jm.addPass(this.noa);this.Xw=this.Yw=void 0}var d=new THREE.Vector2;a.prototype.destroy=function(){this.jm=this.Ow=this.MV=this.gg=this.EG=this.j=null};a.prototype.start=function(){this.Ow.uniforms.mixRatio.value=0;this.m4=3};a.prototype.render=function(h,m){this.j.getSize(d);if(this.Yw!==d.width||this.Xw!==d.height)this.Yw=d.width,this.Xw=d.height,this.jm.setSize(this.Yw,this.Xw);this.gg.scene=h;this.gg.camera=m;0<this.m4&&(this.m4--,0===this.m4&&
(this.Ow.uniforms.mixRatio.value=.65));this.jm.render()};return a});
define("jl",["require"],function(){function a(h,m){this.j=h;this.EG=m;this.jm=new THREE.EffectComposer(h);this.gg=new THREE.CustomRenderPass(m);this.gg.renderToScreen=!1;this.jm.addPass(this.gg);this.BS=new THREE.ShaderPass(THREE.FXAAShader);this.jm.addPass(this.BS);this.Xw=this.Yw=void 0}var d=new THREE.Vector2;a.prototype.destroy=function(){this.jm=this.BS=this.gg=this.EG=this.j=null};a.prototype.render=function(h,m){this.j.getSize(d);if(this.Yw!==d.width||this.Xw!==d.height)this.Yw=d.width,this.Xw=
d.height,this.jm.setSize(this.Yw,this.Xw),this.BS.material.uniforms.resolution.value.x=1/this.Yw,this.BS.material.uniforms.resolution.value.y=1/this.Xw;this.gg.scene=h;this.gg.camera=m;this.jm.render()};return a});
define("kR",["require","ot","jl"],function(a){function d(k,b){this.j=k;this.EG=b;this.RT=new h(k,b);this.q4=new m(k,b);this.lS=d.NONE}var h=a("ot"),m=a("jl");d.yea="fxaa";d.p0="motionBlur";d.NONE="none";d.prototype.destroy=function(){this.RT.destroy();this.RT=null;this.q4.destroy();this.EG=this.j=this.q4=null};d.prototype.Zca=function(k){this.lS!=k&&(this.lS=k,this.lS==d.p0&&this.RT.start())};d.prototype.render=function(k,b){switch(this.lS){case d.yea:this.q4.render(k,b);break;case d.p0:this.RT.render(k,
b);break;default:this.EG(this.j,k,b,null,!1)}};return d});
define("bi","require bv v dz V hp".split(" "),function(a){var d=a("bv");a("v");var h=a("dz"),m=a("V"),k=a("hp"),b=180/Math.PI;return{oBa:function(g,e){var c,f;this.setSize=function(l,p){if(c!=l||f!=p)c=l,f=p,g.setSize(l,p)};this.rd=function(){return c};this.ce=function(){return f};this.start=function(l){m.Xca(l,[e]);c&&f&&g.setSize(c,f);g.setPixelRatio(k.getPixelRatio())};this.stop=function(){};this.fov=function(){return e.fov};this.Uda=function(){};this.camera=function(){return e};this.render=function(l,
p,q){g.setRenderTarget(p);q&&g.clear();g.render(l,e)}},aCa:function(g,e){var c,f,l,p,q=new THREE.Vector2,n=new THREE.PerspectiveCamera;n.layers.enable(h.Oa);var r=new THREE.PerspectiveCamera;r.layers.enable(h.hb);this.start=function(u){g.getSize(q);c=g.getPixelRatio();f=q.width;l=q.height;p=g.getContext().getParameter(g.getContext().FRAMEBUFFER_BINDING);var t=d.kY();t.KO&&g.getContext().bindFramebuffer(g.getContext().FRAMEBUFFER,t.KO);g.setClearColor(0,1);g.setDrawingBufferSize(t.to,t.Ym,t.XX);m.Xca(u,
[n,r])};this.stop=function(){g.getContext().bindFramebuffer(g.getContext().FRAMEBUFFER,p);g.setClearColor(0,0);g.setDrawingBufferSize(f,l,c)};this.setSize=function(u,t){f=u;l=t};this.rd=function(){return f};this.ce=function(){return l};this.fov=function(){return r.fov};this.camera=function(){return r};this.Uda=function(){e.updateProjectionMatrix();e.updateMatrixWorld();d.Fs().views.forEach(function(u){var t=u.eye==d.rn.Oa?n:u.eye==d.rn.hb?r:null;t&&(e.matrixWorld.decompose(t.position,t.quaternion,
t.scale),t.applyQuaternion(u.orientation),t.translateOnAxis(u.position,1),t.projectionMatrix.copy(u.projectionMatrix),t.fov=2*Math.atan(1/t.projectionMatrix.elements[5])*b)})};this.render=function(u,t,v){var w=u.eca;w&&(u.updateMatrixWorld(),u.eca=!1);t?(g.setRenderTarget(t),t.scissorTest=!0):(g.setRenderTarget(null),g.setScissorTest(!0));(g.autoClear||v)&&g.clear();d.Fs().views.forEach(function(x){var y=x.eye==d.rn.Oa?n:x.eye==d.rn.hb?r:null;y&&(t?(t.viewport.set(x.viewport.x,x.viewport.y,x.viewport.width,
x.viewport.height),t.scissor.set(x.viewport.x,x.viewport.y,x.viewport.width,x.viewport.height)):(g.setViewport(x.viewport.x,x.viewport.y,x.viewport.width,x.viewport.height),g.setScissor(x.viewport.x,x.viewport.y,x.viewport.width,x.viewport.height)),g.render(u,y))});g.getSize(q);t?(t.viewport.set(0,0,q.width,q.height),t.scissor.set(0,0,q.width,q.height),t.scissorTest=!1,g.setRenderTarget(null)):(g.setViewport(0,0,q.width,q.height),g.setScissorTest(!1));w&&(u.eca=!0)}},QBa:function(g,e){var c,f,l=1,
p=new THREE.WebGLCubeRenderTarget(1024),q=new THREE.CubeCamera(.1,1E4,p);q.layers.enable(h.Ys);q.layers.enable(h.Oa);p=new THREE.ShaderMaterial;p.uniforms={tCube:{value:q.renderTarget.texture},tFlip:{value:1},opacity:{value:1}};p.fragmentShader="uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n";p.vertexShader=
"varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}\n";p.side=THREE.BackSide;p.depthWrite=!1;p.transparent=!0;p.depthTest=!1;p.needsUpdate=!0;var n=new THREE.Mesh(new THREE.SphereGeometry(5,64,64),p);n.overdraw=!1;n.matrixAutoUpdate=!1;n.renderOrder=1E3;var r=new THREE.Matrix4;this.ND=function(t){l=t};this.setSize=function(t,v){c==
t&&f==v||g.setSize(c=t,f=v)};this.rd=function(){return c};this.ce=function(){return f};this.start=function(t){t.add(n);t.add(q);t.traverse(function(v){v.layers.test(q.layers)&&(v.userData.bca=v.layers.mask,v.layers.mask=q.layers.mask)});q.visible=!0;n.visible=!0;m.Xca(t,[e]);g.setClearColor(16777215,1);g.setPixelRatio(k.getPixelRatio());c&&f&&g.setSize(c,f)};this.stop=function(t){g.setClearColor(0,0);t.traverse(function(v){void 0!==v.userData.bca&&(v.layers.mask=v.userData.bca,delete v.userData.bca)});
q.visible=!1;n.visible=!1;t.remove(n);t.remove(q)};this.fov=function(){return e.fov};this.Uda=function(){0<l&&(n.matrix.copy(e.matrixWorld),n.matrix.multiply(r.makeTranslation(0,0,5*-l)),n.matrixWorldNeedsUpdate=!0)};this.camera=function(){return e};var u=0;this.render=function(t,v,w){0<l&&(u++,k.uVa()&&0!=u%10||(k.vXa(),n.visible=!1,q.update(g,t),n.visible=!0));g.setRenderTarget(v);w&&g.clear();g.render(t,e)}}}});
define("eB","require jquery.mod mq kL nm dz kR bi gR hp bv".split(" "),function(a){function d(){this.ma=h("<div/>");this.ma.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,cursor:"inherit"});this.Ca=new THREE.PerspectiveCamera(90,16/9,.1,2*f.Df);this.Ca.layers.enable(g.Oa);this.VR=new THREE.PerspectiveCamera;this.Fa=new THREE.Scene;this.wia=new THREE.Scene;this.xia=new THREE.Scene;this.Fa.add(this.Ca);this.Wt=this.gx=this.j=null;this.IB=0;this.Tu=this.ag=this.C9=this.uaa=null;this.ama=
this.V2=!1}var h=a("jquery.mod"),m=a("mq"),k=a("kL"),b=a("nm"),g=a("dz"),e=a("kR"),c=a("bi"),f=a("gR"),l=a("hp"),p=a("bv");d.prototype.$m=function(){return this.Fa};d.prototype.iD=function(){return this.VR};d.prototype.UTa=function(){return this.ag.fov(this.Ca)};d.prototype.getPixelRatio=function(){return this.j.getPixelRatio()};d.prototype.zc=function(){return this.ma};d.prototype.XTa=function(){return this.j?this.j.domElement.width:this.ma.width()};d.prototype.WTa=function(){return this.j?this.j.domElement.height:
this.ma.height()};d.prototype.lg=function(){return this.j.domElement};d.prototype.update=function(t){this.MRa(t);this.nRa(t);this.lq(t);this.JRa(t)};var q=[new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,0,-1),new THREE.Vector3(0,0,1),new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0)],n=[new THREE.Vector3(1,0,0),new THREE.Vector3(-1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)];d.prototype.wO=function(t){var v=this.ag,
w=this.ag.rd(),x=this.ag.ce();v.stop();this.j.setPixelRatio(1);this.j.setSize(t,t);var y=new THREE.PerspectiveCamera(90,1,this.Ca.near,this.Ca.far);y.layers=this.Ca.layers;y.visible=!0;this.Fa.add(y);for(var A=[],B=0;6>B;B++){var z=document.createElement("canvas");z.width=z.height=t;var C=z.getContext("2d");y.up.copy(q[B]);y.lookAt(n[B]);y.updateProjectionMatrix();y.updateMatrixWorld();this.j.clear();this.j.render(this.Fa,y);C.save();C.scale(-1,1);C.drawImage(this.j.domElement,0,0,-t,t);C.restore();
A.push(z)}this.Fa.remove(y);this.ag=v;this.ag.start(this.Fa);this.ag.setSize(w,x);this.OM();return A};d.prototype.render=function(){this.OM()};d.prototype.MRa=function(t){t.enabled&&(this.IB=(new Date).getTime(),this.j||this.lPa(t),t.Bb&&p.getType()==p.mA.Ok&&(this.ama=!0),p.IZ(this.j.getContext()));if(this.V2=t.enabled&&!t.Bb)this.gx.setSize(t.width,t.height),this.Wt.setSize(t.width,t.height)};d.prototype.lPa=function(t){if(!this.j&&t.enabled){for(;r.length>=u;)r.sort(function(x,y){return x.IB-y.IB}),
r[0].KEa();r.push(this);var v=this.zc().get(0);this.gx=new THREE.CSS3DRenderer;this.gx.domElement.style.position="absolute";this.gx.domElement.style.zIndex=0;v.appendChild(this.gx.domElement);var w={precision:"mediump",alpha:!0};1==r.length&&t.Bb?(t=p.nD(),w.context=t,w.canvas=t.canvas):(w.canvas=document.createElement("canvas"),w.context=l.Zaa(w.canvas,t.vX));this.j=new THREE.WebGLRenderer(w);this.j.debug.checkShaderErrors=m.bE;this.j.domElement.style.position="absolute";this.j.domElement.style.zIndex=
1;this.j.domElement.style.pointerEvents="none";this.j.setClearColor(0,0);v.appendChild(this.j.domElement);this.Wt=new THREE.CSS3DRenderer;this.Wt.domElement.style.position="absolute";this.Wt.domElement.style.zIndex=2;this.Wt.domElement.style.pointerEvents="none";v.appendChild(this.Wt.domElement);this.Tu=new e(this.j,function(x,y,A,B,z){this.ama&&this.j.resetState();this.ag.render(y,B,z)}.bind(this));this.C9=new c.oBa(this.j,this.Ca);this.$qa=new c.QBa(this.j,this.Ca);this.uaa=new c.aCa(this.j,this.Ca);
p.BH(this.j.getContext())}};d.prototype.KEa=function(){if(this.j){r.splice(r.indexOf(this),1);this.ag=this.C9=this.uaa=null;this.Tu.destroy();this.Tu=null;p.xZ(this.j.getContext());var t=this.zc().get(0);t.removeChild(this.Wt.domElement);this.Wt=null;t.removeChild(this.j.domElement);this.j.dispose();this.j=null;t.removeChild(this.gx.domElement);this.gx=null}};d.prototype.lq=function(t){this.Ca.quaternion.copy(b.xua(t.Sa,t.pitch,t.Xe));this.Ca.fov=k.Jl(t.ze,t.width,t.height);this.Ca.aspect=t.width/
t.height;this.Ca.updateProjectionMatrix();this.Ca.updateMatrixWorld();this.ag&&this.ag.Uda();this.ag&&this.VR.copy(this.ag.camera());this.VR.updateProjectionMatrix();this.VR.updateMatrixWorld();!0===this.Fa.eca&&this.Fa.updateMatrixWorld()};d.prototype.nRa=function(t){var v=t.Bb?this.uaa:0<t.Sl?this.$qa:this.C9;this.ag!=v&&(this.ag&&this.ag.stop(this.Fa),(this.ag=v)&&this.ag.start(this.Fa));this.ag&&(this.ag.setSize(t.width,t.height),this.ag==this.$qa&&this.ag.ND(t.Sl))};d.prototype.JRa=function(t){this.Tu&&
(t.YY?this.Tu.Zca(e.p0):t.aY&&!t.Bb?this.Tu.Zca(e.yea):this.Tu.Zca(e.NONE))};d.prototype.OM=function(){this.Tu&&this.Tu.render(this.Fa,this.Ca);this.V2&&(this.gx.render(this.wia,this.Ca),this.Wt.render(this.xia,this.Ca))};var r=[],u=10;return d});
define("c","require li iS fa cr em V kk oE".split(" "),function(a){var d=a("li"),h=a("iS"),m=a("fa"),k=a("cr"),b=a("em"),g=a("V"),e=a("kk"),c=a("oE");a=d.extend(h,function(){h.call(this);this.set("tag","ComposedWebGLObject");this.set("webglScene",null);this.set("meshGroup",null);this.set("camera",null);this.set("textureSource",null);this.set("materialConfig",this.Yb=new k.qn);this.Ut&&this.Ut();this.UA&&this.UA();this.ex&&this.ex();this.Bn&&this.Bn()});a.prototype.Lb=function(){h.prototype.Lb.call(this);
this.Un&&this.Un();this.lL&&this.lL();this.uG&&this.uG()};a.prototype.Qb=function(){this.RF&&this.RF();this.vG&&this.vG();this.Wn&&this.Wn();b.dispose(this.get("meshGroup"));b.CI(this.get("meshGroup"),null);this.set("meshGroup",null);h.prototype.Qb.call(this)};a.prototype.ea=function(f){this.Lf&&this.Lf(f);h.prototype.ea.call(this,f);this.set("camera",g.iD(f.Bg));this.set("webglScene",f.Bg);this.get("meshGroup")||(this.set("meshGroup",b.Qta(this.An())),this.get("meshGroup").userData.yWa=this);this.M("webglScene",
"meshGroup")&&b.CI(this.get("meshGroup"),this.get("webglScene"));this.Dl();this.zj&&this.zj(f);this.ZRa();this.vv&&this.vv(f);this.pq&&this.pq(f);this.RC();this.M("loadingActive","meshGroup")&&e.mc(this.get("meshGroup"),this.get("loadingActive"));this.M("blendingActive","meshGroup")&&c.wya(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.Dl=function(){this.M("composedAlpha","meshGroup")&&this.Jw()};a.prototype.Jw=function(){b.nf(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.ZRa=
function(){if(this.M("textureSource")||this.M("materialConfig")&&!this.Yb.isEqual(this.get("materialConfig"))){var f=this.qF();f&&(b.iYa(f,this.SJ()),this.Jw())}};a.prototype.RC=function(){if(this.M("index","meshGroup")){var f=this.get("meshGroup");f&&f.children.forEach(function(l,p,q){b.OZ(l,this.get("index")+p/q.length)}.bind(this))}};a.prototype.SJ=function(){var f=this.get("textureSource")||new m;this.Yb=this.get("materialConfig");var l=k.Zy(f.texture(),this.Yb);e.DI(l,f);return[l]};a.prototype.nia=
function(){var f=new m,l=k.Zy(f.texture());e.DI(l,f);return[l]};a.prototype.iu=function(f){return b.oUa(this.get("meshGroup"),f)};return a});
define("nL","require hP gR em jr kk kL nm mL".split(" "),function(a){var d=a("hP"),h=a("gR"),m=a("em"),k=a("jr"),b=a("kk"),g=a("kL"),e=a("nm"),c=a("mL"),f=new THREE.Matrix4,l=Math.PI/180;return{Ut:function(){this.set("distance",void 0);this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("scale",1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("hfov",void 0);this.set("vfov",null);this.set("scaleMode",
null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.set("attachToCamera",!1);this.Ig=this.bx();this.jh=new THREE.Matrix4;this.Bd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.nm=new THREE.Matrix4;this.Ti=new THREE.Matrix4;this.O1=new THREE.Matrix4;this.eha=new THREE.Quaternion;this.hia=new THREE.Matrix4;this.BJ=new THREE.Matrix4;this.OJ=new THREE.Matrix4;this.Qw=new THREE.Matrix4;this.xh=new THREE.Matrix4},vv:function(p){this.nq(p);this.$$()},$$:function(){if(this.M("hfov",
"vfov","contentWidth","contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var p=k.Bba(this.get("hfov"),this.get("vfov"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("panoramaPixelsPerDegree"),this.get("horizontalAlign"),this.get("verticalAlign"));p=h.Uya(this.Ig[1],p.fQ,p.iQ,p.fw,p.gw);this.Ig[1]!=p&&(this.Ig[1]=p,(p=this.qF())&&m.cda(p,this.Ig[1]))}},qF:function(){var p=this.get("meshGroup");return p?m.Hk(p)[1]:null},An:function(){return[0,
1].map(function(p){var q=0==p?this.nia():this.SJ();p=m.create(this.Ig[p],q);b.Xv(p,b.Po);b.Yv(p,b.Wq);b.LD(p,d.aJ);b.UP(p,1);return p}.bind(this))},bx:function(){return[h.MH(),h.MH()]},nq:function(p){var q=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.jh.makeTranslation(.5*-this.get("composedTranslationX")*h.Df,.5*this.get("composedTranslationY")*h.Df,.5*this.get("composedTranslationZ")*h.Df),q=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.Bd.makeRotationY(-p.Sa*l),this.Bd.multiply(f.makeRotationX(-this.get("composedDeltaPitch")*l)),this.Bd.multiply(f.makeRotationY(this.get("composedDeltaYaw")*l)),this.Bd.multiply(f.makeRotationY(p.Sa*l)),q=!0);this.M("yaw","pitch")&&(this.Vn.makeRotationY(-this.get("yaw")*l),this.Vn.multiply(f.makeRotationX(this.get("pitch")*l)),q=!0);if(this.M("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX",
"composedTranslationY","composedTranslationZ")){var n=0==this.ka.get("composedTranslationX")&&0==this.ka.get("composedTranslationY")&&0==this.ka.get("composedTranslationZ")&&void 0!==this.get("distance")?h.lD(this.get("distance")):h.Hv();this.nm.makeTranslation(0,0,-n);var r=this.get("contentWidth"),u=this.get("contentHeight"),t=this.get("hfov"),v=this.get("vfov")||g.Jl(t,r,u),w=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),y=this.get("scaleMode"),A=this.get("panoramaPixelsPerDegree");
q=this.get("horizontalAlign")||c.Ae;var B=this.get("verticalAlign")||c.ee;r=k.Bba(t,v,r,u,y,A,q,B);t=w*h.Cba(n,t);v=x*h.Dba(n,v);this.BJ.makeScale(t,v,1);w*=h.Cba(n,r.ze);n=x*h.Dba(n,r.Pq);this.OJ.makeScale(w,n,1);this.hia.makeTranslation(q==c.Oa?.5*-(t-w):q==c.hb?.5*(t-w):0,B==c.tc?.5*(v-n):B==c.oc?.5*-(v-n):0,0);q=!0}this.M("rotationX","rotationY","rotationZ","roll")&&(this.Ti.makeRotationZ(this.get("roll")*l),this.Ti.multiply(f.makeRotationY(this.get("rotationY")*l)),this.Ti.multiply(f.makeRotationX(this.get("rotationX")*
l)),this.Ti.multiply(f.makeRotationZ(this.get("rotationZ")*l)),q=!0);this.set("cameraYaw",p.Sa);this.set("cameraPitch",p.pitch);this.set("cameraRoll",p.Xe);this.get("attachToCamera")&&this.M("cameraYaw","cameraPitch","cameraRoll")?(this.eha.copy(e.xua(p.Sa,p.pitch,p.Xe)),this.O1.makeRotationFromQuaternion(this.eha),q=!0):this.M("attachToCamera")&&(this.O1.identity(),q=!0);if(q||this.M("meshGroup"))this.xh.copy(this.jh),this.xh.multiply(this.Bd),this.xh.multiply(this.O1),this.xh.multiply(this.Vn),
this.xh.multiply(this.nm),this.xh.multiply(this.Ti),this.Qw.copy(this.xh),this.Qw.multiply(this.BJ),this.xh.multiply(this.hia),this.xh.multiply(this.OJ),p=m.Hk(this.get("meshGroup")),m.wq(p[0],this.Qw),m.wq(p[1],this.xh)}}});define("jp",["require","li","c","nL"],function(a){var d=a("li"),h=a("c");a=a("nL");return d.extend(h,a,function(){h.call(this);this.set("tag","Plane")})});
define("hz","require li ku ox nq jp mF nR nc ex lj".split(" "),function(a){function d(n,r,u,t,v,w){for(n=(n-r)/w;u+180<t;)t-=360;for(;u-180>t;)t+=360;u=(u-t)/w;return u=-.1>n||.1<n?h(v,u,Math.abs(1/(1500*n))):h(v,u,.08)}function h(n,r,u){n=(r-n)*(1-u);1E-5>Math.abs(n)&&(n=0);return r-n}var m=a("li"),k=a("ku"),b=a("ox"),g=a("nq"),e=a("jp"),c=a("mF"),f=a("nR"),l=a("nc"),p=a("ex"),q=a("lj");a=m.extend(e,function(n){e.call(this);this.v=n;this.dk.push(this.v);this.Uf=this.Uf.bind(this);this.xe=g.Ka("CeilingCapPanoramaOverlay",
this.v)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch","tripod"==this.xe?-90:90);this.Xc=!1;this.kC=this.h8=this.Tr=void 0;this.GMa="tripod"==this.xe?1:-1;this.ej=this.rk=this.Kg=null});a.prototype.Lb=function(){e.prototype.Lb.call(this);this.Kg=(new f(b.Z)).Ul(this.Dp.bind(this));this.rk=(new f(b.sc)).yo(this.UB.bind(this));k.fa(this.v,"angle distance hfov image.levels.url inertia rotate".split(" "),this.Uf,!0)};a.prototype.Qb=function(){this.ej&&this.ej.dispose();this.ej=null;this.Kg.dispose();
this.rk.dispose();k.ca(this.v,"angle distance hfov image.levels.url inertia rotate".split(" "),this.Uf);e.prototype.Qb.call(this)};a.prototype.Uf=function(){this.set("angle",this.v.get("angle"));this.set("distance",this.v.get("distance"));this.set("hfov",this.v.get("hfov"));var n=l.YTa(this.v,this.get("panoramaPixelsPerDegree"));this.set("imageURL",n&&n.get("url"));this.set("imageWidth",n&&n.get("width"));this.set("imageHeight",n&&n.get("height"));this.set("inertia",this.v.get("inertia"));this.set("rotate",
this.v.get("rotate"))};a.prototype.An=function(){var n=e.prototype.An.call(this);this.Kg.pf(n);this.rk.pf(n);return n};a.prototype.ea=function(n){this.E$();this.mH(n);e.prototype.ea.call(this,n)};a.prototype.E$=function(){this.M("imageURL")&&this.get("imageURL")&&(this.set("textureSource",new c(this.get("imageURL"))),this.set("contentWidth",this.get("imageWidth")),this.set("contentHeight",this.get("imageHeight")))};a.prototype.Dp=function(){this.ej&&this.ej.dispose();this.ej=new p(this.get("textureSource").lf());
this.trigger(b.Sc);this.trigger(b.Z)};a.prototype.UB=function(n,r){var u=0;r.As(function(t){(t=r.Ml(t))&&(u+=t.Sg)});this.trigger(new q(b.sc,u/r.Uc.length))};a.prototype.mH=function(n){this.set("rendererYaw",n.Sa);if(this.M("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.M("rendererYaw")){var r=this.get("angle"),u=this.get("rotate"),t=this.get("inertia"),v=this.GMa*n.Sa;u&&(r+=v);var w=0,x=r-v;void 0!==this.Tr&&(t&&(u?(w=d(v,this.kC,r,this.Tr,this.h8,n.ye),r=this.Tr+w*
n.ye):(w=d(v,this.kC,x,this.Poa,this.h8,n.ye),x=this.Poa+w*n.ye,r=x+v)),this.Tr!=r&&this.Ba());this.Poa=x;this.Tr=r;this.h8=w;this.kC=v;this.set("rotationZ",-r)}};a.prototype.hn=function(n){if(n.bf==b.$l){var r=!n.Fk()&&this.hq(n);r&&(n.Sy(this.v),this.v.get("useHandCursor")&&n.Ty(this.v),n.Ek(this.get("distance")));this.Xc!=r&&(this.Xc=r,this.v.trigger(this.Xc?b.Tc:b.ac),n.Ms()&&this.v.trigger(this.Xc?b.eA:b.Ro))}else n.bf==b.Oj&&!n.Fk()&&this.hq(n)&&(1<this.v.XH(b.pa,!0).length&&n.Jq(this.v),n.Ek(this.get("distance")),
this.v.trigger(b.pa))};a.prototype.hq=function(n){return this.iu(n.Vp).some(function(r){return this.ej&&this.ej.dw(r.x,r.y)}.bind(this))};return a});
define("jT","require li ox kK iS bv".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("kK"),k=a("iS"),b=a("bv");a=d.extend(k,function(){k.call(this);this.jh=new THREE.Matrix4;this.Ksa=!1;this.gi=new THREE.Matrix4;this.eg=null;this.xl=new THREE.Matrix4;this.NM=this.yM=0;this.sJ=.75;this.aK=.5;this.Fr=4;this.w6=0;this.Gr=-2;this.zp=3;this.LT=0;this.eB=7;this.sM=this.ny=1;this.rL=.15;this.fB=this.dC=0;this.cT=this.kV=m.T;this.xW=this.rW=1E3});var g=Math.PI/180,e=new THREE.Matrix4;a.prototype.fm=function(){};
a.prototype.Lb=function(){k.prototype.Lb.call(this);this.trigger(h.Sc);this.trigger(h.Z)};a.prototype.Qb=function(){this.n2()};a.prototype.hk=function(){this.fm();this.PM()};a.prototype.ik=function(){this.Ba()};a.prototype.PM=function(){this.eg&&(this.n2(),this.qia())};a.prototype.TR=function(){};a.prototype.qia=function(){this.yNa();this.eg=new THREE.Group;for(var c=this.cT==m.X,f=this.dC,l=this.fB;0<l+f;){var p=Math.random()*(l+f)<=l;p?l--:f--;var q=this.TR();q.matrixAutoUpdate=!1;q.overdraw=!1;
q.material.opacity=0;q.userData={KTa:p,tI:new THREE.Matrix4,nta:new THREE.Matrix4,Mca:new THREE.Matrix4,y:void 0,fAa:void 0,wca:c};this.eg.add(q);c&&this.M8(q,this.Gr,this.zp);this.wNa(q)}this.yM=c?this.eg.children.length:0;this.waa.add(this.eg);this.dha()};a.prototype.n2=function(){if(this.eg){this.eg.parent&&this.eg.parent.remove(this.eg);for(var c=0,f=this.eg&&this.eg.children.length;c<f;c++)this.eg.children[c].material.dispose();this.eg=null;this.NM=0}};a.prototype.yNa=function(){this.xl=(new THREE.Matrix4).makeScale(this.ny,
this.ny,this.ny)};a.prototype.M8=function(c,f,l){f+=Math.random()*(l-f);if(c.userData.KTa){l=this.eB;var p=360*Math.random()*g;c.userData.tI.makeTranslation(l*Math.cos(p),f,l*Math.sin(p))}else l=2*Math.random()*Math.PI,p=this.w6+(this.Fr-this.w6)*Math.sqrt(Math.random()),c.userData.tI.makeTranslation(p*Math.cos(l),f,p*Math.sin(l));c.userData.tI.multiply(this.xl);c.userData.y=f};a.prototype.wNa=function(c){var f=this.rL+Math.random()*(this.MB-this.rL);do var l=Math.random()*this.LT;while(80<l&&100>
l);var p=360*Math.random(),q=Math.sin(p*g)*Math.sin(l*g)*f,n=-Math.cos(l*g)*f;f*=Math.cos(p*g)*Math.sin(l*g);c.userData.fAa=n*this.ny;c.userData.nta.makeTranslation(q,n,f);c.userData.Mca.makeRotationY(p*g);c.userData.Mca.multiply(e.makeRotationX(-l*g))};a.prototype.ea=function(c){k.prototype.ea.call(this,c);this.eRa(c);this.waa=c.Bg;this.waa!=(this.eg&&this.eg.parent)?(this.n2(),this.waa&&this.qia()):this.M("index")&&this.dha();this.ERa(c)};a.prototype.eRa=function(c){c=c.Bb&&b.getType()==b.mA.Ok;
c!=this.Oka&&(this.Oka=c)&&setTimeout(function(){this.eg&&this.PM()}.bind(this),0)};a.prototype.ERa=function(c){if(this.eg){this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Ksa=0!=this.get("composedTranslationX")||0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"),this.jh.makeTranslation(-this.get("composedTranslationX")*this.Fr,this.get("composedTranslationY")*this.Fr,this.get("composedTranslationZ")*this.Fr));var f=this.kV==m.X,l=this.eg.children,
p=l.length,q=f?Math.round(p*c.ye/this.rW):0;if(0<this.yM+q){this.NM=f?0:Math.min(this.yM,this.NM+Math.round(p*c.ye/this.xW));c=this.get("composedAlpha");for(f=0;f<p;f++){var n=l[f];if(!n.userData.wca)if(0<q)q--,n.userData.wca=!0,this.yM++,this.M8(n,this.zp,this.zp+(this.zp-this.Gr));else continue;n.userData.tI.multiply(n.userData.nta);n.userData.y+=n.userData.fAa;if(n.userData.y<this.Gr||n.userData.y>this.zp){if(0<this.NM){this.NM--;n.userData.wca=!1;this.yM--;n.material.opacity=0;continue}var r=
n.userData.y<this.Gr?this.zp:this.Gr;this.M8(n,r,r)}r=c;n.userData.y<this.Gr+this.aK?r*=(n.userData.y-this.Gr)/this.aK:n.userData.y>this.zp-this.sJ&&(r*=(this.zp-n.userData.y)/this.sJ);n.material.opacity=r*this.sM;this.Ksa?(n.matrix.copy(this.jh),n.matrix.multiply(n.userData.tI)):n.matrix.copy(n.userData.tI);n.matrix.multiply(n.userData.Mca);n.matrixWorldNeedsUpdate=!0}this.Ba()}}};a.prototype.dha=function(){if(this.eg)for(var c=this.get("index"),f=0;f<this.eg.children.length;f++)this.eg.children[f].renderOrder=
c};return a});
define("iC","require li ku kK jT ns v".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("kK"),k=a("jT"),b=a("ns"),g=a("v");a=d.extend(k,function(c){k.call(this);this.v=c;this.hk=this.hk.bind(this);this.ik=this.ik.bind(this);this.fm()});a.prototype.Lb=function(){k.prototype.Lb.call(this);this.v.set("state",this.v.get("startState"));h.fa(this.v,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.hk,
!0);h.fa(this.v,["state"],this.ik,!0)};a.prototype.Qb=function(){h.ca(this.v,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.hk);h.ca(this.v,["state"],this.ik);this.v.set("state",m.T);k.prototype.Qb.call(this)};a.prototype.hk=function(){this.fm();this.PM()};a.prototype.ik=function(){this.kV=this.v.get("state");this.Ba()};a.prototype.fm=function(){k.prototype.fm.call(this);var c=g.mb()||g.browser()==
g.Gz?2500:g.Nf()?4E3:5E3;this.rL=this.MB=.2*this.v.get("speed",.2);this.Fr=14.5*this.v.get("distance",.5)+.5;this.sM=1*this.v.get("opacity",.1);this.ny=.036;this.dC=this.v.get("intensity",.1)*c;this.vc=b.vP(this.v.get("color","#ffffff"));this.fB=0;this.eB=15;this.cT=this.v.get("initialState");this.rW=this.v.get("startDuration");this.xW=this.v.get("stopDuration");this.sJ=.75;this.aK=.5;this.Gr=-2;this.zp=4;this.LT=180;this.Yia()};a.prototype.TR=function(){return new THREE.Sprite(this.TA())};a.prototype.TA=
function(){var c=new THREE.SpriteMaterial;c.map=this.hp();c.side=THREE.FrontSide;c.transparent=!0;c.depthTest=!1;c.needsUpdate=!0;return c};a.prototype.hp=function(){if(this.ub)return this.ub;var c=document.createElement("canvas");c.width=c.height=e;this.ub=new THREE.Texture;this.ub.image=c;this.ub.needsUpdate=!0;this.Yia();return this.ub};a.prototype.Yia=function(){if(this.ub){var c=this.ub.image,f=c.getContext("2d"),l=f.createRadialGradient(.5*c.width,.5*c.height,.2*c.height,.5*c.width,.5*c.height,
.5*c.height);l.addColorStop(0,"rgba("+this.vc[0]+", "+this.vc[1]+", "+this.vc[2]+", 1)");l.addColorStop(1,"rgba("+this.vc[0]+", "+this.vc[1]+", "+this.vc[2]+", 0)");f.fillStyle=l;f.clearRect(0,0,c.width,c.height);f.fillRect(0,0,c.width,c.height);this.ub.needsUpdate=!0}};var e=32;return a});
define("lt","require li hP gR em jr kk mL".split(" "),function(a){a("li");var d=a("hP"),h=a("gR"),m=a("em"),k=a("jr"),b=a("kk"),g=a("mL"),e=new THREE.Matrix4,c=Math.PI/180;return{Ut:function(){this.set("distance",void 0);this.set("width",100);this.set("height",100);this.set("offsetX",void 0);this.set("offsetY",void 0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("rotationZ",0);this.set("contentWidth",100);this.set("contentHeight",100);this.set("scale",1);this.set("scaleMode",
null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.Ig=this.bx();this.jh=new THREE.Matrix4;this.Bd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.nm=new THREE.Matrix4;this.KE=new THREE.Matrix4;this.PG=new THREE.Matrix4;this.nha=new THREE.Matrix4;this.Ti=new THREE.Matrix4;this.kia=new THREE.Matrix4;this.BJ=new THREE.Matrix4;this.OJ=new THREE.Matrix4;this.Qw=new THREE.Matrix4;this.xh=new THREE.Matrix4;this.ME=new THREE.Matrix4;this.JA=new THREE.Vector3},vv:function(f){this.nq(f);
this.$$()},$$:function(){if(this.M("width","height","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign")){var f=k.gY(this.get("width"),this.get("height"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"));f=h.Uya(this.Ig[1],f.fQ,f.iQ,f.fw,f.gw);this.Ig[1]!=f&&(this.Ig[1]=f,(f=this.qF())&&m.cda(f,this.Ig[1]))}},qF:function(){var f=this.get("meshGroup");return f?m.Hk(f)[1]:null},An:function(){return[0,
1].map(function(f){var l=0==f?this.nia():this.SJ();f=m.create(this.Ig[f],l);b.Xv(f,b.Po);b.Yv(f,b.Wq);b.LD(f,d.aJ);b.UP(f,1);return f}.bind(this))},bx:function(){return[h.MH(),h.MH()]},nq:function(f){var l=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.jh.makeTranslation(.5*-this.get("composedTranslationX")*h.Df,.5*this.get("composedTranslationY")*h.Df,.5*this.get("composedTranslationZ")*h.Df),l=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.Bd.makeRotationY(-f.Sa*c),this.Bd.multiply(e.makeRotationX(-this.get("composedDeltaPitch")*c)),this.Bd.multiply(e.makeRotationY(this.get("composedDeltaYaw")*c)),this.Bd.multiply(e.makeRotationY(f.Sa*c)),l=!0);this.M("yaw","pitch")&&(this.Vn.makeRotationY(-this.get("yaw")*c),this.Vn.multiply(e.makeRotationX(this.get("pitch")*c)),l=!0);if(this.M("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var p=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&
0==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",p?h.lD(this.get("distance")):h.Hv())}this.M("z")&&(this.nm.makeTranslation(0,0,-this.get("z")),l=!0);l&&(this.ME.copy(this.jh),this.ME.multiply(this.Bd),this.ME.multiply(this.Vn),this.ME.multiply(this.nm));p=!1;this.set("rendererYaw",f.Sa);this.set("rendererPitch",f.pitch);this.set("rendererRoll",f.Xe);this.set("rendererCameraFOV",f.Uh);this.set("rendererWidth",f.width);this.set("rendererHeight",f.height);f.Uh&&this.M("z",
"rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(f.Uh*c*.5)*this.get("z")*2);if(f.Uh&&(l||this.M("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR"))){if(f.Bb)this.KE.copy(this.ME),this.PG.identity();else{p=f.camera;this.KE.copy(p.matrixWorld);this.JA.setFromMatrixPosition(p.matrixWorld);this.JA.applyMatrix4(this.ME);this.JA.applyMatrix4(p.matrixWorldInverse);var q=-10,n=-10;0>this.JA.z&&(this.JA.applyMatrix4(p.projectionMatrix),
q=.5*this.JA.x,n=.5*this.JA.y);var r=this.get("rendererHeightZ");this.PG.makeTranslation(q*r*p.aspect,n*r,0)}p=!0}this.M("roll")&&(this.Ti.makeRotationZ(this.get("roll")*c),p=!0);if(f.Uh&&(l||this.M("rendererHeight","inVR","rendererHeightZ","width","height","contentWidth","contentHeight","scale","scaleMode","horizontalAlign","verticalAlign","flipHorizontally","offsetX","offsetY"))){l=f.Bb?1024:f.height;p=this.get("scale")*this.get("rendererHeightZ")/l*(f.Bb?2:1);var u=this.get("width");n=this.get("height");
var t=this.get("offsetX");r=this.get("offsetY");var v=this.get("contentWidth"),w=this.get("contentHeight");q=(this.get("flipHorizontally")?-1:1)*p;var x=this.get("scaleMode");f=this.get("horizontalAlign")||g.Ae;l=this.get("verticalAlign")||g.ee;x=k.gY(u,n,v,w,x,f,l);v=q*u;w=p*n;this.BJ.makeScale(v,w,1);u=q*(.5*u-t);n=p*(r-.5*n);this.nha.makeTranslation(u,n,0);q*=x.width;p*=x.height;this.OJ.makeScale(q,p,1);this.kia.makeTranslation((f==g.Oa?.5*-(v-q):f==g.hb?.5*(v-q):0)+u,(l==g.tc?.5*(w-p):l==g.oc?
.5*-(w-p):0)+n,0);p=!0}p&&(this.xh.copy(this.KE),this.xh.multiply(this.nm),this.xh.multiply(this.PG),this.xh.multiply(this.Ti),this.Qw.copy(this.xh),this.Qw.multiply(this.nha),this.Qw.multiply(this.BJ),this.xh.multiply(this.kia),this.xh.multiply(this.OJ),f=m.Hk(this.get("meshGroup")),m.wq(f[0],this.Qw),m.wq(f[1],this.xh))}}});
define("ga",["require","ox","kK"],function(a){function d(k,b){this.zd=k;this.qc=b;this.Hb=!1;this.j1();this.n1();this.WB()}var h=a("ox"),m=a("kK");d.prototype.clear=function(){this.v8();this.B8();this.zd.set("state",m.T);this.qc=this.zd=null};d.prototype.rf=function(k){this.Hb!=k&&(this.Hb=k,this.ms())};d.prototype.WB=function(){this.qc.Id(this.zd.get("state"))};d.prototype.LL=function(){this.ms()};d.prototype.NL=function(){this.qc.bda(this.zd.get("frameDuration"))};d.prototype.ML=function(){this.qc.Eya("first"==
this.zd.get("finalFrame"))};d.prototype.JL=function(){this.zd.trigger(h.br)};d.prototype.IL=function(){this.zd.trigger(h.sb)};d.prototype.KL=function(){this.zd.set("state",this.qc.getState())};d.prototype.ms=function(){this.zd.get("autoplay")&&this.qc.Id(this.Hb?m.X:m.T)};d.prototype.j1=function(){this.zd.bind(h.G("state"),this.WB,this,!0);this.zd.bind(h.G("autoplay"),this.LL,this,!0);this.zd.bind(h.G("frameDuration"),this.NL,this,!0);this.zd.bind(h.G("finalFrame"),this.ML,this,!0)};d.prototype.v8=
function(){this.zd.unbind(h.G("state"),this.WB,this,!0);this.zd.unbind(h.G("autoplay"),this.LL,this,!0);this.zd.unbind(h.G("frameDuration"),this.NL,this,!0);this.zd.unbind(h.G("finalFrame"),this.ML,this,!0)};d.prototype.n1=function(){this.qc.bind(h.br,this.JL,this,!0);this.qc.bind(h.sb,this.IL,this,!0);this.qc.bind(h.le,this.KL,this,!0)};d.prototype.B8=function(){this.qc.unbind(h.br,this.JL,this,!0);this.qc.unbind(h.sb,this.IL,this,!0);this.qc.unbind(h.le,this.KL,this,!0)};return d});
define("gS","require ku ox kK hP nq cr em ga fa kk ex bf".split(" "),function(a){var d=a("ku"),h=a("ox"),m=a("kK"),k=a("hP"),b=a("nq"),g=a("cr"),e=a("em"),c=a("ga"),f=a("fa"),l=a("kk"),p=a("ex"),q=a("bf");return{UA:function(){this.set("visible",!1);this.set("inView",!1);this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("premultipliedAlpha",!1);this.set("projected",!1);this.set("image",null);this.set("level",null);this.set("levelURL",
null);this.set("state",null);this.set("visibleOnStop",!0);this.set("side",void 0);this.kU=this.kU.bind(this);this.nU=this.nU.bind(this);this.ej=this.Ra=this.zn=this.qc=null},zj:function(){this.E$();this.TN();this.LRa()},E$:function(){if(this.M("level")){var n=this.get("level");this.set("levelURL",n&&n.get("url"))}this.M("image","level","levelURL","projected")&&(this.Tha(),this.Ra=this.get("image"),this.Xa=this.get("level"),this.set("textureSource",new f(this.Ra&&this.Xa.get("url"))),this.set("premultipliedAlpha",
this.Ra&&this.Xa.get("premultipliedAlpha")),this.YCa(),this.Ra?(this.JCa(),this.MCa()):(this.trigger(h.Sc),this.trigger(h.Z)))},TN:function(){if(this.M("blending","chromaColor","chromaThreshold","chromaSmoothing","premultipliedAlpha","side")){var n=new g.qn;n.Wy=this.get("blending");n.ws=this.get("chromaColor");n.zO=this.get("chromaThreshold");n.yO=this.get("chromaSmoothing");n.premultipliedAlpha=this.get("premultipliedAlpha");n.side=this.get("side");this.set("materialConfig",n)}},LRa:function(){if(this.M("meshGroup",
"projected","visible")){var n=this.get("projected")&&this.get("visible")?k.z0:k.aJ;e.Hk(this.get("meshGroup")).forEach(function(r){l.LD(r,n)}.bind(this))}},Dl:function(){this.M("visible","composedAlpha","image","state","visibleOnStop")&&this.set("inView",this.get("visible")&&0<this.get("composedAlpha")&&(this.get("visibleOnStop")||this.get("state")!=m.T));this.M("composedAlpha","meshGroup","inView")&&e.nf(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.zn&&this.zn.rf(this.get("inView"))},
kU:function(){this.Ra&&b.Ka("AnimatedImageResource",this.Ra)?this.set("visibleOnStop",this.Ra.get("visibleOnStop")):this.set("visibleOnStop",!0)},nU:function(){this.set("levelURL",this.Xa.get("url"))},RF:function(){this.Tha()},Tha:function(){this.zn&&(this.zn.clear(),this.zn=null);this.qc&&(this.qc.unbind(h.ta,this.JK,this,!0),this.qc.unbind(h.le,this.Lka,this,!0),this.qc.clear(),this.qc=null);this.ej&&(this.ej.dispose(),this.ej=null);this.get("textureSource")&&(this.E8(),this.set("textureSource",
null));this.Ra&&(this.eNa(),this.Ra=null);this.Xa&&(this.hNa(),this.Xa=null)},JCa:function(){d.fa(this.Ra,["visibleOnStop"],this.kU,!0)},eNa:function(){d.ca(this.Ra,["visibleOnStop"],this.kU)},MCa:function(){d.fa(this.Xa,["url"],this.nU,!0)},hNa:function(){d.ca(this.Xa,["url"],this.nU)},KK:function(){this.E8();var n=this.get("image");if(b.Ka("AnimatedImageResource",n)){this.qc=new q(this.get("textureSource").lf(),n.get("rowCount",1),n.get("colCount",1),n.get("frameDuration"),n.get("frameCount",n.get("rowCount",
1)*n.get("colCount",1)),n.get("repeat"),"first"==n.get("finalFrame"));var r=this.qc.lg();this.qc.bind(h.le,this.Lka,this,!0);this.qc.bind(h.ta,this.JK,this,!0);this.zn=new c(n,this.qc);this.set("visibleOnStop",n.get("visibleOnStop"));this.set("state",this.qc.getState())}else r=this.get("textureSource").lf(),this.ej=new p(r),this.set("visibleOnStop",!0),this.set("state",null);this.Dl();this.set("contentWidth",r.width);this.set("contentHeight",r.height);this.get("textureSource").Rl(r);this.trigger(h.Sc);
this.trigger(h.Z)},Mka:function(){this.E8();this.trigger(h.Sc);this.trigger(h.Z)},Lka:function(){this.set("state",this.qc.getState())},JK:function(){this.get("textureSource").update();this.Ba()},YCa:function(){var n=this.get("textureSource");n.bind(h.Z,this.KK,this,!0);n.bind(h.Gc,this.Mka,this,!0)},E8:function(){var n=this.get("textureSource");n.unbind(h.Z,this.KK,this,!0);n.unbind(h.Gc,this.Mka,this,!0)},F4:function(n){return this.ej&&this.ej.ug==n.source?this.ej.info(n.x,n.y):p.info(n.source,n.x,
n.y)}}});
define("ou","require ku ox nq ns z".split(" "),function(a){function d(c){c=c.get("mapColor");return"image"==c||"transparent"==c||"any"==c}function h(c){c=c.get("mapColor");return"image"!=c&&"transparent"!=c&&"any"!=c}var m=a("ku"),k=a("ox"),b=a("nq"),g=a("ns"),e=new (a("z"));return{ex:function(){this.set("beamEnabled",!1);this.jU=this.jU.bind(this);this.QS=null;this.$h=[];this.lr=[];this.Dx=null},PXa:function(c){this.Dx!=c&&(this.w8(),this.Dx=c,this.Ega())},pq:function(c){this.wy=c.Sa;this.vy=c.pitch},
w8:function(){this.Dx&&m.ca(this.Dx,["areas"],this.jU)},Ega:function(){this.Dx&&m.fa(this.Dx,["areas"],this.jU,!0)},uG:function(){this.w8();this.Ega()},vG:function(){this.Zpa([]);this.w8()},jU:function(){var c=this.Dx.get("areas",[]);b.Ka("HotspotPanoramaOverlayImage",this.v)||b.Ka("FlatHotspotPanoramaOverlayImage",this.v)||b.Ka("QuadHotspotPanoramaOverlayImage",this.v)?this.QS=c.filter(d):this.QS=c.filter(h);this.QS.forEach(function(f){e.set(f,0)})},hn:function(c){if(c.bf==k.$l){var f=this.s4(c);
if(0<f.length){c.Sy(f);this.qs(f)&&c.Ty(f);c.Ek(this.get("distance"));var l=this.Mb(f,c.wD());l&&c.zX(l,this.Hy(c.wD()))}this.Zpa(f,c.Ms(),c.wD())}else if(c.bf==k.Oj){if(f=this.s4(c),0<f.length){var p=!1;f.forEach(function(q){q.trigger(k.pa);!p&&1<q.XH(k.pa,!0).length&&(p=!0)});c.Ek(this.get("distance"));p&&c.Jq(f)}}else c.bf==k.B0?(f=this.s4(c),0<f.length&&(p=!1,f.forEach(function(q){var n={};c.Ms()&&(n=c.Ps().Uua());q.trigger(k.vb,n);!p&&1<q.XH(k.vb,!0).length&&(p=!0)}),this.lr=f,c.Ek(this.get("distance")),
p&&c.Jq(f))):c.bf==k.C0&&this.lr.length&&(this.lr.forEach(function(q){var n={};c.Ms()&&(n=c.Ps().Uua());q.trigger(k.Zb,n)}),this.lr=[])},s4:function(c){if(!this.get("beamEnabled")||0==this.get("alpha")||c.Fk())return[];var f=this.iu(c.Vp);return 0==f.length?[]:this.QS.filter(function(l){var p=l.get("mapColor");return"any"==p?!0:"image"==p?f.some(function(q){return this.F4(q).dw}.bind(this)):"transparent"==p?f.every(function(q){return!this.F4(q).dw}.bind(this)):p&&"#"==p[0]?f.some(function(q){return 10>
g.fY(this.F4(q).color,p)}.bind(this)):!1}.bind(this))},Zpa:function(c,f,l){this.$h.forEach(function(q){if(0>c.indexOf(q)){var n=e.get(q)-1;e.set(q,n);0==n&&(q.trigger(k.ac,{center:l}),f&&q.trigger(k.Ro))}});var p=this.$h;this.$h=c;this.$h.forEach(function(q){if(0>p.indexOf(q)){var n=(e.get(q)||0)+1;e.set(q,n);1==n&&(q.trigger(k.Tc,{center:l}),f&&q.trigger(k.eA))}})},Mb:function(c,f){for(var l="",p=c.length-1;0<=p&&""==l;p--){var q=c[p];if(!f||q.get("displayTooltipInTouchScreens")&&!1!==this.Aa.N.get("displayTooltipInTouchScreens"))l=
q.get("toolTip","")}return l},Hy:function(c){if(c){c=this.get("yaw")-this.wy;var f=this.get("pitch")-this.vy;return Math.sqrt(c*c+f*f)}return 0},qs:function(c){for(var f=this.Dx.get("useHandCursor"),l=c.length-1;0<=l&&void 0===f;l--)f=c[l].get("useHandCursor");return!!f}}});
define("np",["require","v","cz"],function(a){function d(){this.Kh=void 0;this.DF=this.fC=0;this.va=!0;this.KR=this.b$=this.o4=void 0;this.Hb=!1}var h=a("v"),m=a("cz"),k=Math.PI/180,b=h.browser()==h.Xh?[-.5,0]:[0,0];d.prototype.wz=function(g){this.Kh!=g&&(this.Kh=g,this.va=!0)};d.prototype.vz=function(g){if(g<this.fC+b[0]||g>this.fC+b[1])this.fC=g,this.va=!0};d.prototype.get=function(g,e){void 0!==e||(e=!0);this.va&&(this.ea(),this.va=!1);var c=this.o4.get(g)||0;g=(this.b$.get(g)||0)-c;e&&(180<g?g-=
360:-180>g&&(g+=360));return c+g*this.KR};d.prototype.Aba=function(){this.va&&(this.ea(),this.va=!1);for(var g=this.o4.get("vertices"),e=this.b$.get("vertices"),c=[],f=0;f<g.length;f++){var l=g[f].get("yaw")||0,p=(e[f].get("yaw")||0)-l;180<p?p-=360:-180>p&&(p+=360);var q=g[f].get("pitch")||0,n=(e[f].get("pitch")||0)-q;c.push(new m(l+p*this.KR,q+n*this.KR))}g=this.dL&&this.dL.length==c.length;for(f=0;f<c.length&&g;f++)g=this.dL[f].get("yaw")==c[f].get("yaw")||this.dL[f].get("pitch")==c[f].get("pitch");
return g?this.dL:this.dL=c};d.prototype.Ik=function(){return this.get("opacity",!1)};d.prototype.oD=function(){var g=this.get("hfov")||this.get("vfov"),e=this.Kh[0].get("hfov")||this.Kh[0].get("vfov");return Math.tan(.5*g*k)/Math.tan(.5*e*k)};d.prototype.ea=function(){for(var g=this.DF,e,c=this.Kh.length-1,f,l;;){e=Math.min(g+1,c);f=this.xka(g);l=this.xka(e);if(f<=this.fC&&this.fC<=l)break;if(f>this.fC){if(0==g){e=g;break}--g}else{if(g==c){e=g;break}g+=1}}this.o4=this.Kh[g];this.b$=this.Kh[e];g=l-
f;this.KR=0<g?(this.fC-f)/g:0};d.prototype.xka=function(g){return this.Kh[g].get("timestamp")};return d});
define("cf",["require","ku","np"],function(a){var d=a("ku"),h=a("np");return{Bn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Od=this.Od.bind(this);this.lb=new h},Un:function(){d.fa(this.v,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "),this.Od,!0)},Wn:function(){d.ca(this.v,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "),
this.Od)},Od:function(){this.set("horizontalAlign",this.v.get("horizontalAlign"));this.set("verticalAlign",this.v.get("verticalAlign"));this.set("scale",this.v.get("scale"));this.set("scaleMode",this.v.get("scaleMode"));this.set("width",this.v.get("width"));this.set("height",this.v.get("height"));this.set("offsetX",this.v.get("offsetX",.5*this.v.get("width")));this.set("offsetY",this.v.get("offsetY",.5*this.v.get("height")));this.set("distance",this.v.get("distance"));this.set("playbackPositions",
this.v.get("playbackPositions"))},Lf:function(){this.M("playbackPositions","currentTime")&&(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("yaw",this.lb.get("yaw")),this.set("pitch",this.lb.get("pitch")),this.set("roll",this.lb.get("roll")),this.set("alpha",this.lb.Ik()))}}});
define("jD","require li ku ox em c lt gS ou cf nc".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("em"),b=a("c"),g=a("lt"),e=a("gS"),c=a("ou"),f=a("cf"),l=a("nc"),p=0;a=d.extend(b,g,f,e,c,function(q){b.call(this);this.set("tag","FlatHotspotImage");this.set("id","flat_hs_image_"+p++);this.v=q;this.dk.push(this.v);this.Uf=this.Uf.bind(this)});a.prototype.Lb=function(){b.prototype.Lb.call(this);h.fa(this.v,["image.levels"],this.Uf,!0)};a.prototype.Qb=function(){h.ca(this.v,["image.levels"],
this.Uf);b.prototype.Qb.call(this)};a.prototype.Uf=function(){this.set("image",this.v.get("image"));this.set("level",l.gUa(this.v))};a.prototype.ea=function(q){this.NC();b.prototype.ea.call(this,q);this.M("inView")&&this.v.trigger(this.get("inView")?m.hd:m.sd)};a.prototype.NC=function(){if(this.M("meshGroup","panoramaId","id")){var q=this.get("meshGroup");q&&q.children.forEach(function(n){k.setAttribute(n,k.Dz,this.get("panoramaId"));k.setAttribute(n,k.h_,this.get("id"))}.bind(this))}};return a});
define("mb","require li ku ox iS nR v nZ bE lj".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("iS"),b=a("nR");a("v");var g=a("nZ"),e=a("bE"),c=a("lj");a=d.extend(k,function(f){k.call(this);this.v=f;this.dk.push(this.v);this.CU=this.CU.bind(this);this.BU=this.BU.bind(this);this.DU=this.DU.bind(this);this.Xo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Hotspot");this.set("over",!1);this.set("centerOver",!1);this.set("enabled",!0);this.set("visible",!1);this.set("alpha",
0);this.set("inVR",!1);this.set("overlaysEnabled",!0);this.set("enabledInVR",!0);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("centerOverDisplay",!1);this.set("rollOverDisplay",!1);this.set("loadingActive",!1);this.F1=this.G1=this.Xn=this.Rd=this.vf=null;this.$h=[];this.E1=[];this.Gl=null});a.prototype.Lb=function(){this.vf=(new b(m.Z)).Ul(this.PB.bind(this));this.Rd=(new b(m.sc)).yo(this.TB.bind(this));this.Xn=(new b(m.Sc)).Ul(this.fLa.bind(this));this.G1=(new b(m.Tc)).yo(this.ZKa.bind(this));
this.F1=(new b(m.ac)).yo(this.YKa.bind(this));k.prototype.Lb.call(this);h.fa(this.v,["items","rollOverItems","maps","rollOverMaps"],this.CU,!0);h.fa(this.v,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.DU,!0);h.fa(this.v,["areas"],this.BU,!0)};a.prototype.Qb=function(){this.gH([],this.$h);this.v$([],this.E1);this.vf.dispose();this.Rd.dispose();this.Xn.dispose();this.G1.dispose();
this.F1.dispose();h.ca(this.v,["items","rollOverItems","maps","rollOverMaps"],this.CU);h.ca(this.v,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.DU);h.ca(this.v,["areas"],this.BU);this.get("visible")&&this.v.trigger(m.sd);k.prototype.Qb.call(this)};a.prototype.CU=function(){this.set("items",this.Aa.Kv(this.v.get("items",[])));this.set("rollOverItems",this.Aa.Kv(this.v.get("rollOverItems",
[])));this.set("maps",this.Aa.Kv(this.v.get("maps",[])));this.set("rollOverMaps",this.Aa.Kv(this.v.get("rollOverMaps",[])));var f=[].concat(this.get("maps"),this.get("items"),this.get("rollOverMaps"),this.get("rollOverItems"));f.forEach(function(l){l.PXa(this.v)}.bind(this));this.get("items").forEach(function(l){l.set("projected",this.v.get("projected"))}.bind(this));this.Tg(f);this.vf.pf(f);this.Rd.pf(f);this.Xn.pf(f)};a.prototype.DU=function(){this.set("fadeInDuration",this.v.get("fadeInDuration"));
this.set("fadeOutDuration",this.v.get("fadeOutDuration"));this.set("enabled",this.v.get("enabled",!0));this.set("enabledInVR",this.v.get("enabledInVR"));this.set("enabledInStandard",this.v.get("enabledInStandard",!0));this.set("enabledInSurfaceSelection",this.v.get("enabledInSurfaceSelection",!0));this.set("centerOverDisplay",this.v.get("centerOverDisplay"));this.set("rollOverDisplay",this.v.get("rollOverDisplay",!1));this.set("interactionEnabled",this.v.get("interactionEnabled",!0))};a.prototype.BU=
function(){var f=this.v.get("areas");this.G1.pf(f);this.F1.pf(f)};a.prototype.ea=function(f){this.Dl(f);k.prototype.ea.call(this,f);this.Ud(f)};a.prototype.Ud=function(f){this.set("inVR",f.Bb);this.set("surfaceSelection",f.bQ);this.set("hotspotsEnabled",f.sD);if(this.M("items","rollOverItems","maps","rollOverMaps","over","centerOver","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","surfaceSelection","enabledInSurfaceSelection","enabled","interactionEnabled","rollOverDisplay","centerOverDisplay")||
this.ka&&this.ka.M("composedAlpha")){var l=f=!1,p=this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))&&(!this.get("surfaceSelection")||this.get("enabledInSurfaceSelection"))&&this.ka&&0<this.ka.get("composedAlpha"),q=this.get("interactionEnabled");p&&(f=this.get("centerOver")&&!this.get("inVR"),l=this.get("over")||f,f=!this.get("rollOverDisplay")&&!this.get("centerOverDisplay")||this.get("over")&&this.get("rollOverDisplay")||
f&&!1!==this.get("centerOverDisplay")&&this.get("rollOverDisplay"));this.get("rollOverItems").forEach(function(v){v.set("visible",l);v.set("beamEnabled",p&&l&&q)});var n=0==this.get("rollOverItems").length;this.get("items").forEach(function(v){v.set("visible",n||!l);v.set("beamEnabled",p&&(n||!l)&&q)});this.get("rollOverMaps").forEach(function(v){v.set("visible",!1);v.set("beamEnabled",p&&l&&q)});var r=0==this.get("rollOverMaps").length;this.get("maps").forEach(function(v){v.set("visible",!1);v.set("beamEnabled",
p&&(r||!l)&&q)});this.set("visible",f)}if(this.M("visible")){f=this.get("alpha");var u=this.get("visible")?1:0,t=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(f-u);this.Gl=new g("linear",[new e("alpha",f,u)],Math.max(t,1));this.Ba();this.get("visible")?this.v.trigger(m.hd):this.v.trigger(m.sd)}};a.prototype.Dl=function(f){this.Gl&&(this.Gl.Ke()?this.Gl=null:(this.Gl.yb(f.ye),this.set("alpha",this.Gl.cb("alpha"))),this.Ba())};a.prototype.PB=function(){this.Aj();
this.trigger(m.Z)};a.prototype.fLa=function(){this.Aj();this.trigger(m.Sc)};a.prototype.TB=function(){this.Aj()};a.prototype.Aj=function(){var f=0;this.Rd.As(function(l){var p=0,q;this.vf.Ml(l)?p=100:(q=this.Rd.Ml(l))&&(p=q.Sg);f+=p}.bind(this));this.trigger(new c(m.sc,f/this.Rd.Uc.length))};a.prototype.ZKa=function(f){f.data.center?this.v$([f.source],[]):this.gH([f.source],[])};a.prototype.YKa=function(f){f.data.center?this.v$([],[f.source]):this.gH([],[f.source])};a.prototype.gH=function(f,l){this.Wra(this.$h,
f,l);this.set("over",0<this.$h.length)};a.prototype.v$=function(f,l){this.Wra(this.E1,f,l);this.set("centerOver",0<this.E1.length)};a.prototype.Wra=function(f,l,p){l||(l=[]);p||(p=[]);p.forEach(function(q){q=f.indexOf(q);0<=q&&f.splice(q,1)});l.forEach(function(q){0>f.indexOf(q)&&f.push(q)})};return a});
define("cA",["require","ku","np"],function(a){var d=a("ku"),h=a("np");return{Bn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Od=this.Od.bind(this);this.lb=new h},Un:function(){d.fa(this.v,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Od,!0)},Wn:function(){d.ca(this.v,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Od)},Od:function(){this.set("horizontalAlign",
this.v.get("horizontalAlign"));this.set("verticalAlign",this.v.get("verticalAlign"));this.set("scaleMode",this.v.get("scaleMode"));this.set("distance",this.v.get("distance"));this.set("scale",this.v.get("scale"));this.set("playbackPositions",this.v.get("playbackPositions"))},Lf:function(){this.M("playbackPositions","currentTime")&&(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("yaw",this.lb.get("yaw")),this.set("pitch",this.lb.get("pitch")),this.set("roll",
this.lb.get("roll")),this.set("rotationX",this.lb.get("rotationX")),this.set("rotationY",this.lb.get("rotationY")),this.set("hfov",this.lb.get("hfov")),this.set("vfov",this.lb.get("vfov")),this.set("alpha",this.lb.Ik()))}}});
define("eS","require li ku ox em c nL gS ou cA nc".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("em"),b=a("c"),g=a("nL"),e=a("gS"),c=a("ou"),f=a("cA"),l=a("nc"),p=0;a=d.extend(b,g,e,c,f,function(q){b.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+p++);this.set("side",THREE.DoubleSide);this.v=q;this.dk.push(this.v);this.Uf=this.Uf.bind(this)});a.prototype.Lb=function(){b.prototype.Lb.call(this);h.fa(this.v,["image.levels"],this.Uf,!0)};a.prototype.Qb=function(){h.ca(this.v,
["image.levels"],this.Uf);b.prototype.Qb.call(this)};a.prototype.Uf=function(){this.set("image",this.v.get("image"));this.set("level",l.lUa(this.v,this.get("panoramaPixelsPerDegree")))};a.prototype.ea=function(q){this.NC();b.prototype.ea.call(this,q);this.M("inView")&&this.v.trigger(this.get("inView")?m.hd:m.sd)};a.prototype.NC=function(){if(this.M("meshGroup","panoramaId","id")){var q=this.get("meshGroup");q&&q.children.forEach(function(n){k.setAttribute(n,k.Dz,this.get("panoramaId"));k.setAttribute(n,
k.h_,this.get("id"))}.bind(this))}};return a});
define("bu",["require","eZ","a"],function(a){function d(k,b,g){this.Pf=k||new h(0,0,0);this.Zi=b||new h(1,0,0);this.oz=g||new h(0,1,0)}var h=a("eZ"),m=a("a");d.prototype.clone=function(){return new d(this.Pf.clone(),this.Zi.clone(),this.oz.clone())};d.prototype.apply=function(k){k.EH(this.Pf);k.EH(this.Zi);k.EH(this.oz)};d.prototype.intersection=function(k,b){var g=m.az(k.Pf,k.Zi),e=m.az(this.Pf,k.Pf),c=m.az(this.Pf,this.Zi);c.LX(m.az(this.Pf,this.oz));g=g.dD(c);if(!(0==g||b&&0>g))return b=-c.dD(e)/
g,new h(k.Pf.x+(k.Zi.x-k.Pf.x)*b,k.Pf.y+(k.Zi.y-k.Pf.y)*b,k.Pf.z+(k.Zi.z-k.Pf.z)*b)};d.prototype.tZ=function(k,b){var g=m.az(this.Pf,this.Zi),e=m.az(this.Pf,this.oz);k=m.az(this.Pf,k);var c=g.yba(),f=e.yba();return b?new h(k.dD(g)/(c*c),k.dD(e)/(f*f),0):new h(k.dD(g)/c,k.dD(e)/f,0)};return d});
define("dA","require kL hX df eZ bu fj lX".split(" "),function(a){var d=a("kL"),h=a("hX"),m=a("df"),k=a("eZ"),b=a("bu"),g=a("fj"),e=a("lX"),c=Math.PI/180,f=180/Math.PI,l=new g,p=new h,q=new b,n=new k;return{get:function(r,u,t,v,w,x,y,A){r*=c;u*=c;u=new k(Math.sin(-r)*Math.cos(u),Math.sin(u),Math.cos(-r)*Math.cos(u));l.identity();l.rotateY(t*c);l.rotateZ(w*c);l.rotateX(v*c);u.apply(l);return 0<u.z?(p.XP(y),p.Jya(A),p.JD(x*c),p.project(u),u):null},VZa:function(r,u,t){l.identity();l.rotateX(-t.Lc()*
c);l.rotateZ(-t.Mf()*c);l.rotateY(-t.Rc()*c);n.set(r,u,0);r=t.unproject(n).fva();r.apply(l);return{Sa:r.Rc()*f,pitch:r.Lc()*f}},x0a:function(r,u,t,v,w,x,y,A,B,z,C,G,D,E){E||(E=e.sw);D||(D=d.Jl(G,z,C));G||(G=d.Oq(D,z,C));var H=.5*z/Math.tan(.5*G*c),R=H*Math.tan(.5*G*c)*2,S=H*Math.tan(.5*D*c)*2;q.Pf.set(.5*+R,.5*+S,0);q.Zi.set(.5*-R,.5*+S,0);q.oz.set(.5*+R,.5*-S,0);l.identity();l.rotateZ(-B*c);l.rotateX(-y*c);l.rotateY(A*c);l.translate(0,0,H);l.rotateZ(-x*c);l.rotateX(-w*c);l.rotateY(-v*c);l.rotateY(t.Rc()*
c);l.rotateZ(t.Mf()*c);l.rotateX(t.Lc()*c);q.apply(l);n.set(r,u,0);w=q.intersection(t.unproject(n));v={x:void 0,y:void 0,xScaled:void 0,yScaled:void 0};w&&0<w.z&&(w=q.tZ(w),v.xScaled=v.x=w.x/R,v.yScaled=v.y=w.y/S);if(E!=e.sw){switch(E){case e.qh:var Q=Math.min(d.Oq(D,z,C),G);var M=Math.min(d.Jl(G,z,C),D);break;case e.Tq:Q=Math.max(d.Oq(D,z,C),G);M=Math.max(d.Jl(G,z,C),D);break;case e.Oo:Q=G;M=d.Jl(G,z,C);break;case e.Nj:Q=d.Oq(D,z,C),M=D}if(Q!=G||M!=D)R=H*Math.tan(.5*Q*c)*2,S=H*Math.tan(.5*M*c)*2,
q.Pf.set(.5*+R,.5*+S,0),q.Zi.set(.5*-R,.5*+S,0),q.oz.set(.5*+R,.5*-S,0),q.apply(l),n.set(r,u,0),(w=q.intersection(t.unproject(n)))&&0<w.z&&(w=q.tZ(w),v.xScaled=w.x/R,v.yScaled=w.y/S)}return v},b0a:function(r,u,t,v,w,x,y){y=.5*w/Math.tan(.5*y*c);q.Pf.set(.5*+w,.5*+x,y);q.Zi.set(.5*-w,.5*+x,y);q.oz.set(.5*+w,.5*-x,y);l.identity();l.rotateZ(-v*c);l.rotateX(-t*c);l.rotateY(-u*c);l.rotateY(r.Rc()*c);l.rotateZ(r.Mf()*c);l.rotateX(r.Lc()*c);q.apply(l);r=new m(new k(0,0,0),new k(0,0,1));return(r=q.intersection(r))&&
0<r.z?(r=q.tZ(r),{x:r.x/w,y:r.y/x}):null}}});
define("dT",["require","hP","gR","em","kk"],function(a){var d=a("hP"),h=a("gR"),m=a("em"),k=a("kk"),b=Math.PI/180;return{Ut:function(){this.set("distance",void 0);this.set("width",100);this.set("height",100);this.set("offsetX",void 0);this.set("offsetY",void 0);this.set("centerX",0);this.set("centerY",0);this.set("roll",0);this.Ig=this.bx();this.jB=h.MH();this.nm=new THREE.Matrix4;this.KE=new THREE.Matrix4;this.PG=new THREE.Matrix4;this.hma=new THREE.Matrix4;this.Ti=new THREE.Matrix4;this.xl=new THREE.Matrix4;
this.gi=new THREE.Matrix4},vv:function(g){this.nq(g)},qF:function(){var g=this.get("meshGroup");return g?m.Hk(g)[0]:null},An:function(){return[0].map(function(g){var e=this.SJ();g=m.create(this.Ig[g],e);k.Xv(g,k.Po);k.Yv(g,k.Wq);k.LD(g,d.aJ);k.UP(g,1);return g}.bind(this))},bx:function(){return[h.MH()]},nq:function(g){var e=!1,c=!1;this.set("rendererYaw",g.Sa);this.set("rendererPitch",g.pitch);this.set("rendererRoll",g.Xe);this.set("rendererCameraFOV",g.Uh);this.set("rendererWidth",g.width);this.set("rendererHeight",
g.height);this.set("inVR",g.Bb);if(this.M("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var f=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&0==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",f?h.lD(this.get("distance")):h.Hv())}this.M("z")&&(this.nm.makeTranslation(0,0,-this.get("z")),c=!0);g.Uh&&this.M("z","rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(g.Uh*b*.5)*this.get("z")*2);g.camera&&this.M("rendererYaw",
"rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR","centerX","centerY")&&(this.KE.copy(g.camera.matrixWorld),e=this.get("rendererHeightZ"),f=e*g.camera.aspect,f=(this.get("centerX")-.5*g.width)*f/g.width*.5,e=(.5*g.height-this.get("centerY"))*e/g.height*.5,this.PG.makeTranslation(f,e,0),e=!0);this.M("roll")&&(this.Ti.makeRotationZ(this.get("roll")*b),e=!0);g.Uh&&(c||this.M("rendererHeight","inVR","rendererHeightZ","width","height","flipHorizontally"))&&
(c=g.Bb?512/g.height:1,g=(this.get("flipHorizontally")?-1:1)*this.get("width")*c,c*=this.get("height"),this.xl.makeScale(g,c,1),e=!0);this.M("width","height","offsetX","offsetY")&&(g=.5-this.get("offsetX")/this.get("width"),c=this.get("offsetY")/this.get("height")-.5,this.hma.makeTranslation(g,c,0),e=!0);e&&(this.gi.copy(this.KE),this.gi.multiply(this.nm),this.gi.multiply(this.PG),this.gi.multiply(this.Ti),this.gi.multiply(this.xl),this.gi.multiply(this.hma),m.wq(this.get("meshGroup"),this.gi))}}});
define("jH",["require","li","c","dT"],function(a){var d=a("li"),h=a("c");a=a("dT");return d.extend(h,a,function(){h.call(this);this.set("tag","Sprite")})});
define("gE",["require","ns"],function(a){function d(m,k,b,g,e,c){this.fo=k;this.O=document.createElement("canvas");this.O.width=this.fo;this.O.height=this.fo;switch(m){case d.SI:this.FGa(b,g,e,c);break;case d.AQ:this.GGa(b,g,e,c)}}var h=a("ns");d.prototype.rd=function(){return this.fo};d.prototype.ce=function(){return this.fo};d.prototype.lg=function(){return this.O};d.prototype.FGa=function(m,k,b,g){var e=.5*this.fo,c=.5*this.fo,f=.5*this.fo,l=this.O.getContext("2d");k=h.vP(k);for(var p=l.createRadialGradient(e,
c,0,e,c,f),q=0;q<b.length;q++)p.addColorStop(g[q],"rgba("+k[0]+","+k[1]+","+k[2]+","+b[q]+")");l.fillStyle=p;l.globalAlpha=m;l.beginPath();l.arc(e,c,f,0,2*Math.PI,!0);l.closePath();l.fill()};d.prototype.GGa=function(m,k,b,g){var e=.5*this.fo,c=.5*this.fo,f=.5*this.fo,l=this.O.getContext("2d");l.clearRect(0,0,this.fo,this.fo);var p=h.vP(k),q=l.createRadialGradient(e,c,0,e,c,f);for(k=0;k<b.length;k++)q.addColorStop(g[k],"rgba("+p[0]+","+p[1]+","+p[2]+","+b[k]+")");l.fillStyle=q;l.globalAlpha=m;l.beginPath();
for(k=0;6>k;k++)b=45*Math.PI/180+2*Math.PI*k/6,m=e+Math.cos(b)*f,b=c+Math.sin(b)*f,0==k?l.moveTo(m,b):l.lineTo(m,b);l.closePath();l.fill()};d.SI="circle";d.AQ="hexagon";return d});
define("ne","require li ku ox dA iS dg jH gE fa".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("dA"),b=a("iS"),g=a("dg"),e=a("jH"),c=a("gE"),f=a("fa");a=d.extend(b,function(p){b.call(this);this.v=p;this.dk.push(this.v);this.Uf=this.Uf.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.H1=this.jFa();this.zf=this.dGa();this.Tg(this.H1.concat([this.zf]))});a.prototype.Lb=function(){b.prototype.Lb.call(this);this.trigger(m.Sc);this.trigger(m.Z);h.fa(this.v,["yaw",
"pitch","bleaching","bleachingDistance"],this.Uf,!0)};a.prototype.Qb=function(){h.ca(this.v,["yaw","pitch","bleaching","bleachingDistance"],this.Uf);b.prototype.Qb.call(this)};a.prototype.Uf=function(){this.set("yaw",this.v.get("yaw"));this.set("pitch",this.v.get("pitch"));this.set("bleaching",this.v.get("bleaching"));this.set("bleachingDistance",this.v.get("bleachingDistance"))};a.prototype.ea=function(p){b.prototype.ea.call(this,p);this.set("rendererYaw",p.Sa);this.set("rendererPitch",p.pitch);
this.set("rendererRoll",p.Xe);this.set("rendererCameraFOV",p.Uh);this.set("rendererWidth",p.width);this.set("rendererHeight",p.height);this.set("inVR",p.Bb);if(this.M("composedTranslationX","composedTranslationY","composedTranslationZ")){var q=this.get("composedTranslationX"),n=this.get("composedTranslationY"),r=this.get("composedTranslationZ");this.set("translationAlpha",Math.max(0,1-10*Math.sqrt(q*q+n*n+r*r)))}if(this.M("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth",
"rendererHeight","inVR","yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var u=p.Sa+this.get("composedDeltaYaw"),t=p.pitch+this.get("composedDeltaPitch"),v=p.Xe+this.get("composedDeltaRoll");q=this.get("translationAlpha");r=n=0;if(!p.Bb&&(u=k.get(this.get("yaw"),this.get("pitch"),u,t,v,p.Uh,p.width,p.height))){var w=.5*p.width;var x=.5*p.height;var y=u.x;var A=u.y;w=2*(w-y);x=2*(x-A);r=Math.sqrt(w*w+x*x);u=Math.min(p.width,p.height);n=Math.max(0,Math.min(.7,
1-r/Math.sqrt(p.width*p.width,p.height*p.height)))*q;p=this.get("bleaching");r=1-Math.max(0,Math.min(1,r/(u*this.get("bleachingDistance"))));r=p*r*q}for(p=0;p<this.H1.length;p++)q=this.H1[p],q.set("alpha",n),0<n&&(q.set("centerX",y+w*l[p].position),q.set("centerY",A+x*l[p].position));this.zf.set("alpha",r)}};a.prototype.jFa=function(){return l.map(function(p){var q=(new c(p.form,p.QD,p.opacity,p.color,p.pD,p.qD)).lg(),n=new f;n.Rl(q);q=new e;q.set("textureSource",n);q.set("width",p.size);q.set("height",
p.size);q.set("offsetX",.5*p.size);q.set("offsetY",.5*p.size);q.set("alpha",0);return q})};a.prototype.dGa=function(){return new g("#ffffff")};var l=[{form:c.AQ,position:.1,size:52,QD:128,opacity:.8,color:"#FCFCFC",pD:[1,.5],qD:[0,.866]},{form:c.AQ,position:.2,size:52,QD:128,opacity:.6,color:"#C8FCC8",pD:[1,.5],qD:[0,.866]},{form:c.SI,position:.36,size:112,QD:128,opacity:.5,color:"#C8C8FC",pD:[1,.9,.6,0],qD:[0,.2,.4,1]},{form:c.SI,position:.47,size:32,QD:128,opacity:.3,color:"#96C8AF",pD:[1,1,0],
qD:[0,.9,1]},{form:c.SI,position:.65,size:52,QD:128,opacity:.7,color:"#FCFCFC",pD:[.7,.7,.2,0],qD:[0,.1,.4,1]},{form:c.AQ,position:.88,size:128,QD:128,opacity:.4,color:"#AF96C8",pD:[1,.5],qD:[0,.866]},{form:c.SI,position:1,size:33,QD:128,opacity:.8,color:"#C89696",pD:[.8,.8,.6,0],qD:[0,.2,.4,1]}];return a});
define("dd",["require","bQ","ho"],function(a){function d(b,g){this.wb=b;this.uoa=5;this.ae=g.map(function(e){return new h(b,e)});this.JF=this.KF=this.wh=this.sf=0;this.I$();this.O=document.createElement("canvas");this.O.width=this.sf;this.O.height=this.wh;this.xa=this.O.getContext("2d");this.va=!0;this.hf=this.ooa=-1}function h(b,g){this.xD=b;this.item=g;this.label=g.get("label");this.fontFamily=this.xD.get("fontFamily","Arial");this.fontSize="12px";this.backgroundColor=this.xD.get("backgroundColor",
"#000000");this.gya=this.xD.get("rollOverBackgroundColor",this.backgroundColor);this.lXa=this.xD.get("selectedBackgroundColor",this.gya);this.vua=this.xD.get("fontColor","#000000");this.hya=this.xD.get("rollOverFontColor",g.vua);this.mXa=this.xD.get("selectedFontColor",g.hya);this.Eza=this.Dza=this.Fza=this.Gza=this.height=this.width=this.left=this.top=0;this.status=!1;this.Uba=!0}var m=a("bQ"),k=a("ho");h.prototype.TZa=function(){var b=new m.L0;b.fontFamily=this.fontFamily;b.fontSize=this.fontSize;
b=m(this.label,b);this.Gza=b.width;this.Fza=b.height};h.prototype.MYa=function(b){this.status!=b&&(this.status=b,this.Uba=!0)};h.prototype.CTa=function(b){if(this.Uba){this.Uba=!1;switch(this.status){case "normal":var g=this.backgroundColor;var e=this.vua;break;case "over":g=this.gya;e=this.hya;break;case "selected":g=this.lXa,e=this.mXa}b.clearRect(this.left,this.top,this.width,this.height);b.fillStyle=g;b.fillRect(this.left,this.top,this.width,this.height);b.fillStyle=e;b.font=this.fontSize+" '"+
this.fontFamily+"'";b.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+k.Ev(this.fontFamily);b.textBaseline="middle";b.textAlign="center";b.fillText(this.label,Math.round(this.Dza),Math.round(this.Eza));return!0}return!1};d.prototype.rd=function(){return this.sf};d.prototype.ce=function(){return this.wh};d.prototype.lg=function(){return this.O};d.prototype.I$=function(){var b=0,g=0;this.ae.forEach(function(l){l.TZa();b=Math.max(l.Gza,b);g=Math.max(l.Fza,g)});this.KF=b+2*this.uoa;this.JF=g+2*
this.uoa;var e=0,c=0,f=0;this.mL=20;20<this.ae.length&&(this.mL=Math.ceil(this.ae.length/Math.ceil(this.ae.length/20)));this.ae.forEach(function(l){f>=this.mL&&(f=0,c+=this.KF,e=0);l.left=c;l.top=e;l.Dza=c+.5*this.KF;l.Eza=e+.5*this.JF;l.width=this.KF;l.height=this.JF;f+=1;e+=this.JF}.bind(this));this.sf=Math.ceil(this.ae.length/this.mL)*this.KF;this.wh=Math.min(this.mL,this.ae.length)*this.JF};d.prototype.update=function(){for(var b=!1,g=0;g<this.ae.length;g++)this.ae[g].MYa(this.ooa==g?"over":this.hf==
g?"selected":"normal"),b=this.ae[g].CTa(this.xa)||b;return b};d.prototype.Kua=function(b,g){var e=-1;0<=b&&b<this.sf&&0<=g&&g<this.wh&&(e=Math.floor(b/this.KF)*this.mL+Math.floor(g/this.JF),e>=this.ae.length&&(e=-1));return e};d.prototype.mda=function(b){this.ooa=b};d.prototype.uda=function(b){this.hf=b};d.prototype.clear=function(){this.ae=this.O=this.xa=this.wb=null};return d});
define("by","require li ku ox jp dd fa nZ bE bv".split(" "),function(a){function d(n,r,u){n=(r-n)*(1-u);1E-5>Math.abs(n)&&(n=0);return r-n}var h=a("li"),m=a("ku"),k=a("ox"),b=a("jp"),g=a("dd"),e=a("fa"),c=a("nZ"),f=a("bE"),l=a("bv");a=h.extend(b,function(n){b.call(this);this.wb=n;this.Ep=this.Ep.bind(this);this.Tn=this.O=null;this.nv=this.Sm=this.i8=this.Wu=void 0;this.Iha=20;this.bg=null;this.tb=this.wb.get("opacity",.5);this.nM=this.wb.get("rollOverOpacity",this.tb);this.GKa=1;this.IKa=.66;this.set("tag",
"MenuButton");this.set("visible",!1);this.set("over",!1);this.set("centerDistance",void 0)});a.prototype.Lb=function(){b.prototype.Lb.call(this);m.fa(this.wb,["label"],this.Ep,!0)};a.prototype.Qb=function(){m.ca(this.wb,["label"],this.Ep);b.prototype.Qb.call(this)};a.prototype.Ep=function(){this.O=null};a.prototype.ea=function(n){this.mq(n);this.ig(n);this.MC(n);this.Lf(n);this.Ud(n);b.prototype.ea.call(this,n)};a.prototype.mq=function(n){n.Bb&&!this.Tn&&l.getType()==l.mA.Ok&&this.Tg([this.Tn=new b])};
a.prototype.ig=function(){this.get("visible")&&(this.O||(this.get("textureSource")||this.set("textureSource",new e),this.O=new g(this.wb,[this.wb]),this.get("textureSource").Rl(this.O.lg()),this.set("contentWidth",this.O.rd()),this.set("contentHeight",this.O.ce()),this.set("hfov",2*Math.atan2(.5*this.O.rd(),300)*q),this.set("distance",this.wb.get("distance"))),this.O.update()&&(this.get("textureSource").update(),this.Ba()),this.M("over")&&this.O.mda(this.get("over")?0:-1))};a.prototype.MC=function(n){this.M("visible")&&
(this.bg=new c("linear",[new f("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,void 0)],300));this.bg&&(this.bg.Ke()?this.bg=null:this.bg.yb(n.ye))};a.prototype.Lf=function(n){if(this.get("visible")||this.bg){this.Sm=n.Sa;this.nv=Math.min(90,Math.max(-90,this.Iha+this.Iha-n.pitch));if(this.M("visible")&&this.get("visible"))this.set("yaw",n.Sa),this.set("pitch",n.pitch);else{for(;this.Sm+180<this.Wu;)this.Wu-=360;for(;this.Sm-180>this.Wu;)this.Wu+=360;var r=(this.Sm-this.Wu)/n.ye,u=(this.nv-
this.i8)/n.ye,t=Math.atan2(u,r);u=Math.sqrt(u*u+r*r);u=Math.min(u,10*p);r=Math.cos(t)*u;t=Math.sin(t)*u;this.set("yaw",d(this.get("yaw"),this.Sm+r,.02));this.set("pitch",d(this.get("pitch"),this.nv+t,.02))}this.Wu=this.Sm;this.i8=this.nv;t=this.get("yaw")-n.Sa;n=this.get("pitch")-n.pitch;this.set("centerDistance",Math.sqrt(t*t+n*n))}};a.prototype.Ud=function(){if(!this.get("visible")&&!this.bg)this.set("alpha",0);else if(this.M("over","centerDistance")||this.bg){var n=this.get("over")?this.nM:this.tb,
r=this.IKa,u=this.get("centerDistance")/this.get("hfov");1>u&&(r+=(1-u)*(this.GKa-r),n+=(1-u)*(this.nM-n));this.bg&&(n*=this.bg.cb("displayCoef"),r*=this.bg.cb("displayCoef"));this.set("alpha",n);this.set("scale",r)}};a.prototype.hn=function(n){if(n.bf==k.$l){var r=!1;this.get("visible")&&!n.Fk()&&(r=0<this.iu(n.Vp).length);r&&(n.Sy(this.wb),n.Ty(this.wb),n.Ek(this.get("distance")));this.get("over")!=r&&(this.get("over")&&this.wb.trigger(k.ac),this.set("over",r),this.get("over")&&this.wb.trigger(k.Tc))}else n.bf==
k.Oj&&this.get("visible")&&!n.Fk()&&0<this.iu(n.Vp).length&&(n.Jq(this.wb),this.wb.trigger(k.pa),this.trigger(k.pa))};var p=Math.PI/180,q=180/Math.PI;return a});
define("jt","require li ku ox jp dd fa nZ bE bv".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("jp"),b=a("dd"),g=a("fa"),e=a("nZ"),c=a("bE"),f=a("bv");a=d.extend(k,function(p,q){k.call(this);this.wb=p;this.Tx=q;this.Ep=this.Ep.bind(this);this.O=null;this.i8=this.Wu=void 0;this.bg=null;this.tb=this.wb.get("opacity",.5);this.nM=this.wb.get("rollOverOpacity",this.tb);this.set("textureSource",new g);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.Hia=
!1});a.prototype.Lb=function(){k.prototype.Lb.call(this);h.fa(this.wb,["label"],this.Ep,!0);this.Tx.forEach(function(p){h.fa(p,["label"],this.Ep,!0)}.bind(this))};a.prototype.Qb=function(){h.ca(this.wb,["label"],this.Ep);this.Tx.forEach(function(p){h.ca(p,["label"],this.Ep)}.bind(this));k.prototype.Qb.call(this)};a.prototype.Ep=function(){this.O=null};a.prototype.ea=function(p){this.mq(p);this.ig(p);this.MC(p);this.Lf(p);k.prototype.ea.call(this,p)};a.prototype.sFa=function(){this.O||(this.O=new b(this.wb,
this.Tx),this.get("textureSource").Rl(this.O.lg()),this.set("contentWidth",this.O.rd()),this.set("contentHeight",this.O.ce()),this.set("hfov",2*Math.atan2(.5*this.O.rd(),300)*l),this.set("distance",this.wb.get("distance")))};a.prototype.ig=function(){this.O||this.sFa();this.M("selectedIndex")&&this.O.mda(this.get("selectedIndex"));this.M("overIndex")&&this.O.mda(this.get("overIndex"));this.O.update()&&(this.get("textureSource").update(),this.Ba())};a.prototype.mq=function(p){p.Bb&&!this.Tn&&f.getType()==
f.mA.Ok&&this.Tg([this.Tn=new k])};a.prototype.MC=function(p){this.bg||this.Hia||(this.bg=new e("linear",[new c("alpha",0,1,void 0),new c("scale",0,1,void 0),new c("yaw",p.Sa,this.get("yaw"),void 0),new c("pitch",p.pitch,this.get("pitch"),void 0)],300));this.bg&&(this.bg.Ke()?(this.Hia=!0,this.bg=null):this.bg.yb(p.ye))};a.prototype.Lf=function(){if(this.bg){var p=0>this.get("overIndex")?this.tb:this.nM;this.set("alpha",p*this.bg.cb("alpha"));this.set("scale",this.bg.cb("scale"));this.set("yaw",this.bg.cb("yaw"));
this.set("pitch",this.bg.cb("pitch"))}else this.M("overIndex")&&(p=0>this.get("overIndex")?this.tb:this.nM,this.set("alpha",p))};a.prototype.hn=function(p){if(p.bf==m.$l){var q=-1;if(!p.Fk()){var n=this.iu(p.Vp).filter(function(r){return r.source==this.O.lg()}.bind(this));0<n.length&&(q=this.O.Kua(n[0].x,n[0].y))}0<=q&&(p.Sy(this.Tx[q]),p.Ty(this.Tx[q]),p.Ek(this.get("distance")));0<=this.get("overIndex")!=0<=q&&(0<q?this.trigger(m.Tc):this.trigger(m.ac));this.get("overIndex")!=q&&(0<=this.get("overIndex")&&
this.Tx[this.get("overIndex")].trigger(m.ac),this.set("overIndex",q),0<=this.get("overIndex")&&this.Tx[this.get("overIndex")].trigger(m.Tc))}else p.bf!=m.Oj||p.Fk()||(n=this.iu(p.Vp).filter(function(r){return r.source==this.O.lg()}.bind(this)),0<n.length&&(q=this.O.Kua(n[0].x,n[0].y),0<=q&&(n=this.Tx[q],this.set("selectedIndex",q),p.Jq(n),p.Ek(this.get("distance")),n.trigger(m.pa),this.trigger(m.pa,{item:n}))))};var l=180/Math.PI;return a});
define("in",["require","li","ox","iS","jt"],function(a){var d=a("li"),h=a("ox"),m=a("iS"),k=a("jt");a=d.extend(m,function(e){m.call(this);this.wb=e;this.ly=[];this.nG=null;this.set("tag","MenuPanels");this.set("visible",!1)});a.prototype.ea=function(e){this.M("visible")&&this.get("visible")&&(this.set("yaw",e.Sa),this.set("pitch",e.pitch),this.Mga(this.wb));m.prototype.ea.call(this,e)};a.prototype.Mga=function(e){e=new k(this.wb,e.get("children",[]));var c=this.get("yaw");this.Kb().forEach(function(f){c+=
f.get("hfov")+g});e.set("yaw",c);e.set("pitch",this.get("pitch"));this.TCa(e);this.appendChild(e)};a.prototype.opa=function(e){this.Kb().slice(e).forEach(function(c){this.mNa(c);c.remove()}.bind(this));this.ly=this.ly.filter(function(c){return 0<=this.Kb().indexOf(c)}.bind(this))};a.prototype.TCa=function(e){e.bind(h.Tc,this.xoa,this,!0);e.bind(h.ac,this.woa,this,!0);e.bind(h.pa,this.voa,this,!0)};a.prototype.mNa=function(e){e.unbind(h.Tc,this.xoa,this,!0);e.unbind(h.ac,this.woa,this,!0);e.unbind(h.pa,
this.voa,this,!0)};a.prototype.xoa=function(e){0>this.ly.indexOf(e.source)&&(this.ly.push(e.source),1==this.ly.length&&this.Vha())};a.prototype.woa=function(e){e=this.ly.indexOf(e.source);0<=e&&(this.ly.splice(e,1),0==this.ly.length&&this.IOa())};a.prototype.voa=function(e){var c=e.source;e=e.data.item;e.get("children",[]).length?(this.opa(this.Kb().indexOf(c)+1),this.Mga(e)):this.Zha()};a.prototype.Zha=function(){this.set("visible",!1);this.opa(0);this.Vha();this.trigger(h.aE)};a.prototype.Vha=function(){this.nG&&
(clearTimeout(this.nG),this.nG=null)};a.prototype.IOa=function(){this.nG||(this.nG=setTimeout(function(){this.nG=null;this.Zha()}.bind(this),b))};var b=3E3,g=1;return a});
define("fY","require li ox iS by in".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("iS"),k=a("by"),b=a("in");a=d.extend(m,function(g){m.call(this);this.v=g;this.dk.push(this.v);this.set("tag","Menu");this.set("visible",!1);this.Zd=new k(this.v);this.Zd.bind(h.pa,this.$Da,this,!1);this.Ih=new b(this.v);this.Ih.bind(h.aE,this.oMa,this,!1);this.Tg([this.Zd,this.Ih])});a.prototype.Lb=function(){m.prototype.Lb.call(this);this.trigger(h.Sc);this.trigger(h.Z)};a.prototype.ea=function(g){this.set("visible",
g.Bb);this.M("visible")&&(this.Zd.set("visible",this.get("visible")),this.Ih.set("visible",!1));m.prototype.ea.call(this,g)};a.prototype.$Da=function(){this.Zd.set("visible",!1);this.Ih.set("visible",!0)};a.prototype.oMa=function(){this.Zd.set("visible",this.get("visible"))};return a});
define("kY","require li ox jp fa nR lj".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("jp"),k=a("fa"),b=a("nR"),g=a("lj");a=d.extend(m,function(){m.call(this);this.set("tag","CustomPlane");this.set("source",null);this.set("sourceUpdated",!1);this.Rd=this.Kg=null});a.prototype.Lb=function(){this.Kg=(new b(h.Z)).Ul(this.Dp.bind(this));this.Rd=(new b(h.Z)).yo(this.Ou.bind(this));m.prototype.Lb.call(this)};a.prototype.Qb=function(){this.Kg.dispose();this.Rd.dispose();m.prototype.Qb.call(this)};a.prototype.ea=
function(e){if(this.M("source","sourceUpdated","useMipmapping","anisotropy")){var c=this.get("textureSource");c||this.set("textureSource",c=new k);this.M("source")&&c.Rl(this.get("source"));this.M("sourceUpdated")&&(c.update(),this.set("sourceUpdated",!1));this.M("useMipmapping")&&c.a_(this.get("useMipmapping"),this.get("anisotropy"))}m.prototype.ea.call(this,e);this.M("meshGroup")&&(e=(e=this.get("meshGroup"))&&e.children||[],e.length&&(this.Kg.pf(e),this.Rd.pf(e)))};a.prototype.Dp=function(){this.trigger(h.Sc);
this.trigger(h.Z)};a.prototype.Ou=function(e,c){var f=0;c.As(function(l){(l=c.Ml(l))&&(f+=l.Sg)});this.trigger(new g(h.sc,f/c.Uc.length))};return a});
define("gZ","require li ku ox gR iS kY lG df bu".split(" "),function(a){function d(n,r,u){this.nZ=n;this.nZ.bind(k.G("distanceToFloor"),this.ea,this,!1);this.Bj=r;this.Bj.bind(k.G("yaw"),this.ea,this,!1);this.Bj.bind(k.G("distance"),this.ea,this,!1);this.Bj.bind(k.G("enabled"),this.ea,this,!1);this.Bj.bind(k.G("enabledInSurfaceSelection"),this.ea,this,!1);this.Za=null;this.Ql=new e;this.Ql.set("hfov",20);this.Ql.set("vfov",20);this.Ql.set("pitch",-90);this.Ql.set("useMipmapping",!0);this.Ql.set("anisotropy",
16);this.Ql.set("source",u.lg());this.Ql.set("contentWidth",u.rd());this.Ql.set("contentHeight",u.ce());this.ea()}var h=a("li"),m=a("ku"),k=a("ox"),b=a("gR"),g=a("iS"),e=a("kY"),c=a("lG"),f=a("df"),l=a("bu");a=h.extend(g,function(n){g.call(this);this.hU=this.hU.bind(this);this.Kr=this.Kr.bind(this);this.eU=this.eU.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",!1);this.set("enabled",!1);this.la=n;this.ZQ=[];this.pK=new l;this.xj=new f;this.Sd=new e;this.Sd.set("useMipmapping",
!0);this.Sd.set("anisotropy",16);this.Sd.set("hfov",20);this.Sd.set("vfov",20);this.Sd.set("pitch",-90);this.set("reticleCoef",1);this.Tg([this.Sd])});a.prototype.Lb=function(){this.QFa();g.prototype.Lb.call(this);m.fa(this.la,["distanceToFloor"],this.hU,!0);m.fa(this.la,["adjacentPanoramas"],this.Kr,!0);m.fa(this.Aa.xc,["adjacentPanoramaPositionsEnabled"],this.eU,!0);this.trigger(k.Sc);this.trigger(k.Z)};a.prototype.Qb=function(){g.prototype.Qb.call(this);m.ca(this.la,["distanceToFloor"],this.hU);
m.ca(this.la,["adjacentPanoramas"],this.Kr);m.ca(this.Aa.xc,["adjacentPanoramaPositionsEnabled"],this.eU);this.Ypa([])};a.prototype.hU=function(){var n=this.la.get("distanceToFloor");this.Sd.set("distance",n);n=b.lD(n);var r=b.Cba(n,90),u=b.Dba(n,90);this.pK.Pf.set(.5*-r,-n,.5*-u);this.pK.Zi.set(.5*r,-n,.5*-u);this.pK.oz.set(.5*-r,-n,.5*u);this.zpa=n/b.Hv()};a.prototype.Kr=function(){this.Ypa(this.la.get("adjacentPanoramas",[]))};a.prototype.eU=function(){this.Kr()};a.prototype.Ypa=function(n){this.ZQ.forEach(function(r){r.clear()});
this.ZQ=n.map(function(r){return new d(this.la,r,this.Z7)}.bind(this));n=[];this.Aa.xc.get("adjacentPanoramaPositionsEnabled")&&(n=n.concat(this.ZQ.map(function(r){return r.Ql})));n=n.concat([this.Sd]);this.Tg(n)};a.prototype.ea=function(n){g.prototype.ea.call(this,n);this.set("enabled",n.bQ);this.caa();this.Py(n)};a.prototype.caa=function(){this.M("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.Sd.set("alpha",this.get("reticleVisible")?1:0),this.set("alpha",!this.get("enabled")||this.get("composedTranslationX")||this.get("composedTranslationY")||this.get("composedTranslationZ")||this.get("composedDeltaYaw")||this.get("composedDeltaPitch")||this.get("composedDeltaRoll")?0:1),this.$ra())};a.prototype.QFa=function(){this.IG=new c(this.Aa.N);this.IG.setPosition(this.get("reticleCoef"));this.Sd.set("source",this.IG.lg());this.Sd.set("contentWidth",this.IG.rd());this.Sd.set("contentHeight",
this.IG.ce());this.Z7=new c(this.Aa.N);this.Z7.setPosition(0);this.Z7.update(1)};a.prototype.Py=function(n){this.M("reticleCoef")&&this.IG.setPosition(this.get("reticleCoef"));this.Sd.set("sourceUpdated",this.IG.update(n.ye))};a.prototype.hn=function(n){if(!this.get("enabled")||0==n.Vp.length||n.Fk()||n.xWa())this.set("reticleVisible",!1);else{var r=n.Vp[0];this.xj.Pf.set(r.origin.x,r.origin.y,r.origin.z);this.xj.Zi.set(r.origin.x+r.direction.x,r.origin.y+r.direction.y,r.origin.z+r.direction.z);if(r=
this.pK.intersection(this.xj,!0)){var u=this.pK.tZ(r,!0),t=2*(.5-u.x);u=2*(.5-u.y);var v=p*Math.atan2(-t,u),w=-90+p*Math.atan2(Math.sqrt(t*t+u*u),1);if(-75>w||-1<w)this.set("reticleVisible",!1);else{var x={x:t*this.zpa,y:-u*this.zpa};n.Ms()||n.Xva()?n.bf==k.$l&&(this.set("reticleVisible",!0),this.Sd.set("alpha",Math.min(1,(w- -75)/5)),this.Sd.set("translationX",x.x),this.Sd.set("translationZ",x.y)):this.set("reticleVisible",!1);var y=.5*this.Aa.xc.get("surfaceSelectionHorizontalAngle"),A=.5*this.Aa.xc.get("surfaceSelectionVerticalAngle");
u=this.ZQ.map(function(B){var z=B.kUa(v),C=B.JUa(w),G=B.fY(x);return{Bj:B.Bj,dP:z,vertical:C,distance:G}}).filter(function(B){return B.dP<y&&B.vertical<A});0==u.length?this.set("reticleCoef",0):(u.sort(function(B,z){return B.distance-z.distance}),t=u[0].Bj,this.set("reticleCoef",Math.max(0,Math.min(1,(1-u[0].dP/y)*(1-u[0].vertical/A)))),r=this.la.get("distanceToFloor")*Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z)/-r.y,n.Xva()&&n.FSa([t]),n.Ek(r),n.bf==k.Oj?(n.Jq([t]),this.get("blendingActive")||t.trigger(k.sn)):
(n.Sy([t]),n.Ms()&&n.Ty([t]),(r=this.Aa.N.get("displayTooltipInSurfaceSelection")&&t.get("panorama")&&t.get("panorama").get("label"))&&n.zX(r,0)))}}else this.set("reticleVisible",!1)}};d.prototype.clear=function(){this.nZ.unbind(k.G("distanceToFloor"),this.ea,this,!1);this.nZ=null;this.Bj.unbind(k.G("yaw"),this.ea,this,!1);this.Bj.unbind(k.G("distance"),this.ea,this,!1);this.Bj.unbind(k.G("enabled"),this.ea,this,!1);this.Bj.unbind(k.G("enabledInSurfaceSelection"),this.ea,this,!1);this.Bj=null};d.prototype.kUa=
function(n){if(!this.Za)return Infinity;n=Math.abs(this.Za.Sa-n);return 180<n?360-n:n};d.prototype.JUa=function(n){return this.Za?Math.abs(this.Za.pitch-n):Infinity};d.prototype.fY=function(n){if(!this.dH)return Infinity;var r=n.x-this.dH.x;n=n.y-this.dH.y;return Math.sqrt(r*r+n*n)};d.prototype.ea=function(){var n=this.Bj.get("yaw"),r=this.Bj.get("distance"),u=this.Bj.get("enabled")&&this.Bj.get("enabledInSurfaceSelection");if(void 0!==n&&void 0!==r&&u){u=this.nZ.get("distanceToFloor");var t=-90+
Math.atan2(r,u)*p;this.Ql.set("alpha",-1>t?1:0);this.Za={Sa:n,pitch:t};t=b.lD(u)/b.Hv();this.dH={x:-Math.sin(n*q)*r/u*t,y:-Math.cos(n*q)*r/u*t};this.Ql.set("translationX",this.dH.x);this.Ql.set("translationZ",this.dH.y);this.Ql.set("distance",u)}else this.dH=this.Za=null,this.Ql.set("alpha",0)};var p=180/Math.PI,q=Math.PI/180;return a});
define("X","require li ku ox lj iS jp gZ nR nc jk bv".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("lj"),b=a("iS"),g=a("jp"),e=a("gZ"),c=a("nR"),f=a("nc"),l=a("jk"),p=a("bv"),q=0;a=d.extend(b,function(u){b.call(this);this.v=u;this.dk.push(this.v);this.SB=this.SB.bind(this);this.Tf=this.Tf.bind(this);this.Kr=this.Kr.bind(this);this.Xo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",!1);this.set("blendingActive",!0);this.set("currentTime",
0);this.set("adjacentPanoramas",[]);this.set("preloadEnabled",!0);this.set("backgroundPreloadEnabled",!0);this.set("surfaceSelectionEnabled",!1);this.set("id","panorama_"+q++);this.set("ready",!1);this.nV=[];this.Xn=this.Rd=this.vf=null;this.Dh=new n;this.Uoa=new r;this.XPa=new e(this.v);this.Sn=new r;this.Tg([this.Dh,this.Uoa,this.XPa,this.Sn])});a.prototype.Lb=function(){this.vf=(new c(m.Z)).Ul(this.Dp.bind(this));this.Rd=(new c(m.sc)).yo(this.UB.bind(this));this.Xn=(new c(m.Sc)).Ul(this.iLa.bind(this));
b.prototype.Lb.call(this);this.get("blendingActive")&&this.Aa.set("globalBlendingActive",this.Aa.get("globalBlendingActive")+1);h.fa(this.v,["currentTime"],this.SB,!0);h.fa(this.v,["frames","overlays","vrMenu","flipImageHorizontally"],this.Tf,!0);h.fa(this.v,["adjacentPanoramas"],this.Kr,!0)};a.prototype.Qb=function(){this.vf.dispose();this.Rd.dispose();this.Xn.dispose();this.get("blendingActive")&&this.Aa.set("globalBlendingActive",this.Aa.get("globalBlendingActive")-1);b.prototype.Qb.call(this);
h.ca(this.v,["currentTime"],this.SB);h.ca(this.v,["frames","overlays","vrMenu","flipImageHorizontally"],this.Tf);h.ca(this.v,["adjacentPanoramas"],this.Kr);this.K9()};a.prototype.Tf=function(){function u(B,z,C){B=y.indexOf(B);return 0>B?C:w[B].get(z,C)}function t(B){return u(B,"projected",!1)}var v=this.Aa.Kv(this.v.get("frames"));v.forEach(function(B){B.set("panoramaId",this.get("id"));B.set("flipHorizontally",this.v.get("flipImageHorizontally"))}.bind(this));var w=this.v.get("overlays"),x=this.Aa.Kv(w),
y=x.slice(),A=x.filter(t).filter(function(B){return u(B,"enabled",!0)});this.v.get("vrMenu")&&x.push(this.Aa.Kv(this.v.get("vrMenu")));x.forEach(function(B){B.set("panoramaId",this.get("id"))}.bind(this));this.vf.pf(v.concat(x));this.Rd.pf(v.concat(x));this.Xn.pf(v.concat(A));this.Uoa.Tg(x.filter(t));this.Dh.Tg(v);this.Sn.Tg(x.filter(function(B){return!t(B)}));this.set("panoramaPixelsPerDegree",f.Sua(this.v));this.gsa()};a.prototype.SB=function(){this.set("currentTime",this.v.get("currentTime",0))};
a.prototype.Kr=function(){this.set("adjacentPanoramas",this.v.get("adjacentPanoramas",[]))};a.prototype.Dp=function(){this.Aj();this.trigger(m.Z)};a.prototype.iLa=function(){this.Aj();this.set("ready",!0);this.trigger(m.Sc)};a.prototype.UB=function(){this.Aj()};a.prototype.Aj=function(){var u=0;this.Rd.As(function(t){var v=0,w;this.vf.Ml(t)?v=100:(w=this.Rd.Ml(t))&&(v=w.Sg);u+=v}.bind(this));this.trigger(new k(m.sc,u/this.Rd.Uc.length))};a.prototype.ea=function(u){u.Bb&&!this.Tn&&p.getType()==p.mA.Ok&&
this.Tg([this.Tn=new g].concat(this.Kb()));var t=this.get("blendingActive");this.set("blendingActive",1>this.get("alpha"));t!=this.get("blendingActive")&&this.Aa.set("globalBlendingActive",this.Aa.get("globalBlendingActive")+(this.get("blendingActive")?1:-1));this.set("backgroundPreloadEnabled",!1!==this.Aa.lc.get("backgroundPreloadEnabled"));this.set("preloadEnabled",u.BP);this.M("adjacentPanoramas","loadingActive","preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&this.get("backgroundPreloadEnabled")?
this.DPa():this.K9());this.M("index")&&this.gsa();b.prototype.ea.call(this,u)};a.prototype.Rba=function(){return f.Rba(this.v,this.get("preloadEnabled"))};a.prototype.zca=function(){return f.zca(this.v,this.get("preloadEnabled"))};a.prototype.DPa=function(){this.K9();this.nV=this.get("adjacentPanoramas").map(function(u){u=u.get("panorama");return[u,f.Zm(u,this.get("preloadEnabled"))]}.bind(this));this.nV.forEach(function(u){l.lta(u[0],u[1]);l.XY(u[0],1)})};a.prototype.K9=function(){this.nV.forEach(function(u){l.XY(u[0],
-1);l.bXa(u[0],u[1])});this.nV=[]};a.prototype.gsa=function(){var u=this.get("index");this.Dh.Kb().forEach(function(t,v,w){t.set("panoramaIndex",u);t.set("frameIndex",v);t.set("frameCount",w.length)})};var n=d.extend(b,function(){b.call(this);this.Xo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});n.prototype.ea=function(u){this.Kb().forEach(function(t,v,w){t.set("frontFrame",w[w.length-1])});b.prototype.ea.call(this,
u)};var r=d.extend(b,function(){b.call(this);this.Xo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});return a});
define("jg",["require","li","fv","em"],function(a){var d=a("li"),h=a("fv"),m=a("em"),k=0;a=d.extend(h,function(){h.call(this);this.set("tag","PanoramaFrame");this.set("panoramaIndex",0);this.set("frameIndex",0);this.set("frameCount",1);this.set("id","frame_"+k++)});a.prototype.ea=function(b){h.prototype.ea.call(this,b);this.NC()};a.prototype.RC=function(){if(this.M("panoramaIndex","frameIndex","frameCount","meshGroup")){var b=this.get("meshGroup");if(b){var g=this.get("panoramaIndex"),e=this.get("frameIndex"),
c=this.get("frameCount"),f=b.children.length;b.children.forEach(function(l,p){m.OZ(l,g+(p+e/c)/f)}.bind(this))}}};a.prototype.NC=function(){if(this.M("meshGroup","panoramaId","id")){var b=this.get("meshGroup");b&&b.children.forEach(function(g,e){m.setAttribute(g,m.Dz,this.get("panoramaId"));m.setAttribute(g,m.g_,e);m.setAttribute(g,m.WD,this.get("id"))}.bind(this))}};return a});
define("nG","require li ku ox hP iS jg nR nc fs kk lj".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("hP"),b=a("iS"),g=a("jg"),e=a("nR"),c=a("nc"),f=a("fs"),l=a("kk"),p=a("lj");a=d.extend(g,function(n){g.call(this);this.set("tag","ImagePanoramaFrame");this.Koa=!0;this.v=n;this.dk.push(this.v);this.rk=this.Kg=this.Xn=null;this.n6=[];this.Tf=this.Tf.bind(this);this.Xo(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.Tg([this.Sn=new q])});a.prototype.Lb=function(){this.Xn=
new e(m.Z);this.Kg=new e(m.Z);this.rk=new e(m.sc);g.prototype.Lb.call(this);h.fa(this.v,["overlays"],this.Tf,!0)};a.prototype.Qb=function(){this.Xn.dispose();this.Kg.dispose();this.rk.dispose();h.ca(this.v,["overlays"],this.Tf);g.prototype.Qb.call(this)};a.prototype.Tf=function(){this.Sn.Tg(this.Aa.Kv(this.v.get("overlays")));this.Ura()};a.prototype.Ura=function(){this.Kg.pf([].concat(this.n6,this.Sn.Kb()));this.rk.pf([].concat(this.n6,this.Sn.Kb()))};a.prototype.An=function(){var n=[],r=[],u=[];
c.xba(this.v,this.Koa).forEach(function(t,v){var w=f.oTa(this.v,t);c.EVa(t)?(0==v&&(n=n.concat(w),r=r.concat(w)),l.Yv(w,0==v?l.Wq:l.BQ),l.Xv(w,0==v?l.Po:l.n0)):(0==v&&(n=n.concat(w)),r=r.concat(w),l.Yv(w,l.Wq),l.Xv(w,l.Po));l.LD(w,0==v?k.z0:k.Qk);l.UP(w,v);u=u.concat(w)}.bind(this));this.Xn.pf(n);this.n6=r;this.Ura();this.Kg.Ul(this.Dp.bind(this));this.Xn.Ul(this.LLa.bind(this));this.rk.yo(this.UB.bind(this));this.trigger(new p(m.sc,0));return u};a.prototype.LLa=function(){this.trigger(m.Sc)};a.prototype.Dp=
function(){this.trigger(m.Z)};a.prototype.ea=function(n){this.Koa=n.BP;this.CRa();g.prototype.ea.call(this,n)};a.prototype.CRa=function(){var n=this.get("frontFrame");if(this.M("frontFrame")||n&&n.M("alpha"))n=n&&n!=this?1-n.get("alpha"):1,this.Sn.set("alpha",n)};a.prototype.UB=function(){var n=0;this.rk.As(function(r){var u=0,t;this.Kg.Ml(r)?u=100:(t=this.rk.Ml(r))&&(u=t.Sg);n+=u}.bind(this));this.trigger(new p(m.sc,n/this.rk.Uc.length))};var q=d.extend(b,function(){b.call(this);this.Xo(["loadingActive",
"panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("tag","Group")});return a});
define("gv","require li ox jp mF nR lj".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("jp"),k=a("mF"),b=a("nR"),g=a("lj");a=d.extend(m,function(){m.call(this);this.set("tag","ImagePlane");this.set("url",null);this.Rd=this.vf=null});a.prototype.Lb=function(){this.vf=(new b(h.Z)).Ul(this.Dp.bind(this));this.Rd=(new b(h.sc)).yo(this.Ou.bind(this));m.prototype.Lb.call(this)};a.prototype.Qb=function(){this.vf.dispose();this.Rd.dispose();m.prototype.Qb.call(this)};a.prototype.ea=function(e){if(this.M("url")){var c=
this.get("url");c=c?new k(c):null;this.set("textureSource",c)}m.prototype.ea.call(this,e);this.M("meshGroup")&&(e=(e=this.get("meshGroup"))&&e.children||[],e.length&&(this.vf.pf(e),this.Rd.pf(e)))};a.prototype.Dp=function(){this.trigger(h.Sc);this.trigger(h.Z)};a.prototype.Ou=function(e,c){var f=0;c.As(function(l){(l=c.Ml(l))&&(f+=l.Sg)});this.trigger(new g(h.sc,f/c.Uc.length))};return a});
define("mj","require ed ox cw kK nT".split(" "),function(a){function d(c,f){this.Kc=c;this.Y=f;this.pk=!1;this.Ii=[];this.km=this.VE=void 0;this.pe=[];this.V1();this.P2();this.vW();this.wf()}function h(c,f,l){this.time=c;this.cue=f;this.action=l}var m=a("ed"),k=a("ox"),b=a("cw"),g=a("kK"),e=a("nT");d.prototype.clear=function(){this.HJ();this.Ii=[];this.t$();this.Y=this.Kc=null};d.prototype.V1=function(){this.Y.bind(e.Ef,this.Se,this,!0);this.Y.bind(k.le,this.wf,this,!0);this.Y.bind(k.sb,this.jy,this,
!0)};d.prototype.t$=function(){this.Y.unbind(e.Ef,this.Se,this,!0);this.Y.unbind(k.le,this.wf,this,!0);this.Y.unbind(k.sb,this.jy,this,!0)};d.prototype.wf=function(){var c=this.Y.getState()!=g.T;this.pk!=c&&((this.pk=c)?this.vW():this.HJ())};d.prototype.jy=function(){this.UC()};d.prototype.Se=function(){this.UC()};d.prototype.vW=function(){this.km=this.VE=0};d.prototype.UC=function(){if(this.Y&&this.pk){var c=this.pe.slice(),f=this.Y.getCurrentTime(),l=f-this.VE;0>l&&(this.pe=[],this.km=0);l=0<=l&&
2>l;this.VE=f;var p;for(p=this.km;p<this.Ii.length&&!(this.Ii[p].time>f);p++);for(;this.km<p;this.km++)f=this.Ii[this.km],"start"==f.action?(this.pe=m(this.pe).union([f.cue]),l&&f.cue.trigger(new b(k.Qq))):(this.pe=m(this.pe).difference([f.cue]),l&&f.cue.trigger(new b(k.sb)));c.length==this.pe.length&&m(c).intersection(this.pe).length==this.pe.length||this.RN()}};d.prototype.HJ=function(){0<this.pe.length&&(this.pe=[],this.RN())};d.prototype.RN=function(){this.Kc.trigger(new b(k.Pk,{activeCues:this.pe.slice()}))};
d.prototype.P2=function(){this.Ii=[];var c=this.Kc.get("cues",[]);m(c).each(function(f){this.Ii.push(new h(f.get("startTime",0),f,"start"));this.Ii.push(new h(f.get("endTime",Number.POSITIVE_INFINITY),f,"end"))},this);this.Ii.sort(function(f,l){return f.time==l.time?f.action==l.start?0:"start"==f.action?-1:1:f.time-l.time})};return d});
define("lF",["require","ox","kK","cw","nT"],function(a){function d(g,e,c){this.lc=g;this.Kc=e;this.Y=c;this.Y.setCurrentTime(this.Sf=this.Kc.get("currentTime",0));this.Y.Cf(this.df=this.lc.get("mute",!1));this.Y.Id(this.A=this.Kc.get("state",m.T));this.Y.setLoop(this.el=this.Kc.get("loop"));this.qb=this.Y.Xi();this.UCa();this.aDa();this.Ct()}var h=a("ox"),m=a("kK"),k=a("cw"),b=a("nT");d.prototype.clear=function(){this.nNa();this.tNa();this.Zu();this.Y.Id(m.T);this.Kc.set("state",m.T);this.Kc.set("currentTime",
0);this.Kc.set("duration",void 0)};d.prototype.joa=function(){var g=this.Kc.get("state",m.T);this.A!=g&&this.Y.Id(this.A=g)};d.prototype.hoa=function(){var g=this.Kc.get("currentTime",0);this.Sf!=g&&this.Y.setCurrentTime(this.Sf=g)};d.prototype.bM=function(){var g=this.lc.get("mute",0);this.df!=g&&this.Y.Cf(this.df=g)};d.prototype.ioa=function(){var g=this.Kc.get("loop");this.el!=g&&this.Y.setLoop(this.el=g)};d.prototype.kM=function(){this.Kc.set("currentTime",this.Sf=this.Y.getCurrentTime())};d.prototype.iM=
function(){this.Kc.set("duration",this.qb=this.Y.Xi())};d.prototype.jM=function(){this.Kc.set("state",this.A=this.Y.getState())};d.prototype.lM=function(){this.Kc.trigger(new k(h.sb))};d.prototype.UCa=function(){this.lc.bind(h.G("mute"),this.bM,this,!0)};d.prototype.nNa=function(){this.lc.unbind(h.G("mute"),this.bM,this,!0)};d.prototype.aDa=function(){this.Kc.bind(h.G("state"),this.joa,this,!0);this.Kc.bind(h.G("currentTime"),this.hoa,this,!0);this.Kc.bind(h.G("loop"),this.ioa,this,!0)};d.prototype.tNa=
function(){this.Kc.unbind(h.G("state"),this.joa,this,!0);this.Kc.unbind(h.G("currentTime"),this.hoa,this,!0);this.Kc.unbind(h.G("loop"),this.ioa,this,!0)};d.prototype.Ct=function(){this.Y.bind(b.Ef,this.kM,this,!0);this.Y.bind(b.Ai,this.iM,this,!0);this.Y.bind(h.le,this.jM,this,!0);this.Y.bind(h.sb,this.lM,this,!0)};d.prototype.Zu=function(){this.Y.unbind(b.Ef,this.kM,this,!0);this.Y.unbind(b.Ai,this.iM,this,!0);this.Y.unbind(h.le,this.jM,this,!0);this.Y.unbind(h.sb,this.lM,this,!0)};return d});
define("dH","require li ox hP kK gv jg nR fs mj lF bY em kk v kd nT lj cb nZ bE".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("hP"),k=a("kK"),b=a("gv"),g=a("jg"),e=a("nR"),c=a("fs"),f=a("mj"),l=a("lF"),p=a("bY"),q=a("em"),n=a("kk"),r=a("v"),u=a("kd"),t=a("nT"),v=a("lj"),w=a("cb"),x=a("nZ"),y=a("bE");a=d.extend(g,function(G){g.call(this);this.v=G;this.dk.push(this.v);this.Xo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",
void 0);this.set("atStart",void 0);p.get(this.v)==p.Qo?this.qaa=this.v.get("sphere"):this.qaa=this.v.get("stereoSphere");this.pk=!1;this.Xa=t.Ej(this.qaa);this.N7=this.Gia=!1;this.sH=[];this.hC=[];this.Jm=this.nk=this.rk=this.Kg=this.Ph=this.Y=null;this.tl=!1;this.rla=this.HB=this.Dr=0});a.prototype.Lb=function(){this.Kg=(new e(h.Z)).Ul(this.Dp.bind(this));this.rk=(new e(h.sc)).yo(this.UB.bind(this));this.Y=new t(this.Aa.lc,this.qaa);this.jp=new f(this.v.ez(),this.Y);this.Ia=new l(this.Aa.lc,this.v.ez(),
this.Y);this.mv=new u(this.v.ez(),this.Y);this.Ct();this.VFa();this.Gia=this.Aa.xc.get("displayPlayOverlay");this.N7="play_pause"==this.Aa.xc.get("clickAction");var G=this.Aa.mf(this.v.ez());G.appendChild(this.nk);G.appendChild(this.Jm);g.prototype.Lb.call(this)};a.prototype.Qb=function(){this.Kg.dispose();this.rk.dispose();this.Zu();this.jp.clear();this.jp=null;this.Ia.clear();this.Ia=null;this.mv.clear();this.mv=null;this.Y.clear();this.Ph=this.Y=null;this.Pia();g.prototype.Qb.call(this)};a.prototype.VFa=
function(){this.Pia();this.nk=this.ria(w.Bw,w.A0,w.zBa);this.Jm=this.ria(w.nE,w.vBa,w.uBa)};a.prototype.ria=function(G,D,E){var H=new b;H.set("url",G);H.set("contentWidth",D);H.set("contentHeight",E);H.set("hfov",10);H.set("yaw",0);H.set("pitch",0);H.set("alpha",0);return H};a.prototype.Pia=function(){this.nk&&(this.nk.remove(),this.nk=null);this.Jm&&(this.Jm.remove(),this.Jm=null)};a.prototype.An=function(){this.sH=c.tTa(this.v,this.Xa);this.kSa=n.RD(q.dz(this.sH[0])[0]);this.sH.forEach(function(D){n.Yv(D,
n.Wq);n.Xv(D,n.Po)});this.Xa.get("posterURL")?(this.hC=c.uTa(this.v,this.Xa),this.hC.forEach(function(D){n.Yv(D,n.Wq);n.Xv(D,n.Po);n.LD(D,m.z0)})):this.hC=[];var G=[].concat(this.sH,this.hC);this.Kg.pf(G);this.rk.pf(G);this.trigger(new v(h.sc,0));return G};a.prototype.ea=function(G){this.FRa(G);var D=this.Y.eY();this.set("frameEmpty",D.isEmpty());this.set("atStart",!(1<this.get("currentTime")));g.prototype.ea.call(this,G);this.Ph&&this.Ph.isEqual(D)?this.Y.getState()==k.X&&this.Ba():(this.Ph=D,this.kSa.Rl(this.Ph.ZA),
this.Ba())};a.prototype.Dl=function(){this.M("composedAlpha","meshGroup","frameEmpty","atStart")&&(this.hC.length&&this.get("frameEmpty")&&this.get("atStart")?(this.hC.forEach(function(G){q.nf(G,this.get("composedAlpha"))}.bind(this)),this.sH.forEach(function(G){q.nf(G,0)}.bind(this))):(this.hC.forEach(function(G){q.nf(G,0)}.bind(this)),this.sH.forEach(function(G){q.nf(G,this.get("composedAlpha"))}.bind(this))))};a.prototype.Dp=function(){this.trigger(h.Sc);this.trigger(h.Z)};a.prototype.UB=function(G,
D){var E=0;D.As(function(H){(H=D.Ml(H))&&(E+=H.Sg)});this.trigger(new v(h.sc,E/D.Uc.length))};a.prototype.wf=function(){this.Ba()};a.prototype.Se=function(){this.Ba()};a.prototype.hn=function(G){if(G.bf==h.Oj&&!G.Fk()&&this.N7&&(G.Jq(this.v),G=Date.now(),!(500>G-this.rla))){this.rla=G;G=this.v.ez();var D=G.get("state");D==k.X?G.set("state",k.Db):D==k.Db&&G.set("state",k.X)}};a.prototype.FRa=function(G){if(this.N7){if(this.tl!=(this.Y.getState()==k.Db))if(this.tl=!this.tl,this.Gia){var D=this.nk.get("alpha"),
E=this.tl?1:0;this.Su=new x("linear",[new y("playAlpha",D,E),new y("playScale",G.Bb?1.5:1,G.Bb?1.5:1),new y("pauseAlpha",0,0),new y("pauseScale",1,1)],Math.abs(E-D)*A);this.nk.Th()}else this.Su=new x("linear",this.tl?[new y("playAlpha",0,0),new y("playScale",1,1),new y("pauseAlpha",0,2),new y("pauseScale",.5,1.5)]:[new y("playAlpha",0,2),new y("playScale",.5,1.5),new y("pauseAlpha",0,0),new y("pauseScale",1,1)],B),this.nk.Th(),this.Jm.Th();this.Su&&(this.Su.yb(G.ye),D=this.Su.cb("playAlpha"),this.nk.set("alpha",
1>D?D:2-D),this.nk.set("scale",this.Su.cb("playScale")),D=this.Su.cb("pauseAlpha"),this.Jm.set("alpha",1>D?D:2-D),this.Jm.set("scale",this.Su.cb("pauseScale")),this.Ba(),this.Su.Ke()&&(this.Su=null));0<this.nk.get("alpha")&&(this.get("globalBlendingActive")&&this.nk.set("alpha",0),this.nk.set("yaw",G.Sa),this.nk.set("pitch",G.pitch),this.nk.set("hfov",this.qka(G)));0<this.Jm.get("alpha")&&(this.get("globalBlendingActive")&&this.Jm.set("alpha",0),this.Jm.set("yaw",G.Sa),this.Jm.set("pitch",G.pitch),
this.Jm.set("hfov",this.qka(G)))}};var A=300,B=600;a.prototype.qka=function(G){return G.Bb?15:2*Math.atan((r.mb()?Math.min(G.width,G.height)/100*20:w.A0)*Math.tan(G.ze*z*.5)/G.width)*C};var z=Math.PI/180,C=180/Math.PI;a.prototype.Ct=function(){this.Y.bind(t.Ef,this.Se,this,!0);this.Y.bind(h.le,this.wf,this,!0)};a.prototype.Zu=function(){this.Y.unbind(t.Ef,this.Se,this,!0);this.Y.unbind(h.le,this.wf,this,!0)};return a});
define("bC","require li ku ox kK hp iS dg kY gv lF np nR nc ex kL S lj nZ bE nT".split(" "),function(a){function d(C,G){for(C-=G;180<C;)C-=360;for(;-180>C;)C+=360;return C+G}var h=a("li"),m=a("ku"),k=a("ox"),b=a("kK");a("hp");var g=a("iS"),e=a("dg"),c=a("kY"),f=a("gv"),l=a("lF"),p=a("np"),q=a("nR"),n=a("nc"),r=a("ex"),u=a("kL"),t=a("S"),v=a("lj"),w=a("nZ"),x=a("bE"),y=a("nT"),A=Math.PI/180;a=h.extend(g,function(C){g.call(this);this.v=C;this.dk.push(this.v);this.Tf=this.Tf.bind(this);this.EU=this.EU.bind(this);
this.Xo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Popup");this.set("inVR",!1);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("loadingActive",!1);this.set("frameEmpty",!0);this.set("state",b.T);this.set("itemVisible","none");this.set("visible",!1);this.set("visiblePosition",0);this.set("alpha",0);this.set("over",!1);this.set("gazeOver",!1);this.set("video",null);this.set("image",null);this.fe=this.rb=this.Ra=this.Rd=this.vf=null;this.lb=
new p;this.Gt=this.Ix=this.Gl=this.Ph=this.Y=null});a.prototype.Lb=function(){this.vf=(new q(k.Z)).Ul(this.PB.bind(this));this.Rd=(new q(k.sc)).yo(this.TB.bind(this));g.prototype.Lb.call(this);this.kFa();this.appendChild(this.fe);m.fa(this.v,B,this.Tf,!0);m.ZC(this.v,z,this.EU,!0)};var B="playbackPositions popupDistance popupMaxHeight popupMaxWidth image.levels.url video state".split(" "),z=["visible"];a.prototype.Qb=function(){this.vf.dispose();this.Rd.dispose();m.ca(this.v,B,this.Tf);m.ca(this.v,
z,this.EU);this.WA();this.ox();this.nx();g.prototype.Qb.call(this)};a.prototype.Tf=function(){var C=n.zUa(this.v,this.get("panoramaPixelsPerDegree"));this.set("imageURL",C&&C.get("url"));this.set("imageWidth",C&&C.get("width"));this.set("imageHeight",C&&C.get("height"));this.set("video",this.v.get("video"));this.set("state",this.v.get("state"));this.set("popupDistance",this.v.get("popupDistance"));this.set("popupMaxWidth",this.v.get("popupMaxWidth"));this.set("popupMaxHeight",this.v.get("popupMaxHeight"));
this.set("playbackPositions",this.v.get("playbackPositions"))};a.prototype.EU=function(){this.set("visible",this.v.get("visible"))};a.prototype.ea=function(C){this.wy=C.Sa;this.vy=C.pitch;this.mq(C);this.GRa();this.dO(C);this.Ud(C);this.vRa(C);this.bRa(C);g.prototype.ea.call(this,C)};a.prototype.GRa=function(){this.M("playbackPositions","currentTime")&&(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("sourceYaw",this.lb.get("yaw")),this.set("sourcePitch",this.lb.get("pitch")),
this.set("sourceRotationX",this.lb.get("rotationX")),this.set("sourceRotationY",this.lb.get("rotationY")),this.set("sourceRotationZ",this.lb.get("rotationZ")),this.set("sourceHFOV",this.lb.get("hfov")))};a.prototype.mq=function(){if(this.M("video","imageURL")){var C=[this.fe];this.M("imageURL")&&(this.TJ(),this.Ra&&C.push(this.Ra),this.YM("itemVisible"));this.M("video")&&(this.VJ(),this.rb&&C.push(this.rb),this.YM("itemVisible"));this.vf.pf(C);this.Rd.pf(C);this.Tg(C)}};a.prototype.dO=function(){if(this.Y){var C=
this.Y.eY();this.set("frameEmpty",!!C&&C.isEmpty());!this.Ph||C&&!this.Ph.isEqual(C)?(this.Ph=C,this.rb.set("source",this.Ph.ZA),this.rb.set("sourceUpdated",!0),this.Ba()):this.Y.getState()==b.X&&this.Ba()}else this.set("frameEmpty",!1)};a.prototype.Ud=function(C){this.set("inVR",C.Bb);this.set("hotspotsEnabled",C.sD);this.set("rendererYaw",C.Sa);this.set("rendererPitch",C.pitch);this.set("rendererRoll",C.Xe);this.set("rendererWidth",C.HX);this.set("rendererHeight",C.vO);this.set("rendererHFOV",C.ze);
if(this.M("visible")){var G=this.get("visiblePosition"),D=this.get("visible")?1:0,E=Math.max(1,this.v.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(D-G)),H=this.v.get(this.get("visible")?"showEasing":"hideEasing");G!=D&&(this.Gl=new w(H,[new x("position",G,D)],E));this.get("visible")||this.Y&&this.Y.Id(b.T)}this.Gl&&(this.Gl.Ke()?(this.Gl=null,this.get("visible")?(this.v.trigger(k.dJ),this.v.get("autoplay")&&this.Y&&this.Y.Id(b.X)):setTimeout(function(){this.v&&this.v.trigger(k.XI)}.bind(this),
0)):this.Gl.yb(C.ye),this.Gl&&(this.set("visiblePosition",this.Gl.cb("position")),this.Ba()));G=!1;if(G=C.Bb?this.M("visible","itemVisible"):this.M("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV"))this.set("targetImageScale",this.wka(this.Ra,C)),this.set("targetVideoScale",this.wka(this.rb,C)),this.set("targetYaw",d(this.get("rendererYaw"),this.get("sourceYaw"))),this.set("targetPitch",this.get("rendererPitch")),
this.set("targetRotationZ",d(C.Bb?0:this.get("rendererRoll"),this.get("sourceRotationZ")));if(G||this.M("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){D=this.get("visiblePosition");var R=this.get("targetYaw")*D+this.get("sourceYaw")*(1-D),S=this.get("targetPitch")*D+this.get("sourcePitch")*(1-D),Q=this.get("sourceRotationX")*(1-D),M=this.get("sourceRotationY")*(1-D),W=this.get("targetRotationZ")*D+this.get("sourceRotationZ")*(1-D);C=Math.min(1,2*D);
var I=this.get("popupDistance"),P=this.get("sourceHFOV");G=this.get("targetImageScale")*D+(1-D);D=this.get("targetVideoScale")*D+(1-D);this.set("alpha",C);this.Ra&&this.Ra.set("scale",G);this.rb&&this.rb.set("scale",D);[].concat(this.rb?[this.rb]:[],this.Ra?[this.Ra]:[]).forEach(function(U){U.set("yaw",R);U.set("pitch",S);U.set("rotationX",Q);U.set("rotationY",M);U.set("rotationZ",W);U.set("distance",I);U.set("hfov",P)})}};a.prototype.vRa=function(C){if(this.M("frameEmpty","state","imageURL","video")){var G=
"none";!this.rb||this.Ra&&(this.get("frameEmpty")||this.get("state")==b.T)?this.Ra&&(G="image"):G="video";this.set("itemVisible",G)}if(this.M("itemVisible")){"video"!=this.get("itemVisible")&&this.Y&&this.Y.Id(b.T);G=this.Ra?this.Ra.get("alpha"):0;var D=this.rb?this.rb.get("alpha"):0,E="image"==this.get("itemVisible")?1:0,H="video"==this.get("itemVisible")?1:0,R="video"==this.get("itemVisible")?1:200*Math.max(Math.abs(E-G),Math.abs(H-D));this.Ix=new w("linear",[new x("imageAlpha",G,E),new x("videoAlpha",
D,H)],R)}this.Ix&&(this.Ix.Ke()?this.Ix=null:this.Ix.yb(C.ye),this.Ix&&(this.Ra&&this.Ra.set("alpha",this.Ix.cb("imageAlpha")),this.rb&&this.rb.set("alpha",this.Ix.cb("videoAlpha")),this.Ba()))};a.prototype.bRa=function(C){this.M("gazeOver","inVR","visible")&&(this.Sha(),this.get("inVR")&&this.v.get("lookAwayToHide")&&!this.get("gazeOver")&&this.get("visible")&&this.APa());C.Bb&&this.v.get("darkenBackground")&&this.v.get("lookAwayToHide")?(this.M("visible")&&this.get("visible")&&(this.fe.set("alpha",
.8),this.Gt=null),this.M("gazeOver")&&(this.Gt=new w(this.get("gazeOver")?"linear":"quad_in",[new x("alpha",this.fe.get("alpha"),this.get("gazeOver")?.8:0)],this.get("gazeOver")?300:this.v.get("lookAwayToHideTime")))):(this.Gt=null,this.fe.set("alpha",C.Bb&&this.v.get("darkenBackground")?.8:0));this.Gt&&(this.Gt.Ke()?this.Gt=null:this.Gt.yb(C.ye),this.Gt&&(this.fe.set("alpha",this.Gt.cb("alpha")),this.Ba()))};a.prototype.APa=function(){this.Sha();this.GT=setTimeout(function(){this.GT=null;this.v.set("visible",
!1)}.bind(this),this.v.get("lookAwayToHideTime"))};a.prototype.Sha=function(){this.GT&&(clearTimeout(this.GT),this.GT=null)};a.prototype.wka=function(C,G){if(!C)return 1;var D=this.get("popupMaxWidth","100%"),E=t.Ao(D),H=C.get("contentWidth"),R=C.get("contentHeight"),S=this.get("popupMaxHeight","100%"),Q=t.Ao(S);if(this.get("inVR")){var M=C=.5*this.get("rendererWidth"),W=Math.min(G.Uh,80);G=u.bD(W,C,M);var I=this.get("sourceHFOV");D=Math.min(Math.tan(G*(void 0!==E?E/100:D/C)*.5*A)/Math.tan(.5*I*A),
Math.tan(W*(void 0!==Q?Q/100:S/M)*.5*A)/Math.tan(.5*u.bD(I,H,R)*A))}else C=this.get("rendererWidth"),M=this.get("rendererHeight"),D=H*Math.min((void 0!==E?C*E/100:D)/H,(void 0!==Q?M*Q/100:S)/R),G=this.get("rendererHFOV"),I=this.get("sourceHFOV"),D=Math.tan(.5*G*A)*D/C/Math.tan(.5*I*A);return D};a.prototype.TJ=function(){this.WA();this.get("imageURL")&&(this.Ra=new f,this.Ra.set("url",this.get("imageURL")),this.Ra.set("contentWidth",this.get("imageWidth")),this.Ra.set("contentHeight",this.get("imageHeight")),
this.Ra.set("alpha",0))};a.prototype.WA=function(){this.Ra&&(this.Ra.remove(),this.Ra=null)};a.prototype.VJ=function(){this.ox();if(this.get("video")){this.rb=new c;var C=y.Ej(this.get("video"));this.rb.set("contentWidth",C.get("width"));this.rb.set("contentHeight",C.get("height"));this.rb.set("alpha",0);this.Y=new y(this.Aa.lc,this.get("video"));this.Ia=new l(this.Aa.lc,this.v,this.Y);this.Ct()}};a.prototype.ox=function(){this.rb&&(this.Zu(),this.Ia.clear(),this.Ia=null,this.Y.clear(),this.Ph=this.Y=
null,this.rb.remove(),this.rb=null)};a.prototype.kFa=function(){this.nx();this.fe=new e("#000000")};a.prototype.nx=function(){this.fe&&(this.fe.remove(),this.fe=null)};a.prototype.PB=function(){this.trigger(k.Sc);this.trigger(k.Z)};a.prototype.TB=function(C,G){var D=0;G.As(function(E){var H=0,R;this.vf.Ml(E)?H=100:(R=this.Rd.Ml(E))&&(H=R.Sg);D+=H}.bind(this));this.trigger(new v(k.sc,D/G.Uc.length))};a.prototype.wf=function(){this.Ba()};a.prototype.Se=function(){this.Ba()};a.prototype.jy=function(){this.v.trigger(k.sb)};
a.prototype.Ct=function(){this.Y.bind(y.Ef,this.Se,this,!0);this.Y.bind(k.le,this.wf,this,!0);this.Y.bind(k.sb,this.jy,this,!0)};a.prototype.Zu=function(){this.Y.unbind(y.Ef,this.Se,this,!0);this.Y.unbind(k.le,this.wf,this,!0);this.Y.unbind(k.sb,this.jy,this,!0)};a.prototype.hn=function(C){C.bf==k.$l?(!C.Fk()&&this.get("visible")?(C.Jq(this.v),this.set("over",this.hq(C)),this.set("gazeOver",this.hQa(C))):this.set("over",!1),this.get("over")&&(C.Sy(this.v),C.Ms()&&C.Ty(this.v),C.Ek(this.get("popupDistance"))),
this.M("over")&&(this.v.trigger(this.get("over")?k.Tc:k.ac),C.Ms()&&this.v.trigger(this.get("over")?k.eA:k.Ro))):C.bf==k.Oj&&!C.Fk()&&this.get("visible")&&(C.Jq(this.v),C.Ek(this.get("popupDistance")),this.hq(C)?C.xVa()||this.v.trigger(k.pa):this.v.set("visible",!1))};a.prototype.hq=function(C){return this.sra(C.Vp)};a.prototype.hQa=function(C){C=C.sK;return!!C&&this.sra([C])};a.prototype.sra=function(C){if(this.get("visible")){C=("video"==this.get("itemVisible")?this.rb:this.Ra).iu(C);for(var G=
0;G<C.length;G++){var D=C[G];if(r.dw(D.source,D.x,D.y))return!0}}return!1};return a});
define("cQ",["require","li","iS"],function(a){var d=a("li"),h=a("iS");a=d.extend(h,function(){h.call(this);this.ex&&this.ex();this.Bn&&this.Bn()});a.prototype.Lb=function(){h.prototype.Lb.call(this);this.Un&&this.Un();this.uG&&this.uG()};a.prototype.Qb=function(){this.Wn&&this.Wn();this.vG&&this.vG();h.prototype.Qb.call(this)};a.prototype.ea=function(m){this.Lf&&this.Lf(m);h.prototype.ea.call(this,m);this.pq&&this.pq(m)};return a});
define("jE",["require","ox"],function(a){var d=a("ox");return{ex:function(){this.set("beamEnabled",!1);this.Xc=!1;this.vy=this.wy=void 0},pq:function(h){this.wy=h.Sa;this.vy=h.pitch},hn:function(h){if(h.bf==d.$l){var m=!h.Fk()&&this.hq(h);if(m){h.Sy(this.v);this.v.get("useHandCursor")&&h.Ty(this.v);h.Ek(this.get("distance"));var k=this.Mb(h.wD());k&&h.zX(k,this.Hy(h.wD()))}this.Xc!=m&&(this.Xc=m,this.v.trigger(this.Xc?d.Tc:d.ac),h.Ms()&&this.v.trigger(this.Xc?d.eA:d.Ro))}else h.bf==d.Oj&&!h.Fk()&&
this.hq(h)&&(1<this.v.XH(d.pa,!0).length&&h.Jq(this.v),h.Ek(this.get("distance")),this.v.trigger(d.pa))},hq:function(h){return this.get("beamEnabled")&&0<this.Q4().iu(h.Vp).length?!0:!1},Mb:function(h){return!h||this.v.get("displayTooltipInTouchScreens")&&!1!==this.Aa.N.get("displayTooltipInTouchScreens")?this.v.get("toolTip",""):""},Hy:function(h){if(h){h=this.get("yaw")-this.wy;var m=this.get("pitch")-this.vy;return Math.sqrt(h*h+m*m)}return 0}}});
define("bS","require li ku ox cQ nR nc jE".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("cQ"),b=a("nR"),g=a("nc");a=a("jE");d=d.extend(k,a,function(e){k.call(this);this.v=e;this.tB=this.j4=this.p5=null;this.dk.push(this.v);this.Tf=this.Tf.bind(this);this.Xo(["loadingActive","panoramaPixelsPerDegree"]);this.set("tag","FrameHotspot");this.set("enabled",!0);this.set("inVR",!1);this.set("inScreenshot",!1);this.set("overlaysEnabled",!0);this.set("interactionEnabled",!0);this.set("contentInteractive",
!1);this.set("transparent",!1);this.set("centerOverDisplay",!1);this.set("loadingActive",!1);this.set("visible",!1);this.set("loaded",!1);this.set("inView",!1);this.set("frameHidden",!0);this.Cd=this.Br=this.Rd=this.vf=null});d.prototype.Lb=function(){this.vf=(new b(m.Z)).Ul(this.PB.bind(this));this.Rd=(new b(m.sc)).yo(this.TB.bind(this));this.tFa();k.prototype.Lb.call(this);h.fa(this.v,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "),
this.Tf,!0)};d.prototype.Qb=function(){this.vf.dispose();this.Rd.dispose();h.ca(this.v,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "),this.Tf);this.Lia();this.Nia();k.prototype.Qb.call(this)};d.prototype.Tf=function(){this.set("url",this.v.get("url"));this.Cd.set("url",this.get("url"));this.set("image",this.v.get("image"));this.Ra.set("image",this.get("image"));this.Ra.set("level",this.get("image")&&g.Hua(this.v,this.get("panoramaPixelsPerDegree")));
this.set("enabled",this.v.get("enabled"));this.set("fadeInDuration",this.v.get("fadeInDuration"));this.set("fadeOutDuration",this.v.get("fadeOutDuration"));this.set("interactionEnabled",this.v.get("interactionEnabled"));this.set("contentInteractive",this.v.get("contentInteractive"));this.set("transparent",this.v.get("transparent"));this.Ba()};d.prototype.ea=function(e){this.set("loaded",!!this.Cd&&this.Cd.get("frameLoaded"));this.set("inVR",e.Bb);this.set("inScreenshot",e.uD);this.set("hotspotsEnabled",
e.sD);k.prototype.ea.call(this,e);this.Ud(e)};d.prototype.tFa=function(){this.TJ();this.FFa();this.EFa();var e=[this.Ra,this.Br,this.Cd];this.vf.pf(e);this.Rd.pf(e);this.Tg(e)};d.prototype.Ud=function(){this.set("globalBlendingActiveCopy",this.get("globalBlendingActive"));if(this.M("globalBlendingActive","globalBlendingActiveCopy","url","inVR","hotspotsEnabled","enabled","interactionEnabled","contentInteractive","composedTranslationX","composedTranslationY","composedTranslationZ")){var e=!(0!=this.get("composedTranslationX")||
0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"))&&0==this.get("globalBlendingActive")&&this.get("hotspotsEnabled")&&this.get("enabled")&&!this.get("inVR")&&!!this.get("url");this.set("visible",e);this.set("beamEnabled",e&&this.get("interactionEnabled"));this.Cd.set("contentInteractive",e&&this.get("interactionEnabled")&&this.get("contentInteractive"))}this.set("frameHidden",!this.Cd.get("geometryVisible"));this.M("visible","loaded","frameHidden","transparent","inScreenshot")&&
(this.get("visible")||this.set("loaded",!1),this.Ra.set("alpha",!this.get("visible")||!this.get("frameHidden")&&this.get("loaded")?0:1),this.Ra.set("alpha",1),this.Br.set("alpha",!this.get("visible")||this.get("frameHidden")||!this.get("loaded")||this.get("transparent")||this.get("inScreenshot")?0:1),this.Cd.set("alpha",this.get("visible")?1:0),this.Cd.set("transparent",this.get("transparent")),this.set("inView",this.get("visible")&&(this.get("loaded")||this.get("image"))),this.Ba());this.M("inView")&&
this.v.trigger(this.get("inView")?m.hd:m.sd)};d.prototype.TJ=function(){this.WA();this.Ra=new this.tB;this.Ra.set("image",this.get("image"));this.Ra.set("level",this.get("image")&&g.Hua(this.v,this.get("panoramaPixelsPerDegree")));this.Ra.set("visible",!0);this.Ra.set("alpha",0);this.set("imagePlane",this.Ra)};d.prototype.WA=function(){this.Ra&&(this.Ra.remove(),this.Ra=null,this.set("imagePlane",null))};d.prototype.EFa=function(){this.Lia();this.Cd=new this.j4;this.Cd.bind(m.Z,this.vja,this,!0);
this.Cd.set("url",this.get("url"));this.Cd.set("visible",!0);this.Cd.set("alpha",1);this.set("framePlane",this.Cd)};d.prototype.Lia=function(){this.Cd&&(this.Cd.unbind(m.Z,this.vja,this,!0),this.Cd.remove(),this.Cd=null,this.set("framePlane",null))};d.prototype.FFa=function(){this.Nia();this.Br=new this.p5;this.Br.set("visible",!0);this.Br.set("alpha",1);this.set("holePlane",this.Br)};d.prototype.Nia=function(){this.Br&&(this.Br.remove(),this.Br=null,this.set("holePlane",null))};d.prototype.Q4=function(){return this.Br};
d.prototype.vja=function(){this.Ba()};d.prototype.PB=function(){this.trigger(m.Sc);this.trigger(m.Z)};d.prototype.TB=function(e,c){var f=0;c.As(function(l){(l=c.Ml(l))&&(f+=l.Sg)});this.trigger(new ProgressEvent(m.sc,f/c.Uc.length))};return d});
define("fH",["require","li","iS"],function(a){var d=a("li"),h=a("iS");a=d.extend(h,function(){h.call(this);this.set("tag","ComposedCSSObject");this.set("transparent",!1);this.set("cssScene",null);this.set("cssSceneOver",null);this.set("cssObject",this.M2());this.Ut&&this.Ut();this.UA&&this.UA();this.ex&&this.ex();this.Bn&&this.Bn()});a.prototype.M2=function(){var m=new THREE.CSS3DObject;m.matrixAutoUpdate=!1;return m};a.prototype.Lb=function(){h.prototype.Lb.call(this);this.Un&&this.Un();this.lL&&
this.lL();this.uG&&this.uG()};a.prototype.Qb=function(){this.RF&&this.RF();this.vG&&this.vG();this.Wn&&this.Wn();var m=this.get("cssObject");m&&m.parent&&m.parent.remove(m);this.set("cssScene",null);h.prototype.Qb.call(this)};a.prototype.ea=function(m){this.Lf&&this.Lf(m);h.prototype.ea.call(this,m);this.set("cssScene",m.CO);this.set("cssSceneOver",m.DO);if(this.M("transparent")){var k=this.get("cssObject");k&&k.parent&&k.parent.remove(k)}this.M("cssScene","cssSceneOver","transparent")&&(k=this.get("transparent")?
m.DO:m.CO)&&k.add(this.get("cssObject"));this.Dl();this.zj&&this.zj(m);this.vv&&this.vv(m);this.RC()};a.prototype.Dl=function(){this.M("composedAlpha","meshGroup")&&this.Jw()};a.prototype.Jw=function(){this.get("cssObject").element.style.display=0<this.get("composedAlpha")?"block":"none"};a.prototype.RC=function(){this.M("index")&&(this.get("cssObject").containerElement.style.zIndex=this.get("index"))};return a});
define("eg",["require","gR","a"],function(a){var d=a("gR"),h=a("a"),m=new THREE.Matrix4,k=Math.PI/180;return{Ut:function(){this.set("vertices",void 0);this.jh=new THREE.Matrix4;this.Bd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.nm=new THREE.Matrix4;this.Cp=new THREE.Matrix4},M2:function(){var b=new THREE.CSS3DQuad;b.matrixAutoUpdate=!1;return b},vv:function(b){var g=!1;if(this.M("vertices","contentWidth","contentHeight")){var e=this.get("vertices");g=h.Bs(e[0].get("yaw")*k,e[0].get("pitch")*
k).normalize();var c=h.Bs(e[1].get("yaw")*k,e[1].get("pitch")*k).normalize(),f=h.Bs(e[2].get("yaw")*k,e[2].get("pitch")*k).normalize();e=h.Bs(e[3].get("yaw")*k,e[3].get("pitch")*k).normalize();var l=this.get("cssObject");l.vertices[0].set(g.x,g.y,-g.z);l.vertices[1].set(c.x,c.y,-c.z);l.vertices[2].set(f.x,f.y,-f.z);l.vertices[3].set(e.x,e.y,-e.z);l.contentWidth=this.get("contentWidth");l.contentHeight=this.get("contentHeight");g=!0}c=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&
(this.jh.makeTranslation(.5*-this.get("composedTranslationX")*d.Df,.5*this.get("composedTranslationY")*d.Df,.5*this.get("composedTranslationZ")*d.Df),c=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Bd.makeRotationY(-b.Sa*k),this.Bd.multiply(m.makeRotationX(-this.get("composedDeltaPitch")*k)),this.Bd.multiply(m.makeRotationY(this.get("composedDeltaYaw")*k)),this.Bd.multiply(m.makeRotationY(b.Sa*k)),c=!0);if(c||this.M("meshGroup"))this.Cp.copy(this.jh),this.Cp.multiply(this.Bd),
this.get("cssObject").matrix.copy(this.Cp),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.Sa);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.Xe);this.set("cameraHfov",b.ze);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(c||g||this.M("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").projectVertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.M("geometryVisible")&&
this.I8())}}});
define("dO","require hP gR em kk a".split(" "),function(a){var d=a("hP"),h=a("gR"),m=a("em"),k=a("kk"),b=a("a"),g=new THREE.Matrix4,e=Math.PI/180;return{Ut:function(){this.set("distance",void 0);this.set("vertices",void 0);this.Ig=null;this.jh=new THREE.Matrix4;this.Bd=new THREE.Matrix4;this.xl=new THREE.Matrix4;this.gi=new THREE.Matrix4},vv:function(c){this.bSa(c);this.nq(c)},qF:function(){var c=this.get("meshGroup");return c?m.Hk(c)[0]:null},An:function(){this.Ig||(this.Ig=this.bx());return[0].map(function(c){var f=
this.SJ();c=m.create(this.Ig[c],f);k.Xv(c,k.Po);k.Yv(c,k.Wq);k.LD(c,d.aJ);k.UP(c,1);return c}.bind(this))},bSa:function(){if(this.M("vertices")){var c=this.get("meshGroup");if(c)return this.Ig&&this.Ig.forEach(function(f){h.dispose(f)}),this.Ig=this.bx(),m.Hk(c).map(function(f,l){m.cda(f,this.Ig[l])}.bind(this))}},bx:function(){function c(w){return 0==w||isNaN(w)||!isFinite(w)}var f=this.get("vertices")||[];if(4!=f.length)return[h.Rta(-1,1,1,1,1,1,1,-1,1,-1,-1,1)];var l=b.Bs(f[0].get("yaw")*e,f[0].get("pitch")*
e).normalize(),p=b.Bs(f[1].get("yaw")*e,f[1].get("pitch")*e).normalize(),q=b.Bs(f[2].get("yaw")*e,f[2].get("pitch")*e).normalize();f=b.Bs(f[3].get("yaw")*e,f[3].get("pitch")*e).normalize();var n=l.clone().LX(q),r=f.clone().LX(p),u=n.clone().LX(r).normalize();r=(2*l.y*u.x/l.x-2*u.y)/(-q.y+l.y*q.x/l.x);c(r)&&(r=(2*l.z*u.x/l.x-2*u.z)/(-q.z+l.z*q.x/l.x));c(r)&&(r=(2*l.z*u.y/l.y-2*u.z)/(-q.z+l.z*q.y/l.y));var t=(2*u.x-q.x*r)/l.x;c(t)&&(t=(2*u.y-q.y*r)/l.y);c(t)&&(t=(2*u.z-q.z*r)/l.z);n=(2*p.y*u.x/p.x-
2*u.y)/(-f.y+p.y*f.x/p.x);c(n)&&(n=(2*p.z*u.x/p.x-2*u.z)/(-f.z+p.z*f.x/p.x));c(n)&&(n=(2*p.z*u.y/p.y-2*u.z)/(-f.z+p.z*f.y/p.y));var v=(2*u.x-f.x*n)/p.x;c(v)&&(v=(2*u.y-f.y*n)/p.y);c(v)&&(v=(2*u.z-f.z*n)/p.z);l=l.AI(t);p=p.AI(v);q=q.AI(r);f=f.AI(n);return[h.Rta(l.x,l.y,-l.z,p.x,p.y,-p.z,q.x,q.y,-q.z,f.x,f.y,-f.z)]},nq:function(c){var f=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.jh.makeTranslation(.5*-this.get("composedTranslationX")*h.Df,.5*this.get("composedTranslationY")*
h.Df,.5*this.get("composedTranslationZ")*h.Df),f=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Bd.makeRotationY(-c.Sa*e),this.Bd.multiply(g.makeRotationX(-this.get("composedDeltaPitch")*e)),this.Bd.multiply(g.makeRotationY(this.get("composedDeltaYaw")*e)),this.Bd.multiply(g.makeRotationY(c.Sa*e)),f=!0);this.M("distance","composedTranslationX","composedTranslationY","composedTranslationZ")&&(c=0==this.ka.get("composedTranslationX")&&0==this.ka.get("composedTranslationY")&&
0==this.ka.get("composedTranslationZ")&&void 0!==this.get("distance")?h.lD(this.get("distance")):h.Hv(),this.xl.makeScale(c,c,c),f=!0);if(f||this.M("meshGroup"))this.gi.copy(this.jh),this.gi.multiply(this.Bd),this.gi.multiply(this.xl),c=m.Hk(this.get("meshGroup")),m.wq(c[0],this.gi)}}});
define("cn",["require","ox"],function(a){var d=a("ox");return{UA:function(){this.set("visible",!1);this.set("inView",!1);this.set("url",!1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("contentInteractive",!1);this.set("frameLoaded",!0);this.wc=this.Wd=null;this.RS=void 0;this.rX=this.rX.bind(this);this.sX=this.sX.bind(this);this.tX=this.tX.bind(this);this.sB=this.sB.bind(this);this.v5=this.v5.bind(this)},zj:function(){this.M("cssObject")&&(this.GFa(),this.get("cssObject").element.appendChild(this.Wd));
this.M("url")&&this.BOa(this.get("url"));this.M("contentWidth","contentHeight")&&(this.Wd.style.width=this.get("contentWidth")+2+"px",this.Wd.style.height=this.get("contentHeight")+2+"px");this.M("contentInteractive")&&(this.Wd.style.pointerEvents=this.get("contentInteractive")?"auto":"none")},Dl:function(){this.M("composedAlpha")&&(0<this.get("composedAlpha")?this.wc&&!this.wc.parentNode&&(this.fsa(),this.Wd.appendChild(this.wc)):this.wc&&this.wc.parentNode&&this.Wd.removeChild(this.wc))},lL:function(){this.trigger(d.Sc);
this.get("frameLoaded")&&this.trigger(d.Z)},RF:function(){this.PEa()},sX:function(h){h.preventDefault();h.stopImmediatePropagation()},rX:function(){this.Aa.lc.GD(null)},tX:function(h){h.preventDefault();h.stopImmediatePropagation()},sB:function(){this.set("frameLoaded",!0);this.trigger(d.Z)},v5:function(){this.SS=null;this.sB()},GFa:function(){this.wc||(this.Wd=document.createElement("div"),this.Wd.style.position="absolute",this.Wd.style.left=this.Wd.style.top="-1px",this.get("cssObject").isCSS3DObject&&
(this.Wd.style.transform="translate(-50%, -50%)"),this.Wd.style.overflow="hidden",this.Wd.style["-webkit-overflow-scrolling"]="touch",this.Wd.addEventListener("mouseenter",this.rX,!0),this.Wd.addEventListener("mousemove",this.sX,!0),this.Wd.addEventListener("mousewheel",this.tX,!0),this.wc=document.createElement("iframe"),this.wc.setAttribute("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),this.wc.setAttribute("frameborder",
"0"),this.wc.setAttribute("scrolling","auto"),this.wc.style.width="100%",this.wc.style.height="100%",this.wc.addEventListener("load",this.sB,!0),0<this.get("composedAlpha")&&this.Wd.appendChild(this.wc))},PEa:function(){this.wc&&(this.wc.src="",this.C8(),this.Ww(),this.wc.parentNode&&this.wc.parentNode.removeChild(this.wc),this.wc=null);this.Wd&&(this.Wd.parentNode&&this.Wd.parentNode.removeChild(this.Wd),this.Wd.removeEventListener("mouseenter",this.rX,!0),this.Wd.removeEventListener("mousemove",
this.sX,!0),this.Wd.removeEventListener("mousewheel",this.tX,!0),this.Wd=null)},BOa:function(h){this.RS!==h&&(this.RS=h,this.set("frameLoaded",!1),this.fsa())},fsa:function(){this.RS?(this.FOa(),this.PCa(),this.wc.src=this.RS):(this.Ww(),this.C8(),this.wc.src="",this.sB())},FOa:function(){this.Ww();this.SS=setTimeout(this.v5,3E3)},Ww:function(){this.SS&&(clearTimeout(this.SS),this.SS=null)},PCa:function(){this.C8();this.wc.addEventListener("load",this.sB,!0)},C8:function(){this.wc.removeEventListener("load",
this.sB,!0)}}});define("kp",["require","em","ox"],function(a){var d=a("em"),h=a("ox");return{UA:function(){this.get("materialConfig").params.blending=THREE.NoBlending},lL:function(){this.trigger(h.Sc);this.trigger(h.Z)},Dl:function(){this.M("meshGroup","composedAlpha")&&d.nf(this.get("meshGroup"),0<this.get("composedAlpha")?.001:0)}}});
define("mu",["require","ku","np"],function(a){var d=a("ku"),h=a("np");return{Bn:function(){this.set("playbackPositions",null);this.Od=this.Od.bind(this);this.lb=new h},Un:function(){d.fa(this.v,["playbackPositions","width","height"],this.Od,!0)},Wn:function(){d.ca(this.v,["playbackPositions","width","height"],this.Od)},Od:function(){this.set("playbackPositions",this.v.get("playbackPositions"));this.set("contentWidth",this.v.get("width"));this.set("contentHeight",this.v.get("height"))},Lf:function(){this.M("playbackPositions",
"currentTime")&&(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("vertices",this.lb.Aba()));this.M("framePlane","holePlane","imagePlane","vertices")&&this.Kb().forEach(function(m){m.set("vertices",this.get("vertices"));m.set("contentWidth",this.get("contentWidth"));m.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("ju","require li bS fH c eg dO cn gS kp mu".split(" "),function(a){var d=a("li"),h=a("bS"),m=a("fH"),k=a("c"),b=a("eg"),g=a("dO"),e=a("cn"),c=a("gS"),f=a("kp");a=a("mu");var l=d.extend(k,g,c,function(){k.call(this);this.set("tag","QuadFrameHotspotImage")}),p=d.extend(m,b,e,function(){m.call(this);this.set("tag","QuadFrameHotspotFrame")}),q=d.extend(k,g,f,function(){k.call(this);this.set("tag","QuadFrameHotspotHole")});return d.extend(h,a,function(n){h.call(this,n);this.tB=l;this.j4=p;this.p5=
q})});
define("jo",["require","ku","np"],function(a){var d=a("ku"),h=a("np");return{Bn:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Od=this.Od.bind(this);this.lb=new h},Un:function(){d.fa(this.v,["vertices","distance","playbackPositions"],this.Od,!0)},Wn:function(){d.ca(this.v,["vertices","distance","playbackPositions"],this.Od)},Od:function(){this.set("distance",this.v.get("distance"));this.set("vertices",this.v.get("vertices"));this.set("playbackPositions",this.v.get("playbackPositions"))},Lf:function(){this.M("playbackPositions",
"currentTime")&&(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("vertices",this.lb.Aba()),this.set("alpha",this.lb.Ik()))}}});
define("iY","require li ku ox em c dO gS ou jo nc".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("em"),b=a("c"),g=a("dO"),e=a("gS"),c=a("ou"),f=a("jo"),l=a("nc"),p=0;a=d.extend(b,g,f,e,c,function(q){b.call(this);this.set("tag","QuadHotspotImage");this.set("id","quad_hs_image_"+p++);this.set("side",THREE.DoubleSide);this.v=q;this.dk.push(this.v);this.Uf=this.Uf.bind(this)});a.prototype.Lb=function(){b.prototype.Lb.call(this);h.fa(this.v,["image.levels"],this.Uf,!0)};a.prototype.Qb=function(){h.ca(this.v,
["image.levels"],this.Uf);b.prototype.Qb.call(this)};a.prototype.Uf=function(){this.set("image",this.v.get("image"));this.set("level",l.CUa(this.v))};a.prototype.ea=function(q){this.NC();b.prototype.ea.call(this,q);this.M("inView")&&this.v.trigger(this.get("inView")?m.hd:m.sd)};a.prototype.NC=function(){if(this.M("meshGroup","panoramaId","id")){var q=this.get("meshGroup");q&&q.children.forEach(function(n){k.setAttribute(n,k.Dz,this.get("panoramaId"));k.setAttribute(n,k.h_,this.get("id"))}.bind(this))}};
return a});
define("iQ",["require","ox","kK"],function(a){function d(b,g){this.lc=b;this.Kc=g;this.Hb=!1;this.RU=!0;this.Q1=this.G7=!1;this.m1();this.Q6()}var h=a("ox"),m=a("kK");d.prototype.clear=function(){this.tna();this.y8()};d.prototype.rf=function(b){this.Hb!=b&&(this.Hb=b,this.ms())};d.prototype.sYa=function(b){this.RU!=b&&((this.RU=b)&&this.tna(),this.ms())};d.prototype.ms=function(){if(!this.Hb||this.RU)this.Kc.set("state",m.T);else if(this.Kc.get("autoplay")||this.Q1)this.Q1=!1,this.Kc.set("state",m.X)};
d.prototype.Q6=function(){if(!this.G7){var b=this.Kc.get("video").get("autoplayTime");void 0!==b&&this.Kc.get("video").get("autoplayTimeLimit")<(new Date).getTime()&&(b=void 0);this.Kc.set("currentTime",b);this.Q1=void 0!==b}};d.prototype.tna=function(){this.G7||(this.G7=!0,this.Kc.get("state")==m.X?(this.Kc.get("video").set("autoplayTimeLimit",(new Date).getTime()+k),this.Kc.get("video").set("autoplayTime",this.Kc.get("currentTime",0))):this.Kc.get("video").set("autoplayTime",void 0))};d.prototype.m1=
function(){this.Kc.get("video").bind(h.G("autoplayTime"),this.Q6,this,!0)};d.prototype.y8=function(){this.Kc.get("video").unbind(h.G("autoplayTime"),this.Q6,this,!0)};var k=1E3;return d});
define("ez",["require","ox","ex"],function(a){var d=a("ox"),h=a("ex");return{ex:function(){this.set("beamEnabled",!1);this.Xc=!1;this.vy=this.wy=void 0},pq:function(m){this.wy=m.Sa;this.vy=m.pitch},hn:function(m){if(m.bf==d.$l){var k=!m.Fk()&&this.hq(m)&&!this.get("blendingActive");if(k){m.Sy(this.v);this.v.get("useHandCursor")&&m.Ty(this.v);m.Ek(this.get("distance"));var b=this.Mb(m.wD());b&&m.zX(b,this.Hy(m.wD()))}this.Xc!=k&&(this.Xc=k,this.v.trigger(this.Xc?d.Tc:d.ac),m.Ms()&&this.v.trigger(this.Xc?
d.eA:d.Ro))}else m.bf==d.Oj&&!m.Fk()&&this.hq(m)&&(1<this.v.XH(d.pa,!0).length&&m.Jq(this.v),m.Ek(this.get("distance")),this.v.trigger(d.pa))},hq:function(m){if(this.get("beamEnabled")){m=this.Q4().iu(m.Vp);for(var k=0;k<m.length;k++){var b=m[k];if(h.dw(b.source,b.x,b.y))return!0}}return!1},Mb:function(m){return!m||this.v.get("displayTooltipInTouchScreens")&&!1!==this.Aa.N.get("displayTooltipInTouchScreens")?this.v.get("toolTip",""):""},Hy:function(m){if(m){m=this.get("yaw")-this.wy;var k=this.get("pitch")-
this.vy;return Math.sqrt(m*m+k*k)}return 0}}});
define("eV","require li ku ox kK nT cQ iQ nR nc ez lj nZ bE".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("kK"),b=a("nT"),g=a("cQ"),e=a("iQ"),c=a("nR"),f=a("nc"),l=a("ez"),p=a("lj"),q=a("nZ"),n=a("bE");a=d.extend(g,l,function(r){g.call(this);this.v=r;this.raa=this.tB=null;this.dk.push(this.v);this.Tf=this.Tf.bind(this);this.Xo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoHotspot");this.set("enabled",!0);this.set("inVR",!1);this.set("overlaysEnabled",
!0);this.set("enabledInVR",!0);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("centerOverDisplay",!1);this.set("loadingActive",!1);this.set("frameEmpty",!0);this.set("state",k.T);this.set("itemVisible","none");this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.rb=this.Ra=this.Rd=this.vf=null;this.saa=!1;this.sr=[]});a.prototype.Lb=function(){this.vf=(new c(m.Z)).Ul(this.PB.bind(this));this.Rd=(new c(m.sc)).yo(this.TB.bind(this));
this.Tk=new e(this.Aa.lc,this.v);g.prototype.Lb.call(this);h.fa(this.v,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "),this.Tf,!0)};a.prototype.Qb=function(){this.Tk.clear();this.vf.dispose();this.Rd.dispose();h.ca(this.v,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "),
this.Tf);this.WA();this.ox();g.prototype.Qb.call(this)};a.prototype.Tf=function(){this.set("image",this.v.get("image"));this.set("imageLevel",f.LUa(this.v,this.get("panoramaPixelsPerDegree")));this.set("video",this.v.get("video"));this.set("videoLevel",b.Ej(this.get("video")));this.set("enabled",this.v.get("enabled"));this.set("enabledInStandard",this.v.get("enabledInStandard"));this.set("enabledInVR",this.v.get("enabledInVR"));this.set("fadeInDuration",this.v.get("fadeInDuration"));this.set("fadeOutDuration",
this.v.get("fadeOutDuration"));this.set("interactionEnabled",this.v.get("interactionEnabled"));this.set("state",this.v.get("state"));this.set("videoVisibleOnStop",this.v.get("videoVisibleOnStop"));this.set("blending",this.v.get("blending"));this.set("chromaColor",this.v.get("chromaColor"));this.set("chromaThreshold",this.v.get("chromaThreshold"));this.set("chromaSmoothing",this.v.get("chromaSmoothing"))};a.prototype.ea=function(r){this.set("inVR",r.Bb);this.set("hotspotsEnabled",r.sD);this.mq();this.TN();
g.prototype.ea.call(this,r);this.ms();this.dO(r);this.Ud(r)};a.prototype.mq=function(){if(this.M("video","videoLevel","image","imageLevel")){var r=[];this.M("image","imageLevel")&&(this.TJ(),this.Ra&&r.push(this.Ra));this.M("video","videoLevel")&&(this.VJ(),this.rb&&r.push(this.rb));this.Tg(r);this.vf.pf(r);this.Rd.pf(r)}};a.prototype.TN=function(){this.M("video","videoLevel","image","imageLevel","blending","chromaColor","chromaThreshold","chromaSmoothing")&&this.Kb().forEach(function(r){r.set("blending",
this.get("blending"));r.set("chromaColor",this.get("chromaColor"));r.set("chromaThreshold",this.get("chromaThreshold"));r.set("chromaSmoothing",this.get("chromaSmoothing"))}.bind(this))};a.prototype.ms=function(){this.M("video","composedAlpha","enabledInVR","enabledInStandard","enabled","inVR")&&this.Tk.rf(0<this.get("composedAlpha")&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.M("blendingActive")&&
this.Tk.sYa(this.get("blendingActive"))};a.prototype.dO=function(){this.set("frameEmpty",!this.rb||this.rb.get("frameEmpty"))};a.prototype.Ud=function(r){var u=this.get("itemVisible");if(this.M("frameEmpty","state","image","video","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","enabled","interactionEnabled")){var t="none";this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))&&(this.rb&&(!this.Ra||
!this.get("frameEmpty")&&(this.get("state")!=k.T||this.saa&&this.get("videoVisibleOnStop")))?t="video":this.Ra&&(t="image"),this.get("state")!=k.T&&(this.saa=!0));this.set("itemVisible",t);this.set("beamEnabled","none"!=t&&this.get("interactionEnabled"))}if(this.M("itemVisible")){t="none"!=this.get("itemVisible");var v="none"!=u;if(t&&v&&!this.get("chromaColor")&&0==this.sr.length)this.Ra&&this.Ra.set("alpha","image"==this.get("itemVisible")?1:0),this.rb&&this.rb.set("alpha","video"==this.get("itemVisible")?
1:0);else{u=t==v?100:t?this.get("fadeInDuration"):this.get("fadeOutDuration");t!=v&&this.v.trigger(t?m.hd:m.sd);v=this.Ra?this.Ra.get("alpha"):0;var w=this.rb?this.rb.get("alpha"):0;t=[{video:w,image:v}];"video"==this.get("itemVisible")?(t.push({video:1,image:v,time:u*(1-w)}),t.push({video:1,image:0,time:50*(v-0)})):"image"==this.get("itemVisible")?(t.push({video:w,image:1,time:u*(1-v)}),t.push({video:0,image:1,time:50*(w-0)})):t.push({video:0,image:0,time:Math.max(w,v,1/u)*u});this.sr=[];for(u=1;u<
t.length;u++)0<t[u].time&&this.sr.push(new q("linear",[new n("imageAlpha",t[u-1].image,t[u].image),new n("videoAlpha",t[u-1].video,t[u].video)],t[u].time))}}0<this.sr.length&&(this.sr[0].Ke()?this.sr.shift():this.sr[0].yb(r.ye),0<this.sr.length&&(this.Ra&&this.Ra.set("alpha",this.sr[0].cb("imageAlpha")),this.rb&&this.rb.set("alpha",this.sr[0].cb("videoAlpha")),this.Ba()))};a.prototype.TJ=function(){this.WA();this.get("image")&&this.get("imageLevel")&&(this.Ra=new this.tB,this.Ra.set("image",this.get("image")),
this.Ra.set("level",this.get("imageLevel")),this.Ra.set("visible",!0),this.Ra.set("alpha",0),this.Ra.set("side",THREE.DoubleSide))};a.prototype.WA=function(){this.Ra&&(this.Ra.remove(),this.Ra=null)};a.prototype.VJ=function(){this.ox();this.get("video")&&this.get("videoLevel")&&(this.rb=new this.raa,this.rb.set("scriptObject",this.v),this.rb.set("video",this.get("video")),this.rb.set("level",this.get("videoLevel")),this.rb.set("visible",!0),this.rb.set("alpha",0),this.rb.set("side",THREE.DoubleSide))};
a.prototype.ox=function(){this.rb&&(this.rb.remove(),this.rb=null)};a.prototype.PB=function(){this.trigger(m.Sc);this.trigger(m.Z)};a.prototype.TB=function(r,u){var t=0;u.As(function(v){(v=u.Ml(v))&&(t+=v.Sg)});this.trigger(new p(m.sc,t/u.Uc.length))};a.prototype.Q4=function(){return"video"==this.get("itemVisible")?this.rb:this.Ra};return a});
define("gB","require ox kK cr em hp mj lF fa kd nT".split(" "),function(a){var d=a("ox"),h=a("kK"),m=a("cr"),k=a("em");a("hp");var b=a("mj"),g=a("lF"),e=a("fa"),c=a("kd"),f=a("nT");return{UA:function(){this.set("visible",!1);this.set("inView",!1);this.set("frameEmpty",!0);this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("scriptObject",null);this.set("video",null);this.set("level",null);this.set("loop",!1);this.set("side",void 0);
this.Xa=this.rb=null;this.saa=!1;this.JW=this.Ph=this.mv=this.Ia=this.jp=this.Y=null},RF:function(){this.ox()},zj:function(l){this.cSa();this.TN();this.dO(l)},cSa:function(){this.M("scriptObject","video","level")&&(this.ox(),this.rb=this.get("video"),this.Xa=this.get("level"),this.v=this.get("scriptObject"),this.VJ())},TN:function(){if(this.M("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.rb){var l=new m.qn(this.rb.ui());l.Wy=this.get("blending");l.ws=this.get("chromaColor");
l.zO=this.get("chromaThreshold");l.yO=this.get("chromaSmoothing");l.side=this.get("side");this.set("materialConfig",l)}},Dl:function(){this.M("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&0<this.get("composedAlpha"));this.M("composedAlpha","meshGroup","inView")&&k.nf(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},dO:function(){var l=this.Y&&this.Y.eY(),p=!!l&&l.isEmpty();p&&!this.get("frameEmpty")&&this.Y.getState()==h.X&&this.v.get("loop")&&
(l=this.Ph,p=!1);this.set("frameEmpty",p);!this.Ph||l&&!this.Ph.isEqual(l)?(this.Ph=l,this.JW.Rl(this.Ph.ZA),this.JW.update(),this.Ba()):this.Y.getState()==h.X&&this.Ba()},VJ:function(){this.rb&&this.Xa&&this.v&&(this.set("textureSource",this.JW=new e),this.set("contentWidth",this.Xa.get("width")),this.set("contentHeight",this.Xa.get("height")),this.set("alpha",0),this.Y=new f(this.Aa.lc,this.rb),this.Y.wXa(),this.jp=new b(this.v,this.Y),this.Ia=new g(this.Aa.lc,this.v,this.Y),this.mv=new c(this.Aa.xc.get("panorama"),
this.Y),this.Ct(),this.trigger(d.Sc),this.trigger(d.Z))},ox:function(){this.Y&&(this.set("textureSource",this.JW=null),this.Zu(),this.Ia.clear(),this.Ia=null,this.jp.clear(),this.jp=null,this.mv.clear(),this.mv=null,this.Y.clear(),this.Ph=this.Y=null,this.set("frameEmpty",!0),this.Xa=this.rb=null)},Ct:function(){this.Y.bind(f.Ef,this.Se,this,!0);this.Y.bind(d.le,this.wf,this,!0)},Zu:function(){this.Y.unbind(f.Ef,this.Se,this,!0);this.Y.unbind(d.le,this.wf,this,!0)},wf:function(){this.Ba()},Se:function(){this.Ba()}}});
define("nY",["require","ku","np"],function(a){var d=a("ku"),h=a("np");return{Bn:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Od=this.Od.bind(this);this.lb=new h},Un:function(){d.fa(this.v,["playbackPositions","distance"],this.Od,!0)},Wn:function(){d.ca(this.v,["playbackPositions","distance"],this.Od)},Od:function(){this.set("distance",this.v.get("distance"));this.set("playbackPositions",this.v.get("playbackPositions"))},Lf:function(){this.M("playbackPositions","currentTime")&&
(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("vertices",this.lb.Aba()),this.set("alpha",this.lb.Ik()));this.M("video","image","vertices","distance")&&this.Kb().forEach(function(m){m.set("vertices",this.get("vertices"));m.set("distance",this.get("distance"))}.bind(this))}}});
define("jZ","require li eV c dO gS gB nY".split(" "),function(a){var d=a("li"),h=a("eV"),m=a("c"),k=a("dO"),b=a("gS"),g=a("gB");a=a("nY");var e=d.extend(m,k,b,function(){m.call(this);this.set("tag","QuadVideoHotspotImage")}),c=d.extend(m,k,g,function(){m.call(this);this.set("tag","QuadVideoHotspotVideo")});return d.extend(h,a,function(f){h.call(this,f);this.tB=e;this.raa=c})});
define("kF","require li ku kK jT ns v".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("kK"),k=a("jT"),b=a("ns"),g=a("v");a=d.extend(k,function(e){k.call(this);this.v=e;this.hk=this.hk.bind(this);this.ik=this.ik.bind(this);this.fm()});a.prototype.Lb=function(){k.prototype.Lb.call(this);this.v.set("state",this.v.get("startState"));h.fa(this.v,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.hk,!0);h.fa(this.v,["state"],this.ik,
!0)};a.prototype.Qb=function(){h.ca(this.v,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.hk);h.ca(this.v,["state"],this.ik);this.v.set("state",m.T);k.prototype.Qb.call(this)};a.prototype.hk=function(){this.fm();this.PM()};a.prototype.ik=function(){this.kV=this.v.get("state");this.Ba()};a.prototype.fm=function(){k.prototype.fm.call(this);if(g.Nf()){this.eB=this.Fr=4;this.dC=2400;this.fB=1200;var e=1.5;var c=1.6}else this.Fr=2,
this.eB=4,this.dC=4800,this.fB=2400,c=e=1;var f=this.v.get("intensity",.5);this.vc=b.vP(this.v.get("color","#ffffff"));this.sM=.24*this.v.get("opacity",.25)+.01;this.sM*=2;this.ny=(f*(.37-.17)+.17)*e;e=(this.v.get("speed",.5)*(.09-.02)+.02)/this.ny*c;this.rL=.9*e;this.MB=1.1*e;this.dC=Math.round(this.v.get("particleCount",this.dC)*f);this.fB=Math.round(this.v.get("farPlaneParticleCount",this.fB)*f);this.LT=0;this.zp=2;this.Gr=-2;this.w6=0;this.sJ=.75;this.aK=.5;this.cT=this.v.get("initialState");
this.rW=this.v.get("startDuration");this.xW=this.v.get("stopDuration");this.Fr=this.v.get("maxDistance",this.Fr);this.eB=this.v.get("farPlaneDistance",this.eB);this.Oy()};a.prototype.TR=function(){var e=new THREE.MeshBasicMaterial;e.color=new THREE.Color(this.vc[0]/255,this.vc[1]/255,this.vc[2]/255);e.side=THREE.FrontSide;e.transparent=!0;e.depthTest=!1;e.needsUpdate=!0;this.jB||(this.jB=new THREE.BoxGeometry(.01,.2,.01));return new THREE.Mesh(this.jB,e)};a.prototype.Oy=function(){var e=this.eg&&
this.eg.children||[],c=new THREE.Color(this.vc[0]/255,this.vc[1]/255,this.vc[2]/255);e.forEach(function(f){f.material.color=c;f.material.needsUpdate=!0})};return a});
define("gn","require li z ox cw iS".split(" "),function(a){var d=a("li"),h=a("z"),m=a("ox"),k=a("cw"),b=a("iS"),g=d.extend(b,function(e,c,f,l){b.call(this);this.lc=e;this.N=c;this.xc=f;this.j=l;this.CL=new h;this.k9(this);this.set("tag","Root");this.set("globalBlendingActive",0)});g.prototype.mf=function(e){return this.CL.get(e)};g.prototype.all=function(){for(var e=[],c=[this];0<c.length;){var f=c.pop();e.push(f);for(var l=f.Kd.length-1;0<=l;l--)c.push(f.Kd[l])}return e};g.prototype.update=function(e){var c=
this.all(),f=c.length,l;for(l=0;l<f;l++)c[l].TEa();for(l=0;l<f;l++)c[l].set("index",l);for(l=0;l<f;l++)c[l].Aa&&c[l].ea(e);for(l=0;l<f;l++)c[l].MEa();if(this.aT){for(l=0;l<f;l++)c[l].QEa();this.update(e)}};g.prototype.Ba=function(){this.Yf||this.trigger(new k(m.ta));b.prototype.Ba.call(this)};g.prototype.Kv=function(e){return Array.isArray(e)?e.map(this.Kv.bind(this)):this.CL.get(e)||g.JTa.create(e)};return g});
define("fQ","require li ku kK jT v".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("kK"),k=a("jT"),b=a("v");a=d.extend(k,function(e){k.call(this);this.v=e;this.hk=this.hk.bind(this);this.ik=this.ik.bind(this);this.fm()});a.prototype.Lb=function(){k.prototype.Lb.call(this);this.v.set("state",this.v.get("startState"));h.fa(this.v,["intensity","speed"],this.hk,!0);h.fa(this.v,["state"],this.ik,!0)};a.prototype.Qb=function(){h.ca(this.v,["intensity","speed"],this.hk);h.ca(this.v,["state"],this.ik);
this.v.set("state",m.T);k.prototype.Qb.call(this)};a.prototype.hk=function(){this.fm();this.PM()};a.prototype.ik=function(){this.kV=this.v.get("state");this.Ba()};a.prototype.fm=function(){k.prototype.fm.call(this);var e=this.v.get("intensity"),c=this.v.get("speed");if(b.mb()||b.browser()==b.Gz){var f=1E3;var l=350;var p=1800;var q=400;var n=.8;var r=1.2}else b.Nf()?(f=1500,l=500,p=2500,q=500,n=.8,r=1.2):(f=3E3,l=1E3,p=5E3,q=1E3,n=.6,r=1);this.cT=this.v.get("initialState");this.rW=this.v.get("startDuration");
this.xW=this.v.get("stopDuration");this.sJ=.75;this.aK=.5;this.Fr=4;this.Gr=-2;this.zp=3;this.LT=35;this.eB=7;this.ny=(n+e*(r-n))/g;this.rL=this.MB=.15+1.35*c;this.dC=l+e*(f-l);this.fB=q+e*(p-q)};a.prototype.TR=function(){return new THREE.Sprite(this.TA())};a.prototype.TA=function(){var e=new THREE.SpriteMaterial;e.map=this.hp();e.side=THREE.FrontSide;e.transparent=!0;e.depthTest=!1;e.needsUpdate=!0;return e};a.prototype.hp=function(){if(this.ub)return this.ub;var e=document.createElement("canvas");
e.width=e.height=g;var c=e.getContext("2d"),f=c.createRadialGradient(.5*e.width,.5*e.height,.2*e.height,.5*e.width,.5*e.height,.5*e.height);f.addColorStop(0,"rgba(255, 255, 255, 0.8)");f.addColorStop(1,"rgba(255, 255, 255, 0)");c.fillStyle=f;c.fillRect(0,0,e.width,e.height);this.ub=new THREE.Texture;this.ub.image=e;this.ub.needsUpdate=!0;return this.ub};var g=32;return a});
define("cR",["require","gR","v"],function(a){var d=a("gR"),h=a("v"),m=new THREE.Matrix4,k=Math.PI/180;return{Ut:function(){this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("scale",1);this.set("hfov",void 0);this.set("vfov",null);this.jh=new THREE.Matrix4;this.Bd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.nm=new THREE.Matrix4;this.Ti=new THREE.Matrix4;this.xl=new THREE.Matrix4;this.Cp=new THREE.Matrix4},
M2:function(){var b=h.de()==h.Di||h.browser()==h.Gz?new THREE.CSS3DRectangle:new THREE.CSS3DObject;b.matrixAutoUpdate=!1;return b},vv:function(b){if(this.M("contentWidth","contentHeight")){var g=this.get("cssObject");g.contentWidth=this.get("contentWidth");g.contentHeight=this.get("contentHeight");g.updateVertices()}g=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.jh.makeTranslation(.5*-this.get("composedTranslationX")*d.Df,.5*this.get("composedTranslationY")*
d.Df,.5*this.get("composedTranslationZ")*d.Df),g=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Bd.makeRotationY(-b.Sa*k),this.Bd.multiply(m.makeRotationX(-this.get("composedDeltaPitch")*k)),this.Bd.multiply(m.makeRotationY(this.get("composedDeltaYaw")*k)),this.Bd.multiply(m.makeRotationY(b.Sa*k)),g=!0);this.M("yaw","pitch")&&(this.Vn.makeRotationY(-this.get("yaw")*k),this.Vn.multiply(m.makeRotationX(this.get("pitch")*k)),g=!0);if(this.M("flipHorizontally","hfov","vfov",
"composedTranslationX","composedTranslationY","composedTranslationZ")){g=this.get("contentWidth");var e=this.get("contentHeight"),c=this.get("hfov"),f=this.get("vfov");this.nm.makeTranslation(0,0,-(g/(2*Math.tan(c*k*.5))));var l=(this.get("flipHorizontally")?-1:1)*this.get("scale"),p=this.get("scale");f&&(p*=g*Math.tan(f*k*.5)/(e*Math.tan(c*k*.5)));this.xl.makeScale(l,p,1);g=!0}this.M("rotationX","rotationY","rotationZ","roll")&&(this.Ti.makeRotationZ(this.get("roll")*k),this.Ti.multiply(m.makeRotationY(this.get("rotationY")*
k)),this.Ti.multiply(m.makeRotationX(this.get("rotationX")*k)),this.Ti.multiply(m.makeRotationZ(this.get("rotationZ")*k)),g=!0);if(g||this.M("meshGroup"))this.Cp.copy(this.jh),this.Cp.multiply(this.Bd),this.Cp.multiply(this.Vn),this.Cp.multiply(this.nm),this.Cp.multiply(this.Ti),this.Cp.multiply(this.xl),this.get("cssObject").matrix.copy(this.Cp),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.Sa);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.Xe);this.set("cameraHfov",
b.ze);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(g||this.M("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").projectVertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.M("geometryVisible")&&this.I8())}}});
define("ma",["require","ku","np"],function(a){var d=a("ku"),h=a("np");return{Bn:function(){this.set("playbackPositions",null);this.Od=this.Od.bind(this);this.lb=new h},Un:function(){d.fa(this.v,["playbackPositions","width","height"],this.Od,!0)},Wn:function(){d.ca(this.v,["playbackPositions","width","height"],this.Od)},Od:function(){this.set("playbackPositions",this.v.get("playbackPositions"));this.set("contentWidth",this.v.get("width"));this.set("contentHeight",this.v.get("height"))},Lf:function(){this.M("playbackPositions",
"currentTime")&&(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("yaw",this.lb.get("yaw")),this.set("pitch",this.lb.get("pitch")),this.set("roll",this.lb.get("roll")),this.set("rotationX",this.lb.get("rotationX")),this.set("rotationY",this.lb.get("rotationY")),this.set("hfov",this.lb.get("hfov")),this.set("vfov",this.lb.get("vfov")));this.M("framePlane","holePlane","imagePlane","yaw","pitch","roll","rotationX","rotationY","hfov","vfov","contentWidth","contentHeight")&&
this.Kb().forEach(function(m){m.set("yaw",this.get("yaw"));m.set("pitch",this.get("pitch"));m.set("roll",this.get("roll"));m.set("rotationX",this.get("rotationX"));m.set("rotationY",this.get("rotationY"));m.set("hfov",this.get("hfov"));m.set("vfov",this.get("vfov"));m.set("contentWidth",this.get("contentWidth"));m.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("mx","require li bS fH c cR nL cn gS kp ma".split(" "),function(a){var d=a("li"),h=a("bS"),m=a("fH"),k=a("c"),b=a("cR"),g=a("nL"),e=a("cn"),c=a("gS"),f=a("kp");a=a("ma");var l=d.extend(k,g,c,function(){k.call(this);this.set("tag","RectangleFrameHotspotImage")}),p=d.extend(m,b,e,function(){m.call(this);this.set("tag","RectangleFrameHotspotFrame")}),q=d.extend(k,g,f,function(){k.call(this);this.set("tag","RectangleFrameHotspotHole")});return d.extend(h,a,function(n){h.call(this,n);this.tB=l;
this.j4=p;this.p5=q})});
define("nO",["require","ku","np"],function(a){var d=a("ku"),h=a("np");return{Bn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Od=this.Od.bind(this);this.lb=new h},Un:function(){d.fa(this.v,["playbackPositions","distance","scaleMode"],this.Od,!0)},Wn:function(){d.ca(this.v,["playbackPositions","distance","scaleMode"],this.Od)},Od:function(){this.set("scaleMode",this.v.get("scaleMode"));this.set("distance",this.v.get("distance"));this.set("playbackPositions",
this.v.get("playbackPositions"))},Lf:function(){this.M("playbackPositions","currentTime")&&(this.lb.wz(this.get("playbackPositions")),this.lb.vz(this.get("currentTime")),this.set("yaw",this.lb.get("yaw")),this.set("pitch",this.lb.get("pitch")),this.set("roll",this.lb.get("roll")),this.set("rotationX",this.lb.get("rotationX")),this.set("rotationY",this.lb.get("rotationY")),this.set("hfov",this.lb.get("hfov")),this.set("vfov",this.lb.get("vfov")),this.set("alpha",this.lb.Ik()));this.M("video","image",
"yaw","pitch","roll","rotationX","rotationY","hfov","vfov","distance","scaleMode","image","video")&&this.Kb().forEach(function(m){m.set("yaw",this.get("yaw"));m.set("pitch",this.get("pitch"));m.set("roll",this.get("roll"));m.set("rotationX",this.get("rotationX"));m.set("rotationY",this.get("rotationY"));m.set("hfov",this.get("hfov"));m.set("vfov",this.get("vfov"));m.set("scaleMode",this.get("scaleMode"));m.set("distance",this.get("distance"))}.bind(this))}}});
define("oA","require li eV c nL gS gB nO".split(" "),function(a){var d=a("li"),h=a("eV"),m=a("c"),k=a("nL"),b=a("gS"),g=a("gB");a=a("nO");var e=d.extend(m,k,b,function(){m.call(this);this.set("tag","RectangleVideoHotspotImage")}),c=d.extend(m,k,g,function(){m.call(this);this.set("tag","RectangleVideoHotspotVideo")});return d.extend(h,a,function(f){h.call(this,f);this.tB=e;this.raa=c})});
define("dP","require nq iS hz iC jD mb eS ne fY X nG dH bC ju iY jZ kF gn fQ mx oA bY".split(" "),function(a){function d(z,C){Array.isArray(C)||(C=[C]);for(var G=0;G<C.length;G++)if(h.Ka(C[G],z))return!0;return!1}var h=a("nq"),m=a("iS"),k=a("hz"),b=a("iC"),g=a("jD"),e=a("mb"),c=a("eS"),f=a("ne"),l=a("fY"),p=a("X"),q=a("nG"),n=a("dH"),r=a("bC"),u=a("ju"),t=a("iY"),v=a("jZ"),w=a("kF"),x=a("gn"),y=a("fQ"),A=a("mx"),B=a("oA");a("bY");a={};x.JTa=a;a.create=function(z){if(z instanceof m)return z;if(d(z,
["HDRPanorama","LivePanorama","Panorama","VideoPanorama"]))return new p(z);if(d(z,["CubicPanoramaFrame","SphericPanoramaFrame"]))return d(z,"SphericPanoramaFrame")&&z.Ll()?new n(z):new q(z);if(d(z,["DustPanoramaOverlay"]))return new b(z);if(d(z,"HotspotPanoramaOverlay"))return new e(z);if(d(z,["HotspotPanoramaOverlayImage","HotspotPanoramaOverlayMap"]))return new c(z);if(d(z,"Menu"))return new l(z);if(d(z,["CeilingCapPanoramaOverlay","TripodCapPanoramaOverlay"]))return new k(z);if(d(z,["FlatHotspotPanoramaOverlayImage",
"FlatHotspotPanoramaOverlayMap"]))return new g(z);if(d(z,["LensFlarePanoramaOverlay"]))return new f(z);if(d(z,["RainPanoramaOverlay"]))return new w(z);if(d(z,["SnowPanoramaOverlay"]))return new y(z);if(d(z,["PopupPanoramaOverlay"]))return new r(z);if(d(z,["QuadFramePanoramaOverlay"]))return new u(z);if(d(z,["QuadHotspotPanoramaOverlayImage","QuadHotspotPanoramaOverlayMap"]))return new t(z);if(d(z,["QuadVideoPanoramaOverlay"]))return new v(z);if(d(z,["FramePanoramaOverlay"]))return new A(z);if(d(z,
["VideoPanoramaOverlay"]))return new B(z);throw"Invalid script object";};return a});
define("ci",["require"],function(){var a={Vua:function(d,h,m,k,b,g){return a.VTa(d,h/k*2-1,2*-(m/b)+1,g)},VTa:function(d,h,m,k){k||(k=new THREE.Ray);k.origin.setFromMatrixPosition(d.matrixWorld);k.direction.set(h,m,.5).unproject(d).sub(k.origin).normalize();return k},jUa:function(d,h){h||(h=new THREE.Ray);h.origin.set(0,0,0);h.direction.set(0,0,-1).applyQuaternion(d.quaternion);return h},iUa:function(d,h){h||(h=new THREE.Ray);h.origin.set(0,0,0).applyMatrix4(d);h.direction.set(0,0,-1).applyMatrix4(d).sub(h.origin).normalize();
return h}};return a});
define("mo","require li em jp lE fa bv".split(" "),function(a){var d=a("li"),h=a("em"),m=a("jp"),k=a("lE"),b=a("fa"),g=a("bv");a=d.extend(m,function(){m.call(this);this.O=null;this.set("tag","Reticle");this.set("changing",!1);this.set("over",!1);this.set("overProgress",void 0);this.set("visible",!0);this.set("attachToCamera",!0);this.Tn=null});a.prototype.ea=function(e){this.mq(e);this.ig(e);this.Lf(e);m.prototype.ea.call(this,e)};a.prototype.mq=function(e){e.Bb&&!this.Tn&&g.getType()==g.mA.Ok&&this.Tg([this.Tn=
new m])};a.prototype.ig=function(e){this.O||(this.set("textureSource",new b),this.O=new k(this.Aa.N),this.get("textureSource").Rl(this.O.lg()),this.set("contentWidth",this.O.rd()),this.set("contentHeight",this.O.ce()),this.set("hfov",6),this.set("distance",this.Aa.N.get("vrPointerDistance")));this.M("changing")&&this.O.BZ(this.get("changing"));this.M("over","overProgress")&&this.O.lda(this.get("over"),this.get("overProgress"));this.O.update(e.ye)&&this.get("textureSource").update();this.get("changing")&&
this.Ba()};a.prototype.Lf=function(){this.Th()};a.prototype.Dl=function(){this.M("composedAlpha","meshGroup","visible")&&this.Jw()};a.prototype.Jw=function(){h.nf(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a});
define("bk","require jquery.mod ed ox v oT ho".split(" "),function(a){function d(c){this.fb=c;this.Ara=this.fb.Jn;this.fb.bind(k.hc,this.ef,this);this.ma=h("<span></span>");this.ma.css({"pointer-events":"none",position:"absolute","z-index":b.SBa,"text-align":"center",display:"none"});this.fe=h("<span></span>");this.fe.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.ma.append(this.fe);this.IW=h("<span></span>");this.IW.css({position:"relative"});this.ma.append(this.IW);this.Vi=this.fT=
this.Eg=null;this.Qu=this.Pu=void 0;this.qu=!1;this.Bra=void 0}var h=a("jquery.mod"),m=a("ed"),k=a("ox");a("v");var b=a("oT"),g=a("ho"),e={toolTip:void 0,toolTipBackgroundColor:"#F6F6F6",toolTipBackgroundOpacity:1,toolTipBorderColor:"#767676",toolTipBorderRadius:3,toolTipBorderSize:1,toolTipCentered:!1,toolTipCenteredOffsetY:void 0,toolTipFontFamily:"Segoe UI",toolTipFontSize:12,toolTipFontColor:"#606060",toolTipFontWeight:"normal",toolTipFontStyle:"normal",toolTipHorizontalAlign:"center",toolTipOpacity:1,
toolTipPaddingBottom:2,toolTipPaddingLeft:4,toolTipPaddingTop:2,toolTipPaddingRight:4,toolTipShadowBlurRadius:3,toolTipShadowColor:"#333333",toolTipShadowHorizontalLength:3,toolTipShadowOpacity:1,toolTipShadowSpread:0,toolTipShadowVerticalLength:3,toolTipTextShadowBlurRadius:3,toolTipTextShadowColor:"#000000",toolTipTextShadowHorizontalLength:0,toolTipTextShadowOpacity:0,toolTipTextShadowVerticalLength:0,toolTipDisplayTime:600};d.prototype.zc=function(){return this.ma};d.prototype.GD=function(c){if(!this.Ara){for(;c&&
c.get("toolTipDisabled");)c=c.getParent();this.hide();this.Eg&&m(m(e).keys()).each(function(f){this.Eg.unbind(k.G(f),this.k7,this)},this);if(this.Eg=c)m(m(e).keys()).each(function(f){this.Eg.bind(k.G(f),this.k7,this)},this),this.k7()}};d.prototype.fZa=function(c,f){this.Eg=c;this.Bra=f;this.nT()||(this.qu?this.Lqa():this.wN())};d.prototype.Jqa=function(c,f,l){this.qu&&this.Eg.trigger(k.Dfa);this.ZQa(c);this.IW.html(this.$Ia(f));this.Kha=l;this.Lf();this.Eg.trigger(k.RBa);this.qu=!0;this.ma.css("display",
"inline");(l||c.get("checkToolTipOcclusion"))&&this.rPa(c)};d.prototype.Lf=function(){var c=this.qp(),f=c.x;c=c.y;var l=this.ma.outerWidth(),p=this.ma.outerHeight();if(this.Kha){f-=.5*this.ma.width();var q=this.Eg.get("toolTipCenteredOffsetY");c=void 0===q?c-.5*this.ma.height():0<q?c+q:c-(this.ma.height()-q)}f=Math.max(Math.min(f,this.fb.Wa()-l-3),3);c=Math.max(Math.min(c,this.fb.xb()-p-3),3);this.ma.css("left",f+"px");this.ma.css("top",c+"px")};d.prototype.qp=function(){var c={};if(this.Kha){var f=
this.Eg.zc().offset();c.x=f.left+.5*this.Eg.Wa();c.y=f.top+.5*this.Eg.xb()}else c.x=this.Pu,c.y=this.Qu+25;return c};d.prototype.hide=function(){this.OA();this.cra();this.qu&&(this.ma.css("display","none"),this.Eg.trigger(k.Dfa),this.qu=!1)};d.prototype.k7=function(){this.Eg.get("toolTip")?this.nT()||(this.qu?this.Kqa():this.wN()):this.nT()?this.OA():this.qu&&this.hide()};d.prototype.ef=function(c){this.Pu=c.pageX;this.Qu=c.pageY;this.qu&&this.Eg.get("toolTipFollowMouse")&&this.Lf()};d.prototype.Kqa=
function(){this.Jqa(this.Eg,this.Eg.get("toolTip"),this.Eg.get("toolTipCentered"))};d.prototype.Lqa=function(){this.Jqa(this.Eg,this.Bra,!0)};d.prototype.nT=function(){return null!=this.Vi};d.prototype.wN=function(){var c=this.Eg&&this.Eg.get("toolTipDisplayTime");if(void 0===c||null===c)c=e.toolTipDisplayTime;this.OA();this.Vi=setTimeout(function(){this.Vi=null;this.Ara?this.Lqa():this.Kqa()}.bind(this),c)};d.prototype.OA=function(){this.nT()&&(clearTimeout(this.Vi),this.Vi=null)};d.prototype.rPa=
function(c){var f=this.qp();this.cra();var l=function(){this.ma.css("display",this.qu&&!this.cKa(c,f.x,f.y)?"inline":"none")}.bind(this);this.fT=setInterval(l,300);l()};d.prototype.cra=function(){this.fT&&(clearInterval(this.fT),this.fT=null)};d.prototype.ZQa=function(c){function f(n){var r=c.get(n);return void 0===r?e[n]:r}var l={};l.opacity=f("toolTipOpacity");l.filter=l["-ms-filter"]="alpha(opacity="+Math.round(100*f("toolTipOpacity"))+")";l.paddingTop=f("toolTipPaddingTop")+"px";l.paddingBottom=
f("toolTipPaddingBottom")+"px";l.paddingLeft=f("toolTipPaddingLeft")+"px";l.paddingRight=f("toolTipPaddingRight")+"px";l["text-align"]=f("toolTipHorizontalAlign");this.ma.css(l);l={};l.opacity=f("toolTipBackgroundOpacity");l.filter=l["-ms-filter"]="alpha(opacity="+Math.round(100*f("toolTipBackgroundOpacity"))+")";l["background-color"]=f("toolTipBackgroundColor");l.border=[f("toolTipBorderSize")+"px","solid",f("toolTipBorderColor")].join(" ");var p=f("toolTipShadowColor");l["-moz-box-shadow"]=l["-webkit-box-shadow"]=
l["box-shadow"]=[f("toolTipShadowHorizontalLength")+"px",f("toolTipShadowVerticalLength")+"px",f("toolTipShadowBlurRadius")+"px",f("toolTipShadowSpread")+"px","rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+f("toolTipShadowOpacity")+")"].join(" ");l["-moz-border-radius"]=l["-webkit-border-radius"]=l.borderRadius=f("toolTipBorderRadius")+"px";this.fe.css(l);l={};l["font-family"]=g.Ev(f("toolTipFontFamily"));p=f("toolTipFontSize");m(p).isNumber()?
p+="px":m(p).isString()||(p="");l["font-size"]=p;l["font-weight"]=f("toolTipFontWeight");l["font-style"]=f("toolTipFontStyle");l.color=f("toolTipFontColor");p=f("toolTipTextShadowColor");l["-moz-text-shadow"]=l["-webkit-text-shadow"]=l["text-shadow"]=[f("toolTipTextShadowHorizontalLength")+"px",f("toolTipTextShadowVerticalLength")+"px",f("toolTipTextShadowBlurRadius")+"px","rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+f("toolTipTextShadowOpacity")+
")"].join(" ");var q=0==f("toolTipTextShadowVerticalLength")&&0==f("toolTipTextShadowHorizontalLength")?135:45*Math.round(4*Math.atan2("toolTipTextShadowHorizontalLength",-f("toolTipTextShadowVerticalLength"))/Math.PI);l.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+function(n){for(n=n.toString(16);2>n.length;)n="0"+n;return n}(255*f("toolTipTextShadowOpacity"))+p.substr(1,6)+",direction="+q+")";this.IW.css(l)};d.prototype.cKa=function(c,f,l){f=document.elementsFromPoint(f,l);c=c.zc()[0];
l=this.fb.zc()[0];for(var p=0;p<f.length;p++){var q=f[p];if(c==q||c.contains(q))break;if(!this.ma[0].contains(q)&&l.contains(q)){var n=window.getComputedStyle(q);if("none"!=n.display&&"hidden"!=n.visibility&&.29<("CANVAS"==q.tagName?1:this.ZEa(n.backgroundColor))*n.opacity)return!0}}return!1};d.prototype.ZEa=function(c){if(!c)return 0;c=c.toLowerCase();var f=c.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(\d*\.?\d*)\s*\)/);return f?parseFloat(f[1]):c.match(/transparent/)?0:1};d.prototype.$Ia=function(c){c=
(c||"").split("\n");for(var f=0;f<c.length;f++)c[f]=this.UGa(c[f]);return c.map(function(l){return"<div>"+l+"</div>"})};d.prototype.UGa=function(c){d.wga.nodeValue=c;return d.sga.innerHTML};d.vAa=e;d.sga=document.createElement("pre");d.wga=document.createTextNode("");d.sga.appendChild(d.wga);return d});
define("cN",["require","bk","bQ","ho"],function(a){function d(b,g){this.N=b;this.Cl=g;this.iPa()}var h=a("bk"),m=a("bQ"),k=a("ho");d.prototype.lg=function(){return this.O};d.prototype.rd=function(){return this.O.width};d.prototype.ce=function(){return this.O.height};d.prototype.iPa=function(){this.O=document.createElement("canvas");var b=this.Cl.split("\n"),g=this.Jg("toolTipBackgroundColor"),e=this.Jg("toolTipBackgroundOpacity"),c=this.Jg("toolTipBorderRadius"),f=this.Jg("toolTipBorderColor"),l=
this.Jg("toolTipBorderSize");this.Jg("toolTipDisplayTime");var p=this.Jg("toolTipFontFamily"),q=this.Jg("toolTipFontSize"),n=this.Jg("toolTipFontColor"),r=this.Jg("toolTipFontWeight"),u=this.Jg("toolTipFontStyle"),t=this.Jg("toolTipPaddingBottom"),v=this.Jg("toolTipPaddingLeft"),w=this.Jg("toolTipPaddingTop"),x=this.Jg("toolTipPaddingRight"),y=this.Jg("toolTipOpacity"),A=this.Jg("toolTipTextShadowBlurRadius"),B=this.Jg("toolTipTextShadowColor"),z=this.Jg("toolTipTextShadowHorizontalLength"),C=this.Jg("toolTipTextShadowVerticalLength"),
G=this.Jg("toolTipTextShadowOpacity"),D=new m.L0;D.fontFamily=p;D.fontSize=q+(isNaN(q)?"":"px");D.fontWeight=r;D.fontStyle=u;var E=b.map(function(I){return m(I,D,Q)}),H=0,R=0;E.forEach(function(I){H=Math.max(I.width,H);R+=I.height});var S=1<b.length?R/b.length*.25:0;R+=(b.length-1)*S;x=l+v+H+x+l;t=l+w+R+t+l;this.O=document.createElement("canvas");var Q=this.O.getContext("2d");this.O.width=x;this.O.height=t;Q.globalAlpha=y;Q.strokeStyle=f;Q.fillStyle="transparent"===g?"rgba(0,0,0,0)":this.Lga(e,g);
Q.lineWidth=l;Q.beginPath();Q.moveTo(c,0);Q.lineTo(x-c,0);Q.quadraticCurveTo(x,0,x,c);Q.lineTo(x,t-c);Q.quadraticCurveTo(x,t,x-c,t);Q.lineTo(c,t);Q.quadraticCurveTo(0,t,0,t-c);Q.lineTo(0,c);Q.quadraticCurveTo(0,0,c,0);Q.closePath();Q.fill();0<l&&Q.stroke();Q.fillStyle=n;Q.font=r+" "+("normal"!=u?u+" ":"")+q+(isNaN(q)?"":"px")+" "+k.Ev(p);Q.shadowColor=this.Lga(G,B);Q.shadowOffsetX=z;Q.shadowOffsetY=C;Q.shadowBlur=A;Q.textBaseline="middle";Q.textAlign="center";var M=l+v+.5*H,W=l+w;b.forEach(function(I,
P){Q.fillText(I,Math.round(M),Math.round(W+.5*E[P].height));W+=E[P].height+S})};d.prototype.Jg=function(b){var g=this.N.get(b);return void 0===g?h.vAa[b]:g};d.prototype.Lga=function(b,g){return"rgba("+parseInt("0x"+g.substr(1,2))+", "+parseInt("0x"+g.substr(3,2))+", "+parseInt("0x"+g.substr(5,2))+", "+b+")"};return d});
define("or","require li gR jp cN fa bv".split(" "),function(a){var d=a("li"),h=a("gR"),m=a("jp"),k=a("cN"),b=a("fa"),g=a("bv");a=d.extend(m,function(){m.call(this);this.O=null;this.set("tag","ToolTip");this.set("text","");this.qo=new THREE.Vector3(0,0,-h.Hv());this.Tn=null});a.prototype.ea=function(l){this.mq(l);this.ig(l);m.prototype.ea.call(this,l)};a.prototype.mq=function(l){l.Bb&&!this.Tn&&g.getType()==g.mA.Ok&&this.Tg([this.Tn=new m])};a.prototype.ig=function(l){if(!this.O||this.M("text")){this.get("textureSource")||
this.set("textureSource",new b);this.O=new k(this.Aa.N,this.get("text"));this.get("textureSource").Rl(this.O.lg());this.set("contentWidth",this.O.rd());this.set("contentHeight",this.O.ce());this.set("hfov",2*Math.atan2(.5*this.O.rd(),600)*e);this.set("distance",this.Aa.N.get("vrPointerDistance"));var p=this.get("matrix");p?(this.qo.applyMatrix4(p),0==this.qo.x&&0==this.qo.z||this.set("yaw",e*Math.atan2(this.qo.x,-this.qo.z)),0==this.qo.y&&0==this.qo.z||this.set("pitch",e*Math.atan2(this.qo.y,Math.sqrt(this.qo.z*
this.qo.z+this.qo.x*this.qo.x))+c)):(this.set("yaw",l.Sa),this.set("pitch",l.pitch+f))}};var e=180/Math.PI,c=2,f=5;return a});
define("nK",["require","ci","V"],function(a){function d(k,b){this.xe=k;this.j=b;this.sK=null}var h=a("ci"),m=a("V");d.prototype.update=function(){};d.prototype.clear=function(){};d.prototype.getType=function(){return this.xe};d.prototype.bka=function(){var k=this.A.Bg&&m.iD(this.A.Bg);return this.sK=k?h.jUa(k,this.sK):null};d.MQ="gaze";d.Jfa="gaze_click";d.gJ="laser";d.hJ="mouse";d.iJ="touch";return d});
define("ff",["require","nK"],function(a){function d(k,b,g,e){this.Qd=k;this.Vp=b;this.sK=g;this.bf=e;this.Gha=[];this.ql=[];this.eX=[];this.m5=[];this.Mb="";this.Hy=Number.MAX_VALUE}function h(k){return void 0===k?[]:Array.isArray(k)?k:[k]}var m=a("nK");d.prototype.Ps=function(){return this.Qd};d.prototype.Ms=function(){return this.Qd.getType()==m.hJ};d.prototype.Xva=function(){return this.Qd.getType()==m.gJ};d.prototype.wD=function(){return this.Qd.getType()==m.iJ};d.prototype.xVa=function(){return this.Qd.getType()==
m.MQ};d.prototype.Ty=function(k){this.eX=this.eX.concat(h(k))};d.prototype.Fo=function(){return 0<this.eX.length};d.prototype.FSa=function(k){this.m5=this.m5.concat(h(k))};d.prototype.wTa=function(){return 0==this.eX.length&&0<this.m5.length};d.prototype.Sy=function(k){this.ql=this.ql.concat(h(k))};d.prototype.xWa=function(){return 0<this.ql.length};d.prototype.Ek=function(k){k&&(void 0===this.cS||this.cS>k)&&(this.cS=k)};d.prototype.zX=function(k,b){if(""==this.Mb||this.Hy>b)this.Mb=k,this.Hy=b};
d.prototype.zz=function(){return this.Mb};d.prototype.Jq=function(k){this.Gha=h(k)};d.prototype.Fk=function(){return 0<this.Gha.length};return d});
define("cG","require li ox ci V mo or ff nK bv".split(" "),function(a){var d=a("li"),h=a("ox");a("ci");a("V");var m=a("mo"),k=a("or"),b=a("ff"),g=a("nK"),e=a("bv");a=d.extend(g,function(c,f){g.call(this,g.MQ,c);this.xj=this.A=null;this.ql=[];this.Xc=this.Pt=!1;this.GK=null;this.Fka=void 0;this.XM=null;this.poa=void 0;this.Sd=new m;this.j.add(this.Sd);this.mo="";this.Mb=new k;this.Mb.set("alpha",0);this.j.add(this.Mb);this.X8=f?this.j.N.get("vrPointerSelectionTime"):void 0;this.Gka=this.j.N.get("vrGazePointerHideTime");
this.MW=this.MW.bind(this);document.body.addEventListener("touchend",this.MW);e.bind(h.sn,this.Xsa,this,!0);this.D$();this.aaa()});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.MW);e.unbind(h.sn,this.Xsa,this,!0);this.M9();this.j.remove(this.Sd);this.Sd=null;this.j.remove(this.Mb);this.Mb=null};a.prototype.update=function(c){this.A=c;this.nOa(c.Waa);this.Bk()};a.prototype.MW=function(){this.IJ()};a.prototype.Xsa=function(){this.IJ()};a.prototype.IJ=function(){var c=
this.Yj(h.Oj);this.wk(c);this.CC(!1);this.o$()};a.prototype.o$=function(){this.j.Ib().trigger(h.pE,{ZP:h.Oj})};a.prototype.Bk=function(){var c=this.Yj(h.$l);this.wk(c);this.gv(c.zz());a:{var f=this.ql;for(var l=c.ql,p=0;p<f.length;p++)if(0>l.indexOf(f[p])){f=!1;break a}for(p=0;p<l.length;p++)if(0>f.indexOf(l[p])){f=!1;break a}f=!0}f||(this.CC(!1),this.ql=c.ql,this.ql.length&&this.CC(!0,c.Fo()))};a.prototype.nOa=function(c){this.Pt!=c&&(this.Pt=c,this.Sd.set("changing",this.Pt),this.D$(),this.aaa())};
a.prototype.CC=function(c,f){this.Xc!=c&&(this.Xc=c,this.Sd.set("over",this.Xc&&f),this.D$(),this.aaa())};a.prototype.gv=function(c){this.mo!=c&&(this.mo=c,this.Mb.set("text",this.mo),this.Mb.set("alpha",this.mo?1:0),this.mo&&this.Mb.Th())};a.prototype.wk=function(c){this.j.oY().sort(function(f,l){return l.get("index")-f.get("index")}).forEach(function(f){f.hn(c)}.bind(this))};a.prototype.Yj=function(c){this.xj=this.bka();return new b(this,this.xj?[this.xj]:[],this.xj,c)};a.prototype.aaa=function(){!this.Xc||
this.Pt||void 0===this.X8?this.M9():this.Xc&&!this.XM&&this.KPa()};a.prototype.D$=function(){this.Xc||this.Pt||void 0===this.Gka?(this.Sd.set("alpha",1),this.hra()):1!=this.Sd.get("alpha")||this.GK||this.xPa()};a.prototype.M9=function(){this.XM&&(clearInterval(this.XM),this.XM=null)};a.prototype.KPa=function(){this.Sd.set("overProgress",0);this.poa=(new Date).getTime();this.XM=setInterval(this.SLa.bind(this),100)};a.prototype.SLa=function(){var c=(new Date).getTime()-this.poa;c>=this.X8?(this.M9(),
this.IJ()):this.Sd.set("overProgress",c/this.X8)};a.prototype.hra=function(){this.GK&&(clearInterval(this.GK),this.GK=null)};a.prototype.xPa=function(){this.Fka=(new Date).getTime();this.GK=setInterval(this.lLa.bind(this),10)};a.prototype.lLa=function(){var c=this.Gka-((new Date).getTime()-this.Fka);this.Sd.set("alpha",Math.max(.01,Math.min(1,c/500)));0>=c&&this.hra()};return a});
define("ky","require li gR cr em fa h ns".split(" "),function(a){var d=a("li"),h=a("gR"),m=a("cr"),k=a("em"),b=a("fa"),g=a("h"),e=a("ns"),c=new THREE.Matrix4,f=Math.PI/180;a=d.extend(g,function(){g.call(this);this.set("tag","Laser");this.set("matrix",null);this.set("over",!1);this.set("pressed",!1);this.set("intersectionDistance",0);this.set("visible",!1);this.set("attachToCamera",!1);this.set("dotVisible",!0);this.q8=this.JM=this.Vr=this.p8=null;new THREE.Matrix4;this.r8=new THREE.Matrix4;this.r8.multiply(c.makeRotationX(-90*
f));this.r8.multiply(c.makeTranslation(0,.5*l,0));this.hS=this.gS=this.fS=this.au=this.C3=null;new THREE.Matrix4;this.D3=new THREE.Matrix4;this.QJ=this.eS=this.B3=null;new THREE.Matrix4;this.SA=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.SA[0].multiply(c.makeRotationX(-90*f));this.SA[0].multiply(c.makeTranslation(0,.5*-q,0));this.SA[1].multiply(c.makeRotationX(-90*f));this.SA[1].multiply(c.makeTranslation(0,.5*-q,.5*-p));this.SA[2].multiply(c.makeRotationX(-90*f));this.SA[2].multiply(c.makeTranslation(0,
.5*-q,-p))});a.prototype.ea=function(n){g.prototype.ea.call(this,n);this.caa();this.Py()};a.prototype.caa=function(){this.M("visible")&&(this.get("meshGroup").visible=this.get("visible"));this.M("dotVisible")&&k.nf([this.gS,this.eS],this.get("dotVisible")?1:0)};a.prototype.Py=function(){this.M("over","pressed")&&(this.esa(),this.wsa())};var l=.35,p=.012,q=.1;a.prototype.An=function(){this.eS=k.create(new THREE.SphereGeometry(2.3,32,32),this.wFa());this.gS=k.create(new THREE.SphereGeometry(2,32,32),
this.xFa());this.q8=k.create(new THREE.CylinderGeometry(.003,.003,l,8),this.XFa());this.SE=[];this.SE.push(k.create(new THREE.CylinderGeometry(p,p,q,32),this.O2()));this.SE.push(k.create(new THREE.BoxGeometry(2*p,q,p),this.O2()));this.SE.push(k.create(new THREE.CylinderGeometry(p,p,q,32),this.O2()));return[this.eS,this.gS,this.q8].concat(this.SE)};a.prototype.wFa=function(){if(null==this.B3){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),u=new b;u.Rl(n);this.B3=
m.Zy(u.texture(),new m.qn);r.fillStyle="rgba(0, 0, 0, 0.75)";r.clearRect(0,0,n.width,n.height);r.fillRect(0,0,n.width,n.height)}return this.B3};a.prototype.xFa=function(){null==this.C3&&(this.au=document.createElement("canvas"),this.au.width=this.au.height=256,this.fS=this.au.getContext("2d"),this.hS=new b,this.hS.Rl(this.au),this.C3=m.Zy(this.hS.texture(),new m.qn),this.esa());return this.C3};a.prototype.esa=function(){this.fS.fillStyle=this.v4();this.fS.clearRect(0,0,this.au.width,this.au.height);
this.fS.fillRect(0,0,this.au.width,this.au.height);this.hS.update()};a.prototype.XFa=function(){null==this.p8&&(this.Vr=document.createElement("canvas"),this.Vr.width=this.Vr.height=256,this.JM=this.Vr.getContext("2d"),this.s8=new b,this.s8.Rl(this.Vr),this.p8=m.Zy(this.s8.texture(),new m.qn),this.wsa());return[this.p8]};a.prototype.wsa=function(){var n=e.vP(this.v4()).join(", "),r=this.JM.createLinearGradient(0,0,0,this.Vr.height);r.addColorStop(0,"rgba("+n+", 0)");r.addColorStop(.5,"rgba("+n+", 1)");
r.addColorStop(1,"rgba("+n+", 1)");this.JM.fillStyle=r;this.JM.clearRect(0,0,this.Vr.width,this.Vr.height);this.JM.fillRect(0,0,this.Vr.width,this.Vr.height);this.s8.update()};a.prototype.O2=function(){if(null==this.QJ){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),u=new b;u.Rl(n);this.QJ=m.Zy(u.texture(),new m.qn);r.fillStyle="rgba(64, 64, 64, 1)";r.clearRect(0,0,n.width,n.height);r.fillRect(0,0,n.width,n.height)}return[this.QJ,this.QJ,this.QJ]};a.prototype.nq=
function(){var n=!1,r=!1,u=!1;if(this.M("intersectionDistance")){r=(r=this.get("intersectionDistance"))?h.lD(r):h.Hv();var t=r/h.Hv();this.D3.makeTranslation(0,0,-r);this.D3.multiply(c.makeScale(t,t,t));r=!0}this.M("matrix")&&(u=r=n=!0);r&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.D3),k.wq(this.gS,c),k.wq(this.eS,c));n&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.r8),k.wq(this.q8,c));if(u)for(r=this.get("matrix"),n=0;n<this.SE.length;n++)c.identity(),
r&&c.multiply(r),c.multiply(this.SA[n]),k.wq(this.SE[n],c)};a.prototype.RC=function(){if(this.M("index","meshGroup")){var n=this.get("meshGroup");n&&n.children.forEach(function(r){k.OZ(r,this.get("index"))}.bind(this))}};a.prototype.v4=function(){return this.get("pressed")?this.Aa.N.get("vrPointerSelectionColor"):this.get("over")?this.Aa.N.get("vrPointerOverColor"):this.Aa.N.get("vrPointerColor")};return a});
define("ei","require li ox ci ky mo or ff nK he bv nm".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("ci"),k=a("ky"),b=a("mo"),g=a("or"),e=a("ff"),c=a("nK"),f=a("he"),l=a("bv"),p=a("nm"),q=new THREE.Matrix4,n=Math.PI/180;a=d.extend(c,function(r){c.call(this,c.gJ,r);this.xj=this.A=null;this.ql=[];this.nj=new k;this.j.add(this.nj);this.Sd=new b;this.j.add(this.Sd);this.qk=!1;this.mo="";this.Mb=null;this.Yk=new THREE.Matrix4});a.prototype.clear=function(){this.j.remove(this.nj);this.j.remove(this.Sd);
this.Sd=this.nj=null;this.Mb&&this.j.remove(this.Mb);this.Mb=null};a.prototype.update=function(r){this.A=r;this.Sd.set("changing",r.Waa);this.Sd.set("visible",r.Waa);var u=f.PY();if(u&&!u.zVa()){var t=u.quaternion(),v=u.position(),w=l.Fs().position,x=p.Sa(l.Fs().orientation);this.Yk.identity();v?(this.Yk.multiply(q.makeRotationY((x-r.Sa)*n)),this.Yk.multiply(q.makeTranslation(-w.x,-w.y,-w.z)),this.Yk.multiply(q.makeTranslation(v.x,v.y,v.z)),this.Yk.multiply(q.makeRotationFromQuaternion(t))):(this.Yk.multiply(q.makeRotationY(-r.Sa*
n)),u.W4==f.Oa?this.Yk.multiply(q.makeTranslation(-.2,-.4,0)):this.Yk.multiply(q.makeTranslation(.2,-.4,0)),this.Yk.multiply(q.makeRotationY(x*n)),this.Yk.multiply(q.makeRotationFromQuaternion(t)),this.Yk.multiply(q.makeTranslation(0,0,-.3)));this.nj.set("matrix",null);this.nj.set("matrix",this.Yk);this.nj.set("pressed",u.pressed());this.nj.set("visible",!0)}else this.nj.set("visible",!1);this.Bk();r=!!u&&u.pressed();this.qk!=r&&(this.qk&&this.IJ(),this.qk=r);this.nj.Th();this.Sd.Th()};a.prototype.IJ=
function(){var r=this.Yj(h.Oj);this.wk(r);this.nj.set("over",!0);this.nj.set("dotVisible",!0);this.nj.set("intersectionDistance",r.cS);f.PY();this.o$()};a.prototype.o$=function(){this.j.Ib().trigger(h.pE,{ZP:h.Oj})};a.prototype.Bk=function(){var r=this.Yj(h.$l);this.wk(r);this.gv(r.zz());a:{var u=this.ql;for(var t=r.ql,v=0;v<u.length;v++)if(0>t.indexOf(u[v])){u=!1;break a}for(v=0;v<t.length;v++)if(0>u.indexOf(t[v])){u=!1;break a}u=!0}u||!r.Fo()&&!this.nj.get("over")||(this.ql=r.ql,f.PY());this.nj.set("over",
r.Fo());this.nj.set("intersectionDistance",r.cS);this.nj.set("dotVisible",!r.wTa())};a.prototype.gv=function(r){this.mo!=r&&(this.mo&&this.j.remove(this.Mb),this.mo=r)&&(this.Mb=new g(this.mo),this.Mb.set("text",this.mo),this.Mb.set("matrix",null),this.Mb.set("matrix",this.Yk),this.j.add(this.Mb))};a.prototype.wk=function(r){this.j.oY().sort(function(u,t){return t.get("index")-u.get("index")}).forEach(function(u){u.hn(r)}.bind(this))};a.prototype.Yj=function(r){this.xj=m.iUa(this.Yk,this.xj);return new e(this,
[this.xj],this.bka(),r)};return a});
define("iU","require li ox ci V ff nK bc".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("ci"),k=a("V"),b=a("ff"),g=a("nK"),e=a("bc");a=d.extend(g,function(c){g.call(this,g.hJ,c);this.j.N.bind(h.hc,this.qj,this,!0);this.j.N.bind(h.Ro,this.Kla,this,!0);this.j.N.bind(h.ac,this.CNa,this,!0);this.j.N.bind(h.vb,this.Nd,this,!0);this.j.N.bind(h.Zb,this.rj,this,!0);this.Qu=this.Pu=this.Vu=this.Nm=this.Wc=this.Vc=void 0;this.xj=this.A=null;this.qs=!1;this.Mb=""});a.prototype.clear=function(){this.j.N.unbind(h.hc,
this.qj,this,!0);this.j.N.unbind(h.Ro,this.Kla,this,!0);this.j.N.unbind(h.vb,this.Nd,this,!0);this.j.N.unbind(h.Zb,this.rj,this,!0);this.qs&&(this.j.sI(e.Ze),this.qs=!1);this.gv("")};a.prototype.update=function(c){this.A=c;this.O$()};a.prototype.Uua=function(){return{x:this.Vc,y:this.Wc,pageX:this.Pu,pageY:this.Qu}};a.prototype.qj=function(c){this.Vc=c.x;this.Wc=c.y;this.Pu=c.pageX;this.Qu=c.pageY;this.$W()};a.prototype.Kla=function(){this.Qu=this.Pu=this.Wc=this.Vc=void 0;this.$W()};a.prototype.CNa=
function(){this.Qu=this.Pu=this.Wc=this.Vc=void 0;this.$W()};a.prototype.Nd=function(c){this.Vc=this.Nm=c.x;this.Wc=this.Vu=c.y;this.Pu=c.pageX;this.Qu=c.pageY;this.wk(this.Yj(h.B0))};a.prototype.rj=function(c){this.Vc=c.x;this.Wc=c.y;this.Pu=c.pageX;this.Qu=c.pageY;this.wk(this.Yj(h.C0));this.R5(this.Nm,this.Vu,this.Vc,this.Wc)&&this.wk(this.Yj(h.Oj))};a.prototype.O$=function(){this.oq||(this.oq=setTimeout(function(){this.oq=null;this.Bk()}.bind(this),300))};a.prototype.$W=function(){this.oq&&(clearTimeout(this.oq),
this.oq=null);this.Bk()};a.prototype.Bk=function(){var c=this.Yj(h.$l);this.wk(c);this.gv(c.zz());this.qs!=c.Fo()&&(this.qs&&this.j.sI(e.Ze),(this.qs=c.Fo())&&this.j.vZ(e.Ze))};a.prototype.gv=function(c){this.Mb!=c&&(this.Mb=c,this.j.N.set("toolTip",this.Mb))};a.prototype.wk=function(c){this.j.oY().sort(function(f,l){return l.get("index")-f.get("index")}).forEach(function(f){f.hn(c)}.bind(this))};a.prototype.Yj=function(c){return new b(this,this.MS(),null,c)};a.prototype.MS=function(){if(void 0!==
this.Vc&&void 0!==this.Wc&&this.A.Bg){var c=k.iD(this.A.Bg);if(c)return this.xj=m.Vua(c,this.Vc,this.Wc,this.A.width,this.A.height,this.xj),[this.xj]}return[]};a.prototype.R5=function(c,f,l,p){c=l-c;f=p-f;return 5>=Math.sqrt(c*c+f*f)};return a});
define("gt","require li ox ci V ff nK".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("ci"),k=a("V"),b=a("ff"),g=a("nK");a=d.extend(g,function(c){g.call(this,g.iJ,c);this.N=this.j.N;this.N.bind(h.vb,this.Nd,this,!0);this.N.bind(h.Zb,this.rj,this,!0);this.N.bind(h.G("touchOverAreaScale"),this.r7,this,!0);this.Vu=this.Nm=this.Wc=this.Vc=void 0;this.Jha=this.A=null;this.r7();this.EMa=Array(e.length);this.Mb="";this.Bk=this.Bk.bind(this)});a.prototype.clear=function(){this.N.unbind(h.vb,this.Nd,this,
!0);this.N.unbind(h.Zb,this.rj,this,!0);this.N.unbind(h.G("touchOverAreaScale"),this.r7,this,!0);this.gv("")};a.prototype.update=function(c){this.A=c;this.O$()};a.prototype.Nd=function(c){this.Vc=this.Nm=c.x;this.Wc=this.Vu=c.y;this.wk(this.Yj(h.B0))};a.prototype.rj=function(c){this.Vc=c.x;this.Wc=c.y;this.wk(this.Yj(h.C0));this.R5(this.Nm,this.Vu,this.Vc,this.Wc)&&this.wk(this.Yj(h.Oj))};a.prototype.O$=function(){this.oq||(this.oq=setTimeout(this.Bk,300))};a.prototype.$W=function(){this.oq&&(clearTimeout(this.oq),
this.oq=null);this.Bk()};a.prototype.Bk=function(){this.oq=null;var c=this.Yj(h.$l);this.wk(c);this.gv(c.zz())};a.prototype.gv=function(c){if(this.Mb!=c&&(this.Mb=c,c=this.j.N,c.set("toolTip",this.Mb),!c.get("toolTipDisabled"))){var f=c.Ib().Mb;this.Mb?f.fZa(c,this.Mb):f.hide()}};a.prototype.wk=function(c){this.j.oY().sort(function(f,l){return l.get("index")-f.get("index")}).forEach(function(f){f.hn(c)}.bind(this))};a.prototype.Yj=function(c){var f=c==h.$l?this.MS(.5*this.A.width,.5*this.A.height,
this.Hha,this.Jha):this.MS(this.Vc,this.Wc,e,this.EMa);return new b(this,f,null,c)};a.prototype.MS=function(c,f,l,p){var q=this.A.Bg&&k.iD(this.A.Bg);if(q){var n=this.A.width,r=this.A.height,u=Math.min(n,r)/100;l.forEach(function(t,v){p[v]=m.Vua(q,c+t[0]*u,f+t[1]*u,n,r,p[v])});return p}return[]};a.prototype.R5=function(c,f,l,p){c=l-c;f=p-f;return Math.sqrt(c*c+f*f)<=4*Math.round(1*Math.min(window.screen.width,window.screen.height)/100)};a.prototype.r7=function(){this.Hha=this.QHa(this.N.get("touchOverAreaScale"));
this.Jha=Array(this.Hha.length)};a.prototype.QHa=function(c){var f=[],l=Math.min(50,Math.ceil(5*c)),p=Math.min(50,Math.ceil(30*c));c=Math.min(50,Math.ceil(15*c));for(var q=-l;q<=l;q++)for(var n=-l;n<=l;n++){var r=Math.sqrt(n*n+q*q);r<=l&&f.push([n,q,r])}for(n=-p;n<-l;n++)f.push([n,0,Math.sqrt(n*n)]);for(n=l+1;n<=p;n++)f.push([n,0,Math.sqrt(n*n)]);for(q=-c;q<-l;q++)f.push([0,q,Math.sqrt(q*q)]);for(q=l+1;q<=c;q++)f.push([0,q,Math.sqrt(q*q)]);f.sort(function(u,t){return u[2]-t[2]});return f.map(function(u){return[u[0],
u[1]]})};var e=function(){for(var c=[],f=0;5>f;f++)for(var l=-2+4*f/4,p=0;5>p;p++){var q=-2+4*p/4,n=Math.sqrt(q*q+l*l);2>=n&&c.push([q,l,n])}c.sort(function(r,u){return r[2]-u[2]});return c.map(function(r){return[r[0],r[1]]})}();return a});
define("hh","require cG ei iU nK gt".split(" "),function(a){var d=a("cG"),h=a("ei"),m=a("iU"),k=a("nK"),b=a("gt");return{create:function(g,e){switch(g){case k.MQ:return new d(e,!0);case k.Jfa:return new d(e,!1);case k.gJ:return new h(e);case k.hJ:return new m(e);case k.iJ:return new b(e)}}}});
define("oW",["require","bc"],function(a){function d(m){this.Jc=m;this.Ie=[]}var h=a("bc");d.prototype.push=function(m){this.Ie.push(m);this.ea()};d.prototype.pop=function(m){for(var k=this.Ie.length-1;0<=k;k--)if(this.Ie[k]==m){this.Ie.splice(k,1);this.ea();break}};d.prototype.clear=function(){0<this.Ie.length&&(this.Jc.set("cursor",h.Be),this.Ie=[])};d.prototype.ea=function(){var m=0<=this.Ie.indexOf(h.Zh)?h.Zh:0<=this.Ie.indexOf(h.Ze)?h.Ze:0<this.Ie.length?this.Ie[this.Ie.length-1]:h.Be;this.Jc.set("cursor",
m)};return d});
define("lS","require li ku ox cw e bc v he hX jX oD eH eB dP gn hh nK oW oE kk kL bv bg nC".split(" "),function(a){var d=a("li"),h=a("ku"),m=a("ox"),k=a("cw"),b=a("e"),g=a("bc"),e=a("v"),c=a("he"),f=a("hX"),l=a("jX"),p=a("oD"),q=a("eH"),n=a("eB"),r=a("dP"),u=a("gn"),t=a("hh"),v=a("nK"),w=a("oW"),x=a("oE"),y=a("kk"),A=a("kL"),B=a("bv"),z=a("bg"),C=a("nC"),G=Math.PI/180,D=d.extend(b,function(E,H,R){b.call(this);this.we("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",g.jt);this.set("layout",
"absolute");this.lc=E;this.N=H;this.xc=R;this.ge=new w(H);this.Qd=null;this.A=new p;this.Aa=new u(this.lc,this.N,this.xc,this);this.Aa.bind(m.ta,this.requestFrame,this,!0);this.wl=new n;this.A.Bg=this.wl.$m();this.A.CO=this.wl.wia;this.A.DO=this.wl.xia;this.A.camera=this.wl.iD();this.qla=(new Date).getTime();this.Ab().append(this.wl.zc());this.oK=new l;this.Ab().append(this.oK.zc());this.cH=new q(H,R);this.Ab().append(this.cH.zc());this.tra=new y;this.tra.bind(m.Z,this.XLa,this,!0);this.gma=new x;
this.gma.bind(m.ta,this.BLa,this,!0);this.AS=new f(this.A.width,this.A.height,this.A.ze*G);this.bind(m.ic,this.ec,this,!0);this.bind(m.hd,this.jk,this,!0);this.bind(m.sd,this.ek,this,!0);B.bind(m.ta,this.Rn,this,!0);c.bind(m.ta,this.kLa,this,!0);h.fa(this.xc,["fxaaEnabled","aaEnabled","hotspotsEnabled","preloadEnabled"],function(){this.A.sD=this.xc.get("hotspotsEnabled");this.A.BP=this.xc.get("preloadEnabled");this.A.aY=this.xc.get("fxaaEnabled");this.A.vX=this.xc.get("aaEnabled");this.requestFrame()}.bind(this),
!0);h.fa(this.xc,["surfaceSelectionEnabled"],this.Y$.bind(this));this.Y$();this.Rn();h.fa(this.lc,["defaultVRPointer"],this.pq.bind(this));this.pq()});D.prototype.create=function(E){return r.create(E)};D.prototype.add=function(E){this.Aa.appendChild(E)};D.prototype.remove=function(E){(E=this.Aa.mf(E))&&E.remove()};D.prototype.mf=function(E){return this.Aa.mf(E)};D.prototype.oY=function(){return this.Aa.all()};D.prototype.Rya=function(E){this.A.YY=E};D.prototype.vZ=function(E){this.ge.push(E)};D.prototype.sI=
function(E){this.ge.pop(E)};D.prototype.BZ=function(E){this.A.Waa=E;this.requestFrame()};D.prototype.FD=function(){this.oK.trigger();this.A.uD=!0;this.xV();var E=C.Kza(this.wl.lg());this.A.uD=!1;this.xV();return E};D.prototype.wO=function(E){this.A.uD=!0;this.xV();E=this.wl.wO(E);this.A.uD=!1;return E};D.prototype.getPixelRatio=function(){return this.wl.getPixelRatio()};D.prototype.pq=function(){var E=this.A.Bb?c.PY()&&"laser"==this.lc.get("defaultVRPointer")?v.gJ:B.rY()==B.PBa.h0?v.Jfa:v.MQ:e.mb()?
v.iJ:v.hJ;this.Qd&&this.Qd.getType()==E||(this.Qd&&this.Qd.clear(),this.Qd=t.create(E,this),this.Y$(),this.Qd.update(this.A))};D.prototype.Y$=function(){this.A.bQ=this.xc.get("surfaceSelectionEnabled")&&0<=[v.hJ,v.gJ,v.iJ].indexOf(this.Qd&&this.Qd.getType())};D.prototype.Om=function(){this.ge.clear();b.prototype.Om.call(this)};D.prototype.ec=function(){var E=this.Wa(),H=this.xb();if(this.A.width!=E||this.A.height!=H)E&&H?(this.A.width=E,this.A.height=H,this.AS.XP(this.A.width),this.AS.Jya(this.A.height),
this.requestFrame()):d.log("Invalid size values: "+E+" "+H)};D.prototype.jk=function(){this.A.enabled=!0;this.requestFrame()};D.prototype.ek=function(){this.A.enabled=!1};D.prototype.Rn=function(){this.A.Bb=B.isPresenting();this.pq();this.requestFrame()};D.prototype.kLa=function(){this.pq();this.requestFrame()};D.prototype.XLa=function(){this.requestFrame()};D.prototype.BLa=function(){this.requestFrame()};D.prototype.JZ=function(E){this.H8!=E&&((this.H8=E)||this.requestFrame())};D.prototype.ND=function(E){this.A.Sl!=
E&&(this.A.Sl=E,this.requestFrame())};D.prototype.setPosition=function(E,H,R,S){if(this.A.Sa!=E||this.A.pitch!=H||this.A.Xe!=R||this.A.ze!=S)isNaN(E)||isNaN(H)||isNaN(R)||!S?d.log("Invalid position values: "+E+" "+H+" "+R+" "+S):(this.A.Sa=E,this.A.pitch=H,this.A.Xe=R,this.A.ze=S,this.AS.JD(this.A.ze*G),this.requestFrame())};D.prototype.Rc=function(){return this.A.Sa};D.prototype.Lc=function(){return this.A.pitch};D.prototype.Mf=function(){return this.A.Xe};D.prototype.xg=function(){return this.A.ze};
D.prototype.UH=function(){return this.A.Bb?this.A.Uh:A.Oq(this.A.Uh,this.A.width,this.A.height)};D.prototype.VH=function(){return this.A.Uh};D.prototype.unproject=function(E){return this.AS.unproject(E)};D.prototype.requestFrame=function(){z.requestFrame(this.tj,this)};D.prototype.tj=function(){if(z.Sba){var E=(new Date).getTime(),H=Math.max(1,Math.min(E-this.qla,33));this.qla=E;this.trigger(new k(D.b0,{frameTime:H}));this.A.enabled&&(this.A.ye=H,this.xV())}else this.requestFrame()};D.prototype.xV=
function(){this.wl.update(this.A);this.A.HX=this.wl.XTa();this.A.vO=this.wl.WTa();this.A.Uh=this.wl.UTa();this.A.Ij=this.wl.getPixelRatio();this.Aa.update(this.A);this.tra.update(this.A);this.gma.update(this.A);this.Qd.update(this.A);this.H8||this.wl.render()};D.b0="render start";D.v0a=function(){return!0};return D});
define("fF",["require","li","cw","gf","lS"],function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("lS"),b=d.extend(m,function(g){m.call(this);this.j=g;this.j.bind(k.b0,this.Qna,this,!0)});b.prototype.clear=function(){this.j.unbind(k.b0,this.Qna,this,!0);this.j=null};b.prototype.requestFrame=function(){this.j.requestFrame()};b.prototype.Qna=function(g){g=g.data.frameTime;this.trigger(new h(b.Ko,{frameTime:g}));this.trigger(new h(b.Lo,{frameTime:g}))};b.Ko="frameStart";b.Lo="positionSet";return b});
define("do",["require","v","kL"],function(a){function d(){this.ua=this.ia=0;this.La=90;this.pl="landscape";this.v7=!1;this.PK=h.mb()}var h=a("v"),m=a("kL");d.prototype.Mya=function(k){this.La=this.wua(k)};d.prototype.wua=function(k){return this.PK&&"portrait"==this.pl?m.bD(k,this.ua,this.ia):k};d.prototype.pUa=function(k){return this.PK&&"portrait"==this.pl?m.Jl(k,this.ia,this.ua):k};d.prototype.Co=function(k){this.La=this.PK&&this.v7?m.bD(k,this.ua,this.ia):k};d.prototype.Yva=function(){return this.PK&&
this.v7};d.prototype.Gv=function(){return this.PK&&"portrait"==this.pl};d.prototype.xg=function(){return this.La};d.prototype.JX=function(k){return m.bD(k,this.ua,this.ia)};d.prototype.setSize=function(k,b){this.ia=k;this.ua=b;k=this.CIa();this.v7=this.pl!=k;this.pl=k};d.prototype.CIa=function(){return 0===this.ia||0===this.ua?"landscape":this.ia<this.ua?"portrait":"landscape"};return d});
define("iz","require ed li ox cw gf nA".split(" "),function(a){a("ed");var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("nA");a=d.extend(k,function(e){k.call(this);this.j=e;this.wm=new b(e);this.wm.bind(b.T_,this.Uma,this,!0);this.wm.bind(b.S_,this.Tma,this,!0)});a.prototype.clear=function(){this.wm.unbind(b.T_,this.Uma,this,!0);this.wm.unbind(b.S_,this.Tma,this,!0);this.wm.clear();this.wm=null};a.prototype.sz=function(e){this.wm.mc(e)};a.prototype.yi=function(e){this.la=e};a.prototype.end=function(){this.la=
null};a.prototype.Uma=function(e){this.Rra(e);(e=this.Qpa(this.j.Rc(),this.fka()))&&e.trigger(h.sn)};a.prototype.Tma=function(e){this.Rra(e);(e=this.Qpa(this.j.Rc()-180,this.fka()))&&e.trigger(h.sn)};a.prototype.Rra=function(e){this.j.Ib().trigger(new m(h.pE,{ZP:e}))};a.prototype.fka=function(){return this.j.xc.get("keyboardTranslateSelectionAngle")};a.prototype.Qpa=function(e,c){var f,l;if(!this.la)return null;void 0!==f||(f=-90);void 0!==l||(l=360);var p=e-.5*c,q=e+.5*c,n=Math.max(-90,f-.5*l),r=
Math.max(90,f+.5*l);c=this.la.get("adjacentPanoramas",[]).slice();c=c.filter(function(u){if(!u.get("enabled"))return!1;u=this.qp(u);if(!u)return!1;var t=u.Sa;for(var v=e-180,w=e+180;t<v;)t+=w-v;for(;t>w;)t-=w-v;u=u.pitch;return p<=t&&t<=q&&n<=u&&u<=r}.bind(this));if(0==c.length)return null;c.sort(function(u,t){u=this.qp(u);t=this.qp(t);return(e-u.Sa)*(e-u.Sa)+(f-u.pitch)*(f-u.pitch)-((e-t.Sa)*(e-t.Sa)+(f-t.pitch)*(f-t.pitch))}.bind(this));return c[0]};a.prototype.qp=function(e){var c=e.get("yaw");
e=e.get("distance");if(void 0===c||void 0===e)return null;var f=this.la.get("distanceToFloor");return{Sa:c,pitch:-90+Math.atan2(e,f)*g}};var g=180/Math.PI;return a});
define("lD","require li ox cw gf mZ bs oG x mn jM fF do iz dA".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("mZ"),g=a("bs"),e=a("oG"),c=a("x"),f=a("mn"),l=a("jM"),p=a("fF"),q=a("do"),n=a("iz"),r=a("dA"),u=d.extend(k,function(t,v){k.call(this);this.N=t;this.j=v;this.j.set("visible",!1);this.Ec=new q;this.hg=new p(this.j);this.se=new f(this.j);this.Jb=new e(this.N,this.j,this.Ec);this.bb=new g(this.j,this.Ec);this.uf=new c(this.j);this.Bu=new l(this.j);this.Jd=new b(this.j);
this.PW=new n(this.j);this.hg.bind(p.Ko,this.$x,this,!0);this.hg.bind(p.Lo,this.ay,this,!0);this.se.bind(h.Sc,this.cna,this,!0);this.se.bind(h.Ff,this.PL,this,!0);this.se.bind(h.sc,this.ji,this,!0);this.Jb.bind(e.Cb,this.Ge,this,!0);this.Jb.bind(e.c0,this.dna,this,!0);this.Jb.bind(e.U_,this.una,this,!0);this.Jb.bind(e.A_,this.lma,this,!0);this.Jb.bind(e.B_,this.mma,this,!0);this.Jb.bind(e.Tz,this.XL,this,!0);this.Jb.bind(e.Rz,this.Zx,this,!0);this.Jb.bind(e.Sz,this.Lu,this,!0);this.Jb.bind(e.Qz,this.WL,
this,!0);this.Jb.bind(e.Mo,this.iy,this,!0);this.bb.bind(g.Cb,this.Ge,this,!0);this.bb.bind(g.Lj,this.Gp,this);this.bb.bind(g.Jo,this.Em,this);this.bb.bind(g.Cc,this.Qe,this,!0);this.bb.bind(g.Ci,this.Lp,this,!0);this.bb.bind(g.Bi,this.Kp,this,!0);this.uf.bind(c.Cb,this.Ge,this,!0);this.uf.bind(c.bj,this.Jp,this,!0);this.uf.bind(c.Cc,this.Qe,this,!0);this.Bu.bind(l.Mj,this.jna,this,!0)});u.prototype.clear=function(){this.se.clear();this.hg.clear();this.bb.clear();this.Jb.clear();this.uf.clear();this.Bu.clear();
this.Jd.clear();this.se.unbind(h.Sc,this.cna,this);this.se.unbind(h.Ff,this.PL,this);this.se.unbind(h.sc,this.ji,this);this.hg.unbind(p.Ko,this.$x,this);this.hg.unbind(p.Lo,this.ay,this);this.Jb.unbind(e.Cb,this.Ge,this);this.Jb.unbind(e.c0,this.dna,this);this.Jb.unbind(e.U_,this.una,this);this.Jb.unbind(e.A_,this.lma,this);this.Jb.unbind(e.B_,this.mma,this);this.Jb.unbind(e.Tz,this.XL,this);this.Jb.unbind(e.Rz,this.Zx,this);this.Jb.unbind(e.Sz,this.Lu,this);this.Jb.unbind(e.Qz,this.WL,this);this.Jb.unbind(e.Mo,
this.iy,this);this.bb.unbind(g.MAa,this.Ge,this);this.bb.unbind(g.Lj,this.Gp,this);this.bb.unbind(g.Jo,this.Em,this);this.bb.unbind(g.Cc,this.Qe,this,!0);this.bb.unbind(g.Ci,this.Lp,this);this.bb.unbind(g.Bi,this.Kp,this);this.uf.unbind(c.Cb,this.Ge,this);this.uf.unbind(c.bj,this.Jp,this);this.uf.unbind(c.Cc,this.Qe,this);this.Bu.unbind(l.Mj,this.jna,this);this.N=this.j=this.PW=this.Jd=this.Bu=this.uf=this.Jb=this.bb=this.hg=this.se=null};u.prototype.hda=function(t){this.Bu.hda(t)};u.prototype.jda=
function(t){this.Jb.jda(t)};u.prototype.yi=function(t,v,w){this.j.set("visible",!0);this.uf.QZ();t.set("currentTime",w);this.Jb.start(t,v)};u.prototype.ez=function(){return this.se.la||this.Jb.$Ta()||this.Jb.rr};u.prototype.Wv=function(){this.se.stop();this.uf.end();this.bb.end();this.Jb.hide();this.Bu.stop();this.Jd.end();this.PW.end()};u.prototype.xI=function(){this.bb.resume();this.uf.xI()};u.prototype.qI=function(){this.bb.pause();this.uf.qI()};u.prototype.play=function(){this.bb.play();this.Jd.play();
this.uf.play()};u.prototype.pause=function(){this.bb.pause();this.Jd.pause();this.uf.pause()};u.prototype.stop=function(){this.bb.stop();this.Jd.stop();this.uf.stop()};u.prototype.sz=function(t){this.bb.sz(t);this.PW.sz(t)};u.prototype.getTime=function(){return this.uf.getTime()};u.prototype.moveTo=function(t,v,w,x,y){this.bb.moveTo(t,v,w,x,y)};u.prototype.Rc=function(){return this.j?this.j.Rc():void 0};u.prototype.Lc=function(){return this.j?this.j.Lc():void 0};u.prototype.Mf=function(){return this.j?
this.j.Mf():void 0};u.prototype.xg=function(){return this.j?this.Ec.pUa(this.j.xg()):void 0};u.prototype.UH=function(){return this.j?this.j.UH():void 0};u.prototype.VH=function(){return this.j?this.j.VH():void 0};u.prototype.Qe=function(){var t=this.uf.Gj()||this.bb.Gj();this.trigger(new m(u.Cc,{state:t}))};u.prototype.Jj=function(t){this.bb.Jj(t)};u.prototype.KP=function(t){this.bb.KP(t)};u.prototype.uz=function(t){this.bb.uz(t)};u.prototype.LP=function(t){this.bb.LP(t)};u.prototype.Cf=function(t){this.uf.Cf(t)};
u.prototype.OD=function(t){this.bb.OD(t)};u.prototype.Hba=function(t,v){return(t=r.get(t,v,this.j.Rc(),this.j.Lc(),this.j.Mf(),this.j.xg(),this.j.Wa(),this.j.xb()))?{x:t.x,y:t.y}:null};u.prototype.uUa=function(t,v){return(t=r.VZa(t,v,this.j))?{yaw:t.Sa,pitch:t.pitch}:null};u.prototype.FD=function(){this.j.FD()};u.prototype.dna=function(t){this.se.start(t.data.panorama)};u.prototype.ji=function(t){this.j.BZ(!0);this.trigger(new m(u.dt,{percent:t.Sg}))};u.prototype.cna=function(t){this.uf.end();this.PW.yi(t.data.panorama)};
u.prototype.PL=function(){this.j.BZ(!1);this.trigger(new m(u.Lz))};u.prototype.Ge=function(){this.hg.requestFrame()};u.prototype.$x=function(t){t=t.data.frameTime;this.Ec.setSize(this.j.Wa(),this.j.xb());this.Jb.Rv(t);this.bb.Rv(t)};u.prototype.ay=function(t){t=t.data.frameTime;this.Jb.wd(t);this.bb.wd(t);this.uf.wd(t);this.Bu.wd(t);this.Jd.wd(t)};u.prototype.XL=function(t){this.Bu.display(t.data.panorama);this.uf.iI(t.data.panorama);this.trigger(new m(u.Tz,{panorama:t.data.panorama}))};u.prototype.una=
function(t){this.Bu.hide(t.data.panorama)};u.prototype.lma=function(t){this.uf.start(t.data.panorama);this.Jd.start(t.data.panorama)};u.prototype.mma=function(){this.uf.end();this.j.set("visible",!1)};u.prototype.WL=function(t){this.bb.end();this.Jd.end(t.data.nextPanorama);this.trigger(new m(u.Qz,{panorama:t.data.panorama}))};u.prototype.Lu=function(t){this.bb.start(t.data.panorama,t.data.camera);this.trigger(new m(u.Sz,{panorama:t.data.panorama}))};u.prototype.Zx=function(t){this.trigger(new m(u.Rz,
{panorama:t.data.panorama}))};u.prototype.jna=function(t){this.bb.sda(t.data.yawDelta,0)};u.prototype.Gp=function(t){this.trigger(new m(u.Lj,t.data))};u.prototype.Em=function(t){this.trigger(new m(u.Jo,t.data))};u.prototype.iy=function(t){this.trigger(new m(u.Mo,t.data))};u.prototype.Lp=function(){this.uf.Bz();this.trigger(new m(u.Ci))};u.prototype.Kp=function(){this.trigger(new m(u.Bi))};u.prototype.Fya=function(t){this.uf.MD(t)};u.prototype.rz=function(t){this.uf.rz(t)};u.prototype.Jp=function(t){this.trigger(new m(u.bj,
t.data))};u.dt="loadingProgress";u.Lz="loadingEnd";u.Lj="movementChange";u.Jo="positionChange";u.Tz="panoramaStart";u.Qz="panoramaEnd";u.Sz="panoramaShow";u.Rz="panoramaHide";u.Cc="playbackStateChange";u.Ci="userInteractionStart";u.Bi="userInteractionEnd";u.bj="timeChange";u.Mo="transitionEnd";return u});
define("oc","require li ox cw kK cB nq jz ip hj lD eh lS hB iH bv ea gG".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("kK"),b=a("cB"),g=a("nq"),e=a("jz"),c=a("ip"),f=a("hj"),l=a("lD"),p=a("eh"),q=a("lS"),n=a("hB"),r=a("iH"),u=a("bv"),t=a("ea"),v=a("gG"),w=g.define("PanoramaPlayer",c,function(){c.call(this,"panorama");c.prototype.set.call(this,"rotationEnabled",!0);c.prototype.set.call(this,"zoomEnabled",!0);c.prototype.set.call(this,"surfaceSelectionEnabled",!1);c.prototype.set.call(this,
"surfaceSelectionHorizontalAngle",90);c.prototype.set.call(this,"surfaceSelectionVerticalAngle",180);c.prototype.set.call(this,"adjacentPanoramaPositionsEnabled",!1);c.prototype.set.call(this,"fxaaEnabled",!1);c.prototype.set.call(this,"aaEnabled",!1);this.O9=this.s5=this.zx=this.PT=this.IT=this.e2=this.my=this.Qh=this.D1=!1;this.U4=!0;this.lp=this.HF=this.PR=!1;this.zS=this.n4=this.Ed=this.qb=0;this.Q7=this.S7=void 0;this.J6=!0;this.mi=k.T;this.L=this.j=null;this.Yla={};for(var x in w.Bt)this.Yla[x]=
this.SFa(x);this.oR=new e(this,"buttonToggleGyroscope",t.Rj);this.oR.bind(h.Pj,function(){this.set("gyroscopeEnabled",!0)},this);this.oR.bind(h.am,function(){this.set("gyroscopeEnabled",!1)},this);this.oR.set("pressed",this.get("gyroscopeEnabled")&&n.wg);this.ZDa=new e(this,"buttonCardboardView",t.Ce);this.ZDa.bind(h.pa,function(){this.set("viewMode",w.Gw)},this,!0);this.oEa=new e(this,"buttonVRView",t.Ce);this.oEa.bind(h.pa,function(){this.set("viewMode",w.Gw)},this,!0);u.bind(h.ta,function(){this.Qra("viewMode");
this.trigger(w.LAa)},this,!0);this.pR=new e(this,"buttonToggleHotspots",t.Rj);this.pR.bind(h.Pj,function(){this.set("hotspotsEnabled",!0)},this);this.pR.bind(h.am,function(){this.set("hotspotsEnabled",!1)},this);this.pR.set("pressed",this.get("hotspotsEnabled"));this.sR=new e(this,"buttonToggleSurfaceSelection",t.Rj);this.sR.bind(h.Pj,function(){this.set("surfaceSelectionEnabled",!0)},this);this.sR.bind(h.am,function(){this.set("surfaceSelectionEnabled",!1)},this);this.sR.set("pressed",this.get("surfaceSelectionEnabled"));
this.mEa=new e(this,"buttonScreenshot",t.Ce);this.mEa.bind(h.pa,this.Gpa,this,!0);this.$d=d.zo(this.Qg,this)});w.AAa="cameraPositionChange";w.dt="loadingProgress";w.GAa="preloadMediaShow";w.LAa="viewModeChange";w.prototype.moveLeft=function(){this.Ic(p.jE)};w.prototype.moveRight=function(){this.Ic(p.kE)};w.prototype.moveUp=function(){this.Ic(p.lE)};w.prototype.moveDown=function(){this.Ic(p.iE)};w.prototype.playLeft=function(){this.Ic([p.jE,p.X])};w.prototype.playRight=function(){this.Ic([p.kE,p.X])};
w.prototype.playUp=function(){this.Ic([p.lE,p.X])};w.prototype.playDown=function(){this.Ic([p.iE,p.X])};w.prototype.play=function(){this.mk()};w.prototype.pause=function(){this.Op()};w.prototype.stop=function(){this.hy()};w.prototype.seek=function(x){this.xC(x)};w.prototype.setFramePlaybackPosition=function(x){this.wOa(x)};w.prototype.setFrameTransitionPosition=function(x){this.xOa(x)};w.prototype.restart=function(){this.by()};w.prototype.zoomIn=function(){this.Ic(p.zt)};w.prototype.zoomOut=function(){this.Ic(p.At)};
w.prototype.resumeCamera=function(){this.BNa()};w.prototype.pauseCamera=function(){this.rMa()};w.prototype.moveTo=function(x,y,A,B){this.Xla(x,y,A,B,!1)};w.prototype.setPosition=function(x,y,A,B){this.Xla(x,y,A,B,!0)};w.prototype.getScreenPosition=function(x,y){return this.VIa(x,y)};w.prototype.getPanoramaPosition=function(x,y){return this.DIa(x,y)};w.prototype.saveScreenshot=function(){return this.Gpa()};w.prototype.get=function(x,y){switch(x){case "currentTime":return this.L&&this.L.getTime()||
0;case "viewMode":return u.isPresenting()?w.Gw:w.e1;case "video":x="panorama";break;case "rendererPanorama":return this.L&&this.L.ez()}if(!y)switch(x){case "mouseControlMode":y=b.Nea;break;case "touchControlMode":y=b.Efa}return c.prototype.get.call(this,x,y)};w.prototype.set=function(x,y){if(this.get(x)!=y){switch(x){case "application":this.D1=!0;this.$d();break;case "startTime":this.my=!0;this.$d();break;case "video":case "panorama":x="panorama";this.my=!0;this.$d();break;case "camera":this.e2=!0;
this.$d();break;case "viewerArea":this.Qh=!0;this.$d();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.lp=!0;this.$d();break;case "mapPlayer":this.IT=!0;this.$d();break;case "model3DPlayer":this.PT=!0;this.$d();break;case "gyroscopeEnabled":this.zx=!0;this.$d();break;case "gyroscopeVerticalDraggingEnabled":this.U4=!0;this.$d();break;case "viewMode":"vr"==y&&(y=w.Gw);y!=w.Gw||u.isPresenting()?
y!=w.Gw&&u.isPresenting()&&u.Zf():u.Gk();y=u.isPresenting()?w.Gw:w.e1;break;case "hotspotsEnabled":this.s5=!0;this.$d();break;case "mouseControlMode":case "touchControlMode":this.PR=!0;this.$d();break;case "surfaceSelectionEnabled":this.O9=!0,this.$d()}c.prototype.set.call(this,x,y)}};w.prototype.Lq=function(x){this.HF=x;this.L&&this.L.sz(this.HF)};w.prototype.Kta=function(){return"inherit"!=this.get("doubleClickAction")};w.prototype.W1=function(x){c.prototype.W1.call(this,x);x.bind(h.Zl,this.Tsa,
this,!0)};w.prototype.u$=function(x){c.prototype.u$.call(this,x);x.unbind(h.Zl,this.Tsa,this,!0)};w.prototype.Tsa=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var x=this.get("application").Mi;x&&x.wg()&&x.toggle()}};w.prototype.SFa=function(x){var y=w.Bt[x];x=new e(this,x,t.Ce);x.bind(h.vb,function(){this.Ic(y.movement)},this);y.stopOnRelease&&x.bind(h.Zb,function(){this.Ic(p.Ff)},this);return x};w.prototype.Qg=function(){if(this.Qh||this.D1)this.Qh=this.D1=!1,this.PR=
this.zx=this.PT=this.IT=!0,this.Yt(),this.get("viewerArea")&&this.get("application")&&this.Vt(),this.jN(this.get("viewerArea"));var x=!1;if(this.j){this.IT&&(this.IT=!1,this.L.hda(this.get("mapPlayer")));this.PT&&(this.PT=!1,this.L.jda(this.get("model3DPlayer")));this.PR&&(this.PR=!1,this.L.uz(this.get("mouseControlMode")),this.L.OD(this.get("touchControlMode")));if(this.my||this.e2)this.zS=this.n4=this.qb=this.Ed=0,this.Q7=this.S7=void 0,x=!0,this.e2=this.my=!1,this.get("panorama")?this.L.yi(this.get("panorama"),
this.get("camera",new f),this.get("startTime")):(this.L.Wv(),this.J6=!0,this.mi=k.T,this.yc(k.T));this.U4&&(this.U4=!1,this.L.LP(this.get("gyroscopeVerticalDraggingEnabled",!0)));if(this.zx){this.zx=!1;var y=this.get("gyroscopeEnabled")&&n.wg;y&&n.disabled&&(y=!1,r.zea.show(function(){n.Hca(function(){this.set("gyroscopeEnabled",!0)}.bind(this))}.bind(this)));this.set("gyroscopeEnabled",y);this.L.KP(y);this.oR.set("pressed",y)}this.s5&&(this.s5=!1,this.pR.set("pressed",this.get("hotspotsEnabled")));
this.lp&&(this.lp=!1,x=!0);this.O9&&(this.O9=!1,this.sR.set("pressed",this.get("surfaceSelectionEnabled")));x&&this.xv()}};w.prototype.aH=function(){this.set("panorama",null)};w.prototype.Vt=function(){var x=this.get("viewerArea"),y=this.get("application");this.j=new q(y,x,this);this.j.ja({left:0,top:0,bottom:0,right:0});x.Va(this.j);this.L=new l(x,this.j);this.L.bind(l.Lj,this.Gp,this);this.L.bind(l.Jo,this.zma,this);this.L.bind(l.dt,this.ji,this);this.L.bind(l.Lz,this.eG,this);this.L.bind(l.Sz,
this.Lu,this,!0);this.L.bind(l.Rz,this.Zx,this,!0);this.L.bind(l.Tz,this.XL,this,!0);this.L.bind(l.Qz,this.WL,this,!0);this.L.bind(l.Cc,this.Qe,this);this.L.bind(l.Ci,this.Lp,this);this.L.bind(l.Bi,this.Kp,this);this.L.bind(l.bj,this.Jp,this);this.L.bind(l.Mo,this.iy,this,!0);this.get("application").bind(h.G("mute"),this.UL,this);this.get("application").get("mute",!1)&&this.L.Cf(!0);this.L&&this.L.sz(this.HF);u.bind(h.ta,this.Rn,this,!0);this.J2();this.Dy(!0)};w.prototype.Yt=function(){this.j&&(this.L.unbind(l.Lj,
this.Gp,this),this.L.unbind(l.Jo,this.zma,this),this.L.unbind(l.dt,this.ji,this),this.L.unbind(l.Lz,this.eG,this),this.L.unbind(l.Sz,this.Lu,this,!0),this.L.unbind(l.Rz,this.Zx,this,!0),this.L.unbind(l.Tz,this.XL,this,!0),this.L.unbind(l.Qz,this.WL,this,!0),this.L.unbind(l.Cc,this.Qe,this),this.L.unbind(l.Ci,this.Lp,this),this.L.unbind(l.Bi,this.Kp,this),this.L.unbind(l.bj,this.Jp,this),this.L.unbind(l.Mo,this.iy,this),this.L.clear(),this.L=null,this.get("application").unbind(h.G("mute"),this.UL,
this),this.j.getParent().removeChild(this.j),this.j=null,u.unbind(h.ta,this.Rn,this,!0),this.Dy(!1))};w.prototype.UL=function(){this.j&&this.L.Cf(this.get("application").get("mute",!1))};w.prototype.Qe=function(x){this.mi=x.data.state;this.jg()};w.prototype.jg=function(){this.yc(this.J6||u.isPresenting()?this.mi:k.X)};w.prototype.Lp=function(){this.trigger(new m(h.Pfa))};w.prototype.Kp=function(){this.trigger(new m(h.Ofa))};w.prototype.XL=function(x){this.trigger(new m(w.GAa,{panorama:x.data.panorama}))};
w.prototype.WL=function(){};w.prototype.Lu=function(x){this.J2();this.qL(x.data.panorama)};w.prototype.Zx=function(x){this.pL(x.data.panorama)};w.prototype.Gp=function(x){for(var y in w.Bt)this.Yla[y].set("state",x.data[w.Bt[y].pressedOn]?v.ob:v.Be);this.J6=x.data.stopped;this.jg();this.trigger(new m(h.Pea,x.data))};w.prototype.zma=function(x){this.J2();this.trigger(new m(w.AAa,x.data))};w.prototype.J2=function(){this.L&&(this.set("yaw",this.L.Rc()),this.set("pitch",this.L.Lc()),this.set("roll",this.L.Mf()),
this.set("hfov",this.L.xg()),this.set("actualHFOV",this.L.UH()),this.set("actualVFOV",this.L.VH()))};w.prototype.ji=function(x){this.j.getParent().ja({progressPercent:x.data.percent,progressVisible:!0});this.trigger(new m(w.dt,x.data))};w.prototype.eG=function(){this.j.getParent().set("progressVisible",!1)};w.prototype.iy=function(){this.trigger(h.P0)};w.prototype.Rn=function(){this.set("viewMode",u.isPresenting()?w.Gw:w.e1);this.jg()};w.prototype.Xla=function(x,y,A,B,z){this.L&&this.L.moveTo(x,y,
A,B,z)};w.prototype.Ic=function(x){this.L&&this.L.Jj(x)};w.prototype.mk=function(){this.L.play()};w.prototype.ho=function(){this.L.stop()};w.prototype.Op=function(){this.L.pause()};w.prototype.xC=function(x){this.L&&(this.Rja()?this.L.rz(x):this.L.Fya(x))};w.prototype.wOa=function(x){this.L&&this.L.Fya(x)};w.prototype.xOa=function(x){this.L&&this.L.rz(x)};w.prototype.rMa=function(){this.L&&this.L.qI()};w.prototype.BNa=function(){this.L&&this.L.xI()};w.prototype.VIa=function(x,y){if(this.L)return this.L.Hba(x,
y)};w.prototype.DIa=function(x,y){if(this.L)return this.L.uUa(x,y)};w.prototype.Gpa=function(){this.L&&this.L.FD()};w.prototype.xM=function(x){this.xC(x.data.position)};w.prototype.Jp=function(x){this.Ed=x.data.time;this.qb=x.data.duration;this.n4=x.data.transitionPosition;this.zS=x.data.transitionLength;this.S7=x.data.steps;this.Q7=x.data.selectedStep;this.xv()};w.prototype.xv=function(){var x=this.j.getParent(),y=!1;if(this.WHa()){var A=this.Rja(),B=this.FIa();A?0<this.zS&&(x.ja({playbackBarPosition:this.n4,
playbackBarDuration:this.zS,playbackBarSteps:this.S7,playbackBarSelectedStep:this.Q7,playbackBarLiveDragging:B}),y=!0):0<this.qb&&(x.ja({playbackBarPosition:this.Ed,playbackBarDuration:this.qb,playbackBarSteps:void 0,playbackBarSelectedStep:void 0,playbackBarLiveDragging:B}),y=!0)}x.set("playbackBarVisible",y)};w.prototype.WHa=function(){var x=this.get("panorama");return x?g.Ka("HDRPanorama",x)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!1)):g.Ka("LivePanorama",x)?this.get("livePanoramaDisplayPlaybackBar",
this.get("displayPlaybackBar",!1)):g.Ka("VideoPanorama",x)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!0)):!1:!1};w.prototype.Rja=function(){var x=this.get("panorama");return x?g.Ka("HDRPanorama",x)?this.get("hdrPanoramaDisplayPlaybackBarSteps",!0):g.Ka("LivePanorama",x)?this.get("livePanoramaDisplayPlaybackBarSteps",!0):!1:!1};w.prototype.FIa=function(){var x=this.get("panorama");return!x||g.Ka("VideoPanorama",x)?!1:!0};w.Gw="cardboard";w.e1="standard";w.Bt={buttonMoveLeft:{movement:p.jE,
pressedOn:"movingLeft",stopOnRelease:!0},buttonMoveRight:{movement:p.kE,pressedOn:"movingRight",stopOnRelease:!0},buttonMoveUp:{movement:p.lE,pressedOn:"movingUp",stopOnRelease:!0},buttonMoveDown:{movement:p.iE,pressedOn:"movingDown",stopOnRelease:!0},buttonPlayLeft:{movement:[p.jE,p.X],pressedOn:"movingLeft",stopOnRelease:!1},buttonPlayRight:{movement:[p.kE,p.X],pressedOn:"movingRight",stopOnRelease:!1},buttonPlayUp:{movement:[p.lE,p.X],pressedOn:"movingUp",stopOnRelease:!1},buttonPlayDown:{movement:[p.iE,
p.X],pressedOn:"movingDown",stopOnRelease:!1},buttonZoomIn:{movement:p.zt,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:p.At,pressedOn:"zoomingOut",stopOnRelease:!0}};return w});
define("cy",["require","nq","cX","id"],function(a){var d=a("nq"),h=a("cX"),m=a("id");a=d.define("PanoramaPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Wg,this.Lu,this),k.set("panorama",this.get("media")),k.set("camera",this.get("camera")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Wg,this.Lu,this),k.get("panorama")==this.get("media")&&k.set("panorama",null));m.prototype.stop.call(this)};
a.prototype.Lu=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Wg,this.Lu,this),this.get("player").bind(h.Xl,this.Zx,this),this.Vy())};a.prototype.Zx=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Xl,this.Zx,this),this.stop(),this.end())};return a});define("lm",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PanoramaSnapshot",d,function(){d.call(this)})});
define("mV",["require","li","co"],function(a){var d=a("li"),h=a("co");a=d.extend(h,function(m,k,b,g){h.call(this);this.fd=m;this.ia=k;this.ua=b;this.e4=g});a.prototype.Ks=function(){return[this.fd]};a.prototype.ui=function(){return this.fd};a.prototype.rd=function(){return this.ia};a.prototype.ce=function(){return this.ua};return a});
define("ow",["require","nq","ek","fX","mV"],function(a){var d=a("nq"),h=a("ek"),m=a("fX"),k=a("mV");a=d.define("Photo",h,function(){h.call(this);this.wa=void 0});a.prototype.Fj=function(){if(void 0==this.wa){var b=this.get("image");this.wa=b?new k(m.zq(b).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally",!1)):null}return this.wa};a.prototype.Js=function(){var b=this.IS(this.Fj());this.get("audios",[]).forEach(function(g){b=b.concat(g.Js())}.bind(this));return b};a.prototype.IS=
function(b){return b?b.Ks():[]};return a});define("jq",["require","ek","nq"],function(a){var d=a("ek");a=a("nq").define("PhotoAlbum",d,function(){d.call(this);this.set("loop",!1)});a.prototype.Js=function(){var h=[],m=this.get("playList");m&&m.get("items",[]).forEach(function(k){(k=k.get("media"))&&(h=h.concat(k.Js()))});this.get("audios",[]).forEach(function(k){h=h.concat(k.Js())});return h};return a});
define("gx",["require","hP","nq","iK"],function(a){var d=a("hP"),h=a("nq"),m=a("iK");return h.define("PhotoAlbumAudio",m,function(){m.call(this,d.wBa)})});
define("cV",["require","kK"],function(a){function d(m,k){this.j=m;this.$o=k;this.CE=[];this.mr=[];this.sq=1}var h=a("kK");d.prototype.clear=function(){for(var m=0;m<this.CE.length;m++)this.CE[m].Id(h.T);this.gDa();this.mr=this.CE=null};d.prototype.stop=function(){for(var m=0;m<this.mr.length;m++)this.mr[m].Id(h.T)};d.prototype.play=function(){for(var m=0;m<this.mr.length;m++){var k=this.mr[m];k.getState()!=h.X&&k.Id(h.X)}};d.prototype.pause=function(){for(var m=0;m<this.mr.length;m++){var k=this.mr[m];
k.getState()==h.X&&k.Id(h.Db)}};d.prototype.start=function(){this.stop();for(var m=0;m<this.$o.length;m++){var k=this.$o[m],b=k.hD();b&&(this.CE.push(b),k.get("autoplay",!1)&&this.mr.push(b))}for(m=0;m<this.mr.length;m++)this.mr[m].Id(h.X)};d.prototype.wd=function(){};d.prototype.gDa=function(){for(var m=0;m<this.CE.length;m++)this.CE[m].cw(1)};return d});
define("hZ",["require","li","cV"],function(a){var d=a("li"),h=a("cV");return d.extend(h,function(m,k){h.call(this,m,k.get("audios",[]));this.fV=k})});define("hm",["require","li","cV"],function(a){var d=a("li"),h=a("cV");return d.extend(h,function(m,k){h.call(this,m,k.get("audios",[]));this.af=k})});
define("ja",["require","hZ","hm"],function(a){function d(k){this.j=k;this.Ei=[];this.li=[]}var h=a("hZ"),m=a("hm");d.prototype.clear=function(){this.sza();this.li=this.Ei=null};d.prototype.sza=function(){for(var k=0;k<this.Ei.length;k++)this.Ei[k].clear();for(k=0;k<this.li.length;k++)this.li[k].clear();this.Ei=[];this.li=[]};d.prototype.pause=function(){for(var k=0;k<this.Ei.length;k++)this.Ei[k].pause();for(k=0;k<this.li.length;k++)this.li[k].pause()};d.prototype.play=function(){for(var k=0;k<this.Ei.length;k++)this.Ei[k].play();
for(k=0;k<this.li.length;k++)this.li[k].play()};d.prototype.stop=function(){for(var k=0;k<this.Ei.length;k++)this.Ei[k].stop();for(k=0;k<this.li.length;k++)this.li[k].clear();this.li=[]};d.prototype.oZa=function(k){k=new h(this.j,k);this.li.push(k);k.start()};d.prototype.sZa=function(k){for(var b=0;b<this.li.length;b++)if(this.li[b].fV==k){this.li[b].clear();this.li.splice(b,1);break}};d.prototype.Fda=function(k){k=new m(this.j,k);this.Ei.push(k);k.start()};d.prototype.qZa=function(k){for(var b=0;b<
this.Ei.length;b++)if(this.Ei[b].af==k){this.Ei[b].clear();this.Ei.splice(b,1);break}};d.prototype.wd=function(k){for(var b=0;b<this.Ei.length;b++)this.Ei[b].wd(k);for(b=0;b<this.li.length;b++)this.li[b].wd(k)};return d});
define("bJ",["require","li","lX"],function(a){function d(){this.va=!0;this.Ja=this.Ga=.5;this.ib=1;this.yf=h.qh;this.dm=this.em=100}a("li");var h=a("lX");d.prototype.getX=function(){this.Um();return this.Ga};d.prototype.getY=function(){this.Um();return this.Ja};d.prototype.Bq=function(){this.Um();return this.ib};d.prototype.setConfiguration=function(m,k,b){this.yf=b;this.Ja=this.Ga=.5;this.ib=1;this.va=!0};d.prototype.setPosition=function(m,k,b){this.Ga=m;this.Ja=k;this.ib=b;this.va=!0};d.prototype.setSize=
function(m,k){this.em=m;this.dm=k;this.va=!0};d.prototype.Um=function(){if(this.va){this.va=!1;1>this.ib&&(this.ib=1);var m=Math.min(.5/this.ib,.5),k=Math.max(1-.5/this.ib,.5);this.Ga<m?this.Ga=m:this.Ga>k&&(this.Ga=k);m=Math.min(.5/this.ib,.5);k=Math.max(1-.5/this.ib,.5);this.Ja<m?this.Ja=m:this.Ja>k&&(this.Ja=k)}};return d});
define("bB",["require"],function(){function a(d,h){this.j=d;this.ga=h;this.Ja=this.Ga=.5;this.ib=1;this.CV=!1}a.prototype.start=function(){this.Ja=this.Ga=.5;this.ib=1;this.CV=!0};a.prototype.clear=function(){this.ga=this.j=null};a.prototype.setPosition=function(d,h,m){this.Ga=d;this.Ja=h;this.ib=m};a.prototype.We=function(){return this.CV};a.prototype.yb=function(){this.CV=!1};return a});
define("hF",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PhotoCameraPosition",d,function(h,m,k){d.call(this);void 0!=h&&this.set("x",h);void 0!=m&&this.set("y",m);void 0!=k&&this.set("zoomFactor",k)})});
define("i","require li bB hF nZ bE".split(" "),function(a){var d=a("li"),h=a("bB"),m=a("hF"),k=a("nZ"),b=a("bE");a=d.extend(h,function(g,e){h.call(this,g,e);this.V=null});a.prototype.start=function(g){var e=g.get("initialPosition",new m(.5,.5,1)),c=g.get("targetPosition",new m(.5,.5,1)),f=g.get("duration",1E3);0==f?(this.Ga=e.get("x"),this.Ja=e.get("y"),this.ib=e.get("zoomFactor")):this.V=new k(g.get("easing","linear"),[new b("x",e.get("x",.5),c.get("x",.5)),new b("y",e.get("y",.5),c.get("y",.5)),
new b("zoom",e.get("zoomFactor",1),c.get("zoomFactor",1))],f);this.yb(0)};a.prototype.clear=function(){this.V=null;h.prototype.clear.call(this)};a.prototype.We=function(){return null!=this.V};a.prototype.yb=function(g){this.V&&(this.V.yb(g),this.ga.setPosition(this.V.cb("x"),this.V.cb("y"),this.V.cb("zoom")),this.Ga=this.ga.getX(),this.Ja=this.ga.getY(),this.ib=this.ga.Bq(),this.V.Ke()&&(this.V=null))};return a});
define("cI","require li cw gf nq kK lX bJ bB i ox".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("nq"),b=a("kK"),g=a("lX"),e=a("bJ"),c=a("bB"),f=a("i"),l=a("ox"),p=d.extend(m,function(q,n){m.call(this);this.j=q;this.Td=n;this.j.bind(l.ic,this.ec,this);this.A=b.T;this.ul=this.fV=this.Ca=this.wa=null;this.ga=new e});p.prototype.clear=function(){this.end();this.ga=null;this.j.unbind(l.ic,this.ec,this);this.j=null};p.prototype.end=function(q){if(this.wa==q||"undefined"==typeof q)this.Eia(),
this.Ca=this.fV=this.wa=null};p.prototype.start=function(q){if(this.wa!=q){this.end(this.wa);var n=q.get("media"),r=q.get("camera"),u=n.get("width",100),t=n.get("height",100),v=r?r.get("scaleMode",g.qh):g.qh;this.wa=q;this.Ca=r;this.fV=n;n.Fj();this.W=!0;this.ga.setConfiguration(u,t,v);this.UFa(r);this.Ma()}};p.prototype.stop=function(){this.A!=b.T&&(this.A=b.T,this.ul&&(this.ul.start(this.Ca),this.Ma()))};p.prototype.play=function(){if(this.A==b.T||this.A==b.Db)this.A=b.X,this.Ma()};p.prototype.pause=
function(){this.A==b.X&&(this.A=b.Db)};p.prototype.Rv=function(q){this.ul&&this.ul.We()&&(this.A==b.X&&(this.ul.yb(q),this.Ma()),this.yl(this.ul.Ga,this.ul.Ja,this.ul.ib))};p.prototype.UFa=function(q){this.Eia();k.Ka("MovementPhotoCamera",q)?this.ul=new f(this.j,this.ga):this.ul=new c(this.j,this.ga);this.ul.start(q)};p.prototype.Eia=function(){this.ul&&(this.ul.clear(),this.ul=null)};p.prototype.ec=function(){this.ga.setSize(this.j.Wa(),this.j.xb());this.Ma()};p.prototype.Ma=function(){this.trigger(new h(p.Cb))};
p.prototype.yl=function(q,n,r){this.Td.setPosition(this.wa,q,n,r)};p.Cb="request frame";return p});
define("hT","require ed li cw gf ox hP lX".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("cw"),k=a("gf"),b=a("ox");a("hP");var g=a("lX"),e=h.extend(k,function(f,l){k.call(this);this.tN=[];this.N=f;this.j=l});e.prototype.preload=function(f){this.xx(f).preload();return this};e.prototype.nf=function(f,l){this.xx(f).nf(l);return this};e.prototype.dn=function(f,l){this.xx(f).dn(l);return this};e.prototype.setPosition=function(f,l,p,q){this.xx(f).setPosition(l,p,q);return this};e.prototype.Th=function(f){this.xx(f).Th()};
e.prototype.stop=function(){this.Zia(function(f){f.clear()});this.tN=[]};e.prototype.clear=function(){this.stop();this.j=this.N=this.tN=null};e.prototype.wd=function(){this.Zia(function(f){f.update()})};e.prototype.xx=function(f){var l=this.fHa(f);l||(l=new c(f,this.j),l.bind(c.tfa,this.vKa,this),l.bind(c.qfa,this.uKa,this),this.tN.push(l));return l};e.prototype.Zia=function(f){d(this.tN).each(f,this)};e.prototype.fHa=function(f){return d(this.tN).find(function(l){return l.getItem()==f})};e.prototype.vKa=
function(){this.Ma()};e.prototype.uKa=function(f){this.trigger(new m(e.Y_,{item:f.source.getItem()}))};e.prototype.Ma=function(){this.trigger(new m(e.Cb))};e.Cb="request frame";e.Y_="photo preload end";var c=h.extend(k,function(f,l){k.call(this);this.wa=f;this.j=l;this.yf=(l=f.get("camera"))?l.get("scaleMode",g.qh):g.qh;this.Ri=f.get("media").Fj();this.Ri.bind(b.Z,this.ld,this);this.Ri.bind(b.Gc,this.Kf,this);this.oa=c.rJ;this.Ja=this.Ga=.5;this.ib=1;this.yn=0;this.FE=!1;this.rg=0;this.va=!1});c.prototype.getItem=
function(){return this.wa};c.prototype.preload=function(){this.oa==c.rJ?this.mV():this.Nra()};c.prototype.nf=function(f){this.yn!=f&&(this.yn=f,this.Pe())};c.prototype.dn=function(f){this.rg!=f&&(this.rg=f,this.Pe())};c.prototype.setPosition=function(f,l,p){if(this.Ga!=f||this.Ja!=l||this.ib!=p)this.Ga=f,this.Ja=l,this.ib=p,this.Pe()};c.prototype.Th=function(){this.FE||(this.FE=!0,this.Pe())};c.prototype.clear=function(){this.oa==c.RQ&&this.MM();this.oa!=c.oJ&&this.oa!=c.qJ&&this.oa!=c.pJ||this.Ny();
this.Ri.unbind(b.Z,this.ld);this.Ri.unbind(b.Gc,this.Kf);this.Ri=null};c.prototype.update=function(){this.va&&(this.va=!1,-1<this.rg&&1>this.rg&&0<this.yn?(this.oa==c.rJ&&this.fL(),this.oa==c.oJ&&this.zCa(),this.oa==c.RQ&&(this.FE&&(this.j.Saa(this.Ri),this.FE=!1),this.j.Kq(this.Ri,this.yn),this.j.aYa(this.Ri,this.rg),this.j.NP(this.Ri,this.Ga,this.Ja,this.ib))):(this.oa==c.RQ&&this.MM(),this.oa!=c.oJ&&this.oa!=c.pJ||this.Ny()))};c.prototype.Pe=function(){this.va||(this.va=!0,this.Ba())};c.prototype.Ba=
function(){this.trigger(new m(c.tfa))};c.prototype.mV=function(){this.oa=c.qJ;this.j.bn(this.Ri);this.j.Vva(this.Ri)&&this.ld()};c.prototype.fL=function(){this.oa=c.pJ;this.j.bn(this.Ri);this.j.Vva(this.Ri)&&this.ld()};c.prototype.zCa=function(){this.oa=c.RQ;this.j.Haa(this.Ri);this.j.dYa(this.Ri,this.yf)};c.prototype.MM=function(){this.oa=c.oJ;this.j.removeItem(this.Ri)};c.prototype.Ny=function(){this.oa=c.rJ;this.j.aj(this.Ri)};c.prototype.ld=function(){if(this.oa==c.qJ||this.oa==c.pJ){var f=this.oa==
c.qJ;this.oa=c.oJ;this.Pe();f&&this.Nra()}};c.prototype.Kf=function(){if(this.oa==c.qJ||this.oa==c.pJ)this.oa=c.rJ};c.prototype.Nra=function(){this.trigger(new m(c.qfa))};c.tfa="requestUpdate";c.qfa="preloadEnd";c.rJ="unloaded";c.qJ="preloading";c.pJ="loading";c.oJ="loaded";c.RQ="added";return e});define("mY",["require"],function(){return{pn:"blending",Vo:"scroll"}});
define("ca","require ed li cw gf ox hT mY".split(" "),function(a){function d(f,l,p){this.Vm=f;this.item=l;this.transitionDuration=p;this.index=f&&l?h(f.get("playList").get("items")).indexOf(this.item):0;this.loaded=!1}var h=a("ed"),m=a("li"),k=a("cw"),b=a("gf");a("ox");var g=a("hT"),e=a("mY");d.prototype.isEqual=function(f){return f&&f.Vm==this.Vm&&f.item==this.item};var c=m.extend(b,function(f,l,p){b.call(this);this.N=f;this.j=l;this.Td=p;this.Td.bind(g.Y_,this.Coa,this);this.ON=e.pn;this.oa=c.uE;
this.Hf=new d(null,null,0);this.Xt=this.lk=this.bh=null;this.PN=void 0;this.Ay=0});c.prototype.QYa=function(f){this.ON=f};c.prototype.tda=function(f){this.Ay=f};c.prototype.Qda=function(f,l,p){this.lk=null;f=new d(f,l,p);f.isEqual(this.oa==c.uE?this.Hf:this.bh)||(this.lk=f,this.wna())};c.prototype.clear=function(){this.oa!=c.UQ&&this.oa!=c.SQ||this.trigger(new k(c.rw,{album:this.bh.Vm,item:this.bh.item}));this.oa=c.uE;this.j=this.N=this.Xt=this.Hf=this.bh=this.lk=null;this.Td.unbind(g.Y_,this.Coa,
this);this.Td=null};c.prototype.wd=function(f){this.oa!=c.uE&&(this.PN+=f,f=this.bh.transitionDuration,f=this.PN>=f?1:this.PN/f,this.oa==c.SQ?this.qRa(f):this.oa==c.TQ?this.rRa(f):this.ON==e.pn?this.cRa(f):this.WRa(f),1>f?this.Ma():this.sx())};c.prototype.qRa=function(f){this.Td.nf(this.bh.item,f).dn(this.bh.item,0)};c.prototype.rRa=function(f){this.Td.nf(this.Hf.item,1-f).dn(this.Hf.item,0)};c.prototype.cRa=function(f){this.Td.nf(this.bh.item,Math.min(1,2*f)).dn(this.bh.item,0);this.Td.nf(this.Hf.item,
Math.min(1,2*(1-f))).dn(this.Hf.item,0)};c.prototype.WRa=function(f){var l=this.Hf.Vm!=this.bh.Vm||this.Hf.index<this.bh.index;this.Td.dn(this.bh.item,(l?1-f:f-1)*(1+this.Ay)).nf(this.bh.item,1);this.Td.dn(this.Hf.item,(l?-f:f)*(1+this.Ay)).nf(this.Hf.item,1)};c.prototype.wna=function(){this.lk&&this.oa==c.uE&&(this.lk.item&&!this.lk.loaded?this.Td.preload(this.lk.item):this.ap())};c.prototype.Coa=function(f){this.lk&&this.lk.item==f.data.item&&(this.lk.loaded=!0,this.wna())};c.prototype.ap=function(){this.Xt&&
this.Xt!=this.lk.Vm&&(this.trigger(new k(c.Ho,{album:this.Xt})),this.Xt=null);this.trigger(new k(c.e0));"fade_out_fade_in"==this.N.get("transitionMode")&&null!=this.lk.item&&null!=this.Hf.item?(this.oa=c.TQ,this.bh=new d(this.Hf.Vm,null,this.Hf.transitionDuration)):(this.bh=this.lk,this.lk=null,this.Hf.item)?this.bh.item?this.oa=c.UQ:this.Hf.item&&(this.oa=c.TQ):this.oa=c.SQ;if(this.oa==c.UQ||this.oa==c.SQ)this.Td.Th(this.bh.item),this.trigger(new k(c.Uz,{album:this.bh.Vm,item:this.bh.item}));this.PN=
0;this.Ma()};c.prototype.sx=function(){this.oa!=c.UQ&&this.oa!=c.TQ||this.trigger(new k(c.rw,{album:this.Hf.Vm,item:this.Hf.item}));this.Hf=this.bh;this.Xt!=this.Hf.Vm&&(this.Xt=this.Hf.Vm,this.trigger(new k(c.Io,{album:this.Xt})));this.oa=c.uE;null==this.lk?(this.Hf.item&&this.trigger(new k(c.Vz,{album:this.Hf.Vm,item:this.Hf.item})),this.trigger(new k(c.Mo,{album:this.Hf.Vm,item:this.Hf.item}))):this.ap()};c.prototype.Ma=function(){this.trigger(new k(c.Cb))};c.uE="stopped";c.UQ="blending";c.TQ=
"fading_out";c.SQ="fading_in";c.Cb="request frame";c.e0="transition begin";c.Mo="transition end";c.Uz="photo added";c.rw="photo removed";c.Vz="photo displayed";c.Io="photo album show";c.Ho="photo album hide";return c});
define("fB","require ed li cw gf ox nq lX hF bJ bB i nZ bE".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("cw"),k=a("gf"),b=a("ox"),g=a("nq"),e=a("lX"),c=a("hF"),f=a("bJ");a("bB");a("i");var l=a("nZ"),p=a("bE"),q=h.extend(k,function(n,r,u){k.call(this);this.N=n;this.j=r;this.Td=u;this.Zn=this.Mn=this.wa=this.af=this.ab=null;this.Nm=void 0;this.pW=0;this.qk=!1;this.rg=0;this.OT=this.Zn?-1:0;this.MT=this.Mn?1:0;this.V=null;this.Pg=400;this.Ay=0;this.ga=new f});q.prototype.clear=function(){this.Td=
this.j=this.N=this.Xt=null};q.prototype.DXa=function(n,r){this.af=n;this.wa=r;n=n&&n.get("playList")&&n.get("playList").get("items")||[];r=d(n).indexOf(r);this.Mn=0<r?n[r-1]:null;this.Zn=r<n.length-1?n[r+1]:null;this.rg=0;this.OT=this.Zn?-1:0;this.MT=this.Mn?1:0;this.mV()};q.prototype.enable=function(){if(this.ab=this.j.getParent())this.ab.bind(b.vb,this.Nd,this,!0),this.ab.bind(b.hc,this.qj,this,!0),this.ab.bind(b.Zb,this.rj,this,!0),this.mV()};q.prototype.disable=function(){this.ab&&(this.ab.unbind(b.vb,
this.Nd,this),this.ab.unbind(b.hc,this.qj,this),this.ab.unbind(b.Zb,this.rj,this),this.ab=null)};q.prototype.PYa=function(n){this.Pg=n};q.prototype.tda=function(n){this.Ay=n};q.prototype.mV=function(){this.ab&&(this.Mn&&this.Td.preload(this.Mn),this.Zn&&this.Td.preload(this.Zn))};q.prototype.fma=function(){return(new Date).getTime()};q.prototype.Nd=function(n){this.qk||(this.Nm=n.x,this.pW=0,this.c8=this.fma(),this.qk=!0,this.V=null,this.trigger(new m(q.F_)),this.Mn&&(n=this.dka(this.Mn),this.Td.setPosition(this.Mn,
n.x,n.y,n.zoom)),this.Zn&&(n=this.dka(this.Zn),this.Td.setPosition(this.Zn,n.x,n.y,n.zoom)))};q.prototype.qj=function(n){if(this.qk){var r=n.x-this.Nm,u=r/this.ab.Wa(),t=this.fma()-this.c8;this.pW=r/t;this.c8+=t;this.Nm=n.x;this.rg=Math.max(this.OT,Math.min(this.MT,this.rg+u));this.Ma()}};q.prototype.rj=function(){if(this.qk){this.qk=!1;if(1<this.pW){var n="quad_out";var r=this.MT}else-1>this.pW?(n="quad_out",r=this.OT):(n="quad_in_out",r=-.5>this.rg?this.OT:.5<this.rg?this.MT:0);this.V=new l(n,[new p("offset",
this.rg,r,1E3/this.Pg)],0);this.Ma()}};q.prototype.wd=function(n){if(this.qk||this.V)this.V&&(this.V.yb(n),this.rg=this.V.cb("offset"),this.V.Ke()?(this.V=null,this.MGa()):this.Ma()),this.wa&&this.Td.dn(this.wa,this.rg*(1+this.Ay)).nf(this.wa,1),this.Mn&&this.Td.dn(this.Mn,(this.rg-1)*(1+this.Ay)).nf(this.Mn,1),this.Zn&&this.Td.dn(this.Zn,(this.rg+1)*(1+this.Ay)).nf(this.Zn,1)};q.prototype.MGa=function(){this.trigger(new m(q.G_,{album:this.af,item:0>this.rg?this.Zn:0<this.rg?this.Mn:this.wa}))};q.prototype.Ma=
function(){this.trigger(new m(q.Cb))};q.prototype.dka=function(n){var r=n&&n.get("camera"),u=n&&n.get("media");n=u&&u.get("width",100)||100;u=u&&u.get("height",100)||100;var t=r?r.get("scaleMode",e.qh):e.qh,v={};g.Ka("MovementPhotoCamera",r)?(r=r.get("initialPosition",new c(.5,.5,1)),v.x=r.get("x",.5),v.y=r.get("y",.5),v.zoom=r.get("zoomFactor",.5)):(v.x=.5,v.y=.5,v.zoom=1);this.ga.setConfiguration(n,u,t);this.ga.setSize(this.j.Wa(),this.j.xb());this.ga.setPosition(v.x,v.y,v.zoom);v.x=this.ga.getX();
v.y=this.ga.getY();v.zoom=this.ga.Bq();return v};q.Cb="request frame";q.F_="interaction begin";q.G_="interaction end";return q});
define("jd","require li cw gf ox hT mY ca fB".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf");a("ox");a("hT");var k=a("mY"),b=a("ca"),g=a("fB"),e=d.extend(m,function(c,f,l){m.call(this);this.N=c;this.j=f;this.Td=l;this.ON=k.pn;this.Pg=1E3;this.Jb=new b(this.N,this.j,this.Td);this.Jb.bind(b.Cb,this.Ge,this,!0);this.Jb.bind(b.e0,this.wma,this,!0);this.Jb.bind(b.Mo,this.xma,this,!0);this.Jb.bind(b.Uz,this.YL,this,!0);this.Jb.bind(b.rw,this.aM,this,!0);this.Jb.bind(b.Vz,this.$L,this,!0);this.Jb.bind(b.Ho,
this.Hp,this,!0);this.Jb.bind(b.Io,this.Qn,this,!0);this.fl=new g(this.N,this.j,this.Td);this.fl.bind(g.Cb,this.Ge,this,!0);this.fl.bind(g.F_,this.Ala,this,!0);this.fl.bind(g.G_,this.Bla,this,!0)});e.prototype.MZ=function(c,f){this.ON=c;this.Pg=f;this.Jb.QYa(c);this.fl.PYa(f);this.Jb.tda(.05);this.fl.tda(.05)};e.prototype.display=function(c,f){this.Jb.Qda(c,f,this.Pg)};e.prototype.hide=function(){this.Jb.Qda(null,null,this.Pg)};e.prototype.clear=function(){this.Jb.unbind(b.Cb,this.Ge,this);this.Jb.unbind(b.e0,
this.wma,this);this.Jb.unbind(b.Mo,this.xma,this);this.Jb.unbind(b.Uz,this.YL,this);this.Jb.unbind(b.rw,this.aM,this);this.Jb.unbind(b.Vz,this.$L,this);this.Jb.unbind(b.Ho,this.Hp,this);this.Jb.unbind(b.Io,this.Qn,this);this.Jb.clear();this.Jb=null;this.fl.bind(g.Cb,this.Ge,this,!0);this.fl.bind(g.F_,this.Ala,this,!0);this.fl.bind(g.G_,this.Bla,this,!0);this.fl.clear();this.Td=this.j=this.N=this.fl=null};e.prototype.wd=function(c){this.Jb.wd(c);this.fl.wd(c)};e.prototype.Ge=function(){this.Ma()};
e.prototype.YL=function(c){this.trigger(new h(e.Uz,c.data))};e.prototype.aM=function(c){this.trigger(new h(e.rw,c.data))};e.prototype.$L=function(c){this.trigger(new h(e.Vz,c.data));this.fl.DXa(c.data.album,c.data.item)};e.prototype.Hp=function(c){this.trigger(new h(e.Ho,c.data))};e.prototype.Qn=function(c){this.trigger(new h(e.Io,c.data))};e.prototype.wma=function(){this.fl.disable()};e.prototype.xma=function(c){this.ON==k.Vo&&c.data.item&&this.fl.enable();c.data.album||this.trigger(new h(e.C_))};
e.prototype.Ala=function(){this.trigger(new h(e.tea))};e.prototype.Bla=function(c){this.Jb.Qda(c.data.album,c.data.item,0);this.trigger(new h(e.uea,c.data))};e.prototype.Ma=function(){this.trigger(new h(e.Cb))};e.Cb="request frame";e.Uz="photo added";e.rw="photo removed";e.Vz="photo displayed";e.Io="photo album show";e.Ho="photo album hide";e.tea="manual interaction begin";e.uea="manual interaction end";e.C_="all pending photo albums hidden";return e});
define("iv","require ed li y cw gf kK".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("y"),k=a("cw"),b=a("gf"),g=a("kK"),e=h.extend(b,function(){b.call(this);this.af=null;this.A=g.T;this.W8=null});e.prototype.clear=function(){this.fba()};e.prototype.Fda=function(c){this.fba();this.af=c;this.A=g.X;this.W8=m.Vs(this.af,"playList.selectedIndex",this.zC,this);0==this.af.get("playList").get("selectedIndex")?this.zC():this.af.get("playList").set("selectedIndex",0)};e.prototype.fba=function(){this.af&&
(this.A=g.T,this.W8.Az(),this.af=this.W8=null)};e.prototype.stop=function(){this.A!=g.T&&(this.A=g.T,this.af.get("playList").set("selectedIndex",0))};e.prototype.play=function(){this.A==g.T?(this.af.get("playList").set("selectedIndex",0),this.A=g.X,this.zC()):this.A==g.Db&&(this.A=g.X)};e.prototype.pause=function(){this.A==g.X&&(this.A=g.Db)};e.prototype.next=function(){var c=this.af.get("playList"),f=c.get("selectedIndex"),l=c.get("items").length;(f<l-1||this.af.get("loop"))&&c.set("selectedIndex",
(f+1)%l)};e.prototype.Aca=function(){var c=this.af.get("playList"),f=c.get("selectedIndex"),l=c.get("items").length;(0<f||this.af.get("loop"))&&c.set("selectedIndex",(f-1+l)%l)};e.prototype.JY=function(c){this.TOa(c)};e.prototype.NVa=function(c){if(this.af){var f=d(this.af.get("playList").get("items")).last();c!=f||this.af.get("loop")?this.next():(this.A=g.T,this.trigger(new k(e.y_,{album:this.af})))}};e.prototype.zC=function(){var c=this.XIa();0<=c&&(this.A!=g.X&&0!=c?this.trigger(new k(e.a0)):this.trigger(new k(e.K_,
{album:this.af,item:this.af.get("playList").get("items")[c]})))};e.prototype.XIa=function(){return this.af?this.af.get("playList").get("selectedIndex"):-1};e.prototype.TOa=function(c){if(this.af){var f=this.af.get("playList");c=d(f.get("items")).indexOf(c);f.set("selectedIndex",c)}};e.a0="play request";e.K_="item request";e.y_="album end";return e});
define("cP","require ed li ox cw gf kK ha".split(" "),function(a){a("ed");var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("kK"),g=a("ha"),e=d.extend(k,function(c){k.call(this);this.N=c;this.GN=this.wa=null;this.pC=void 0;this.pT=!1;this.A=b.T;g.bind(h.ta,this.moa,this,!0)});e.prototype.JY=function(c){this.t3();if(this.wa=c)c=this.wa.get("media").get("duration",0),this.pC=0==c?void 0:Math.max(0,c-this.N.get("transitionDuration")),this.pT=!1,this.A==b.X&&this.Q3()};e.prototype.clear=function(){g.unbind(h.ta,
this.moa,this,!0);this.JY(null)};e.prototype.stop=function(){this.A!=b.T&&(this.t3(),this.yc(b.T))};e.prototype.play=function(){if(this.A==b.T){if(this.yc(b.X),this.wa){this.pT=!1;var c=this.wa.get("media").get("duration",0);this.pC=0==c?void 0:c;this.Q3()}}else this.A==b.Db&&(this.yc(b.X),this.wa&&this.Q3())};e.prototype.pause=function(){this.A==b.X&&(this.yc(b.Db),this.zoa())};e.prototype.Q3=function(){this.pT||(this.pT=!0,this.trigger(new m(e.L_,{item:this.wa})));this.jja()};e.prototype.moa=function(){g.visible?
this.jja():g.visible||this.zoa()};e.prototype.jja=function(){if(void 0!==this.pC){var c=this;this.KW=(new Date).getTime()+this.pC;this.GN=setTimeout(function(){c.GN=null;c.lQa()},this.pC)}else this.KW=void 0};e.prototype.t3=function(){this.GN&&(clearTimeout(this.GN),this.GN=null)};e.prototype.zoa=function(){void 0!==this.KW&&(this.t3(),this.pC=Math.max(1,this.KW-(new Date).getTime()),this.KW=void 0)};e.prototype.lQa=function(){var c=this.wa;this.wa=null;this.pC=void 0;this.trigger(new m(e.J_,{item:c}))};
e.prototype.yc=function(c){this.A!=c&&(this.A=c,this.trigger(new m(e.Cc,{state:this.A})))};e.Cc="playback state change";e.L_="item start";e.J_="item end";return e});
define("no","require li cw gf bg v".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("gf"),k=a("bg"),b=a("v"),g=d.extend(m,function(e){m.call(this);this.W=!0;this.hB=!1;this.j=e;this.sm=b.browser()==b.Gz&&b.de()==b.S0?3:1;this.Fe=this.rK=0});g.prototype.clear=function(){this.W=!1;this.j=null;this.Fe=this.rK=0};g.prototype.requestFrame=function(){this.hB||(this.hB=!0,k.requestFrame(this.tj,this))};g.prototype.tj=function(e){this.W&&(this.rK++,this.Fe+=e,this.rK==this.sm?(this.rK=0,this.hB=!1,e=this.Fe,
this.Fe=0,this.trigger(new h(g.Ko,{frameTime:e})),this.trigger(new h(g.Lo,{frameTime:e})),this.j.render()):k.requestFrame(this.tj,this))};g.Ko="frameStart";g.Lo="positionSet";return g});
define("gy","require li ox cw gf ja cI jd iv cP hT no".split(" "),function(a){var d=a("li");a("ox");var h=a("cw"),m=a("gf"),k=a("ja"),b=a("cI"),g=a("jd"),e=a("iv"),c=a("cP"),f=a("hT"),l=a("no"),p=d.extend(m,function(q,n){m.call(this);this.N=q;this.j=n;this.j.set("visible",!1);this.Jh=new e(this.j);this.Ia=new c(this.N);this.Td=new f(this.N,this.j);this.Pa=new g(this.N,this.j,this.Td);this.bb=new b(this.j,this.Td);this.hg=new l(this.j);this.Jd=new k(this.j);this.Td.bind(f.Cb,this.Ge,this,!0);this.Jh.bind(e.K_,
this.Oma,this,!0);this.Jh.bind(e.a0,this.Ana,this,!0);this.Jh.bind(e.y_,this.ZL,this,!0);this.Ia.bind(c.L_,this.Pma,this);this.Ia.bind(c.J_,this.Nma,this);this.Ia.bind(c.Cc,this.Qe,this,!0);this.Pa.bind(g.Cb,this.Ge,this,!0);this.Pa.bind(g.Uz,this.YL,this,!0);this.Pa.bind(g.rw,this.aM,this,!0);this.Pa.bind(g.Vz,this.$L,this,!0);this.Pa.bind(g.Ho,this.Hp,this,!0);this.Pa.bind(g.Io,this.Qn,this,!0);this.Pa.bind(g.tea,this.qLa,this,!0);this.Pa.bind(g.uea,this.rLa,this,!0);this.Pa.bind(g.C_,this.nma,
this,!0);this.bb.bind(b.Cb,this.Ge,this,!0);this.hg.bind(l.Ko,this.$x,this,!0);this.hg.bind(l.Lo,this.ay,this,!0)});p.prototype.clear=function(){this.Jh.clear();this.Ia.clear();this.Pa.clear();this.bb.clear();this.hg.clear();this.Jd.clear();this.Td.clear();this.Td.unbind(f.Cb,this.Ge,this);this.Jh.unbind(e.K_,this.Oma,this);this.Jh.unbind(e.y_,this.ZL,this);this.Jh.unbind(e.a0,this.Ana,this);this.Ia.unbind(c.L_,this.Pma,this);this.Ia.unbind(c.J_,this.Nma,this);this.Ia.unbind(c.Cc,this.Qe,this);this.Pa.unbind(g.Cb,
this.Ge,this);this.Pa.unbind(g.Uz,this.YL,this);this.Pa.unbind(g.rw,this.aM,this);this.Pa.unbind(g.Vz,this.$L,this);this.Pa.unbind(g.Ho,this.Hp,this);this.Pa.unbind(g.Io,this.Qn,this);this.Pa.unbind(g.C_,this.nma,this);this.bb.unbind(b.Cb,this.Ge,this);this.hg.unbind(l.Ko,this.$x,this);this.hg.unbind(l.Lo,this.ay,this);this.N=this.j=this.Td=this.Jd=this.hg=this.bb=this.Pa=this.Ia=this.Jh=null};p.prototype.MZ=function(q,n){this.Pa.MZ(q,n)};p.prototype.tYa=function(q){this.j.set("visible",!0);this.Jh.Fda(q)};
p.prototype.Wv=function(){this.Jh.fba();this.Ia.stop();this.Pa.hide();this.bb.end();this.Jd.sza()};p.prototype.next=function(){this.Jh.next()};p.prototype.Aca=function(){this.Jh.Aca()};p.prototype.stop=function(){this.Ia.stop();this.Jd.stop();this.Jh.stop();this.bb.stop()};p.prototype.play=function(){this.Ia.play();this.Jd.play();this.Jh.play();this.bb.play()};p.prototype.pause=function(){this.Ia.pause();this.Jd.pause();this.Jh.pause();this.bb.pause()};p.prototype.qLa=function(){this.Ia.pause();this.Jd.pause();
this.Jh.pause();this.bb.pause()};p.prototype.rLa=function(){this.Ia.play();this.Jd.play();this.Jh.play();this.bb.play()};p.prototype.Oma=function(q){this.Pa.display(q.data.album,q.data.item)};p.prototype.Ana=function(){this.play()};p.prototype.Ge=function(){this.hg.requestFrame()};p.prototype.$x=function(q){this.bb.Rv(q.data.frameTime)};p.prototype.ay=function(q){q=q.data.frameTime;this.Pa.wd(q);this.Td.wd(q);this.Jd.wd(q)};p.prototype.YL=function(q){this.bb.start(q.data.item)};p.prototype.aM=function(q){var n=
q.data.album;q=q.data.item;var r=q.get("media");this.bb.end(q);this.Jd.sZa(r);this.trigger(new h(p.X_,{photoAlbum:n,item:q}))};p.prototype.$L=function(q){var n=q.data.album;q=q.data.item;q.get("media");this.Jh.JY(q);this.Ia.JY(q);this.trigger(new h(p.W_,{photoAlbum:n,item:q}))};p.prototype.Pma=function(q){q=q.data.item.get("media");this.Jd.oZa(q)};p.prototype.Nma=function(q){this.Jh.NVa(q.data.item)};p.prototype.ZL=function(q){this.Ia.stop();this.Jd.stop();this.trigger(new h(p.V_,{photoAlbum:q.data.album}))};
p.prototype.Qn=function(q){q=q.data.album;this.Jd.Fda(q);this.Ia.play();this.bb.play();this.trigger(new h(p.Io,{photoAlbum:q}))};p.prototype.Hp=function(q){q=q.data.album;this.Jd.qZa(q);this.trigger(new h(p.Ho,{photoAlbum:q}))};p.prototype.nma=function(){this.j.set("visible",!1)};p.prototype.Qe=function(q){this.trigger(new h(p.Cc,{state:q.data.state}))};p.Io="photoAlbumShow";p.V_="photoAlbumEnd";p.Ho="photoAlbumHide";p.W_="photoBegin";p.X_="photoEnd";p.Cc="playbackStateChange";return p});
define("hx","require jquery.mod ed lX lf lB v".split(" "),function(a){function d(e,c){this.wa=e;this.ka=c;this.Fb=e.rd();this.Sb=e.ce();this.tS=e.e4;this.Eaa=this.eL=0;this.yn=1;this.rg=0;this.va=!0;this.Q2();this.Ad=this.td=100;this.Ja=this.Ga=.5;this.ib=1;this.CM=!0;this.gf=1;this.hja={};this.Nka={};this.Jsa=g.browser()!=g.Xh}var h=a("jquery.mod"),m=a("ed"),k=a("lX"),b=a("lf");a("lB");var g=a("v");d.prototype.Q2=function(){this.OQ=h("<div></div>");var e={position:"absolute",left:"0",top:"0",width:this.td+
"px",height:this.Ad+"px",overflow:"hidden","-webkit-transform":"translateZ(0)"};e["-moz-transform-origin"]=e["-webkit-transform-origin"]=e["transform-origin"]="0 0 0";e["-ms-transform-origin"]="0 0";this.OQ.css(e);this.U0=h(b.lf(this.wa.ui(),!0));e={display:"block",position:"absolute",left:"0",top:"0",width:this.Fb+"px",height:this.Sb+"px"};e["-moz-transform-origin"]=e["-webkit-transform-origin"]=e["transform-origin"]="0 0 0";e["-ms-transform-origin"]="0 0";this.U0.css(e);this.OQ.append(this.U0)};
d.prototype.zc=function(){return this.OQ};d.prototype.getItem=function(){return this.wa};d.prototype.getX=function(){return this.Ga};d.prototype.getY=function(){return this.Ja};d.prototype.Bq=function(){return this.ib};d.prototype.Wa=function(){return Math.round(this.Fb*this.ib*this.gf)};d.prototype.xb=function(){return Math.round(this.Sb*this.ib*this.gf)};d.prototype.nf=function(e){this.yn!=e&&(this.yn=e,this.va=!0)};d.prototype.dY=function(){return this.yn};d.prototype.xz=function(e){this.yf!=e&&
(this.yf=e,this.va=!0)};d.prototype.HD=function(e,c){if(this.td!=e||this.Ad!=c)this.td=e,this.Ad=c,this.va=!0};d.prototype.setPosition=function(e,c,f){if(this.Ga!=e||this.Ja!=c||this.ib!=f)this.Ga=e,this.Ja=c,this.ib=f,this.va=!0};d.prototype.dn=function(e){this.rg!=e&&(this.rg=e,this.va=!0)};d.prototype.FXa=function(e){this.Eaa!=e&&(this.Eaa=e,this.va=!0)};d.prototype.render=function(){if(this.va){this.va=!1;switch(this.yf){case k.NONE:this.gf=1;break;case k.Oo:this.gf=this.td/this.Fb;break;case k.Nj:this.gf=
this.Ad/this.Sb;break;case k.Tq:this.gf=this.Fb*this.Ad>this.Sb*this.td?this.Ad/this.Sb:this.td/this.Fb;break;default:this.gf=this.Fb*this.Ad>this.Sb*this.td?this.td/this.Fb:this.Ad/this.Sb}var e=this.ib*this.gf,c=.5*this.td-this.Ga*this.Fb*e,f=.5*this.Ad-this.Ja*this.Sb*e,l=this.td*this.rg,p=function(n,r){return Math.round(n*Math.pow(10,r))*Math.pow(10,-r)},q={};q.width=p(this.td,0)+"px";q.height=p(this.Ad,0)+"px";q.transform=this.Jsa?"translate3d("+p(l,2)+"px, 0px, 0px)":"translate("+p(l,2)+"px, 0px)";
q["-moz-transform"]=q["-webkit-transform"]=q["-ms-transform"]=q.transform;q["z-index"]=this.Eaa;0==this.yn?q.display="none":(q.display="block",1==this.yn?(q.filter=q["-ms-filter"]="",q.opacity=""):(q.filter=q["-ms-filter"]="alpha(opacity="+Math.round(100*this.yn)+")",q.opacity=this.yn));l=[];this.Jsa?(l.push("translate3d("+p(c,2)+"px, "+p(f,2)+"px, 0px)"),l.push("scale3d("+e+", "+e+", "+e+")"),this.tS&&(l.push("translate3d("+this.Fb+"px, 0, 0)"),l.push("scale3d(-1, 1, 1)"))):(l.push("translate("+
p(c,2)+"px, "+p(f,2)+"px)"),l.push("scale("+e+", "+e+")"),this.tS&&(l.push("translate("+this.Fb+"px, 0)"),l.push("scale(-1, 1)")));e={};e["-moz-transform"]=e["-webkit-transform"]=e["-ms-transform"]=e.transform=l.join(" ");m.isEqual(this.hja,q)||(this.hja=q,this.OQ.css(q));m.isEqual(this.Nka,e)||(this.Nka=e,this.U0.css(e))}};return d});
define("hS","require jquery.mod ed li ox hP lf hx bc e".split(" "),function(a){var d=a("jquery.mod"),h=a("ed"),m=a("li"),k=a("ox"),b=a("hP"),g=a("lf"),e=a("hx"),c=a("bc"),f=a("e");a=m.extend(f,function(){f.call(this);this.we("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",c.jt);this.bind(k.ic,this.ec,this,!0);this.bind(k.hd,this.jk,this,!0);this.bind(k.sd,this.ek,this,!0);this.rC=!1;this.pc=[];this.kW=this.zv=!1;this.K7=d("<div/>");this.K7.css({position:"absolute",left:0,top:0,right:0,
bottom:0,overflow:"hidden","-webkit-transform":"translateZ(0)"});this.Ab().append(this.K7)});a.prototype.bn=function(l){g.bn(l,b.Qk)};a.prototype.aj=function(l){g.aj(l,b.Qk)};a.prototype.Vva=function(l){return g.UZ(l)};a.prototype.Haa=function(l){l=new e(l,this);l.HD(this.Wa(),this.xb());l.setPosition(.5,.5,0,1);this.K7.append(l.zc());this.pc.push(l);this.zv=!0};a.prototype.removeItem=function(l){if(l=this.pp(l))this.pc=h.without(this.pc,l),l.zc().detach(),this.zv=!0};a.prototype.Saa=function(l){if(l=
this.pp(l))this.pc=h.without(this.pc,l),this.pc.push(l),this.zv=!0};a.prototype.dYa=function(l,p){this.pp(l).xz(p)};a.prototype.Kq=function(l,p){this.pp(l).nf(p)};a.prototype.aYa=function(l,p){this.pp(l).dn(p)};a.prototype.NP=function(l,p,q,n){this.pp(l).setPosition(p,q,n)};a.prototype.RO=function(l){return this.pp(l).getX()};a.prototype.SO=function(l){return this.pp(l).getY()};a.prototype.Nua=function(l){return this.pp(l).Bq()};a.prototype.QO=function(l){return this.pp(l).Wa()};a.prototype.PO=function(l){return this.pp(l).xb()};
a.prototype.render=function(){if(this.rC){this.NRa();this.qPa();for(var l=0;l<this.pc.length;l++)this.pc[l].render()}};a.prototype.NRa=function(){if(this.kW){this.kW=!1;for(var l=this.Wa(),p=this.xb(),q=0;q<this.pc.length;q++)this.pc[q].HD(l,p)}};a.prototype.qPa=function(){if(this.zv){this.zv=!1;for(var l=[],p=0;p<this.pc.length;p++){var q=this.pc[p],n={};n.NY=q.eL;n.index=p;n.renderer=q;l.push(n)}l.sort(function(r,u){return r.NY==u.NY?r.index-u.index:r.NY-u.NY});for(p=0;p<l.length;p++)l[p].renderer.FXa(p+
1)}};a.prototype.pp=function(l){if(this.J_a==l)return this.I_a;for(var p=null,q=0;q<this.pc.length&&!p;q++)this.pc[q].getItem()==l&&(p=this.pc[q]);return p};a.prototype.ec=function(){this.kW=!0;this.render()};a.prototype.jk=function(){this.rC=!0;this.render()};a.prototype.ek=function(){this.rC=!1};return a});
define("jY","require li cw nq jz ip gy mY hS ea ox".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("nq"),k=a("jz"),b=a("ip"),g=a("gy"),e=a("mY"),c=a("hS"),f=a("ea"),l=a("ox");a=m.define("PhotoAlbumPlayer",b,function(){b.call(this,"photoAlbum");this.OW=this.J7=this.Qh=!1;this.L=this.j=null;this.gEa=new k(this,"buttonNext",f.Ce);this.gEa.bind(l.pa,this.rna,this);this.hEa=new k(this,"buttonPrevious",f.Ce);this.hEa.bind(l.pa,this.Kna,this);this.$d=d.zo(this.Qg,this)});a.prototype.next=function(){this.rna()};
a.prototype.pause=function(){this.aC()};a.prototype.play=function(){this.bC()};a.prototype.previous=function(){this.Kna()};a.prototype.stop=function(){this.hy()};a.prototype.restart=function(){this.by()};a.prototype.set=function(p,q){if(this.get(p)!=q){switch(p){case "photoAlbum":this.J7=!0;this.$d();break;case "viewerArea":this.Qh=!0;this.$d();break;case "touchTransition":case "mouseTransition":case "touchTransitionDuration":case "mouseTransitionDuration":case "transitionDuration":this.OW=!0,this.$d()}b.prototype.set.call(this,
p,q)}};a.prototype.Qg=function(){this.Qh&&(this.Qh=!1,this.OW=!0,this.Yt(),this.get("viewerArea")&&this.Vt(),this.jN(this.get("viewerArea")));this.j&&this.J7&&(this.J7=!1,this.get("photoAlbum")?(this.wI(),this.L.tYa(this.get("photoAlbum"))):this.L.Wv());this.OW&&(this.OW=!1,this.Dsa())};a.prototype.aH=function(){this.set("photoAlbum",null)};a.prototype.Vt=function(){var p=this.get("viewerArea");this.j=new c;this.j.ja({left:0,top:0,bottom:0,right:0});p.Va(this.j);this.L=new g(p,this.j);this.Dsa();
this.L.bind(g.Io,this.Qn,this);this.L.bind(g.Ho,this.Hp,this);this.L.bind(g.V_,this.ZL,this);this.L.bind(g.W_,this.yna,this);this.L.bind(g.X_,this.zna,this);this.L.bind(g.Cc,this.Qe,this);this.Dy(!0)};a.prototype.Yt=function(){this.j&&(this.L.unbind(g.Io,this.Qn,this),this.L.unbind(g.Ho,this.Hp,this),this.L.unbind(g.V_,this.ZL,this),this.L.unbind(g.W_,this.yna,this),this.L.unbind(g.X_,this.zna,this),this.L.unbind(g.Cc,this.Qe,this),this.L.clear(),this.j.getParent().removeChild(this.j),this.j=null,
this.Dy(!1))};a.prototype.Dsa=function(){var p=this.get("viewerArea");p&&this.L&&(p.Jn?this.L.MZ(this.get("touchTransition",e.pn),this.get("touchTransitionDuration",p.get("transitionDuration",1E3))):this.L.MZ(this.get("mouseTransition",e.pn),this.get("mouseTransitionDuration",p.get("transitionDuration",1E3))))};a.prototype.Qe=function(p){this.yc(p.data.state)};a.prototype.Qn=function(p){this.qL(p.data.photoAlbum)};a.prototype.Hp=function(p){this.pL(p.data.photoAlbum)};a.prototype.ZL=function(p){p.data.photoAlbum.trigger(new h(l.sb))};
a.prototype.yna=function(p){p.data.item.Vy()};a.prototype.zna=function(p){p.data.item.end()};a.prototype.ji=function(p){this.j.getParent().ja({progressPercent:p.data.percent,progressVisible:!0})};a.prototype.eG=function(){this.j.getParent().set("progressVisible",!1)};a.prototype.rna=function(){this.L&&this.get("photoAlbum")&&this.L.next()};a.prototype.Kna=function(){this.L&&this.get("photoAlbum")&&this.L.Aca()};a.prototype.mk=function(){this.L&&this.get("photoAlbum")&&this.L.play()};a.prototype.ho=
function(){this.L&&this.get("photoAlbum")&&this.L.stop()};a.prototype.Op=function(){this.L&&this.get("photoAlbum")&&this.L.pause()};return a});
define("gQ",["require","nq","cX","id"],function(a){var d=a("nq"),h=a("cX"),m=a("id");a=d.define("PhotoAlbumPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Wg,this.Qn,this),k.set("photoAlbum",this.get("media")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Wg,this.Qn,this),k.get("photoAlbum")==this.get("media")&&k.set("photoAlbum",null));m.prototype.stop.call(this)};a.prototype.KI=function(){var k=
this.get("media");if(k){var b=k.get("playList");b&&(k=b.get("selectedIndex"),b=b.get("items"),0<=k&&b&&b[k].KI())}m.prototype.KI.call(this)};a.prototype.Qn=function(){this.get("player").unbind(h.Wg,this.Qn,this);this.get("player").bind(h.Xl,this.Hp,this);this.Vy()};a.prototype.Hp=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Xl,this.Hp,this),this.stop(),this.end())};return a});
define("lw",["require","hP","nq","iK"],function(a){var d=a("hP"),h=a("nq"),m=a("iK");return h.define("PhotoAudio",m,function(){m.call(this,d.xBa)})});define("nh",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PhotoCamera",d,function(){d.call(this)})});
define("eL","require ed lJ cw nq jk ox".split(" "),function(a){var d=a("ed"),h=a("lJ"),m=a("cw"),k=a("nq"),b=a("jk"),g=a("ox");a=k.define("PlayList",h,function(){h.call(this);this.hf=-1;this.ae=[];this.FM=this.ck=this.He=void 0});a.prototype.set=function(e,c){"selectedIndex"==e?this.SOa(c):"items"==e?this.DOa(c):h.prototype.set.call(this,e,c)};a.prototype.get=function(e,c){return"selectedIndex"==e?this.hf:"items"==e?this.ae:h.prototype.get.call(this,e,c)};a.prototype.dispose=function(){this.He&&(this.He.unbind(g.Qq,
this.cM,this),this.He.unbind(g.Ff,this.Nr,this),this.He.unbind(g.sb,this.Nr,this),this.He=null)};a.prototype.DOa=function(e){e=e||[];if(!d.isEqual(this.ae,e)){var c=this.hf;this.ae=e;e=this.Fpa(this.hf);this.trigger(new m(g.qQ,{nextSelectedIndex:e}));this.hf=e;this.uqa(this.xx(this.hf));this.tsa();this.trigger(new m(g.ta,{previousSelectedIndex:c}));h.prototype.set.call(this,"items",this.ae);h.prototype.set.call(this,"selectedIndex",this.hf)}};a.prototype.SOa=function(e){e=this.Fpa(e);if(this.hf!=
e){var c=this.hf;this.trigger(new m(g.qQ,{nextSelectedIndex:e}));this.hf=e;this.uqa(this.xx(this.hf));this.tsa();this.trigger(new m(g.ta,{previousSelectedIndex:c}));h.prototype.set.call(this,"selectedIndex",this.hf)}};a.prototype.Fpa=function(e){return Math.max(-1,Math.min(this.ae.length-1,e))};a.prototype.xx=function(e){return 0<=e?this.ae[e]:null};a.prototype.uqa=function(e){this.He==e&&void 0===this.ck||this.ck===e||(void 0===this.ck?(this.ck=e,this.He?this.ck&&this.He.get("player")==this.ck.get("player")?
(this.He.KI(),this.Nr()):this.iKa(this.He,this.ck)?(e=this.He,e.KI(),this.Nr(),e.Oza()):(this.kla(this.He,this.ck)&&this.He.get("media").get("modelLocations",[]).forEach(function(c){var f=!(c.get("model")!=this.ck.get("media")||!c.get("forceModelLoading"));c.set("preferred",f)}.bind(this)),this.He.stop()):this.Nr()):this.ck=e)};a.prototype.iKa=function(e,c){return this.jla(c,e)};a.prototype.kla=function(e,c){return this.jla(e,c)};a.prototype.jla=function(e,c){return c&&k.Ka("Model3DPlayListItem",
c)&&e&&k.Ka("PanoramaPlayListItem",e)&&e.get("player")&&e.get("player").get("model3DPlayer")==c.get("player")&&e.get("media").get("modelLocations",[]).find(function(f){return f.get("model")==c.get("media")&&(c.get("media").get("isLoaded")||f.get("forceModelLoading"))})};a.prototype.Nr=function(){this.He&&(this.He.unbind(g.Qq,this.cM,this),this.He.unbind(g.Ff,this.Nr,this),this.He.unbind(g.sb,this.Nr,this));this.ck?(this.kla(this.He,this.ck)&&this.He.get("player").bind(g.P0,this.iy,this,!0),this.He=
this.ck,this.ck=void 0,this.He.bind(g.Qq,this.cM,this),this.He.bind(g.Ff,this.Nr,this),this.He.start()):(this.ck=this.He=void 0,this.set("selectedIndex",-1))};a.prototype.iy=function(e){e.source.unbind(g.P0,this.iy,this);this.cM();this.He.Nza()};a.prototype.cM=function(){this.He.unbind(g.Qq,this.cM,this);this.He.unbind(g.Ff,this.Nr,this);this.He.bind(g.sb,this.Nr,this)};a.prototype.tsa=function(){this.FM&&b.XY(this.FM.get("media"),-1);(this.FM=this.ae&&0<=this.hf?this.ae[(this.hf+1)%this.ae.length]:
null)&&b.XY(this.FM.get("media"),1)};return a});define("ki",["require","nq","eL"],function(a){var d=a("nq"),h=a("eL");return d.define("PhotoPlayList",h,function(){h.call(this)})});define("kz",["require","nq","id"],function(a){var d=a("nq"),h=a("id");return d.define("PhotoPlayListItem",h,function(){h.call(this)})});define("ev",["require","gk","nq"],function(a){var d=a("gk");return a("nq").define("PlaybackBar",d,function(){d.call(this)})});
define("mR",["require"],function(){function a(m){try{for(var k=(h.lP<<12)+h.mP&65535,b="",g=0,e=m.length;g<e;){var c=d.indexOf(m.charAt(g++))<<12|d.indexOf(m.charAt(g++))<<6|d.indexOf(m.charAt(g++))<<0;c=c-k+65536&65535;b+=String.fromCharCode(c)}return b}catch(f){if("{%"==m.substr(0,2))return""}}var d="";[[65,26],[97,26],[48,10]].forEach(function(m){for(var k=0;k<m[1];k++)d+=String.fromCharCode(m[0]+k)});d+="+/";var h={yTa:"true"};h.lP=parseInt("0")||
0;h.mP=parseInt("1865")||1;h.rZa="true";h.name=a("Ad8AeNAefAeyAe8Ae9AeqAdpAeZAe1AeqAfCAeuAe7");h.dAa=a("");return h});define("ij",["require"],function(){return{Oa:"left",hb:"right",tc:"top",oc:"bottom"}});
define("dn",["require","li","ep","W","ij"],function(a){var d=a("li"),h=a("ep");a("W");a("ij");a=d.extend(h,function(){h.call(this)});a.prototype.zK=function(){return 0};a.prototype.AK=function(){return 0};a.prototype.XG=function(){h.prototype.XG.call(this);this.qx(function(m){m.rf(!0)})};a.prototype.hv=function(){h.prototype.hv.call(this);this.qx(function(m){m.SP(this.zK(m,this.Jk()));m.TP(this.AK(m,this.Jk()))})};a.prototype.VG=function(){this.qx(function(m){m.SP(this.zK(m,1));m.TP(this.AK(m,1))});
h.prototype.VG.call(this)};a.prototype.WG=function(){this.qx(function(m){m.SP(this.zK(m,0));m.TP(this.AK(m,0))});h.prototype.WG.call(this)};return a});
define("ng",["require","li","dn","ij"],function(a){var d=a("li"),h=a("dn"),m=a("ij");a=d.extend(h,function(){h.call(this)});a.prototype.zK=function(k,b){switch(this.get("from")){case m.tc:case m.oc:return 0;case m.Oa:var g=k.Ga;k=k.Wa();return isNaN(k)||isNaN(g)?1E4:(-g-k)*(1-b);default:g=k.getParent();if(!g)return 0;var e=g.kf();g=k.Ga;return isNaN(g)||isNaN(e)?1E4:(e-g)*(1-b)}};a.prototype.AK=function(k,b){switch(this.get("from")){case m.tc:var g=k.Ja;k=k.xb();return isNaN(k)||isNaN(g)?1E4:(-g-
k)*(1-b);case m.oc:g=k.getParent();if(!g)return 0;var e=g.jf();g=k.Ja;return isNaN(g)||isNaN(e)?1E4:(e-g)*(1-b);default:return 0}};a.prototype.WG=function(){this.qx(function(k){k.SP(0);k.TP(0);k.rf(!1)})};return a});
define("hv",["require","li","dn","W","ij"],function(a){var d=a("li"),h=a("dn");a("W");var m=a("ij");a=d.extend(h,function(){h.call(this)});a.prototype.zK=function(k,b){switch(this.get("to")){case m.tc:case m.oc:return 0;case m.Oa:var g=k.Ga;k=k.Wa();return isNaN(k)||isNaN(g)?1E4:(-g-k)*b;default:g=k.getParent();if(!g)return 0;var e=g.kf();g=k.Ga;return isNaN(g)||isNaN(e)?1E4:(e-g)*b}};a.prototype.AK=function(k,b){switch(this.get("to")){case m.tc:var g=k.Ja;k=k.xb();return isNaN(k)||isNaN(g)?1E4:(-g-
k)*b;case m.oc:g=k.getParent();if(!g)return 0;var e=g.jf();g=k.Ja;return isNaN(g)||isNaN(e)?1E4:(e-g)*b;default:return 0}};a.prototype.VG=function(){this.qx(function(k){k.SP(0);k.TP(0);k.rf(!1)})};return a});
define("H","require jquery.mod li ox ov v fL mL cL d nS ng hv ka".split(" "),function(a){function d(v){try{return window.localStorage.getItem(v)}catch(w){}}var h=a("jquery.mod"),m=a("li"),k=a("ox"),b=a("ov"),g=a("v"),e=a("fL"),c=a("mL"),f=a("cL"),l=a("d"),p=a("nS"),q=a("ng"),n=a("hv"),r=a("ka");a=m.extend(p,function(v){p.call(this);this.lc=v;this.Fi=this.AA=this.Sw=this.Cl=null;v=new q;v.set("duration",500);v.set("from","bottom");v=new n;v.set("duration",500);v.set("to","bottom");this.ja({creationPolicy:f.cA,
verticalAlign:c.ee,horizontalAlign:c.Ae,visible:!1,showEffect:this.Y_a,hideEffect:this.Z_a});this.T9="";v=this.MIa();!0===v?setTimeout(function(){this.trigger(k.dE)}.bind(this),0):void 0===v&&(this.lc.bind(k.G("cookiesPolicy"),this.lia,this),setTimeout(function(){this.lia()}.bind(this),0))});a.prototype.zb=function(){p.prototype.zb.call(this);this.ja({backgroundColor:"#1a1a1a",width:"100%",left:0,bottom:0});null==this.Cl&&(this.Cl=new r,this.Cl.ja({content:this.T9,fontColor:"#ffffff",fontWeight:"400",
fontFamily:"Open Sans, Arial, sans-serif",width:"100%"}),this.Va(this.Cl));null==this.Sw&&(this.Sw=new p,this.Va(this.Sw),this.Sw.ja({creationPolicy:f.cA,verticalAlign:c.ee,layout:l.Cg}));null==this.AA&&(this.AA=new e,this.AA.ja({backgroundColor:"#2aabe2",fontColor:"#ffffff",fontFamily:"Open Sans, Arial, sans-serif",label:b("accept").toUpperCase(),verticalAlign:"middle"}),this.Sw.Va(this.AA),this.AA.bind(k.pa,this.YDa,this,!0));null==this.IE&&(this.IE=new e,this.IE.ja({backgroundColor:"#1a1a1a",fontColor:"#808080",
fontFamily:"Open Sans, Arial, sans-serif",label:b("reject").toUpperCase(),textDecoration:"underline",verticalAlign:"middle"}),this.Sw.Va(this.IE),this.IE.bind(k.pa,this.jEa,this,!0))};a.prototype.bs=function(){p.prototype.bs.apply(this,arguments);var v=this.Ib();v&&(v.bind(k.ic,this.El,this,!0),this.El())};a.prototype.El=function(){var v=this.Ib();if(v){var w=g.mb(),x=v.xb()>v.Wa(),y=Math.min(v.Wa(),v.xb())/100;v=function(A){return Math.round(A*y)};this.ja({gap:w?v(4.63):20,paddingLeft:w?v(4.63):
20,paddingRight:w?v(4.63):20,paddingTop:w?v(4.63):14,paddingBottom:w?v(4.63):14,layout:w&&x?l.sh:l.Cg});this.Cl&&this.Cl.ja({fontSize:w?v(3.15):14,textAlign:w&&x?"center":"left"});this.Sw&&this.Sw.ja({gap:w?0:13});this.AA&&this.AA.ja({borderRadius:w?v(4.63):15,fontSize:w?v(3.15):14,height:w?v(9.26):30,paddingLeft:w?v(6):20,paddingRight:w?v(6):20});this.IE&&this.IE.ja({borderRadius:w?v(4.63):15,fontSize:w?v(3.15):14,height:w?v(9.26):30,paddingLeft:w?v(6):20,paddingRight:w?v(6):20});this.Hd()}};a.prototype.lia=
function(){var v=m.toArray(this.lc.get("cookiesPolicy"));this.BM!=v&&(this.BM=v,this.JNa())};a.prototype.JNa=function(){if(0==this.BM.length)this.j9(null);else{var v=this.BM[0];0==m.toArray(v.get("geographicArea")).length?this.j9(v):this.eIa(function(w){for(var x=null,y=0;y<this.BM.length&&!x;y++){var A=this.BM[y],B=m.toArray(A.get("geographicArea"));if(0==B.length)x=A;else for(var z=0;z<B.length&&!x;z++)0<=w.indexOf(B[z])&&(x=A)}this.j9(x)}.bind(this))}};a.prototype.j9=function(v){this.wG!==v&&(this.wG&&
this.wG.unbind(k.G("url"),this.Z$,this),(this.wG=v)?(this.wG.bind(k.G("url"),this.Z$,this),this.Z$(),this.set("visible",!0)):(this.trigger(k.dE),this.set("visible",!1)))};a.prototype.Z$=function(){var v=h(document.createElement("div")).html(b("cookies-notice"));v.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.wG.get("url"),target:"_blank"});this.T9=v.html();this.Cl&&this.Cl.set("content",this.T9)};a.prototype.YDa=function(){this.wqa(!0);this.set("visible",
!1);this.trigger(k.dE)};a.prototype.jEa=function(){this.wqa(!1);this.set("visible",!1)};var u="AT BE BG CY CZ DE DK EE EL ES FI FR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK".split(" ");a.prototype.eIa=function(v){this.THa(function(w){var x=[w];u.indexOf(w)&&x.push("EU");v(x)})};a.prototype.THa=function(v){var w=d("tdvp_country_code");w?v(w):this.pja||(this.pja=!0,h.get("https://geoloc.3dvista.com",function(x){this.pja=!1;x=x.country.toUpperCase();try{window.localStorage.setItem("tdvp_country_code",
x)}catch(y){}v(x)}.bind(this)))};var t="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.MIa=function(){var v=d(t);if("yes"==v)return!0;if("no"==v)return!1};a.prototype.wqa=function(v){try{window.localStorage.setItem(t,v?"yes":"no")}catch(w){}};return a});
define("lV",["require"],function(){function a(w){var x=w instanceof Request||w instanceof Response?w.url:w;x&&(x=x.split("#")[0]);x&&(x=x.split("?")[0]);return x&&-1==x.indexOf("://")?("undefined"!==typeof window?Promise.resolve(window.location.href):self.clients.matchAll({type:"window"}).then(function(y){if(y.length)return y[0].url})).then(function(y){return(new window.URL(x,y)).toString()}):Promise.resolve(x)}function d(w,x){return new Promise(function(y,A){(void 0===x?k():Promise.resolve(x)).then(function(B){(window.webkitRequestFileSystem||
window.requestFileSystem)(B?window.PERSISTENT:window.TEMPORARY,w,function(z){y(z)},function(z){console.log("Error getting file system access",z);A("error getting file system")})},function(B){console.log("error getting file system access",B);A("error getting file system")})})}function h(w,x){return w&&w.queryUsageAndQuota?new Promise(function(y,A){w.queryUsageAndQuota(function(B,z){console.log("UsedBytes:",B,"grantedBytes:",z,"freeBytesRequired:",x);var C=B+x;z>=C?y(C):w==navigator.webkitPersistentStorage||
w==navigator.persistentStorage?(console.log("requestQuota:",C),w.requestQuota(C,function(){console.log("Granted bytes:",C);y(C)},function(G){console.log("Not granted bytes:",C,G);A("not enough free space granted")})):(console.log("Not enough temporary free space."),A("not enough free space granted"))},function(B){console.log("Query quota error:",B);B&&B.message&&(B=B.message);A("not enough free space granted: "+B)})}):Promise.reject("unknown free space")}function m(){return(navigator.storage&&navigator.storage.persist?
navigator.storage.persist():Promise.resolve(!1)).then(function(w){console.log("Persistence granted:",w);return w?navigator.webkitPersistentStorage||navigator.persistentStorage:navigator.webkitTemporaryStorage||navigator.temporaryStorage})}function k(){return navigator.storage&&navigator.storage.persisted?navigator.storage.persisted():Promise.resolve(!1)}function b(){return v?Promise.resolve(v):Promise.reject("files uninitialized, no space was requested")}function g(w){w.length&&"/"==w[0]&&(w=w.substr(1));
return w.split("/").filter(function(x){return""!=x})}function e(w){return new Promise(function(x,y){w.remove(function(){x()},function(A){y("can't remove entry"+(A&&A.message?": "+A.message:"")+".")})})}function c(w){return f(w).then(function(x){return Promise.all(x.map(function(y){return y.isDirectory?c(y):e(y)}))}).then(function(){return e(w).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function f(w){return new Promise(function(x,y){w.createReader().readEntries(function(A){x(A)},
function(){y("can't list directory")})})}function l(w,x,y){return new Promise(function(A,B){w.getDirectory(x,y,function(z){A(z)},function(){B("can't get directory entry: "+x)})})}function p(w,x){return new Promise(function(y,A){l(w,x,{create:!1}).then(function(B){y(B)})["catch"](function(){l(w,x,{create:!0}).then(function(B){y(B)})["catch"](function(B){console.log("Can't create directory entry: "+x,B);A("can't create directory entry: "+x)})})})}function q(w,x){return 0==x.length?w:p(w,x[0]).then(function(y){return q(y,
x.slice(1))})}function n(w,x){return 0==x.length?w:l(w,x[0]).then(function(y){return n(y,x.slice(1))})}function r(w,x,y){return new Promise(function(A,B){w.getFile(x,y,function(z){A(z)},function(){B("can't get file entry: "+x)})})}function u(w){return new Promise(function(x,y){w.createWriter(function(A){x(A)},function(){y("can't create File for writing")})})}function t(w){var x=w.lastIndexOf(".");switch((0>x?"":w.substr(x)).toLowerCase()){case ".bmp":return"image/bmp";case ".eot":return"application/vnd.ms-fontobject";
case ".gif":return"image/gif";case ".glb":return"model/gltf-binary";case ".htm":case ".html":return"text/html";case ".jpeg":case ".jpg":return"image/jpeg";case ".js":return"text/javascript";case ".json":return"application/json";case ".m3u8":return"application/vnd.apple.mpegurl";case ".m4a":return"audio/mp4";case ".m4v":return"video/mp4";case ".mp3":return"audio/mpeg";case ".mp4":return"video/mp4";case ".ogg":return"audio/ogg";case ".ogv":return"video/ogg";case ".otf":return"font/otf";case ".png":return"image/png";
case ".svg":return"image/svg+xml";case ".tif":return"image/tiff";case ".tiff":return"image/tiff";case ".ts":return"video/vnd.dlna.mpeg-tts";case ".ttf":return"application/font-sfnt";case ".tts":return"video/vnd.dlna.mpeg-tts";case ".txt":return"text/plain";case ".webm":return"video/webm";case ".woff":return"font/x-woff";case ".woff2":return"font/woff2";case ".xml":return"text/xml";default:return"application/octet-stream"}}var v=null;return{pZ:function(){return k()},toURL:function(w,x){return a(w).then(function(y){y=
new window.URL(y);var A=x?"persistent":"temporary",B=y.pathname.split("/").map(encodeURIComponent).join("/");return"filesystem:"+y.origin+"/"+A+B})},eXa:function(w){return m().then(function(x){return h(x,w)}).then(function(x){return d(x)}).then(function(x){v=x})},WWa:function(w){w=g(w);var x=w[w.length-1],y=w.slice(0,-1);return b().then(function(A){return n(A.root,y)}).then(function(A){return r(A,x,{create:!0})},function(){return Promise.resolve(null)}).then(function(A){return A&&e(A)})},aya:function(w,
x){var y=g(w);return d(1024,x).then(function(A){return n(A.root,y)}).then(function(A){return c(A)},function(){return Promise.resolve()})},eAa:function(w,x,y){var A=g(w),B=A[A.length-1],z=A.slice(0,-1);return b().then(function(C){return q(C.root,z)}).then(function(C){return r(C,B,{create:!1}).then(function(G){return Promise.resolve(G)},function(){return r(C,B,{create:!0})})}).then(function(C){return u(C)}).then(function(C){C.seek(C.length);return new Promise(function(G,D){C.onwriteend=function(){G()};
C.onerror=function(E){console.log("Error writing file:",w,E);D("error writing file: "+w)};C.write(new Blob([x],{type:y||t(B)}))})})}}});
define("cu",["require","lV","md","v"],function(a){function d(c,f){this.Wr=c;this.IA=!1;this.Wp=null;this.Ou=f||function(){}}function h(c){return 1048576<=c.TD}var m=a("lV"),k=a("md"),b=a("v").Nf()?3:5;a={File:function(c,f){this.url=c;this.TD=f;this.EP=this.JH=0}};var g=a.Files=function(c,f,l,p){this.zha=this.JDa=c;this.Qr=f.slice();this.oja=[];var q=0;this.Qr.sort(function(n,r){return n.TD-r.TD});this.Qr.forEach(function(n){q+=n.TD});this.yra=q;this.XA=[];this.tR=void 0;this.vr=[];this.h2=!1;this.Wf=
l||function(){};this.iK=p||function(){}};g.prototype.ys=function(){return this.IEa().then(function(){return this.JEa()}.bind(this))};g.prototype.IEa=function(){return self.caches["delete"](this.zha)};g.prototype.JEa=function(){var c=(new window.URL(this.JDa)).pathname;return m.aya(c,!1).then(function(){return m.aya(c,!0)})};g.prototype.requestStorage=function(){return m.eXa(Math.round(1.1*this.yra+10485760)).then(function(){return m.pZ()})};g.prototype.download=function(){this.h2=!1;this.tR=0;this.ys().then(function(){this.eK()}.bind(this))["catch"](function(c){console.log("error cleaning storage",
c);m.pZ().then(function(f){this.iK(!1,f)}.bind(this))}.bind(this))};g.prototype.cancelDownload=function(){this.h2=!0;this.vr.forEach(function(c){c.cancel()});this.ys()};g.prototype.eK=function(){if(!(this.h2||this.vr.length>=b))if(0<this.Qr.length){if(1==b)var c=.5<Math.random()?this.Qr.shift():this.Qr.pop();else if(0==this.XA.filter(h).length)c=this.Qr.pop();else{if(h(this.Qr[0]))return;c=this.Qr.shift()}this.XA.push(c);var f=k.Uy(c.url,"nc="+(new Date).getTime()),l=new d(f,function(q){c.JH=q.JH;
this.Aj()}.bind(this));this.vr.push(l);l.fetch().then(function(q){return this.QPa(c.url,q)}.bind(this)).then(function(){this.Wia(c,l,!0)}.bind(this))["catch"](function(q){console.log("download error",c.url,c.TD,c.JH,q);this.Wia(c,l,!1)}.bind(this));this.eK()}else if(0==this.vr.length){var p=5>=this.oja.length;m.pZ().then(function(q){this.iK(p,q)}.bind(this))}};g.prototype.Wia=function(c,f,l){l?(this.XA.splice(this.XA.indexOf(c),1),this.vr.splice(this.vr.indexOf(f),1),this.tR+=c.TD,this.Aj(),this.eK()):
(c.JH=0,c.EP+=1,this.Aj(),20<=c.EP?(console.log("Error downloading file: "+c.url+" after "+c.EP+" retries."),this.dla(c.url)?(this.oja.push(c),this.vr.splice(this.vr.indexOf(f),1),this.eK()):(this.cancelDownload(),m.pZ().then(function(p){this.iK(!1,p)}.bind(this)))):(console.log("Error downloading file: "+c.url+" attempt "+c.EP+" of 20. Will retry in 2000ms."),setTimeout(function(){this.XA.splice(this.XA.indexOf(c),1);this.vr.splice(this.vr.indexOf(f),1);h(c)?this.Qr.push(c):this.Qr.splice(0,0,c);
this.eK()}.bind(this),2E3)))};g.prototype.QPa=function(c,f){return this.SPa(c,f).then(function(){if(this.eSa(c))return this.RPa(c,f)}.bind(this))};g.prototype.RPa=function(c,f){f=f.clone();return 200!=f.status?Promise.reject("response status: "+f.status):self.caches.open(this.zha).then(function(l){return l.put(c,f)})};g.prototype.SPa=function(c,f){f=f.clone();if(200!=f.status)return Promise.reject("response status: "+f.status);var l=(new window.URL(c)).pathname;return l.lastIndexOf("/")==l.length-
1?Promise.resolve():new Promise(function(p,q){function n(){x.read().then(function(y){var A=y.value,B=[];if(A){for(;10485760<=A.length+w;){var z=A.slice(0,10485760-w);v.push(z);B.push(r(v));v=[];w=0;A=A.slice(z.length,A.length)}0<A.length&&(v.push(A),w+=A.length)}var C=y.done;w&&C&&B.push(r(v));u(B).then(function(){C?p():n()})["catch"](t)})["catch"](t)}function r(y){if(0==y.length)return new Uint8Array(0);var A=0;y.forEach(function(G){A+=G.length});for(var B=new Uint8Array(A),z=0,C=0;C<y.length;z+=
y[C].length,C++)B.set(y[C],z);return B}function u(y){if(0==y.length)return Promise.resolve();var A=y.shift();return m.eAa(l,A).then(function(){u(y)})}function t(y){console.log("Error writing response to file system:",y);m.WWa(l).then(function(){q("Error reading response body")})}var v=[],w=0,x=f.body.getReader();n()})};var e=".bmp .gif .glb .jpeg .jpg .m3u8 .m4a .m4v .mp3 .mp4 .ogg .ogv .otf .png .svg .tif .tiff .ts .tts .webm .woff .woff2".split(" ");g.prototype.dla=function(c){c=(new window.URL(c)).pathname;
var f="."+c.split(".").pop().toLowerCase();return 0<=e.indexOf(f)&&0>c.indexOf("loading/")};g.prototype.eSa=function(c){var f=(new window.URL(c)).pathname;return 0<=f.indexOf("files/")||0<=f.indexOf("pdfjs/")?!0:this.dla(c)?!1:!0};g.prototype.Aj=function(){var c=this.tR;this.XA.forEach(function(f){c+=f.JH});this.Wf(100*c/this.yra)};d.prototype.fetch=function(){return fetch(this.Wr).then(function(c){if(this.IA)return c.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");
if(!c.ok)return Promise.resolve(c);var f=c.headers.get("content-length"),l=void 0,p=0;null!==f&&(l=parseInt(f,10));this.Wp=c.body.getReader();var q=!1,n=function(t){this.IA?t.close():q=!0}.bind(this),r=function(t){return this.Wp.read().then(function(v){var w=v.value;w&&(p+=w.byteLength,t.enqueue(w));v.done&&(l=p,u(t));this.Ou({TD:l,JH:p})}.bind(this))["catch"](function(v){console.log("Error reading response",v);t.error(v)}.bind(this))}.bind(this),u=function(t){q&&(t.close(),q=!1,this.Wp=null)}.bind(this);
return new Response(new ReadableStream({start:function(t){return n(t)},pull:function(t){return r(t)},cancel:function(){u()}}))}.bind(this))};d.prototype.cancel=function(){this.IA=!0;this.Wp&&this.Wp.cancel()};a.ys=function(c){return(new g(c,[])).ys()};return a});
define("eO","require li jquery.mod ox gf v cu lV mq md lj dp".split(" "),function(a){function d(t){n=t}var h=a("li"),m=a("jquery.mod"),k=a("ox"),b=a("gf"),g=a("v"),e=a("cu"),c=a("lV"),f=a("mq"),l=a("md"),p=a("lj"),q=a("dp"),n=null;window.addEventListener("beforeinstallprompt",d);var r=h.extend(b,function(t){b.call(this);this.lc=t;this.A="initial";this.Y8=this.gW=this.lj=null;this.Xp=!1;this.gB=null;this.iX=void 0;this.VA=n;this.BT=r.fwa();this.h6=l.Yi("vr");this.VA||this.BT||(window.removeEventListener("beforeinstallprompt",
d),window.addEventListener("beforeinstallprompt",this.bLa.bind(this)));this.BT||window.addEventListener("appinstalled",this.dDa.bind(this))});r.prototype.vda=function(t){this.gW=t;this.hm=l.ew(this.gW.get(TDV.PlayerSettings.BASE_DIR_URL)||l.getDirectory(this.gW.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));"/"!=this.hm[this.hm.length-1]&&(this.hm+="/");this.lj=new u(this.hm);this.iX=this.dpa=t.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.xJa=l.parse(l.getDirectory(window.location.href)).pathname;
this.aHa=l.Uy(l.ew("files.json",this.hm),this.dpa);t=TDV.pb.gva();this.Y8=l.Uy(this.gW.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+t.MAJOR+"."+t.MINOR);this.lj=new u(this.hm);this.lj.bind(k.Z,this.iQa,this,!0);this.lj.load()};r.prototype.jI=function(){return this.lj.state==u.UI};r.prototype.Hta=function(){return"can_install"==this.A&&!this.h6};r.prototype.Jta=function(){return this.jI()&&this.iX!=this.lj.version&&!this.h6};r.prototype.Gta=function(){return this.lj.state!=u.lea&&!this.h6};r.prototype.Nva=
function(){"can_install"==this.A&&(this.VA?(this.VA.userChoice.then(function(t){"accepted"!=t.outcome&&this.yc("unavailable")}.bind(this)),this.VA.prompt().then(function(){this.VA=null}.bind(this))):this.G3())};r.prototype.cancel=function(){"downloading"==this.A&&(this.gB&&(this.gB.cancelDownload(),this.gB=null),this.lj.ys(),this.yc("unavailable"))};r.prototype.ys=function(){e.ys(this.hm);this.lj.ys()};r.prototype.iQa=function(){!0!==this.lc.get("downloadEnabled")?this.yc("unavailable"):!0!==f.yAa?
this.yc("unavailable"):g.browser()!=g.Nk||g.cd()==g.Iz||g.cd()==g.$D?this.yc("unavailable"):this.Y8?"serviceWorker"in navigator?this.jI()&&!this.Jta()?this.yc("unavailable"):navigator.onLine?this.XMa():this.yc("unavailable"):this.yc("unavailable"):this.yc("unavailable")};r.prototype.yc=function(t){this.A!=t&&(this.A=t,t=0<=["can_install","unavailable"].indexOf(this.A),this.Xp!=t&&(this.Xp=t)&&this.trigger(k.Sc))};r.prototype.XMa=function(){this.yc("registering_sw");navigator.serviceWorker.register(this.Y8,
{scope:this.xJa}).then(function(){this.Upa(!0)}.bind(this))["catch"](function(){this.Upa(!1)}.bind(this))};r.prototype.Upa=function(t){t?g.Nf()?this.yc("can_install"):this.BT&&this.lj.state==u.w_?(this.yc("can_install"),this.G3()):this.VA?this.yc("can_install"):(this.yc("sw_registered"),setTimeout(function(){"sw_registered"==this.A&&this.yc("can_install")}.bind(this),3E3)):this.yc("unavailable")};r.prototype.bLa=function(t){this.VA=t;"sw_registered"==this.A&&this.yc("can_install")};r.prototype.dDa=
function(){"sw_registered"==this.A&&this.yc("can_install");this.G3()};r.prototype.G3=function(){this.yc("downloading");this.trigger(k.Qq);this.Pra(0);this.xKa()};r.prototype.xKa=function(){var t=l.Uy(this.aHa,"nc="+(new Date).getTime());m.getJSON(t,function(v){if("downloading"==this.A){var w=[],x;for(x in v){var y=v[x].tags;if(y){Array.isArray(y)||(y=[y]);for(var A=0;A<y.length;A++)0>w.indexOf(y[A])&&w.push(y[A])}}var B=[];0<=w.indexOf("mobilevr2gen")&&g.Zba()?B.push("mobilevr2gen"):0<=w.indexOf("mobilevr")&&
g.Nf()?B.push("mobilevr"):0<=w.indexOf("mobile")&&g.mb()?B.push("mobile"):0<=w.indexOf("desktop")&&!g.mb()&&B.push("desktop");w=[];for(x in v)if(!(-1<x.indexOf(".DS_Store"))){if(y=v[x].tags){var z=!1;if(Array.isArray(y)){A=0;for(var C=y.length;A<C&&!z;A++)z=0<=B.indexOf(y[A])}else z=0<=B.indexOf(y);if(!z)continue}y=l.ew(x,this.hm);w.push(new e.File(y,v[x].size))}var G=(new window.URL(window.location.pathname,window.location.href)).toString();0==w.filter(function(D){return D.url==G}).length&&w.push(new e.File(G,
1024));this.gB=new e.Files(this.hm,w,this.Pra.bind(this),this.Via.bind(this));this.gB.requestStorage().then(function(D){this.lj.storage=D?u.fJ:u.I0;this.lj.state=u.w_;this.lj.version=this.iX;this.lj.save();this.gB.download()}.bind(this))["catch"](function(){this.Via(!1,void 0)}.bind(this))}}.bind(this))};r.prototype.Pra=function(t){this.trigger(new p(k.sc,t))};r.prototype.Via=function(t,v){this.gB=null;this.yc("unavailable");t&&(this.lj.state=u.UI,this.lj.save());t?this.trigger(k.sb,{success:!0}):
v?this.trigger(k.sb,{success:!1,error:r.nea}):g.Nf()?this.trigger(k.sb,{success:!1,error:r.mea}):this.BT?this.trigger(k.sb,{success:!1,error:r.nea}):this.trigger(k.sb,{success:!1,error:r.oea})};r.fwa=function(){return l.Vh("installed",!1)};r.LWa=function(t,v){var w=new r.l0(t);w.bind(k.Z,function(){var x=!1;w.state==r.l0.UI&&(x=r.fwa()?!0:!navigator.onLine);x?c.toURL(t,w.storage==r.l0.fJ).then(function(y){v(y)}):v(t)},this,!0);w.load()};r.oea="launchFromHomeScreen";r.mea="addToBookmark";r.nea="errorDownloading";
var u=h.extend(b,function(t){b.call(this);this.hm=t;this.Y5="installation_state_"+t;this.qMa=l.parse(this.hm).pathname+"installation_state.json";this.state=this.storage=this.version=void 0;this.bqa()});u.prototype.load=function(){if(this.yKa()&&this.state==u.UI)this.rra(this.storage==u.fJ).then(function(){this.trigger(k.Z)}.bind(this))["catch"](function(){this.rra(this.storage!=u.fJ).then(function(){this.storage=this.storage==u.I0?u.fJ:u.I0;this.Q8();this.trigger(k.Z)}.bind(this))["catch"](function(){this.state=
u.w_;this.Q8();this.trigger(k.Z)}.bind(this))}.bind(this));else this.trigger(k.Z)};u.prototype.save=function(){this.Q8();this.state==u.UI&&this.FNa()};u.prototype.yKa=function(){var t=q.getItem(this.Y5);if(!t)return!1;this.tHa(t);return!0};u.prototype.Q8=function(){q.setItem(this.Y5,this.xra())};u.prototype.rra=function(t){return new Promise(function(v,w){c.toURL(this.hm+"installation_state.json",t).then(function(x){m.ajax({type:"GET",url:x,success:function(){v()},error:function(){w()}})}.bind(this))}.bind(this))};
u.prototype.FNa=function(){c.eAa(this.qMa,this.xra(),"text/json")};u.prototype.xra=function(){var t={};t.version=this.version;t.storage=this.storage;t.state=this.state;return JSON.stringify(t)};u.prototype.tHa=function(t){this.sHa(JSON.parse(t))};u.prototype.sHa=function(t){this.version=t.version;this.storage=t.storage;this.state=t.state};u.prototype.ys=function(){q.removeItem(this.Y5);this.bqa()};u.prototype.bqa=function(){this.version="";this.storage=u.LBa;this.state=u.lea};u.LBa="unkonwn";u.I0=
"temporary";u.fJ="persistent";u.lea="not started";u.w_="started";u.UI="completed";r.l0=u;return r});
define("kw","require li ox ov v eO fL fU mL d nS e iM".split(" "),function(a){function d(r){var u=new e;u.ja({label:r,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:f.ee});return u}var h=a("li"),m=a("ox"),k=a("ov"),b=a("v"),g=a("eO"),e=a("fL"),c=a("fU"),f=a("mL"),l=a("d"),p=a("nS"),q=a("e"),n=a("iM");a=h.extend(p,function(r,u){p.call(this);this.lc=r;this.fg=u;this.fg.bind(m.Sc,
this.RJa,this,!0);this.fg.bind(m.Qq,this.OJa,this,!0);this.fg.bind(m.sc,this.QJa,this,!0);this.fg.bind(m.sb,this.PJa,this,!0);this.oa="hidden";this.kO=void 0;this.T7=!1;this.Wf=void 0;this.Fi=this.Nt=this.BA=this.FA=this.CA=this.oW=this.Ta=null;this.ZCa();this.ja({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:f.ee,layout:l.Cg});this.jg()});a.prototype.RJa=function(){this.fg.Hta()||this.fg.jI()&&this.fg.Gta()?(this.oa="ready",this.T7&&this.Vqa()):
this.oa="hidden";this.jg()};a.prototype.OJa=function(){this.oa="installing";this.jg()};a.prototype.QJa=function(r){this.Wf=r.Sg;this.jg()};a.prototype.PJa=function(r){this.oa=r.data.success?"installed":"failed";this.lja=r.data.error;this.jg()};a.prototype.ef=function(){this.PPa()};a.prototype.zU=function(){this.T7||(this.T7=!0,"ready"==this.oa&&this.Vqa())};a.prototype.Vqa=function(){this.kO=setTimeout(function(){this.kO=null;this.eMa()}.bind(this),5E3);this.jg()};a.prototype.PPa=function(){this.ppa();
this.kO&&clearTimeout(this.kO);this.kO=null};a.prototype.eMa=function(){this.ppa();"ready"==this.oa&&(this.oa="hidden",this.jg())};a.prototype.ZCa=function(){this.bind(m.hc,this.ef,this);this.lc.bind(m.hc,this.zU,this);this.lc.bind(m.vb,this.zU,this)};a.prototype.ppa=function(){this.unbind(m.hc,this.ef,this);this.lc.unbind(m.hc,this.zU,this);this.lc.unbind(m.vb,this.zU,this)};a.prototype.zb=function(){p.prototype.zb.call(this);null==this.Ta&&(this.Ta=new n,this.Ta.ja({fontColor:"#ffffff",fontWeight:"400",
fontFamily:"Arial, sans-serif",fontSize:14,text:k("download-tour")}),this.Va(this.Ta));null==this.CA&&(this.CA=d(k("download")),this.Va(this.CA),this.CA.bind(m.pa,this.cEa,this,!0));null==this.FA&&(this.FA=d(k("refresh-downloaded")),this.Va(this.FA),this.FA.bind(m.pa,this.iEa,this,!0));null==this.BA&&(this.BA=d(k("delete-downloaded")),this.Va(this.BA),this.BA.bind(m.pa,this.bEa,this,!0));null==this.oW&&(this.oW=new q,this.oW.ja({width:"100%"}),this.Va(this.oW));null==this.Nt&&(this.Nt=new c,this.Nt.ja({backgroundColor:"#ffffff",
borderRadius:2,iconColor:"#000000",iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31}),this.Va(this.Nt),this.Nt.bind(m.pa,this.aEa,this,!0));null==this.Fi&&(this.Fi=d(k("cancel")),this.Va(this.Fi),this.Fi.bind(m.pa,this.lR,this,!0));b.mb()&&this.El();this.jg()};a.prototype.Yo=function(){p.prototype.Yo.call(this);b.mb()&&this.getParent().bind(m.ic,this.El,this,!0)};a.prototype.Om=function(){b.mb()&&this.getParent().unbind(m.ic,this.El,this,!0);p.prototype.Om.call(this)};a.prototype.El=
function(){var r=this.getParent();if(r){var u=Math.min(r.Wa(),r.xb())/100,t=function(v){return Math.round(v*u)};this.ja({gap:t(3.9),height:t(11.9),paddingLeft:t(6),paddingRight:t(6)});this.Ta&&this.Ta.ja({fontSize:t(3)});[this.CA,this.Fi,this.FA,this.BA].forEach(function(v){v&&v.ja({borderRadius:t(.4),fontSize:t(3),paddingLeft:t(3),paddingRight:t(3),height:t(6.7)})});this.Nt&&this.Nt.ja({borderRadius:t(.4),iconLineWidth:t(.22),iconWidth:t(3.7),iconHeight:t(3.7),height:t(6.7),width:t(6.7)})}};a.prototype.jg=
function(){switch(this.oa){case "ready":var r=this.fg.jI()?k("downloaded"):k("download-tour");break;case "installing":r=k("downloading");void 0!==this.Wf&&(r+="..."+this.Wf.toFixed(1)+"%");break;case "installed":r=k("downloaded");break;case "failed":r=this.lja==g.oea?b.mb()?k("storage-not-provided-launch-from-homescreen"):k("storage-not-provided-launch-from-desktop"):this.lja==g.mea?k("storage-not-provided-bookmark"):k("download-failed")}this.Ta&&this.Ta.set("text",r);this.CA&&this.CA.set("visible",
"ready"==this.oa&&!this.fg.jI()&&this.fg.Hta());this.BA&&this.BA.set("visible","ready"==this.oa&&this.fg.jI()&&this.fg.Gta());this.FA&&this.FA.set("visible","ready"==this.oa&&this.fg.Jta());this.Fi&&this.Fi.set("visible","installing"==this.oa);this.Nt&&this.Nt.set("visible","installing"!=this.oa);this.set("visible","hidden"!=this.oa)};a.prototype.cEa=function(){this.fg.Nva()};a.prototype.iEa=function(){this.fg.Nva()};a.prototype.bEa=function(){this.fg.ys();this.oa="hidden";this.jg()};a.prototype.lR=
function(){this.fg.cancel();this.oa="hidden";this.jg()};a.prototype.aEa=function(){"installing"==this.oa&&this.fg.cancel();this.oa="hidden";this.jg()};return a});
define("ly","require li ed ox ov v mL d nS ni nB fL iM iF".split(" "),function(a){function d(u,t){this.text=u;this.ro=t}var h=a("li"),m=a("ed"),k=a("ox"),b=a("ov"),g=a("v"),e=a("mL"),c=a("d"),f=a("nS"),l=a("ni"),p=a("nB"),q=a("fL"),n=a("iM"),r=a("iF");a=h.extend(f,function(){f.call(this);this.Ap=[];this.Fi=this.DA=this.Ta=this.qB=this.QG=this.tq=null;var u=new l;u.set("duration",500);u.set("easing","cubic_in");var t=new p;t.set("duration",500);t.set("easing","cubic_out");this.ja({backgroundColor:"#000000",
backgroundOpacity:.6,horizontalAlign:e.Ae,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:t,showEffect:u,visible:!1})});a.prototype.zb=function(){f.prototype.zb.call(this);null==this.tq&&(this.tq=new f,this.tq.ja({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:e.Ae,verticalAlign:e.ee,layout:c.sh,shadow:!0,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:.2}),this.Va(this.tq));null==this.Ta&&(this.Ta=new n,this.Ta.ja({fontColor:"#808080",fontWeight:"300",
fontFamily:"Tahoma, Geneva, sans-serif"}),this.tq.Va(this.Ta));null==this.qB&&(this.qB=new r,this.qB.ja({width:"80%"}),this.tq.Va(this.qB));null==this.QG&&(this.QG=new f,this.QG.ja({backgroundColor:"#b3b3b3"}),this.tq.Va(this.QG));null==this.Gi&&(this.Gi=new f,this.Gi.ja({horizontalAlign:e.Ae,verticalAlign:e.ee,layout:c.Cg}),this.tq.Va(this.Gi));null==this.DA&&(this.DA=new q,this.DA.ja({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:e.Ae,verticalAlign:e.ee,
label:b("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"}),this.DA.bind(k.pa,this.tha,this,!0),this.Gi.Va(this.DA));null==this.Fi&&(this.Fi=new q,this.Fi.ja({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:e.Ae,verticalAlign:e.ee,label:b("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"}),this.Fi.bind(k.pa,this.lR,this,!0),this.Gi.Va(this.Fi))};a.prototype.Yo=function(){f.prototype.Yo.call(this);
this.getParent().bind(k.ic,this.El,this,!0)};a.prototype.Om=function(){this.getParent().unbind(k.ic,this.El,this,!0);f.prototype.Om.call(this)};a.prototype.El=function(){var u=this.getParent();if(u){var t=u.Wa();u=u.xb();if(g.mb()){var v=Math.min(t,u);t=function(w){return Math.round(w*v/100)}}else t=function(w){return Math.round(4*w)};this.tq&&this.tq.ja({borderRadius:t(1),width:t(80),height:t(40),gap:t(4),shadowBlurRadius:t(1),shadowSpread:t(1)});this.QG&&this.QG.ja({width:t(60),minHeight:2,height:t(.25)});
this.Gi&&this.Gi.ja({gap:t(5)});this.Fi&&this.Fi.ja({borderRadius:t(1),width:t(20),height:t(10),fontSize:t(4.25)});this.DA&&this.DA.ja({borderRadius:t(1),width:t(20),height:t(10),fontSize:t(4.5)});this.Ta&&this.Ta.ja({fontSize:t(5)});this.YW()}};a.prototype.show=function(u,t){this.El();var v=this.jka(t);0<=v&&this.npa(v);this.OMa(new d(u,t));this.FE()};a.prototype.hide=function(u){u=this.jka(u);0<=u&&this.npa(u)};a.prototype.FE=function(){var u=this.getParent();u&&u.cn(this,u.Kb().length-1)};a.prototype.tha=
function(){this.bR(!0)};a.prototype.lR=function(){this.bR(!1)};a.prototype.jka=function(u){for(var t=0;t<this.Ap.length;t++)if(this.Ap[t].ro==u)return t;return-1};a.prototype.YW=function(){if(this.tq){var u=this.yka();u?(20>u.text.length?(this.qB.set("visible",!1),this.Ta.set("text",u.text),this.Ta.set("visible",!0)):(this.Ta.set("visible",!1),this.qB.set("html",this.fIa(u.text)),this.qB.set("visible",!0)),this.Fi.set("visible",u.ro?!0:!1),this.set("visible",!0)):this.set("visible",!1)}};a.prototype.fIa=
function(u){return"<div style=\"color:#808080; font-weight:300; font-family:'Tahoma', 'Geneva', sans-serif; font-size: "+this.Ta.get("fontSize")+'px; text-align:center;" >'+u+"</div>"};a.prototype.bR=function(u){var t=this.yka();t&&(t=this.tIa(t.text),this.kNa(t),m(t).each(function(v){v.ro&&v.ro.call(this,u)},this))};a.prototype.OMa=function(u){this.Ap.push(u);this.YW()};a.prototype.tIa=function(u){return m(this.Ap).filter(function(t){return t.text==u})};a.prototype.kNa=function(u){this.Ap=m(this.Ap).filter(function(t){return!m(u).contains(t)});
this.YW()};a.prototype.npa=function(u){this.Ap.splice(u,1);u==this.Ap.length&&this.YW()};a.prototype.yka=function(){return 0<this.Ap.length?this.Ap[this.Ap.length-1]:null};return a});
define("iZ","require li ox cw gf v mU".split(" "),function(a){function d(D){return D.map(function(E){return String.fromCharCode(E)}).join("")}var h=a("li"),m=a("ox"),k=a("cw"),b=a("gf"),g=a("v"),e=a("mU"),c=[];a=d([99,111,110,116,101,120,116,109,101,110,117]);var f=d([109,111,117,115,101,100,111,119,110]),l=d([109,111,117,115,101,117,112]),p=d([109,111,117,115,101,108,101,97,118,101]),q=d([109,111,117,115,101,101,110,116,101,114]);d([116,100,118,99,108,97,115,115]);document.addEventListener(a,function(D){if(!g.mb()){var E=
g.de()==g.Gea?200:0;setTimeout(function(){(void 0===n||void 0===r||void 0===u||void 0===t||10>Math.abs(u-n)+Math.abs(t-r))&&c.forEach(function(H){H(D)});n=r=u=t=void 0},E)}D.preventDefault();D.stopImmediatePropagation()},!0);var n,r,u,t;document.addEventListener("mousedown",function(D){u=n=D.screenX;t=r=D.screenY},!0);document.addEventListener("mousemove",function(D){u=D.screenX;t=D.screenY},!0);var v=1;h=h.extend(b,function(D,E){b.call(this);this.fb=D;this.nIa=E;this.gU=this.gU.bind(this);this.Nd=
this.Nd.bind(this);this.X5=!1;this.U5=this.U5.bind(this);this.V5=this.V5.bind(this);this.T5=this.T5.bind(this);this.W5=this.W5.bind(this);this.ma=document.createElement("div");this.ma.style.setProperty("z-index",v,G[C]);for(var H in G[w])this.ma.style.setProperty(H,G[w][H],G[C]);c.push(this.gU)});h.prototype.clear=function(){this.tKa()&&this.l5();this.ma=null;c.splice(c.indexOf(this.gU),1)};h.prototype.gU=function(D){var E=this.nIa();if(0!=E.length){this.ma.replaceChildren();this.X5=!1;var H=0;E.forEach(function(R){var S=
document.createElement("div");if(R){S.textContent=R;for(var Q in G[y])S.style.setProperty(Q,G[y][Q],G[C]);var M=H;H++;S.addEventListener(q,function(W){this.U5(W,M)}.bind(this));S.addEventListener(p,function(W){this.V5(W,M)}.bind(this));S.addEventListener(f,function(W){this.T5(W,M)}.bind(this));S.addEventListener(l,function(W){this.W5(W,M)}.bind(this))}else for(Q in G[A])S.style.setProperty(Q,G[A][Q],G[C]);for(Q in G[x])S.style.setProperty(Q,G[x][Q],G[C]);this.ma.appendChild(S)}.bind(this));(e.fullscreenElement()||
document.body).appendChild(this.ma);this.ma.style.setProperty("display","block",G[C]);E=D.pageX;D=D.pageY;E+this.ma.clientWidth>document.body.clientWidth-5&&(E=document.body.clientWidth-this.ma.clientWidth-5);D+this.ma.clientHeight>document.body.clientHeight-5&&(D=document.body.clientHeight-this.ma.clientHeight-5);this.ma.style.setProperty("left",E+"px",G[C]);this.ma.style.setProperty("top",D+"px",G[C]);this.fb.bind(m.vb,this.Nd,this);document.addEventListener("mousedown",this.Nd);this.vSa=setInterval(this.uSa.bind(this),
200)}};h.prototype.tKa=function(){return!!this.ma&&!!this.ma.parentNode};h.prototype.l5=function(){clearInterval(this.vSa);this.ma.parentNode.removeChild(this.ma);document.removeEventListener("mousedown",this.Nd);this.fb.unbind(m.vb,this.Nd,this);this.ma.style.setProperty("display","none",G[C])};h.prototype.uSa=function(){this.ma.contains(document.elementFromPoint(this.ma.offsetLeft+.5*this.ma.clientWidth,this.ma.offsetTop+.5*this.ma.clientHeight))||this.ma.style.setProperty("z-index",v*=10,G[C])};
h.prototype.Nd=function(){this.l5()};h.prototype.T5=function(D){this.X5=!0;D.preventDefault();D.stopImmediatePropagation()};h.prototype.W5=function(D,E){this.X5&&(this.l5(),D.preventDefault(),D.stopImmediatePropagation(),this.trigger(new k(m.sn,{index:E})))};h.prototype.U5=function(D){for(var E in G[B])D.currentTarget.style.setProperty(E,G[B][E],G[C])};h.prototype.V5=function(D){for(var E in G[z])D.currentTarget.style.setProperty(E,G[z][E],G[C])};var w="0",x="1",y="2",A="3",B="4",z="5",C="6",G=function(D){return JSON.parse(D.map(function(E){return String.fromCharCode(E)}).join(""))}([123,
34,48,34,58,123,34,98,111,114,100,101,114,34,58,34,49,112,120,32,115,111,108,105,100,32,35,98,98,98,34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,111,115,105,116,105,111,110,34,58,34,97,98,115,111,108,117,116,101,34,44,34,100,105,115,112,108,97,121,34,58,34,110,111,110,101,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,35,101,53,101,53,101,53,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,112,97,100,100,105,110,103,34,58,
48,44,34,109,97,114,103,105,110,34,58,48,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,44,34,116,101,120,116,45,97,108,105,103,110,34,58,34,108,101,102,116,34,44,34,98,111,120,45,115,104,97,100,111,119,34,58,34,49,112,120,32,49,112,120,32,51,112,120,32,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,50,41,34,125,44,34,49,34,58,123,34,102,111,110,116,45,102,97,109,105,108,121,34,58,34,65,114,105,97,108,34,44,34,102,111,110,116,45,115,105,122,101,34,58,34,49,
51,112,120,34,44,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,100,105,115,112,108,97,121,34,58,34,98,108,111,99,107,34,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,125,44,34,50,34,58,123,34,99,117,114,115,111,114,34,58,34,112,111,105,110,116,101,114,34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,97,100,100,105,110,103,34,58,34,55,112,120,32,50,48,112,120,34,44,
34,119,104,105,116,101,45,115,112,97,99,101,34,58,34,110,111,119,114,97,112,34,125,44,34,51,34,58,123,34,109,97,114,103,105,110,34,58,34,55,112,120,32,53,112,120,34,44,34,98,111,114,100,101,114,45,116,111,112,34,58,34,49,112,120,32,115,111,108,105,100,32,35,97,97,97,34,44,34,98,111,114,100,101,114,45,98,111,116,116,111,109,34,58,34,49,112,120,32,115,111,108,105,100,32,35,102,102,102,34,125,44,34,52,34,58,123,34,99,111,108,111,114,34,58,34,35,102,102,102,102,102,102,34,44,34,98,97,99,107,103,114,111,
117,110,100,45,99,111,108,111,114,34,58,34,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,55,41,34,125,44,34,53,34,58,123,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,34,125,44,34,54,34,58,34,105,109,112,111,114,116,97,110,116,34,125]);return h});
define("mh",["require","md","bc","cb"],function(a){function d(b){this.fb=b;this.gs={};this.gs[m.hBa]="move";this.gs[m.iBa]="ew-resize";this.gs[m.kBa]="ns-resize";this.gs[m.jBa]="nesw-resize";this.gs[m.lBa]="nwse-resize";this.gs[m.Ze]="pointer";this.gs[m.jt]="inherit";this.gs[m.Be]="default";this.ah={};this.ah[m.bA]="grab.cur";this.ah[m.Zh]="grabbing.cur";this.ah[m.Zea]="N.cur";this.ah[m.$ea]="NE.cur";this.ah[m.Qea]="E.cur";this.ah[m.cfa]="SE.cur";this.ah[m.bfa]="S.cur";this.ah[m.dfa]="SW.cur";this.ah[m.efa]=
"W.cur";this.ah[m.afa]="NW.cur";this.ah[m.Sea]="FN.cur";this.ah[m.Tea]="FNE.cur";this.ah[m.Rea]="FE.cur";this.ah[m.Wea]="FSE.cur";this.ah[m.Vea]="FS.cur";this.ah[m.Xea]="FSW.cur";this.ah[m.Yea]="FW.cur";this.ah[m.Uea]="FNW.cur";this.I1={};this.I1[m.kA]=k.kA;this.yha={}}var h=a("md"),m=a("bc"),k=a("cb");d.prototype.Aua=function(b){return this.nKa(b)?this.vka(b):this.dKa(b)?this.UHa(b):this.ZJa(b)?this.BHa(b):this.vka(m.Be)};d.prototype.pEa=function(b){if(!(b in this.yha)){var g=new Image;g.src=this.Qja(b);
this.yha[b]=g}};d.prototype.nKa=function(b){return b in this.gs};d.prototype.vka=function(b){return this.gs[b]};d.prototype.dKa=function(b){return this.ah[b]};d.prototype.UHa=function(b){this.pEa(b);return"url("+this.Qja(b)+"), default"};d.prototype.Qja=function(b){return h.ew(this.fb.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.ah[b]};d.prototype.ZJa=function(b){return b in this.I1};d.prototype.BHa=function(b){return"url("+this.I1[b]+"), auto"};return d});
define("cq",["require","ed"],function(a){function d(){this.Xu={};this.Up=[];this.RJ=0}var h=a("ed");d.prototype.push=function(m,k){void 0==this.Xu[k]?(this.Xu[k]=[m],this.Up.push(k),this.Up.sort(function(b,g){return b-g}),this.RJ++):(k=this.Xu[k],h(k).contains(m)||(k.push(m),this.RJ++))};d.prototype.Cua=function(){return this.RJ};d.prototype.isEmpty=function(){return 0==this.Up.length};d.prototype.Rxa=function(){if(!this.isEmpty()){var m=this.Up[0],k=this.Xu[m].pop();0==this.Xu[m].length&&(delete this.Xu[m],
this.Up=this.Up.slice(1));this.RJ--;return k}};d.prototype.yca=function(){if(!this.isEmpty()){var m=this.Up[this.Up.length-1],k=this.Xu[m].pop();0==this.Xu[m].length&&(delete this.Xu[m],this.Up=this.Up.slice(0,this.Up.length-1));this.RJ--;return k}};return d});
define("iD","require ed li gw cq bg ll".split(" "),function(a){function d(){this.oy=!1;this.Boa=void 0;this.W=!0;this.IU=this.IU.bind(this);this.CR=new m;this.rV=new m;this.lW=new m;this.CT=new m;this.A3=new m;k.requestFrame(this.tj,this)}a("ed");a("li");var h=a("gw"),m=a("cq"),k=a("bg"),b=a("ll");d.prototype.clear=function(){this.W=!1};d.prototype.eP=function(g){this.CR.push(g,this.tF(g));this.cv()};d.prototype.ke=function(g){this.rV.push(g,this.tF(g));this.cv()};d.prototype.Ub=function(g){this.lW.push(g,
this.tF(g));this.cv()};d.prototype.Hd=function(g){this.CT.push(g,this.tF(g));this.cv()};d.prototype.Kk=function(g){this.A3.push(g,this.tF(g));this.cv()};d.prototype.ea=function(){this.hRa();this.XRa();this.jRa()};d.prototype.hRa=function(){do{for(;!this.CR.isEmpty();)this.CR.yca().zb();this.rV.isEmpty()||this.rV.yca().Ua()}while(!this.rV.isEmpty()||!this.CR.isEmpty())};d.prototype.XRa=function(){for(;!this.lW.isEmpty()||!this.CT.isEmpty();)this.cX(),this.I$()};d.prototype.cX=function(){for(;!this.lW.isEmpty();){var g=
this.lW.yca();if(g.PZa()){var e=g.getParent();e?(e.Ub(),e.Hd()):g.yya(0,0,g.Is(),g.Hs())}}};d.prototype.I$=function(){for(;!this.CT.isEmpty();)this.CT.Rxa().Tl()};d.prototype.jRa=function(){for(;!this.A3.isEmpty();)this.A3.Rxa().Vg();h.process()};d.prototype.cv=function(){this.oy||(this.oy=!0,this.Boa=(new Date).getTime()+500,b.qz(this.IU))};d.prototype.IU=function(){this.oy=!1;this.W&&this.ea()};d.prototype.tF=function(g){return(g=g.getParent())?this.tF(g)+1:0};d.prototype.tj=function(){this.oy&&
(new Date).getTime()>=this.Boa&&this.IU();k.requestFrame(this.tj,this)};return d});
define("hq","require jquery.mod ed li ox nS iZ mh bk iD mU v".split(" "),function(a){var d=a("jquery.mod"),h=a("ed"),m=a("li"),k=a("ox"),b=a("nS"),g=a("iZ"),e=a("mh"),c=a("bk"),f=a("iD"),l=a("mU"),p=a("v");a=m.extend(b,function(q,n){this.yE=new f;b.call(this);this.bs(this);this.we("Application");this.tf=d(q);this.jaa=n;this.tf.css({overflow:"hidden","user-select":"none","-ms-user-select":"none","-moz-user-select":"none","-webkit-user-select":"none","-ms-touch-action":"none","touch-action":"none",
visibility:"visible","-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)"});this.lv=d(document.createElement("div"));this.lv.css({position:"absolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.tf.append(this.lv);this.lv.append(this.zc());this.lra=this.lv.get(0);this.Ad=this.td=void 0;this.VJa=10;this.CEa=500;this.QM=null;this.l3=new e(this);this.Mb=new c(this);this.ma.append(this.Mb.zc());this.NR=new g(this,this.Nja.bind(this));this.NR.bind(k.sn,this.kh(this.Bma),this,
!0);this.Vla=!0;this.set("contentOpaque",!0);this.RA=null;this.LJ=[];this.fF(["globalmousemove"]);this.KDa();this.oX=this.pX=0;this.ky=1;try{this.pX=window.top.innerWidth,this.oX=window.top.innerHeight,this.e5=!0}catch(r){this.e5=!1}this.Gsa();this.Mi=new l(q);this.Mi.bind(k.ta,function(){this.p4(this.Mi.enabled())},this)});a.prototype.start=function(){this.Wqa||(this.Wqa=!0,this.trigger(k.tn))};a.prototype.Gsa=function(){this.e5&&!l.enabled()&&(this.pX=window.top.innerWidth,this.oX=window.top.innerHeight)};
a.prototype.clear=function(){this.GD(null);this.ira();this.QGa();this.yE.clear();this.tf&&(this.zc().remove(),this.lv.remove(),this.tf=null);this.l3=null;this.Mi.Tda();this.Mi=null;this.NR&&(this.NR.clear(),this.NR=null)};a.prototype.lYa=function(q){this.Vla=q};a.prototype.p4=function(q){q?this.aqa():this.NEa()};a.prototype.Cu=function(){this.oL=this.il=this.lv.width();this.nL=this.hl=this.lv.height()};a.prototype.GD=function(q){if(this.RA!=q){null!=this.RA&&this.RA.FQa();this.RA=q;for(var n=[];null!=
q;)n=[q].concat(n),q=q.getParent();q=this.LJ.length-1;for(var r=!0;0<=q&&r;q--)h(n).contains(this.LJ[q])?r=!1:this.LJ.pop().IQa();for(q=0;q<n.length;q++)h(this.LJ).contains(n[q])||n[q].JQa();this.LJ=n;null!=this.RA&&this.RA.EQa();this.Mb.GD(this.RA)}};a.prototype.kJa=function(q){var n=this.wF(q);this.hla(q,n.x,n.y)?q.preventDefault():this.GD(null)};a.prototype.Bka=function(q){var n=this.nB(q);this.hla(q,n.x,n.y)?q.preventDefault():this.GD(null)};a.prototype.Nja=function(){return[]};a.prototype.Bma=
function(){};a.prototype.hla=function(q,n,r){return this.eKa(q.target)&&0<=n&&0<=r&&n<this.ia&&r<this.ua};a.prototype.eKa=function(q){if(!this.tf)return!1;for(var n=this.tf.get(0);q;){if(q===n)return!0;q=q.parentElement}return!1};a.prototype.KDa=function(){this.fF(["globalresize"]);this.i2=setInterval(h.bind(function(){this.Nha()},this),this.CEa)};a.prototype.QGa=function(){this.$J(["globalresize"]);this.i2&&(clearInterval(this.i2),this.i2=null)};a.prototype.Nha=function(){this.Mi.enabled()?this.aqa():
this.Gsa();var q=this.lra.clientWidth,n=this.lra.clientHeight;if(this.td!=q||this.Ad!=n)this.td=q,this.Ad=n,this.EPa()};a.prototype.aqa=function(){if(this.e5&&(p.de()==p.VD&&p.browser()==p.Nk||p.de()==p.Di)){var q=l.fullscreenElement();var n=q.clientWidth;q=q.clientHeight;p.de()!=p.VD||window.screen.availWidth!=n&&window.screen.availHeight!=q||(n=window.screen.availWidth,q=window.screen.availHeight);var r=(n>q?n:q)/(this.pX>this.oX?this.pX:this.oX),u=Math.round(n/r),t=Math.round(q/r);this.ky=r;n=
{left:Math.round(.5*(n-u))+"px",top:Math.round(.5*(q-t))+"px",right:"auto",bottom:"auto",width:u+"px",height:t+"px",transform:"scale("+[r,r].join(", ")+")",position:"absolute"}}else n={position:"absolute",left:0,top:0,right:"auto",bottom:"auto",width:document.body.clientWidth+"px",height:document.body.clientHeight+"px"},this.ky=1;this.lv.css(n)};a.prototype.NEa=function(){this.lv.css({position:"abolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",transform:""});this.ky=1};a.prototype.EPa=
function(){this.ira();var q=this;this.QM=setTimeout(function(){q.QM=null;q.Ub()},this.VJa)};a.prototype.ira=function(){this.QM&&(this.QM=null,clearTimeout(this.QM))};a.prototype.jJa=function(){this.Nha()};a.prototype.z4=function(){return h(b.prototype.z4.call(this)).defaults({globaltouchmove:[{target:d(document),name:"touchmove",handler:this.kh(this.kJa)}],globalmousemove:[{target:d(document),name:"mousemove",handler:this.kh(this.Bka)},{target:d(window),name:"mouseout",handler:this.kh(this.Bka)}],
globalresize:[{target:d(window),name:"resize",handler:this.kh(this.jJa)}]})};return a});
define("gu","require jquery.mod oT cb mU ox gf ov v".split(" "),function(a){function d(){n=TDV.pb.Aq();var v=q||n;p!=v&&(p=v,l.trigger(g.ta));v=!!q&&n!=q&&f.mb();r!=v&&(u||(u=h("<div/>"),u.css({position:"fixed","z-index":m.OAa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),u.html(['<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">','<img style="width:22vmin" src="'+
k.cJ+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+c("rotate-device")+"</div>","</div>\n</div>"].join("\n")),t=u.find("img")),r&&u.detach(),(r=v)&&(b.enabled()?h(b.fullscreenElement()):h("body")).append(u));r&&t.css("transform",p==l.BBa?"translate(-11%, 0) rotate(-90deg)":"none")}var h=a("jquery.mod"),m=a("oT"),k=a("cb"),b=a("mU"),g=a("ox"),e=a("gf"),c=a("ov"),f=a("v"),l=new e;l.j_a=TDV.pb.s0;
l.BBa=TDV.pb.t0;l.KD=function(v){q!=v&&(q=v,d())};l.Oua=function(){return q};l.get=function(){return p};var p=void 0,q=void 0,n=void 0,r=!1,u=null,t=null;window.addEventListener("resize",function(){d();setTimeout(d,500)},!0);try{window.screen.orientation.addEventListener("change",d)}catch(v){window.addEventListener("orientationchange",d,!1)}d();return l});
define("iy","require li ed ox cw cB nq mR ov jz H kw ly dN lS nr lB v hB eO ct jk md bv ea hq nS cY mU bD gu lO dp".split(" "),function(a){var d=a("li"),h=a("ed"),m=a("ox"),k=a("cw"),b=a("cB"),g=a("nq"),e=a("mR"),c=a("ov"),f=a("jz"),l=a("H"),p=a("kw"),q=a("ly"),n=a("dN");a("lS");var r=a("nr"),u=a("lB"),t=a("v"),v=a("hB"),w=a("eO"),x=a("ct"),y=a("jk"),A=a("md"),B=a("bv"),z=a("ea"),C=a("hq"),G=a("nS"),D=a("cY"),E=a("mU"),H=a("bD"),R=a("gu"),S=a("lO"),Q=a("dp"),M=g.define("Player",C,function(){C.apply(this,
arguments);this.fg=new w(this);this.Uia=new p(this,this.fg);this.nr=new G;this.nr.ja({backgroundOpacity:0,visible:!0,width:"100%",height:"100%"});this.SF=new q;this.pH=new n;this.QR=new l(this);var P=new D;P.NZ(0);this.OP(P);this.rf(!0);this.bind(m.G("settings"),this.TLa,this,!0);this.iX=TDV.pb.gva();R.bind(m.ta,this.DLa,this,!0);H.FZa();this.fEa=new f(this,"buttonMute",z.Ce);this.fEa.bind(m.pa,this.qna,this,!0);this.nEa=new f(this,"buttonUnmute",z.Ce);this.nEa.bind(m.pa,this.eoa,this,!0);this.qR=
new f(this,"buttonToggleMute",z.Rj);this.qR.bind(m.Pj,this.qna,this,!0);this.qR.bind(m.am,this.eoa,this,!0);this.bind(m.G("mute"),this.ALa,this);this.qR.set("pressed",this.get("mute"));this.dEa=new f(this,"buttonEnterFullscreen",z.Ce);this.dEa.bind(m.pa,this.Hma,this,!0);this.eEa=new f(this,"buttonExitFullscreen",z.Ce);this.eEa.bind(m.pa,this.Ima,this,!0);this.nR=new f(this,"buttonToggleFullscreen",z.Rj);this.nR.bind(m.Pj,this.Hma,this,!0);this.nR.bind(m.am,this.Ima,this,!0);this.nR.set("pressed",
this.get("fullscreenEnabled"));this.bind(m.G("fullscreenEnabled"),this.jLa,this,!0);this.set("fullscreenEnabled",this.Mi.enabled());this.set("defaultMenu",["fullscreen","mute","rotation"]);this.bind(m.tn,this.WLa,this,!0);[m.vb,m.Zb,m.Xq,m.tw,m.eE].forEach(function(U){this.bind(U,function(N){this.trigger(new k(m.pE,{ZP:N}))},this,!0)}.bind(this));["keydown","keyup"].forEach(function(U){document.addEventListener(U,function(N){this.trigger(new k(m.pE,{ZP:N}))}.bind(this))}.bind(this));B.bind(m.ta,function(){B.isPresenting()?
R.KD():R.KD(C.prototype.get.call(this,"lockedOrientation"))},this);this.Mi.bind(m.ta,function(){var U=R.Oua();R.KD();R.KD(U)},this)});M.FAa="orientationChange";M.prototype.logCapabilities=function(){this.FKa()};M.prototype.activateAudio=function(P){this.xCa(P)};M.prototype.p4=function(P){C.prototype.p4.apply(this,arguments);this.set("fullscreenEnabled",P)};M.prototype.nb=function(){C.prototype.nb.call(this);this.h("mute",!1);this.h("fullscreenEnabled",!1)};M.prototype.zb=function(){C.prototype.zb.call(this);
this.Uia.getParent()!=this&&this.Va(this.Uia);this.nr.getParent()!=this&&(this.Va(this.nr),this.nr.Va(this.QR),this.nr.Va(this.SF),this.nr.Va(this.pH))};M.prototype.ENa=function(P){var U=[];this.SF&&U.push(this.SF);this.pH&&U.push(this.pH);this.QR&&U.push(this.QR);for(var N=!0,V=0;V<=U.length&&N;V++)N=P.indexOf(U[V]),N=P.length-(U.length-V)==N;return N?P:P.filter(function(Y){return 0>U.indexOf(Y)}).concat(U)};M.prototype.Ua=function(){this.cpa||(this.cpa=h.difference(this.OIa(),"backgroundOpacity visible includeInLayout state left right top bottom centerX centerY width height minWidth minHeight maxWidth maxHeight actualWidth actualHeight paddingLeft paddingTop paddingRight paddingBottom".split(" ")));
this.kc(this.cpa,{},[this.nr],!0,!0);C.prototype.Ua.call(this);!0===this.W_a&&this.V_a()};M.prototype.set=function(P,U){switch(P){case "children":this.nr.set(P,this.ENa(U));return;case "creationPolicy":this.nr.set(P,U);return;case "fullscreenAvailable":case "gyroscopeAvailable":case "cardboardAvailable":case "isMobile":case "orientation":case "surfaceSelectionAvailable":case "touchEnabled":case "touchDevice":case "vrAvailable":U=this.get(P);break;case "fullscreenEnabled":U=this.Mi.wg()&&U;break;case "fullscreenFallback":E.$ca(U);
break;case "lockedOrientation":t.Nf()&&(U=void 0);R.KD(U);break;case "installAvailable":U=this.fg.ready();break;case "mouseWheelEnabled":this.lYa(A.Vh("mousewheelenabled",U));break;case "backgroundPreloadEnabled":this.TNa(U);break;case "vrPolyfillScale":B.zYa(U);break;case "desktopMipmappingEnabled":r.CXa(U);break;case "mobileMipmappingEnabled":r.jYa(U)}C.prototype.set.call(this,P,U)};M.prototype.get=function(P,U){switch(P){case "children":case "creationPolicy":return this.nr.get(P,U);case "touchEnabled":return this.Jn;
case "touchDevice":return t.Pda();case "isMobile":return t.mb();case "orientation":return R.get();case "lockedOrientation":return R.Oua();case "gyroscopeAvailable":return v.wg;case "cardboardAvailable":case "vrAvailable":return B.wg();case "fullscreenAvailable":return this.Mi.wg();case "vrPolyfillScale":return B.yUa();case "installAvailable":return this.fg.ready();case "surfaceSelectionAvailable":return!0;case "pageScale":return this.ky;case I:return this.jaa?C.prototype.get.apply(this,arguments):
!0;default:return C.prototype.get.apply(this,arguments)}};M.prototype.qna=function(){this.set("mute",!0)};M.prototype.eoa=function(){this.set("mute",!1)};M.prototype.ALa=function(){this.qR.set("pressed",this.get("mute"))};M.prototype.Hma=function(){this.set("fullscreenEnabled",!0)};M.prototype.Ima=function(){this.set("fullscreenEnabled",!1)};M.prototype.jLa=function(){this.get("fullscreenEnabled")?this.Mi.Gk():this.Mi.Zf();this.nR.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",
this.Mi.enabled())};M.prototype.TLa=function(){var P=this.get("settings");P&&(x.initialize(P),y.vda(P),THREE.lAa=P.get(TDV.PlayerSettings.fea),this.fg.vda(P))};M.prototype.TNa=function(P){y.enabled(P)};M.prototype.Nja=function(){var P=[];this.RE=[];(this.get("menu")||[]).forEach(function(V){var Y=V.get("label");P.push(V.get("label"));Y&&this.RE.push(function(){V.trigger("click")})}.bind(this));var U=this.get("defaultMenu",[]);if(0<=U.indexOf("rotation")){var N=this.Dj("PanoramaPlayer");N.length&&
(P.push(N[0].get("mouseControlMode")==b.Kz?c("change-to-drag-and-release"):c("change-to-click-and-move")),this.RE.push(this.oQa.bind(this)))}0<=U.indexOf("fullscreen")&&this.Mi.wg()&&(P.push(this.Mi.enabled()?c("exit-fullscreen"):c("enter-fullscreen")),this.RE.push(this.mQa.bind(this)));0<=U.indexOf("mute")&&(P.push(this.get("mute")?c("unmute"):c("mute")),this.RE.push(this.nQa.bind(this)));U=[].concat(e.name?[e.name]:[],"false"!=e.yTa?e.lP?["v:"+e.lP+"."+e.mP]:["v:"+e.mP]:[]).join(" ");""!=U&&(0<
P.length&&P.push(""),P.push(U),this.RE.push(this.hMa.bind(this)));return P};M.prototype.Bma=function(P){this.RE[P.data.index]()};M.prototype.oQa=function(){var P=this.Dj("PanoramaPlayer"),U=P[0].get("mouseControlMode")==b.Kz?b.ct:b.Kz;P.forEach(function(N){Q.setItem(W,U);N.set("mouseControlMode",U)})};M.prototype.WLa=function(){Q.getItem(W)==b.ct&&this.Dj("PanoramaPlayer").forEach(function(P){P.set("mouseControlMode",b.ct)});A.Yi("mute")&&this.set("mute",A.Vh("mute",this.get("mute")));A.Yi("vr")&&
B.Gk()};M.prototype.mQa=function(){this.Mi.toggle()};M.prototype.nQa=function(){this.set("mute",!this.get("mute"))};M.prototype.hMa=function(){e.dAa&&window.open(e.dAa,"_blank")};M.prototype.DLa=function(){this.trigger(M.FAa)};M.prototype.FKa=function(){d.ETa(!0);d.log("UA: "+navigator.userAgent);d.log("screen: ("+Math.max(window.screen.width,window.screen.height)+", "+Math.min(window.screen.width,window.screen.height)+") dpr: "+window.devicePixelRatio+" ("+Math.max(window.screen.width,window.screen.height)*
window.devicePixelRatio+", "+Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio+")");t.log();u.log();c.log();B.log()};M.prototype.xCa=function(P){H.active()?S.wait(P):(H.cea(P),H.request(this))};var W="tdvp_"+window.location.pathname+"_rotation_mode",I=[119,97,116,101,114,109,97,114,107].map(function(P){return String.fromCharCode(P)}).join("");return M});define("cm",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("PlayerMenuItem",d,function(){d.call(this)})});
define("T","require li lJ ox kK nq kg".split(" "),function(a){a("li");var d=a("lJ"),h=a("ox"),m=a("kK"),k=a("nq"),b=a("kg");a=k.define("PopupPanoramaOverlay",d,function(){d.call(this);this.set("state",m.T);this.bind(h.G("state"),function(){this.trigger(h.le)},this,!0);this.ad=void 0});a.prototype.show=function(){this.set("visible",!0)};a.prototype.hide=function(){this.set("visible",!1)};a.prototype.play=function(){this.set("state",m.X)};a.prototype.pause=function(){this.set("state",m.nE)};a.prototype.stop=
function(){this.set("state",m.T)};a.prototype.hide=a.prototype.hide;a.prototype.pause=a.prototype.pause;a.prototype.play=a.prototype.play;a.prototype.show=a.prototype.show;a.prototype.stop=a.prototype.stop;a.prototype.get=function(g,e){switch(g){case "playbackPositions":return void 0===this.ad&&(this.ad=b.AUa(this)),this.ad}return d.prototype.get.call(this,g,e)};a.prototype.set=function(g,e){var c=!1;switch(g){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.ad=
void 0,c=!0}d.prototype.set.call(this,g,e);c&&"playbackPositions"!=g&&this.trigger(h.G("playbackPositions"))};return a});define("oy",["require","A","nq"],function(a){var d=a("A");return a("nq").define("ProgressBar",d,function(){d.call(this)})});
define("gq",["require","lJ","ox","nq","kg"],function(a){var d=a("lJ"),h=a("ox"),m=a("nq"),k=a("kg");a=m.define("QuadFramePanoramaOverlay",d,function(){d.call(this);this.ad=void 0});a.prototype.set=function(b,g){var e=!1;switch(b){case "vertices":case "playbackPositions":this.ad=void 0,e=!0}d.prototype.set.call(this,b,g);e&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.ad&&(this.ad=k.Fba(this)),
this.ad}return d.prototype.get.call(this,b,g)};return a});define("bF",["require","nq","cJ"],function(a){var d=a("nq"),h=a("cJ");return d.define("QuadHotspotPanoramaOverlay",h,function(){h.call(this)})});define("iG",["require","nq","u"],function(a){var d=a("nq"),h=a("u");return d.define("QuadHotspotPanoramaOverlayArea",h,function(){h.apply(this,arguments)})});
define("ba",["require","lJ","ox","nq","kg"],function(a){var d=a("lJ"),h=a("ox"),m=a("nq"),k=a("kg");a=m.define("QuadHotspotPanoramaOverlayImageBase",d,function(){d.call(this);this.ad=void 0});a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.ad&&(this.ad=k.Fba(this)),this.ad}return d.prototype.get.call(this,b,g)};a.prototype.set=function(b,g){var e=!1;switch(b){case "opacity":case "distance":case "vertices":case "playbackPositions":this.ad=void 0,e=!0}d.prototype.set.call(this,
b,g);e&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};return a});define("fr",["require","nq","ba"],function(a){var d=a("nq"),h=a("ba");return d.define("QuadHotspotPanoramaOverlayImage",h,function(){h.call(this)})});define("kh",["require","nq","ba"],function(a){var d=a("nq"),h=a("ba");return d.define("QuadHotspotPanoramaOverlayMap",h,function(){h.call(this)})});
define("eQ","require lJ ox kK cw nq kg".split(" "),function(a){var d=a("lJ"),h=a("ox"),m=a("kK"),k=a("cw"),b=a("nq"),g=a("kg");a=b.define("QuadVideoPanoramaOverlay",d,function(){d.call(this);this.ad=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",m.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",m.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",m.T)};a.prototype.set=function(e,c){var f=!1;switch(e){case "state":var l=this.get("state")||
m.T;l==m.T&&c==m.X&&this.trigger(h.tn);l!=c&&this.trigger(new k(h.le,{oldState:l,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.ad=void 0,f=!0}d.prototype.set.call(this,e,c);f&&"playbackPositions"!=e&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(e,c){switch(e){case "playbackPositions":return void 0===this.ad&&(this.ad=g.Fba(this)),this.ad}return d.prototype.get.call(this,e,
c)};return a});define("mv",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("RainPanoramaOverlay",d,function(){d.call(this)});a.prototype.get=function(h,m){"startState"==h&&void 0===m&&(m=this.get("initialState"));return d.prototype.get.call(this,h,m)};return a});define("fg",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("RotationalCameraMovement",d,function(){d.call(this)})});
define("cj",["require","ng","nq"],function(a){var d=a("ng");return a("nq").define("SlideInEffect",d,function(){d.call(this)})});define("ii",["require","hv","nq"],function(a){var d=a("hv");return a("nq").define("SlideOutEffect",d,function(){d.call(this)})});
define("nE",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("SnowPanoramaOverlay",d,function(){d.call(this)});a.prototype.get=function(h,m){"startState"==h&&void 0===m&&(m=this.get("initialState"));return d.prototype.get.call(this,h,m)};return a});
define("lW",["require","nq","lq"],function(a){var d=a("nq"),h=a("lq");a=d.define("SphericPanoramaFrame",h,function(){h.call(this)});a.prototype.Ll=function(){var m=this.get("sphere");return m&&d.Ka("Video360Resource",m)?!0:(m=this.get("stereoSphere"))&&d.Ka("Video360Resource",m)?!0:!1};return a});define("ft",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("SphereModel3DObject",h,function(){h.call(this)})});
define("od",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("SpriteModel3DObject",h,function(){h.call(this)})});define("bt",["require","nq","iu"],function(a){var d=a("nq"),h=a("iu");return d.define("SurfaceReticleModel3DObject",h,function(){h.call(this);this.set("transparentAreaActive",!0)})});
define("cK","require ed li y nS mL W iM".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("y"),k=a("nS"),b=a("mL"),g=a("W"),e=a("iM"),c=h.extend(k,function(f){k.call(this);this.we("Tab");this.B7=f;this.Cl="";this.S9=!1;this.pla=this.Ta=null;this.naa=this.maa=!1;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0)});c.prototype.nb=function(){k.prototype.nb.call(this);this.h("horizontalAlign",b.Ae);this.h("verticalAlign",b.ee);this.h("fontFamily");this.h("fontSize");this.h("fontColor");
this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowBlurRadius");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowOpacity");this.h("textShadowVerticalLength")};c.prototype.Zya=function(f){this.maa!=f&&(this.maa=f,this.naa=!0,this.ke())};c.prototype.zb=function(){k.prototype.zb.call(this);null==this.Ta&&(this.Ta=new e,this.Ta.set("horizontalAlign","center"),this.Va(this.Ta))};c.prototype.Yo=function(){k.prototype.Yo.call(this);this.pla=
m.Vs(this.B7,"label",this.cG,this);this.zqa(this.B7.get("label"))};c.prototype.F8=function(){k.prototype.F8.call(this);this.pla.Az()};c.prototype.cG=function(){var f=this.B7.get("label");this.zqa(f?f:"")};c.prototype.zqa=function(f){this.Cl!=f&&(this.Cl=f,this.S9=!0,this.ke())};c.prototype.Ua=function(){this.S9&&(this.S9=!1,this.Ta.set("text",this.Cl));this.naa&&(this.naa=!1,this.Ta.set("direction",this.maa?g.sh:g.Cg));this.kc(c.mga,c.vE,[this.Ta],!0,!0);k.prototype.Ua.call(this)};c.mga="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");
c.vE={};d(c.mga).each(function(f){c.vE[f]=f});return c});define("eY",["require"],function(){return{$I:"normal",hE:"inverse",hea:"center"}});
define("cT","require ed li bh bc ox nS mL d hD cK eY ij".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("bh"),k=a("bc"),b=a("ox"),g=a("nS"),e=a("mL"),c=a("d"),f=a("hD"),l=a("cK"),p=a("eY"),q=a("ij");a=h.extend(g,function(){g.call(this);this.we("TabPanel");this.hf=-1;this.zC=!1;this.CN=[];this.DW=!1;this.Or=[];this.D7=!1;this.BN=[];this.Mg=this.ih=null;this.BC(!1)});a.prototype.nb=function(){g.prototype.nb.call(this);this.h("pages",[]);this.h("selectedIndex",-1);this.h("tabsSize",25);this.h("tabsPosition",
q.tc);this.h("tabsGap",0);this.h("tabsPadding",10);this.h("tabsAlign",p.$I);this.h("tabsBackgroundOpacity",.6);this.h("tabsBackgroundColor",["#FFFFFF","#CCCCCC"]);this.h("tabsBackgroundColorRatios",[0,.5]);this.h("tabsRollOverBackgroundOpacity",1);this.h("tabsRollOverBackgroundColor",["#FFFFFF","#CCCCCC"]);this.h("tabsRollOverBackgroundColorRatios",[0,.5]);this.h("backgroundColor","#FFFFFF");this.h("selectedTabBackgroundOpacity",1);this.h("selectedTabBackgroundColor");this.h("selectedTabBackgroundColorRatios");
this.h("borderRadius",6);this.h("pagePaddingLeft",4);this.h("pagePaddingTop",4);this.h("pagePaddingRight",4);this.h("pagePaddingBottom",4);this.h("borderColor","#AAAAAA");this.h("borderSize",1);this.h("selectedTabFontSize");this.h("selectedTabFontColor");this.h("selectedTabFontWeight");this.h("selectedTabFontStyle");this.h("selectedTabTextDecoration");this.h("selectedTabTextShadowBlurRadius");this.h("selectedTabTextShadowColor");this.h("selectedTabTextShadowHorizontalLength");this.h("selectedTabTextShadowOpacity");
this.h("selectedTabTextShadowVerticalLength");this.h("tabsFontFamily");this.h("tabsFontSize");this.h("tabsFontColor");this.h("tabsFontWeight");this.h("tabsFontStyle");this.h("tabsTextDecoration");this.h("tabsTextShadowBlurRadius");this.h("tabsTextShadowColor");this.h("tabsTextShadowHorizontalLength");this.h("tabsTextShadowOpacity");this.h("tabsTextShadowVerticalLength");this.h("tabsRollOverFontSize");this.h("tabsRollOverFontColor");this.h("tabsRollOverFontWeight");this.h("tabsRollOverFontStyle");
this.h("tabsRollOverTextDecoration");this.h("tabsRollOverTextShadowBlurRadius");this.h("tabsRollOverTextShadowColor");this.h("tabsRollOverTextShadowHorizontalLength");this.h("tabsRollOverTextShadowOpacity");this.h("tabsRollOverTextShadowVerticalLength")};a.prototype.zb=function(){g.prototype.zb.call(this);null==this.Mg&&(this.Mg=new g,this.Mg.BC(!1),this.Va(this.Mg));null==this.ih&&(this.ih=new g,this.ih.BC(!1),this.Va(this.ih))};a.prototype.set=function(n,r){"pages"==n?this.rYa(r||[]):"selectedIndex"==
n?this.uda(r):"layout"==n&&(r=c.ZZa);g.prototype.set.call(this,n,r)};a.prototype.get=function(n,r){return"pages"==n?this.Or:"selectedIndex"==n?this.hf:g.prototype.get.call(this,n,r)};a.prototype.uda=function(n){this.hf!=n&&(this.hf=n,this.hf=Math.min(Math.max(this.hf,-1),this.Or.length),this.zC=!0,this.ke(),this.trigger(b.ta))};a.prototype.rYa=function(n){d.isEqual(this.Or,n)||(this.Or=n,this.D7=!0,this.ke())};a.prototype.aQa=function(n){this.CN=d(this.CN).union([n.source]);this.DW=!0;this.ke()};
a.prototype.$Pa=function(n){this.CN=d(this.CN).difference([n.source]);this.DW=!0;this.ke()};a.prototype.ZPa=function(n){this.uda(d(this.BN).indexOf(n.source))};a.prototype.Ua=function(){var n=!1,r=!1,u=!1,t=!1,v=!1,w=this.B("tabsPosition"),x=this.B("tabsAlign");this.D7&&(this.BN=[],this.ih.Xxa(),this.Mg.Xxa(),d(this.Or).forEach(function(z){var C=new l(z);C.BC(!0);C.bind(b.Tc,d.bind(this.aQa,this));C.bind(b.ac,d.bind(this.$Pa,this));C.bind(b.vb,d.bind(this.ZPa,this));this.BN.push(C);this.ih.Va(C);
z.ja({top:void 0,left:void 0,right:void 0,bottom:void 0,width:"100%",height:"100%"});this.Mg.Va(z)},this),this.hf=Math.min(Math.max(this.hf,0),this.Or.length-1),this.D7=!1,r=n=v=!0);this.I("tabsPosition")&&(this.P("tabsPosition"),t=r=n=!0);this.zC&&(this.zC=!1,u=r=v=!0);this.DW&&(this.DW=!1,u=!0);this.I("overflow")&&this.ih.ja({contentOpaque:this.B("overflow")==f.Vo,overflow:this.B("overflow")});d(["tabsAlign","tabsGap","tabsSize"]).forEach(function(z){this.I(z)&&(this.P(z),n=!0)},this);d("borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize borderColor borderLeftColor borderTopColor borderRightColor borderBottomColor shadow shadowHorizontalLength shadowVerticalLength shadowBlurRadius shadowSpread shadowColor backgroundOpacity backgroundColor backgroundColorRatios".split(" ")).forEach(function(z){this.I(z)&&
(this.P(z),t=r=!0)},this);d("tabsBackgroundOpacity tabsBackgroundColor tabsBackgroundColorRatios selectedTabBackgroundOpacity selectedTabBackgroundColor selectedTabBackgroundColorRatios selectedTabFontSize selectedTabFontColor selectedTabFontWeight selectedTabFontStyle selectedTabTextDecoration selectedTabTextShadowColor selectedTabTextShadowHorizontalLength selectedTabTextShadowVerticalLength selectedTabTextShadowBlurRadius selectedTabTextShadowOpacity tabsFontFamily tabsFontSize tabsFontColor tabsFontWeight tabsFontStyle tabsPadding tabsTextDecoration tabsRollOverFontSize tabsRollOverFontColor tabsTextShadowColor tabsTextShadowHorizontalLength tabsTextShadowVerticalLength tabsTextShadowBlurRadius tabsTextShadowOpacity tabsRollOverFontWeight tabsRollOverFontStyle tabsRollOverTextDecoration tabsRollOverTextShadowColor tabsRollOverTextShadowHorizontalLength tabsRollOverTextShadowVerticalLength tabsRollOverTextShadowBlurRadius tabsRollOverTextShadowOpacity".split(" ")).forEach(function(z){this.I(z)&&
(this.P(z),r=!0)},this);d(["pagePaddingLeft","pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(z){this.I(z)&&(this.P(z),t=!0)},this);this.I("backgroundColorDirection")&&this.P("backgroundColorDirection");if(n){switch(w){case q.Oa:this.ih.ja({left:0,right:void 0});break;case q.hb:this.ih.ja({left:void 0,right:0});break;case q.tc:this.ih.ja({bottom:void 0,top:0});break;case q.oc:this.ih.ja({bottom:0,top:void 0})}switch(w){case q.Oa:case q.hb:this.ih.ja({layout:c.sh,top:0,bottom:0,
height:void 0,width:this.B("tabsSize")});switch(x){case p.hE:this.ih.set("verticalAlign",e.oc);break;case p.hea:this.ih.set("verticalAlign",e.ee);break;default:this.ih.set("verticalAlign",e.tc)}break;case q.tc:case q.oc:switch(this.ih.ja({layout:c.Cg,left:0,right:0,height:this.B("tabsSize"),width:void 0}),x){case p.hE:this.ih.set("horizontalAlign",e.hb);break;case p.hea:this.ih.set("horizontalAlign",e.Ae);break;default:this.ih.set("horizontalAlign",e.Oa)}}this.ih.set("gap",this.B("tabsGap"))}if(r)for(var y=
0;y<this.Or.length;y++){var A=this.BN[y];w==q.oc||w==q.tc?(A.ja({layout:c.Cg,width:void 0,paddingLeft:this.B("tabsPadding"),paddingTop:0,paddingRight:this.B("tabsPadding"),paddingBottom:0,height:"100%",backgroundColorDirection:m.O0}),A.Zya(!1)):(A.ja({layout:c.sh,width:"100%",paddingLeft:0,paddingTop:this.B("tabsPadding"),paddingRight:0,paddingBottom:this.B("tabsPadding"),height:void 0,backgroundColorDirection:m.m0}),A.Zya(!0));w==q.oc||w==q.hb?A.set("borderTopLeftRadius",0):A.set("borderTopLeftRadius",
this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));w==q.oc||w==q.Oa?A.set("borderTopRightRadius",0):A.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==q.tc||w==q.hb?A.set("borderBottomLeftRadius",0):A.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==q.tc||w==q.Oa?A.set("borderBottomRightRadius",0):A.set("borderBottomRightRadius",
this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));w==q.hb&&A.set("borderSize",this.B("borderRightSize","borderSize"));w==q.Oa&&A.set("borderSize",this.B("borderLeftSize","borderSize"));w==q.tc&&A.set("borderSize",this.B("borderTopSize","borderSize"));w==q.oc&&A.set("borderSize",this.B("borderBottomSize","borderSize"));switch(w){case q.Oa:var B=this.B("borderLeftColor","borderColor");break;case q.hb:B=this.B("borderRightColor","borderColor");break;case q.oc:B=
this.B("borderBottomColor","borderColor");break;default:case q.tc:B=this.B("borderTopColor","borderColor")}A.set("borderColor",B);A.ja({fontFamily:this.B("tabsFontFamily"),shadow:this.B("shadow"),shadowHorizontalLength:this.B("shadowHorizontalLength"),shadowVerticalLength:this.B("shadowVerticalLength"),shadowBlurRadius:this.B("shadowBlurRadius"),shadowSpread:this.B("shadowSpread"),shadowColor:this.B("shadowColor")})}if(r||u)for(y=0;y<this.Or.length;y++)A=this.BN[y],u=y==this.hf,B=d(this.CN).contains(A),
u?(B=this.B("selectedTabBackgroundColor","tabsBackgroundColor"),d(B).isUndefined()&&(B=this.B("backgroundColor"),B=d(B).isArray()&&0<B.length?w==q.Oa||w==q.tc?B[0]:B[B.length-1]:B),A.ja({backgroundOpacity:this.B("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:B,backgroundColorRatios:this.B("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:k.Be,fontSize:this.B("selectedTabFontSize","tabsFontSize"),fontColor:this.B("selectedTabFontColor",
"tabsFontColor"),fontWeight:this.B("selectedTabFontWeight","tabsFontWeight"),fontStyle:this.B("selectedTabFontStyle","tabsFontStyle"),textDecoration:this.B("selectedTabTextDecoration","tabsTextDecoration"),textShadowColor:this.B("selectedTabTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.B("selectedTabTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("selectedTabTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("selectedTabTextShadowBlurRadius",
"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("selectedTabTextShadowOpacity","tabsTextShadowOpacity")})):B?A.ja({backgroundOpacity:this.B("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.B("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.B("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:k.Ze,fontSize:this.B("tabsRollOverFontSize","tabsFontSize"),fontColor:this.B("tabsRollOverFontColor","tabsFontColor"),
fontWeight:this.B("tabsRollOverFontWeight","tabsFontWeight"),fontStyle:this.B("tabsRollOverFontStyle","tabsFontStyle"),textDecoration:this.B("tabsRollOverTextDecoration","tabsTextDecoration"),textShadowColor:this.B("tabsRollOverTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.B("tabsRollOverTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("tabsRollOverTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("tabsRollOverTextShadowBlurRadius",
"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsRollOverTextShadowOpacity","tabsTextShadowOpacity")}):A.ja({backgroundOpacity:this.B("tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.B("tabsBackgroundColor"),backgroundColorRatios:this.B("tabsBackgroundColorRatios"),fontSize:this.B("tabsFontSize"),fontColor:this.B("tabsFontColor"),fontWeight:this.B("tabsFontWeight"),fontStyle:this.B("tabsFontStyle"),textDecoration:this.B("tabsTextDecoration"),textShadowColor:this.B("tabsTextShadowColor"),
textShadowHorizontalLength:this.B("tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsTextShadowOpacity")}),A.ja({borderLeftSize:w==q.hb&&u?0:void 0,borderRightSize:w==q.Oa&&u?0:void 0,borderBottomSize:w==q.tc&&u?0:void 0,borderTopSize:w==q.oc&&u?0:void 0});if(t){y=this.B("tabsSize");switch(w){case q.Oa:this.Mg.ja({left:y-(this.B("borderLeftSize","borderSize")||0),right:0,
top:0,bottom:0});break;case q.hb:this.Mg.ja({left:0,right:y-(this.B("borderRightSize","borderSize")||0),top:0,bottom:0});break;case q.tc:this.Mg.ja({left:0,right:0,top:y-(this.B("borderTopSize","borderSize")||0),bottom:0});break;case q.oc:this.Mg.ja({left:0,right:0,top:0,bottom:y-(this.B("borderBottomSize","borderSize")||0)})}w==q.tc&&x==p.$I||w==q.Oa&&x==p.$I?this.Mg.set("borderTopLeftRadius",0):this.Mg.set("borderTopLeftRadius",this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));
w==q.tc&&x==p.hE||w==q.hb&&x==p.$I?this.Mg.set("borderTopRightRadius",0):this.Mg.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==q.oc&&x==p.$I||w==q.Oa&&x==p.hE?this.Mg.set("borderBottomLeftRadius",0):this.Mg.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==q.oc&&x==p.hE||w==q.hb&&x==p.hE?this.Mg.set("borderBottomRightRadius",0):this.Mg.set("borderBottomRightRadius",
this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));this.Mg.ja({paddingLeft:this.B("pagePaddingLeft"),paddingTop:this.B("pagePaddingTop"),paddingRight:this.B("pagePaddingRight"),paddingBottom:this.B("pagePaddingBottom"),borderLeftSize:this.B("borderLeftSize","borderSize"),borderTopSize:this.B("borderTopSize","borderSize"),borderRightSize:this.B("borderRightSize","borderSize"),borderBottomSize:this.B("borderBottomSize","borderSize"),borderLeftColor:this.B("borderLeftColor",
"borderColor"),borderTopColor:this.B("borderTopColor","borderColor"),borderRightColor:this.B("borderRightColor","borderColor"),borderBottomColor:this.B("borderBottomColor","borderColor"),shadow:this.B("shadow"),shadowHorizontalLength:this.B("shadowHorizontalLength"),shadowVerticalLength:this.B("shadowVerticalLength"),shadowBlurRadius:this.B("shadowBlurRadius"),shadowSpread:this.B("shadowSpread"),shadowColor:this.B("shadowColor"),backgroundOpacity:this.B("backgroundOpacity"),backgroundColor:this.B("backgroundColor"),
backgroundColorRatios:this.B("backgroundColorRatios")});w==q.tc||w==q.oc?this.Mg.set("backgroundColorDirection",m.O0):this.Mg.set("backgroundColorDirection",m.m0)}if(v)for(y=0;y<this.Or.length;y++)this.Or[y].set("visible",y==this.hf);g.prototype.Ua.call(this)};return a});define("nI",["require","cT","nq"],function(a){var d=a("cT");return a("nq").define("TabPanel",d,function(){d.call(this)})});
define("fN",["require","li","nS"],function(a){var d=a("li"),h=a("nS");a=d.extend(h,function(){h.call(this);this.we("Page");this.set("label","")});a.prototype.nb=function(){h.prototype.nb.call(this);this.h("visible")};return a});define("gM",["require","fN","nq"],function(a){var d=a("fN");return a("nq").define("TabPanelPage",d,function(){d.call(this)})});define("gr",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("TargetPanoramaCameraMovement",d,function(){d.call(this)})});
define("dj",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("TargetRotationalCameraDisplayMovement",d,function(){d.call(this)})});define("hL",["require","lT","nq"],function(a){var d=a("lT");return a("nq").define("TiledImageResourceLevel",d,function(){d.call(this)})});define("mG",["require","nq","hU"],function(a){var d=a("nq"),h=a("hU");return d.define("TripodCapPanoramaOverlay",h,function(){h.call(this)})});
define("hY","require li y ox mL cL bc d ij lX gG nS mr iM ed".split(" "),function(a){var d=a("li"),h=a("y"),m=a("ox"),k=a("mL"),b=a("cL"),g=a("bc"),e=a("d"),c=a("ij"),f=a("lX"),l=a("gG"),p=a("nS"),q=a("mr"),n=a("iM"),r=a("ed"),u=d.extend(p,function(){p.call(this);this.Ta=this.Je=null;this.KA=[];this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.cA);this.set("cursor",g.Ze)});u.prototype.nb=function(){p.prototype.nb.call(this);
this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.o3);this.h("sourceProperties");this.h("labelFunction",this.m3);this.h("labelFontFamily");this.h("labelFontColor");this.h("labelFontSize");this.h("labelFontStyle");this.h("labelFontWeight");this.h("labelGap");this.h("labelHorizontalAlign");this.h("labelMaxWidth");this.h("labelPosition");this.h("labelTextDecoration");this.h("labelTextShadowColor");this.h("labelTextShadowHorizontalLength");this.h("labelTextShadowVerticalLength");
this.h("labelTextShadowBlurRadius");this.h("labelTextShadowOpacity");this.h("thumbnailBorderRadius");this.h("thumbnailOpacity");this.h("thumbnailBorderSize");this.h("thumbnailBorderColor");this.h("thumbnailWidth");this.h("thumbnailHeight");this.h("thumbnailMaxWidth");this.h("thumbnailMaxHeight");this.h("thumbnailShadow");this.h("thumbnailShadowHorizontalLength");this.h("thumbnailShadowVerticalLength");this.h("thumbnailShadowBlurRadius");this.h("thumbnailShadowSpread");this.h("thumbnailShadowColor");
this.h("thumbnailShadowOpacity");this.u("rollOverBackgroundOpacity",l.U,"backgroundOpacity");this.u("rollOverBackgroundColor",l.U,"backgroundColor");this.u("rollOverBackgroundColorRatios",l.U,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",l.U,"backgroundColorDirection");this.u("rollOverBorderRadius",l.U,"borderRadius");this.u("rollOverBorderTopRadius",l.U,"borderTopRadius");this.u("rollOverBorderBottomRadius",l.U,"borderBottomRadius");this.u("rollOverBorderLeftRadius",l.U,"borderLeftRadius");
this.u("rollOverBorderRightRadius",l.U,"borderRightRadius");this.u("rollOverBorderTopLeftRadius",l.U,"borderTopLeftRadius");this.u("rollOverBorderTopRightRadius",l.U,"borderTopRightRadius");this.u("rollOverBorderBottomLeftRadius",l.U,"borderBottomLeftRadius");this.u("rollOverBorderBottomRightRadius",l.U,"borderBottomRightRadius");this.u("rollOverBorderSize",l.U,"borderSize");this.u("rollOverBorderLeftSize",l.U,"borderLeftSize");this.u("rollOverBorderTopSize",l.U,"borderTopSize");this.u("rollOverBorderRightSize",
l.U,"borderRightSize");this.u("rollOverBorderBottomSize",l.U,"borderBottomSize");this.u("rollOverBorderColor",l.U,"borderColor");this.u("rollOverBorderLeftColor",l.U,"borderLeftColor");this.u("rollOverBorderTopColor",l.U,"borderTopColor");this.u("rollOverBorderRightColor",l.U,"borderRightColor");this.u("rollOverBorderBottomColor",l.U,"borderBottomColor");this.u("rollOverLabelFontColor",l.U,"labelFontColor");this.u("rollOverLabelFontSize",l.U,"labelFontSize");this.u("rollOverLabelFontStyle",l.U,"labelFontStyle");
this.u("rollOverLabelFontWeight",l.U,"labelFontWeight");this.u("rollOverLabelTextDecoration",l.U,"labelTextDecoration");this.u("rollOverLabelTextShadowColor",l.U,"labelTextShadowColor");this.u("rollOverLabelTextShadowHorizontalLength",l.U,"labelTextShadowHorizontalLength");this.u("rollOverLabelTextShadowVerticalLength",l.U,"labelTextShadowVerticalLength");this.u("rollOverLabelTextShadowBlurRadius",l.U,"labelTextShadowBlurRadius");this.u("rollOverLabelTextShadowOpacity",l.U,"labelTextShadowOpacity");
this.u("rollOverOpacity",l.U,"opacity");this.u("rollOverPaddingLeft",l.U,"paddingLeft");this.u("rollOverPaddingTop",l.U,"paddingTop");this.u("rollOverPaddingRight",l.U,"paddingRight");this.u("rollOverPaddingBottom",l.U,"paddingBottom");this.u("rollOverShadow",l.U,"shadow");this.u("rollOverThumbnailOpacity",l.U,"thumbnailOpacity");this.u("rollOverThumbnailBorderSize",l.U,"thumbnailBorderSize");this.u("rollOverThumbnailBorderColor",l.U,"thumbnailBorderColor");this.u("rollOverThumbnailShadow",l.U,"thumbnailShadow");
this.u("rollOverThumbnailShadowHorizontalLength",l.U,"thumbnailShadowHorizontalLength");this.u("rollOverThumbnailShadowVerticalLength",l.U,"thumbnailShadowVerticalLength");this.u("rollOverThumbnailShadowBlurRadius",l.U,"thumbnailShadowBlurRadius");this.u("rollOverThumbnailShadowSpread",l.U,"thumbnailShadowSpread");this.u("rollOverThumbnailShadowColor",l.U,"thumbnailShadowColor");this.u("rollOverThumbnailShadowOpacity",l.U,"thumbnailShadowOpacity");this.u("selectedBackgroundOpacity",l.ba,"backgroundOpacity");
this.u("selectedBackgroundColor",l.ba,"backgroundColor");this.u("selectedBackgroundColorRatios",l.ba,"backgroundColorRatios");this.u("selectedBackgroundColorDirection",l.ba,"backgroundColorDirection");this.u("selectedBorderRadius",l.ba,"borderRadius");this.u("selectedBorderTopRadius",l.ba,"borderTopRadius");this.u("selectedBorderBottomRadius",l.ba,"borderBottomRadius");this.u("selectedBorderLeftRadius",l.ba,"borderLeftRadius");this.u("selectedBorderRightRadius",l.ba,"borderRightRadius");this.u("selectedBorderTopLeftRadius",
l.ba,"borderTopLeftRadius");this.u("selectedBorderTopRightRadius",l.ba,"borderTopRightRadius");this.u("selectedBorderBottomLeftRadius",l.ba,"borderBottomLeftRadius");this.u("selectedBorderBottomRightRadius",l.ba,"borderBottomRightRadius");this.u("selectedBorderSize",l.ba,"borderSize");this.u("selectedBorderLeftSize",l.ba,"borderLeftSize");this.u("selectedBorderTopSize",l.ba,"borderTopSize");this.u("selectedBorderRightSize",l.ba,"borderRightSize");this.u("selectedBorderBottomSize",l.ba,"borderBottomSize");
this.u("selectedBorderColor",l.ba,"borderColor");this.u("selectedBorderLeftColor",l.ba,"borderLeftColor");this.u("selectedBorderTopColor",l.ba,"borderTopColor");this.u("selectedBorderRightColor",l.ba,"borderRightColor");this.u("selectedBorderBottomColor",l.ba,"borderBottomColor");this.u("selectedLabelFontColor",l.ba,"labelFontColor");this.u("selectedLabelFontSize",l.ba,"labelFontSize");this.u("selectedLabelFontStyle",l.ba,"labelFontStyle");this.u("selectedLabelFontWeight",l.ba,"labelFontWeight");
this.u("selectedLabelTextDecoration",l.ba,"labelTextDecoration");this.u("selectedLabelTextShadowColor",l.ba,"labelTextShadowColor");this.u("selectedLabelTextShadowHorizontalLength",l.ba,"labelTextShadowHorizontalLength");this.u("selectedLabelTextShadowVerticalLength",l.ba,"labelTextShadowVerticalLength");this.u("selectedLabelTextShadowBlurRadius",l.ba,"labelTextShadowBlurRadius");this.u("selectedLabelTextShadowOpacity",l.ba,"labelTextShadowOpacity");this.u("selectedOpacity",l.ba,"opacity");this.u("selectedPaddingLeft",
l.ba,"paddingLeft");this.u("selectedPaddingTop",l.ba,"paddingTop");this.u("selectedPaddingRight",l.ba,"paddingRight");this.u("selectedPaddingBottom",l.ba,"paddingBottom");this.u("selectedShadow",l.ba,"shadow");this.u("selectedThumbnailOpacity",l.ba,"thumbnailOpacity");this.u("selectedThumbnailBorderSize",l.ba,"thumbnailBorderSize");this.u("selectedThumbnailBorderColor",l.ba,"thumbnailBorderColor");this.u("selectedThumbnailShadow",l.ba,"thumbnailShadow");this.u("selectedThumbnailShadowHorizontalLength",
l.ba,"thumbnailShadowHorizontalLength");this.u("selectedThumbnailShadowVerticalLength",l.ba,"thumbnailShadowVerticalLength");this.u("selectedThumbnailShadowBlurRadius",l.ba,"thumbnailShadowBlurRadius");this.u("selectedThumbnailShadowSpread",l.ba,"thumbnailShadowSpread");this.u("selectedThumbnailShadowColor",l.ba,"thumbnailShadowColor");this.u("selectedThumbnailShadowOpacity",l.ba,"thumbnailShadowOpacity")};u.prototype.VP=function(t){this.gN(t)};u.prototype.zb=function(){p.prototype.zb.call(this);
this.Je||(this.Je=new q,this.Va(this.Je),this.Je.set("horizontalAlign",k.Ae),this.Je.set("verticalAlign",k.ee),this.Je.bind(m.Z,this.Y9,this));this.Ta||(this.Ta=new n,this.Va(this.Ta))};u.prototype.o3=function(t){if(r(t).isString())return t;if(t&&t.Nda)return t.Nda};u.prototype.m3=function(t){if(t&&t.label)return t.label};u.prototype.Ua=function(){if(this.I("sourceProperties")||this.I("item")){for(;this.KA.length;)this.KA.pop().Az();var t=this.B("sourceProperties"),v=this.B("item");t&&v&&t.forEach(function(x){this.KA.push(h.Vs(v,
x,this.n7,this,!0))}.bind(this))}if(this.I("sourceProperties")||this.I("item")||this.I("tooltipFunction"))v=this.B("item"),t=this.B("tooltipFunction")(v),this.set("toolTip",t);if(this.I("sourceProperties")||this.I("item")||this.I("thumbnailUrlFunction"))v=this.B("item"),(t=this.B("thumbnailUrlFunction")(v))?this.Je.get("url")!=t&&this.Je.ja({url:t,visible:!0,opacity:.5}):this.Je.ja({url:void 0,visible:!1}),this.P("thumbnailUrlFunction");if(this.I("sourceProperties")||this.I("item")||this.I("labelFunction"))v=
this.B("item"),t=this.B("labelFunction")(v),this.Ta.ja({text:t,visible:t?!0:!1}),this.P("labelFunction");this.P("item");this.P("sourceProperties");if(this.I("labelPosition")||this.I("listLayout")||this.I("thumbnailWidth")||this.I("thumbnailHeight")){var w=this;t=function(x,y){x=w.B(x);return void 0!==x?x:y};switch(this.B("labelPosition")){case c.Oa:case c.hb:this.set("layout",e.Cg);this.Ta.set("width","100%");this.Je.ja({height:t("thumbnailHeight","100%"),width:t("thumbnailWidth"),scaleMode:t("thumbnailScaleMode",
f.Nj)});break;default:this.set("layout",e.sh),this.Ta.set("width","100%"),this.Je.ja({height:t("thumbnailHeight","100%"),width:t("thumbnailWidth","100%"),scaleMode:t("thumbnailScaleMode",f.Nj)})}switch(this.B("labelPosition")){case c.Oa:case c.tc:this.cn(this.Ta,0);break;default:this.cn(this.Ta,1)}this.P("labelPosition")}this.kc(u.Z0,u.lga,[this],!0,!0);this.kc(u.a1,u.oga,[this.Je],!0,!0);this.kc(u.$0,u.nga,[this.Ta],!0,!0);p.prototype.Ua.call(this)};u.prototype.n7=function(){this.DC("item")};u.prototype.AC=
function(t){p.prototype.AC.call(this,t)};u.prototype.Y9=function(){this.Je.set("opacity",1)};u.lga={labelGap:"gap"};u.Z0=r(u.lga).keys();u.nga={labelFontFamily:"fontFamily",labelFontColor:"fontColor",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelHorizontalAlign:"horizontalAlign",labelMaxWidth:"maxWidth",labelTextDecoration:"textDecoration",labelTextShadowColor:"textShadowColor",labelTextShadowHorizontalLength:"textShadowHorizontalLength",labelTextShadowVerticalLength:"textShadowVerticalLength",
labelTextShadowBlurRadius:"textShadowBlurRadius",labelTextShadowOpacity:"textShadowOpacity"};u.$0=r(u.nga).keys();u.oga={thumbnailMaxWidth:"maxWidth",thumbnailMaxHeight:"maxHeight",thumbnailBorderRadius:"borderRadius",thumbnailOpacity:"opacity",thumbnailBorderSize:"borderSize",thumbnailBorderColor:"borderColor",thumbnailShadow:"shadow",thumbnailShadowHorizontalLength:"shadowHorizontalLength",thumbnailShadowVerticalLength:"shadowVerticalLength",thumbnailShadowBlurRadius:"shadowBlurRadius",thumbnailShadowSpread:"shadowSpread",
thumbnailShadowColor:"shadowColor",thumbnailShadowOpacity:"shadowOpacity"};u.a1=r(u.oga).keys();return u});
define("bR","require li cw mL ox cL d hD ij nS hY ed".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("mL"),k=a("ox");a("cL");var b=a("d"),g=a("hD"),e=a("ij"),c=a("nS"),f=a("hY");a=a("ed");var l=d.extend(c,function(){c.call(this);this.set("contentOpaque",!0)});l.prototype.nb=function(){c.prototype.nb.call(this);this.h("layout",b.uw);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",g.Vo);this.h("itemHorizontalAlign",m.Ae);this.h("itemLabelFontFamily");this.h("itemLabelPosition",e.oc);
this.h("itemLabelFunction");this.h("itemLabelMaxWidth");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",m.Ae);this.h("itemSourceProperties");this.h("itemThumbnailBorderRadius");this.h("itemThumbnailScaleMode");this.h("itemThumbnailWidth");this.h("itemThumbnailHeight");this.h("itemThumbnailMaxWidth");this.h("itemThumbnailMaxHeight");this.h("itemThumbnailUrlFunction");this.h("itemTooltipFunction");this.h("itemVerticalAlign",m.ee);this.h("itemBackgroundOpacity");this.h("itemBackgroundColor");
this.h("itemBackgroundColorRatios");this.h("itemBackgroundColorDirection");this.h("itemBorderRadius");this.h("itemBorderTopRadius");this.h("itemBorderBottomRadius");this.h("itemBorderLeftRadius");this.h("itemBorderRightRadius");this.h("itemBorderTopLeftRadius");this.h("itemBorderTopRightRadius");this.h("itemBorderBottomLeftRadius");this.h("itemBorderBottomRightRadius");this.h("itemBorderSize");this.h("itemBorderLeftSize");this.h("itemBorderTopSize");this.h("itemBorderRightSize");this.h("itemBorderBottomSize");
this.h("itemBorderColor");this.h("itemBorderLeftColor");this.h("itemBorderTopColor");this.h("itemBorderRightColor");this.h("itemBorderBottomColor");this.h("itemLabelFontColor");this.h("itemLabelFontSize");this.h("itemLabelFontStyle");this.h("itemLabelFontWeight");this.h("itemLabelMaxWidth");this.h("itemLabelTextDecoration");this.h("itemLabelTextShadowColor");this.h("itemLabelTextShadowHorizontalLength");this.h("itemLabelTextShadowVerticalLength");this.h("itemLabelTextShadowBlurRadius");this.h("itemLabelTextShadowOpacity");
this.h("itemOpacity");this.h("itemPaddingLeft");this.h("itemPaddingTop");this.h("itemPaddingRight");this.h("itemPaddingBottom");this.h("itemShadow");this.h("itemThumbnailOpacity");this.h("itemThumbnailBorderSize");this.h("itemThumbnailBorderColor");this.h("itemThumbnailShadow");this.h("itemThumbnailShadowHorizontalLength");this.h("itemThumbnailShadowVerticalLength");this.h("itemThumbnailShadowBlurRadius");this.h("itemThumbnailShadowSpread");this.h("itemThumbnailShadowColor");this.h("itemThumbnailShadowOpacity");
this.h("rollOverItemBackgroundOpacity");this.h("rollOverItemBackgroundColor");this.h("rollOverItemBackgroundColorRatios");this.h("rollOverItemBackgroundColorDirection");this.h("rollOverItemBorderRadius");this.h("rollOverItemBorderTopRadius");this.h("rollOverItemBorderBottomRadius");this.h("rollOverItemBorderLeftRadius");this.h("rollOverItemBorderRightRadius");this.h("rollOverItemBorderTopLeftRadius");this.h("rollOverItemBorderTopRightRadius");this.h("rollOverItemBorderBottomLeftRadius");this.h("rollOverItemBorderBottomRightRadius");
this.h("rollOverItemBorderSize");this.h("rollOverItemBorderLeftSize");this.h("rollOverItemBorderTopSize");this.h("rollOverItemBorderRightSize");this.h("rollOverItemBorderBottomSize");this.h("rollOverItemBorderColor");this.h("rollOverItemBorderLeftColor");this.h("rollOverItemBorderTopColor");this.h("rollOverItemBorderRightColor");this.h("rollOverItemBorderBottomColor");this.h("rollOverItemLabelFontSize");this.h("rollOverItemLabelFontStyle");this.h("rollOverItemLabelFontWeight");this.h("rollOverItemLabelTextDecoration");
this.h("rollOverItemLabelTextShadowColor");this.h("rollOverItemLabelTextShadowHorizontalLength");this.h("rollOverItemLabelTextShadowVerticalLength");this.h("rollOverItemLabelTextShadowBlurRadius");this.h("rollOverItemLabelTextShadowOpacity");this.h("rollOverItemOpacity");this.h("rollOverItemPaddingLeft");this.h("rollOverItemPaddingTop");this.h("rollOverItemPaddingRight");this.h("rollOverItemPaddingBottom");this.h("rollOverItemShadow");this.h("rollOverItemThumbnailOpacity");this.h("rollOverItemThumbnailBorderSize");
this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection");
this.h("selectedItemBorderRadius");this.h("selectedItemBorderTopRadius");this.h("selectedItemBorderBottomRadius");this.h("selectedItemBorderLeftRadius");this.h("selectedItemBorderRightRadius");this.h("selectedItemBorderTopLeftRadius");this.h("selectedItemBorderTopRightRadius");this.h("selectedItemBorderBottomLeftRadius");this.h("selectedItemBorderBottomRightRadius");this.h("selectedItemBorderSize");this.h("selectedItemBorderLeftSize");this.h("selectedItemBorderTopSize");this.h("selectedItemBorderRightSize");
this.h("selectedItemBorderBottomSize");this.h("selectedItemBorderColor");this.h("selectedItemBorderLeftColor");this.h("selectedItemBorderTopColor");this.h("selectedItemBorderRightColor");this.h("selectedItemBorderBottomColor");this.h("selectedItemLabelFontSize");this.h("selectedItemLabelFontStyle");this.h("selectedItemLabelFontWeight");this.h("selectedItemLabelTextDecoration");this.h("selectedItemLabelTextShadowColor");this.h("selectedItemLabelTextShadowHorizontalLength");this.h("selectedItemLabelTextShadowVerticalLength");
this.h("selectedItemLabelTextShadowBlurRadius");this.h("selectedItemLabelTextShadowOpacity");this.h("selectedItemOpacity");this.h("selectedItemPaddingLeft");this.h("selectedItemPaddingTop");this.h("selectedItemPaddingRight");this.h("selectedItemPaddingBottom");this.h("selectedItemShadow");this.h("selectedItemThumbnailOpacity");this.h("selectedItemThumbnailBorderSize");this.h("selectedItemThumbnailBorderColor");this.h("selectedItemThumbnailShadow");this.h("selectedItemThumbnailShadowHorizontalLength");
this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};l.prototype.VK=function(p){this.oo=!0;this.set("selectedIndex",this.G4(p.source))};l.prototype.G4=function(p){for(var q=this.Kb(),n=0;n<q.length;n++)if(q[n]==p)return n;return-1};l.prototype.Ua=function(){this.I("layout")&&this.B("layout")!=b.uw&&this.set("layout",b.uw);
var p=!1;if(this.I("items")){p=!0;var q=this.B("items")||[],n=this.Kb();if(n.length<q.length){for(var r=n.length;r<q.length;r++)n=new f,n.bind(k.pa,this.VK,this),this.kc(l.lJ,l.pA,[n],!1,!1),this.kc(l.mJ,l.qA,[n],!1,!1),this.Va(n);n=this.Kb()}if(n.length>q.length){for(r=q.length;r<n.length;r++){var u=n[r];u.unbind(k.pa,this.VK,this);this.removeChild(u)}n=this.Kb()}for(r=0;r<q.length;r++)n[r].set("item",q[r]);this.P("items")}if(this.I("selectedIndex")||p){q=this.Kb();p=Math.min(q.length-1,Math.max(-1,
this.B("selectedIndex")));this.set("selectedIndex",p);for(r=0;r<q.length;r++)q[r].VP(r==p);this.P("selectedIndex");this.oo&&(this.oo=!1,this.trigger(new h(k.ta)))}this.kc(l.lJ,l.pA,this.Kb(),!0,!1);this.kc(l.mJ,l.qA,this.Kb(),!0,!0);c.prototype.Ua.call(this)};l.pA={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};l.qA=
{itemHorizontalAlign:"horizontalAlign",itemLabelFunction:"labelFunction",itemLabelFontFamily:"labelFontFamily",itemLabelGap:"labelGap",itemLabelHorizontalAlign:"labelHorizontalAlign",itemLabelMaxWidth:"labelMaxWidth",itemLabelPosition:"labelPosition",itemSourceProperties:"sourceProperties",itemThumbnailBorderRadius:"thumbnailBorderRadius",itemThumbnailScaleMode:"thumbnailScaleMode",itemThumbnailHeight:"thumbnailHeight",itemThumbnailWidth:"thumbnailWidth",itemThumbnailMaxHeight:"thumbnailMaxHeight",
itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroundOpacity:"backgroundOpacity",itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius",itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius",
itemBorderRightRadius:"borderRightRadius",itemBorderTopLeftRadius:"borderTopLeftRadius",itemBorderTopRightRadius:"borderTopRightRadius",itemBorderBottomLeftRadius:"borderBottomLeftRadius",itemBorderBottomRightRadius:"borderBottomRightRadius",itemBorderSize:"borderSize",itemBorderLeftSize:"borderLeftSize",itemBorderTopSize:"borderTopSize",itemBorderRightSize:"borderRightSize",itemBorderBottomSize:"borderBottomSize",itemBorderColor:"borderColor",itemBorderLeftColor:"borderLeftColor",itemBorderTopColor:"borderTopColor",
itemBorderRightColor:"borderRightColor",itemBorderBottomColor:"borderBottomColor",itemLabelFontColor:"labelFontColor",itemLabelFontSize:"labelFontSize",itemLabelFontStyle:"labelFontStyle",itemLabelFontWeight:"labelFontWeight",itemLabelTextDecoration:"labelTextDecoration",itemLabelTextShadowColor:"labelTextShadowColor",itemLabelTextShadowHorizontalLength:"labelTextShadowHorizontalLength",itemLabelTextShadowVerticalLength:"labelTextShadowVerticalLength",itemLabelTextShadowBlurRadius:"labelTextShadowBlurRadius",
itemLabelTextShadowOpacity:"labelTextShadowOpacity",itemOpacity:"opacity",itemPaddingLeft:"paddingLeft",itemPaddingTop:"paddingTop",itemPaddingRight:"paddingRight",itemPaddingBottom:"paddingBottom",itemShadow:"shadow",itemThumbnailOpacity:"thumbnailOpacity",itemThumbnailBorderSize:"thumbnailBorderSize",itemThumbnailBorderColor:"thumbnailBorderColor",itemThumbnailShadow:"thumbnailShadow",itemThumbnailShadowHorizontalLength:"thumbnailShadowHorizontalLength",itemThumbnailShadowVerticalLength:"thumbnailShadowVerticalLength",
itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",rollOverItemBackgroundOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection",rollOverItemBorderRadius:"rollOverBorderRadius",
rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius",rollOverItemBorderSize:"rollOverBorderSize",
rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor",rollOverItemLabelFontColor:"rollOverLabelFontColor",
rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength",rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius",
rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize",rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor",
rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",selectedItemBackgroundOpacity:"selectedBackgroundOpacity",
selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius",selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius",
selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize",selectedItemBorderColor:"selectedBorderColor",
selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration",selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor",
selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop",selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom",
selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength",selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius",
selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",toolTipDisplayTime:"toolTipDisplayTime",toolTipFontFamily:"toolTipFontFamily",toolTipFontSize:"toolTipFontSize",
toolTipFontColor:"toolTipFontColor",toolTipFontWeight:"toolTipFontWeight",toolTipFontStyle:"toolTipFontStyle",toolTipPaddingBottom:"toolTipPaddingBottom",toolTipPaddingLeft:"toolTipPaddingLeft",toolTipPaddingTop:"toolTipPaddingTop",toolTipPaddingRight:"toolTipPaddingRight",toolTipShadowBlurRadius:"toolTipShadowBlurRadius",toolTipShadowColor:"toolTipShadowColor",toolTipShadowHorizontalLength:"toolTipShadowHorizontalLength",toolTipShadowOpacity:"toolTipShadowOpacity",toolTipShadowSpread:"toolTipShadowSpread",
toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};l.lJ=a(l.pA).keys();l.mJ=a(l.qA).keys();return l});
define("jV","require ox bR nq jz ea bO".split(" "),function(a){var d=a("ox"),h=a("bR"),m=a("nq"),k=a("jz"),b=a("ea"),g=a("bO");a=m.define("ThumbnailGrid",h,function(){h.call(this);this.md=null;this.set("itemMode","normal");this.rp=!1;this.DJ=new k(this,"buttonScrollDown",b.Ce);this.DJ.bind(d.pa,this.nya,this);this.EJ=new k(this,"buttonScrollLeft",b.Ce);this.EJ.bind(d.pa,this.scrollLeft,this);this.FJ=new k(this,"buttonScrollRight",b.Ce);this.FJ.bind(d.pa,this.oya,this);this.GJ=new k(this,"buttonScrollUp",
b.Ce);this.GJ.bind(d.pa,this.pya,this);this.bind(d.ta,this.YLa,this)});a.prototype.Tl=function(){h.prototype.Tl.call(this);this.PC()};a.prototype.wv=function(){h.prototype.wv.call(this);this.PC()};a.prototype.PC=function(){this.DJ.set("visible",!this.rp||this.vR());this.GJ.set("visible",!this.rp||this.yR());this.EJ.set("visible",!this.rp||this.wR());this.FJ.set("visible",!this.rp||this.xR())};a.prototype.set=function(e,c){if("itemMode"==e)switch(c){case "thumbnail-only":this.set("itemLabelFunction",
this.uu);this.set("itemThumbnailUrlFunction",this.XK);this.set("itemTooltipFunction",this.CB);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.CB);this.set("itemThumbnailUrlFunction",this.uu);this.set("itemTooltipFunction",this.uu);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.CB),this.set("itemThumbnailUrlFunction",this.XK),
this.set("itemTooltipFunction",this.uu),this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==e?(this.md&&this.md.unbind("change",this.Mu,this),(this.md=c)?(this.set("items",this.md.get("items")),this.set("selectedIndex",this.md.get("selectedIndex")),this.md.bind("change",this.Mu,this,!0)):this.set("items",[])):"hideScrollButtons"==e?(this.rp=c,this.PC()):h.prototype.set.call(this,e,c)};a.prototype.get=function(e,c){switch(e){case "playList":return this.md;
default:return h.prototype.get.call(this,e,c)}};a.prototype.Mu=function(){this.set("items",this.md.get("items"));this.set("selectedIndex",this.md.get("selectedIndex"))};a.prototype.YLa=function(){this.md&&this.md.set("selectedIndex",this.get("selectedIndex"))};a.prototype.uu=function(){};a.prototype.CB=function(e){return e.get("label")||e.get("media").get("label")};a.prototype.XK=function(e){e=e.get("media");var c=e.get("thumbnailUrl");e.get("flipImageHorizontally")&&(c=g.ita(c));return c};return a});
define("kr","require li y ox mL cL bc d ij lX gG nS mr iM ed".split(" "),function(a){var d=a("li"),h=a("y"),m=a("ox"),k=a("mL"),b=a("cL"),g=a("bc"),e=a("d"),c=a("ij"),f=a("lX"),l=a("gG"),p=a("nS"),q=a("mr"),n=a("iM"),r=a("ed"),u=d.extend(p,function(){p.call(this);this.Ta=this.Je=null;this.KA=[];this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.cA);this.set("cursor",g.Ze)});u.prototype.nb=function(){p.prototype.nb.call(this);
this.h("listLayout");this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.o3);this.h("sourceProperties");this.h("labelFunction",this.m3);this.h("labelFontFamily");this.h("labelFontColor");this.h("labelFontSize");this.h("labelFontStyle");this.h("labelFontWeight");this.h("labelGap");this.h("labelHorizontalAlign");this.h("labelPosition");this.h("labelTextDecoration");this.h("labelTextShadowColor");this.h("labelTextShadowHorizontalLength");this.h("labelTextShadowVerticalLength");
this.h("labelTextShadowBlurRadius");this.h("labelTextShadowOpacity");this.h("thumbnailBorderRadius");this.h("thumbnailOpacity");this.h("thumbnailBorderSize");this.h("thumbnailBorderColor");this.h("thumbnailWidth");this.h("thumbnailHeight");this.h("thumbnailMaxWidth");this.h("thumbnailMaxHeight");this.h("thumbnailShadow");this.h("thumbnailShadowHorizontalLength");this.h("thumbnailShadowVerticalLength");this.h("thumbnailShadowBlurRadius");this.h("thumbnailShadowSpread");this.h("thumbnailShadowColor");
this.h("thumbnailShadowOpacity");this.u("rollOverBackgroundOpacity",l.U,"backgroundOpacity");this.u("rollOverBackgroundColor",l.U,"backgroundColor");this.u("rollOverBackgroundColorRatios",l.U,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",l.U,"backgroundColorDirection");this.u("rollOverBorderRadius",l.U,"borderRadius");this.u("rollOverBorderTopRadius",l.U,"borderTopRadius");this.u("rollOverBorderBottomRadius",l.U,"borderBottomRadius");this.u("rollOverBorderLeftRadius",l.U,"borderLeftRadius");
this.u("rollOverBorderRightRadius",l.U,"borderRightRadius");this.u("rollOverBorderTopLeftRadius",l.U,"borderTopLeftRadius");this.u("rollOverBorderTopRightRadius",l.U,"borderTopRightRadius");this.u("rollOverBorderBottomLeftRadius",l.U,"borderBottomLeftRadius");this.u("rollOverBorderBottomRightRadius",l.U,"borderBottomRightRadius");this.u("rollOverBorderSize",l.U,"borderSize");this.u("rollOverBorderLeftSize",l.U,"borderLeftSize");this.u("rollOverBorderTopSize",l.U,"borderTopSize");this.u("rollOverBorderRightSize",
l.U,"borderRightSize");this.u("rollOverBorderBottomSize",l.U,"borderBottomSize");this.u("rollOverBorderColor",l.U,"borderColor");this.u("rollOverBorderLeftColor",l.U,"borderLeftColor");this.u("rollOverBorderTopColor",l.U,"borderTopColor");this.u("rollOverBorderRightColor",l.U,"borderRightColor");this.u("rollOverBorderBottomColor",l.U,"borderBottomColor");this.u("rollOverLabelFontColor",l.U,"labelFontColor");this.u("rollOverLabelFontSize",l.U,"labelFontSize");this.u("rollOverLabelFontStyle",l.U,"labelFontStyle");
this.u("rollOverLabelFontWeight",l.U,"labelFontWeight");this.u("rollOverLabelTextDecoration",l.U,"labelTextDecoration");this.u("rollOverLabelTextShadowColor",l.U,"labelTextShadowColor");this.u("rollOverLabelTextShadowHorizontalLength",l.U,"labelTextShadowHorizontalLength");this.u("rollOverLabelTextShadowVerticalLength",l.U,"labelTextShadowVerticalLength");this.u("rollOverLabelTextShadowBlurRadius",l.U,"labelTextShadowBlurRadius");this.u("rollOverLabelTextShadowOpacity",l.U,"labelTextShadowOpacity");
this.u("rollOverOpacity",l.U,"opacity");this.u("rollOverPaddingLeft",l.U,"paddingLeft");this.u("rollOverPaddingTop",l.U,"paddingTop");this.u("rollOverPaddingRight",l.U,"paddingRight");this.u("rollOverPaddingBottom",l.U,"paddingBottom");this.u("rollOverShadow",l.U,"shadow");this.u("rollOverThumbnailOpacity",l.U,"thumbnailOpacity");this.u("rollOverThumbnailBorderSize",l.U,"thumbnailBorderSize");this.u("rollOverThumbnailBorderColor",l.U,"thumbnailBorderColor");this.u("rollOverThumbnailShadow",l.U,"thumbnailShadow");
this.u("rollOverThumbnailShadowHorizontalLength",l.U,"thumbnailShadowHorizontalLength");this.u("rollOverThumbnailShadowVerticalLength",l.U,"thumbnailShadowVerticalLength");this.u("rollOverThumbnailShadowBlurRadius",l.U,"thumbnailShadowBlurRadius");this.u("rollOverThumbnailShadowSpread",l.U,"thumbnailShadowSpread");this.u("rollOverThumbnailShadowColor",l.U,"thumbnailShadowColor");this.u("rollOverThumbnailShadowOpacity",l.U,"thumbnailShadowOpacity");this.u("selectedBackgroundOpacity",l.ba,"backgroundOpacity");
this.u("selectedBackgroundColor",l.ba,"backgroundColor");this.u("selectedBackgroundColorRatios",l.ba,"backgroundColorRatios");this.u("selectedBackgroundColorDirection",l.ba,"backgroundColorDirection");this.u("selectedBorderRadius",l.ba,"borderRadius");this.u("selectedBorderTopRadius",l.ba,"borderTopRadius");this.u("selectedBorderBottomRadius",l.ba,"borderBottomRadius");this.u("selectedBorderLeftRadius",l.ba,"borderLeftRadius");this.u("selectedBorderRightRadius",l.ba,"borderRightRadius");this.u("selectedBorderTopLeftRadius",
l.ba,"borderTopLeftRadius");this.u("selectedBorderTopRightRadius",l.ba,"borderTopRightRadius");this.u("selectedBorderBottomLeftRadius",l.ba,"borderBottomLeftRadius");this.u("selectedBorderBottomRightRadius",l.ba,"borderBottomRightRadius");this.u("selectedBorderSize",l.ba,"borderSize");this.u("selectedBorderLeftSize",l.ba,"borderLeftSize");this.u("selectedBorderTopSize",l.ba,"borderTopSize");this.u("selectedBorderRightSize",l.ba,"borderRightSize");this.u("selectedBorderBottomSize",l.ba,"borderBottomSize");
this.u("selectedBorderColor",l.ba,"borderColor");this.u("selectedBorderLeftColor",l.ba,"borderLeftColor");this.u("selectedBorderTopColor",l.ba,"borderTopColor");this.u("selectedBorderRightColor",l.ba,"borderRightColor");this.u("selectedBorderBottomColor",l.ba,"borderBottomColor");this.u("selectedLabelFontColor",l.ba,"labelFontColor");this.u("selectedLabelFontSize",l.ba,"labelFontSize");this.u("selectedLabelFontStyle",l.ba,"labelFontStyle");this.u("selectedLabelFontWeight",l.ba,"labelFontWeight");
this.u("selectedLabelTextDecoration",l.ba,"labelTextDecoration");this.u("selectedLabelTextShadowColor",l.ba,"labelTextShadowColor");this.u("selectedLabelTextShadowHorizontalLength",l.ba,"labelTextShadowHorizontalLength");this.u("selectedLabelTextShadowVerticalLength",l.ba,"labelTextShadowVerticalLength");this.u("selectedLabelTextShadowBlurRadius",l.ba,"labelTextShadowBlurRadius");this.u("selectedLabelTextShadowOpacity",l.ba,"labelTextShadowOpacity");this.u("selectedOpacity",l.ba,"opacity");this.u("selectedPaddingLeft",
l.ba,"paddingLeft");this.u("selectedPaddingTop",l.ba,"paddingTop");this.u("selectedPaddingRight",l.ba,"paddingRight");this.u("selectedPaddingBottom",l.ba,"paddingBottom");this.u("selectedShadow",l.ba,"shadow");this.u("selectedThumbnailOpacity",l.ba,"thumbnailOpacity");this.u("selectedThumbnailBorderSize",l.ba,"thumbnailBorderSize");this.u("selectedThumbnailBorderColor",l.ba,"thumbnailBorderColor");this.u("selectedThumbnailShadow",l.ba,"thumbnailShadow");this.u("selectedThumbnailShadowHorizontalLength",
l.ba,"thumbnailShadowHorizontalLength");this.u("selectedThumbnailShadowVerticalLength",l.ba,"thumbnailShadowVerticalLength");this.u("selectedThumbnailShadowBlurRadius",l.ba,"thumbnailShadowBlurRadius");this.u("selectedThumbnailShadowSpread",l.ba,"thumbnailShadowSpread");this.u("selectedThumbnailShadowColor",l.ba,"thumbnailShadowColor");this.u("selectedThumbnailShadowOpacity",l.ba,"thumbnailShadowOpacity")};u.prototype.VP=function(t){this.gN(t)};u.prototype.zb=function(){p.prototype.zb.call(this);
this.Je||(this.Je=new q,this.Va(this.Je),this.Je.set("horizontalAlign",k.Ae),this.Je.set("verticalAlign",k.ee),this.Je.bind(m.Z,this.Y9,this));this.Ta||(this.Ta=new n,this.Va(this.Ta))};u.prototype.o3=function(t){if(r(t).isString())return t;if(t&&t.Nda)return t.Nda};u.prototype.m3=function(t){if(t&&t.label)return t.label};u.prototype.Ua=function(){if(this.I("sourceProperties")||this.I("item")){for(;this.KA.length;)this.KA.pop().Az();var t=this.B("sourceProperties"),v=this.B("item");t&&v&&t.forEach(function(x){this.KA.push(h.Vs(v,
x,this.n7,this,!0))}.bind(this))}if(this.I("sourceProperties")||this.I("item")||this.I("tooltipFunction"))v=this.B("item"),t=this.B("tooltipFunction")(v),this.set("toolTip",t);if(this.I("sourceProperties")||this.I("item")||this.I("thumbnailUrlFunction"))v=this.B("item"),(t=this.B("thumbnailUrlFunction")(v))?this.Je.get("url")!=t&&this.Je.ja({url:t,visible:!0,opacity:.5}):this.Je.ja({url:void 0,visible:!1}),this.P("thumbnailUrlFunction");if(this.I("sourceProperties")||this.I("item")||this.I("labelFunction"))v=
this.B("item"),t=this.B("labelFunction")(v),this.Ta.ja({text:t,visible:t?!0:!1}),this.P("labelFunction");this.P("sourceProperties");this.P("item");if(this.I("listLayout"))switch(this.B("listLayout")){case e.sh:this.ja({width:"100%",height:void 0});break;default:this.ja({height:"100%",width:void 0})}if(this.I("labelPosition")||this.I("listLayout")||this.I("thumbnailWidth")||this.I("thumbnailHeight")){var w=this;t=function(x,y){x=w.B(x);void 0===x&&(x=y);return x};switch(this.B("labelPosition")){case c.Oa:case c.hb:this.set("layout",
e.Cg);this.Ta.set("width","100%");switch(this.B("listLayout")){case e.sh:this.Je.ja({height:t("thumbnailHeight"),width:t("thumbnailWidth"),scaleMode:t("thumbnailScaleMode",f.Nj)});break;default:this.Je.ja({height:t("thumbnailHeight","100%"),width:t("thumbnailWidth"),scaleMode:t("thumbnailScaleMode",f.Nj)})}break;default:switch(this.set("layout",e.sh),this.Ta.set("width",void 0),this.B("listLayout")){case e.sh:this.Je.ja({height:t("thumbnailHeight"),width:t("thumbnailWidth","100%"),scaleMode:t("thumbnailScaleMode",
f.Oo)});break;default:this.Je.ja({height:t("thumbnailHeight","100%"),width:t("thumbnailWidth"),scaleMode:t("thumbnailScaleMode",f.Nj)})}}switch(this.B("labelPosition")){case c.Oa:case c.tc:this.cn(this.Ta,0);break;default:this.cn(this.Ta,1)}this.P("labelPosition")}this.P("listLayout");this.kc(u.Z0,u.vE,[this],!0,!0);this.kc(u.a1,u.vE,[this.Je],!0,!0);this.kc(u.$0,u.vE,[this.Ta],!0,!0);p.prototype.Ua.call(this)};u.prototype.n7=function(){this.DC("item")};u.prototype.AC=function(t){p.prototype.AC.call(this,
t)};u.prototype.Y9=function(){this.Je.set("opacity",1)};u.Z0=["labelGap"];u.a1="thumbnailBorderColor thumbnailBorderRadius thumbnailBorderSize thumbnailMaxWidth thumbnailMaxHeight thumbnailOpacity thumbnailShadow thumbnailShadowHorizontalLength thumbnailShadowVerticalLength thumbnailShadowBlurRadius thumbnailShadowSpread thumbnailShadowColor thumbnailShadowOpacity".split(" ");u.$0="labelFontFamily labelFontColor labelFontSize labelFontStyle labelFontWeight labelHorizontalAlign labelTextDecoration labelTextShadowColor labelTextShadowHorizontalLength labelTextShadowVerticalLength labelTextShadowBlurRadius labelTextShadowOpacity".split(" ");
u.vE={labelFontFamily:"fontFamily",labelFontColor:"fontColor",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelGap:"gap",labelHorizontalAlign:"horizontalAlign",labelTextDecoration:"textDecoration",labelTextShadowColor:"textShadowColor",labelTextShadowHorizontalLength:"textShadowHorizontalLength",labelTextShadowVerticalLength:"textShadowVerticalLength",labelTextShadowBlurRadius:"textShadowBlurRadius",labelTextShadowOpacity:"textShadowOpacity",thumbnailMaxWidth:"maxWidth",
thumbnailMaxHeight:"maxHeight",thumbnailBorderRadius:"borderRadius",thumbnailOpacity:"opacity",thumbnailBorderSize:"borderSize",thumbnailBorderColor:"borderColor",thumbnailShadow:"shadow",thumbnailShadowHorizontalLength:"shadowHorizontalLength",thumbnailShadowVerticalLength:"shadowVerticalLength",thumbnailShadowBlurRadius:"shadowBlurRadius",thumbnailShadowSpread:"shadowSpread",thumbnailShadowColor:"shadowColor",thumbnailShadowOpacity:"shadowOpacity"};return u});
define("M","require li cw mL ox d hD ij nS kr ed".split(" "),function(a){var d=a("li"),h=a("cw"),m=a("mL"),k=a("ox"),b=a("d"),g=a("hD"),e=a("ij"),c=a("nS"),f=a("kr");a=a("ed");var l=d.extend(c,function(){c.call(this);this.set("contentOpaque",!0);this.bind(k.G("selectedIndex"),this.LNa,this);this.bind(k.ic,this.kQa,this)});l.prototype.nb=function(){c.prototype.nb.call(this);this.h("layout",b.Cg);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",g.Vo);this.h("itemHorizontalAlign",m.Ae);
this.h("itemLabelFontFamily");this.h("itemLabelPosition",e.oc);this.h("itemLabelFunction");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",m.Ae);this.h("itemThumbnailBorderRadius");this.h("itemThumbnailScaleMode");this.h("itemThumbnailWidth");this.h("itemThumbnailHeight");this.h("itemThumbnailMaxWidth");this.h("itemThumbnailMaxHeight");this.h("itemThumbnailUrlFunction");this.h("itemTooltipFunction");this.h("itemSourceProperties");this.h("itemVerticalAlign",m.ee);this.h("itemBackgroundOpacity");
this.h("itemBackgroundColor");this.h("itemBackgroundColorRatios");this.h("itemBackgroundColorDirection");this.h("itemBorderRadius");this.h("itemBorderTopRadius");this.h("itemBorderBottomRadius");this.h("itemBorderLeftRadius");this.h("itemBorderRightRadius");this.h("itemBorderTopLeftRadius");this.h("itemBorderTopRightRadius");this.h("itemBorderBottomLeftRadius");this.h("itemBorderBottomRightRadius");this.h("itemBorderSize");this.h("itemBorderLeftSize");this.h("itemBorderTopSize");this.h("itemBorderRightSize");
this.h("itemBorderBottomSize");this.h("itemBorderColor");this.h("itemBorderLeftColor");this.h("itemBorderTopColor");this.h("itemBorderRightColor");this.h("itemBorderBottomColor");this.h("itemLabelFontColor");this.h("itemLabelFontSize");this.h("itemLabelFontStyle");this.h("itemLabelFontWeight");this.h("itemLabelTextDecoration");this.h("itemLabelTextShadowColor");this.h("itemLabelTextShadowHorizontalLength");this.h("itemLabelTextShadowVerticalLength");this.h("itemLabelTextShadowBlurRadius");this.h("itemLabelTextShadowOpacity");
this.h("itemOpacity");this.h("itemPaddingLeft");this.h("itemPaddingTop");this.h("itemPaddingRight");this.h("itemPaddingBottom");this.h("itemShadow");this.h("itemThumbnailOpacity");this.h("itemThumbnailBorderSize");this.h("itemThumbnailBorderColor");this.h("itemThumbnailShadow");this.h("itemThumbnailShadowHorizontalLength");this.h("itemThumbnailShadowVerticalLength");this.h("itemThumbnailShadowBlurRadius");this.h("itemThumbnailShadowSpread");this.h("itemThumbnailShadowColor");this.h("itemThumbnailShadowOpacity");
this.h("rollOverItemBackgroundOpacity");this.h("rollOverItemBackgroundColor");this.h("rollOverItemBackgroundColorRatios");this.h("rollOverItemBackgroundColorDirection");this.h("rollOverItemBorderRadius");this.h("rollOverItemBorderTopRadius");this.h("rollOverItemBorderBottomRadius");this.h("rollOverItemBorderLeftRadius");this.h("rollOverItemBorderRightRadius");this.h("rollOverItemBorderTopLeftRadius");this.h("rollOverItemBorderTopRightRadius");this.h("rollOverItemBorderBottomLeftRadius");this.h("rollOverItemBorderBottomRightRadius");
this.h("rollOverItemBorderSize");this.h("rollOverItemBorderLeftSize");this.h("rollOverItemBorderTopSize");this.h("rollOverItemBorderRightSize");this.h("rollOverItemBorderBottomSize");this.h("rollOverItemBorderColor");this.h("rollOverItemBorderLeftColor");this.h("rollOverItemBorderTopColor");this.h("rollOverItemBorderRightColor");this.h("rollOverItemBorderBottomColor");this.h("rollOverItemLabelFontSize");this.h("rollOverItemLabelFontStyle");this.h("rollOverItemLabelFontWeight");this.h("rollOverItemLabelTextDecoration");
this.h("rollOverItemLabelTextShadowColor");this.h("rollOverItemLabelTextShadowHorizontalLength");this.h("rollOverItemLabelTextShadowVerticalLength");this.h("rollOverItemLabelTextShadowBlurRadius");this.h("rollOverItemLabelTextShadowOpacity");this.h("rollOverItemOpacity");this.h("rollOverItemPaddingLeft");this.h("rollOverItemPaddingTop");this.h("rollOverItemPaddingRight");this.h("rollOverItemPaddingBottom");this.h("rollOverItemShadow");this.h("rollOverItemThumbnailOpacity");this.h("rollOverItemThumbnailBorderSize");
this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection");
this.h("selectedItemBorderRadius");this.h("selectedItemBorderTopRadius");this.h("selectedItemBorderBottomRadius");this.h("selectedItemBorderLeftRadius");this.h("selectedItemBorderRightRadius");this.h("selectedItemBorderTopLeftRadius");this.h("selectedItemBorderTopRightRadius");this.h("selectedItemBorderBottomLeftRadius");this.h("selectedItemBorderBottomRightRadius");this.h("selectedItemBorderSize");this.h("selectedItemBorderLeftSize");this.h("selectedItemBorderTopSize");this.h("selectedItemBorderRightSize");
this.h("selectedItemBorderBottomSize");this.h("selectedItemBorderColor");this.h("selectedItemBorderLeftColor");this.h("selectedItemBorderTopColor");this.h("selectedItemBorderRightColor");this.h("selectedItemBorderBottomColor");this.h("selectedItemLabelFontSize");this.h("selectedItemLabelFontStyle");this.h("selectedItemLabelFontWeight");this.h("selectedItemLabelTextDecoration");this.h("selectedItemLabelTextShadowColor");this.h("selectedItemLabelTextShadowHorizontalLength");this.h("selectedItemLabelTextShadowVerticalLength");
this.h("selectedItemLabelTextShadowBlurRadius");this.h("selectedItemLabelTextShadowOpacity");this.h("selectedItemOpacity");this.h("selectedItemPaddingLeft");this.h("selectedItemPaddingTop");this.h("selectedItemPaddingRight");this.h("selectedItemPaddingBottom");this.h("selectedItemShadow");this.h("selectedItemThumbnailOpacity");this.h("selectedItemThumbnailBorderSize");this.h("selectedItemThumbnailBorderColor");this.h("selectedItemThumbnailShadow");this.h("selectedItemThumbnailShadowHorizontalLength");
this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};l.prototype.VK=function(p){this.oo=!0;this.set("selectedIndex",this.G4(p.source))};l.prototype.LNa=function(){this.Ppa()};l.prototype.kQa=function(){this.Ppa()};l.prototype.Ppa=function(){var p=this.get("selectedIndex"),q=this.Kb();0<=p&&p<q.length&&this.scrollIntoView(q[p])};
l.prototype.G4=function(p){for(var q=this.Kb(),n=0;n<q.length;n++)if(q[n]==p)return n;return-1};l.prototype.Ua=function(){if(this.I("layout")){var p=this.B("layout");p!=b.sh&&p!=b.Cg&&this.set("layout",b.Cg)}var q=!1;if(this.I("items")){q=!0;p=this.B("items")||[];var n=this.Kb();if(n.length<p.length){for(var r=n.length;r<p.length;r++)n=new f,n.bind(k.pa,this.VK,this),this.kc(l.lJ,l.pA,[n],!1,!1),this.kc(l.mJ,l.qA,[n],!1,!1),this.Va(n);n=this.Kb()}if(n.length>p.length){for(r=p.length;r<n.length;r++){var u=
n[r];u.unbind(k.pa,this.VK,this);this.removeChild(u)}n=this.Kb()}for(r=0;r<p.length;r++)n[r].set("item",p[r]);this.P("items")}if(this.I("selectedIndex")||q){p=this.Kb();q=Math.min(p.length-1,Math.max(-1,this.B("selectedIndex")));this.set("selectedIndex",q);for(r=0;r<p.length;r++)p[r].VP(r==q);this.P("selectedIndex");this.oo&&(this.oo=!1,this.trigger(new h(k.ta)))}this.kc(l.lJ,l.pA,this.Kb(),!0,!1);this.kc(l.mJ,l.qA,this.Kb(),!0,!0);c.prototype.Ua.call(this)};l.pA={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",
shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};l.qA={itemHorizontalAlign:"horizontalAlign",itemLabelFunction:"labelFunction",itemLabelFontFamily:"labelFontFamily",itemLabelGap:"labelGap",itemLabelHorizontalAlign:"labelHorizontalAlign",itemLabelPosition:"labelPosition",itemSourceProperties:"sourceProperties",itemThumbnailBorderRadius:"thumbnailBorderRadius",itemThumbnailScaleMode:"thumbnailScaleMode",
itemThumbnailHeight:"thumbnailHeight",itemThumbnailWidth:"thumbnailWidth",itemThumbnailMaxHeight:"thumbnailMaxHeight",itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroundOpacity:"backgroundOpacity",itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius",
itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius",itemBorderRightRadius:"borderRightRadius",itemBorderTopLeftRadius:"borderTopLeftRadius",itemBorderTopRightRadius:"borderTopRightRadius",itemBorderBottomLeftRadius:"borderBottomLeftRadius",itemBorderBottomRightRadius:"borderBottomRightRadius",itemBorderSize:"borderSize",itemBorderLeftSize:"borderLeftSize",itemBorderTopSize:"borderTopSize",itemBorderRightSize:"borderRightSize",itemBorderBottomSize:"borderBottomSize",
itemBorderColor:"borderColor",itemBorderLeftColor:"borderLeftColor",itemBorderTopColor:"borderTopColor",itemBorderRightColor:"borderRightColor",itemBorderBottomColor:"borderBottomColor",itemLabelFontColor:"labelFontColor",itemLabelFontSize:"labelFontSize",itemLabelFontStyle:"labelFontStyle",itemLabelFontWeight:"labelFontWeight",itemLabelTextDecoration:"labelTextDecoration",itemLabelTextShadowColor:"labelTextShadowColor",itemLabelTextShadowHorizontalLength:"labelTextShadowHorizontalLength",itemLabelTextShadowVerticalLength:"labelTextShadowVerticalLength",
itemLabelTextShadowBlurRadius:"labelTextShadowBlurRadius",itemLabelTextShadowOpacity:"labelTextShadowOpacity",itemOpacity:"opacity",itemPaddingLeft:"paddingLeft",itemPaddingTop:"paddingTop",itemPaddingRight:"paddingRight",itemPaddingBottom:"paddingBottom",itemShadow:"shadow",itemThumbnailOpacity:"thumbnailOpacity",itemThumbnailBorderSize:"thumbnailBorderSize",itemThumbnailBorderColor:"thumbnailBorderColor",itemThumbnailShadow:"thumbnailShadow",itemThumbnailShadowHorizontalLength:"thumbnailShadowHorizontalLength",
itemThumbnailShadowVerticalLength:"thumbnailShadowVerticalLength",itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",rollOverItemBackgroundOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection",
rollOverItemBorderRadius:"rollOverBorderRadius",rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius",
rollOverItemBorderSize:"rollOverBorderSize",rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor",
rollOverItemLabelFontColor:"rollOverLabelFontColor",rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength",
rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius",rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize",
rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor",rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",
selectedItemBackgroundOpacity:"selectedBackgroundOpacity",selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius",
selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius",selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize",
selectedItemBorderColor:"selectedBorderColor",selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration",
selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor",selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop",
selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom",selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength",
selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius",selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",toolTipDisplayTime:"toolTipDisplayTime",
toolTipFontFamily:"toolTipFontFamily",toolTipFontSize:"toolTipFontSize",toolTipFontColor:"toolTipFontColor",toolTipFontWeight:"toolTipFontWeight",toolTipFontStyle:"toolTipFontStyle",toolTipPaddingBottom:"toolTipPaddingBottom",toolTipPaddingLeft:"toolTipPaddingLeft",toolTipPaddingTop:"toolTipPaddingTop",toolTipPaddingRight:"toolTipPaddingRight",toolTipShadowBlurRadius:"toolTipShadowBlurRadius",toolTipShadowColor:"toolTipShadowColor",toolTipShadowHorizontalLength:"toolTipShadowHorizontalLength",toolTipShadowOpacity:"toolTipShadowOpacity",
toolTipShadowSpread:"toolTipShadowSpread",toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};l.lJ=a(l.pA).keys();l.mJ=a(l.qA).keys();return l});
define("hn","require ox M nq jz ea bO".split(" "),function(a){var d=a("ox"),h=a("M"),m=a("nq"),k=a("jz"),b=a("ea"),g=a("bO");a=m.define("ThumbnailList",h,function(){h.call(this);this.md=null;this.rp=!1;this.DJ=new k(this,"buttonScrollDown",b.Ce);this.DJ.bind(d.pa,this.nya,this);this.EJ=new k(this,"buttonScrollLeft",b.Ce);this.EJ.bind(d.pa,this.scrollLeft,this);this.FJ=new k(this,"buttonScrollRight",b.Ce);this.FJ.bind(d.pa,this.oya,this);this.GJ=new k(this,"buttonScrollUp",b.Ce);this.GJ.bind(d.pa,
this.pya,this);this.bind(d.ta,this.ZLa,this)});a.prototype.Tl=function(){h.prototype.Tl.call(this);this.PC()};a.prototype.wv=function(){h.prototype.wv.call(this);this.PC()};a.prototype.PC=function(){this.DJ.set("visible",!this.rp||this.vR());this.GJ.set("visible",!this.rp||this.yR());this.EJ.set("visible",!this.rp||this.wR());this.FJ.set("visible",!this.rp||this.xR())};a.prototype.set=function(e,c){if("itemMode"==e)switch(c){case "thumbnail-only":this.set("itemLabelFunction",this.uu);this.set("itemThumbnailUrlFunction",
this.XK);this.set("itemTooltipFunction",this.CB);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.CB);this.set("itemThumbnailUrlFunction",this.uu);this.set("itemTooltipFunction",this.uu);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.CB),this.set("itemThumbnailUrlFunction",this.XK),this.set("itemTooltipFunction",this.uu),this.set("itemSourceProperties",
["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==e?(this.md&&this.md.unbind("change",this.Mu,this),(this.md=c)?(this.set("items",this.md.get("items")),this.md.bind("change",this.Mu,this)):this.set("items",[])):"hideScrollButtons"==e?(this.rp=c,this.PC()):h.prototype.set.call(this,e,c)};a.prototype.get=function(e,c){switch(e){case "playList":return this.md;default:return h.prototype.get.call(this,e,c)}};a.prototype.Mu=function(){this.set("items",this.md.get("items"));
this.set("selectedIndex",this.md.get("selectedIndex"))};a.prototype.ZLa=function(){this.md&&this.md.set("selectedIndex",this.get("selectedIndex"))};a.prototype.uu=function(){};a.prototype.CB=function(e){return e.get("label")||e.get("media").get("label")};a.prototype.XK=function(e){e=e.get("media");var c=e.get("thumbnailUrl");e.get("flipImageHorizontally")&&(c=g.ita(c));return c};return a});define("bW",["require","e","nq"],function(a){var d=a("e");return a("nq").define("UIComponent",d,function(){d.call(this)})});
define("jj",["require","nq","ek"],function(a){var d=a("nq"),h=a("ek");a=d.define("Video",h,function(){h.call(this);this.wa=void 0});a.prototype.Js=function(){this.get("video");return[]};return a});define("gV",["require","nq","eW"],function(a){var d=a("nq"),h=a("eW");return d.define("VideoPanorama",h,function(){h.call(this)})});
define("js",["require","lJ","nq"],function(a){var d=a("lJ");a=a("nq").define("Video360Resource",d,function(){d.call(this)});a.prototype.get=function(h,m){if(void 0===m)switch(h){case "gain":m=1}switch(h){case "levels":m=[this];break;case "subtitlesURL":case "gain":for(var k=d.prototype.get.call(this,h),b=this.get("levels"),g=0;b&&g<b.length&&void 0===k;g++){var e=b[g];e!=this&&(k=e.get(h))}return void 0!==k?k:m}return d.prototype.get.call(this,h,m)};return a});
define("dv",["require","nq","lW","gV","js"],function(a){var d=a("nq"),h=a("lW"),m=a("gV"),k=a("js");a=d.define("Video360",m,function(){m.call(this);this.Sn=this.tH=this.rb=void 0});a.prototype.set=function(b,g){"video"==b?this.HDa(g):"videoStereo"==b?this.IDa(g):m.prototype.set.call(this,b,g)};a.prototype.get=function(b,g){return"video"==b?void 0!==this.rb?this.rb:g:"videoStereo"==b?void 0!==this.tH?this.tH:g:m.prototype.get.call(this,b,g)};a.prototype.HDa=function(b){this.rb!=b&&(this.rb=b,b=m.prototype.get.call(this,
"frames")||[],this.rb&&(0==b.length&&b.push(new h),b[0].set("sphere",this.ema(this.rb))),m.prototype.set.call(this,"frames",b.slice()))};a.prototype.IDa=function(b){this.tH!=b&&(this.tH=b,b=m.prototype.get.call(this,"frames")||[],this.tH&&(0==b.length&&b.push(new h),b[0].set("stereoSphere",this.ema(this.tH))),m.prototype.set.call(this,"frames",b.slice()))};a.prototype.ema=function(b){if(Array.isArray(b)){if(0==b.length)return;if(1==b.length&&d.Ka("Video360Resource",b[0]))return b[0];var g=[];b.forEach(function(e){g=
g.concat(e.get("levels")||[e])});b=new k;b.set("levels",g)}return b};return a});define("bN",["require","nq","oc"],function(a){var d=a("nq"),h=a("oc");return d.define("Video360Player",h,function(){h.call(this)})});
define("jR",["require","nq","cX","id"],function(a){var d=a("nq"),h=a("cX"),m=a("id");a=d.define("Video360PlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Wg,this.Hm,this),k.set("video",this.get("media")),k.set("camera",this.get("camera")),k.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Wg,this.Hm,this),k.get("video")==this.get("media")&&k.set("video",
null));m.prototype.stop.call(this)};a.prototype.Hm=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Wg,this.Hm,this),this.get("player").bind(h.Xl,this.Mp,this),this.Vy())};a.prototype.Mp=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Xl,this.Mp,this),this.stop(),this.end())};return a});define("ol",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("Video360ResourceLevel",d,function(){d.call(this)})});
define("fI",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("VideoCue",d,function(){d.call(this)})});
define("ce","require lJ ox kK cw nq kg".split(" "),function(a){var d=a("lJ"),h=a("ox"),m=a("kK"),k=a("cw"),b=a("nq"),g=a("kg");a=b.define("VideoPanoramaOverlay",d,function(){d.call(this);this.ad=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",m.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",m.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",m.T)};a.prototype.set=function(e,c){var f=!1;switch(e){case "state":var l=this.get("state")||m.T;
l==m.T&&c==m.X&&this.trigger(h.tn);l!=c&&this.trigger(new k(h.le,{oldState:l,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "hfov":case "opacity":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.ad=void 0,f=!0}d.prototype.set.call(this,e,c);f&&"playbackPositions"!=e&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(e,c){switch(e){case "playbackPositions":return void 0===
this.ad&&(this.ad=g.Eba(this)),this.ad}return d.prototype.get.call(this,e,c)};return a});define("hK",["require","nq","oO"],function(a){var d=a("nq"),h=a("oO");return d.define("VideoPlaneModel3DObject",h,function(){h.call(this)})});
define("dk","require ed li ox cw gf kK".split(" "),function(a){function d(c,f,l){this.time=c;this.cue=f;this.action=l}var h=a("ed"),m=a("li"),k=a("ox"),b=a("cw"),g=a("gf"),e=a("kK");a=m.extend(g,function(c){g.call(this);this.j=c;this.Nc=null;this.pk=!1;this.Ii=[];this.km=void 0;this.pe=[]});a.prototype.clear=function(){this.j=null;this.MA();this.Ii=[];this.pe=[]};a.prototype.start=function(c){this.end();this.e9(c);this.P2();this.I9();this.UC()};a.prototype.e9=function(c){this.MA();this.Nc=c;this.Nc.bind(k.G("currentTime"),
this.UC,this,!0);this.Nc.bind(k.G("state"),this.I9,this,!0);this.Nc.bind(k.sb,this.iO,this,!0)};a.prototype.MA=function(){this.Nc&&(this.Nc.unbind(k.G("currentTime"),this.UC,this),this.Nc.unbind(k.G("state"),this.I9,this),this.Nc.unbind(k.sb,this.iO,this),this.Nc=null)};a.prototype.end=function(){this.HJ();this.MA();this.pk=!1};a.prototype.I9=function(c){c=c!=e.T;this.pk!=c&&((this.pk=c)?this.vW():this.HJ())};a.prototype.iO=function(){this.UC()};a.prototype.vW=function(){this.km=this.VE=0};a.prototype.UC=
function(){if(this.Nc&&this.pk){var c=this.pe.slice(),f=this.Nc.get("currentTime",0),l=f-this.VE;0>l&&(this.pe=[],this.km=0);l=0<=l&&2>l;this.VE=f;var p;for(p=this.km;p<this.Ii.length&&!(this.Ii[p].time>f);p++);for(;this.km<p;this.km++)f=this.Ii[this.km],"start"==f.action?(this.pe=h(this.pe).union([f.cue]),l&&f.cue.trigger(new b(k.Qq))):(this.pe=h(this.pe).difference([f.cue]),l&&f.cue.trigger(new b(k.sb)));c.length==this.pe.length&&h(c).intersection(this.pe).length==this.pe.length||this.RN()}};a.prototype.HJ=
function(){0<this.pe.length&&(this.pe=[],this.RN())};a.prototype.RN=function(){this.Nc.trigger(new b(k.Pk,{activeCues:this.pe.slice()}))};a.prototype.P2=function(){this.Ii=[];var c=this.Nc.get("cues",[]);h(c).each(function(f){this.Ii.push(new d(f.get("startTime",0),f,"start"));this.Ii.push(new d(f.get("endTime",Number.POSITIVE_INFINITY),f,"end"))},this);this.Ii.sort(function(f,l){return f.time==l.time?f.action==l.start?0:"start"==f.action?-1:1:f.time-l.time})};return a});
define("nt","require li bg cw gf ox lX".split(" "),function(a){var d=a("li"),h=a("bg"),m=a("cw"),k=a("gf");a("ox");a("lX");var b=d.extend(k,function(g,e){k.call(this);this.N=g;this.j=e;this.eC=[];this.oa=b.th;this.ai=null;this.u3=void 0;this.Ji=null;this.vg=this.Pg=void 0});b.prototype.display=function(g,e){this.s2();if(this.Ji!=g||this.oa!=b.th)this.eC.push({video:g,startTime:e}),this.xna()};b.prototype.hide=function(){this.s2();this.eC.push({video:null,startTime:void 0});this.xna()};b.prototype.clear=
function(){this.oa=b.th;this.s2();this.aNa();this.ipa();this.j=null};b.prototype.lh=function(g){this.oa==b.th||this.oa!=b.wn&&this.oa!=b.Fw&&this.oa!=b.rA||(this.vg+=g,g=Math.min(1,this.vg/this.Pg),this.oa==b.wn?this.ai.set("opacity",g):this.oa==b.rA?(this.ai.set("opacity",Math.min(1,2*g)),this.Ji.set("opacity",Math.min(1,2*(1-g)))):this.Ji.set("opacity",1-g),this.vg<this.Pg?this.Ma():this.sx())};b.prototype.xna=function(){0<this.eC.length&&this.oa==b.th&&this.ap()};b.prototype.ap=function(){this.Ji&&
this.trigger(new m(b.Wz,{video:this.Ji}));if("fade_out_fade_in"==this.N.get("transitionMode","blending")&&this.Ji)this.Nw();else{var g=this.eC.shift();this.ai=g.video;this.u3=g.startTime;this.ai?this.ai.get("chromaColor")&&this.Ji?this.T1():this.yJ():this.Ji&&this.Nw()}};b.prototype.yJ=function(){this.Hga();this.vg=0;this.Pg=this.N.get("transitionDuration");this.oa=b.wn;this.Ma()};b.prototype.T1=function(){this.Hga();this.vg=0;this.Pg=2*this.N.get("transitionDuration");this.oa=b.rA;this.Ma()};b.prototype.Nw=
function(){this.ai=null;this.vg=0;this.Pg=this.N.get("transitionDuration");this.oa=b.Fw;this.Ma()};b.prototype.sx=function(){this.ipa();this.Ji=this.ai;this.ai=null;this.oa=b.th;this.Ji?this.trigger(new m(b.Xz,{video:this.Ji})):0==this.eC.length&&this.trigger(new m(b.rea));0!=this.eC.length&&this.ap()};b.prototype.Ma=function(){h.requestFrame(this.lh,this)};b.prototype.s2=function(){this.eC=[]};b.prototype.Hga=function(){this.ai&&(this.ai.set("opacity",0),this.ai.set("zIndex",1),this.Ji&&this.Ji.set("zIndex",
0),this.ai.set("currentTime",this.u3||0),this.j.JSa(this.ai),this.trigger(new m(b.f0,{video:this.ai,startTime:this.u3})))};b.prototype.ipa=function(){this.Ji&&(this.j.cya(this.Ji),this.trigger(new m(b.xQ,{video:this.Ji})),this.Ji=null)};b.prototype.aNa=function(){this.ai&&(this.j.cya(this.ai),this.trigger(new m(b.xQ,{video:this.ai})),this.ai=null)};b.th="stopped";b.wn="blending";b.rA="double blending";b.Fw="disolving";b.Cb="request frame";b.f0="video added";b.xQ="video removed";b.Xz="video show";
b.Wz="video hide";b.rea="all pending videos hidden";return b});
define("jc","require li ox cw gf kK".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("cw"),k=a("gf"),b=a("kK"),g=d.extend(k,function(){k.call(this);this.Nc=null;this.df=!1;this.e3=b.T});g.prototype.start=function(e){this.end();this.e9(e)};g.prototype.end=function(){this.stop();this.MA()};g.prototype.clear=function(){this.MA()};g.prototype.play=function(){this.Nc&&this.Nc.set("state",b.X)};g.prototype.pause=function(){this.Nc&&this.Nc.set("state",b.Db)};g.prototype.stop=function(){this.Nc&&this.Nc.set("state",
b.T)};g.prototype.Cf=function(e){this.df=e;this.Nc&&this.Nc.set("mute",this.df)};g.prototype.setTime=function(e){this.Nc&&this.Nc.set("currentTime",e)};g.prototype.getTime=function(){if(this.Nc)return this.Nc.get("currentTime")};g.prototype.e9=function(e){this.MA();this.Nc=e;this.Nc.set("mute",this.df);this.Nc.bind(h.G("state"),this.ZG,this,!0);this.Nc.bind(h.G("currentTime"),this.VC,this,!0);this.Nc.bind(h.sb,this.iO,this,!0)};g.prototype.MA=function(){this.Nc&&(this.Nc.unbind(h.G("state"),this.ZG,
this),this.Nc.unbind(h.G("currentTime"),this.VC,this),this.Nc.unbind(h.sb,this.iO,this),this.Nc=null)};g.prototype.VC=function(){this.trigger(new m(g.Yz,{video:this.Nc,time:this.Nc.get("currentTime"),duration:this.Nc.get("duration")}))};g.prototype.iO=function(){this.trigger(new m(g.WI,{video:this.Nc}))};g.prototype.ZG=function(){var e=this.Nc.get("state");this.e3!=e&&(this.e3=e,this.trigger(new m(g.Cc,{state:this.e3})))};g.Cc="playback state change";g.WI="video end";g.Yz="video time change";return g});
define("nJ","require li kK cw gf dk nt jc".split(" "),function(a){var d=a("li"),h=a("kK"),m=a("cw"),k=a("gf"),b=a("dk"),g=a("nt"),e=a("jc"),c=d.extend(k,function(f,l){k.call(this);this.N=f;this.j=l;this.j.set("visible",!1);this.Pa=new g(this.N,this.j);this.Ia=new e(this.j);this.jp=new b(this.j);this.Pa.bind(g.Wz,this.Mp,this,!0);this.Pa.bind(g.Xz,this.Hm,this,!0);this.Pa.bind(g.f0,this.foa,this,!0);this.Pa.bind(g.xQ,this.goa,this,!0);this.Pa.bind(g.rea,this.XKa,this,!0);this.Ia.bind(e.Cc,this.Qe,
this,!0);this.Ia.bind(e.WI,this.jy,this,!0);this.Ia.bind(e.Yz,this.mM,this,!0)});c.prototype.clear=function(){this.Pa.clear();this.Ia.clear();this.jp.clear();this.Pa.unbind(g.Wz,this.Mp,this);this.Pa.unbind(g.Xz,this.Hm,this);this.Pa.unbind(g.f0,this.foa,this);this.Pa.unbind(g.xQ,this.goa,this);this.Ia.unbind(e.Cc,this.Qe,this);this.Ia.unbind(e.WI,this.jy,this);this.Ia.unbind(e.Yz,this.mM,this);this.N=this.j=this.jp=this.Ia=this.Pa=null};c.prototype.cZa=function(f,l){this.j.set("visible",!0);this.Pa.display(f,
l)};c.prototype.Wv=function(){this.Pa.hide();this.Ia.end();this.jp.end()};c.prototype.play=function(){this.Ia.play()};c.prototype.stop=function(){this.Ia.stop()};c.prototype.pause=function(){this.Ia.pause()};c.prototype.Cf=function(f){this.Ia.Cf(f)};c.prototype.setTime=function(f){this.Ia.setTime(f)};c.prototype.getTime=function(){return this.Ia.getTime()};c.prototype.foa=function(f){var l=f.data.video;this.Ia.start(l,f.data.startTime);this.jp.start(l)};c.prototype.goa=function(){};c.prototype.Hm=
function(f){f=f.data.video;f.get("autoplay")&&f.get("state")!=h.X&&f.get("state")!=h.Db&&f.set("state",h.X);this.trigger(new m(c.Xz,{video:f}))};c.prototype.Mp=function(f){this.trigger(new m(c.Wz,{video:f.data.video}))};c.prototype.XKa=function(){this.j.set("visible",!1)};c.prototype.jy=function(f){this.trigger(new m(c.WI,{video:f.data.video}))};c.prototype.mM=function(f){this.trigger(new m(c.Yz,{video:f.data.video,time:f.data.time,duration:f.data.duration}))};c.prototype.Qe=function(f){this.trigger(new m(c.Cc,
{state:f.data.state}))};c.Xz="videoShow";c.Wz="videoHide";c.WI="videoEnd";c.Yz="videoTimeChange";c.Cc="playbackStateChange";return c});
define("iB",["require","li","ox","kK","dx"],function(a){var d=a("li"),h=a("ox"),m=a("kK"),k=a("dx");a=d.extend(k,function(b,g){k.call(this,b);this.Y=g;this.Y.bind(h.G("video"),this.hM,this);this.Y.bind(h.le,this.hM,this);this.hM()});a.prototype.clear=function(){this.Y&&(this.Y.unbind(h.G("video"),this.hM,this),this.Y.unbind(h.le,this.hM,this),this.Y=null);k.prototype.clear.call(this)};a.prototype.hM=function(){this.wda(this.Y.get("state")!=m.T?this.Y.get("video"):null)};return a});
define("oi","require li ox bc e dN iB".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("bc"),k=a("e"),b=a("dN"),g=a("iB");a=d.extend(k,function(e,c,f){k.call(this);this.lc=e;this.N=c;this.Y=f;this.set("toolTipDisabled",!0);this.set("cursor",m.jt);this.bind(h.ic,this.ec,this,!0);this.cH=new g(c,f);this.tG=new b.lfa;this.tG.fda(b.lfa.k0);this.tG.rf(this.hV=!1);[this.cH.zc(),this.tG.zc()].forEach(function(l,p){this.Ab().append(l);l.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden",
"z-index":p})}.bind(this))});a.prototype.oda=function(e,c){this.hV!=e&&(this.hV=e,this.tG.vya(c),this.tG.rf(e))};a.prototype.ec=function(){this.kW=!0;this.tG.setSize(this.Wa(),this.xb())};return a});
define("mc","require li ox bc d nS fx gg oi".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("bc"),k=a("d"),b=a("nS"),g=a("fx"),e=a("gg"),c=a("oi");a=d.extend(b,function(f,l,p){b.call(this);this.lc=f;this.N=l;this.Y=p;this.we("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",m.jt);this.set("layout",k.jQ);this.cc=this.Fa=this.Vd=null;this.nX=[];this.jO=[];this.bind(h.ic,this.ec,this,!0);this.ZN()});a.prototype.zb=function(){b.prototype.zb.call(this);null==this.Vd&&(this.Vd=new e(this.lc,
!1),this.Vd.ja({left:0,top:0,right:0,bottom:0}),this.Va(this.Vd),this.Vd.DZ(this.Y.get("useVideoFrameRate")?2:void 0),this.YFa(),this.rFa(),this.nX.forEach(function(f){this.oia(f)}.bind(this)));null==this.cc&&(this.cc=new c(this.lc,this.N,this.Y),this.cc.ja({left:0,top:0,right:0,bottom:0}),this.Va(this.cc),this.ZN())};a.prototype.JSa=function(f){this.nX.push(f);this.Vd&&this.oia(f)};a.prototype.YFa=function(){this.Fa=this.Vd.dd("Scene");this.Fa.H(g.Scene).backgroundColor="transparent";this.Vd.kta(this.Fa)};
a.prototype.rFa=function(){this.Ca=this.Vd.dd("Camera");var f=this.Ca.H(g.OrthographicCamera);f.width=this.kf();f.height=this.jf();this.Ca.H(g.jb).aa=this.Fa;this.Fa.K(g.Scene).je=this.Ca};a.prototype.ec=function(){if(this.Ca){var f=this.Ca.K(g.OrthographicCamera);f.width=this.kf();f.height=this.jf()}};a.prototype.oia=function(f){var l=this.Vd.dd("Video");l.H(g.jb).aa=this.Fa;l.H(g.Mesh).Vb=f;var p=l.H(g.Ew);p.Vb=f;p.je=this.Ca;p=l.H(g.vn);p.Vb=f;p.aea=f.get("video");p.Ea=f;this.jO.push(l);this.Vd.DZ(this.Y.get("useVideoFrameRate")&&
45>this.iJa(f)?2:void 0);this.ZN()};a.prototype.cya=function(f){f=this.nX.indexOf(f);0>f||(this.nX.splice(f,1),this.Vd&&this.pGa(this.jO[f]))};a.prototype.pGa=function(f){var l=this.jO.indexOf(f);0>l||(this.jO.splice(l,1),this.Vd.Ve(f),this.ZN())};a.prototype.oda=function(f){this.hV=f;this.ZN()};a.prototype.ZN=function(){this.cc&&this.cc.oda(this.hV&&0<this.jO.length)};a.prototype.iJa=function(f){f=f.get("video");return(f&&f.get("levels")||[]).reduce(function(l,p){return Math.max(l,p.get("framerate"))},
0)||30};return a});
define("lc","require li ox nq ip kK nJ mc".split(" "),function(a){var d=a("li"),h=a("ox"),m=a("nq"),k=a("ip"),b=a("kK"),g=a("nJ"),e=a("mc");a=m.define("VideoPlayer",k,function(){k.call(this,"video");this.lp=this.uW=this.VC=this.Qh=!1;this.L=this.j=null;this.qb=this.Ed=0;this.$d=d.zo(this.Qg,this)});a.prototype.seek=function(c){this.xC(c)};a.prototype.play=function(){this.bC()};a.prototype.pause=function(){this.aC()};a.prototype.stop=function(){this.hy()};a.prototype.restart=function(){this.by()};a.prototype.set=
function(c,f){if(this.get(c)!=f){switch(c){case "startTime":this.uW=!0;this.$d();break;case "video":this.VC=!0;this.$d();break;case "viewerArea":this.Qh=!0;this.$d();break;case "displayPlaybackBar":this.lp=!0,this.$d()}k.prototype.set.call(this,c,f)}};a.prototype.get=function(c,f){switch(c){case "currentTime":return this.L&&this.L.getTime()||0}return k.prototype.get.call(this,c,f)};a.prototype.Qg=function(){this.Qh&&(this.Qh=!1,this.Yt(),this.get("viewerArea")&&this.Vt(),this.jN(this.get("viewerArea")),
this.VC=!0);var c=!1;if(this.j&&(this.VC||this.uW)){var f=this.get("video"),l=this.get("startTime")||0;if(f&&!this.j.Ib()){this.$d();return}this.uW=this.VC=!1;this.qb=this.Ed=0;c=!0;f?(this.wI(),this.L.cZa(f,l)):this.L.Wv()}this.lp&&(this.lp=!1,c=!0);c&&this.xv()};a.prototype.aH=function(){this.set("video",null)};a.prototype.Vt=function(){var c=this.get("application"),f=this.get("viewerArea");this.j=new e(c,f,this);this.j.ja({left:0,top:0,bottom:0,right:0});f.Va(this.j);f.bind(h.pa,this.koa,this,
!0);this.L=new g(f,this.j);this.L.bind(g.Xz,this.Hm,this);this.L.bind(g.Wz,this.Mp,this);this.L.bind(g.Yz,this.mM,this,!0);this.L.bind(g.Cc,this.Qe,this);c.bind(h.G("mute"),this.UL,this);this.L.Cf(c.get("mute",!1));this.Dy(!0)};a.prototype.Yt=function(){if(this.j){this.L.unbind(g.Xz,this.Hm,this);this.L.unbind(g.Wz,this.Mp,this);this.L.unbind(g.Yz,this.mM,this);this.L.unbind(g.Cc,this.Qe,this);this.L.clear();this.get("application").unbind(h.G("mute"),this.UL,this);var c=this.j.getParent();c.removeChild(this.j);
c.unbind(h.pa,this.koa,this,!0);this.j=null;this.Dy(!1)}};a.prototype.UL=function(){this.j&&this.L.Cf(this.get("application").get("mute",!1))};a.prototype.Qe=function(c){c=c.data.state;this.j&&this.j.oda(this.get("displayPlayOverlay")&&c!=b.X,.5>this.Ed);this.yc(c)};a.prototype.Hm=function(c){var f=this.get("viewerArea");(this.Pd=f&&f.Pd)&&this.Pd.bind(h.pa,this.loa,this,!0);this.P7=!1;this.qL(c.data.video)};a.prototype.Mp=function(c){this.Pd&&this.Pd.unbind(h.pa,this.loa,this,!0);this.Pd=null;this.pL(c.data.video)};
a.prototype.mM=function(c){this.Ed=c.data.time;this.qb=c.data.duration;this.xv()};a.prototype.koa=function(){if(this.P7)this.P7=!1;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=b.X?this.L.play():this.L.pause()}};a.prototype.loa=function(){this.P7=!0};a.prototype.xM=function(c){this.xC(c.data.position)};a.prototype.mk=function(){this.L.play()};a.prototype.ho=function(){this.L.stop()};a.prototype.Op=function(){this.L.pause()};a.prototype.xC=function(c){this.L&&this.L.setTime(c)};
a.prototype.xv=function(){if(this.j){var c=this.j.getParent();0<this.qb&&this.get("displayPlaybackBar")?c.ja({playbackBarPosition:this.Ed,playbackBarDuration:this.qb,playbackBarVisible:!0}):c.set("playbackBarVisible",!1)}};return a});
define("gs",["require","nq","cX","id"],function(a){var d=a("nq"),h=a("cX"),m=a("id");a=d.define("VideoPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Wg,this.Hm,this),k.set("video",this.get("media")),k.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Wg,this.Hm,this),k.get("video")==this.get("media")&&k.set("video",null));m.prototype.stop.call(this)};
a.prototype.Hm=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Wg,this.Hm,this),this.get("player").bind(h.Xl,this.Mp,this),this.Vy())};a.prototype.Mp=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Xl,this.Mp,this),this.stop(),this.end())};return a});define("hr",["require","lJ","nq"],function(a){var d=a("lJ");return a("nq").define("VideoResourceLevel",d,function(){d.call(this)})});
define("er",["require","lJ","nq","lB","hr"],function(a){var d=a("lJ"),h=a("nq"),m=a("lB"),k=a("hr");a=h.define("VideoResource",d,function(){d.call(this);this.K6=new k;this.K6.set("type","video/mp4");this.N6=new k;this.N6.set("type","video/ogg");this.xaa=new k;this.xaa.set("type","video/webm")});a.prototype.get=function(b,g){switch(b){case "levels":g=[];var e=this.get("mp4Url");e&&(this.K6.set("url",e),g.push(this.K6));if(e=this.get("oggUrl"))this.N6.set("url",e),g.push(this.N6);if(e=this.get("webmUrl"))this.xaa.set("url",
e),g.push(this.xaa);g.forEach(function(c){c.set("width",this.get("width"));c.set("height",this.get("height"))}.bind(this))}return d.prototype.get.call(this,b,g)};a.prototype.ui=function(){var b=this.get("webmUrl"),g=this.get("oggUrl"),e=this.get("mp4Url");return e&&m.xY?e:b&&m.Oba?b:g&&m.Nba?g:e||b||g};return a});define("dr",["require","nq","fc"],function(a){var d=a("nq"),h=a("fc");return d.define("VignetteModel3DPostprocessing",h,function(){h.call(this)})});
define("dG","require jquery.mod li ox v md e gw".split(" "),function(a){var d=a("jquery.mod"),h=a("li"),m=a("ox"),k=a("v"),b=a("md"),g=a("e"),e=a("gw");a=h.extend(g,function(){g.call(this);this.we("WebFrame");this.hL=this.cB=this.wc=this.Wd=null;this.c7=this.c7.bind(this);this.pU=this.pU.bind(this);this.bind(m.hd,this.gMa,this,!0);this.bind(m.sd,this.fMa,this,!0)});a.prototype.nb=function(){g.prototype.nb.call(this);this.h("url");this.h("backgroundColor","#ffffff");this.h("insetBorder",!1);this.h("scrollEnabled",
!0);this.h("unloadWhenHidden",!0)};a.prototype.gMa=function(){this.DC("url")};a.prototype.fMa=function(){this.DC("url")};a.prototype.zb=function(){g.prototype.zb.call(this);this.Wd||(this.Wd=d("<div></div>"),this.Wd.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"}),this.Ab().append(this.Wd));this.wc||(this.wc=d("<iframe></iframe>"),this.wc.css({position:"absolute",left:0,top:0}),this.wc.attr("allowfullscreen","true"),this.wc.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),
this.Wd.append(this.wc));this.cB||(this.cB=d("<div></div>"),this.cB.css({"text-shadow":"0 0 5px rgba(255,255,255,0.5)",display:"none",color:"#000000","font-weight":"300","font-family":"Tahoma, Geneva, sans-serif","font-size":k.mb()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"}),this.Wd.append(this.cB))};a.prototype.Ua=function(){if(this.I("url")){var c=this.B("url");c&&this.Hx?this.fqa(c):(!c||this.get("unloadWhenHidden"))&&
this.fqa("");this.P("url")}this.I("insetBorder")&&(this.B("insetBorder")?this.wc.attr("frameborder","1"):this.wc.attr("frameborder","0"),this.P("insetBorder"));this.I("scrollEnabled")&&(this.B("scrollEnabled")?(this.wc.attr("scrolling","auto"),this.Wd.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})):(this.wc.attr("scrolling","no"),this.Wd.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})),this.P("scrollEnabled"));g.prototype.Ua.call(this)};a.prototype.Vg=function(){this.wc&&
e.css(this.wc.get(0),{width:this.ia+"px",height:this.ua+"px"});g.prototype.Vg.call(this)};a.prototype.refresh=function(){this.B("url")&&this.Hx&&(this.o5(),this.Ww(),this.r$(),this.wc.attr("src",""),setTimeout(function(){this.Tqa();this.lha();this.wc.attr("src",this.B("url"))}.bind(this),30))};a.prototype.fqa=function(c){this.wc.attr("src")!=c&&(this.o5(),c?(this.Tqa(),this.lha()):(this.Ww(),this.r$()),this.wc.attr("src",c))};a.prototype.c7=function(){this.hL=null;this.hKa()&&this.nPa()};a.prototype.pU=
function(){this.o5();this.Ww();this.r$()};a.prototype.lha=function(){this.wc.on("load",this.pU)};a.prototype.r$=function(){this.wc.off("load",this.pU)};a.prototype.Ww=function(){this.hL&&(clearTimeout(this.hL),this.hL=null)};a.prototype.Tqa=function(){this.Ww();this.hL=setTimeout(this.c7.bind(this),3E3)};a.prototype.hKa=function(){if("https:"==window.location.protocol){var c=this.wc.attr("src");if("https:"!=b.parse(c).protocol)return!0}return!1};a.prototype.nPa=function(){this.cB.text("A secure web page served over HTTPS can not display insecure content served over HTTP.");
this.cB.show()};a.prototype.o5=function(){this.cB.hide()};return a});define("cl",["require","dG","nq"],function(a){var d=a("dG");a=a("nq").define("WebFrame",d,function(){d.call(this)});a.prototype.refresh=function(){d.prototype.refresh.call(this)};return a});define("lC",["require","ed","li","nS","d"],function(a){var d=a("ed"),h=a("li"),m=a("nS");a=a("d");var k=h.extend(m,function(){m.call(this)});k.uc={layout:a.Cg};d.defaults(k.uc,m.uc);k.prototype.nb=function(){this.Dn(k.uc)};return k});
define("mp","require ed li ox cw mL d nS lC hl fU e ni nB iM".split(" "),function(a){var d=a("ed"),h=a("li"),m=a("ox"),k=a("cw"),b=a("mL"),g=a("d"),e=a("nS"),c=a("lC"),f=a("hl"),l=a("fU");a("e");a("ni");a("nB");var p=a("iM"),q=h.extend(f,function(){f.call(this);this.we("Window");this.Pw=this.PE=this.HN=this.bl=null;this.Y1=new e;this.pF=null;this.h5=this.g5=0;this.FC=this.Hqa=!1;this.yaa=this.zaa=void 0;for(var n in q.F_a)this.DC(n);this.bind(m.ic,this.rSa,this);this.bind(m.XI,this.pSa,this);this.bind(m.dJ,
this.sSa,this);this.bind(m.pa,this.oSa,this);this.hX=0;this.zf=new e;this.zf.ja({visible:!1,includeInLayout:!1,layout:"absolute",height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:!1});this.zf.bind(m.ic,this.Osa,this);this.zf.bind(m.dJ,this.jSa,this);this.zf.bind(m.XI,this.iSa,this);this.zf.bind(m.pa,this.hSa,this);this.zf.Va(this)});q.prototype.set=function(n,r){switch(n){case "maxWidth":this.zaa=r;this.XW();break;case "maxHeight":this.yaa=r;this.XW();break;case "children":this.Y1.set(n,
r);break;case "shadow":this.Hqa=r;this.Isa();break;default:f.prototype.set.call(this,n,r)}};q.prototype.show=function(n,r){this.XW(n);this.set("visible",!1);this.zf.set("visible",!1);this.GDa();r&&this.$Sa();r=n.get("children");n.set("children",r.concat([this.zf]));var u=this;d.defer(function(){u.zf.set("visible",!0)})};q.prototype.GDa=function(){var n=this.B("modal"),r=this.B("veilShowEffect"),u=this.B("veilHideEffect");n&&r?this.zf.set("showEffect",r):this.zf.set("showEffect",null);n&&u?this.zf.set("hideEffect",
u):this.zf.set("hideEffect",null)};q.prototype.hide=function(){this.get("visible")&&this.trigger(m.mAa);this.hX=0;this.eW(!1);this.set("visible",!1)};q.prototype.$Sa=function(){this.set("centerX",0);this.set("centerY",0)};q.prototype.get=function(n,r){return"children"==n?this.Y1.get(n,r):f.prototype.get.call(this,n,r)};q.gga={headerBackgroundOpacity:"backgroundOpacity",headerBackgroundColor:"backgroundColor",headerBackgroundColorRatios:"backgroundColorRatios",headerBackgroundColorDirection:"backgroundColorDirection",
headerBorderSize:"borderSize",headerBorderLeftSize:"borderLeftSize",headerBorderTopSize:"borderTopSize",headerBorderRightSize:"borderRightSize",headerBorderBottomSize:"borderBottomSize",headerBorderColor:"borderColor",headerBorderLeftColor:"borderLeftColor",headerBorderTopColor:"borderTopColor",headerBorderRightColor:"borderRightColor",headerBorderBottomColor:"borderBottomColor",headerHeight:"height",headerPaddingLeft:"paddingLeft",headerPaddingTop:"paddingTop",headerPaddingRight:"paddingRight",headerPaddingBottom:"paddingBottom",
headerVerticalAlign:"verticalAlign"};q.fga=d(q.gga).keys();q.X0={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius",borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};q.W0="borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderTopRadius borderRadius".split(" ");q.yga={title:"text",titleFontFamily:"fontFamily",titleFontSize:"fontSize",titleFontColor:"fontColor",
titleFontWeight:"fontWeight",titleFontStyle:"fontStyle",titleHorizontalAlign:"horizontalAlign",titlePaddingLeft:"paddingLeft",titlePaddingTop:"paddingTop",titlePaddingRight:"paddingRight",titlePaddingBottom:"paddingBottom",titleTextDecoration:"textDecoration",titleTextShadowColor:"textShadowColor",titleTextShadowHorizontalLength:"textShadowHorizontalLength",titleTextShadowVerticalLength:"textShadowVerticalLength",titleTextShadowBlurRadius:"textShadowBlurRadius",titleTextShadowOpacity:"textShadowOpacity"};
q.xga=d(q.yga).keys();q.aga={closeButtonBackgroundColor:"backgroundColor",closeButtonBackgroundColorDirection:"backgroundColorDirection",closeButtonBackgroundColorRatios:"backgroundColorRatios",closeButtonBackgroundOpacity:"backgroundOpacity",closeButtonBorderColor:"borderColor",closeButtonBorderRadius:"borderRadius",closeButtonBorderSize:"borderSize",closeButtonHeight:"height",closeButtonIconColor:"iconColor",closeButtonIconHeight:"iconHeight",closeButtonIconLineWidth:"iconLineWidth",closeButtonIconWidth:"iconWidth",
closeButtonOpacity:"opacity",closeButtonWidth:"width",closeButtonPaddingBottom:"paddingBottom",closeButtonPaddingLeft:"paddingLeft",closeButtonPaddingRight:"paddingRight",closeButtonPaddingTop:"paddingTop",closeButtonRollOverBackgroundColor:"rollOverBackgroundColor",closeButtonRollOverBackgroundColorDirection:"rollOverBackgroundColorDirection",closeButtonRollOverBackgroundColorRatios:"rollOverBackgroundColorRatios",closeButtonRollOverBackgroundOpacity:"rollOverBackgroundOpacity",closeButtonRollOverBorderColor:"rollOverBorderColor",
closeButtonRollOverBorderSize:"rollOverBorderSize",closeButtonRollOverIconColor:"rollOverIconColor",closeButtonRollOverIconLineWidth:"rollOverIconLineWidth",closeButtonRollOverOpacity:"rollOverOpacity",closeButtonPressedBackgroundColor:"pressedBackgroundColor",closeButtonPressedBackgroundColorDirection:"pressedBackgroundColorDirection",closeButtonPressedBackgroundColorRatios:"pressedBackgroundColorRatios",closeButtonPressedBackgroundOpacity:"pressedBackgroundOpacity",closeButtonPressedBorderColor:"pressedBorderColor",
closeButtonPressedBorderSize:"pressedBorderSize",closeButtonPressedIconColor:"pressedIconColor",closeButtonPressedIconLineWidth:"pressedIconLineWidth",closeButtonPressedOpacity:"pressedOpacity"};q.$fa=d(q.aga).keys();q.cga={footerBackgroundOpacity:"backgroundOpacity",footerBackgroundColor:"backgroundColor",footerBackgroundColorRatios:"backgroundColorRatios",footerBackgroundColorDirection:"backgroundColorDirection",footerBorderSize:"borderSize",footerBorderLeftSize:"borderLeftSize",footerBorderTopSize:"borderTopSize",
footerBorderRightSize:"borderRightSize",footerBorderBottomSize:"borderBottomSize",footerBorderColor:"borderColor",footerBorderLeftColor:"borderLeftColor",footerBorderTopColor:"borderTopColor",footerBorderRightColor:"borderRightColor",footerBorderBottomColor:"borderBottomColor",footerHeight:"height"};q.bga=d(q.cga).keys();q.ega={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius",
borderBottomRightRadius:"borderBottomRightRadius"};q.dga="borderLeftRadius borderRightRadius borderBottomLeftRadius borderBottomRightRadius borderBottomRadius borderRadius".split(" ");q.Xfa={bodyBackgroundOpacity:"backgroundOpacity",bodyBackgroundColor:"backgroundColor",bodyBackgroundColorRatios:"backgroundColorRatios",bodyBackgroundColorDirection:"backgroundColorDirection",bodyBorderSize:"borderSize",bodyBorderLeftSize:"borderLeftSize",bodyBorderTopSize:"borderTopSize",bodyBorderRightSize:"borderRightSize",
bodyBorderBottomSize:"borderBottomSize",bodyBorderColor:"borderColor",bodyBorderLeftColor:"borderLeftColor",bodyBorderTopColor:"borderTopColor",bodyBorderRightColor:"borderRightColor",bodyBorderBottomColor:"borderBottomColor",bodyPaddingLeft:"paddingLeft",bodyPaddingTop:"paddingTop",bodyPaddingRight:"paddingRight",bodyPaddingBottom:"paddingBottom",overflow:"overflow",scrollBarColor:"scrollBarColor",scrollBarWidth:"scrollBarWidth",scrollBarMargin:"scrollBarMargin",scrollBarHorizontalMargin:"scrollBarHorizontalMargin",
scrollBarVerticalMargin:"scrollBarVerticalMargin",scrollBarOpacity:"scrollBarOpacity",gap:"gap"};q.Wfa=d(q.Xfa).keys();q.Yfa={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};q.hCa=d(q.Yfa).keys();q.Aga={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};q.zga=d(q.Aga).keys();q.uc=function(){var n={modal:!1,visible:!1,centerX:0,centerY:0,veilShowEffect:void 0,veilHideEffect:void 0};
d.defaults(n,e.uc);for(var r=[].concat(q.fga,q.xga,q.$fa,q.Wfa,q.bga,q.zga),u=0;u<r.length;u++)n[r[u]]=void 0;return n}();q.prototype.nb=function(){this.Dn(q.uc)};q.prototype.zb=function(){f.prototype.zb.call(this);null==this.bl&&(this.bl=new c,this.bl.set("width","100%"),this.bl.bind(m.vb,this.sJa,this),this.Va(this.bl));null==this.HN&&(this.HN=new p,this.HN.set("width","100%"),this.bl.Va(this.HN));null==this.PE&&(this.PE=new l,this.PE.ja({horizontalAlign:b.Ae,verticalAlign:b.ee}),this.PE.bind(m.pa,
this.XEa,this),this.bl.Va(this.PE));null==this.Pw&&(this.Pw=this.Y1,this.Pw.ja({width:"100%",height:"100%"}),this.Va(this.Pw));null==this.pF&&(this.pF=new e,this.pF.set("width","100%"),this.Va(this.pF))};q.prototype.hSa=function(){this.hX++;setTimeout(function(){0<this.hX&&this.hide()}.bind(this),100)};q.prototype.oSa=function(){this.hX--};q.prototype.XEa=function(){this.hide()};q.prototype.sJa=function(n){this.g5=n.pageX;this.h5=n.pageY;this.Ib().bind(m.hc,this.Zsa,this,!0);this.Ib().bind(m.Zb,this.$sa,
this,!0)};q.prototype.Zsa=function(n){this.set("centerX",this.get("centerX")+(n.pageX-this.g5));this.set("centerY",this.get("centerY")+(n.pageY-this.h5));this.g5=n.pageX;this.h5=n.pageY;this.Hsa()};q.prototype.$sa=function(){this.Ib().unbind(m.hc,this.Zsa,this);this.Ib().unbind(m.Zb,this.$sa,this)};q.prototype.Osa=function(){this.XW()};q.prototype.jSa=function(){this.set("visible",!0)};q.prototype.iSa=function(){this.zf.unbind(m.ic,this.Osa,this);var n=this.zf.getParent();n&&n.removeChild(this.zf);
this.trigger(new k(m.aE))};q.prototype.rSa=function(){this.Hsa()};q.prototype.sSa=function(){this.eW(!0)};q.prototype.pSa=function(){this.zf.set("visible",!1)};q.prototype.eW=function(n){this.FC=n;this.Isa()};q.prototype.Isa=function(){f.prototype.set.call(this,"shadow",this.FC&&this.Hqa)};q.prototype.XW=function(n){n||(n=this.ka);void 0!==this.zaa?f.prototype.set.call(this,"maxWidth",this.zaa):n?f.prototype.set.call(this,"maxWidth",n.Wa()):f.prototype.set.call(this,"maxWidth",void 0);void 0!==this.yaa?
f.prototype.set.call(this,"maxHeight",this.yaa):n?f.prototype.set.call(this,"maxHeight",n.xb()):f.prototype.set.call(this,"maxHeight",void 0)};q.prototype.Hsa=function(){var n=this.zf.Wa(),r=this.Wa(),u=this.get("centerX");r=.5*n+u-.5*r;var t=this.bl.Il(),v=this.bl.Wa(),w=Math.min(v,30);n=n-t-w;t=-(t+v-w);r<t?this.set("centerX",u+(t-r)):r>n&&this.set("centerX",u-(r-n));n=this.zf.xb();r=this.xb();u=this.get("centerY");r=.5*n+u-.5*r;t=this.bl.Ds();v=this.bl.xb();w=Math.min(v,5);n=n-t-w;t=-(t+v-w);r<
t?this.set("centerY",u+(t-r)):r>n&&this.set("centerY",u-(r-n))};q.prototype.Ua=function(){this.kc(q.fga,q.gga,[this.bl],!0,!0);this.kc(q.W0,q.X0,[this.bl],!0,!1);0===this.get("headerHeight")?this.kc(q.W0,q.X0,[this.Pw],!0,!1):this.kc(q.W0,q.X0,[this.bl],!0,!1);this.kc(q.xga,q.yga,[this.HN],!0,!0);this.kc(q.$fa,q.aga,[this.PE],!0,!0);this.kc(q.Wfa,q.Xfa,[this.Pw],!0,!0);this.kc(q.hCa,q.Yfa,[this.Pw],!0,!1);this.kc(q.bga,q.cga,[this.pF],!0,!0);0===this.get("footerHeight")?this.kc(q.dga,q.ega,[this.Pw],
!0,!1):this.kc(q.dga,q.ega,[this.pF],!0,!1);this.B("modal")?(this.kc(q.zga,q.Aga,[this.zf],!0,!0),this.zf.set("contentOpaque",!0)):(this.zf.set("backgroundOpacity",0),this.zf.set("contentOpaque",!1));this.ja({layout:g.sh,horizontalAlign:b.Ae,verticalAlign:b.ee});f.prototype.Ua.call(this);this.Ln.NZ(0)};return q});define("ee",["require","mp","nq"],function(a){var d=a("mp");a=a("nq").define("Window",d,function(){d.call(this)});a.prototype.show=a.prototype.show;a.prototype.hide=a.prototype.hide;return a});
define("mP","require jquery.mod ed ku ox hP cw gf bg nZ bE kq lX v li".split(" "),function(a){function d(v){this.source=v;this.width=this.source.get("width");this.height=this.source.get("height");this.url=this.source.get("url");this.gI=this.source.get("grayscale");this.Nv=new q(g.Qk)}var h=a("jquery.mod"),m=a("ed"),k=a("ku"),b=a("ox"),g=a("hP"),e=a("cw"),c=a("gf"),f=a("bg"),l=a("nZ"),p=a("bE"),q=a("kq"),n=a("lX"),r=a("v"),u=a("li"),t=u.extend(c,function(){c.call(this);this.oU=this.oU.bind(this);this.Fg=
null;this.qe=[];this.zm=[];this.Sb=this.Fb=this.Ad=this.td=100;this.gf=1;this.Vw=this.Uw=.5;this.Ac=1;this.gj=this.Ni=null;this.aV=!1;this.U2={};this.UE={};this.UE.low={};this.UE.hight={};r.GH()==r.RI&&(this.UE.low.transform="translateZ(0)",this.UE.hight.transform="");this.W=!1;this.zh="inherit";this.ma=h("<div/>").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.HK=null;this.Pe=u.zo(this.ea,this)});t.prototype.zc=function(){return this.ma};t.prototype.xz=function(v){this.yf!=
v&&(this.yf=v,this.N1(1),this.Pe())};t.prototype.Yca=function(v){this.zh!=v&&(this.zh=v,this.gj&&this.gj.css("cursor",this.zh),this.Ni&&this.Ni.css("cursor",this.zh))};t.prototype.QXa=function(v){this.qe!=v&&(this.qe&&k.ca(this.qe,["levels.url"],this.oU),(this.qe=v)&&k.fa(this.qe,["levels.url"],this.oU,!0))};t.prototype.oU=function(){this.p2();this.Fg=null;this.Ni&&(this.Ni.detach(),this.Ni=null);this.gj&&(this.gj.detach(),this.gj=null);this.dg&&(this.dg=null);this.p2();this.aV=!1;m(this.zm).each(function(w){w.Nv.cancel();
w.Nv.unbind(b.Z,this.sla,this)},this);var v=(this.qe&&this.qe.get("levels")||[]).filter(function(w){return w.get("url")});this.zm=m(v).map(function(w){w=new d(w);w.Nv.bind(b.Z,this.sla,this);return w},this);(v=this.rIa())?(this.Fb=v.width,this.Sb=v.height):this.Sb=this.Fb=100;this.Vw=this.Uw=.5;this.N1(1);this.Pe()};t.prototype.HD=function(v,w){if(this.td!=v||this.Ad!=w)this.td=v,this.Ad=w,this.Pe()};t.prototype.BXa=function(v,w){if(this.Aia!=v||this.zia!=w)this.Aia=v,this.zia=w,this.Pe()};t.prototype.mc=
function(v){this.W!=v&&(this.W=v,this.Pe())};t.prototype.move=function(v,w){var x=this.gf*this.Ac;this.Uw+=v/(this.Fb*x);this.Vw+=w/(this.Sb*x);this.AV()};t.prototype.oD=function(){return this.Ac};t.prototype.setScale=function(v){this.N1(Math.max(1,Math.min(1/this.gf,v)));this.Fg&&this.Fg.width<this.Ac*this.gf*this.Fb&&this.Fg.width<this.Fb?this.ea():this.AV()};t.prototype.$va=function(v){if(!this.Ni)return!1;var w=this.Ni.offset(),x=v.pageX-w.left;v=v.pageY-w.top;return 0<=x&&0<=v&&x<this.Ni.width()&&
v<this.Ni.height()};t.prototype.ea=function(){if(this.W){this.VRa();var v=this.zIa();v&&v.Nv.Kl()?(v!=this.Fg&&(this.Fg||(this.Pe(),this.aV=!0),this.nGa(v),this.Fg=v),this.lqa(null)):this.lqa(v);this.AV()}};t.prototype.VRa=function(){switch(this.yf){case n.Oo:var v=this.td/this.Fb;break;case n.Nj:v=this.Ad/this.Sb;break;case n.Tq:v=this.Fb*this.Ad>this.Sb*this.td?this.Ad/this.Sb:this.td/this.Fb;break;case n.rAa:v=Math.min(this.Aia/this.Fb,this.zia/this.Sb);break;default:v=this.Fb*this.Ad>this.Sb*
this.td?this.td/this.Fb:this.Ad/this.Sb}this.BDa(v)};t.prototype.sla=function(){this.Pe()};t.prototype.nGa=function(v){this.gj&&(this.f9(this.gj,1),this.Ni&&this.Ni.detach(),this.Ni=this.gj);this.gj=this.IFa(v);this.f9(this.gj,0);this.ma.append(this.gj);this.dg=this.zFa();this.U2={}};t.prototype.zIa=function(){return this.Fg?this.GHa(this.Ac*this.gf*this.Fb):this.YIa()};t.prototype.lqa=function(v){m(this.zm).each(function(w){w==v?w.Nv.ui()!=w.url&&w.Nv.load(w.url):w.Nv.Kl()||w.Nv.cancel()})};t.prototype.rIa=
function(){return m(this.zm).reduce(function(v,w){v||(v=w);if(w.width>v.width||w.width==v.width&&!w.gI&&v.gI)v=w;return v},null)};t.prototype.YIa=function(){return m(this.zm).reduce(function(v,w){v||(v=w);if(w.width<v.width||w.width==v.width&&w.gI&&!v.gI)v=w;return v},null)};t.prototype.GHa=function(v){return m(this.zm).reduce(function(w,x){w||(w=x);if(x.width>=v&&w.width<v||x.width>=v&&x.width<w.width||x.width<v&&x.width>w.width||!x.gI&&w.gI)w=x;return w},null)};t.prototype.IFa=function(v){v=h(v.Nv.lf(!0));
v.css({position:"absolute",cursor:this.zh,"pointer-events":"none"});return v};t.prototype.zFa=function(){return new l("linear",[new p("alpha",0,1)],200)};t.prototype.AV=function(){f.requestFrame(function(v){this.OM(v,"low")},this)};t.prototype.vba=function(){return this.Fb*this.Ac*this.gf};t.prototype.uba=function(){return this.Sb*this.Ac*this.gf};t.prototype.Iua=function(){var v=this.vba();return v>this.td?Math.max(this.td-v,Math.min(0,.5*this.td-v*this.Uw)):.5*(this.td-v)};t.prototype.Jua=function(){var v=
this.uba();return v>this.Ad?Math.max(this.Ad-v,Math.min(0,.5*this.Ad-v*this.Vw)):.5*(this.Ad-v)};t.prototype.OM=function(v,w){w=w||"low";var x=this.vba(),y=this.Iua(),A=this.uba(),B=this.Jua();this.Uw=(.5*this.td-y)/x;this.Vw=(.5*this.Ad-B)/A;x={left:Math.round(y)+"px",top:Math.round(B)+"px",width:Math.round(x)+"px",height:Math.round(A)+"px",display:"block"};for(var z in this.UE[w])x[z]=this.UE[w][z];this.U2!=x&&(this.Ni&&this.Ni.css(x),this.gj&&this.gj.css(x),this.U2=x);this.p2();this.dg?(this.dg.yb(v),
this.f9(this.gj,this.dg.cb("alpha")),this.dg.Ke()&&(this.dg=null,this.Ni&&this.Ni.detach(),this.Ni=this.gj,this.gj=null),this.AV()):"low"==w&&this.yPa();!this.dg&&this.aV&&(this.aV=!1,this.trigger(new e(b.Z)))};t.prototype.f9=function(v,w){v.css({opacity:w,filter:"alpha(opacity="+Math.round(100*w)+")","-ms-filter":"alpha(opacity="+Math.round(100*w)+")"})};t.prototype.p2=function(){null!=this.HK&&(clearTimeout(this.HK),this.HK=null)};t.prototype.yPa=function(){var v=this;this.HK=setTimeout(function(){v.HK=
null;v.OM(50,"hight")},50)};t.prototype.N1=function(v){this.Ac!=v&&(this.Ac=v,this.KQa())};t.prototype.BDa=function(v){this.gf!=v&&(this.gf=v)};t.prototype.KQa=function(){this.trigger(new e(t.wQ,{scale:this.Ac}))};t.wQ="scaleChange";return t});
define("kf","require jquery.mod ox cw mP li e S".split(" "),function(a){a("jquery.mod");var d=a("ox"),h=a("cw"),m=a("mP"),k=a("li"),b=a("e"),g=a("S"),e=k.extend(b,function(){b.call(this);this.we("ZoomImage");this.Vu=this.Nm=void 0;this.qk=!1;this.Moa=void 0;this.Tka=this.Ac;this.gO=null;this.j=new m;this.j.bind(d.Z,this.MLa,this);this.j.bind(m.wQ,this.NLa,this);this.Ab().append(this.j.zc());this.bind(d.ic,this.ec,this,!0);this.bind(d.hd,this.jk,this,!0);this.bind(d.sd,this.ek,this,!0);this.bind(d.vb,
this.Nd,this,!0);this.bind(d.hc,this.qj,this,!0);this.bind(d.Zb,this.rj,this,!0);this.bind(d.Xq,this.OB,this,!0);this.bind(d.fE,this.kB,this,!0)});e.prototype.set=function(c,f){switch(c){case "scale":this.j.setScale(f);f=this.j.oD();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}b.prototype.set.call(this,c,f)};e.prototype.get=function(c,f){switch(c){case "scale":return this.j.oD();case "imageLeft":return this.j.Iua();case "imageTop":return this.j.Jua();case "imageWidth":return this.j.vba();
case "imageHeight":return this.j.uba()}return b.prototype.get.call(this,c,f)};e.prototype.nb=function(){b.prototype.nb.call(this);this.h("image");this.h("scaleMode");this.h("customHeight");this.h("customWidth");this.h("imageCursor");this.h("imageLeft");this.h("imageTop");this.h("imageWidth");this.h("imageHeight")};e.prototype.Ua=function(){this.I("scaleMode")&&(this.j.xz(this.B("scaleMode")),this.P("scaleMode"));this.I("image")&&(this.j.QXa(this.B("image")),this.P("image"),this.Tka=this.Ac);if(this.I("customHeight")||
this.I("customWidth"))this.P("customHeight"),this.P("customWidth"),this.ec();this.I("imageCursor")&&(this.P("imageCursor"),this.j.Yca(this.fb.l3.Aua(this.get("imageCursor"))));b.prototype.Ua.call(this)};e.prototype.ec=function(){var c=this.Wa(),f=this.xb(),l=this.get("customWidth","100%"),p=g.Ao(l);l=void 0!==p?c*p/100:l;p=this.get("customHeight","100%");var q=g.Ao(p);this.j.BXa(l,void 0!==q?f*q/100:p);this.j.HD(c,f)};e.prototype.jk=function(){this.j.mc(!0)};e.prototype.ek=function(){this.j.mc(!1)};
e.prototype.Nd=function(c){this.Nm=c.x;this.Vu=c.y;this.qk=!0;this.Moa=this.j.$va(c)};e.prototype.qj=function(c){this.qk&&(this.haa(),this.j.move(-(c.x-this.Nm),-(c.y-this.Vu)),this.Nm=c.x,this.Vu=c.y)};e.prototype.rj=function(c){this.qk=!1;this.Moa||this.j.$va(c)||this.trigger(new h(e.zAa))};e.prototype.OB=function(c){this.haa();this.j.setScale((1+c.delta/20)*this.j.oD())};e.prototype.kB=function(c){this.haa();this.j.setScale(c.scale/this.Tka)};e.prototype.MLa=function(){this.trigger(new h(d.Z))};
e.prototype.NLa=function(){b.prototype.set.call(this,"scale",this.j.oD());this.trigger(new h(e.wQ))};e.prototype.haa=function(){this.gO?(clearTimeout(this.gO),this.gO=null):this.trigger(new h(e.Ci));this.gO=setTimeout(function(){this.gO=null;this.trigger(new h(e.Bi))}.bind(this),300)};e.zAa="backgroundClick";e.wQ="scaleChange";e.Ci="userInteractionStart";e.Bi="userInteractionEnd";return e});define("nD",["require","kf","nq"],function(a){var d=a("kf");return a("nq").define("ZoomImage",d,function(){d.call(this)})});
define("iV","require nq jf hR nw en dZ eM nW jx jh gb fK hJ k je jU lI of hf ia I gJ fC dl bA jG nu jA kB mt fw q jb dS dY on mH jF nb if lP hb O cJ u lx gd Y ka bx bl na nQ iT fb lT lu iX bK cE nX jn mX kS R oY fV E ek iK fA be fS fh gL iu bG oN oX fc jI mf ir p dE ks mg it eb eW oV hj kI eU mk bM lq iq bj oL ge oc cy cz lm ow jq gx jY gQ lw nh hF ki kz oO ev iy cm eL id T oy dK gq bF iG fr ba kh eQ mv lY fg gC eN cj ii nE lW ft od bt nI gM fi gr dj mI hL mG jV hn bW jj dv bN jR js ol fI gV ce hK lc gs er hr dr bz cl ee nD".split(" "),
function(a){a("nq");a("jf");a("hR");a("nw");a("en");a("dZ");a("eM");a("nW");a("jx");a("jh");a("gb");a("fK");a("hJ");a("k");a("je");a("jU");a("lI");a("of");a("hf");a("ia");a("I");a("gJ");a("fC");a("dl");a("bA");a("jG");a("nu");a("jA");a("kB");a("mt");a("fw");a("q");a("jb");a("dS");a("dY");a("on");a("mH");a("jF");a("nb");a("if");a("lP");a("hb");a("O");a("cJ");a("u");a("lx");a("gd");a("Y");a("ka");a("bx");a("bl");a("na");a("nQ");a("iT");a("fb");a("lT");a("lu");a("iX");a("bK");a("cE");a("nX");a("jn");
a("mX");a("kS");a("R");a("oY");a("fV");a("E");a("ek");a("iK");a("fA");a("be");a("fS");a("fh");a("gL");a("iu");a("bG");a("oN");a("oX");a("fc");a("jI");a("mf");a("ir");a("p");a("dE");a("ks");a("mg");a("it");a("eb");a("eW");a("oV");a("hj");a("kI");a("eU");a("mk");a("bM");a("lq");a("iq");a("bj");a("oL");a("ge");a("oc");a("cy");a("cz");a("lm");a("ow");a("jq");a("gx");a("jY");a("gQ");a("lw");a("nh");a("hF");a("ki");a("kz");a("oO");a("ev");a("iy");a("cm");a("eL");a("id");a("T");a("oy");a("dK");a("gq");a("bF");
a("iG");a("fr");a("ba");a("kh");a("eQ");a("mv");a("lY");a("fg");a("gC");a("eN");a("cj");a("ii");a("nE");a("lW");a("ft");a("od");a("bt");a("nI");a("gM");a("fi");a("gr");a("dj");a("mI");a("hL");a("mG");a("jV");a("hn");a("bW");a("jj");a("dv");a("bN");a("jR");a("js");a("ol");a("fI");a("gV");a("ce");a("hK");a("lc");a("gs");a("er");a("hr");a("dr");a("bz");a("cl");a("ee");a("nD");return!0});
define("gl","require ed jquery.mod li nq bV iV md".split(" "),function(a){function d(n,r){this.type=n;this.stack=r}function h(){}var m=a("ed"),k=a("jquery.mod"),b=a("li"),g=a("nq"),e=a("bV");a("iV");a("md");h.prototype.zWa=function(n,r,u,t){this.W3=[];this.xy=this.CG(n);this.wB=void 0;this.xy.xs.Mua()?(this.jaa=e.validate(n),this.wB=this.Dja(this.xy,c.TYPE),this.LFa(this.wB,this.xy,r,u,t),this.wDa(this.xy),this.uDa(this.xy,this.wB),this.xDa(this.wB,this.xy),this.PDa(this.wB,this.xy)):this.xn("Invalid root class",
[]);return 0==this.W3.length};h.prototype.Ib=function(){return this.xy.instance};h.prototype.CG=function(n,r){r=r||[];return m(n).isArray()?this.RMa(n,r):k.isPlainObject(n)&&n["class"]?this.UMa(n,r):k.isPlainObject(n)?this.SMa(n,r):m(n).isFunction()?this.TMa(n,r):this.VMa(n,r)};h.prototype.RMa=function(n,r){for(var u=[],t=0;t<n.length;t++)r.push("Item["+t+"]"),u.push(this.CG(n[t],r)),r.pop();return new f(r.slice(),u)};h.prototype.UMa=function(n,r){var u=n["class"],t=g.Dj(n["class"]);if(t){u={};var v=
{},w;for(w in n){r.push(w);var x=n[w];switch(w){case "class":break;case "scripts":var y=this.CG(x,r);break;default:t.hasAttribute(w)?u[w]=this.CG(x,r):t.qva(w)||t.rva(w)?v[w]=this.CG(x,r):this.xn(t.jD()+" object doesn't have any attribute named "+w,r)}r.pop()}return new c(r.slice(),t,n.id,u,v,y)}this.xn("Undefined class name: "+u,r.slice());return new q(r.slice(),null)};h.prototype.SMa=function(n,r){var u={},t;for(t in n)r.push(t),u[t]=this.CG(n[t],r),r.pop();return new l(r.slice(),u)};h.prototype.TMa=
function(n,r){return new p(r.slice(),n)};h.prototype.VMa=function(n,r){return new q(r.slice(),n)};h.prototype.Dja=function(n,r){var u=r&&n.type!=r?[]:[n],t=0;for(n=n.Kb();t<n.length;t++)u=u.concat(this.Dja(n[t],r));return u};h.prototype.LFa=function(n,r,u,t,v){r.instance=r.xs.Xm(null,t,v,[u,this.jaa]);r.instance.set("application",r.instance);for(u=0;u<n.length;u++){var w=n[u];w!=r&&(w.instance=w.xs.Xm(r.instance,t,v))}};h.prototype.wDa=function(n){if(n.scripts)if(n.scripts.type==l.TYPE)for(var r in n.scripts.value)this.vDa(n,
r);else this.xn("Invalid content.",n.scripts.stack)};h.prototype.vDa=function(n,r){var u=n.instance,t=n.scripts.value[r];m(u[r]).isUndefined()?t&&t.type==p.TYPE?u[r]=function(){return t.Ls().apply(u,arguments)}:this.xn("Invalid content.",t.stack):this.xn("Identifier: "+r+" is already in use",t.stack)};h.prototype.uDa=function(n,r){n=n.instance;for(var u=0;u<r.length;u++){var t=r[u],v=t.id;v&&(m(n[v]).isUndefined()?n[v]=t.instance:this.xn("Identifier: "+v+" is arleady in use",t.stack))}};h.prototype.xDa=
function(n,r){for(var u=0;u<n.length;u++){var t=n[u],v=t.attributes,w;for(w in v)this.tDa(t,w,r)}};h.prototype.tDa=function(n,r,u){var t=n.xs;if(t.hasAttribute(r)){try{var v=n.attributes[r].Ls()}catch(w){this.xn("Invalid value for property "+r+" of "+t.jD()+" instance",n.stack)}try{v=t.mba(r)(v,u.instance),n.instance.set(r,v)}catch(w){this.xn("Invalid value for property "+r+" of "+t.jD()+" instance",n.stack)}}else this.xn(t.jD()+" object doesn't have any property named "+r,n.stack)};h.prototype.PDa=
function(n,r){for(var u=0;u<n.length;u++){var t=n[u],v;for(v in t.fD)this.ODa(t,v,r)}};h.prototype.ODa=function(n,r,u){var t=n.xs,v=n.instance,w=t.qva(r),x=t.rva(r);if(w||x){n=n.fD[r];var y=n.Ls();m(y).isFunction()?v.bind(r,y,u.instance,x,y):"string"==typeof y?v.bind(r,function(){try{eval("var event = arguments[0];"+y)}catch(A){throw A;}},u.instance,x,y):this.xn("Invalid value.",n.stack)}else this.xn(t.jD()+" object doesn't have any event named "+r,n.stack)};h.prototype.xn=function(n,r){this.W3.push("In "+
r.join(" >> ")+": "+n)};d.prototype.Kb=function(){return[]};d.prototype.Ls=function(){};var c=b.extend(d,function(n,r,u,t,v,w){d.call(this,c.TYPE,n);this.xs=r;this.id=u;this.attributes=t;this.fD=v;this.scripts=w;this.instance=null});c.prototype.Kb=function(){var n=this.xs.Wua(),r=[],u=m(this.attributes).clone();if(n)for(var t=0;t<n.length;t++){var v=n[t];void 0!=u[v]&&(r.push(u[v]),delete u[v])}return r=r.concat(m(u).values())};c.prototype.Ls=function(){return this.instance};c.TYPE="instance";var f=
b.extend(d,function(n,r){d.call(this,f.TYPE,n);this.items=r});f.prototype.Kb=function(){return this.items.slice()};f.prototype.Ls=function(){for(var n=[],r=0;r<this.items.length;r++)n.push(this.items[r].Ls());return n};f.TYPE="array";var l=b.extend(d,function(n,r){d.call(this,l.TYPE,n);this.value=r});l.prototype.Kb=function(){return m(this.value).values()};l.prototype.Ls=function(){var n={},r;for(r in this.value)n[r]=this.value[r].Ls();return n};l.TYPE="dict";var p=b.extend(d,function(n,r){d.call(this,
p.TYPE,n);this.value=r});p.prototype.Ls=function(){return this.value};p.TYPE="function";var q=b.extend(d,function(n,r){d.call(this,q.TYPE,n);this.value=r});q.prototype.Ls=function(){return this.value};q.TYPE="simple";return h});
define("mJ","require ed ox cw nq gl v eO md bv hp mR ov mU li".split(" "),function(a){function d(t,v){this.DN=t;this.Dj=this.Dj.bind(this);this.Xm=this.Xm.bind(this);this.PH=this.PH.bind(this);this.Ka=this.Ka.bind(this);this.cY=this.cY.bind(this);g.mb()&&!g.Nf()&&n.Zf();this.UR=[];t=p.name;var w=[];t&&w.push(t);0<p.lP?w.push("v:"+p.lP+"."+p.mP):w.push("v:"+p.mP);r.log(w.join(" "));this.Do=v;c.yVa()||0<=[g.ZD,g.kw].indexOf(g.browser())?(this.sl=new b,(v=this.Do.get(TDV.PlayerSettings.BASE_DIR_URL))?
(v=c.ew(v),"/"!=v[v.length-1]&&(v+="/")):v=c.getDirectory(this.Do.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)),this.Eca=this.Do.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS),e.LWa(v,function(x){this.Laa=x;this.pMa()}.bind(this))):window.alert(q("web-server-required"))}var h=a("ed"),m=a("ox");a("cw");var k=a("nq"),b=a("gl"),g=a("v"),e=a("eO"),c=a("md"),f=a("bv"),l=a("hp"),p=a("mR"),q=a("ov"),n=a("mU"),r=a("li");d.prototype.pMa=function(){this.DN.trigger(new TDV.GQ(m.DBa,{},[],void 0));h.defer(function(){if(!this.sl.zWa(this.Do.get(TDV.PlayerSettings.SCRIPT_DATA),
this.Do.get(TDV.PlayerSettings.CONTAINER),this.Laa,this.Eca)){if("false"!=p.rZa){window.alert(this.oka());return}r.log(this.oka())}this.NDa();this.lDa(this.Do);this.zDa();f.initialize(function(){this.MQa()}.bind(this))}.bind(this))};d.prototype.clear=function(){this.sl&&(this.eka().forEach(function(t){t.instance.Tda();t.xs.OO().forEach(function(v){switch(v){case "VideoPlayer":t.instance.stop();case "MapPlayer":case "Model3DPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":t.instance.set("viewerArea",
null);break;case "ZoomImage":t.instance.set("image",null);break;case "Audio":t.instance.stop();break;case "Effect":t.instance.end();break;case "Media":t.instance.$Wa()}})}),l.FWa(),this.sl.Ib().clear(),u={},this.Do=this.sl=null)};d.prototype.FUa=function(t){return this.sl.Ib()[t]};d.prototype.Dj=function(t){if(t in u)return u[t].slice();var v=[];this.eka().forEach(function(w){var x=w.xs.OO();h(x).contains(t)&&v.push(w.instance)});u[t]=v;return v.slice()};d.prototype.eka=function(){return this.sl?
this.sl.wB.concat(this.UR):[]};var u={};d.prototype.Xm=function(t){var v=k.Dj(t);if(!v)throw"Invalid className: "+t;u={};t=this.sl.Ib();var w={};w.xs=v;w.instance=v.Xm(t,this.Laa,this.Eca);this.UR.push(w);this.kha(v,w.instance);return w.instance};d.prototype.PH=function(t){var v=this.UR.findIndex(function(w){return w.instance==t});0>v||(u={},this.UR.splice(v,1),t.Tda(),t.dispose&&t.dispose())};d.prototype.oka=function(){for(var t=this.sl.W3,v=["Errors parsing script file:"],w=0;w<t.length;w++)v.push(t[w]);
return v.join("\n")};d.prototype.NDa=function(){this.sl.wB.forEach(function(v){this.kha(v.xs,v.instance,v.id)}.bind(this));var t=this.sl.Ib().QR;t.bind(m.dE,function(){t.JZa(m.dE);this.DN.cookiesEnabled=this.DN.lTa=!0;this.DN.trigger(new TDV.GQ(m.dE,{},[],void 0))},this,!0)};d.prototype.kha=function(t,v,w){var x=t.OO();h.union(t.rba(),t.wba()).forEach(function(y){v.bind(y,function(A){this.DN.trigger(new TDV.GQ(y,A,x,w))}.bind(this),this,!0)}.bind(this))};d.prototype.lDa=function(t){this.sl.Ib().set("settings",
t)};d.prototype.Ka=function(){return k.Ka.apply(k,arguments)};d.prototype.cY=function(t){!t||c.hz(t)||c.EY(t)||(t=c.Uy(c.ew(t,this.Laa),this.Eca));return t};d.prototype.zDa=function(){var t=this.sl.Ib();t.getByClassName=t.Dj=this.Dj;t.createInstance=t.Xm=this.Xm;t.disposeInstance=t.PH=this.PH;t.isInstanceOfClass=t.Ka=this.Ka;t.getAbsoluteURL=t.cY=this.cY};d.prototype.MQa=function(){this.sl.Ib().start()};d.HZa=function(t){t.trigger(new TDV.GQ(m.aBa,{},[],void 0))};return d});
define("main",["require","jquery.mod","mJ"],function(a){var d=a("jquery.mod"),h=a("mJ");d(document).ready(function(){TDV.pb.uYa(h)})});
(function(t,e){e(t.THREE=t.THREE||{})})(this,function(t){"use strict";const e="151",n=0,i=1,r=2,s=1,a=2,o=3,l=0,c=1,h=2,u=0,d=1,p=2,m=3,f=4,g=5,v=100,_=101,x=102,y=103,M=104,S=200,b=201,w=202,T=203,E=204,A=205,C=206,L=207,P=208,R=209,I=210,D=0,U=1,N=2,O=3,z=4,B=5,F=6,k=7,G=0,V=1,H=2,W=0,j=1,q=2,X=3,Y=4,Z=5,J=300,K=301,$=302,Q=303,tt=304,et=306,nt=1e3,it=1001,rt=1002,st=1003,at=1004,ot=1005,lt=1006,ct=1007,ht=1008,ut=1009,dt=1010,pt=1011,mt=1012,ft=1013,gt=1014,vt=1015,_t=1016,xt=1017,yt=1018,Mt=1020,St=1021,bt=1023,wt=1024,Tt=1025,Et=1026,At=1027,Ct=1028,Lt=1029,Pt=1030,Rt=1031,It=1033,Dt=33776,Ut=33777,Nt=33778,Ot=33779,zt=35840,Bt=35841,Ft=35842,kt=35843,Gt=36196,Vt=37492,Ht=37496,Wt=37808,jt=37809,qt=37810,Xt=37811,Yt=37812,Zt=37813,Jt=37814,Kt=37815,$t=37816,Qt=37817,te=37818,ee=37819,ne=37820,ie=37821,re=36492,se=36283,ae=36284,oe=36285,le=36286,ce=2300,he=2301,ue=2302,de=2400,pe=2401,me=2402,fe=2500,ge=2501,ve=3e3,_e=3001,xe=3201,ye=0,Me=1,Se="srgb",be="srgb-linear",we="display-p3",Te=7680,Ee=35044,Ae="300 es",Ce=1035;class Le{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e<i;e++)n[e].call(this,t);t.target=null}}}const Pe=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let Re=1234567;const Ie=Math.PI/180,De=180/Math.PI;function Ue(){const t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return(Pe[255&t]+Pe[t>>8&255]+Pe[t>>16&255]+Pe[t>>24&255]+"-"+Pe[255&e]+Pe[e>>8&255]+"-"+Pe[e>>16&15|64]+Pe[e>>24&255]+"-"+Pe[63&n|128]+Pe[n>>8&255]+"-"+Pe[n>>16&255]+Pe[n>>24&255]+Pe[255&i]+Pe[i>>8&255]+Pe[i>>16&255]+Pe[i>>24&255]).toLowerCase()}function Ne(t,e,n){return Math.max(e,Math.min(n,t))}function Oe(t,e){return(t%e+e)%e}function ze(t,e,n){return(1-n)*t+n*e}function Be(t){return 0==(t&t-1)&&0!==t}function Fe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function ke(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function Ge(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.");}}function Ve(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.");}}const He={DEG2RAD:Ie,RAD2DEG:De,generateUUID:Ue,clamp:Ne,euclideanModulo:Oe,mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:ze,damp:function(t,e,n,i){return ze(t,e,1-Math.exp(-n*i))},pingpong:function(t,e=1){return e-Math.abs(Oe(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){void 0!==t&&(Re=t);let e=Re+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*Ie},radToDeg:function(t){return t*De},isPowerOfTwo:Be,ceilPowerOfTwo:Fe,floorPowerOfTwo:ke,setQuaternionFromProperEuler:function(t,e,n,i,r){const s=Math.cos,a=Math.sin,o=s(n/2),l=a(n/2),c=s((e+i)/2),h=a((e+i)/2),u=s((e-i)/2),d=a((e-i)/2),p=s((i-e)/2),m=a((i-e)/2);switch(r){case"XYX":t.set(o*h,l*u,l*d,o*c);break;case"YZY":t.set(l*d,o*h,l*u,o*c);break;case"ZXZ":t.set(l*u,l*d,o*h,o*c);break;case"XZX":t.set(o*h,l*m,l*p,o*c);break;case"YXY":t.set(l*p,o*h,l*m,o*c);break;case"ZYZ":t.set(l*m,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r);}},normalize:Ve,denormalize:Ge};class We{constructor(t=0,e=0){We.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Ne(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*n-s*i+t.x,this.y=r*i+s*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class je{constructor(){je.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(t,e,n,i,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=i,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=n,c[7]=s,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[3],o=n[6],l=n[1],c=n[4],h=n[7],u=n[2],d=n[5],p=n[8],m=i[0],f=i[3],g=i[6],v=i[1],_=i[4],x=i[7],y=i[2],M=i[5],S=i[8];return r[0]=s*m+a*v+o*y,r[3]=s*f+a*_+o*M,r[6]=s*g+a*x+o*S,r[1]=l*m+c*v+h*y,r[4]=l*f+c*_+h*M,r[7]=l*g+c*x+h*S,r[2]=u*m+d*v+p*y,r[5]=u*f+d*_+p*M,r[8]=u*g+d*x+p*S,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-n*r*c+n*a*o+i*r*l-i*s*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=h*m,t[1]=(i*l-c*n)*m,t[2]=(a*n-i*s)*m,t[3]=u*m,t[4]=(c*e-i*o)*m,t[5]=(i*r-a*e)*m,t[6]=d*m,t[7]=(n*o-l*e)*m,t[8]=(s*e-n*r)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(n*o,n*l,-n*(o*s+l*a)+s+t,-i*l,i*o,-i*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){return this.premultiply(qe.makeScale(t,e)),this}rotate(t){return this.premultiply(qe.makeRotation(-t)),this}translate(t,e){return this.premultiply(qe.makeTranslation(t,e)),this}makeTranslation(t,e){return this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,n,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return new this.constructor().fromArray(this.elements)}}const qe=new je;function Xe(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const Ye={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Ze(t,e){return new Ye[t](e)}function Je(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function Ke(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function $e(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}const Qe=new je().fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),tn=new je().fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]);const en={[be]:t=>t,[Se]:t=>t.convertSRGBToLinear(),[we]:function(t){return t.convertSRGBToLinear().applyMatrix3(tn)}},nn={[be]:t=>t,[Se]:t=>t.convertLinearToSRGB(),[we]:function(t){return t.applyMatrix3(Qe).convertLinearToSRGB()}},rn={enabled:!1,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return be},set workingColorSpace(t){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(t,e,n){if(!1===this.enabled||e===n||!e||!n)return t;const i=en[e],r=nn[n];if(void 0===i||void 0===r)throw new Error(`Unsupported color space conversion, "${e}" to "${n}".`);return r(i(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this.workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this.workingColorSpace)}};let sn;class an{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===sn&&(sn=Je("canvas")),sn.width=t.width,sn.height=t.height;const n=sn.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=sn}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=Je("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");n.drawImage(t,0,0,t.width,t.height);const i=n.getImageData(0,0,t.width,t.height),r=i.data;for(let t=0;t<r.length;t++)r[t]=255*Ke(r[t]/255);return n.putImageData(i,0,0),e}if(t.data){const e=t.data.slice(0);for(let t=0;t<e.length;t++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[t]=Math.floor(255*Ke(e[t]/255)):e[t]=Ke(e[t]);return{data:e,width:t.width,height:t.height}}return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),t}}class on{constructor(t=null){this.isSource=!0,this.uuid=Ue(),this.data=t,this.version=0}set needsUpdate(t){!0===t&&this.version++}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.images[this.uuid])return t.images[this.uuid];const n={uuid:this.uuid,url:""},i=this.data;if(null!==i){let t;if(Array.isArray(i)){t=[];for(let e=0,n=i.length;e<n;e++)i[e].isDataTexture?t.push(ln(i[e].image)):t.push(ln(i[e]))}else t=ln(i);n.url=t}return e||(t.images[this.uuid]=n),n}}function ln(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?an.getDataURL(t):t.data?{data:Array.from(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let cn=0;class hn extends Le{constructor(t=hn.DEFAULT_IMAGE,e=hn.DEFAULT_MAPPING,n=it,i=it,r=lt,s=ht,a=bt,o=ut,l=hn.DEFAULT_ANISOTROPY,c=ve){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:cn++}),this.uuid=Ue(),this.name="",this.source=new on(t),this.mipmaps=[],this.mapping=e,this.channel=0,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new We(0,0),this.repeat=new We(1,1),this.center=new We(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new je,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(t=null){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(t){return this.name=t.name,this.source=t.source,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.channel=t.channel,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this.userData=JSON.parse(JSON.stringify(t.userData)),this.needsUpdate=!0,this}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==J)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case nt:t.x=t.x-Math.floor(t.x);break;case it:t.x=t.x<0?0:1;break;case rt:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);}if(t.y<0||t.y>1)switch(this.wrapT){case nt:t.y=t.y-Math.floor(t.y);break;case it:t.y=t.y<0?0:1;break;case rt:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&(this.version++,this.source.needsUpdate=!0)}}hn.DEFAULT_IMAGE=null,hn.DEFAULT_MAPPING=J,hn.DEFAULT_ANISOTROPY=1;class un{constructor(t=0,e=0,n=0,i=1){un.prototype.isVector4=!0,this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i+s[12]*r,this.y=s[1]*e+s[5]*n+s[9]*i+s[13]*r,this.z=s[2]*e+s[6]*n+s[10]*i+s[14]*r,this.w=s[3]*e+s[7]*n+s[11]*i+s[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],m=o[2],f=o[6],g=o[10];if(Math.abs(c-u)<s&&Math.abs(h-m)<s&&Math.abs(p-f)<s){if(Math.abs(c+u)<a&&Math.abs(h+m)<a&&Math.abs(p+f)<a&&Math.abs(l+d+g-3)<a)return this.set(1,0,0,0),this;e=Math.PI;const t=(l+1)/2,o=(d+1)/2,v=(g+1)/2,_=(c+u)/4,x=(h+m)/4,y=(p+f)/4;return t>o&&t>v?t<s?(n=0,i=.707106781,r=.707106781):(n=Math.sqrt(t),i=_/n,r=x/n):o>v?o<s?(n=.707106781,i=0,r=.707106781):(i=Math.sqrt(o),n=_/i,r=y/i):v<s?(n=.707106781,i=.707106781,r=0):(r=Math.sqrt(v),n=x/r,i=y/r),this.set(n,i,r,e),this}let v=Math.sqrt((f-p)*(f-p)+(h-m)*(h-m)+(u-c)*(u-c));return Math.abs(v)<.001&&(v=1),this.x=(f-p)/v,this.y=(h-m)/v,this.z=(u-c)/v,this.w=Math.acos((l+d+g-1)/2),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this.w=Math.max(t,Math.min(e,this.w)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this.w=t.w+(e.w-t.w)*n,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class dn extends Le{constructor(t=1,e=1,n={}){super(),this.isWebGLRenderTarget=!0,this.width=t,this.height=e,this.depth=1,this.scissor=new un(0,0,t,e),this.scissorTest=!1,this.viewport=new un(0,0,t,e);const i={width:t,height:e,depth:1};this.texture=new hn(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps,this.texture.internalFormat=void 0!==n.internalFormat?n.internalFormat:null,this.texture.minFilter=void 0!==n.minFilter?n.minFilter:lt,this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null,this.samples=void 0!==n.samples?n.samples:0}setSize(t,e,n=1){this.width===t&&this.height===e&&this.depth===n||(this.width=t,this.height=e,this.depth=n,this.texture.image.width=t,this.texture.image.height=e,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return new this.constructor().copy(this)}copy(t){this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.texture.isRenderTargetTexture=!0;const e=Object.assign({},t.texture.image);return this.texture.source=new on(e),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,null!==t.depthTexture&&(this.depthTexture=t.depthTexture.clone()),this.samples=t.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class pn extends hn{constructor(t=null,e=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=st,this.minFilter=st,this.wrapR=it,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class mn extends hn{constructor(t=null,e=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=st,this.minFilter=st,this.wrapR=it,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class fn{constructor(t=0,e=0,n=0,i=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=n,this._w=i}static slerpFlat(t,e,n,i,r,s,a){let o=n[i+0],l=n[i+1],c=n[i+2],h=n[i+3];const u=r[s+0],d=r[s+1],p=r[s+2],m=r[s+3];if(0===a)return t[e+0]=o,t[e+1]=l,t[e+2]=c,void(t[e+3]=h);if(1===a)return t[e+0]=u,t[e+1]=d,t[e+2]=p,void(t[e+3]=m);if(h!==m||o!==u||l!==d||c!==p){let t=1-a;const e=o*u+l*d+c*p+h*m,n=e>=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),s=Math.atan2(r,e*n);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*n;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+m*r,t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,s){const a=n[i],o=n[i+1],l=n[i+2],c=n[i+3],h=r[s],u=r[s+1],d=r[s+2],p=r[s+3];return t[e]=a*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-a*d,t[e+2]=l*p+c*d+a*u-o*h,t[e+3]=c*p-a*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){const n=t._x,i=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(n/2),c=a(i/2),h=a(r/2),u=o(n/2),d=o(i/2),p=o(r/2);switch(s){case"XYZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"YXZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"ZXY":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"ZYX":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"YZX":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case"XZY":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s);}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(s-i)*t}else if(n>a&&n>h){const t=2*Math.sqrt(1+n-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(i+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-n-h);this._w=(r-l)/t,this._x=(i+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-a);this._w=(s-i)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return n<Number.EPSILON?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Ne(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=n*c+s*a+i*l-r*o,this._y=i*c+s*o+r*a-n*l,this._z=r*c+s*l+n*o-i*a,this._w=s*c-n*a-i*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,s=this._w;let a=s*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=s,this._x=n,this._y=i,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*s+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=s*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(e*Math.cos(i),n*Math.sin(r),n*Math.cos(r),e*Math.sin(i))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class gn{constructor(t=0,e=0,n=0){gn.prototype.isVector3=!0,this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(_n.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(_n.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,s=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*s,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*s,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*s,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=o*e+s*i-a*n,c=o*n+a*e-r*i,h=o*i+r*n-s*e,u=-r*e-s*n-a*i;return this.x=l*o+u*-r+c*-a-h*-s,this.y=c*o+u*-s+h*-r-l*-a,this.z=h*o+u*-a+l*-s-c*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=i*o-r*a,this.y=r*s-n*o,this.z=n*a-i*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return vn.copy(this).projectOnVector(t),this.sub(vn)}reflect(t){return this.sub(vn.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Ne(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,n=Math.sqrt(1-t**2);return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const vn=new gn,_n=new fn;class xn{constructor(t=new gn(1/0,1/0,1/0),e=new gn(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e+=3)this.expandByPoint(Mn.fromArray(t,e));return this}setFromBufferAttribute(t){this.makeEmpty();for(let e=0,n=t.count;e<n;e++)this.expandByPoint(Mn.fromBufferAttribute(t,e));return this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=Mn.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(n),this.max.copy(t).add(n),this}setFromObject(t,e=!1){return this.makeEmpty(),this.expandByObject(t,e)}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(t){return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t,e=!1){if(t.updateWorldMatrix(!1,!1),void 0!==t.boundingBox)null===t.boundingBox&&t.computeBoundingBox(),Sn.copy(t.boundingBox),Sn.applyMatrix4(t.matrixWorld),this.union(Sn);else{const n=t.geometry;if(void 0!==n)if(e&&void 0!==n.attributes&&void 0!==n.attributes.position){const e=n.attributes.position;for(let n=0,i=e.count;n<i;n++)Mn.fromBufferAttribute(e,n).applyMatrix4(t.matrixWorld),this.expandByPoint(Mn)}else null===n.boundingBox&&n.computeBoundingBox(),Sn.copy(n.boundingBox),Sn.applyMatrix4(t.matrixWorld),this.union(Sn)}const n=t.children;for(let t=0,i=n.length;t<i;t++)this.expandByObject(n[t],e);return this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)}intersectsSphere(t){return this.clampPoint(t.center,Mn),Mn.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(Ln),Pn.subVectors(this.max,Ln),bn.subVectors(t.a,Ln),wn.subVectors(t.b,Ln),Tn.subVectors(t.c,Ln),En.subVectors(wn,bn),An.subVectors(Tn,wn),Cn.subVectors(bn,Tn);let e=[0,-En.z,En.y,0,-An.z,An.y,0,-Cn.z,Cn.y,En.z,0,-En.x,An.z,0,-An.x,Cn.z,0,-Cn.x,-En.y,En.x,0,-An.y,An.x,0,-Cn.y,Cn.x,0];return!!Dn(e,bn,wn,Tn,Pn)&&(e=[1,0,0,0,1,0,0,0,1],!!Dn(e,bn,wn,Tn,Pn)&&(Rn.crossVectors(En,An),e=[Rn.x,Rn.y,Rn.z],Dn(e,bn,wn,Tn,Pn)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Mn).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=.5*this.getSize(Mn).length()),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(yn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),yn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),yn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),yn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),yn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),yn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),yn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),yn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(yn)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const yn=[new gn,new gn,new gn,new gn,new gn,new gn,new gn,new gn],Mn=new gn,Sn=new xn,bn=new gn,wn=new gn,Tn=new gn,En=new gn,An=new gn,Cn=new gn,Ln=new gn,Pn=new gn,Rn=new gn,In=new gn;function Dn(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){In.fromArray(t,s);const a=r.x*Math.abs(In.x)+r.y*Math.abs(In.y)+r.z*Math.abs(In.z),o=e.dot(In),l=n.dot(In),c=i.dot(In);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const Un=new xn,Nn=new gn,On=new gn;class zn{constructor(t=new gn,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Un.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;e<r;e++)i=Math.max(i,n.distanceToSquared(t[e]));return this.radius=Math.sqrt(i),this}copy(t){return this.center.copy(t.center),this.radius=t.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(t){return t.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(t){return t.distanceTo(this.center)-this.radius}intersectsSphere(t){const e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e}intersectsBox(t){return t.intersectsSphere(this)}intersectsPlane(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius}clampPoint(t,e){const n=this.center.distanceToSquared(t);return e.copy(t),n>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;Nn.subVectors(t,this.center);const e=Nn.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.addScaledVector(Nn,n/t),this.radius+=n}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(!0===this.center.equals(t.center)?this.radius=Math.max(this.radius,t.radius):(On.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(Nn.copy(t.center).add(On)),this.expandByPoint(Nn.copy(t.center).sub(On))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Bn=new gn,Fn=new gn,kn=new gn,Gn=new gn,Vn=new gn,Hn=new gn,Wn=new gn;class jn{constructor(t=new gn,e=new gn(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Bn)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Bn.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Bn.copy(this.origin).addScaledVector(this.direction,e),Bn.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){Fn.copy(t).add(e).multiplyScalar(.5),kn.copy(e).sub(t).normalize(),Gn.copy(this.origin).sub(Fn);const r=.5*t.distanceTo(e),s=-this.direction.dot(kn),a=Gn.dot(this.direction),o=-Gn.dot(kn),l=Gn.lengthSq(),c=Math.abs(1-s*s);let h,u,d,p;if(c>0){if(h=s*o-a,u=s*a-o,p=r*c,h>=0){if(u>=-p){if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else u=r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u=-r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u<=-p?(h=Math.max(0,-(-s*r+a)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(s*r+a)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);}else u=s>0?-r:r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;return n&&n.copy(this.origin).addScaledVector(this.direction,h),i&&i.copy(Fn).addScaledVector(kn,u),d}intersectSphere(t,e){Bn.subVectors(t.center,this.origin);const n=Bn.dot(this.direction),i=Bn.dot(Bn)-n*n,r=t.radius*t.radius;if(i>r)return null;const s=Math.sqrt(r-i),a=n-s,o=n+s;return o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,s=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,s=(t.min.y-u.y)*c),n>s||r>i?null:((r>n||isNaN(n))&&(n=r),(s<i||isNaN(i))&&(i=s),h>=0?(a=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(a=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),n>o||a>i?null:((a>n||n!=n)&&(n=a),(o<i||i!=i)&&(i=o),i<0?null:this.at(n>=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,Bn)}intersectTriangle(t,e,n,i,r){Vn.subVectors(e,t),Hn.subVectors(n,t),Wn.crossVectors(Vn,Hn);let s,a=this.direction.dot(Wn);if(a>0){if(i)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Gn.subVectors(this.origin,t);const o=s*this.direction.dot(Hn.crossVectors(Gn,Hn));if(o<0)return null;const l=s*this.direction.dot(Vn.cross(Gn));if(l<0)return null;if(o+l>a)return null;const c=-s*Gn.dot(Wn);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class qn{constructor(){qn.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=s,g[9]=a,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=m,g[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new qn().fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.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),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/Xn.setFromMatrixColumn(t,0).length(),r=1/Xn.setFromMatrixColumn(t,1).length(),s=1/Xn.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*s,e[9]=n[9]*s,e[10]=n[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,n=t.x,i=t.y,r=t.z,s=Math.cos(n),a=Math.sin(n),o=Math.cos(i),l=Math.sin(i),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=n+i*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=i+n*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*a,e[4]=i*a-n,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=n*a-i,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=i+n*a,e[1]=n+i*a,e[5]=s*c,e[9]=r-t*a,e[2]=-s*l,e[6]=a,e[10]=s*o}else if("ZYX"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=i*l-n,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=n*l-i,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=n*h+i,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=s*c,e[9]=n*h-i,e[2]=i*h-n,e[6]=a*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Zn,t,Jn)}lookAt(t,e,n){const i=this.elements;return Qn.subVectors(t,e),0===Qn.lengthSq()&&(Qn.z=1),Qn.normalize(),Kn.crossVectors(n,Qn),0===Kn.lengthSq()&&(1===Math.abs(n.z)?Qn.x+=1e-4:Qn.z+=1e-4,Qn.normalize(),Kn.crossVectors(n,Qn)),Kn.normalize(),$n.crossVectors(Qn,Kn),i[0]=Kn.x,i[4]=$n.x,i[8]=Qn.x,i[1]=Kn.y,i[5]=$n.y,i[9]=Qn.y,i[2]=Kn.z,i[6]=$n.z,i[10]=Qn.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[4],o=n[8],l=n[12],c=n[1],h=n[5],u=n[9],d=n[13],p=n[2],m=n[6],f=n[10],g=n[14],v=n[3],_=n[7],x=n[11],y=n[15],M=i[0],S=i[4],b=i[8],w=i[12],T=i[1],E=i[5],A=i[9],C=i[13],L=i[2],P=i[6],R=i[10],I=i[14],D=i[3],U=i[7],N=i[11],O=i[15];return r[0]=s*M+a*T+o*L+l*D,r[4]=s*S+a*E+o*P+l*U,r[8]=s*b+a*A+o*R+l*N,r[12]=s*w+a*C+o*I+l*O,r[1]=c*M+h*T+u*L+d*D,r[5]=c*S+h*E+u*P+d*U,r[9]=c*b+h*A+u*R+d*N,r[13]=c*w+h*C+u*I+d*O,r[2]=p*M+m*T+f*L+g*D,r[6]=p*S+m*E+f*P+g*U,r[10]=p*b+m*A+f*R+g*N,r[14]=p*w+m*C+f*I+g*O,r[3]=v*M+_*T+x*L+y*D,r[7]=v*S+_*E+x*P+y*U,r[11]=v*b+_*A+x*R+y*N,r[15]=v*w+_*C+x*I+y*O,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],s=t[1],a=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-i*l*h-r*a*u+n*l*u+i*a*d-n*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-i*s*d+i*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+n*s*d+r*a*c-n*l*c)+t[15]*(-i*a*c-e*o*h+e*a*u+i*s*h-n*s*u+n*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],m=t[13],f=t[14],g=t[15],v=h*f*l-m*u*l+m*o*d-a*f*d-h*o*g+a*u*g,_=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,x=c*m*l-p*h*l+p*a*d-s*m*d-c*a*g+s*h*g,y=p*h*o-c*m*o-p*a*u+s*m*u+c*a*f-s*h*f,M=e*v+n*_+i*x+r*y;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const S=1/M;return t[0]=v*S,t[1]=(m*u*r-h*f*r-m*i*d+n*f*d+h*i*g-n*u*g)*S,t[2]=(a*f*r-m*o*r+m*i*l-n*f*l-a*i*g+n*o*g)*S,t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*S,t[4]=_*S,t[5]=(c*f*r-p*u*r+p*i*d-e*f*d-c*i*g+e*u*g)*S,t[6]=(p*o*r-s*f*r-p*i*l+e*f*l+s*i*g-e*o*g)*S,t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*S,t[8]=x*S,t[9]=(p*h*r-c*m*r-p*n*d+e*m*d+c*n*g-e*h*g)*S,t[10]=(s*m*r-p*a*r+p*n*l-e*m*l-s*n*g+e*a*g)*S,t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*S,t[12]=y*S,t[13]=(c*m*i-p*h*i+p*n*u-e*m*u-c*n*f+e*h*f)*S,t[14]=(p*a*i-s*m*i-p*n*o+e*m*o+s*n*f-e*a*f)*S,t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*S,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+n,l*a-i*o,l*o+i*a,0,l*a+i*o,c*a+n,c*o-i*s,0,l*o-i*a,c*o+i*s,r*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,r,s){return this.set(1,n,r,0,t,1,s,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,s=e._y,a=e._z,o=e._w,l=r+r,c=s+s,h=a+a,u=r*l,d=r*c,p=r*h,m=s*c,f=s*h,g=a*h,v=o*l,_=o*c,x=o*h,y=n.x,M=n.y,S=n.z;return i[0]=(1-(m+g))*y,i[1]=(d+x)*y,i[2]=(p-_)*y,i[3]=0,i[4]=(d-x)*M,i[5]=(1-(u+g))*M,i[6]=(f+v)*M,i[7]=0,i[8]=(p+_)*S,i[9]=(f-v)*S,i[10]=(1-(u+m))*S,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=Xn.set(i[0],i[1],i[2]).length();const s=Xn.set(i[4],i[5],i[6]).length(),a=Xn.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],Yn.copy(this);const o=1/r,l=1/s,c=1/a;return Yn.elements[0]*=o,Yn.elements[1]*=o,Yn.elements[2]*=o,Yn.elements[4]*=l,Yn.elements[5]*=l,Yn.elements[6]*=l,Yn.elements[8]*=c,Yn.elements[9]*=c,Yn.elements[10]*=c,e.setFromRotationMatrix(Yn),n.x=r,n.y=s,n.z=a,this}makePerspective(t,e,n,i,r,s){const a=this.elements,o=2*r/(e-t),l=2*r/(n-i),c=(e+t)/(e-t),h=(n+i)/(n-i),u=-(s+r)/(s-r),d=-2*s*r/(s-r);return a[0]=o,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=u,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,n,i,r,s){const a=this.elements,o=1/(e-t),l=1/(n-i),c=1/(s-r),h=(e+t)*o,u=(n+i)*l,d=(s+r)*c;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-u,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const Xn=new gn,Yn=new qn,Zn=new gn(0,0,0),Jn=new gn(1,1,1),Kn=new gn,$n=new gn,Qn=new gn,ti=new qn,ei=new fn;class ni{constructor(t=0,e=0,n=0,i=ni.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,r=i[0],s=i[4],a=i[8],o=i[1],l=i[5],c=i[9],h=i[2],u=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(Ne(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(u,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Ne(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(Ne(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-Ne(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(Ne(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-Ne(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e);}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return ti.makeRotationFromQuaternion(t),this.setFromRotationMatrix(ti,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return ei.setFromEuler(this),this.setFromQuaternion(ei,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}ni.DEFAULT_ORDER="XYZ";class ii{constructor(){this.mask=1}set(t){this.mask=(1<<t|0)>>>0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return 0!=(this.mask&t.mask)}isEnabled(t){return 0!=(this.mask&(1<<t|0))}}let ri=0;const si=new gn,ai=new fn,oi=new qn,li=new gn,ci=new gn,hi=new gn,ui=new fn,di=new gn(1,0,0),pi=new gn(0,1,0),mi=new gn(0,0,1),fi={type:"added"},gi={type:"removed"};class vi extends Le{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:ri++}),this.uuid=Ue(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=vi.DEFAULT_UP.clone();const t=new gn,e=new ni,n=new fn,i=new gn(1,1,1);e._onChange(function(){n.setFromEuler(e,!1)}),n._onChange(function(){e.setFromQuaternion(n,void 0,!1)}),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new qn},normalMatrix:{value:new je}}),this.matrix=new qn,this.matrixWorld=new qn,this.matrixAutoUpdate=vi.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.matrixWorldAutoUpdate=vi.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.layers=new ii,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return ai.setFromAxisAngle(t,e),this.quaternion.multiply(ai),this}rotateOnWorldAxis(t,e){return ai.setFromAxisAngle(t,e),this.quaternion.premultiply(ai),this}rotateX(t){return this.rotateOnAxis(di,t)}rotateY(t){return this.rotateOnAxis(pi,t)}rotateZ(t){return this.rotateOnAxis(mi,t)}translateOnAxis(t,e){return si.copy(t).applyQuaternion(this.quaternion),this.position.add(si.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(di,t)}translateY(t){return this.translateOnAxis(pi,t)}translateZ(t){return this.translateOnAxis(mi,t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(oi.copy(this.matrixWorld).invert())}lookAt(t,e,n){t.isVector3?li.copy(t):li.set(t,e,n);const i=this.parent;this.updateWorldMatrix(!0,!1),ci.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?oi.lookAt(ci,li,this.up):oi.lookAt(li,ci,this.up),this.quaternion.setFromRotationMatrix(oi),i&&(oi.extractRotation(i.matrixWorld),ai.setFromRotationMatrix(oi),this.quaternion.premultiply(ai.invert()))}add(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),t.parent=this,this.children.push(t),t.dispatchEvent(fi)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)}remove(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}const e=this.children.indexOf(t);return-1!==e&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(gi)),this}removeFromParent(){const t=this.parent;return null!==t&&t.remove(this),this}clear(){for(let t=0;t<this.children.length;t++){const e=this.children[t];e.parent=null,e.dispatchEvent(gi)}return this.children.length=0,this}attach(t){return this.updateWorldMatrix(!0,!1),oi.copy(this.matrixWorld).invert(),null!==t.parent&&(t.parent.updateWorldMatrix(!0,!1),oi.multiply(t.parent.matrixWorld)),t.applyMatrix4(oi),this.add(t),t.updateWorldMatrix(!1,!0),this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let n=0,i=this.children.length;n<i;n++){const i=this.children[n].getObjectByProperty(t,e);if(void 0!==i)return i}}getObjectsByProperty(t,e){let n=[];this[t]===e&&n.push(this);for(let i=0,r=this.children.length;i<r;i++){const r=this.children[i].getObjectsByProperty(t,e);r.length>0&&(n=n.concat(r))}return n}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(ci,t,hi),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(ci,ui,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverse(t)}traverseVisible(t){if(!1===this.visible)return;t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverseVisible(t)}traverseAncestors(t){const e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);const e=this.children;for(let n=0,i=e.length;n<i;n++){const i=e[n];!0!==i.matrixWorldAutoUpdate&&!0!==t||i.updateMatrixWorld(t)}}updateWorldMatrix(t,e){const n=this.parent;if(!0===t&&null!==n&&!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===e){const t=this.children;for(let e=0,n=t.length;e<n;e++){const n=t[e];!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!1,!0)}}}toJSON(t){const e=void 0===t||"string"==typeof t,n={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});const i={};function r(e,n){return void 0===e[n.uuid]&&(e[n.uuid]=n.toJSON(t)),n.uuid}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),!0===this.castShadow&&(i.castShadow=!0),!0===this.receiveShadow&&(i.receiveShadow=!0),!1===this.visible&&(i.visible=!1),!1===this.frustumCulled&&(i.frustumCulled=!1),0!==this.renderOrder&&(i.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const n=e.shapes;if(Array.isArray(n))for(let e=0,i=n.length;e<i;e++){const i=n[e];r(t.shapes,i)}else r(t.shapes,n)}}if(this.isSkinnedMesh&&(i.bindMode=this.bindMode,i.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(r(t.skeletons,this.skeleton),i.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const e=[];for(let n=0,i=this.material.length;n<i;n++)e.push(r(t.materials,this.material[n]));i.material=e}else i.material=r(t.materials,this.material);if(this.children.length>0){i.children=[];for(let e=0;e<this.children.length;e++)i.children.push(this.children[e].toJSON(t).object)}if(this.animations.length>0){i.animations=[];for(let e=0;e<this.animations.length;e++){const n=this.animations[e];i.animations.push(r(t.animations,n))}}if(e){const e=s(t.geometries),i=s(t.materials),r=s(t.textures),a=s(t.images),o=s(t.shapes),l=s(t.skeletons),c=s(t.animations),h=s(t.nodes);e.length>0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c),h.length>0&&(n.nodes=h)}return n.object=i,n;function s(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e<t.children.length;e++){const n=t.children[e];this.add(n.clone())}return this}}vi.DEFAULT_UP=new gn(0,1,0),vi.DEFAULT_MATRIX_AUTO_UPDATE=!0,vi.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const _i=new gn,xi=new gn,yi=new gn,Mi=new gn,Si=new gn,bi=new gn,wi=new gn,Ti=new gn,Ei=new gn,Ai=new gn;let Ci=!1;class Li{constructor(t=new gn,e=new gn,n=new gn){this.a=t,this.b=e,this.c=n}static getNormal(t,e,n,i){i.subVectors(n,e),_i.subVectors(t,e),i.cross(_i);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){_i.subVectors(i,e),xi.subVectors(n,e),yi.subVectors(t,e);const s=_i.dot(_i),a=_i.dot(xi),o=_i.dot(yi),l=xi.dot(xi),c=xi.dot(yi),h=s*l-a*a;if(0===h)return r.set(-2,-1,-1);const u=1/h,d=(l*o-a*c)*u,p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,Mi),Mi.x>=0&&Mi.y>=0&&Mi.x+Mi.y<=1}static getUV(t,e,n,i,r,s,a,o){return!1===Ci&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Ci=!0),this.getInterpolation(t,e,n,i,r,s,a,o)}static getInterpolation(t,e,n,i,r,s,a,o){return this.getBarycoord(t,e,n,i,Mi),o.setScalar(0),o.addScaledVector(r,Mi.x),o.addScaledVector(s,Mi.y),o.addScaledVector(a,Mi.z),o}static isFrontFacing(t,e,n,i){return _i.subVectors(n,e),xi.subVectors(t,e),_i.cross(xi).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,n,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return _i.subVectors(this.c,this.b),xi.subVectors(this.a,this.b),.5*_i.cross(xi).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return Li.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return Li.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return!1===Ci&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Ci=!0),Li.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}getInterpolation(t,e,n,i,r){return Li.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return Li.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return Li.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let s,a;Si.subVectors(i,n),bi.subVectors(r,n),Ti.subVectors(t,n);const o=Si.dot(Ti),l=bi.dot(Ti);if(o<=0&&l<=0)return e.copy(n);Ei.subVectors(t,i);const c=Si.dot(Ei),h=bi.dot(Ei);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(n).addScaledVector(Si,s);Ai.subVectors(t,r);const d=Si.dot(Ai),p=bi.dot(Ai);if(p>=0&&d<=p)return e.copy(r);const m=d*l-o*p;if(m<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(bi,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return wi.subVectors(r,i),a=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(wi,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(n).addScaledVector(Si,s).addScaledVector(bi,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let Pi=0;class Ri extends Le{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:Pi++}),this.uuid=Ue(),this.name="",this.type="Material",this.blending=d,this.side=l,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=E,this.blendDst=A,this.blendEquation=v,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=O,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Te,this.stencilZFail=Te,this.stencilZPass=Te,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==d&&(n.blending=this.blending),this.side!==l&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}const Ii={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Di={h:0,s:0,l:0},Ui={h:0,s:0,l:0};function Ni(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}class Oi{constructor(t,e,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=Se){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,rn.toWorkingColorSpace(this,e),this}setRGB(t,e,n,i=rn.workingColorSpace){return this.r=t,this.g=e,this.b=n,rn.toWorkingColorSpace(this,i),this}setHSL(t,e,n,i=rn.workingColorSpace){if(t=Oe(t,1),e=Ne(e,0,1),n=Ne(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=Ni(r,i,t+1/3),this.g=Ni(r,i,t),this.b=Ni(r,i,t-1/3)}return rn.toWorkingColorSpace(this,i),this}setStyle(t,e=Se){function n(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(t)){let r;const s=i[1],a=i[2];switch(s){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,rn.toWorkingColorSpace(this,e),n(r[4]),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,rn.toWorkingColorSpace(this,e),n(r[4]),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){const t=parseFloat(r[1])/360,i=parseFloat(r[2])/100,s=parseFloat(r[3])/100;return n(r[4]),this.setHSL(t,i,s,e)}break;default:console.warn("THREE.Color: Unknown color model "+t);}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(t)){const n=i[1],r=n.length;if(3===r)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,e);if(6===r)return this.setHex(parseInt(n,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=Se){const n=Ii[t.toLowerCase()];return void 0!==n?this.setHex(n,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Ke(t.r),this.g=Ke(t.g),this.b=Ke(t.b),this}copyLinearToSRGB(t){return this.r=$e(t.r),this.g=$e(t.g),this.b=$e(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=Se){return rn.fromWorkingColorSpace(zi.copy(this),t),Ne(255*zi.r,0,255)<<16^Ne(255*zi.g,0,255)<<8^Ne(255*zi.b,0,255)<<0}getHexString(t=Se){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=rn.workingColorSpace){rn.fromWorkingColorSpace(zi.copy(this),e);const n=zi.r,i=zi.g,r=zi.b,s=Math.max(n,i,r),a=Math.min(n,i,r);let o,l;const c=(a+s)/2;if(a===s)o=0,l=0;else{const t=s-a;switch(l=c<=.5?t/(s+a):t/(2-s-a),s){case n:o=(i-r)/t+(i<r?6:0);break;case i:o=(r-n)/t+2;break;case r:o=(n-i)/t+4;}o/=6}return t.h=o,t.s=l,t.l=c,t}getRGB(t,e=rn.workingColorSpace){return rn.fromWorkingColorSpace(zi.copy(this),e),t.r=zi.r,t.g=zi.g,t.b=zi.b,t}getStyle(t=Se){rn.fromWorkingColorSpace(zi.copy(this),t);const e=zi.r,n=zi.g,i=zi.b;return t!==Se?`color(${t} ${e.toFixed(3)} ${n.toFixed(3)} ${i.toFixed(3)})`:`rgb(${255*e|0},${255*n|0},${255*i|0})`}offsetHSL(t,e,n){return this.getHSL(Di),Di.h+=t,Di.s+=e,Di.l+=n,this.setHSL(Di.h,Di.s,Di.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,n){return this.r=t.r+(e.r-t.r)*n,this.g=t.g+(e.g-t.g)*n,this.b=t.b+(e.b-t.b)*n,this}lerpHSL(t,e){this.getHSL(Di),t.getHSL(Ui);const n=ze(Di.h,Ui.h,e),i=ze(Di.s,Ui.s,e),r=ze(Di.l,Ui.l,e);return this.setHSL(n,i,r),this}setFromVector3(t){return this.r=t.x,this.g=t.y,this.b=t.z,this}applyMatrix3(t){const e=this.r,n=this.g,i=this.b,r=t.elements;return this.r=r[0]*e+r[3]*n+r[6]*i,this.g=r[1]*e+r[4]*n+r[7]*i,this.b=r[2]*e+r[5]*n+r[8]*i,this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const zi=new Oi;Oi.NAMES=Ii;class Bi extends Ri{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Oi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const Fi=ki();function ki(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),i=new Uint32Array(512),r=new Uint32Array(512);for(let t=0;t<256;++t){const e=t-127;e<-27?(i[t]=0,i[256|t]=32768,r[t]=24,r[256|t]=24):e<-14?(i[t]=1024>>-e-14,i[256|t]=1024>>-e-14|32768,r[t]=-e-1,r[256|t]=-e-1):e<=15?(i[t]=e+15<<10,i[256|t]=e+15<<10|32768,r[t]=13,r[256|t]=13):e<128?(i[t]=31744,i[256|t]=64512,r[t]=24,r[256|t]=24):(i[t]=31744,i[256|t]=64512,r[t]=13,r[256|t]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let t=1;t<1024;++t){let e=t<<13,n=0;for(;0==(8388608&e);)e<<=1,n-=8388608;e&=-8388609,n+=947912704,s[t]=e|n}for(let t=1024;t<2048;++t)s[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)a[t]=t<<23;a[31]=1199570944,a[32]=2147483648;for(let t=33;t<63;++t)a[t]=2147483648+(t-32<<23);a[63]=3347054592;for(let t=1;t<64;++t)32!==t&&(o[t]=1024);return{floatView:e,uint32View:n,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}function Gi(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=Ne(t,-65504,65504),Fi.floatView[0]=t;const e=Fi.uint32View[0],n=e>>23&511;return Fi.baseTable[n]+((8388607&e)>>Fi.shiftTable[n])}function Vi(t){const e=t>>10;return Fi.uint32View[0]=Fi.mantissaTable[Fi.offsetTable[e]+(1023&t)]+Fi.exponentTable[e],Fi.floatView[0]}const Hi={toHalfFloat:Gi,fromHalfFloat:Vi},Wi=new gn,ji=new We;class qi{constructor(t,e,n=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=n,this.usage=Ee,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,r=this.itemSize;i<r;i++)this.array[t+i]=e.array[n+i];return this}copyArray(t){return this.array.set(t),this}applyMatrix3(t){if(2===this.itemSize)for(let e=0,n=this.count;e<n;e++)ji.fromBufferAttribute(this,e),ji.applyMatrix3(t),this.setXY(e,ji.x,ji.y);else if(3===this.itemSize)for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.applyMatrix3(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}applyMatrix4(t){for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.applyMatrix4(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.applyNormalMatrix(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.transformDirection(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}set(t,e=0){return this.array.set(t,e),this}getX(t){let e=this.array[t*this.itemSize];return this.normalized&&(e=Ge(e,this.array)),e}setX(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize]=e,this}getY(t){let e=this.array[t*this.itemSize+1];return this.normalized&&(e=Ge(e,this.array)),e}setY(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+1]=e,this}getZ(t){let e=this.array[t*this.itemSize+2];return this.normalized&&(e=Ge(e,this.array)),e}setZ(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+2]=e,this}getW(t){let e=this.array[t*this.itemSize+3];return this.normalized&&(e=Ge(e,this.array)),e}setW(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+3]=e,this}setXY(t,e,n){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array)),this.array[t+0]=e,this.array[t+1]=n,this}setXYZ(t,e,n,i){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array)),this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this}setXYZW(t,e,n,i,r){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array),r=Ve(r,this.array)),this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this.array[t+3]=r,this}onUpload(t){return this.onUploadCallback=t,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const t={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return""!==this.name&&(t.name=this.name),this.usage!==Ee&&(t.usage=this.usage),0===this.updateRange.offset&&-1===this.updateRange.count||(t.updateRange=this.updateRange),t}copyColorsArray(){console.error("THREE.BufferAttribute: copyColorsArray() was removed in r144.")}copyVector2sArray(){console.error("THREE.BufferAttribute: copyVector2sArray() was removed in r144.")}copyVector3sArray(){console.error("THREE.BufferAttribute: copyVector3sArray() was removed in r144.")}copyVector4sArray(){console.error("THREE.BufferAttribute: copyVector4sArray() was removed in r144.")}}class Xi extends qi{constructor(t,e,n){super(new Uint16Array(t),e,n)}}class Yi extends qi{constructor(t,e,n){super(new Uint32Array(t),e,n)}}class Zi extends qi{constructor(t,e,n){super(new Float32Array(t),e,n)}}let Ji=0;const Ki=new qn,$i=new vi,Qi=new gn,tr=new xn,er=new xn,nr=new gn;class ir extends Le{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:Ji++}),this.uuid=Ue(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(t){return Array.isArray(t)?this.index=new(Xe(t)?Yi:Xi)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=new je().getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return Ki.makeRotationFromQuaternion(t),this.applyMatrix4(Ki),this}rotateX(t){return Ki.makeRotationX(t),this.applyMatrix4(Ki),this}rotateY(t){return Ki.makeRotationY(t),this.applyMatrix4(Ki),this}rotateZ(t){return Ki.makeRotationZ(t),this.applyMatrix4(Ki),this}translate(t,e,n){return Ki.makeTranslation(t,e,n),this.applyMatrix4(Ki),this}scale(t,e,n){return Ki.makeScale(t,e,n),this.applyMatrix4(Ki),this}lookAt(t){return $i.lookAt(t),$i.updateMatrix(),this.applyMatrix4($i.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Qi).negate(),this.translate(Qi.x,Qi.y,Qi.z),this}setFromPoints(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(i.x,i.y,i.z||0)}return this.setAttribute("position",new Zi(e,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new xn);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".",this),void this.boundingBox.set(new gn(-1/0,-1/0,-1/0),new gn(1/0,1/0,1/0));if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t<n;t++){const n=e[t];tr.setFromBufferAttribute(n),this.morphTargetsRelative?(nr.addVectors(this.boundingBox.min,tr.min),this.boundingBox.expandByPoint(nr),nr.addVectors(this.boundingBox.max,tr.max),this.boundingBox.expandByPoint(nr)):(this.boundingBox.expandByPoint(tr.min),this.boundingBox.expandByPoint(tr.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error("THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.",this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new zn);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set \"mesh.frustumCulled\" to \"false\".",this),void this.boundingSphere.set(new gn,1/0);if(t){const n=this.boundingSphere.center;if(tr.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t<n;t++){const n=e[t];er.setFromBufferAttribute(n),this.morphTargetsRelative?(nr.addVectors(tr.min,er.min),tr.expandByPoint(nr),nr.addVectors(tr.max,er.max),tr.expandByPoint(nr)):(tr.expandByPoint(er.min),tr.expandByPoint(er.max))}tr.getCenter(n);let i=0;for(let e=0,r=t.count;e<r;e++)nr.fromBufferAttribute(t,e),i=Math.max(i,n.distanceToSquared(nr));if(e)for(let r=0,s=e.length;r<s;r++){const s=e[r],a=this.morphTargetsRelative;for(let e=0,r=s.count;e<r;e++)nr.fromBufferAttribute(s,e),a&&(Qi.fromBufferAttribute(t,e),nr.add(Qi)),i=Math.max(i,n.distanceToSquared(nr))}this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error("THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.",this)}}computeTangents(){const t=this.index,e=this.attributes;if(null===t||void 0===e.position||void 0===e.normal||void 0===e.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");const n=t.array,i=e.position.array,r=e.normal.array,s=e.uv.array,a=i.length/3;!1===this.hasAttribute("tangent")&&this.setAttribute("tangent",new qi(new Float32Array(4*a),4));const o=this.getAttribute("tangent").array,l=[],c=[];for(let t=0;t<a;t++)l[t]=new gn,c[t]=new gn;const h=new gn,u=new gn,d=new gn,p=new We,m=new We,f=new We,g=new gn,v=new gn;function _(t,e,n){h.fromArray(i,3*t),u.fromArray(i,3*e),d.fromArray(i,3*n),p.fromArray(s,2*t),m.fromArray(s,2*e),f.fromArray(s,2*n),u.sub(h),d.sub(h),m.sub(p),f.sub(p);const r=1/(m.x*f.y-f.x*m.y);isFinite(r)&&(g.copy(u).multiplyScalar(f.y).addScaledVector(d,-m.y).multiplyScalar(r),v.copy(d).multiplyScalar(m.x).addScaledVector(u,-f.x).multiplyScalar(r),l[t].add(g),l[e].add(g),l[n].add(g),c[t].add(v),c[e].add(v),c[n].add(v))}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let t=0,e=x.length;t<e;++t){const e=x[t],i=e.start;for(let t=i,r=i+e.count;t<r;t+=3)_(n[t+0],n[t+1],n[t+2])}const y=new gn,M=new gn,S=new gn,b=new gn;function w(t){S.fromArray(r,3*t),b.copy(S);const e=l[t];y.copy(e),y.sub(S.multiplyScalar(S.dot(e))).normalize(),M.crossVectors(b,e);const n=M.dot(c[t])<0?-1:1;o[4*t]=y.x,o[4*t+1]=y.y,o[4*t+2]=y.z,o[4*t+3]=n}for(let t=0,e=x.length;t<e;++t){const e=x[t],i=e.start;for(let t=i,r=i+e.count;t<r;t+=3)w(n[t+0]),w(n[t+1]),w(n[t+2])}}computeVertexNormals(){const t=this.index,e=this.getAttribute("position");if(void 0!==e){let n=this.getAttribute("normal");if(void 0===n)n=new qi(new Float32Array(3*e.count),3),this.setAttribute("normal",n);else for(let t=0,e=n.count;t<e;t++)n.setXYZ(t,0,0,0);const i=new gn,r=new gn,s=new gn,a=new gn,o=new gn,l=new gn,c=new gn,h=new gn;if(t)for(let u=0,d=t.count;u<d;u+=3){const d=t.getX(u+0),p=t.getX(u+1),m=t.getX(u+2);i.fromBufferAttribute(e,d),r.fromBufferAttribute(e,p),s.fromBufferAttribute(e,m),c.subVectors(s,r),h.subVectors(i,r),c.cross(h),a.fromBufferAttribute(n,d),o.fromBufferAttribute(n,p),l.fromBufferAttribute(n,m),a.add(c),o.add(c),l.add(c),n.setXYZ(d,a.x,a.y,a.z),n.setXYZ(p,o.x,o.y,o.z),n.setXYZ(m,l.x,l.y,l.z)}else for(let t=0,a=e.count;t<a;t+=3)i.fromBufferAttribute(e,t+0),r.fromBufferAttribute(e,t+1),s.fromBufferAttribute(e,t+2),c.subVectors(s,r),h.subVectors(i,r),c.cross(h),n.setXYZ(t+0,c.x,c.y,c.z),n.setXYZ(t+1,c.x,c.y,c.z),n.setXYZ(t+2,c.x,c.y,c.z);this.normalizeNormals(),n.needsUpdate=!0}}merge(){return console.error("THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeGeometries() instead."),this}normalizeNormals(){const t=this.attributes.normal;for(let e=0,n=t.count;e<n;e++)nr.fromBufferAttribute(t,e),nr.normalize(),t.setXYZ(e,nr.x,nr.y,nr.z)}toNonIndexed(){function t(t,e){const n=t.array,i=t.itemSize,r=t.normalized,s=new n.constructor(e.length*i);let a=0,o=0;for(let r=0,l=e.length;r<l;r++){a=t.isInterleavedBufferAttribute?e[r]*t.data.stride+t.offset:e[r]*i;for(let t=0;t<i;t++)s[o++]=n[a++]}return new qi(s,i,r)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const e=new ir,n=this.index.array,i=this.attributes;for(const r in i){const s=t(i[r],n);e.setAttribute(r,s)}const r=this.morphAttributes;for(const i in r){const s=[],a=r[i];for(let e=0,i=a.length;e<i;e++){const i=t(a[e],n);s.push(i)}e.morphAttributes[i]=s}e.morphTargetsRelative=this.morphTargetsRelative;const s=this.groups;for(let t=0,n=s.length;t<n;t++){const n=s[t];e.addGroup(n.start,n.count,n.materialIndex)}return e}toJSON(){const t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),Object.keys(this.userData).length>0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],s=[];for(let e=0,i=n.length;e<i;e++){const i=n[e];s.push(i.toJSON(t.data))}s.length>0&&(i[e]=s,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;t<r;t++)n.push(i[t].clone(e));this.morphAttributes[t]=n}this.morphTargetsRelative=t.morphTargetsRelative;const s=t.groups;for(let t=0,e=s.length;t<e;t++){const e=s[t];this.addGroup(e.start,e.count,e.materialIndex)}const a=t.boundingBox;null!==a&&(this.boundingBox=a.clone());const o=t.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const rr=new qn,sr=new jn,ar=new zn,or=new gn,lr=new gn,cr=new gn,hr=new gn,ur=new gn,dr=new gn,pr=new We,mr=new We,fr=new We,gr=new gn,vr=new gn,_r=new gn,xr=new gn,yr=new gn;class Mr extends vi{constructor(t=new ir,e=new Bi){super(),this.isMesh=!0,this.type="Mesh",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=t.material,this.geometry=t.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t<e;t++){const e=n[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}getVertexPosition(t,e){const n=this.geometry,i=n.attributes.position,r=n.morphAttributes.position,s=n.morphTargetsRelative;e.fromBufferAttribute(i,t);const a=this.morphTargetInfluences;if(r&&a){dr.set(0,0,0);for(let n=0,i=r.length;n<i;n++){const i=a[n],o=r[n];0!==i&&(ur.fromBufferAttribute(o,t),s?dr.addScaledVector(ur,i):dr.addScaledVector(ur.sub(e),i))}e.add(dr)}return this.isSkinnedMesh&&this.applyBoneTransform(t,e),e}raycast(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),ar.copy(n.boundingSphere),ar.applyMatrix4(r),sr.copy(t.ray).recast(t.near),!1===ar.containsPoint(sr.origin)){if(null===sr.intersectSphere(ar,or))return;if(sr.origin.distanceToSquared(or)>(t.far-t.near)**2)return}if(rr.copy(r).invert(),sr.copy(t.ray).applyMatrix4(rr),null!==n.boundingBox&&!1===sr.intersectsBox(n.boundingBox))return;let s;const a=n.index,o=n.attributes.position,l=n.attributes.uv,c=n.attributes.uv2,h=n.attributes.normal,u=n.groups,d=n.drawRange;if(null!==a){if(Array.isArray(i))for(let n=0,r=u.length;n<r;n++){const r=u[n],o=i[r.materialIndex];for(let n=Math.max(r.start,d.start),i=Math.min(a.count,Math.min(r.start+r.count,d.start+d.count));n<i;n+=3){const i=a.getX(n),u=a.getX(n+1),d=a.getX(n+2);s=Sr(this,o,t,sr,l,c,h,i,u,d),s&&(s.faceIndex=Math.floor(n/3),s.face.materialIndex=r.materialIndex,e.push(s))}}else{for(let n=Math.max(0,d.start),r=Math.min(a.count,d.start+d.count);n<r;n+=3){const r=a.getX(n),o=a.getX(n+1),u=a.getX(n+2);s=Sr(this,i,t,sr,l,c,h,r,o,u),s&&(s.faceIndex=Math.floor(n/3),e.push(s))}}}else if(void 0!==o)if(Array.isArray(i))for(let n=0,r=u.length;n<r;n++){const r=u[n],a=i[r.materialIndex];for(let n=Math.max(r.start,d.start),i=Math.min(o.count,Math.min(r.start+r.count,d.start+d.count));n<i;n+=3){s=Sr(this,a,t,sr,l,c,h,n,n+1,n+2),s&&(s.faceIndex=Math.floor(n/3),s.face.materialIndex=r.materialIndex,e.push(s))}}else{for(let n=Math.max(0,d.start),r=Math.min(o.count,d.start+d.count);n<r;n+=3){s=Sr(this,i,t,sr,l,c,h,n,n+1,n+2),s&&(s.faceIndex=Math.floor(n/3),e.push(s))}}}}function Sr(t,e,n,i,r,s,a,o,h,u){t.getVertexPosition(o,lr),t.getVertexPosition(h,cr),t.getVertexPosition(u,hr);const d=function(t,e,n,i,r,s,a,o){let h;if(h=e.side===c?i.intersectTriangle(a,s,r,!0,o):i.intersectTriangle(r,s,a,e.side===l,o),null===h)return null;yr.copy(o),yr.applyMatrix4(t.matrixWorld);const u=n.ray.origin.distanceTo(yr);return u<n.near||u>n.far?null:{distance:u,point:yr.clone(),object:t}}(t,e,n,i,lr,cr,hr,xr);if(d){r&&(pr.fromBufferAttribute(r,o),mr.fromBufferAttribute(r,h),fr.fromBufferAttribute(r,u),d.uv=Li.getInterpolation(xr,lr,cr,hr,pr,mr,fr,new We)),s&&(pr.fromBufferAttribute(s,o),mr.fromBufferAttribute(s,h),fr.fromBufferAttribute(s,u),d.uv2=Li.getInterpolation(xr,lr,cr,hr,pr,mr,fr,new We)),a&&(gr.fromBufferAttribute(a,o),vr.fromBufferAttribute(a,h),_r.fromBufferAttribute(a,u),d.normal=Li.getInterpolation(xr,lr,cr,hr,gr,vr,_r,new gn),d.normal.dot(i.direction)>0&&d.normal.multiplyScalar(-1));const t={a:o,b:h,c:u,normal:new gn,materialIndex:0};Li.getNormal(lr,cr,hr,t.normal),d.face=t}return d}class br extends ir{constructor(t=1,e=1,n=1,i=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:s};const a=this;i=Math.floor(i),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,n,i,r,s,p,m,f,g,v){const _=s/f,x=p/g,y=s/2,M=p/2,S=m/2,b=f+1,w=g+1;let T=0,E=0;const A=new gn;for(let s=0;s<w;s++){const a=s*x-M;for(let o=0;o<b;o++){const u=o*_-y;A[t]=u*i,A[e]=a*r,A[n]=S,l.push(A.x,A.y,A.z),A[t]=0,A[e]=0,A[n]=m>0?1:-1,c.push(A.x,A.y,A.z),h.push(o/f),h.push(1-s/g),T+=1}}for(let t=0;t<g;t++)for(let e=0;e<f;e++){const n=u+e+b*t,i=u+e+b*(t+1),r=u+(e+1)+b*(t+1),s=u+(e+1)+b*t;o.push(n,i,s),o.push(i,r,s),E+=6}a.addGroup(d,E,v),d+=E,u+=T}p("z","y","x",-1,-1,n,e,t,s,r,0),p("z","y","x",1,-1,n,e,-t,s,r,1),p("x","z","y",1,1,t,n,e,i,s,2),p("x","z","y",1,-1,t,n,-e,i,s,3),p("x","y","z",1,-1,t,e,n,i,r,4),p("x","y","z",-1,-1,t,e,-n,i,r,5),this.setIndex(o),this.setAttribute("position",new Zi(l,3)),this.setAttribute("normal",new Zi(c,3)),this.setAttribute("uv",new Zi(h,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new br(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}}function wr(t){const e={};for(const n in t){e[n]={};for(const i in t[n]){const r=t[n][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[n][i]=null):e[n][i]=r.clone():Array.isArray(r)?e[n][i]=r.slice():e[n][i]=r}}return e}function Tr(t){const e={};for(let n=0;n<t.length;n++){const i=wr(t[n]);for(const t in i)e[t]=i[t]}return e}function Er(t){return null===t.getRenderTarget()&&t.outputEncoding===_e?Se:be}const Ar={clone:wr,merge:Tr};class Cr extends Ri{constructor(t){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==t&&this.setValues(t)}copy(t){return super.copy(t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=wr(t.uniforms),this.uniformsGroups=function(t){const e=[];for(let n=0;n<t.length;n++)e.push(t[n].clone());return e}(t.uniformsGroups),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.fog=t.fog,this.lights=t.lights,this.clipping=t.clipping,this.extensions=Object.assign({},t.extensions),this.glslVersion=t.glslVersion,this}toJSON(t){const e=super.toJSON(t);e.glslVersion=this.glslVersion,e.uniforms={};for(const n in this.uniforms){const i=this.uniforms[n].value;i&&i.isTexture?e.uniforms[n]={type:"t",value:i.toJSON(t).uuid}:i&&i.isColor?e.uniforms[n]={type:"c",value:i.getHex()}:i&&i.isVector2?e.uniforms[n]={type:"v2",value:i.toArray()}:i&&i.isVector3?e.uniforms[n]={type:"v3",value:i.toArray()}:i&&i.isVector4?e.uniforms[n]={type:"v4",value:i.toArray()}:i&&i.isMatrix3?e.uniforms[n]={type:"m3",value:i.toArray()}:i&&i.isMatrix4?e.uniforms[n]={type:"m4",value:i.toArray()}:e.uniforms[n]={value:i}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}class Lr extends vi{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new qn,this.projectionMatrix=new qn,this.projectionMatrixInverse=new qn}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class Pr extends Lr{constructor(t=50,e=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*De*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*Ie*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*De*Math.atan(Math.tan(.5*Ie*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,i,r,s){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*Ie*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*i/t,e-=s.offsetY*n/a,i*=s.width/t,n*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const Rr=-90;class Ir extends vi{constructor(t,e,n){super(),this.type="CubeCamera",this.renderTarget=n;const i=new Pr(Rr,1,t,e);i.layers=this.layers,i.up.set(0,1,0),i.lookAt(1,0,0),this.add(i);const r=new Pr(Rr,1,t,e);r.layers=this.layers,r.up.set(0,1,0),r.lookAt(-1,0,0),this.add(r);const s=new Pr(Rr,1,t,e);s.layers=this.layers,s.up.set(0,0,-1),s.lookAt(0,1,0),this.add(s);const a=new Pr(Rr,1,t,e);a.layers=this.layers,a.up.set(0,0,1),a.lookAt(0,-1,0),this.add(a);const o=new Pr(Rr,1,t,e);o.layers=this.layers,o.up.set(0,1,0),o.lookAt(0,0,1),this.add(o);const l=new Pr(Rr,1,t,e);l.layers=this.layers,l.up.set(0,1,0),l.lookAt(0,0,-1),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[i,r,s,a,o,l]=this.children,c=t.getRenderTarget(),h=t.toneMapping,u=t.xr.enabled;t.toneMapping=W,t.xr.enabled=!1;const d=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,i),t.setRenderTarget(n,1),t.render(e,r),t.setRenderTarget(n,2),t.render(e,s),t.setRenderTarget(n,3),t.render(e,a),t.setRenderTarget(n,4),t.render(e,o),n.texture.generateMipmaps=d,t.setRenderTarget(n,5),t.render(e,l),t.setRenderTarget(c),t.toneMapping=h,t.xr.enabled=u,n.texture.needsPMREMUpdate=!0}}class Dr extends hn{constructor(t,e,n,i,r,s,a,o,l,c){super(t=void 0!==t?t:[],e=void 0!==e?e:K,n,i,r,s,a,o,l,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class Ur extends dn{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const n={width:t,height:t,depth:1},i=[n,n,n,n,n,n];this.texture=new Dr(i,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:lt}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},i=new br(5,5,5),r=new Cr({name:"CubemapFromEquirect",uniforms:wr(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:c,blending:u});r.uniforms.tEquirect.value=e;const s=new Mr(i,r),a=e.minFilter;e.minFilter===ht&&(e.minFilter=lt);return new Ir(1,10,this).update(t,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)}}const Nr=new gn,Or=new gn,zr=new je;class Br{constructor(t=new gn(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=Nr.subVectors(n,e).cross(Or.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e){const n=t.delta(Nr),i=this.normal.dot(n);if(0===i)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(t.start).addScaledVector(n,r)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||zr.getNormalMatrix(t),i=this.coplanarPoint(Nr).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Fr=new zn,kr=new gn;class Gr{constructor(t=new Br,e=new Br,n=new Br,i=new Br,r=new Br,s=new Br){this.planes=[t,e,n,i,r,s]}set(t,e,n,i,r,s){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(s),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,i=n[0],r=n[1],s=n[2],a=n[3],o=n[4],l=n[5],c=n[6],h=n[7],u=n[8],d=n[9],p=n[10],m=n[11],f=n[12],g=n[13],v=n[14],_=n[15];return e[0].setComponents(a-i,h-o,m-u,_-f).normalize(),e[1].setComponents(a+i,h+o,m+u,_+f).normalize(),e[2].setComponents(a+r,h+l,m+d,_+g).normalize(),e[3].setComponents(a-r,h-l,m-d,_-g).normalize(),e[4].setComponents(a-s,h-c,m-p,_-v).normalize(),e[5].setComponents(a+s,h+c,m+p,_+v).normalize(),this}intersectsObject(t){if(void 0!==t.boundingSphere)null===t.boundingSphere&&t.computeBoundingSphere(),Fr.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;null===e.boundingSphere&&e.computeBoundingSphere(),Fr.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Fr)}intersectsSprite(t){return Fr.center.set(0,0,0),Fr.radius=.7071067811865476,Fr.applyMatrix4(t.matrixWorld),this.intersectsSphere(Fr)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(n)<i)return!1}return!0}intersectsBox(t){const e=this.planes;for(let n=0;n<6;n++){const i=e[n];if(kr.x=i.normal.x>0?t.max.x:t.min.x,kr.y=i.normal.y>0?t.max.y:t.min.y,kr.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(kr)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function Vr(){let t=null,e=!1,n=null,i=null;function r(e,s){n(e,s),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Hr(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version<e.version)&&i.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version}))}e.isInterleavedBufferAttribute&&(e=e.data);const s=i.get(e);void 0===s?i.set(e,function(e,i){const r=e.array,s=e.usage,a=t.createBuffer();let o;if(t.bindBuffer(i,a),t.bufferData(i,r,s),e.onUploadCallback(),r instanceof Float32Array)o=5126;else if(r instanceof Uint16Array){if(e.isFloat16BufferAttribute){if(!n)throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");o=5131}else o=5123;}else if(r instanceof Int16Array)o=5122;else if(r instanceof Uint32Array)o=5125;else if(r instanceof Int32Array)o=5124;else if(r instanceof Int8Array)o=5120;else if(r instanceof Uint8Array)o=5121;else{if(!(r instanceof Uint8ClampedArray))throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+r);o=5121}return{buffer:a,type:o,bytesPerElement:r.BYTES_PER_ELEMENT,version:e.version}}(e,r)):s.version<e.version&&(!function(e,i,r){const s=i.array,a=i.updateRange;t.bindBuffer(r,e),-1===a.count?t.bufferSubData(r,0,s):(n?t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s,a.offset,a.count):t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s.subarray(a.offset,a.offset+a.count)),a.count=-1),i.onUploadCallback()}(s.buffer,e,r),s.version=e.version)}}}class Wr extends ir{constructor(t=1,e=1,n=1,i=1){super(),this.type="PlaneGeometry",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i};const r=t/2,s=e/2,a=Math.floor(n),o=Math.floor(i),l=a+1,c=o+1,h=t/a,u=e/o,d=[],p=[],m=[],f=[];for(let t=0;t<c;t++){const e=t*u-s;for(let n=0;n<l;n++){const i=n*h-r;p.push(i,-e,0),m.push(0,0,1),f.push(n/a),f.push(1-t/o)}}for(let t=0;t<o;t++)for(let e=0;e<a;e++){const n=e+l*t,i=e+l*(t+1),r=e+1+l*(t+1),s=e+1+l*t;d.push(n,i,s),d.push(i,r,s)}this.setIndex(d),this.setAttribute("position",new Zi(p,3)),this.setAttribute("normal",new Zi(m,3)),this.setAttribute("uv",new Zi(f,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Wr(t.width,t.height,t.widthSegments,t.heightSegments)}}const jr={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif",alphatest_pars_fragment:"#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"float G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n} // validated",iridescence_fragment:"#ifdef USE_IRIDESCENCE\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660,  0.0556434,\n\t\t-1.5371385,  1.8760108, -0.2040259,\n\t\t-0.4985314,  0.0415560,  1.0572252\n\t);\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\t}\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\t}\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\t}\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\t}\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t\tvec3 I;\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t\t}\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat R21 = R12;\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\t\t}\n\t\treturn max( I, vec3( 0.0 ) );\n\t}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vBumpMapUv );\n\t\tvec2 dSTdy = dFdy( vBumpMapUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos.xyz );\n\t\tvec3 vSigmaY = dFdy( surf_pos.xyz );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n    float x2 = x * x;\n    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(    0, 1,    0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_NORMALMAP_TANGENTSPACE\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, vec2 fullSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\t\n\t\tvec2 lodFudge = pow( 1.95, lod ) / fullSize;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec2 fullSize = vec2( textureSize( sampler, 0 ) );\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), fullSize, floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), fullSize, ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_UV2\n\tattribute vec2 uv2;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_lambert_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_lambert_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <logdepthbuf_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\t#include <logdepthbuf_fragment>\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}"},qr={common:{diffuse:{value:new Oi(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new je},alphaMap:{value:null},alphaMapTransform:{value:new je},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new je}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new je}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new je}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new je},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new je},normalScale:{value:new We(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new je},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new je}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new je}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new je}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Oi(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Oi(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new je}},sprite:{diffuse:{value:new Oi(16777215)},opacity:{value:1},center:{value:new We(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new je},alphaMap:{value:null},alphaTest:{value:0}}},Xr={basic:{uniforms:Tr([qr.common,qr.specularmap,qr.envmap,qr.aomap,qr.lightmap,qr.fog]),vertexShader:jr.meshbasic_vert,fragmentShader:jr.meshbasic_frag},lambert:{uniforms:Tr([qr.common,qr.specularmap,qr.envmap,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)}}]),vertexShader:jr.meshlambert_vert,fragmentShader:jr.meshlambert_frag},phong:{uniforms:Tr([qr.common,qr.specularmap,qr.envmap,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)},specular:{value:new Oi(1118481)},shininess:{value:30}}]),vertexShader:jr.meshphong_vert,fragmentShader:jr.meshphong_frag},standard:{uniforms:Tr([qr.common,qr.envmap,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.roughnessmap,qr.metalnessmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:jr.meshphysical_vert,fragmentShader:jr.meshphysical_frag},toon:{uniforms:Tr([qr.common,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.gradientmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)}}]),vertexShader:jr.meshtoon_vert,fragmentShader:jr.meshtoon_frag},matcap:{uniforms:Tr([qr.common,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.fog,{matcap:{value:null}}]),vertexShader:jr.meshmatcap_vert,fragmentShader:jr.meshmatcap_frag},points:{uniforms:Tr([qr.points,qr.fog]),vertexShader:jr.points_vert,fragmentShader:jr.points_frag},dashed:{uniforms:Tr([qr.common,qr.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:jr.linedashed_vert,fragmentShader:jr.linedashed_frag},depth:{uniforms:Tr([qr.common,qr.displacementmap]),vertexShader:jr.depth_vert,fragmentShader:jr.depth_frag},normal:{uniforms:Tr([qr.common,qr.bumpmap,qr.normalmap,qr.displacementmap,{opacity:{value:1}}]),vertexShader:jr.meshnormal_vert,fragmentShader:jr.meshnormal_frag},sprite:{uniforms:Tr([qr.sprite,qr.fog]),vertexShader:jr.sprite_vert,fragmentShader:jr.sprite_frag},background:{uniforms:{uvTransform:{value:new je},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:jr.background_vert,fragmentShader:jr.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:jr.backgroundCube_vert,fragmentShader:jr.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:jr.cube_vert,fragmentShader:jr.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:jr.equirect_vert,fragmentShader:jr.equirect_frag},distanceRGBA:{uniforms:Tr([qr.common,qr.displacementmap,{referencePosition:{value:new gn},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:jr.distanceRGBA_vert,fragmentShader:jr.distanceRGBA_frag},shadow:{uniforms:Tr([qr.lights,qr.fog,{color:{value:new Oi(0)},opacity:{value:1}}]),vertexShader:jr.shadow_vert,fragmentShader:jr.shadow_frag}};Xr.physical={uniforms:Tr([Xr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new je},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new je},clearcoatNormalScale:{value:new We(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new je},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new je},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new je},sheen:{value:0},sheenColor:{value:new Oi(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new je},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new je},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new je},transmissionSamplerSize:{value:new We},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new je},attenuationDistance:{value:0},attenuationColor:{value:new Oi(0)},specularColor:{value:new Oi(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new je},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new je}}]),vertexShader:jr.meshphysical_vert,fragmentShader:jr.meshphysical_frag};const Yr={r:0,b:0,g:0};function Zr(t,e,n,i,r,s,a){const o=new Oi(0);let h,u,d=!0===s?0:1,p=null,m=0,f=null;function g(e,n){e.getRGB(Yr,Er(t)),i.buffers.color.setClear(Yr.r,Yr.g,Yr.b,n,a)}return{getClearColor:function(){return o},setClearColor:function(t,e=1){o.set(t),d=e,g(o,d)},getClearAlpha:function(){return d},setClearAlpha:function(t){d=t,g(o,d)},render:function(i,s){let a=!1,v=!0===s.isScene?s.background:null;if(v&&v.isTexture){v=(s.backgroundBlurriness>0?n:e).get(v)}const _=t.xr,x=_.getSession&&_.getSession();x&&"additive"===x.environmentBlendMode&&(v=null),null===v?g(o,d):v&&v.isColor&&(g(v,1),a=!0),(t.autoClear||a)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),v&&(v.isCubeTexture||v.mapping===et)?(void 0===u&&(u=new Mr(new br(1,1,1),new Cr({name:"BackgroundCubeMaterial",uniforms:wr(Xr.backgroundCube.uniforms),vertexShader:Xr.backgroundCube.vertexShader,fragmentShader:Xr.backgroundCube.fragmentShader,side:c,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(u)),u.material.uniforms.envMap.value=v,u.material.uniforms.flipEnvMap.value=v.isCubeTexture&&!1===v.isRenderTargetTexture?-1:1,u.material.uniforms.backgroundBlurriness.value=s.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=s.backgroundIntensity,u.material.toneMapped=v.encoding!==_e,p===v&&m===v.version&&f===t.toneMapping||(u.material.needsUpdate=!0,p=v,m=v.version,f=t.toneMapping),u.layers.enableAll(),i.unshift(u,u.geometry,u.material,0,0,null)):v&&v.isTexture&&(void 0===h&&(h=new Mr(new Wr(2,2),new Cr({name:"BackgroundMaterial",uniforms:wr(Xr.background.uniforms),vertexShader:Xr.background.vertexShader,fragmentShader:Xr.background.fragmentShader,side:l,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),Object.defineProperty(h.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(h)),h.material.uniforms.t2D.value=v,h.material.uniforms.backgroundIntensity.value=s.backgroundIntensity,h.material.toneMapped=v.encoding!==_e,!0===v.matrixAutoUpdate&&v.updateMatrix(),h.material.uniforms.uvTransform.value.copy(v.matrix),p===v&&m===v.version&&f===t.toneMapping||(h.material.needsUpdate=!0,p=v,m=v.version,f=t.toneMapping),h.layers.enableAll(),i.unshift(h,h.geometry,h.material,0,0,null))}}}function Jr(t,e,n,i){const r=t.getParameter(34921),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),a=i.isWebGL2||null!==s,o={},l=p(null);let c=l,h=!1;function u(e){return i.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function d(e){return i.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function p(t){const e=[],n=[],i=[];for(let t=0;t<r;t++)e[t]=0,n[t]=0,i[t]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:e,enabledAttributes:n,attributeDivisors:i,object:t,attributes:{},index:null}}function m(){const t=c.newAttributes;for(let e=0,n=t.length;e<n;e++)t[e]=0}function f(t){g(t,0)}function g(n,r){const s=c.newAttributes,a=c.enabledAttributes,o=c.attributeDivisors;if(s[n]=1,0===a[n]&&(t.enableVertexAttribArray(n),a[n]=1),o[n]!==r){(i.isWebGL2?t:e.get("ANGLE_instanced_arrays"))[i.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,r),o[n]=r}}function v(){const e=c.newAttributes,n=c.enabledAttributes;for(let i=0,r=n.length;i<r;i++)n[i]!==e[i]&&(t.disableVertexAttribArray(i),n[i]=0)}function _(e,n,r,s,a,o){!0!==i.isWebGL2||5124!==r&&5125!==r?t.vertexAttribPointer(e,n,r,s,a,o):t.vertexAttribIPointer(e,n,r,a,o)}function x(){y(),h=!0,c!==l&&(c=l,u(c.object))}function y(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(r,l,d,x,y){let M=!1;if(a){const e=function(e,n,r){const a=!0===r.wireframe;let l=o[e.id];void 0===l&&(l={},o[e.id]=l);let c=l[n.id];void 0===c&&(c={},l[n.id]=c);let h=c[a];void 0===h&&(h=p(i.isWebGL2?t.createVertexArray():s.createVertexArrayOES()),c[a]=h);return h}(x,d,l);c!==e&&(c=e,u(c.object)),M=function(t,e,n,i){const r=c.attributes,s=e.attributes;let a=0;const o=n.getAttributes();for(const e in o){if(o[e].location>=0){const n=r[e];let i=s[e];if(void 0===i&&("instanceMatrix"===e&&t.instanceMatrix&&(i=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(i=t.instanceColor)),void 0===n)return!0;if(n.attribute!==i)return!0;if(i&&n.data!==i.data)return!0;a++}}return c.attributesNum!==a||c.index!==i}(r,x,d,y),M&&function(t,e,n,i){const r={},s=e.attributes;let a=0;const o=n.getAttributes();for(const e in o){if(o[e].location>=0){let n=s[e];void 0===n&&("instanceMatrix"===e&&t.instanceMatrix&&(n=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(n=t.instanceColor));const i={};i.attribute=n,n&&n.data&&(i.data=n.data),r[e]=i,a++}}c.attributes=r,c.attributesNum=a,c.index=i}(r,x,d,y)}else{const t=!0===l.wireframe;c.geometry===x.id&&c.program===d.id&&c.wireframe===t||(c.geometry=x.id,c.program=d.id,c.wireframe=t,M=!0)}null!==y&&n.update(y,34963),(M||h)&&(h=!1,function(r,s,a,o){if(!1===i.isWebGL2&&(r.isInstancedMesh||o.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;m();const l=o.attributes,c=a.getAttributes(),h=s.defaultAttributeValues;for(const e in c){const i=c[e];if(i.location>=0){let s=l[e];if(void 0===s&&("instanceMatrix"===e&&r.instanceMatrix&&(s=r.instanceMatrix),"instanceColor"===e&&r.instanceColor&&(s=r.instanceColor)),void 0!==s){const e=s.normalized,a=s.itemSize,l=n.get(s);if(void 0===l)continue;const c=l.buffer,h=l.type,u=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data,l=n.stride,d=s.offset;if(n.isInstancedInterleavedBuffer){for(let t=0;t<i.locationSize;t++)g(i.location+t,n.meshPerAttribute);!0!==r.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)}else for(let t=0;t<i.locationSize;t++)f(i.location+t);t.bindBuffer(34962,c);for(let t=0;t<i.locationSize;t++)_(i.location+t,a/i.locationSize,h,e,l*u,(d+a/i.locationSize*t)*u)}else{if(s.isInstancedBufferAttribute){for(let t=0;t<i.locationSize;t++)g(i.location+t,s.meshPerAttribute);!0!==r.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)}else for(let t=0;t<i.locationSize;t++)f(i.location+t);t.bindBuffer(34962,c);for(let t=0;t<i.locationSize;t++)_(i.location+t,a/i.locationSize,h,e,a*u,a/i.locationSize*t*u)}}else if(void 0!==h){const n=h[e];if(void 0!==n)switch(n.length){case 2:t.vertexAttrib2fv(i.location,n);break;case 3:t.vertexAttrib3fv(i.location,n);break;case 4:t.vertexAttrib4fv(i.location,n);break;default:t.vertexAttrib1fv(i.location,n);}}}}v()}(r,l,d,x),null!==y&&t.bindBuffer(34963,n.get(y).buffer))},reset:x,resetDefaultState:y,dispose:function(){x();for(const t in o){const e=o[t];for(const t in e){const n=e[t];for(const t in n)d(n[t].object),delete n[t];delete e[t]}delete o[t]}},releaseStatesOfGeometry:function(t){if(void 0===o[t.id])return;const e=o[t.id];for(const t in e){const n=e[t];for(const t in n)d(n[t].object),delete n[t];delete e[t]}delete o[t.id]},releaseStatesOfProgram:function(t){for(const e in o){const n=o[e];if(void 0===n[t.id])continue;const i=n[t.id];for(const t in i)d(i[t].object),delete i[t];delete n[t.id]}},initAttributes:m,enableAttribute:f,disableUnusedAttributes:v}}function Kr(t,e,n,i){const r=i.isWebGL2;let s;this.setMode=function(t){s=t},this.render=function(e,i){t.drawArrays(s,e,i),n.update(i,s,1)},this.renderInstances=function(i,a,o){if(0===o)return;let l,c;if(r)l=t,c="drawArraysInstanced";else if(l=e.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](s,i,a,o),n.update(a,s,o)}}function $r(t,e,n){let i;function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const s="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name;let a=void 0!==n.precision?n.precision:"highp";const o=r(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=s||e.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,h=t.getParameter(34930),u=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),m=t.getParameter(34921),f=t.getParameter(36347),g=t.getParameter(36348),v=t.getParameter(36349),_=u>0,x=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");i=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:_,floatFragmentTextures:x,floatVertexTextures:_&&x,maxSamples:s?t.getParameter(36183):0}}function Qr(t){const e=this;let n=null,i=0,r=!1,s=!1;const a=new Br,o=new je,l={value:null,needsUpdate:!1};function c(t,n,i,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=i+4*s,r=n.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length<e)&&(c=new Float32Array(e));for(let e=0,n=i;e!==s;++e,n+=4)a.copy(t[e]).applyMatrix4(r,o),a.normal.toArray(c,n),c[n+3]=a.constant}l.value=c,l.needsUpdate=!0}return e.numPlanes=s,e.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(t,e){const n=0!==t.length||e||0!==i||r;return r=e,i=t.length,n},this.beginShadows=function(){s=!0,c(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(t,e){n=c(t,e,0)},this.setState=function(a,o,h){const u=a.clippingPlanes,d=a.clipIntersection,p=a.clipShadows,m=t.get(a);if(!r||null===u||0===u.length||s&&!p)s?c(null):function(){l.value!==n&&(l.value=n,l.needsUpdate=i>0);e.numPlanes=i,e.numIntersection=0}();else{const t=s?0:i,e=4*t;let r=m.clippingState||null;l.value=r,r=c(u,o,e,h);for(let t=0;t!==e;++t)r[t]=n[t];m.clippingState=r,this.numIntersection=d?this.numPlanes:0,this.numPlanes+=t}}}function ts(t){let e=new WeakMap;function n(t,e){return e===Q?t.mapping=K:e===tt&&(t.mapping=$),t}function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture&&!1===r.isRenderTargetTexture){const s=r.mapping;if(s===Q||s===tt){if(e.has(r)){return n(e.get(r).texture,r.mapping)}{const s=r.image;if(s&&s.height>0){const a=new Ur(s.height/2);return a.fromEquirectangularTexture(t,r),e.set(r,a),r.addEventListener("dispose",i),n(a.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}class es extends Lr{constructor(t=-1,e=1,n=1,i=-1,r=.1,s=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,r,s){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-t,s=n+t,a=i+e,o=i-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,s=r+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}const ns=4,is=[.125,.215,.35,.446,.526,.582],rs=20,ss=new es,as=new Oi;let os=null;const ls=(1+Math.sqrt(5))/2,cs=1/ls,hs=[new gn(1,1,1),new gn(-1,1,1),new gn(1,1,-1),new gn(-1,1,-1),new gn(0,ls,cs),new gn(0,ls,-cs),new gn(cs,0,ls),new gn(-cs,0,ls),new gn(ls,cs,0),new gn(-ls,cs,0)];class us{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){os=this._renderer.getRenderTarget(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(t,n,i,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=fs(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=ms(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let t=0;t<this._lodPlanes.length;t++)this._lodPlanes[t].dispose()}_cleanup(t){this._renderer.setRenderTarget(os),t.scissorTest=!1,ps(t,0,0,t.width,t.height)}_fromTexture(t,e){t.mapping===K||t.mapping===$?this._setSize(0===t.image.length?16:t.image[0].width||t.image[0].image.width):this._setSize(t.image.width/4),os=this._renderer.getRenderTarget();const n=e||this._allocateTargets();return this._textureToCubeUV(t,n),this._applyPMREM(n),this._cleanup(n),n}_allocateTargets(){const t=3*Math.max(this._cubeSize,112),e=4*this._cubeSize,n={magFilter:lt,minFilter:lt,generateMipmaps:!1,type:_t,format:bt,encoding:ve,depthBuffer:!1},i=ds(t,e,n);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==t||this._pingPongRenderTarget.height!==e){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=ds(t,e,n);const{_lodMax:i}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(t){const e=[],n=[],i=[];let r=t;const s=t-ns+1+is.length;for(let a=0;a<s;a++){const s=Math.pow(2,r);n.push(s);let o=1/s;a>t-ns?o=is[a-t+ns-1]:0===a&&(o=0),i.push(o);const l=1/(s-2),c=-l,h=1+l,u=[c,c,h,c,h,h,c,c,h,h,c,h],d=6,p=6,m=3,f=2,g=1,v=new Float32Array(m*p*d),_=new Float32Array(f*p*d),x=new Float32Array(g*p*d);for(let t=0;t<d;t++){const e=t%3*2/3-1,n=t>2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];v.set(i,m*p*t),_.set(u,f*p*t);const r=[t,t,t,t,t,t];x.set(r,g*p*t)}const y=new ir;y.setAttribute("position",new qi(v,m)),y.setAttribute("uv",new qi(_,f)),y.setAttribute("faceIndex",new qi(x,g)),e.push(y),r>ns&&r--}return{lodPlanes:e,sizeLods:n,sigmas:i}}(i)),this._blurMaterial=function(t,e,n){const i=new Float32Array(rs),r=new gn(0,1,0),s=new Cr({name:"SphericalGaussianBlur",defines:{n:rs,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:gs(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:u,depthTest:!1,depthWrite:!1});return s}(i,t,e)}return i}_compileMaterial(t){const e=new Mr(this._lodPlanes[0],t);this._renderer.compile(e,ss)}_sceneToCubeUV(t,e,n,i){const r=new Pr(90,1,e,n),s=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],o=this._renderer,l=o.autoClear,h=o.toneMapping;o.getClearColor(as),o.toneMapping=W,o.autoClear=!1;const u=new Bi({name:"PMREM.Background",side:c,depthWrite:!1,depthTest:!1}),d=new Mr(new br(),u);let p=!1;const m=t.background;m?m.isColor&&(u.color.copy(m),t.background=null,p=!0):(u.color.copy(as),p=!0);for(let e=0;e<6;e++){const n=e%3;0===n?(r.up.set(0,s[e],0),r.lookAt(a[e],0,0)):1===n?(r.up.set(0,0,s[e]),r.lookAt(0,a[e],0)):(r.up.set(0,s[e],0),r.lookAt(0,0,a[e]));const l=this._cubeSize;ps(i,n*l,e>2?l:0,l,l),o.setRenderTarget(i),p&&o.render(d,r),o.render(t,r)}d.geometry.dispose(),d.material.dispose(),o.toneMapping=h,o.autoClear=l,t.background=m}_textureToCubeUV(t,e){const n=this._renderer,i=t.mapping===K||t.mapping===$;i?(null===this._cubemapMaterial&&(this._cubemapMaterial=fs()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===t.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=ms());const r=i?this._cubemapMaterial:this._equirectMaterial,s=new Mr(this._lodPlanes[0],r);r.uniforms.envMap.value=t;const a=this._cubeSize;ps(e,0,0,3*a,2*a),n.setRenderTarget(e),n.render(s,ss)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;e<this._lodPlanes.length;e++){const n=Math.sqrt(this._sigmas[e]*this._sigmas[e]-this._sigmas[e-1]*this._sigmas[e-1]),i=hs[(e-1)%hs.length];this._blur(t,e-1,e,n,i)}e.autoClear=n}_blur(t,e,n,i,r){const s=this._pingPongRenderTarget;this._halfBlur(t,s,e,n,i,"latitudinal",r),this._halfBlur(s,t,n,n,i,"longitudinal",r)}_halfBlur(t,e,n,i,r,s,a){const o=this._renderer,l=this._blurMaterial;"latitudinal"!==s&&"longitudinal"!==s&&console.error("blur direction must be either latitudinal or longitudinal!");const c=new Mr(this._lodPlanes[i],l),h=l.uniforms,u=this._sizeLods[n]-1,d=isFinite(r)?Math.PI/(2*u):2*Math.PI/(2*rs-1),p=r/d,m=isFinite(r)?1+Math.floor(3*p):rs;m>rs&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${rs}`);const f=[];let g=0;for(let t=0;t<rs;++t){const e=t/p,n=Math.exp(-e*e/2);f.push(n),0===t?g+=n:t<m&&(g+=2*n)}for(let t=0;t<f.length;t++)f[t]=f[t]/g;h.envMap.value=t.texture,h.samples.value=m,h.weights.value=f,h.latitudinal.value="latitudinal"===s,a&&(h.poleAxis.value=a);const{_lodMax:v}=this;h.dTheta.value=d,h.mipInt.value=v-n;const _=this._sizeLods[i];ps(e,3*_*(i>v-ns?i-v+ns:0),4*(this._cubeSize-_),3*_,2*_),o.setRenderTarget(e),o.render(c,ss)}}function ds(t,e,n){const i=new dn(t,e,n);return i.texture.mapping=et,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function ps(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function ms(){return new Cr({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:gs(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:u,depthTest:!1,depthWrite:!1})}function fs(){return new Cr({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:gs(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:u,depthTest:!1,depthWrite:!1})}function gs(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function vs(t){let e=new WeakMap,n=null;function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture){const s=r.mapping,a=s===Q||s===tt,o=s===K||s===$;if(a||o){if(r.isRenderTargetTexture&&!0===r.needsPMREMUpdate){r.needsPMREMUpdate=!1;let i=e.get(r);return null===n&&(n=new us(t)),i=a?n.fromEquirectangular(r,i):n.fromCubemap(r,i),e.set(r,i),i.texture}if(e.has(r))return e.get(r).texture;{const s=r.image;if(a&&s&&s.height>0||o&&s&&function(t){let e=0;const n=6;for(let i=0;i<n;i++)void 0!==t[i]&&e++;return e===n}(s)){null===n&&(n=new us(t));const s=a?n.fromEquirectangular(r):n.fromCubemap(r);return e.set(r,s),r.addEventListener("dispose",i),s.texture}return null}}}return r},dispose:function(){e=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function _s(t){const e={};function n(n){if(void 0!==e[n])return e[n];let i;switch(n){case"WEBGL_depth_texture":i=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=t.getExtension(n);}return e[n]=i,i}return{has:function(t){return null!==n(t)},init:function(t){t.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(t){const e=n(t);return null===e&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e}}}function xs(t,e,n,i){const r={},s=new WeakMap;function a(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const t in o.attributes)e.remove(o.attributes[t]);o.removeEventListener("dispose",a),delete r[o.id];const l=s.get(o);l&&(e.remove(l),s.delete(o)),i.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(t){const n=[],i=t.index,r=t.attributes.position;let a=0;if(null!==i){const t=i.array;a=i.version;for(let e=0,i=t.length;e<i;e+=3){const i=t[e+0],r=t[e+1],s=t[e+2];n.push(i,r,r,s,s,i)}}else{const t=r.array;a=r.version;for(let e=0,i=t.length/3-1;e<i;e+=3){const t=e+0,i=e+1,r=e+2;n.push(t,i,i,r,r,t)}}const o=new(Xe(n)?Yi:Xi)(n,1);o.version=a;const l=s.get(t);l&&e.remove(l),s.set(t,o)}return{get:function(t,e){return!0===r[e.id]||(e.addEventListener("dispose",a),r[e.id]=!0,n.memory.geometries++),e},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const i=t.morphAttributes;for(const t in i){const n=i[t];for(let t=0,i=n.length;t<i;t++)e.update(n[t],34962)}},getWireframeAttribute:function(t){const e=s.get(t);if(e){const n=t.index;null!==n&&e.version<n.version&&o(t)}else o(t);return s.get(t)}}}function ys(t,e,n,i){const r=i.isWebGL2;let s,a,o;this.setMode=function(t){s=t},this.setIndex=function(t){a=t.type,o=t.bytesPerElement},this.render=function(e,i){t.drawElements(s,i,a,e*o),n.update(i,s,1)},this.renderInstances=function(i,l,c){if(0===c)return;let h,u;if(r)h=t,u="drawElementsInstanced";else if(h=e.get("ANGLE_instanced_arrays"),u="drawElementsInstancedANGLE",null===h)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[u](s,l,a,i*o,c),n.update(l,s,c)}}function Ms(t){const e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.frame++,e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(t,n,i){switch(e.calls++,n){case 4:e.triangles+=i*(t/3);break;case 1:e.lines+=i*(t/2);break;case 3:e.lines+=i*(t-1);break;case 2:e.lines+=i*t;break;case 0:e.points+=i*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n);}}}}function Ss(t,e){return t[0]-e[0]}function bs(t,e){return Math.abs(e[1])-Math.abs(t[1])}function ws(t,e,n){const i={},r=new Float32Array(8),s=new WeakMap,a=new un,o=[];for(let t=0;t<8;t++)o[t]=[t,0];return{update:function(l,c,h){const u=l.morphTargetInfluences;if(!0===e.isWebGL2){const d=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,p=void 0!==d?d.length:0;let m=s.get(c);if(void 0===m||m.count!==p){void 0!==m&&m.texture.dispose();const v=void 0!==c.morphAttributes.position,_=void 0!==c.morphAttributes.normal,x=void 0!==c.morphAttributes.color,y=c.morphAttributes.position||[],M=c.morphAttributes.normal||[],S=c.morphAttributes.color||[];let b=0;!0===v&&(b=1),!0===_&&(b=2),!0===x&&(b=3);let w=c.attributes.position.count*b,T=1;w>e.maxTextureSize&&(T=Math.ceil(w/e.maxTextureSize),w=e.maxTextureSize);const E=new Float32Array(w*T*4*p),A=new pn(E,w,T,p);A.type=vt,A.needsUpdate=!0;const C=4*b;for(let P=0;P<p;P++){const R=y[P],I=M[P],D=S[P],U=w*T*4*P;for(let N=0;N<R.count;N++){const O=N*C;!0===v&&(a.fromBufferAttribute(R,N),E[U+O+0]=a.x,E[U+O+1]=a.y,E[U+O+2]=a.z,E[U+O+3]=0),!0===_&&(a.fromBufferAttribute(I,N),E[U+O+4]=a.x,E[U+O+5]=a.y,E[U+O+6]=a.z,E[U+O+7]=0),!0===x&&(a.fromBufferAttribute(D,N),E[U+O+8]=a.x,E[U+O+9]=a.y,E[U+O+10]=a.z,E[U+O+11]=4===D.itemSize?a.w:1)}}function L(){A.dispose(),s.delete(c),c.removeEventListener("dispose",L)}m={count:p,texture:A,size:new We(w,T)},s.set(c,m),c.addEventListener("dispose",L)}let f=0;for(let z=0;z<u.length;z++)f+=u[z];const g=c.morphTargetsRelative?1:1-f;h.getUniforms().setValue(t,"morphTargetBaseInfluence",g),h.getUniforms().setValue(t,"morphTargetInfluences",u),h.getUniforms().setValue(t,"morphTargetsTexture",m.texture,n),h.getUniforms().setValue(t,"morphTargetsTextureSize",m.size)}else{const B=void 0===u?0:u.length;let F=i[c.id];if(void 0===F||F.length!==B){F=[];for(let W=0;W<B;W++)F[W]=[W,0];i[c.id]=F}for(let j=0;j<B;j++){const q=F[j];q[0]=j,q[1]=u[j]}F.sort(bs);for(let X=0;X<8;X++)X<B&&F[X][1]?(o[X][0]=F[X][0],o[X][1]=F[X][1]):(o[X][0]=Number.MAX_SAFE_INTEGER,o[X][1]=0);o.sort(Ss);const k=c.morphAttributes.position,G=c.morphAttributes.normal;let V=0;for(let Y=0;Y<8;Y++){const Z=o[Y],J=Z[0],K=Z[1];J!==Number.MAX_SAFE_INTEGER&&K?(k&&c.getAttribute("morphTarget"+Y)!==k[J]&&c.setAttribute("morphTarget"+Y,k[J]),G&&c.getAttribute("morphNormal"+Y)!==G[J]&&c.setAttribute("morphNormal"+Y,G[J]),r[Y]=K,V+=K):(k&&!0===c.hasAttribute("morphTarget"+Y)&&c.deleteAttribute("morphTarget"+Y),G&&!0===c.hasAttribute("morphNormal"+Y)&&c.deleteAttribute("morphNormal"+Y),r[Y]=0)}const H=c.morphTargetsRelative?1:1-V;h.getUniforms().setValue(t,"morphTargetBaseInfluence",H),h.getUniforms().setValue(t,"morphTargetInfluences",r)}}}}function Ts(t,e,n,i){let r=new WeakMap;function s(t){const e=t.target;e.removeEventListener("dispose",s),n.remove(e.instanceMatrix),null!==e.instanceColor&&n.remove(e.instanceColor)}return{update:function(t){const a=i.render.frame,o=t.geometry,l=e.get(t,o);return r.get(l)!==a&&(e.update(l),r.set(l,a)),t.isInstancedMesh&&(!1===t.hasEventListener("dispose",s)&&t.addEventListener("dispose",s),n.update(t.instanceMatrix,34962),null!==t.instanceColor&&n.update(t.instanceColor,34962)),l},dispose:function(){r=new WeakMap}}}const Es=new hn,As=new pn,Cs=new mn,Ls=new Dr,Ps=[],Rs=[],Is=new Float32Array(16),Ds=new Float32Array(9),Us=new Float32Array(4);function Ns(t,e,n){const i=t[0];if(i<=0||i>0)return t;const r=e*n;let s=Ps[r];if(void 0===s&&(s=new Float32Array(r),Ps[r]=s),0!==e){i.toArray(s,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(s,r)}return s}function Os(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n<i;n++)if(t[n]!==e[n])return!1;return!0}function zs(t,e){for(let n=0,i=e.length;n<i;n++)t[n]=e[n]}function Bs(t,e){let n=Rs[e];void 0===n&&(n=new Int32Array(e),Rs[e]=n);for(let i=0;i!==e;++i)n[i]=t.allocateTextureUnit();return n}function Fs(t,e){const n=this.cache;n[0]!==e&&(t.uniform1f(this.addr,e),n[0]=e)}function ks(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2f(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Os(n,e))return;t.uniform2fv(this.addr,e),zs(n,e)}}function Gs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3f(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else if(void 0!==e.r)n[0]===e.r&&n[1]===e.g&&n[2]===e.b||(t.uniform3f(this.addr,e.r,e.g,e.b),n[0]=e.r,n[1]=e.g,n[2]=e.b);else{if(Os(n,e))return;t.uniform3fv(this.addr,e),zs(n,e)}}function Vs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4f(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Os(n,e))return;t.uniform4fv(this.addr,e),zs(n,e)}}function Hs(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Os(n,e))return;t.uniformMatrix2fv(this.addr,!1,e),zs(n,e)}else{if(Os(n,i))return;Us.set(i),t.uniformMatrix2fv(this.addr,!1,Us),zs(n,i)}}function Ws(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Os(n,e))return;t.uniformMatrix3fv(this.addr,!1,e),zs(n,e)}else{if(Os(n,i))return;Ds.set(i),t.uniformMatrix3fv(this.addr,!1,Ds),zs(n,i)}}function js(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Os(n,e))return;t.uniformMatrix4fv(this.addr,!1,e),zs(n,e)}else{if(Os(n,i))return;Is.set(i),t.uniformMatrix4fv(this.addr,!1,Is),zs(n,i)}}function qs(t,e){const n=this.cache;n[0]!==e&&(t.uniform1i(this.addr,e),n[0]=e)}function Xs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2i(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Os(n,e))return;t.uniform2iv(this.addr,e),zs(n,e)}}function Ys(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3i(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else{if(Os(n,e))return;t.uniform3iv(this.addr,e),zs(n,e)}}function Zs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4i(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Os(n,e))return;t.uniform4iv(this.addr,e),zs(n,e)}}function Js(t,e){const n=this.cache;n[0]!==e&&(t.uniform1ui(this.addr,e),n[0]=e)}function Ks(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2ui(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Os(n,e))return;t.uniform2uiv(this.addr,e),zs(n,e)}}function $s(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3ui(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else{if(Os(n,e))return;t.uniform3uiv(this.addr,e),zs(n,e)}}function Qs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4ui(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Os(n,e))return;t.uniform4uiv(this.addr,e),zs(n,e)}}function ta(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture2D(e||Es,r)}function ea(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture3D(e||Cs,r)}function na(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTextureCube(e||Ls,r)}function ia(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture2DArray(e||As,r)}function ra(t,e){t.uniform1fv(this.addr,e)}function sa(t,e){const n=Ns(e,this.size,2);t.uniform2fv(this.addr,n)}function aa(t,e){const n=Ns(e,this.size,3);t.uniform3fv(this.addr,n)}function oa(t,e){const n=Ns(e,this.size,4);t.uniform4fv(this.addr,n)}function la(t,e){const n=Ns(e,this.size,4);t.uniformMatrix2fv(this.addr,!1,n)}function ca(t,e){const n=Ns(e,this.size,9);t.uniformMatrix3fv(this.addr,!1,n)}function ha(t,e){const n=Ns(e,this.size,16);t.uniformMatrix4fv(this.addr,!1,n)}function ua(t,e){t.uniform1iv(this.addr,e)}function da(t,e){t.uniform2iv(this.addr,e)}function pa(t,e){t.uniform3iv(this.addr,e)}function ma(t,e){t.uniform4iv(this.addr,e)}function fa(t,e){t.uniform1uiv(this.addr,e)}function ga(t,e){t.uniform2uiv(this.addr,e)}function va(t,e){t.uniform3uiv(this.addr,e)}function _a(t,e){t.uniform4uiv(this.addr,e)}function xa(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTexture2D(e[t]||Es,s[t])}function ya(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTexture3D(e[t]||Cs,s[t])}function Ma(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTextureCube(e[t]||Ls,s[t])}function Sa(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTexture2DArray(e[t]||As,s[t])}class ba{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.setValue=function(t){switch(t){case 5126:return Fs;case 35664:return ks;case 35665:return Gs;case 35666:return Vs;case 35674:return Hs;case 35675:return Ws;case 35676:return js;case 5124:case 35670:return qs;case 35667:case 35671:return Xs;case 35668:case 35672:return Ys;case 35669:case 35673:return Zs;case 5125:return Js;case 36294:return Ks;case 36295:return $s;case 36296:return Qs;case 35678:case 36198:case 36298:case 36306:case 35682:return ta;case 35679:case 36299:case 36307:return ea;case 35680:case 36300:case 36308:case 36293:return na;case 36289:case 36303:case 36311:case 36292:return ia;}}(e.type)}}class wa{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.size=e.size,this.setValue=function(t){switch(t){case 5126:return ra;case 35664:return sa;case 35665:return aa;case 35666:return oa;case 35674:return la;case 35675:return ca;case 35676:return ha;case 5124:case 35670:return ua;case 35667:case 35671:return da;case 35668:case 35672:return pa;case 35669:case 35673:return ma;case 5125:return fa;case 36294:return ga;case 36295:return va;case 36296:return _a;case 35678:case 36198:case 36298:case 36306:case 35682:return xa;case 35679:case 36299:case 36307:return ya;case 35680:case 36300:case 36308:case 36293:return Ma;case 36289:case 36303:case 36311:case 36292:return Sa;}}(e.type)}}class Ta{constructor(t){this.id=t,this.seq=[],this.map={}}setValue(t,e,n){const i=this.seq;for(let r=0,s=i.length;r!==s;++r){const s=i[r];s.setValue(t,e[s.id],n)}}}const Ea=/(\w+)(\])?(\[|\.)?/g;function Aa(t,e){t.seq.push(e),t.map[e.id]=e}function Ca(t,e,n){const i=t.name,r=i.length;for(Ea.lastIndex=0;;){const s=Ea.exec(i),a=Ea.lastIndex;let o=s[1];const l="]"===s[2],c=s[3];if(l&&(o|=0),void 0===c||"["===c&&a+2===r){Aa(n,void 0===c?new ba(o,t,e):new wa(o,t,e));break}{let t=n.map[o];void 0===t&&(t=new Ta(o),Aa(n,t)),n=t}}}class La{constructor(t,e){this.seq=[],this.map={};const n=t.getProgramParameter(e,35718);for(let i=0;i<n;++i){const n=t.getActiveUniform(e,i);Ca(n,t.getUniformLocation(e,n.name),this)}}setValue(t,e,n,i){const r=this.map[e];void 0!==r&&r.setValue(t,n,i)}setOptional(t,e,n){const i=e[n];void 0!==i&&this.setValue(t,n,i)}static upload(t,e,n,i){for(let r=0,s=e.length;r!==s;++r){const s=e[r],a=n[s.id];!1!==a.needsUpdate&&s.setValue(t,a.value,i)}}static seqWithValue(t,e){const n=[];for(let i=0,r=t.length;i!==r;++i){const r=t[i];r.id in e&&n.push(r)}return n}}function Pa(t,e,n){const i=t.createShader(e);return t.shaderSource(i,n),t.compileShader(i),i}let Ra=0;function Ia(t,e,n){const i=t.getShaderParameter(e,35713),r=t.getShaderInfoLog(e).trim();if(i&&""===r)return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const i=parseInt(s[1]);return n.toUpperCase()+"\n\n"+r+"\n\n"+function(t,e){const n=t.split("\n"),i=[],r=Math.max(e-6,0),s=Math.min(e+6,n.length);for(let t=r;t<s;t++){const r=t+1;i.push(`${r===e?">":" "} ${r}: ${n[t]}`)}return i.join("\n")}(t.getShaderSource(e),i)}return r}function Da(t,e){const n=function(t){switch(t){case ve:return["Linear","( value )"];case _e:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",t),["Linear","( value )"];}}(e);return"vec4 "+t+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function Ua(t,e){let n;switch(e){case j:n="Linear";break;case q:n="Reinhard";break;case X:n="OptimizedCineon";break;case Y:n="ACESFilmic";break;case Z:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear";}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function Na(t){return""!==t}function Oa(t,e){const n=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function za(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const Ba=/^[ \t]*#include +<([\w\d./]+)>/gm;function Fa(t){return t.replace(Ba,ka)}function ka(t,e){const n=jr[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return Fa(n)}const Ga=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Va(t){return t.replace(Ga,Ha)}function Ha(t,e,n,i){let r="";for(let t=parseInt(e);t<parseInt(n);t++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+t+" ]").replace(/UNROLLED_LOOP_INDEX/g,t);return r}function Wa(t){let e="precision "+t.precision+" float;\nprecision "+t.precision+" int;";return"highp"===t.precision?e+="\n#define HIGH_PRECISION":"mediump"===t.precision?e+="\n#define MEDIUM_PRECISION":"lowp"===t.precision&&(e+="\n#define LOW_PRECISION"),e}function ja(t,e,n,i){const r=t.getContext(),l=n.defines;let c=n.vertexShader,h=n.fragmentShader;const u=function(t){let e="SHADOWMAP_TYPE_BASIC";return t.shadowMapType===s?e="SHADOWMAP_TYPE_PCF":t.shadowMapType===a?e="SHADOWMAP_TYPE_PCF_SOFT":t.shadowMapType===o&&(e="SHADOWMAP_TYPE_VSM"),e}(n),d=function(t){let e="ENVMAP_TYPE_CUBE";if(t.envMap)switch(t.envMapMode){case K:case $:e="ENVMAP_TYPE_CUBE";break;case et:e="ENVMAP_TYPE_CUBE_UV";}return e}(n),p=function(t){let e="ENVMAP_MODE_REFLECTION";t.envMap&&t.envMapMode===$&&(e="ENVMAP_MODE_REFRACTION");return e}(n),m=function(t){let e="ENVMAP_BLENDING_NONE";if(t.envMap)switch(t.combine){case G:e="ENVMAP_BLENDING_MULTIPLY";break;case V:e="ENVMAP_BLENDING_MIX";break;case H:e="ENVMAP_BLENDING_ADD";}return e}(n),f=function(t){const e=t.envMapCubeUVHeight;if(null===e)return null;const n=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,n),112)),texelHeight:i,maxMip:n}}(n),g=n.isWebGL2?"":function(t){return[t.extensionDerivatives||t.envMapCubeUVHeight||t.bumpMap||t.normalMapTangentSpace||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Na).join("\n")}(n),v=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push("#define "+n+" "+i)}return e.join("\n")}(l),_=r.createProgram();let x,y,M=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(x=[v].filter(Na).join("\n"),x.length>0&&(x+="\n"),y=[g,v].filter(Na).join("\n"),y.length>0&&(y+="\n")):(x=[Wa(n),"#define SHADER_NAME "+n.shaderName,v,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+p:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs2?"#define USE_UV2":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Na).join("\n"),y=[g,Wa(n),"#define SHADER_NAME "+n.shaderName,v,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.envMap?"#define "+p:"",n.envMap?"#define "+m:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs2?"#define USE_UV2":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==W?"#define TONE_MAPPING":"",n.toneMapping!==W?jr.tonemapping_pars_fragment:"",n.toneMapping!==W?Ua("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",jr.encodings_pars_fragment,Da("linearToOutputTexel",n.outputEncoding),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Na).join("\n")),c=Fa(c),c=Oa(c,n),c=za(c,n),h=Fa(h),h=Oa(h,n),h=za(h,n),c=Va(c),h=Va(h),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(M="#version 300 es\n",x=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+x,y=["#define varying in",n.glslVersion===Ae?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===Ae?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+y);const S=M+y+h,b=Pa(r,35633,M+x+c),w=Pa(r,35632,S);if(r.attachShader(_,b),r.attachShader(_,w),void 0!==n.index0AttributeName?r.bindAttribLocation(_,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(_,0,"position"),r.linkProgram(_),t.debug.checkShaderErrors){const e=r.getProgramInfoLog(_).trim(),n=r.getShaderInfoLog(b).trim(),i=r.getShaderInfoLog(w).trim();let s=!0,a=!0;if(!1===r.getProgramParameter(_,35714)){if(s=!1,"function"==typeof t.debug.onShaderError)t.debug.onShaderError(r,_,b,w);else{const t=Ia(r,b,"vertex"),n=Ia(r,w,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(_,35715)+"\n\nProgram Info Log: "+e+"\n"+t+"\n"+n)}}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):""!==n&&""!==i||(a=!1);a&&(this.diagnostics={runnable:s,programLog:e,vertexShader:{log:n,prefix:x},fragmentShader:{log:i,prefix:y}})}let T,E;return r.deleteShader(b),r.deleteShader(w),this.getUniforms=function(){return void 0===T&&(T=new La(r,_)),T},this.getAttributes=function(){return void 0===E&&(E=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r<i;r++){const i=t.getActiveAttrib(e,r),s=i.name;let a=1;35674===i.type&&(a=2),35675===i.type&&(a=3),35676===i.type&&(a=4),n[s]={type:i.type,location:t.getAttribLocation(e,s),locationSize:a}}return n}(r,_)),E},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(_),this.program=void 0},this.name=n.shaderName,this.id=Ra++,this.cacheKey=e,this.usedTimes=1,this.program=_,this.vertexShader=b,this.fragmentShader=w,this}let qa=0;class Xa{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(t){const e=t.vertexShader,n=t.fragmentShader,i=this._getShaderStage(e),r=this._getShaderStage(n),s=this._getShaderCacheForMaterial(t);return!1===s.has(i)&&(s.add(i),i.usedTimes++),!1===s.has(r)&&(s.add(r),r.usedTimes++),this}remove(t){const e=this.materialCache.get(t);for(const t of e)t.usedTimes--,0===t.usedTimes&&this.shaderCache.delete(t.code);return this.materialCache.delete(t),this}getVertexShaderID(t){return this._getShaderStage(t.vertexShader).id}getFragmentShaderID(t){return this._getShaderStage(t.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(t){const e=this.materialCache;let n=e.get(t);return void 0===n&&(n=new Set,e.set(t,n)),n}_getShaderStage(t){const e=this.shaderCache;let n=e.get(t);return void 0===n&&(n=new Ya(t),e.set(t,n)),n}}class Ya{constructor(t){this.id=qa++,this.code=t,this.usedTimes=0}}function Za(t,e,n,i,r,s,a){const o=new ii,l=new Xa,u=[],p=r.isWebGL2,m=r.logarithmicDepthBuffer,f=r.vertexTextures;let g=r.precision;const v={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function _(t){return 1===t?"uv2":"uv"}return{getParameters:function(s,o,u,x,y){const M=x.fog,S=y.geometry,b=s.isMeshStandardMaterial?x.environment:null,w=(s.isMeshStandardMaterial?n:e).get(s.envMap||b),T=w&&w.mapping===et?w.image.height:null,E=v[s.type];null!==s.precision&&(g=r.getMaxPrecision(s.precision),g!==s.precision&&console.warn("THREE.WebGLProgram.getParameters:",s.precision,"not supported, using",g,"instead."));const A=S.morphAttributes.position||S.morphAttributes.normal||S.morphAttributes.color,C=void 0!==A?A.length:0;let L,P,R,I,D=0;if(void 0!==S.morphAttributes.position&&(D=1),void 0!==S.morphAttributes.normal&&(D=2),void 0!==S.morphAttributes.color&&(D=3),E){const t=Xr[E];L=t.vertexShader,P=t.fragmentShader}else L=s.vertexShader,P=s.fragmentShader,l.update(s),R=l.getVertexShaderID(s),I=l.getFragmentShaderID(s);const U=t.getRenderTarget(),N=!0===y.isInstancedMesh,O=!!s.map,z=!!s.matcap,B=!!w,F=!!s.aoMap,k=!!s.lightMap,G=!!s.bumpMap,V=!!s.normalMap,H=!!s.displacementMap,j=!!s.emissiveMap,q=!!s.metalnessMap,X=!!s.roughnessMap,Y=s.clearcoat>0,Z=s.iridescence>0,J=s.sheen>0,K=s.transmission>0,$=Y&&!!s.clearcoatMap,Q=Y&&!!s.clearcoatNormalMap,tt=Y&&!!s.clearcoatRoughnessMap,nt=Z&&!!s.iridescenceMap,it=Z&&!!s.iridescenceThicknessMap,rt=J&&!!s.sheenColorMap,st=J&&!!s.sheenRoughnessMap,at=!!s.specularMap,ot=!!s.specularColorMap,lt=!!s.specularIntensityMap,ct=K&&!!s.transmissionMap,ht=K&&!!s.thicknessMap,ut=!!s.gradientMap,dt=!!s.alphaMap,pt=s.alphaTest>0,mt=!!s.extensions,ft=!!S.attributes.uv2;return{isWebGL2:p,shaderID:E,shaderName:s.type,vertexShader:L,fragmentShader:P,defines:s.defines,customVertexShaderID:R,customFragmentShaderID:I,isRawShaderMaterial:!0===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:g,instancing:N,instancingColor:N&&null!==y.instanceColor,supportsVertexTextures:f,outputEncoding:null===U?t.outputEncoding:!0===U.isXRRenderTarget?U.texture.encoding:ve,map:O,matcap:z,envMap:B,envMapMode:B&&w.mapping,envMapCubeUVHeight:T,aoMap:F,lightMap:k,bumpMap:G,normalMap:V,displacementMap:f&&H,emissiveMap:j,normalMapObjectSpace:V&&s.normalMapType===Me,normalMapTangentSpace:V&&s.normalMapType===ye,decodeVideoTexture:O&&!0===s.map.isVideoTexture&&s.map.encoding===_e,metalnessMap:q,roughnessMap:X,clearcoat:Y,clearcoatMap:$,clearcoatNormalMap:Q,clearcoatRoughnessMap:tt,iridescence:Z,iridescenceMap:nt,iridescenceThicknessMap:it,sheen:J,sheenColorMap:rt,sheenRoughnessMap:st,specularMap:at,specularColorMap:ot,specularIntensityMap:lt,transmission:K,transmissionMap:ct,thicknessMap:ht,gradientMap:ut,opaque:!1===s.transparent&&s.blending===d,alphaMap:dt,alphaTest:pt,combine:s.combine,mapUv:O&&_(s.map.channel),aoMapUv:F&&_(s.aoMap.channel),lightMapUv:k&&_(s.lightMap.channel),bumpMapUv:G&&_(s.bumpMap.channel),normalMapUv:V&&_(s.normalMap.channel),displacementMapUv:H&&_(s.displacementMap.channel),emissiveMapUv:j&&_(s.emissiveMap.channel),metalnessMapUv:q&&_(s.metalnessMap.channel),roughnessMapUv:X&&_(s.roughnessMap.channel),clearcoatMapUv:$&&_(s.clearcoatMap.channel),clearcoatNormalMapUv:Q&&_(s.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:tt&&_(s.clearcoatRoughnessMap.channel),iridescenceMapUv:nt&&_(s.iridescenceMap.channel),iridescenceThicknessMapUv:it&&_(s.iridescenceThicknessMap.channel),sheenColorMapUv:rt&&_(s.sheenColorMap.channel),sheenRoughnessMapUv:st&&_(s.sheenRoughnessMap.channel),specularMapUv:at&&_(s.specularMap.channel),specularColorMapUv:ot&&_(s.specularColorMap.channel),specularIntensityMapUv:lt&&_(s.specularIntensityMap.channel),transmissionMapUv:ct&&_(s.transmissionMap.channel),thicknessMapUv:ht&&_(s.thicknessMap.channel),alphaMapUv:dt&&_(s.alphaMap.channel),vertexTangents:V&&!!S.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:!0===s.vertexColors&&!!S.attributes.color&&4===S.attributes.color.itemSize,vertexUvs2:ft,pointsUvs:!0===y.isPoints&&!!S.attributes.uv&&(O||dt),fog:!!M,useFog:!0===s.fog,fogExp2:M&&M.isFogExp2,flatShading:!0===s.flatShading,sizeAttenuation:!0===s.sizeAttenuation,logarithmicDepthBuffer:m,skinning:!0===y.isSkinnedMesh,morphTargets:void 0!==S.morphAttributes.position,morphNormals:void 0!==S.morphAttributes.normal,morphColors:void 0!==S.morphAttributes.color,morphTargetsCount:C,morphTextureStride:D,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&u.length>0,shadowMapType:t.shadowMap.type,toneMapping:s.toneMapped?t.toneMapping:W,useLegacyLights:t.useLegacyLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:s.side===h,flipSided:s.side===c,useDepthPacking:s.depthPacking>=0,depthPacking:s.depthPacking||0,index0AttributeName:s.index0AttributeName,extensionDerivatives:mt&&!0===s.extensions.derivatives,extensionFragDepth:mt&&!0===s.extensions.fragDepth,extensionDrawBuffers:mt&&!0===s.extensions.drawBuffers,extensionShaderTextureLOD:mt&&!0===s.extensions.shaderTextureLOD,rendererExtensionFragDepth:p||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:p||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:p||i.has("EXT_shader_texture_lod"),customProgramCacheKey:s.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.customVertexShaderID),n.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(!function(t,e){t.push(e.precision),t.push(e.outputEncoding),t.push(e.envMapMode),t.push(e.envMapCubeUVHeight),t.push(e.mapUv),t.push(e.alphaMapUv),t.push(e.lightMapUv),t.push(e.aoMapUv),t.push(e.bumpMapUv),t.push(e.normalMapUv),t.push(e.displacementMapUv),t.push(e.emissiveMapUv),t.push(e.metalnessMapUv),t.push(e.roughnessMapUv),t.push(e.clearcoatMapUv),t.push(e.clearcoatNormalMapUv),t.push(e.clearcoatRoughnessMapUv),t.push(e.iridescenceMapUv),t.push(e.iridescenceThicknessMapUv),t.push(e.sheenColorMapUv),t.push(e.sheenRoughnessMapUv),t.push(e.specularMapUv),t.push(e.specularColorMapUv),t.push(e.specularIntensityMapUv),t.push(e.transmissionMapUv),t.push(e.thicknessMapUv),t.push(e.combine),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.morphTargetsCount),t.push(e.morphAttributeCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numSpotLightMaps),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.numSpotLightShadowsWithMaps),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.depthPacking)}(n,e),function(t,e){o.disableAll(),e.isWebGL2&&o.enable(0);e.supportsVertexTextures&&o.enable(1);e.instancing&&o.enable(2);e.instancingColor&&o.enable(3);e.matcap&&o.enable(4);e.envMap&&o.enable(5);e.normalMapObjectSpace&&o.enable(6);e.normalMapTangentSpace&&o.enable(7);e.clearcoat&&o.enable(8);e.iridescence&&o.enable(9);e.alphaTest&&o.enable(10);e.vertexColors&&o.enable(11);e.vertexAlphas&&o.enable(12);e.vertexUvs2&&o.enable(13);e.vertexTangents&&o.enable(14);t.push(o.mask),o.disableAll(),e.fog&&o.enable(0);e.useFog&&o.enable(1);e.flatShading&&o.enable(2);e.logarithmicDepthBuffer&&o.enable(3);e.skinning&&o.enable(4);e.morphTargets&&o.enable(5);e.morphNormals&&o.enable(6);e.morphColors&&o.enable(7);e.premultipliedAlpha&&o.enable(8);e.shadowMapEnabled&&o.enable(9);e.useLegacyLights&&o.enable(10);e.doubleSided&&o.enable(11);e.flipSided&&o.enable(12);e.useDepthPacking&&o.enable(13);e.dithering&&o.enable(14);e.transmission&&o.enable(15);e.sheen&&o.enable(16);e.decodeVideoTexture&&o.enable(17);e.opaque&&o.enable(18);e.pointsUvs&&o.enable(19);t.push(o.mask)}(n,e),n.push(t.outputEncoding)),n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=v[t.type];let n;if(e){const t=Xr[e];n=Ar.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let i;for(let t=0,e=u.length;t<e;t++){const e=u[t];if(e.cacheKey===n){i=e,++i.usedTimes;break}}return void 0===i&&(i=new ja(t,n,e,s),u.push(i)),i},releaseProgram:function(t){if(0==--t.usedTimes){const e=u.indexOf(t);u[e]=u[u.length-1],u.pop(),t.destroy()}},releaseShaderCache:function(t){l.remove(t)},programs:u,dispose:function(){l.dispose()}}}function Ja(){let t=new WeakMap;return{get:function(e){let n=t.get(e);return void 0===n&&(n={},t.set(e,n)),n},remove:function(e){t.delete(e)},update:function(e,n,i){t.get(e)[n]=i},dispose:function(){t=new WeakMap}}}function Ka(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function $a(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Qa(){const t=[];let e=0;const n=[],i=[],r=[];function s(n,i,r,s,a,o){let l=t[e];return void 0===l?(l={id:n.id,object:n,geometry:i,material:r,groupOrder:s,renderOrder:n.renderOrder,z:a,group:o},t[e]=l):(l.id=n.id,l.object=n,l.geometry=i,l.material=r,l.groupOrder=s,l.renderOrder=n.renderOrder,l.z=a,l.group=o),e++,l}return{opaque:n,transmissive:i,transparent:r,init:function(){e=0,n.length=0,i.length=0,r.length=0},push:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?i.push(h):!0===a.transparent?r.push(h):n.push(h)},unshift:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?i.unshift(h):!0===a.transparent?r.unshift(h):n.unshift(h)},finish:function(){for(let n=e,i=t.length;n<i;n++){const e=t[n];if(null===e.id)break;e.id=null,e.object=null,e.geometry=null,e.material=null,e.group=null}},sort:function(t,e){n.length>1&&n.sort(t||Ka),i.length>1&&i.sort(e||$a),r.length>1&&r.sort(e||$a)}}}function to(){let t=new WeakMap;return{get:function(e,n){const i=t.get(e);let r;return void 0===i?(r=new Qa,t.set(e,[r])):n>=i.length?(r=new Qa,i.push(r)):r=i[n],r},dispose:function(){t=new WeakMap}}}function eo(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new gn,color:new Oi};break;case"SpotLight":n={position:new gn,direction:new gn,color:new Oi,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new gn,color:new Oi,distance:0,decay:0};break;case"HemisphereLight":n={direction:new gn,skyColor:new Oi,groundColor:new Oi};break;case"RectAreaLight":n={color:new Oi,position:new gn,halfWidth:new gn,halfHeight:new gn};}return t[e.id]=n,n}}}let no=0;function io(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function ro(t,e){const n=new eo,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new We};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new We,shadowCameraNear:1,shadowCameraFar:1e3};}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let t=0;t<9;t++)r.probe.push(new gn);const s=new gn,a=new qn,o=new qn;return{setup:function(s,a){let o=0,l=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let h=0,u=0,d=0,p=0,m=0,f=0,g=0,v=0,_=0,x=0;s.sort(io);const y=!0===a?Math.PI:1;for(let t=0,e=s.length;t<e;t++){const e=s[t],a=e.color,M=e.intensity,S=e.distance,b=e.shadow&&e.shadow.map?e.shadow.map.texture:null;if(e.isAmbientLight)o+=a.r*M*y,l+=a.g*M*y,c+=a.b*M*y;else if(e.isLightProbe)for(let t=0;t<9;t++)r.probe[t].addScaledVector(e.sh.coefficients[t],M);else if(e.isDirectionalLight){const t=n.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity*y),e.castShadow){const t=e.shadow,n=i.get(e);n.shadowBias=t.bias,n.shadowNormalBias=t.normalBias,n.shadowRadius=t.radius,n.shadowMapSize=t.mapSize,r.directionalShadow[h]=n,r.directionalShadowMap[h]=b,r.directionalShadowMatrix[h]=e.shadow.matrix,f++}r.directional[h]=t,h++}else if(e.isSpotLight){const t=n.get(e);t.position.setFromMatrixPosition(e.matrixWorld),t.color.copy(a).multiplyScalar(M*y),t.distance=S,t.coneCos=Math.cos(e.angle),t.penumbraCos=Math.cos(e.angle*(1-e.penumbra)),t.decay=e.decay,r.spot[d]=t;const s=e.shadow;if(e.map&&(r.spotLightMap[_]=e.map,_++,s.updateMatrices(e),e.castShadow&&x++),r.spotLightMatrix[d]=s.matrix,e.castShadow){const t=i.get(e);t.shadowBias=s.bias,t.shadowNormalBias=s.normalBias,t.shadowRadius=s.radius,t.shadowMapSize=s.mapSize,r.spotShadow[d]=t,r.spotShadowMap[d]=b,v++}d++}else if(e.isRectAreaLight){const t=n.get(e);t.color.copy(a).multiplyScalar(M),t.halfWidth.set(.5*e.width,0,0),t.halfHeight.set(0,.5*e.height,0),r.rectArea[p]=t,p++}else if(e.isPointLight){const t=n.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity*y),t.distance=e.distance,t.decay=e.decay,e.castShadow){const t=e.shadow,n=i.get(e);n.shadowBias=t.bias,n.shadowNormalBias=t.normalBias,n.shadowRadius=t.radius,n.shadowMapSize=t.mapSize,n.shadowCameraNear=t.camera.near,n.shadowCameraFar=t.camera.far,r.pointShadow[u]=n,r.pointShadowMap[u]=b,r.pointShadowMatrix[u]=e.shadow.matrix,g++}r.point[u]=t,u++}else if(e.isHemisphereLight){const t=n.get(e);t.skyColor.copy(e.color).multiplyScalar(M*y),t.groundColor.copy(e.groundColor).multiplyScalar(M*y),r.hemi[m]=t,m++}}p>0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=qr.LTC_FLOAT_1,r.rectAreaLTC2=qr.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=qr.LTC_HALF_1,r.rectAreaLTC2=qr.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=o,r.ambient[1]=l,r.ambient[2]=c;const M=r.hash;M.directionalLength===h&&M.pointLength===u&&M.spotLength===d&&M.rectAreaLength===p&&M.hemiLength===m&&M.numDirectionalShadows===f&&M.numPointShadows===g&&M.numSpotShadows===v&&M.numSpotMaps===_||(r.directional.length=h,r.spot.length=d,r.rectArea.length=p,r.point.length=u,r.hemi.length=m,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=g,r.pointShadowMap.length=g,r.spotShadow.length=v,r.spotShadowMap.length=v,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=g,r.spotLightMatrix.length=v+_-x,r.spotLightMap.length=_,r.numSpotLightShadowsWithMaps=x,M.directionalLength=h,M.pointLength=u,M.spotLength=d,M.rectAreaLength=p,M.hemiLength=m,M.numDirectionalShadows=f,M.numPointShadows=g,M.numSpotShadows=v,M.numSpotMaps=_,r.version=no++)},setupView:function(t,e){let n=0,i=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e<d;e++){const d=t[e];if(d.isDirectionalLight){const t=r.directional[n];t.direction.setFromMatrixPosition(d.matrixWorld),s.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),n++}else if(d.isSpotLight){const t=r.spot[l];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),t.direction.setFromMatrixPosition(d.matrixWorld),s.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),l++}else if(d.isRectAreaLight){const t=r.rectArea[c];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),o.identity(),a.copy(d.matrixWorld),a.premultiply(u),o.extractRotation(a),t.halfWidth.set(.5*d.width,0,0),t.halfHeight.set(0,.5*d.height,0),t.halfWidth.applyMatrix4(o),t.halfHeight.applyMatrix4(o),c++}else if(d.isPointLight){const t=r.point[i];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),i++}else if(d.isHemisphereLight){const t=r.hemi[h];t.direction.setFromMatrixPosition(d.matrixWorld),t.direction.transformDirection(u),h++}}},state:r}}function so(t,e){const n=new ro(t,e),i=[],r=[];return{init:function(){i.length=0,r.length=0},state:{lightsArray:i,shadowsArray:r,lights:n},setupLights:function(t){n.setup(i,t)},setupLightsView:function(t){n.setupView(i,t)},pushLight:function(t){i.push(t)},pushShadow:function(t){r.push(t)}}}function ao(t,e){let n=new WeakMap;return{get:function(i,r=0){const s=n.get(i);let a;return void 0===s?(a=new so(t,e),n.set(i,[a])):r>=s.length?(a=new so(t,e),s.push(a)):a=s[r],a},dispose:function(){n=new WeakMap}}}class oo extends Ri{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class lo extends Ri{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}const co="void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",ho="uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}";function uo(t,e,n){let i=new Gr;const r=new We,a=new We,d=new un,p=new oo({depthPacking:xe}),m=new lo,f={},g=n.maxTextureSize,v={[l]:c,[c]:l,[h]:h},_=new Cr({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new We},radius:{value:4}},vertexShader:co,fragmentShader:ho}),x=_.clone();x.defines.HORIZONTAL_PASS=1;const y=new ir;y.setAttribute("position",new qi(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const M=new Mr(y,_),S=this;function b(n,i){const s=e.update(M);_.defines.VSM_SAMPLES!==n.blurSamples&&(_.defines.VSM_SAMPLES=n.blurSamples,x.defines.VSM_SAMPLES=n.blurSamples,_.needsUpdate=!0,x.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new dn(r.x,r.y)),_.uniforms.shadow_pass.value=n.map.texture,_.uniforms.resolution.value=n.mapSize,_.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,s,_,M,null),x.uniforms.shadow_pass.value=n.mapPass.texture,x.uniforms.resolution.value=n.mapSize,x.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,s,x,M,null)}function w(e,n,i,r){let s=null;const a=!0===i.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(void 0!==a)s=a;else if(s=!0===i.isPointLight?m:p,t.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const t=s.uuid,e=n.uuid;let i=f[t];void 0===i&&(i={},f[t]=i);let r=i[e];void 0===r&&(r=s.clone(),i[e]=r),s=r}if(s.visible=n.visible,s.wireframe=n.wireframe,s.side=r===o?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:v[n.side],s.alphaMap=n.alphaMap,s.alphaTest=n.alphaTest,s.map=n.map,s.clipShadows=n.clipShadows,s.clippingPlanes=n.clippingPlanes,s.clipIntersection=n.clipIntersection,s.displacementMap=n.displacementMap,s.displacementScale=n.displacementScale,s.displacementBias=n.displacementBias,s.wireframeLinewidth=n.wireframeLinewidth,s.linewidth=n.linewidth,!0===i.isPointLight&&!0===s.isMeshDistanceMaterial){t.properties.get(s).light=i}return s}function T(n,r,s,a,l){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&l===o)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const i=e.update(n),r=n.material;if(Array.isArray(r)){const e=i.groups;for(let o=0,c=e.length;o<c;o++){const c=e[o],h=r[c.materialIndex];if(h&&h.visible){const e=w(n,h,a,l);t.renderBufferDirect(s,null,i,e,n,c)}}}else if(r.visible){const e=w(n,r,a,l);t.renderBufferDirect(s,null,i,e,n,null)}}const c=n.children;for(let t=0,e=c.length;t<e;t++)T(c[t],r,s,a,l)}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=s,this.render=function(e,n,s){if(!1===S.enabled)return;if(!1===S.autoUpdate&&!1===S.needsUpdate)return;if(0===e.length)return;const l=t.getRenderTarget(),c=t.getActiveCubeFace(),h=t.getActiveMipmapLevel(),p=t.state;p.setBlending(u),p.buffers.color.setClear(1,1,1,1),p.buffers.depth.setTest(!0),p.setScissorTest(!1);for(let l=0,c=e.length;l<c;l++){const c=e[l],h=c.shadow;if(void 0===h){console.warn("THREE.WebGLShadowMap:",c,"has no shadow.");continue}if(!1===h.autoUpdate&&!1===h.needsUpdate)continue;r.copy(h.mapSize);const u=h.getFrameExtents();if(r.multiply(u),a.copy(h.mapSize),(r.x>g||r.y>g)&&(r.x>g&&(a.x=Math.floor(g/u.x),r.x=a.x*u.x,h.mapSize.x=a.x),r.y>g&&(a.y=Math.floor(g/u.y),r.y=a.y*u.y,h.mapSize.y=a.y)),null===h.map){const t=this.type!==o?{minFilter:st,magFilter:st}:{};h.map=new dn(r.x,r.y,t),h.map.texture.name=c.name+".shadowMap",h.camera.updateProjectionMatrix()}t.setRenderTarget(h.map),t.clear();const m=h.getViewportCount();for(let t=0;t<m;t++){const e=h.getViewport(t);d.set(a.x*e.x,a.y*e.y,a.x*e.z,a.y*e.w),p.viewport(d),h.updateMatrices(c,t),i=h.getFrustum(),T(n,s,h.camera,c,this.type)}!0!==h.isPointLightShadow&&this.type===o&&b(h,s),h.needsUpdate=!1}S.needsUpdate=!1,t.setRenderTarget(l,c,h)}}function po(t,e,s){const a=s.isWebGL2;const o=new function(){let e=!1;const n=new un;let i=null;const r=new un(0,0,0,0);return{setMask:function(n){i===n||e||(t.colorMask(n,n,n,n),i=n)},setLocked:function(t){e=t},setClear:function(e,i,s,a,o){!0===o&&(e*=a,i*=a,s*=a),n.set(e,i,s,a),!1===r.equals(n)&&(t.clearColor(e,i,s,a),r.copy(n))},reset:function(){e=!1,i=null,r.set(-1,0,0,0)}}},l=new function(){let e=!1,n=null,i=null,r=null;return{setTest:function(t){t?Mt(2929):St(2929)},setMask:function(i){n===i||e||(t.depthMask(i),n=i)},setFunc:function(e){if(i!==e){switch(e){case D:t.depthFunc(512);break;case U:t.depthFunc(519);break;case N:t.depthFunc(513);break;case O:t.depthFunc(515);break;case z:t.depthFunc(514);break;case B:t.depthFunc(518);break;case F:t.depthFunc(516);break;case k:t.depthFunc(517);break;default:t.depthFunc(515);}i=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,n=null,i=null,r=null}}},G=new function(){let e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null;return{setTest:function(t){e||(t?Mt(2960):St(2960))},setMask:function(i){n===i||e||(t.stencilMask(i),n=i)},setFunc:function(e,n,a){i===e&&r===n&&s===a||(t.stencilFunc(e,n,a),i=e,r=n,s=a)},setOp:function(e,n,i){a===e&&o===n&&l===i||(t.stencilOp(e,n,i),a=e,o=n,l=i)},setLocked:function(t){e=t},setClear:function(e){c!==e&&(t.clearStencil(e),c=e)},reset:function(){e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null}}},V=new WeakMap,H=new WeakMap;let W={},j={},q=new WeakMap,X=[],Y=null,Z=!1,J=null,K=null,$=null,Q=null,tt=null,et=null,nt=null,it=!1,rt=null,st=null,at=null,ot=null,lt=null;const ct=t.getParameter(35661);let ht=!1,ut=0;const dt=t.getParameter(7938);-1!==dt.indexOf("WebGL")?(ut=parseFloat(/^WebGL (\d)/.exec(dt)[1]),ht=ut>=1):-1!==dt.indexOf("OpenGL ES")&&(ut=parseFloat(/^OpenGL ES (\d)/.exec(dt)[1]),ht=ut>=2);let pt=null,mt={};const ft=t.getParameter(3088),gt=t.getParameter(2978),vt=new un().fromArray(ft),_t=new un().fromArray(gt);function xt(e,n,i){const r=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;e<i;e++)t.texImage2D(n+e,0,6408,1,1,0,6408,5121,r);return s}const yt={};function Mt(e){!0!==W[e]&&(t.enable(e),W[e]=!0)}function St(e){!1!==W[e]&&(t.disable(e),W[e]=!1)}yt[3553]=xt(3553,3553,1),yt[34067]=xt(34067,34069,6),o.setClear(0,0,0,1),l.setClear(1),G.setClear(0),Mt(2929),l.setFunc(O),Et(!1),At(i),Mt(2884),Tt(u);const bt={[v]:32774,[_]:32778,[x]:32779};if(a)bt[y]=32775,bt[M]=32776;else{const t=e.get("EXT_blend_minmax");null!==t&&(bt[y]=t.MIN_EXT,bt[M]=t.MAX_EXT)}const wt={[S]:0,[b]:1,[w]:768,[E]:770,[I]:776,[P]:774,[C]:772,[T]:769,[A]:771,[R]:775,[L]:773};function Tt(e,n,i,r,s,a,o,l){if(e!==u){if(!1===Z&&(Mt(3042),Z=!0),e===g)s=s||n,a=a||i,o=o||r,n===K&&s===tt||(t.blendEquationSeparate(bt[n],bt[s]),K=n,tt=s),i===$&&r===Q&&a===et&&o===nt||(t.blendFuncSeparate(wt[i],wt[r],wt[a],wt[o]),$=i,Q=r,et=a,nt=o),J=e,it=!1;else if(e!==J||l!==it){if(K===v&&tt===v||(t.blendEquation(32774),K=v,tt=v),l)switch(e){case d:t.blendFuncSeparate(1,771,1,771);break;case p:t.blendFunc(1,1);break;case m:t.blendFuncSeparate(0,769,0,1);break;case f:t.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);}else switch(e){case d:t.blendFuncSeparate(770,771,1,771);break;case p:t.blendFunc(770,1);break;case m:t.blendFuncSeparate(0,769,0,1);break;case f:t.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);}$=null,Q=null,et=null,nt=null,J=e,it=l}}else!0===Z&&(St(3042),Z=!1)}function Et(e){rt!==e&&(e?t.frontFace(2304):t.frontFace(2305),rt=e)}function At(e){e!==n?(Mt(2884),e!==st&&(e===i?t.cullFace(1029):e===r?t.cullFace(1028):t.cullFace(1032))):St(2884),st=e}function Ct(e,n,i){e?(Mt(32823),ot===n&&lt===i||(t.polygonOffset(n,i),ot=n,lt=i)):St(32823)}return{buffers:{color:o,depth:l,stencil:G},enable:Mt,disable:St,bindFramebuffer:function(e,n){return j[e]!==n&&(t.bindFramebuffer(e,n),j[e]=n,a&&(36009===e&&(j[36160]=n),36160===e&&(j[36009]=n)),!0)},drawBuffers:function(n,i){let r=X,a=!1;if(n){if(r=q.get(i),void 0===r&&(r=[],q.set(i,r)),n.isWebGLMultipleRenderTargets){const t=n.texture;if(r.length!==t.length||36064!==r[0]){for(let e=0,n=t.length;e<n;e++)r[e]=36064+e;r.length=t.length,a=!0}}else 36064!==r[0]&&(r[0]=36064,a=!0);}else 1029!==r[0]&&(r[0]=1029,a=!0);a&&(s.isWebGL2?t.drawBuffers(r):e.get("WEBGL_draw_buffers").drawBuffersWEBGL(r))},useProgram:function(e){return Y!==e&&(t.useProgram(e),Y=e,!0)},setBlending:Tt,setMaterial:function(t,e){t.side===h?St(2884):Mt(2884);let n=t.side===c;e&&(n=!n),Et(n),t.blending===d&&!1===t.transparent?Tt(u):Tt(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha),l.setFunc(t.depthFunc),l.setTest(t.depthTest),l.setMask(t.depthWrite),o.setMask(t.colorWrite);const i=t.stencilWrite;G.setTest(i),i&&(G.setMask(t.stencilWriteMask),G.setFunc(t.stencilFunc,t.stencilRef,t.stencilFuncMask),G.setOp(t.stencilFail,t.stencilZFail,t.stencilZPass)),Ct(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits),!0===t.alphaToCoverage?Mt(32926):St(32926)},setFlipSided:Et,setCullFace:At,setLineWidth:function(e){e!==at&&(ht&&t.lineWidth(e),at=e)},setPolygonOffset:Ct,setScissorTest:function(t){t?Mt(3089):St(3089)},activeTexture:function(e){void 0===e&&(e=33984+ct-1),pt!==e&&(t.activeTexture(e),pt=e)},bindTexture:function(e,n,i){void 0===i&&(i=null===pt?33984+ct-1:pt);let r=mt[i];void 0===r&&(r={type:void 0,texture:void 0},mt[i]=r),r.type===e&&r.texture===n||(pt!==i&&(t.activeTexture(i),pt=i),t.bindTexture(e,n||yt[e]),r.type=e,r.texture=n)},unbindTexture:function(){const e=mt[pt];void 0!==e&&void 0!==e.type&&(t.bindTexture(e.type,null),e.type=void 0,e.texture=void 0)},compressedTexImage2D:function(){try{t.compressedTexImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexImage3D:function(){try{t.compressedTexImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage2D:function(){try{t.texImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage3D:function(){try{t.texImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},updateUBOMapping:function(e,n){let i=H.get(n);void 0===i&&(i=new WeakMap,H.set(n,i));let r=i.get(e);void 0===r&&(r=t.getUniformBlockIndex(n,e.name),i.set(e,r))},uniformBlockBinding:function(e,n){const i=H.get(n).get(e);V.get(n)!==i&&(t.uniformBlockBinding(n,i,e.__bindingPointIndex),V.set(n,i))},texStorage2D:function(){try{t.texStorage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texStorage3D:function(){try{t.texStorage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage2D:function(){try{t.texSubImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage3D:function(){try{t.texSubImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexSubImage2D:function(){try{t.compressedTexSubImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexSubImage3D:function(){try{t.compressedTexSubImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},scissor:function(e){!1===vt.equals(e)&&(t.scissor(e.x,e.y,e.z,e.w),vt.copy(e))},viewport:function(e){!1===_t.equals(e)&&(t.viewport(e.x,e.y,e.z,e.w),_t.copy(e))},reset:function(){t.disable(3042),t.disable(2884),t.disable(2929),t.disable(32823),t.disable(3089),t.disable(2960),t.disable(32926),t.blendEquation(32774),t.blendFunc(1,0),t.blendFuncSeparate(1,0,1,0),t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.depthMask(!0),t.depthFunc(513),t.clearDepth(1),t.stencilMask(4294967295),t.stencilFunc(519,0,4294967295),t.stencilOp(7680,7680,7680),t.clearStencil(0),t.cullFace(1029),t.frontFace(2305),t.polygonOffset(0,0),t.activeTexture(33984),t.bindFramebuffer(36160,null),!0===a&&(t.bindFramebuffer(36009,null),t.bindFramebuffer(36008,null)),t.useProgram(null),t.lineWidth(1),t.scissor(0,0,t.canvas.width,t.canvas.height),t.viewport(0,0,t.canvas.width,t.canvas.height),W={},pt=null,mt={},j={},q=new WeakMap,X=[],Y=null,Z=!1,J=null,K=null,$=null,Q=null,tt=null,et=null,nt=null,it=!1,rt=null,st=null,at=null,ot=null,lt=null,vt.set(0,0,t.canvas.width,t.canvas.height),_t.set(0,0,t.canvas.width,t.canvas.height),o.reset(),l.reset(),G.reset()}}}function mo(t,e,n,i,r,s,a){const o=r.isWebGL2,l=r.maxTextures,c=r.maxCubemapSize,h=r.maxTextureSize,u=r.maxSamples,d=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,p="undefined"!=typeof navigator&&/OculusBrowser/g.test(navigator.userAgent),m=new WeakMap;let f;const g=new WeakMap;let v=!1;try{v="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(t){}function _(t,e){return v?new OffscreenCanvas(t,e):Je("canvas")}function x(t,e,n,i){let r=1;if((t.width>i||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?ke:Math.floor,s=i(r*t.width),a=i(r*t.height);void 0===f&&(f=_(s,a));const o=n?_(s,a):f;o.width=s,o.height=a;return o.getContext("2d").drawImage(t,0,0,s,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+s+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function y(t){return Be(t.width)&&Be(t.height)}function M(t,e){return t.generateMipmaps&&e&&t.minFilter!==st&&t.minFilter!==lt}function S(e){t.generateMipmap(e)}function b(n,i,r,s,a=!1){if(!1===o)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let l=i;return 6403===i&&(5126===r&&(l=33326),5131===r&&(l=33325),5121===r&&(l=33321)),33319===i&&(5126===r&&(l=33328),5131===r&&(l=33327),5121===r&&(l=33323)),6408===i&&(5126===r&&(l=34836),5131===r&&(l=34842),5121===r&&(l=s===_e&&!1===a?35907:32856),32819===r&&(l=32854),32820===r&&(l=32855)),33325!==l&&33326!==l&&33327!==l&&33328!==l&&34842!==l&&34836!==l||e.get("EXT_color_buffer_float"),l}function w(t,e,n){return!0===M(t,n)||t.isFramebufferTexture&&t.minFilter!==st&&t.minFilter!==lt?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function T(t){return t===st||t===at||t===ot?9728:9729}function E(t){const e=t.target;e.removeEventListener("dispose",E),function(t){const e=i.get(t);if(void 0===e.__webglInit)return;const n=t.source,r=g.get(n);if(r){const i=r[e.__cacheKey];i.usedTimes--,0===i.usedTimes&&C(t),0===Object.keys(r).length&&g.delete(n)}i.remove(t)}(e),e.isVideoTexture&&m.delete(e)}function A(e){const n=e.target;n.removeEventListener("dispose",A),function(e){const n=e.texture,r=i.get(e),s=i.get(n);void 0!==s.__webglTexture&&(t.deleteTexture(s.__webglTexture),a.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(r.__webglFramebuffer[e]),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer[e]);else{if(t.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&t.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer)for(let e=0;e<r.__webglColorRenderbuffer.length;e++)r.__webglColorRenderbuffer[e]&&t.deleteRenderbuffer(r.__webglColorRenderbuffer[e]);r.__webglDepthRenderbuffer&&t.deleteRenderbuffer(r.__webglDepthRenderbuffer)}if(e.isWebGLMultipleRenderTargets)for(let e=0,r=n.length;e<r;e++){const r=i.get(n[e]);r.__webglTexture&&(t.deleteTexture(r.__webglTexture),a.memory.textures--),i.remove(n[e])}i.remove(n),i.remove(e)}(n)}function C(e){const n=i.get(e);t.deleteTexture(n.__webglTexture);const r=e.source;delete g.get(r)[n.__cacheKey],a.memory.textures--}let L=0;function P(t,e){const r=i.get(t);if(t.isVideoTexture&&function(t){const e=a.render.frame;m.get(t)!==e&&(m.set(t,e),t.update())}(t),!1===t.isRenderTargetTexture&&t.version>0&&r.__version!==t.version){const n=t.image;if(null===n)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==n.complete)return void N(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(3553,r.__webglTexture,33984+e)}const R={[nt]:10497,[it]:33071,[rt]:33648},I={[st]:9728,[at]:9984,[ot]:9986,[lt]:9729,[ct]:9985,[ht]:9987};function D(n,s,a){if(a?(t.texParameteri(n,10242,R[s.wrapS]),t.texParameteri(n,10243,R[s.wrapT]),32879!==n&&35866!==n||t.texParameteri(n,32882,R[s.wrapR]),t.texParameteri(n,10240,I[s.magFilter]),t.texParameteri(n,10241,I[s.minFilter])):(t.texParameteri(n,10242,33071),t.texParameteri(n,10243,33071),32879!==n&&35866!==n||t.texParameteri(n,32882,33071),s.wrapS===it&&s.wrapT===it||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,10240,T(s.magFilter)),t.texParameteri(n,10241,T(s.minFilter)),s.minFilter!==st&&s.minFilter!==lt&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(s.magFilter===st)return;if(s.minFilter!==ot&&s.minFilter!==ht)return;if(s.type===vt&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&s.type===_t&&!1===e.has("OES_texture_half_float_linear"))return;(s.anisotropy>1||i.get(s).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),i.get(s).__currentAnisotropy=s.anisotropy)}}function U(e,n){let i=!1;void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",E));const r=n.source;let s=g.get(r);void 0===s&&(s={},g.set(r,s));const o=function(t){const e=[];return e.push(t.wrapS),e.push(t.wrapT),e.push(t.wrapR||0),e.push(t.magFilter),e.push(t.minFilter),e.push(t.anisotropy),e.push(t.internalFormat),e.push(t.format),e.push(t.type),e.push(t.generateMipmaps),e.push(t.premultiplyAlpha),e.push(t.flipY),e.push(t.unpackAlignment),e.push(t.encoding),e.join()}(n);if(o!==e.__cacheKey){void 0===s[o]&&(s[o]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,i=!0),s[o].usedTimes++;const r=s[e.__cacheKey];void 0!==r&&(s[e.__cacheKey].usedTimes--,0===r.usedTimes&&C(n)),e.__cacheKey=o,e.__webglTexture=s[o].texture}return i}function N(e,r,a){let l=3553;(r.isDataArrayTexture||r.isCompressedArrayTexture)&&(l=35866),r.isData3DTexture&&(l=32879);const c=U(e,r),u=r.source;n.bindTexture(l,e.__webglTexture,33984+a);const d=i.get(u);if(u.version!==d.__version||!0===c){n.activeTexture(33984+a),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const e=function(t){return!o&&(t.wrapS!==it||t.wrapT!==it||t.minFilter!==st&&t.minFilter!==lt)}(r)&&!1===y(r.image);let i=x(r.image,e,!1,h);i=G(r,i);const p=y(i)||o,m=s.convert(r.format,r.encoding);let f,g=s.convert(r.type),v=b(r.internalFormat,m,g,r.encoding,r.isVideoTexture);D(l,r,p);const _=r.mipmaps,T=o&&!0!==r.isVideoTexture,E=void 0===d.__version||!0===c,A=w(r,i,p);if(r.isDepthTexture)v=6402,o?v=r.type===vt?36012:r.type===gt?33190:r.type===Mt?35056:33189:r.type===vt&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),r.format===Et&&6402===v&&r.type!==mt&&r.type!==gt&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),r.type=gt,g=s.convert(r.type)),r.format===At&&6402===v&&(v=34041,r.type!==Mt&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),r.type=Mt,g=s.convert(r.type))),E&&(T?n.texStorage2D(3553,1,v,i.width,i.height):n.texImage2D(3553,0,v,i.width,i.height,0,m,g,null));else if(r.isDataTexture){if(_.length>0&&p){T&&E&&n.texStorage2D(3553,A,v,_[0].width,_[0].height);for(let t=0,e=_.length;t<e;t++)f=_[t],T?n.texSubImage2D(3553,t,0,0,f.width,f.height,m,g,f.data):n.texImage2D(3553,t,v,f.width,f.height,0,m,g,f.data);r.generateMipmaps=!1}else T?(E&&n.texStorage2D(3553,A,v,i.width,i.height),n.texSubImage2D(3553,0,0,0,i.width,i.height,m,g,i.data)):n.texImage2D(3553,0,v,i.width,i.height,0,m,g,i.data);}else if(r.isCompressedTexture){if(r.isCompressedArrayTexture){T&&E&&n.texStorage3D(35866,A,v,_[0].width,_[0].height,i.depth);for(let t=0,e=_.length;t<e;t++)f=_[t],r.format!==bt?null!==m?T?n.compressedTexSubImage3D(35866,t,0,0,0,f.width,f.height,i.depth,m,f.data,0,0):n.compressedTexImage3D(35866,t,v,f.width,f.height,i.depth,0,f.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):T?n.texSubImage3D(35866,t,0,0,0,f.width,f.height,i.depth,m,g,f.data):n.texImage3D(35866,t,v,f.width,f.height,i.depth,0,m,g,f.data)}else{T&&E&&n.texStorage2D(3553,A,v,_[0].width,_[0].height);for(let t=0,e=_.length;t<e;t++)f=_[t],r.format!==bt?null!==m?T?n.compressedTexSubImage2D(3553,t,0,0,f.width,f.height,m,f.data):n.compressedTexImage2D(3553,t,v,f.width,f.height,0,f.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):T?n.texSubImage2D(3553,t,0,0,f.width,f.height,m,g,f.data):n.texImage2D(3553,t,v,f.width,f.height,0,m,g,f.data)}}else if(r.isDataArrayTexture)T?(E&&n.texStorage3D(35866,A,v,i.width,i.height,i.depth),n.texSubImage3D(35866,0,0,0,0,i.width,i.height,i.depth,m,g,i.data)):n.texImage3D(35866,0,v,i.width,i.height,i.depth,0,m,g,i.data);else if(r.isData3DTexture)T?(E&&n.texStorage3D(32879,A,v,i.width,i.height,i.depth),n.texSubImage3D(32879,0,0,0,0,i.width,i.height,i.depth,m,g,i.data)):n.texImage3D(32879,0,v,i.width,i.height,i.depth,0,m,g,i.data);else if(r.isFramebufferTexture){if(E)if(T)n.texStorage2D(3553,A,v,i.width,i.height);else{let t=i.width,e=i.height;for(let i=0;i<A;i++)n.texImage2D(3553,i,v,t,e,0,m,g,null),t>>=1,e>>=1}}else if(_.length>0&&p){T&&E&&n.texStorage2D(3553,A,v,_[0].width,_[0].height);for(let t=0,e=_.length;t<e;t++)f=_[t],T?n.texSubImage2D(3553,t,0,0,m,g,f):n.texImage2D(3553,t,v,m,g,f);r.generateMipmaps=!1}else T?(E&&n.texStorage2D(3553,A,v,i.width,i.height),n.texSubImage2D(3553,0,0,0,m,g,i)):n.texImage2D(3553,0,v,m,g,i);M(r,p)&&S(l),d.__version=u.version,r.onUpdate&&r.onUpdate(r)}e.__version=r.version}function O(e,r,a,o,l){const c=s.convert(a.format,a.encoding),h=s.convert(a.type),u=b(a.internalFormat,c,h,a.encoding);i.get(r).__hasExternalTextures||(32879===l||35866===l?n.texImage3D(l,0,u,r.width,r.height,r.depth,0,c,h,null):n.texImage2D(l,0,u,r.width,r.height,0,c,h,null)),n.bindFramebuffer(36160,e),k(r)?d.framebufferTexture2DMultisampleEXT(36160,o,l,i.get(a).__webglTexture,0,F(r)):(3553===l||l>=34069&&l<=34074)&&t.framebufferTexture2D(36160,o,l,i.get(a).__webglTexture,0),n.bindFramebuffer(36160,null)}function z(e,n,i){if(t.bindRenderbuffer(36161,e),n.depthBuffer&&!n.stencilBuffer){let r=33189;if(i||k(n)){const e=n.depthTexture;e&&e.isDepthTexture&&(e.type===vt?r=36012:e.type===gt&&(r=33190));const i=F(n);k(n)?d.renderbufferStorageMultisampleEXT(36161,i,r,n.width,n.height):t.renderbufferStorageMultisample(36161,i,r,n.width,n.height)}else t.renderbufferStorage(36161,r,n.width,n.height);t.framebufferRenderbuffer(36160,36096,36161,e)}else if(n.depthBuffer&&n.stencilBuffer){const r=F(n);i&&!1===k(n)?t.renderbufferStorageMultisample(36161,r,35056,n.width,n.height):k(n)?d.renderbufferStorageMultisampleEXT(36161,r,35056,n.width,n.height):t.renderbufferStorage(36161,34041,n.width,n.height),t.framebufferRenderbuffer(36160,33306,36161,e)}else{const e=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let r=0;r<e.length;r++){const a=e[r],o=s.convert(a.format,a.encoding),l=s.convert(a.type),c=b(a.internalFormat,o,l,a.encoding),h=F(n);i&&!1===k(n)?t.renderbufferStorageMultisample(36161,h,c,n.width,n.height):k(n)?d.renderbufferStorageMultisampleEXT(36161,h,c,n.width,n.height):t.renderbufferStorage(36161,c,n.width,n.height)}}t.bindRenderbuffer(36161,null)}function B(e){const r=i.get(e),s=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture&&!r.__autoAllocateDepthBuffer){if(s)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,r){if(r&&r.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(n.bindFramebuffer(36160,e),!r.depthTexture||!r.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(r.depthTexture).__webglTexture&&r.depthTexture.image.width===r.width&&r.depthTexture.image.height===r.height||(r.depthTexture.image.width=r.width,r.depthTexture.image.height=r.height,r.depthTexture.needsUpdate=!0),P(r.depthTexture,0);const s=i.get(r.depthTexture).__webglTexture,a=F(r);if(r.depthTexture.format===Et)k(r)?d.framebufferTexture2DMultisampleEXT(36160,36096,3553,s,0,a):t.framebufferTexture2D(36160,36096,3553,s,0);else{if(r.depthTexture.format!==At)throw new Error("Unknown depthTexture format");k(r)?d.framebufferTexture2DMultisampleEXT(36160,33306,3553,s,0,a):t.framebufferTexture2D(36160,33306,3553,s,0)}}(r.__webglFramebuffer,e)}else if(s){r.__webglDepthbuffer=[];for(let i=0;i<6;i++)n.bindFramebuffer(36160,r.__webglFramebuffer[i]),r.__webglDepthbuffer[i]=t.createRenderbuffer(),z(r.__webglDepthbuffer[i],e,!1)}else n.bindFramebuffer(36160,r.__webglFramebuffer),r.__webglDepthbuffer=t.createRenderbuffer(),z(r.__webglDepthbuffer,e,!1);n.bindFramebuffer(36160,null)}function F(t){return Math.min(u,t.samples)}function k(t){const n=i.get(t);return o&&t.samples>0&&!0===e.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function G(t,n){const i=t.encoding,r=t.format,s=t.type;return!0===t.isCompressedTexture||!0===t.isVideoTexture||t.format===Ce||i!==ve&&(i===_e?!1===o?!0===e.has("EXT_sRGB")&&r===bt?(t.format=Ce,t.minFilter=lt,t.generateMipmaps=!1):n=an.sRGBToLinear(n):r===bt&&s===ut||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",i)),n}this.allocateTextureUnit=function(){const t=L;return t>=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),L+=1,t},this.resetTextureUnits=function(){L=0},this.setTexture2D=P,this.setTexture2DArray=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?N(r,t,e):n.bindTexture(35866,r.__webglTexture,33984+e)},this.setTexture3D=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?N(r,t,e):n.bindTexture(32879,r.__webglTexture,33984+e)},this.setTextureCube=function(e,r){const a=i.get(e);e.version>0&&a.__version!==e.version?function(e,r,a){if(6!==r.image.length)return;const l=U(e,r),h=r.source;n.bindTexture(34067,e.__webglTexture,33984+a);const u=i.get(h);if(h.version!==u.__version||!0===l){n.activeTexture(33984+a),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const e=r.isCompressedTexture||r.image[0].isCompressedTexture,i=r.image[0]&&r.image[0].isDataTexture,d=[];for(let t=0;t<6;t++)d[t]=e||i?i?r.image[t].image:r.image[t]:x(r.image[t],!1,!0,c),d[t]=G(r,d[t]);const p=d[0],m=y(p)||o,f=s.convert(r.format,r.encoding),g=s.convert(r.type),v=b(r.internalFormat,f,g,r.encoding),_=o&&!0!==r.isVideoTexture,T=void 0===u.__version||!0===l;let E,A=w(r,p,m);if(D(34067,r,m),e){_&&T&&n.texStorage2D(34067,A,v,p.width,p.height);for(let t=0;t<6;t++){E=d[t].mipmaps;for(let e=0;e<E.length;e++){const i=E[e];r.format!==bt?null!==f?_?n.compressedTexSubImage2D(34069+t,e,0,0,i.width,i.height,f,i.data):n.compressedTexImage2D(34069+t,e,v,i.width,i.height,0,i.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):_?n.texSubImage2D(34069+t,e,0,0,i.width,i.height,f,g,i.data):n.texImage2D(34069+t,e,v,i.width,i.height,0,f,g,i.data)}}}else{E=r.mipmaps,_&&T&&(E.length>0&&A++,n.texStorage2D(34067,A,v,d[0].width,d[0].height));for(let t=0;t<6;t++)if(i){_?n.texSubImage2D(34069+t,0,0,0,d[t].width,d[t].height,f,g,d[t].data):n.texImage2D(34069+t,0,v,d[t].width,d[t].height,0,f,g,d[t].data);for(let e=0;e<E.length;e++){const i=E[e].image[t].image;_?n.texSubImage2D(34069+t,e+1,0,0,i.width,i.height,f,g,i.data):n.texImage2D(34069+t,e+1,v,i.width,i.height,0,f,g,i.data)}}else{_?n.texSubImage2D(34069+t,0,0,0,f,g,d[t]):n.texImage2D(34069+t,0,v,f,g,d[t]);for(let e=0;e<E.length;e++){const i=E[e];_?n.texSubImage2D(34069+t,e+1,0,0,f,g,i.image[t]):n.texImage2D(34069+t,e+1,v,f,g,i.image[t])}}}M(r,m)&&S(34067),u.__version=h.version,r.onUpdate&&r.onUpdate(r)}e.__version=r.version}(a,e,r):n.bindTexture(34067,a.__webglTexture,33984+r)},this.rebindTextures=function(t,e,n){const r=i.get(t);void 0!==e&&O(r.__webglFramebuffer,t,t.texture,36064,3553),void 0!==n&&B(t)},this.setupRenderTarget=function(e){const l=e.texture,c=i.get(e),h=i.get(l);e.addEventListener("dispose",A),!0!==e.isWebGLMultipleRenderTargets&&(void 0===h.__webglTexture&&(h.__webglTexture=t.createTexture()),h.__version=l.version,a.memory.textures++);const u=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=y(e)||o;if(u){c.__webglFramebuffer=[];for(let e=0;e<6;e++)c.__webglFramebuffer[e]=t.createFramebuffer()}else{if(c.__webglFramebuffer=t.createFramebuffer(),d)if(r.drawBuffers){const n=e.texture;for(let e=0,r=n.length;e<r;e++){const r=i.get(n[e]);void 0===r.__webglTexture&&(r.__webglTexture=t.createTexture(),a.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(o&&e.samples>0&&!1===k(e)){const i=d?l:[l];c.__webglMultisampledFramebuffer=t.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);for(let n=0;n<i.length;n++){const r=i[n];c.__webglColorRenderbuffer[n]=t.createRenderbuffer(),t.bindRenderbuffer(36161,c.__webglColorRenderbuffer[n]);const a=s.convert(r.format,r.encoding),o=s.convert(r.type),l=b(r.internalFormat,a,o,r.encoding,!0===e.isXRRenderTarget),h=F(e);t.renderbufferStorageMultisample(36161,h,l,e.width,e.height),t.framebufferRenderbuffer(36160,36064+n,36161,c.__webglColorRenderbuffer[n])}t.bindRenderbuffer(36161,null),e.depthBuffer&&(c.__webglDepthRenderbuffer=t.createRenderbuffer(),z(c.__webglDepthRenderbuffer,e,!0)),n.bindFramebuffer(36160,null)}}if(u){n.bindTexture(34067,h.__webglTexture),D(34067,l,p);for(let t=0;t<6;t++)O(c.__webglFramebuffer[t],e,l,36064,34069+t);M(l,p)&&S(34067),n.unbindTexture()}else if(d){const t=e.texture;for(let r=0,s=t.length;r<s;r++){const s=t[r],a=i.get(s);n.bindTexture(3553,a.__webglTexture),D(3553,s,p),O(c.__webglFramebuffer,e,s,36064+r,3553),M(s,p)&&S(3553)}n.unbindTexture()}else{let t=3553;(e.isWebGL3DRenderTarget||e.isWebGLArrayRenderTarget)&&(o?t=e.isWebGL3DRenderTarget?32879:35866:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),n.bindTexture(t,h.__webglTexture),D(t,l,p),O(c.__webglFramebuffer,e,l,36064,t),M(l,p)&&S(t),n.unbindTexture()}e.depthBuffer&&B(e)},this.updateRenderTargetMipmap=function(t){const e=y(t)||o,r=!0===t.isWebGLMultipleRenderTargets?t.texture:[t.texture];for(let s=0,a=r.length;s<a;s++){const a=r[s];if(M(a,e)){const e=t.isWebGLCubeRenderTarget?34067:3553,r=i.get(a).__webglTexture;n.bindTexture(e,r),S(e),n.unbindTexture()}}},this.updateMultisampleRenderTarget=function(e){if(o&&e.samples>0&&!1===k(e)){const r=e.isWebGLMultipleRenderTargets?e.texture:[e.texture],s=e.width,a=e.height;let o=16384;const l=[],c=e.stencilBuffer?33306:36096,h=i.get(e),u=!0===e.isWebGLMultipleRenderTargets;if(u)for(let e=0;e<r.length;e++)n.bindFramebuffer(36160,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064+e,36161,null),n.bindFramebuffer(36160,h.__webglFramebuffer),t.framebufferTexture2D(36009,36064+e,3553,null,0);n.bindFramebuffer(36008,h.__webglMultisampledFramebuffer),n.bindFramebuffer(36009,h.__webglFramebuffer);for(let n=0;n<r.length;n++){l.push(36064+n),e.depthBuffer&&l.push(c);const d=void 0!==h.__ignoreDepthValues&&h.__ignoreDepthValues;if(!1===d&&(e.depthBuffer&&(o|=256),e.stencilBuffer&&(o|=1024)),u&&t.framebufferRenderbuffer(36008,36064,36161,h.__webglColorRenderbuffer[n]),!0===d&&(t.invalidateFramebuffer(36008,[c]),t.invalidateFramebuffer(36009,[c])),u){const e=i.get(r[n]).__webglTexture;t.framebufferTexture2D(36009,36064,3553,e,0)}t.blitFramebuffer(0,0,s,a,0,0,s,a,o,9728),p&&t.invalidateFramebuffer(36008,l)}if(n.bindFramebuffer(36008,null),n.bindFramebuffer(36009,null),u)for(let e=0;e<r.length;e++){n.bindFramebuffer(36160,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064+e,36161,h.__webglColorRenderbuffer[e]);const s=i.get(r[e]).__webglTexture;n.bindFramebuffer(36160,h.__webglFramebuffer),t.framebufferTexture2D(36009,36064+e,3553,s,0)}n.bindFramebuffer(36009,h.__webglMultisampledFramebuffer)}},this.setupDepthRenderbuffer=B,this.setupFrameBufferTexture=O,this.useMultisampledRTT=k}function fo(t,e,n){const i=n.isWebGL2;return{convert:function(n,r=null){let s;if(n===ut)return 5121;if(n===xt)return 32819;if(n===yt)return 32820;if(n===dt)return 5120;if(n===pt)return 5122;if(n===mt)return 5123;if(n===ft)return 5124;if(n===gt)return 5125;if(n===vt)return 5126;if(n===_t)return i?5131:(s=e.get("OES_texture_half_float"),null!==s?s.HALF_FLOAT_OES:null);if(n===St)return 6406;if(n===bt)return 6408;if(n===wt)return 6409;if(n===Tt)return 6410;if(n===Et)return 6402;if(n===At)return 34041;if(n===Ce)return s=e.get("EXT_sRGB"),null!==s?s.SRGB_ALPHA_EXT:null;if(n===Ct)return 6403;if(n===Lt)return 36244;if(n===Pt)return 33319;if(n===Rt)return 33320;if(n===It)return 36249;if(n===Dt||n===Ut||n===Nt||n===Ot)if(r===_e){if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),null===s)return null;if(n===Dt)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Ut)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Nt)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Ot)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(s=e.get("WEBGL_compressed_texture_s3tc"),null===s)return null;if(n===Dt)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Ut)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Nt)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Ot)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(n===zt||n===Bt||n===Ft||n===kt){if(s=e.get("WEBGL_compressed_texture_pvrtc"),null===s)return null;if(n===zt)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===Bt)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===Ft)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===kt)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(n===Gt)return s=e.get("WEBGL_compressed_texture_etc1"),null!==s?s.COMPRESSED_RGB_ETC1_WEBGL:null;if(n===Vt||n===Ht){if(s=e.get("WEBGL_compressed_texture_etc"),null===s)return null;if(n===Vt)return r===_e?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===Ht)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}if(n===Wt||n===jt||n===qt||n===Xt||n===Yt||n===Zt||n===Jt||n===Kt||n===$t||n===Qt||n===te||n===ee||n===ne||n===ie){if(s=e.get("WEBGL_compressed_texture_astc"),null===s)return null;if(n===Wt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===jt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===qt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===Xt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===Yt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===Zt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===Jt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===Kt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===$t)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===Qt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===te)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===ee)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===ne)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===ie)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}if(n===re){if(s=e.get("EXT_texture_compression_bptc"),null===s)return null;if(n===re)return r===_e?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT}if(n===se||n===ae||n===oe||n===le){if(s=e.get("EXT_texture_compression_rgtc"),null===s)return null;if(n===re)return s.COMPRESSED_RED_RGTC1_EXT;if(n===ae)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===oe)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===le)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return n===Mt?i?34042:(s=e.get("WEBGL_depth_texture"),null!==s?s.UNSIGNED_INT_24_8_WEBGL:null):void 0!==t[n]?t[n]:null}}}class go extends Pr{constructor(t=[]){super(),this.isArrayCamera=!0,this.cameras=t}}class vo extends vi{constructor(){super(),this.isGroup=!0,this.type="Group"}}const _o={type:"move"};class xo{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new vo,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new vo,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new gn,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new gn),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new vo,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new gn,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new gn),this._grip}dispatchEvent(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this}connect(t){if(t&&t.hand){const e=this._hand;if(e)for(const n of t.hand.values())this._getHandJoint(e,n)}return this.dispatchEvent({type:"connected",data:t}),this}disconnect(t){return this.dispatchEvent({type:"disconnected",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(t,e,n){let i=null,r=null,s=null;const a=this._targetRay,o=this._grip,l=this._hand;if(t&&"visible-blurred"!==e.session.visibilityState){if(l&&t.hand){s=!0;for(const i of t.hand.values()){const t=e.getJointPose(i,n),r=this._getHandJoint(l,i);null!==t&&(r.matrix.fromArray(t.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.jointRadius=t.radius),r.visible=null!==t}const i=l.joints["index-finger-tip"],r=l.joints["thumb-tip"],a=i.position.distanceTo(r.position),o=.02,c=.005;l.inputState.pinching&&a>o+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));null!==a&&(i=e.getPose(t.targetRaySpace,n),null===i&&null!==r&&(i=r),null!==i&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(_o)))}return null!==a&&(a.visible=null!==i),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}_getHandJoint(t,e){if(void 0===t.joints[e.jointName]){const n=new vo;n.matrixAutoUpdate=!1,n.visible=!1,t.joints[e.jointName]=n,t.add(n)}return t.joints[e.jointName]}}class yo extends hn{constructor(t,e,n,i,r,s,a,o,l,c){if((c=void 0!==c?c:Et)!==Et&&c!==At)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===Et&&(n=gt),void 0===n&&c===At&&(n=Mt),super(null,i,r,s,a,o,c,n,l),this.isDepthTexture=!0,this.image={width:t,height:e},this.magFilter=void 0!==a?a:st,this.minFilter=void 0!==o?o:st,this.flipY=!1,this.generateMipmaps=!1}}class Mo extends Le{constructor(t,e){super();const n=this;let i=null,r=1,s=null,a="local-floor",o=1,l=null,c=null,h=null,u=null,d=null,p=null;const m=e.getContextAttributes();let f=null,g=null;const v=[],_=[],x=new Set,y=new Map,M=new Pr;M.layers.enable(1),M.viewport=new un;const S=new Pr;S.layers.enable(2),S.viewport=new un;const b=[M,S],w=new go;w.layers.enable(1),w.layers.enable(2);let T=null,E=null;function A(t){const e=_.indexOf(t.inputSource);if(-1===e)return;const n=v[e];void 0!==n&&n.dispatchEvent({type:t.type,data:t.inputSource})}function C(){i.removeEventListener("select",A),i.removeEventListener("selectstart",A),i.removeEventListener("selectend",A),i.removeEventListener("squeeze",A),i.removeEventListener("squeezestart",A),i.removeEventListener("squeezeend",A),i.removeEventListener("end",C),i.removeEventListener("inputsourceschange",L);for(let t=0;t<v.length;t++){const e=_[t];null!==e&&(_[t]=null,v[t].disconnect(e))}T=null,E=null,t.setRenderTarget(f),d=null,u=null,h=null,i=null,g=null,U.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function L(t){for(let e=0;e<t.removed.length;e++){const n=t.removed[e],i=_.indexOf(n);i>=0&&(_[i]=null,v[i].disconnect(n))}for(let e=0;e<t.added.length;e++){const n=t.added[e];let i=_.indexOf(n);if(-1===i){for(let t=0;t<v.length;t++){if(t>=_.length){_.push(n),i=t;break}if(null===_[t]){_[t]=n,i=t;break}}if(-1===i)break}const r=v[i];r&&r.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=v[t];return void 0===e&&(e=new xo,v[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=v[t];return void 0===e&&(e=new xo,v[t]=e),e.getGripSpace()},this.getHand=function(t){let e=v[t];return void 0===e&&(e=new xo,v[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){r=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(t){a=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return l||s},this.setReferenceSpace=function(t){l=t},this.getBaseLayer=function(){return null!==u?u:d},this.getBinding=function(){return h},this.getFrame=function(){return p},this.getSession=function(){return i},this.setSession=async function(c){if(i=c,null!==i){if(f=t.getRenderTarget(),i.addEventListener("select",A),i.addEventListener("selectstart",A),i.addEventListener("selectend",A),i.addEventListener("squeeze",A),i.addEventListener("squeezestart",A),i.addEventListener("squeezeend",A),i.addEventListener("end",C),i.addEventListener("inputsourceschange",L),!0!==m.xrCompatible&&(await e.makeXRCompatible()),void 0===i.renderState.layers||!1===t.capabilities.isWebGL2){const n={antialias:void 0!==i.renderState.layers||m.antialias,alpha:m.alpha,depth:m.depth,stencil:m.stencil,framebufferScaleFactor:r};d=new XRWebGLLayer(i,e,n),i.updateRenderState({baseLayer:d}),g=new dn(d.framebufferWidth,d.framebufferHeight,{format:bt,type:ut,encoding:t.outputEncoding,stencilBuffer:m.stencil})}else{let n=null,s=null,a=null;m.depth&&(a=m.stencil?35056:33190,n=m.stencil?At:Et,s=m.stencil?Mt:gt);const o={colorFormat:32856,depthFormat:a,scaleFactor:r};h=new XRWebGLBinding(i,e),u=h.createProjectionLayer(o),i.updateRenderState({layers:[u]}),g=new dn(u.textureWidth,u.textureHeight,{format:bt,type:ut,depthTexture:new yo(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:m.stencil,encoding:t.outputEncoding,samples:m.antialias?4:0});t.properties.get(g).__ignoreDepthValues=u.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(o),l=null,s=await i.requestReferenceSpace(a),U.setContext(i),U.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}};const P=new gn,R=new gn;function I(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===i)return;w.near=S.near=M.near=t.near,w.far=S.far=M.far=t.far,T===w.near&&E===w.far||(i.updateRenderState({depthNear:w.near,depthFar:w.far}),T=w.near,E=w.far);const e=t.parent,n=w.cameras;I(w,e);for(let t=0;t<n.length;t++)I(n[t],e);2===n.length?function(t,e,n){P.setFromMatrixPosition(e.matrixWorld),R.setFromMatrixPosition(n.matrixWorld);const i=P.distanceTo(R),r=e.projectionMatrix.elements,s=n.projectionMatrix.elements,a=r[14]/(r[10]-1),o=r[14]/(r[10]+1),l=(r[9]+1)/r[5],c=(r[9]-1)/r[5],h=(r[8]-1)/r[0],u=(s[8]+1)/s[0],d=a*h,p=a*u,m=i/(-h+u),f=m*-h;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(f),t.translateZ(m),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.copy(t.matrixWorld).invert();const g=a+m,v=o+m,_=d-f,x=p+(i-f),y=l*o/v*g,M=c*o/v*g;t.projectionMatrix.makePerspective(_,x,y,M,g,v),t.projectionMatrixInverse.copy(t.projectionMatrix).invert()}(w,M,S):w.projectionMatrix.copy(M.projectionMatrix),function(t,e,n){null===n?t.matrix.copy(e.matrixWorld):(t.matrix.copy(n.matrixWorld),t.matrix.invert(),t.matrix.multiply(e.matrixWorld));t.matrix.decompose(t.position,t.quaternion,t.scale),t.updateMatrixWorld(!0);const i=t.children;for(let t=0,e=i.length;t<e;t++)i[t].updateMatrixWorld(!0);t.projectionMatrix.copy(e.projectionMatrix),t.projectionMatrixInverse.copy(e.projectionMatrixInverse),t.isPerspectiveCamera&&(t.fov=2*De*Math.atan(1/t.projectionMatrix.elements[5]),t.zoom=1)}(t,w,e)},this.getCamera=function(){return w},this.getFoveation=function(){if(null!==u||null!==d)return o},this.setFoveation=function(t){o=t,null!==u&&(u.fixedFoveation=t),null!==d&&void 0!==d.fixedFoveation&&(d.fixedFoveation=t)},this.getPlanes=function(){return x};let D=null;const U=new Vr;U.setAnimationLoop(function(e,i){if(c=i.getViewerPose(l||s),p=i,null!==c){const e=c.views;null!==d&&(t.setRenderTargetFramebuffer(g,d.framebuffer),t.setRenderTarget(g));let n=!1;e.length!==w.cameras.length&&(w.cameras.length=0,n=!0);for(let i=0;i<e.length;i++){const r=e[i];let s=null;if(null!==d)s=d.getViewport(r);else{const e=h.getViewSubImage(u,r);s=e.viewport,0===i&&(t.setRenderTargetTextures(g,e.colorTexture,u.ignoreDepthValues?void 0:e.depthStencilTexture),t.setRenderTarget(g))}let a=b[i];void 0===a&&(a=new Pr,a.layers.enable(i),a.viewport=new un,b[i]=a),a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.quaternion,a.scale),a.projectionMatrix.fromArray(r.projectionMatrix),a.projectionMatrixInverse.copy(a.projectionMatrix).invert(),a.viewport.set(s.x,s.y,s.width,s.height),0===i&&(w.matrix.copy(a.matrix),w.matrix.decompose(w.position,w.quaternion,w.scale)),!0===n&&w.cameras.push(a)}}for(let t=0;t<v.length;t++){const e=_[t],n=v[t];null!==e&&void 0!==n&&n.update(e,i,l||s)}if(D&&D(e,i),i.detectedPlanes){n.dispatchEvent({type:"planesdetected",data:i.detectedPlanes});let t=null;for(const e of x)i.detectedPlanes.has(e)||(null===t&&(t=[]),t.push(e));if(null!==t)for(const e of t)x.delete(e),y.delete(e),n.dispatchEvent({type:"planeremoved",data:e});for(const t of i.detectedPlanes)if(x.has(t)){const e=y.get(t);t.lastChangedTime>e&&(y.set(t,t.lastChangedTime),n.dispatchEvent({type:"planechanged",data:t}))}else x.add(t),y.set(t,i.lastChangedTime),n.dispatchEvent({type:"planeadded",data:t})}p=null}),this.setAnimationLoop=function(t){D=t},this.dispose=function(){}}}function So(t,e){function n(t,e){!0===t.matrixAutoUpdate&&t.updateMatrix(),e.value.copy(t.matrix)}function i(i,r){i.opacity.value=r.opacity,r.color&&i.diffuse.value.copy(r.color),r.emissive&&i.emissive.value.copy(r.emissive).multiplyScalar(r.emissiveIntensity),r.map&&(i.map.value=r.map,n(r.map,i.mapTransform)),r.alphaMap&&(i.alphaMap.value=r.alphaMap,n(r.alphaMap,i.alphaMapTransform)),r.bumpMap&&(i.bumpMap.value=r.bumpMap,n(r.bumpMap,i.bumpMapTransform),i.bumpScale.value=r.bumpScale,r.side===c&&(i.bumpScale.value*=-1)),r.normalMap&&(i.normalMap.value=r.normalMap,n(r.normalMap,i.normalMapTransform),i.normalScale.value.copy(r.normalScale),r.side===c&&i.normalScale.value.negate()),r.displacementMap&&(i.displacementMap.value=r.displacementMap,n(r.displacementMap,i.displacementMapTransform),i.displacementScale.value=r.displacementScale,i.displacementBias.value=r.displacementBias),r.emissiveMap&&(i.emissiveMap.value=r.emissiveMap,n(r.emissiveMap,i.emissiveMapTransform)),r.specularMap&&(i.specularMap.value=r.specularMap,n(r.specularMap,i.specularMapTransform)),r.alphaTest>0&&(i.alphaTest.value=r.alphaTest);const s=e.get(r).envMap;if(s&&(i.envMap.value=s,i.flipEnvMap.value=s.isCubeTexture&&!1===s.isRenderTargetTexture?-1:1,i.reflectivity.value=r.reflectivity,i.ior.value=r.ior,i.refractionRatio.value=r.refractionRatio),r.lightMap){i.lightMap.value=r.lightMap;const e=!0===t.useLegacyLights?Math.PI:1;i.lightMapIntensity.value=r.lightMapIntensity*e,n(r.lightMap,i.lightMapTransform)}r.aoMap&&(i.aoMap.value=r.aoMap,i.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,i.aoMapTransform))}return{refreshFogUniforms:function(e,n){n.color.getRGB(e.fogColor.value,Er(t)),n.isFog?(e.fogNear.value=n.near,e.fogFar.value=n.far):n.isFogExp2&&(e.fogDensity.value=n.density)},refreshMaterialUniforms:function(t,r,s,a,o){r.isMeshBasicMaterial||r.isMeshLambertMaterial?i(t,r):r.isMeshToonMaterial?(i(t,r),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(t,r)):r.isMeshPhongMaterial?(i(t,r),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4)}(t,r)):r.isMeshStandardMaterial?(i(t,r),function(t,i){t.metalness.value=i.metalness,i.metalnessMap&&(t.metalnessMap.value=i.metalnessMap,n(i.metalnessMap,t.metalnessMapTransform));t.roughness.value=i.roughness,i.roughnessMap&&(t.roughnessMap.value=i.roughnessMap,n(i.roughnessMap,t.roughnessMapTransform));const r=e.get(i).envMap;r&&(t.envMapIntensity.value=i.envMapIntensity)}(t,r),r.isMeshPhysicalMaterial&&function(t,e,i){t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap,n(e.sheenColorMap,t.sheenColorMapTransform)),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap,n(e.sheenRoughnessMap,t.sheenRoughnessMapTransform)));e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap,n(e.clearcoatMap,t.clearcoatMapTransform)),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap,n(e.clearcoatRoughnessMap,t.clearcoatRoughnessMapTransform)),e.clearcoatNormalMap&&(t.clearcoatNormalMap.value=e.clearcoatNormalMap,n(e.clearcoatNormalMap,t.clearcoatNormalMapTransform),t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),e.side===c&&t.clearcoatNormalScale.value.negate()));e.iridescence>0&&(t.iridescence.value=e.iridescence,t.iridescenceIOR.value=e.iridescenceIOR,t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(t.iridescenceMap.value=e.iridescenceMap,n(e.iridescenceMap,t.iridescenceMapTransform)),e.iridescenceThicknessMap&&(t.iridescenceThicknessMap.value=e.iridescenceThicknessMap,n(e.iridescenceThicknessMap,t.iridescenceThicknessMapTransform)));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap,n(e.transmissionMap,t.transmissionMapTransform)),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap,n(e.thicknessMap,t.thicknessMapTransform)),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor));t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap,n(e.specularColorMap,t.specularColorMapTransform));e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap,n(e.specularIntensityMap,t.specularIntensityMapTransform))}(t,r,o)):r.isMeshMatcapMaterial?(i(t,r),function(t,e){e.matcap&&(t.matcap.value=e.matcap)}(t,r)):r.isMeshDepthMaterial?i(t,r):r.isMeshDistanceMaterial?(i(t,r),function(t,n){const i=e.get(n).light;t.referencePosition.value.setFromMatrixPosition(i.matrixWorld),t.nearDistance.value=i.shadow.camera.near,t.farDistance.value=i.shadow.camera.far}(t,r)):r.isMeshNormalMaterial?i(t,r):r.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform))}(t,r),r.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,r)):r.isPointsMaterial?function(t,e,i,r){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*i,t.scale.value=.5*r,e.map&&(t.map.value=e.map,n(e.map,t.uvTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r,s,a):r.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r):r.isShadowMaterial?(t.color.value.copy(r.color),t.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function bo(t,e,n,i){let r={},s={},a=[];const o=n.isWebGL2?t.getParameter(35375):0;function l(t,e,n){const i=t.value;if(void 0===n[e]){if("number"==typeof i)n[e]=i;else{const t=Array.isArray(i)?i:[i],r=[];for(let e=0;e<t.length;e++)r.push(t[e].clone());n[e]=r}return!0}if("number"==typeof i){if(n[e]!==i)return n[e]=i,!0}else{const t=Array.isArray(n[e])?n[e]:[n[e]],r=Array.isArray(i)?i:[i];for(let e=0;e<t.length;e++){const n=t[e];if(!1===n.equals(r[e]))return n.copy(r[e]),!0}}return!1}function c(t){const e={boundary:0,storage:0};return"number"==typeof t?(e.boundary=4,e.storage=4):t.isVector2?(e.boundary=8,e.storage=8):t.isVector3||t.isColor?(e.boundary=16,e.storage=12):t.isVector4?(e.boundary=16,e.storage=16):t.isMatrix3?(e.boundary=48,e.storage=48):t.isMatrix4?(e.boundary=64,e.storage=64):t.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",t),e}function h(e){const n=e.target;n.removeEventListener("dispose",h);const i=a.indexOf(n.__bindingPointIndex);a.splice(i,1),t.deleteBuffer(r[n.id]),delete r[n.id],delete s[n.id]}return{bind:function(t,e){const n=e.program;i.uniformBlockBinding(t,n)},update:function(n,u){let d=r[n.id];void 0===d&&(!function(t){const e=t.uniforms;let n=0;const i=16;let r=0;for(let t=0,s=e.length;t<s;t++){const s=e[t],a={boundary:0,storage:0},o=Array.isArray(s.value)?s.value:[s.value];for(let t=0,e=o.length;t<e;t++){const e=c(o[t]);a.boundary+=e.boundary,a.storage+=e.storage}if(s.__data=new Float32Array(a.storage/Float32Array.BYTES_PER_ELEMENT),s.__offset=n,t>0){r=n%i;0!==r&&i-r-a.boundary<0&&(n+=i-r,s.__offset=n)}n+=a.storage}r=n%i,r>0&&(n+=i-r);t.__size=n,t.__cache={}}(n),d=function(e){const n=function(){for(let t=0;t<o;t++)if(-1===a.indexOf(t))return a.push(t),t;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}();e.__bindingPointIndex=n;const i=t.createBuffer(),r=e.__size,s=e.usage;return t.bindBuffer(35345,i),t.bufferData(35345,r,s),t.bindBuffer(35345,null),t.bindBufferBase(35345,n,i),i}(n),r[n.id]=d,n.addEventListener("dispose",h));const p=u.program;i.updateUBOMapping(n,p);const m=e.render.frame;s[n.id]!==m&&(!function(e){const n=r[e.id],i=e.uniforms,s=e.__cache;t.bindBuffer(35345,n);for(let e=0,n=i.length;e<n;e++){const n=i[e];if(!0===l(n,e,s)){const e=n.__offset,i=Array.isArray(n.value)?n.value:[n.value];let r=0;for(let s=0;s<i.length;s++){const a=i[s],o=c(a);"number"==typeof a?(n.__data[0]=a,t.bufferSubData(35345,e+r,n.__data)):a.isMatrix3?(n.__data[0]=a.elements[0],n.__data[1]=a.elements[1],n.__data[2]=a.elements[2],n.__data[3]=a.elements[0],n.__data[4]=a.elements[3],n.__data[5]=a.elements[4],n.__data[6]=a.elements[5],n.__data[7]=a.elements[0],n.__data[8]=a.elements[6],n.__data[9]=a.elements[7],n.__data[10]=a.elements[8],n.__data[11]=a.elements[0]):(a.toArray(n.__data,r),r+=o.storage/Float32Array.BYTES_PER_ELEMENT)}t.bufferSubData(35345,e,n.__data)}}t.bindBuffer(35345,null)}(n),s[n.id]=m)},dispose:function(){for(const e in r)t.deleteBuffer(r[e]);a=[],r={},s={}}}}function wo(){const t=Je("canvas");return t.style.display="block",t}class To{constructor(t={}){const{canvas:n=wo(),context:i=null,depth:r=!0,stencil:s=!0,alpha:a=!1,antialias:o=!1,premultipliedAlpha:u=!0,preserveDrawingBuffer:d=!1,powerPreference:p="default",failIfMajorPerformanceCaveat:m=!1}=t;let f;this.isWebGLRenderer=!0,f=null!==i?i.getContextAttributes().alpha:a;let g=null,v=null;const _=[],x=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=ve,this.useLegacyLights=!0,this.toneMapping=W,this.toneMappingExposure=1;const y=this;let M=!1,S=0,b=0,w=null,T=-1,E=null;const A=new un,C=new un;let L=null,P=n.width,R=n.height,I=1,D=null,U=null;const N=new un(0,0,P,R),O=new un(0,0,P,R);let z=!1;const B=new Gr;let F=!1,k=!1,G=null;const V=new qn,H=new gn,j={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function q(){return null===w?I:1}let X,Y,Z,J,K,$,Q,tt,et,nt,it,rt,st,at,ot,lt,ct,dt,pt,mt,ft,gt,xt,yt,Mt=i;function St(t,e){for(let i=0;i<t.length;i++){const r=t[i],s=n.getContext(r,e);if(null!==s)return s}return null}try{const t={alpha:!0,depth:r,stencil:s,antialias:o,premultipliedAlpha:u,preserveDrawingBuffer:d,powerPreference:p,failIfMajorPerformanceCaveat:m};if("setAttribute"in n&&n.setAttribute("data-engine",`three.js r${e}`),n.addEventListener("webglcontextlost",Et,!1),n.addEventListener("webglcontextrestored",At,!1),n.addEventListener("webglcontextcreationerror",Ct,!1),null===Mt){const e=["webgl2","webgl","experimental-webgl"];if(!0===y.isWebGL1Renderer&&e.shift(),Mt=St(e,t),null===Mt)throw St(e)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===Mt.getShaderPrecisionFormat&&(Mt.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(t){throw console.error("THREE.WebGLRenderer: "+t.message),t}function wt(){X=new _s(Mt),Y=new $r(Mt,X,t),X.init(Y),gt=new fo(Mt,X,Y),Z=new po(Mt,X,Y),J=new Ms,K=new Ja,$=new mo(Mt,X,Z,K,Y,gt,J),Q=new ts(y),tt=new vs(y),et=new Hr(Mt,Y),xt=new Jr(Mt,X,et,Y),nt=new xs(Mt,et,J,xt),it=new Ts(Mt,nt,et,J),pt=new ws(Mt,Y,$),lt=new Qr(K),rt=new Za(y,Q,tt,X,Y,xt,lt),st=new So(y,K),at=new to,ot=new ao(X,Y),dt=new Zr(y,Q,tt,Z,it,f,u),ct=new uo(y,it,Y),yt=new bo(Mt,J,Y,Z),mt=new Kr(Mt,X,J,Y),ft=new ys(Mt,X,J,Y),J.programs=rt.programs,y.capabilities=Y,y.extensions=X,y.properties=K,y.renderLists=at,y.shadowMap=ct,y.state=Z,y.info=J}wt();const Tt=new Mo(y,Mt);function Et(t){t.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),M=!0}function At(){console.log("THREE.WebGLRenderer: Context Restored."),M=!1;const t=J.autoReset,e=ct.enabled,n=ct.autoUpdate,i=ct.needsUpdate,r=ct.type;wt(),J.autoReset=t,ct.enabled=e,ct.autoUpdate=n,ct.needsUpdate=i,ct.type=r}function Ct(t){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",t.statusMessage)}function Lt(t){const e=t.target;e.removeEventListener("dispose",Lt),function(t){(function(t){const e=K.get(t).programs;void 0!==e&&(e.forEach(function(t){rt.releaseProgram(t)}),t.isShaderMaterial&&rt.releaseShaderCache(t))})(t),K.remove(t)}(e)}this.xr=Tt,this.getContext=function(){return Mt},this.getContextAttributes=function(){return Mt.getContextAttributes()},this.forceContextLoss=function(){const t=X.get("WEBGL_lose_context");t&&t.loseContext()},this.forceContextRestore=function(){const t=X.get("WEBGL_lose_context");t&&t.restoreContext()},this.getPixelRatio=function(){return I},this.setPixelRatio=function(t){void 0!==t&&(I=t,this.setSize(P,R,!1))},this.getSize=function(t){return t.set(P,R)},this.setSize=function(t,e,i=!0){Tt.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(P=t,R=e,n.width=Math.floor(t*I),n.height=Math.floor(e*I),!0===i&&(n.style.width=t+"px",n.style.height=e+"px"),this.setViewport(0,0,t,e))},this.getDrawingBufferSize=function(t){return t.set(P*I,R*I).floor()},this.setDrawingBufferSize=function(t,e,i){P=t,R=e,I=i,n.width=Math.floor(t*i),n.height=Math.floor(e*i),this.setViewport(0,0,t,e)},this.getCurrentViewport=function(t){return t.copy(A)},this.getViewport=function(t){return t.copy(N)},this.setViewport=function(t,e,n,i){t.isVector4?N.set(t.x,t.y,t.z,t.w):N.set(t,e,n,i),Z.viewport(A.copy(N).multiplyScalar(I).floor())},this.getScissor=function(t){return t.copy(O)},this.setScissor=function(t,e,n,i){t.isVector4?O.set(t.x,t.y,t.z,t.w):O.set(t,e,n,i),Z.scissor(C.copy(O).multiplyScalar(I).floor())},this.getScissorTest=function(){return z},this.setScissorTest=function(t){Z.setScissorTest(z=t)},this.setOpaqueSort=function(t){D=t},this.setTransparentSort=function(t){U=t},this.getClearColor=function(t){return t.copy(dt.getClearColor())},this.setClearColor=function(){dt.setClearColor.apply(dt,arguments)},this.getClearAlpha=function(){return dt.getClearAlpha()},this.setClearAlpha=function(){dt.setClearAlpha.apply(dt,arguments)},this.clear=function(t=!0,e=!0,n=!0){let i=0;t&&(i|=16384),e&&(i|=256),n&&(i|=1024),Mt.clear(i)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){n.removeEventListener("webglcontextlost",Et,!1),n.removeEventListener("webglcontextrestored",At,!1),n.removeEventListener("webglcontextcreationerror",Ct,!1),at.dispose(),ot.dispose(),K.dispose(),Q.dispose(),tt.dispose(),it.dispose(),xt.dispose(),yt.dispose(),rt.dispose(),Tt.dispose(),Tt.removeEventListener("sessionstart",Rt),Tt.removeEventListener("sessionend",It),G&&(G.dispose(),G=null),Dt.stop()},this.renderBufferDirect=function(t,e,n,i,r,s){null===e&&(e=j);const a=r.isMesh&&r.matrixWorld.determinant()<0,o=function(t,e,n,i,r){!0!==e.isScene&&(e=j);$.resetTextureUnits();const s=e.fog,a=i.isMeshStandardMaterial?e.environment:null,o=null===w?y.outputEncoding:!0===w.isXRRenderTarget?w.texture.encoding:ve,l=(i.isMeshStandardMaterial?tt:Q).get(i.envMap||a),c=!0===i.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize,h=!!i.normalMap&&!!n.attributes.tangent,u=!!n.morphAttributes.position,d=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=i.toneMapped?y.toneMapping:W,f=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=void 0!==f?f.length:0,_=K.get(i),x=v.state.lights;if(!0===F&&(!0===k||t!==E)){const e=t===E&&i.id===T;lt.setState(i,t,e)}let M=!1;i.version===_.__version?_.needsLights&&_.lightsStateVersion!==x.state.version||_.outputEncoding!==o||r.isInstancedMesh&&!1===_.instancing?M=!0:r.isInstancedMesh||!0!==_.instancing?r.isSkinnedMesh&&!1===_.skinning?M=!0:r.isSkinnedMesh||!0!==_.skinning?_.envMap!==l||!0===i.fog&&_.fog!==s?M=!0:void 0===_.numClippingPlanes||_.numClippingPlanes===lt.numPlanes&&_.numIntersection===lt.numIntersection?(_.vertexAlphas!==c||_.vertexTangents!==h||_.morphTargets!==u||_.morphNormals!==d||_.morphColors!==p||_.toneMapping!==m||!0===Y.isWebGL2&&_.morphTargetsCount!==g)&&(M=!0):M=!0:M=!0:M=!0:(M=!0,_.__version=i.version);let S=_.currentProgram;!0===M&&(S=Bt(i,e,r));let b=!1,A=!1,C=!1;const L=S.getUniforms(),P=_.uniforms;Z.useProgram(S.program)&&(b=!0,A=!0,C=!0);i.id!==T&&(T=i.id,A=!0);if(b||E!==t){if(L.setValue(Mt,"projectionMatrix",t.projectionMatrix),Y.logarithmicDepthBuffer&&L.setValue(Mt,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),E!==t&&(E=t,A=!0,C=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshStandardMaterial||i.envMap){const e=L.map.cameraPosition;void 0!==e&&e.setValue(Mt,H.setFromMatrixPosition(t.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&L.setValue(Mt,"isOrthographic",!0===t.isOrthographicCamera),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.isShadowMaterial||r.isSkinnedMesh)&&L.setValue(Mt,"viewMatrix",t.matrixWorldInverse)}if(r.isSkinnedMesh){L.setOptional(Mt,r,"bindMatrix"),L.setOptional(Mt,r,"bindMatrixInverse");const t=r.skeleton;t&&(Y.floatVertexTextures?(null===t.boneTexture&&t.computeBoneTexture(),L.setValue(Mt,"boneTexture",t.boneTexture,$),L.setValue(Mt,"boneTextureSize",t.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const D=n.morphAttributes;(void 0!==D.position||void 0!==D.normal||void 0!==D.color&&!0===Y.isWebGL2)&&pt.update(r,n,S);(A||_.receiveShadow!==r.receiveShadow)&&(_.receiveShadow=r.receiveShadow,L.setValue(Mt,"receiveShadow",r.receiveShadow));i.isMeshGouraudMaterial&&null!==i.envMap&&(P.envMap.value=l,P.flipEnvMap.value=l.isCubeTexture&&!1===l.isRenderTargetTexture?-1:1);A&&(L.setValue(Mt,"toneMappingExposure",y.toneMappingExposure),_.needsLights&&(N=C,(U=P).ambientLightColor.needsUpdate=N,U.lightProbe.needsUpdate=N,U.directionalLights.needsUpdate=N,U.directionalLightShadows.needsUpdate=N,U.pointLights.needsUpdate=N,U.pointLightShadows.needsUpdate=N,U.spotLights.needsUpdate=N,U.spotLightShadows.needsUpdate=N,U.rectAreaLights.needsUpdate=N,U.hemisphereLights.needsUpdate=N),s&&!0===i.fog&&st.refreshFogUniforms(P,s),st.refreshMaterialUniforms(P,i,I,R,G),La.upload(Mt,_.uniformsList,P,$));var U,N;i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(La.upload(Mt,_.uniformsList,P,$),i.uniformsNeedUpdate=!1);i.isSpriteMaterial&&L.setValue(Mt,"center",r.center);if(L.setValue(Mt,"modelViewMatrix",r.modelViewMatrix),L.setValue(Mt,"normalMatrix",r.normalMatrix),L.setValue(Mt,"modelMatrix",r.matrixWorld),i.isShaderMaterial||i.isRawShaderMaterial){const t=i.uniformsGroups;for(let e=0,n=t.length;e<n;e++)if(Y.isWebGL2){const n=t[e];yt.update(n,S),yt.bind(n,S)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return S}(t,e,n,i,r);Z.setMaterial(i,a);let l=n.index,c=1;!0===i.wireframe&&(l=nt.getWireframeAttribute(n),c=2);const h=n.drawRange,u=n.attributes.position;let d=h.start*c,p=(h.start+h.count)*c;null!==s&&(d=Math.max(d,s.start*c),p=Math.min(p,(s.start+s.count)*c)),null!==l?(d=Math.max(d,0),p=Math.min(p,l.count)):null!=u&&(d=Math.max(d,0),p=Math.min(p,u.count));const m=p-d;if(m<0||m===1/0)return;let f;xt.setup(r,i,o,n,l);let g=mt;if(null!==l&&(f=et.get(l),g=ft,g.setIndex(f)),r.isMesh)!0===i.wireframe?(Z.setLineWidth(i.wireframeLinewidth*q()),g.setMode(1)):g.setMode(4);else if(r.isLine){let t=i.linewidth;void 0===t&&(t=1),Z.setLineWidth(t*q()),r.isLineSegments?g.setMode(1):r.isLineLoop?g.setMode(2):g.setMode(3)}else r.isPoints?g.setMode(0):r.isSprite&&g.setMode(4);if(r.isInstancedMesh)g.renderInstances(d,m,r.count);else if(n.isInstancedBufferGeometry){const t=void 0!==n._maxInstanceCount?n._maxInstanceCount:1/0,e=Math.min(n.instanceCount,t);g.renderInstances(d,m,e)}else g.render(d,m)},this.compile=function(t,e){function n(t,e,n){!0===t.transparent&&t.side===h&&!1===t.forceSinglePass?(t.side=c,t.needsUpdate=!0,Bt(t,e,n),t.side=l,t.needsUpdate=!0,Bt(t,e,n),t.side=h):Bt(t,e,n)}v=ot.get(t),v.init(),x.push(v),t.traverseVisible(function(t){t.isLight&&t.layers.test(e.layers)&&(v.pushLight(t),t.castShadow&&v.pushShadow(t))}),v.setupLights(y.useLegacyLights),t.traverse(function(e){const i=e.material;if(i)if(Array.isArray(i))for(let r=0;r<i.length;r++){n(i[r],t,e)}else n(i,t,e)}),x.pop(),v=null};let Pt=null;function Rt(){Dt.stop()}function It(){Dt.start()}const Dt=new Vr;function Ut(t,e,n,i){if(!1===t.visible)return;if(t.layers.test(e.layers))if(t.isGroup)n=t.renderOrder;else if(t.isLOD)!0===t.autoUpdate&&t.update(e);else if(t.isLight)v.pushLight(t),t.castShadow&&v.pushShadow(t);else if(t.isSprite){if(!t.frustumCulled||B.intersectsSprite(t)){i&&H.setFromMatrixPosition(t.matrixWorld).applyMatrix4(V);const e=it.update(t),r=t.material;r.visible&&g.push(t,e,r,n,H.z,null)}}else if((t.isMesh||t.isLine||t.isPoints)&&(t.isSkinnedMesh&&t.skeleton.frame!==J.render.frame&&(t.skeleton.update(),t.skeleton.frame=J.render.frame),!t.frustumCulled||B.intersectsObject(t))){i&&H.setFromMatrixPosition(t.matrixWorld).applyMatrix4(V);const e=it.update(t),r=t.material;if(Array.isArray(r)){const i=e.groups;for(let s=0,a=i.length;s<a;s++){const a=i[s],o=r[a.materialIndex];o&&o.visible&&g.push(t,e,o,n,H.z,a)}}else r.visible&&g.push(t,e,r,n,H.z,null)}const r=t.children;for(let t=0,s=r.length;t<s;t++)Ut(r[t],e,n,i)}function Nt(t,e,n,i){const r=t.opaque,s=t.transmissive,a=t.transparent;v.setupLightsView(n),!0===F&&lt.setGlobalState(y.clippingPlanes,n),s.length>0&&function(t,e,n,i){if(null===G){const t=Y.isWebGL2;G=new dn(1024,1024,{generateMipmaps:!0,type:X.has("EXT_color_buffer_half_float")?_t:ut,minFilter:ht,samples:t&&!0===o?4:0})}const r=y.getRenderTarget();y.setRenderTarget(G),y.clear();const s=y.toneMapping;y.toneMapping=W,Ot(t,n,i),$.updateMultisampleRenderTarget(G),$.updateRenderTargetMipmap(G);let a=!1;for(let t=0,r=e.length;t<r;t++){const r=e[t],s=r.object,o=r.geometry,l=r.material,u=r.group;if(l.side===h&&s.layers.test(i.layers)){const t=l.side;l.side=c,l.needsUpdate=!0,zt(s,n,i,o,l,u),l.side=t,l.needsUpdate=!0,a=!0}}!0===a&&($.updateMultisampleRenderTarget(G),$.updateRenderTargetMipmap(G));y.setRenderTarget(r),y.toneMapping=s}(r,s,e,n),i&&Z.viewport(A.copy(i)),r.length>0&&Ot(r,e,n),s.length>0&&Ot(s,e,n),a.length>0&&Ot(a,e,n),Z.buffers.depth.setTest(!0),Z.buffers.depth.setMask(!0),Z.buffers.color.setMask(!0),Z.setPolygonOffset(!1)}function Ot(t,e,n){const i=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r<s;r++){const s=t[r],a=s.object,o=s.geometry,l=null===i?s.material:i,c=s.group;a.layers.test(n.layers)&&zt(a,e,n,o,l,c)}}function zt(t,e,n,i,r,s){t.onBeforeRender(y,e,n,i,r,s),t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),r.onBeforeRender(y,e,n,i,t,s),!0===r.transparent&&r.side===h&&!1===r.forceSinglePass?(r.side=c,r.needsUpdate=!0,y.renderBufferDirect(n,e,i,r,t,s),r.side=l,r.needsUpdate=!0,y.renderBufferDirect(n,e,i,r,t,s),r.side=h):y.renderBufferDirect(n,e,i,r,t,s),t.onAfterRender(y,e,n,i,r,s)}function Bt(t,e,n){!0!==e.isScene&&(e=j);const i=K.get(t),r=v.state.lights,s=v.state.shadowsArray,a=r.state.version,o=rt.getParameters(t,r.state,s,e,n),l=rt.getProgramCacheKey(o);let c=i.programs;i.environment=t.isMeshStandardMaterial?e.environment:null,i.fog=e.fog,i.envMap=(t.isMeshStandardMaterial?tt:Q).get(t.envMap||i.environment),void 0===c&&(t.addEventListener("dispose",Lt),c=new Map,i.programs=c);let h=c.get(l);if(void 0!==h){if(i.currentProgram===h&&i.lightsStateVersion===a)return Ft(t,o),h}else o.uniforms=rt.getUniforms(t),t.onBuild(n,o,y),t.onBeforeCompile(o,y),h=rt.acquireProgram(o,l),c.set(l,h),i.uniforms=o.uniforms;const u=i.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(u.clippingPlanes=lt.uniform),Ft(t,o),i.needsLights=function(t){return t.isMeshLambertMaterial||t.isMeshToonMaterial||t.isMeshPhongMaterial||t.isMeshStandardMaterial||t.isShadowMaterial||t.isShaderMaterial&&!0===t.lights}(t),i.lightsStateVersion=a,i.needsLights&&(u.ambientLightColor.value=r.state.ambient,u.lightProbe.value=r.state.probe,u.directionalLights.value=r.state.directional,u.directionalLightShadows.value=r.state.directionalShadow,u.spotLights.value=r.state.spot,u.spotLightShadows.value=r.state.spotShadow,u.rectAreaLights.value=r.state.rectArea,u.ltc_1.value=r.state.rectAreaLTC1,u.ltc_2.value=r.state.rectAreaLTC2,u.pointLights.value=r.state.point,u.pointLightShadows.value=r.state.pointShadow,u.hemisphereLights.value=r.state.hemi,u.directionalShadowMap.value=r.state.directionalShadowMap,u.directionalShadowMatrix.value=r.state.directionalShadowMatrix,u.spotShadowMap.value=r.state.spotShadowMap,u.spotLightMatrix.value=r.state.spotLightMatrix,u.spotLightMap.value=r.state.spotLightMap,u.pointShadowMap.value=r.state.pointShadowMap,u.pointShadowMatrix.value=r.state.pointShadowMatrix);const d=h.getUniforms(),p=La.seqWithValue(d.seq,u);return i.currentProgram=h,i.uniformsList=p,h}function Ft(t,e){const n=K.get(t);n.outputEncoding=e.outputEncoding,n.instancing=e.instancing,n.skinning=e.skinning,n.morphTargets=e.morphTargets,n.morphNormals=e.morphNormals,n.morphColors=e.morphColors,n.morphTargetsCount=e.morphTargetsCount,n.numClippingPlanes=e.numClippingPlanes,n.numIntersection=e.numClipIntersection,n.vertexAlphas=e.vertexAlphas,n.vertexTangents=e.vertexTangents,n.toneMapping=e.toneMapping}Dt.setAnimationLoop(function(t){Pt&&Pt(t)}),"undefined"!=typeof self&&Dt.setContext(self),this.setAnimationLoop=function(t){Pt=t,Tt.setAnimationLoop(t),null===t?Dt.stop():Dt.start()},Tt.addEventListener("sessionstart",Rt),Tt.addEventListener("sessionend",It),this.render=function(t,e){if(void 0!==e&&!0!==e.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===M)return;!0===t.matrixWorldAutoUpdate&&t.updateMatrixWorld(),null===e.parent&&!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),!0===Tt.enabled&&!0===Tt.isPresenting&&(!0===Tt.cameraAutoUpdate&&Tt.updateCamera(e),e=Tt.getCamera()),!0===t.isScene&&t.onBeforeRender(y,t,e,w),v=ot.get(t,x.length),v.init(),x.push(v),V.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),B.setFromProjectionMatrix(V),k=this.localClippingEnabled,F=lt.init(this.clippingPlanes,k),g=at.get(t,_.length),g.init(),_.push(g),Ut(t,e,0,y.sortObjects),g.finish(),!0===y.sortObjects&&g.sort(D,U),!0===F&&lt.beginShadows();const n=v.state.shadowsArray;if(ct.render(n,t,e),!0===F&&lt.endShadows(),!0===this.info.autoReset&&this.info.reset(),dt.render(g,t),v.setupLights(y.useLegacyLights),e.isArrayCamera){const n=e.cameras;for(let e=0,i=n.length;e<i;e++){const i=n[e];Nt(g,t,i,i.viewport)}}else Nt(g,t,e);null!==w&&($.updateMultisampleRenderTarget(w),$.updateRenderTargetMipmap(w)),!0===t.isScene&&t.onAfterRender(y,t,e),xt.resetDefaultState(),T=-1,E=null,x.pop(),v=x.length>0?x[x.length-1]:null,_.pop(),g=_.length>0?_[_.length-1]:null},this.getActiveCubeFace=function(){return S},this.getActiveMipmapLevel=function(){return b},this.getRenderTarget=function(){return w},this.setRenderTargetTextures=function(t,e,n){K.get(t.texture).__webglTexture=e,K.get(t.depthTexture).__webglTexture=n;const i=K.get(t);i.__hasExternalTextures=!0,i.__hasExternalTextures&&(i.__autoAllocateDepthBuffer=void 0===n,i.__autoAllocateDepthBuffer||!0===X.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),i.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(t,e){const n=K.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,n=0){w=t,S=e,b=n;let i=!0,r=null,s=!1,a=!1;if(t){const n=K.get(t);void 0!==n.__useDefaultFramebuffer?(Z.bindFramebuffer(36160,null),i=!1):void 0===n.__webglFramebuffer?$.setupRenderTarget(t):n.__hasExternalTextures&&$.rebindTextures(t,K.get(t.texture).__webglTexture,K.get(t.depthTexture).__webglTexture);const o=t.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(a=!0);const l=K.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(r=l[e],s=!0):r=Y.isWebGL2&&t.samples>0&&!1===$.useMultisampledRTT(t)?K.get(t).__webglMultisampledFramebuffer:l,A.copy(t.viewport),C.copy(t.scissor),L=t.scissorTest}else A.copy(N).multiplyScalar(I).floor(),C.copy(O).multiplyScalar(I).floor(),L=z;if(Z.bindFramebuffer(36160,r)&&Y.drawBuffers&&i&&Z.drawBuffers(t,r),Z.viewport(A),Z.scissor(C),Z.setScissorTest(L),s){const i=K.get(t.texture);Mt.framebufferTexture2D(36160,36064,34069+e,i.__webglTexture,n)}else if(a){const i=K.get(t.texture),r=e||0;Mt.framebufferTextureLayer(36160,36064,i.__webglTexture,n||0,r)}T=-1},this.readRenderTargetPixels=function(t,e,n,i,r,s,a){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=K.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]),o){Z.bindFramebuffer(36160,o);try{const a=t.texture,o=a.format,l=a.type;if(o!==bt&&gt.convert(o)!==Mt.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===_t&&(X.has("EXT_color_buffer_half_float")||Y.isWebGL2&&X.has("EXT_color_buffer_float"));if(!(l===ut||gt.convert(l)===Mt.getParameter(35738)||l===vt&&(Y.isWebGL2||X.has("OES_texture_float")||X.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&Mt.readPixels(e,n,i,r,gt.convert(o),gt.convert(l),s)}finally{const t=null!==w?K.get(w).__webglFramebuffer:null;Z.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),s=Math.floor(e.image.height*i);$.setTexture2D(e,0),Mt.copyTexSubImage2D(3553,n,0,0,t.x,t.y,r,s),Z.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,s=e.image.height,a=gt.convert(n.format),o=gt.convert(n.type);$.setTexture2D(n,0),Mt.pixelStorei(37440,n.flipY),Mt.pixelStorei(37441,n.premultiplyAlpha),Mt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?Mt.texSubImage2D(3553,i,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?Mt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):Mt.texSubImage2D(3553,i,t.x,t.y,a,o,e.image),0===i&&n.generateMipmaps&&Mt.generateMipmap(3553),Z.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,i,r=0){if(y.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const s=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=gt.convert(i.format),c=gt.convert(i.type);let h;if(i.isData3DTexture)$.setTexture3D(i,0),h=32879;else{if(!i.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");$.setTexture2DArray(i,0),h=35866}Mt.pixelStorei(37440,i.flipY),Mt.pixelStorei(37441,i.premultiplyAlpha),Mt.pixelStorei(3317,i.unpackAlignment);const u=Mt.getParameter(3314),d=Mt.getParameter(32878),p=Mt.getParameter(3316),m=Mt.getParameter(3315),f=Mt.getParameter(32877),g=n.isCompressedTexture?n.mipmaps[0]:n.image;Mt.pixelStorei(3314,g.width),Mt.pixelStorei(32878,g.height),Mt.pixelStorei(3316,t.min.x),Mt.pixelStorei(3315,t.min.y),Mt.pixelStorei(32877,t.min.z),n.isDataTexture||n.isData3DTexture?Mt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Mt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,g.data)):Mt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g),Mt.pixelStorei(3314,u),Mt.pixelStorei(32878,d),Mt.pixelStorei(3316,p),Mt.pixelStorei(3315,m),Mt.pixelStorei(32877,f),0===r&&i.generateMipmaps&&Mt.generateMipmap(h),Z.unbindTexture()},this.initTexture=function(t){t.isCubeTexture?$.setTextureCube(t,0):t.isData3DTexture?$.setTexture3D(t,0):t.isDataArrayTexture||t.isCompressedArrayTexture?$.setTexture2DArray(t,0):$.setTexture2D(t,0),Z.unbindTexture()},this.resetState=function(){S=0,b=0,w=null,Z.reset(),xt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(t){console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!t}}class Eo extends To{}Eo.prototype.isWebGL1Renderer=!0;class Ao{constructor(t,e=25e-5){this.isFogExp2=!0,this.name="",this.color=new Oi(t),this.density=e}clone(){return new Ao(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class Co{constructor(t,e=1,n=1e3){this.isFog=!0,this.name="",this.color=new Oi(t),this.near=e,this.far=n}clone(){return new Co(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class Lo extends vi{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(e.object.backgroundIntensity=this.backgroundIntensity),e}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(t){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=t}}class Po{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=Ee,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ue()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;i<r;i++)this.array[t+i]=e.array[n+i];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Ue()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(e,this.stride);return n.setUsage(this.usage),n}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Ue()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Ro=new gn;class Io{constructor(t,e,n,i=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=t,this.itemSize=e,this.offset=n,this.normalized=i}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,n=this.data.count;e<n;e++)Ro.fromBufferAttribute(this,e),Ro.applyMatrix4(t),this.setXYZ(e,Ro.x,Ro.y,Ro.z);return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++)Ro.fromBufferAttribute(this,e),Ro.applyNormalMatrix(t),this.setXYZ(e,Ro.x,Ro.y,Ro.z);return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++)Ro.fromBufferAttribute(this,e),Ro.transformDirection(t),this.setXYZ(e,Ro.x,Ro.y,Ro.z);return this}setX(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){let e=this.data.array[t*this.data.stride+this.offset];return this.normalized&&(e=Ge(e,this.array)),e}getY(t){let e=this.data.array[t*this.data.stride+this.offset+1];return this.normalized&&(e=Ge(e,this.array)),e}getZ(t){let e=this.data.array[t*this.data.stride+this.offset+2];return this.normalized&&(e=Ge(e,this.array)),e}getW(t){let e=this.data.array[t*this.data.stride+this.offset+3];return this.normalized&&(e=Ge(e,this.array)),e}setXY(t,e,n){return t=t*this.data.stride+this.offset,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=n,this}setXYZ(t,e,n,i){return t=t*this.data.stride+this.offset,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this}setXYZW(t,e,n,i,r){return t=t*this.data.stride+this.offset,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array),r=Ve(r,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this.data.array[t+3]=r,this}clone(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return new qi(new this.array.constructor(t),this.itemSize,this.normalized)}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new Io(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class Do extends Ri{constructor(t){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Oi(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}}let Uo;const No=new gn,Oo=new gn,zo=new gn,Bo=new We,Fo=new We,ko=new qn,Go=new gn,Vo=new gn,Ho=new gn,Wo=new We,jo=new We,qo=new We;class Xo extends vi{constructor(t){if(super(),this.isSprite=!0,this.type="Sprite",void 0===Uo){Uo=new ir;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),e=new Po(t,5);Uo.setIndex([0,1,2,0,2,3]),Uo.setAttribute("position",new Io(e,3,0,!1)),Uo.setAttribute("uv",new Io(e,2,3,!1))}this.geometry=Uo,this.material=void 0!==t?t:new Do,this.center=new We(.5,.5)}raycast(t,e){null===t.camera&&console.error("THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites."),Oo.setFromMatrixScale(this.matrixWorld),ko.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),zo.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&Oo.multiplyScalar(-zo.z);const n=this.material.rotation;let i,r;0!==n&&(r=Math.cos(n),i=Math.sin(n));const s=this.center;Yo(Go.set(-.5,-.5,0),zo,s,Oo,i,r),Yo(Vo.set(.5,-.5,0),zo,s,Oo,i,r),Yo(Ho.set(.5,.5,0),zo,s,Oo,i,r),Wo.set(0,0),jo.set(1,0),qo.set(1,1);let a=t.ray.intersectTriangle(Go,Vo,Ho,!1,No);if(null===a&&(Yo(Vo.set(-.5,.5,0),zo,s,Oo,i,r),jo.set(0,1),a=t.ray.intersectTriangle(Go,Ho,Vo,!1,No),null===a))return;const o=t.ray.origin.distanceTo(No);o<t.near||o>t.far||e.push({distance:o,point:No.clone(),uv:Li.getInterpolation(No,Go,Vo,Ho,Wo,jo,qo,new We),face:null,object:this})}copy(t,e){return super.copy(t,e),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function Yo(t,e,n,i,r,s){Bo.subVectors(t,n).addScalar(.5).multiply(i),void 0!==r?(Fo.x=s*Bo.x-r*Bo.y,Fo.y=r*Bo.x+s*Bo.y):Fo.copy(Bo),t.copy(e),t.x+=Fo.x,t.y+=Fo.y,t.applyMatrix4(ko)}const Zo=new gn,Jo=new gn;class Ko extends vi{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,n=e.length;t<n;t++){const n=e[t];this.addLevel(n.object.clone(),n.distance,n.hysteresis)}return this.autoUpdate=t.autoUpdate,this}addLevel(t,e=0,n=0){e=Math.abs(e);const i=this.levels;let r;for(r=0;r<i.length&&!(e<i[r].distance);r++);return i.splice(r,0,{distance:e,hysteresis:n,object:t}),this.add(t),this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(t){const e=this.levels;if(e.length>0){let n,i;for(n=1,i=e.length;n<i;n++){let i=e[n].distance;if(e[n].object.visible&&(i-=i*e[n].hysteresis),t<i)break}return e[n-1].object}return null}raycast(t,e){if(this.levels.length>0){Zo.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(Zo);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){Zo.setFromMatrixPosition(t.matrixWorld),Jo.setFromMatrixPosition(this.matrixWorld);const n=Zo.distanceTo(Jo)/t.zoom;let i,r;for(e[0].object.visible=!0,i=1,r=e.length;i<r;i++){let t=e[i].distance;if(e[i].object.visible&&(t-=t*e[i].hysteresis),!(n>=t))break;e[i-1].object.visible=!1,e[i].object.visible=!0}for(this._currentLevel=i-1;i<r;i++)e[i].object.visible=!1}}toJSON(t){const e=super.toJSON(t);!1===this.autoUpdate&&(e.object.autoUpdate=!1),e.object.levels=[];const n=this.levels;for(let t=0,i=n.length;t<i;t++){const i=n[t];e.object.levels.push({object:i.object.uuid,distance:i.distance,hysteresis:i.hysteresis})}return e}}const $o=new gn,Qo=new un,tl=new un,el=new gn,nl=new qn,il=new gn;class rl extends Mr{constructor(t,e){super(t,e),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new qn,this.bindMatrixInverse=new qn,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const t=this.geometry;null===this.boundingBox&&(this.boundingBox=new xn),this.boundingBox.makeEmpty();const e=t.getAttribute("position");for(let t=0;t<e.count;t++)il.fromBufferAttribute(e,t),this.applyBoneTransform(t,il),this.boundingBox.expandByPoint(il)}computeBoundingSphere(){const t=this.geometry;null===this.boundingSphere&&(this.boundingSphere=new zn),this.boundingSphere.makeEmpty();const e=t.getAttribute("position");for(let t=0;t<e.count;t++)il.fromBufferAttribute(e,t),this.applyBoneTransform(t,il),this.boundingSphere.expandByPoint(il)}copy(t,e){return super.copy(t,e),this.bindMode=t.bindMode,this.bindMatrix.copy(t.bindMatrix),this.bindMatrixInverse.copy(t.bindMatrixInverse),this.skeleton=t.skeleton,this}bind(t,e){this.skeleton=t,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.copy(e).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const t=new un,e=this.geometry.attributes.skinWeight;for(let n=0,i=e.count;n<i;n++){t.fromBufferAttribute(e,n);const i=1/t.manhattanLength();i!==1/0?t.multiplyScalar(i):t.set(1,0,0,0),e.setXYZW(n,t.x,t.y,t.z,t.w)}}updateMatrixWorld(t){super.updateMatrixWorld(t),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(t,e){const n=this.skeleton,i=this.geometry;Qo.fromBufferAttribute(i.attributes.skinIndex,t),tl.fromBufferAttribute(i.attributes.skinWeight,t),$o.copy(e).applyMatrix4(this.bindMatrix),e.set(0,0,0);for(let t=0;t<4;t++){const i=tl.getComponent(t);if(0!==i){const r=Qo.getComponent(t);nl.multiplyMatrices(n.bones[r].matrixWorld,n.boneInverses[r]),e.addScaledVector(el.copy($o).applyMatrix4(nl),i)}}return e.applyMatrix4(this.bindMatrixInverse)}boneTransform(t,e){return console.warn("THREE.SkinnedMesh: .boneTransform() was renamed to .applyBoneTransform() in r151."),this.applyBoneTransform(t,e)}}class sl extends vi{constructor(){super(),this.isBone=!0,this.type="Bone"}}class al extends hn{constructor(t=null,e=1,n=1,i,r,s,a,o,l=st,c=st,h,u){super(null,s,a,o,l,c,i,r,h,u),this.isDataTexture=!0,this.image={data:t,width:e,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const ol=new qn,ll=new qn;class cl{constructor(t=[],e=[]){this.uuid=Ue(),this.bones=t.slice(0),this.boneInverses=e,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){const t=this.bones,e=this.boneInverses;if(this.boneMatrices=new Float32Array(16*t.length),0===e.length)this.calculateInverses();else if(t.length!==e.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let t=0,e=this.bones.length;t<e;t++)this.boneInverses.push(new qn)}}calculateInverses(){this.boneInverses.length=0;for(let t=0,e=this.bones.length;t<e;t++){const e=new qn;this.bones[t]&&e.copy(this.bones[t].matrixWorld).invert(),this.boneInverses.push(e)}}pose(){for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];e&&e.matrixWorld.copy(this.boneInverses[t]).invert()}for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];e&&(e.parent&&e.parent.isBone?(e.matrix.copy(e.parent.matrixWorld).invert(),e.matrix.multiply(e.matrixWorld)):e.matrix.copy(e.matrixWorld),e.matrix.decompose(e.position,e.quaternion,e.scale))}}update(){const t=this.bones,e=this.boneInverses,n=this.boneMatrices,i=this.boneTexture;for(let i=0,r=t.length;i<r;i++){const r=t[i]?t[i].matrixWorld:ll;ol.multiplyMatrices(r,e[i]),ol.toArray(n,16*i)}null!==i&&(i.needsUpdate=!0)}clone(){return new cl(this.bones,this.boneInverses)}computeBoneTexture(){let t=Math.sqrt(4*this.bones.length);t=Fe(t),t=Math.max(t,4);const e=new Float32Array(t*t*4);e.set(this.boneMatrices);const n=new al(e,t,t,bt,vt);return n.needsUpdate=!0,this.boneMatrices=e,this.boneTexture=n,this.boneTextureSize=t,this}getBoneByName(t){for(let e=0,n=this.bones.length;e<n;e++){const n=this.bones[e];if(n.name===t)return n}}dispose(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(t,e){this.uuid=t.uuid;for(let n=0,i=t.bones.length;n<i;n++){const i=t.bones[n];let r=e[i];void 0===r&&(console.warn("THREE.Skeleton: No bone found with UUID:",i),r=new sl),this.bones.push(r),this.boneInverses.push(new qn().fromArray(t.boneInverses[n]))}return this.init(),this}toJSON(){const t={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};t.uuid=this.uuid;const e=this.bones,n=this.boneInverses;for(let i=0,r=e.length;i<r;i++){const r=e[i];t.bones.push(r.uuid);const s=n[i];t.boneInverses.push(s.toArray())}return t}}class hl extends qi{constructor(t,e,n,i=1){super(t,e,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=i}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}toJSON(){const t=super.toJSON();return t.meshPerAttribute=this.meshPerAttribute,t.isInstancedBufferAttribute=!0,t}}const ul=new qn,dl=new qn,pl=[],ml=new xn,fl=new qn,gl=new Mr,vl=new zn;class _l extends Mr{constructor(t,e,n){super(t,e),this.isInstancedMesh=!0,this.instanceMatrix=new hl(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let t=0;t<n;t++)this.setMatrixAt(t,fl)}computeBoundingBox(){const t=this.geometry,e=this.count;null===this.boundingBox&&(this.boundingBox=new xn),null===t.boundingBox&&t.computeBoundingBox(),this.boundingBox.makeEmpty();for(let n=0;n<e;n++)this.getMatrixAt(n,ul),ml.copy(t.boundingBox).applyMatrix4(ul),this.boundingBox.union(ml)}computeBoundingSphere(){const t=this.geometry,e=this.count;null===this.boundingSphere&&(this.boundingSphere=new zn),null===t.boundingSphere&&t.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let n=0;n<e;n++)this.getMatrixAt(n,ul),vl.copy(t.boundingSphere).applyMatrix4(ul),this.boundingSphere.union(vl)}copy(t,e){return super.copy(t,e),this.instanceMatrix.copy(t.instanceMatrix),null!==t.instanceColor&&(this.instanceColor=t.instanceColor.clone()),this.count=t.count,this}getColorAt(t,e){e.fromArray(this.instanceColor.array,3*t)}getMatrixAt(t,e){e.fromArray(this.instanceMatrix.array,16*t)}raycast(t,e){const n=this.matrixWorld,i=this.count;if(gl.geometry=this.geometry,gl.material=this.material,void 0!==gl.material&&(null===this.boundingSphere&&this.computeBoundingSphere(),vl.copy(this.boundingSphere),vl.applyMatrix4(n),!1!==t.ray.intersectsSphere(vl)))for(let r=0;r<i;r++){this.getMatrixAt(r,ul),dl.multiplyMatrices(n,ul),gl.matrixWorld=dl,gl.raycast(t,pl);for(let t=0,n=pl.length;t<n;t++){const n=pl[t];n.instanceId=r,n.object=this,e.push(n)}pl.length=0}}setColorAt(t,e){null===this.instanceColor&&(this.instanceColor=new hl(new Float32Array(3*this.instanceMatrix.count),3)),e.toArray(this.instanceColor.array,3*t)}setMatrixAt(t,e){e.toArray(this.instanceMatrix.array,16*t)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}class xl extends Ri{constructor(t){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new Oi(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this.fog=t.fog,this}}const yl=new gn,Ml=new gn,Sl=new qn,bl=new jn,wl=new zn;class Tl extends vi{constructor(t=new ir,e=new xl){super(),this.isLine=!0,this.type="Line",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=t.material,this.geometry=t.geometry,this}computeLineDistances(){const t=this.geometry;if(null===t.index){const e=t.attributes.position,n=[0];for(let t=1,i=e.count;t<i;t++)yl.fromBufferAttribute(e,t-1),Ml.fromBufferAttribute(e,t),n[t]=n[t-1],n[t]+=yl.distanceTo(Ml);t.setAttribute("lineDistance",new Zi(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Line.threshold,s=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),wl.copy(n.boundingSphere),wl.applyMatrix4(i),wl.radius+=r,!1===t.ray.intersectsSphere(wl))return;Sl.copy(i).invert(),bl.copy(t.ray).applyMatrix4(Sl);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a,l=new gn,c=new gn,h=new gn,u=new gn,d=this.isLineSegments?2:1,p=n.index,m=n.attributes.position;if(null!==p){for(let n=Math.max(0,s.start),i=Math.min(p.count,s.start+s.count)-1;n<i;n+=d){const i=p.getX(n),r=p.getX(n+1);l.fromBufferAttribute(m,i),c.fromBufferAttribute(m,r);if(bl.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const s=t.ray.origin.distanceTo(u);s<t.near||s>t.far||e.push({distance:s,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,s.start),i=Math.min(m.count,s.start+s.count)-1;n<i;n+=d){l.fromBufferAttribute(m,n),c.fromBufferAttribute(m,n+1);if(bl.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(u);i<t.near||i>t.far||e.push({distance:i,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t<e;t++){const e=n[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}}const El=new gn,Al=new gn;class Cl extends Tl{constructor(t,e){super(t,e),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,i=e.count;t<i;t+=2)El.fromBufferAttribute(e,t),Al.fromBufferAttribute(e,t+1),n[t]=0===t?0:n[t-1],n[t+1]=n[t]+El.distanceTo(Al);t.setAttribute("lineDistance",new Zi(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class Ll extends Tl{constructor(t,e){super(t,e),this.isLineLoop=!0,this.type="LineLoop"}}class Pl extends Ri{constructor(t){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new Oi(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}}const Rl=new qn,Il=new jn,Dl=new zn,Ul=new gn;class Nl extends vi{constructor(t=new ir,e=new Pl){super(),this.isPoints=!0,this.type="Points",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=t.material,this.geometry=t.geometry,this}raycast(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Points.threshold,s=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),Dl.copy(n.boundingSphere),Dl.applyMatrix4(i),Dl.radius+=r,!1===t.ray.intersectsSphere(Dl))return;Rl.copy(i).invert(),Il.copy(t.ray).applyMatrix4(Rl);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a,l=n.index,c=n.attributes.position;if(null!==l){for(let n=Math.max(0,s.start),r=Math.min(l.count,s.start+s.count);n<r;n++){const r=l.getX(n);Ul.fromBufferAttribute(c,r),Ol(Ul,r,o,i,t,e,this)}}else{for(let n=Math.max(0,s.start),r=Math.min(c.count,s.start+s.count);n<r;n++)Ul.fromBufferAttribute(c,n),Ol(Ul,n,o,i,t,e,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t<e;t++){const e=n[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}}function Ol(t,e,n,i,r,s,a){const o=Il.distanceSqToPoint(t);if(o<n){const n=new gn;Il.closestPointToPoint(t,n),n.applyMatrix4(i);const l=r.ray.origin.distanceTo(n);if(l<r.near||l>r.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}class zl extends hn{constructor(t,e,n,i,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,i,r,h,u),this.isCompressedTexture=!0,this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}class Bl{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),r=0;e.push(0);for(let s=1;s<=t;s++)n=this.getPoint(s/t),r+=n.distanceTo(i),e.push(r),i=n;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const r=n.length;let s;s=e||t*n[r-1];let a,o=0,l=r-1;for(;o<=l;)if(i=Math.floor(o+(l-o)/2),a=n[i]-s,a<0)o=i+1;else{if(!(a>0)){l=i;break}l=i-1}if(i=l,n[i]===s)return i/(r-1);const c=n[i];return(i+(s-c)/(n[i+1]-c))/(r-1)}getTangent(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const s=this.getPoint(i),a=this.getPoint(r),o=e||(s.isVector2?new We:new gn);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new gn,i=[],r=[],s=[],a=new gn,o=new qn;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new gn)}r[0]=new gn,s[0]=new gn;let l=Number.MAX_VALUE;const c=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);c<=l&&(l=c,n.set(1,0,0)),h<=l&&(l=h,n.set(0,1,0)),u<=l&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],a),s[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),s[e]=s[e-1].clone(),a.crossVectors(i[e-1],i[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(Ne(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(i[e],r[e])}if(!0===e){let e=Math.acos(Ne(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(o.makeRotationAxis(i[n],e*n)),s[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:s}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Fl extends Bl{constructor(t=0,e=0,n=1,i=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new We,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)<Number.EPSILON;for(;r<0;)r+=i;for(;r>i;)r-=i;r<Number.EPSILON&&(r=s?0:i),!0!==this.aClockwise||s||(r===i?r=-i:r-=i);const a=this.aStartAngle+t*r;let o=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const t=Math.cos(this.aRotation),e=Math.sin(this.aRotation),n=o-this.aX,i=l-this.aY;o=n*t-i*e+this.aX,l=n*e+i*t+this.aY}return n.set(o,l)}copy(t){return super.copy(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}toJSON(){const t=super.toJSON();return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t}fromJSON(t){return super.fromJSON(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}}class kl extends Fl{constructor(t,e,n,i,r,s){super(t,e,n,n,i,r,s),this.isArcCurve=!0,this.type="ArcCurve"}}function Gl(){let t=0,e=0,n=0,i=0;function r(r,s,a,o){t=r,e=a,n=-3*r+3*s-2*a-o,i=2*r-2*s+a+o}return{initCatmullRom:function(t,e,n,i,s){r(e,n,s*(n-t),s*(i-e))},initNonuniformCatmullRom:function(t,e,n,i,s,a,o){let l=(e-t)/s-(n-t)/(s+a)+(n-e)/a,c=(n-e)/a-(i-e)/(a+o)+(i-n)/o;l*=a,c*=a,r(e,n,l,c)},calc:function(r){const s=r*r;return t+e*r+n*s+i*(s*r)}}}const Vl=new gn,Hl=new Gl,Wl=new Gl,jl=new Gl;class ql extends Bl{constructor(t=[],e=!1,n="centripetal",i=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=t,this.closed=e,this.curveType=n,this.tension=i}getPoint(t,e=new gn){const n=e,i=this.points,r=i.length,s=(r-(this.closed?0:1))*t;let a,o,l=Math.floor(s),c=s-l;this.closed?l+=l>0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=i[(l-1)%r]:(Vl.subVectors(i[0],i[1]).add(i[0]),a=Vl);const h=i[l%r],u=i[(l+1)%r];if(this.closed||l+2<r?o=i[(l+2)%r]:(Vl.subVectors(i[r-1],i[r-2]).add(i[r-1]),o=Vl),"centripetal"===this.curveType||"chordal"===this.curveType){const t="chordal"===this.curveType?.5:.25;let e=Math.pow(a.distanceToSquared(h),t),n=Math.pow(h.distanceToSquared(u),t),i=Math.pow(u.distanceToSquared(o),t);n<1e-4&&(n=1),e<1e-4&&(e=n),i<1e-4&&(i=n),Hl.initNonuniformCatmullRom(a.x,h.x,u.x,o.x,e,n,i),Wl.initNonuniformCatmullRom(a.y,h.y,u.y,o.y,e,n,i),jl.initNonuniformCatmullRom(a.z,h.z,u.z,o.z,e,n,i)}else"catmullrom"===this.curveType&&(Hl.initCatmullRom(a.x,h.x,u.x,o.x,this.tension),Wl.initCatmullRom(a.y,h.y,u.y,o.y,this.tension),jl.initCatmullRom(a.z,h.z,u.z,o.z,this.tension));return n.set(Hl.calc(c),Wl.calc(c),jl.calc(c)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(new gn().fromArray(n))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}}function Xl(t,e,n,i,r){const s=.5*(i-e),a=.5*(r-n),o=t*t;return(2*n-2*i+s+a)*(t*o)+(-3*n+3*i-2*s-a)*o+s*t+n}function Yl(t,e,n,i){return function(t,e){const n=1-t;return n*n*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,n)+function(t,e){return t*t*e}(t,i)}function Zl(t,e,n,i,r){return function(t,e){const n=1-t;return n*n*n*e}(t,e)+function(t,e){const n=1-t;return 3*n*n*t*e}(t,n)+function(t,e){return 3*(1-t)*t*t*e}(t,i)+function(t,e){return t*t*t*e}(t,r)}class Jl extends Bl{constructor(t=new We,e=new We,n=new We,i=new We){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=t,this.v1=e,this.v2=n,this.v3=i}getPoint(t,e=new We){const n=e,i=this.v0,r=this.v1,s=this.v2,a=this.v3;return n.set(Zl(t,i.x,r.x,s.x,a.x),Zl(t,i.y,r.y,s.y,a.y)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}class Kl extends Bl{constructor(t=new gn,e=new gn,n=new gn,i=new gn){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=t,this.v1=e,this.v2=n,this.v3=i}getPoint(t,e=new gn){const n=e,i=this.v0,r=this.v1,s=this.v2,a=this.v3;return n.set(Zl(t,i.x,r.x,s.x,a.x),Zl(t,i.y,r.y,s.y,a.y),Zl(t,i.z,r.z,s.z,a.z)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}class $l extends Bl{constructor(t=new We,e=new We){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=t,this.v2=e}getPoint(t,e=new We){const n=e;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new We){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class Ql extends Bl{constructor(t=new gn,e=new gn){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=t,this.v2=e}getPoint(t,e=new gn){const n=e;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new gn){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class tc extends Bl{constructor(t=new We,e=new We,n=new We){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=t,this.v1=e,this.v2=n}getPoint(t,e=new We){const n=e,i=this.v0,r=this.v1,s=this.v2;return n.set(Yl(t,i.x,r.x,s.x),Yl(t,i.y,r.y,s.y)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class ec extends Bl{constructor(t=new gn,e=new gn,n=new gn){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=t,this.v1=e,this.v2=n}getPoint(t,e=new gn){const n=e,i=this.v0,r=this.v1,s=this.v2;return n.set(Yl(t,i.x,r.x,s.x),Yl(t,i.y,r.y,s.y),Yl(t,i.z,r.z,s.z)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class nc extends Bl{constructor(t=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=t}getPoint(t,e=new We){const n=e,i=this.points,r=(i.length-1)*t,s=Math.floor(r),a=r-s,o=i[0===s?s:s-1],l=i[s],c=i[s>i.length-2?i.length-1:s+1],h=i[s>i.length-3?i.length-1:s+2];return n.set(Xl(a,o.x,l.x,c.x,h.x),Xl(a,o.y,l.y,c.y,h.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}return t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(new We().fromArray(n))}return this}}var ic=Object.freeze({__proto__:null,ArcCurve:kl,CatmullRomCurve3:ql,CubicBezierCurve:Jl,CubicBezierCurve3:Kl,EllipseCurve:Fl,LineCurve:$l,LineCurve3:Ql,QuadraticBezierCurve:tc,QuadraticBezierCurve3:ec,SplineCurve:nc});class rc extends Bl{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){const t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new $l(e,t))}getPoint(t,e){const n=t*this.getLength(),i=this.getCurveLengths();let r=0;for(;r<i.length;){if(i[r]>=n){const t=i[r]-n,s=this.curves[r],a=s.getLength(),o=0===a?0:1-t/a;return s.getPointAt(o,e)}r++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n<i;n++)e+=this.curves[n].getLength(),t.push(e);return this.cacheLengths=t,t}getSpacedPoints(t=40){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return this.autoClose&&e.push(e[0]),e}getPoints(t=12){const e=[];let n;for(let i=0,r=this.curves;i<r.length;i++){const s=r[i],a=s.isEllipseCurve?2*t:s.isLineCurve||s.isLineCurve3?1:s.isSplineCurve?t*s.points.length:t,o=s.getPoints(a);for(let t=0;t<o.length;t++){const i=o[t];n&&n.equals(i)||(e.push(i),n=i)}}return this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push(n.clone())}return this.autoClose=t.autoClose,this}toJSON(){const t=super.toJSON();t.autoClose=this.autoClose,t.curves=[];for(let e=0,n=this.curves.length;e<n;e++){const n=this.curves[e];t.curves.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.autoClose=t.autoClose,this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push(new ic[n.type]().fromJSON(n))}return this}}class sc extends rc{constructor(t){super(),this.type="Path",this.currentPoint=new We,t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,n=t.length;e<n;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){return this.currentPoint.set(t,e),this}lineTo(t,e){const n=new $l(this.currentPoint.clone(),new We(t,e));return this.curves.push(n),this.currentPoint.set(t,e),this}quadraticCurveTo(t,e,n,i){const r=new tc(this.currentPoint.clone(),new We(t,e),new We(n,i));return this.curves.push(r),this.currentPoint.set(n,i),this}bezierCurveTo(t,e,n,i,r,s){const a=new Jl(this.currentPoint.clone(),new We(t,e),new We(n,i),new We(r,s));return this.curves.push(a),this.currentPoint.set(r,s),this}splineThru(t){const e=[this.currentPoint.clone()].concat(t),n=new nc(e);return this.curves.push(n),this.currentPoint.copy(t[t.length-1]),this}arc(t,e,n,i,r,s){const a=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(t+a,e+o,n,i,r,s),this}absarc(t,e,n,i,r,s){return this.absellipse(t,e,n,n,i,r,s),this}ellipse(t,e,n,i,r,s,a,o){const l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(t+l,e+c,n,i,r,s,a,o),this}absellipse(t,e,n,i,r,s,a,o){const l=new Fl(t,e,n,i,r,s,a,o);if(this.curves.length>0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class ac extends ir{constructor(t=[new We(0,-.5),new We(.5,0),new We(0,.5)],e=12,n=0,i=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:n,phiLength:i},e=Math.floor(e),i=Ne(i,0,2*Math.PI);const r=[],s=[],a=[],o=[],l=[],c=1/e,h=new gn,u=new We,d=new gn,p=new gn,m=new gn;let f=0,g=0;for(let e=0;e<=t.length-1;e++)switch(e){case 0:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,m.copy(d),d.normalize(),o.push(d.x,d.y,d.z);break;case t.length-1:o.push(m.x,m.y,m.z);break;default:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,p.copy(d),d.x+=m.x,d.y+=m.y,d.z+=m.z,d.normalize(),o.push(d.x,d.y,d.z),m.copy(p);}for(let r=0;r<=e;r++){const d=n+r*c*i,p=Math.sin(d),m=Math.cos(d);for(let n=0;n<=t.length-1;n++){h.x=t[n].x*p,h.y=t[n].y,h.z=t[n].x*m,s.push(h.x,h.y,h.z),u.x=r/e,u.y=n/(t.length-1),a.push(u.x,u.y);const i=o[3*n+0]*p,c=o[3*n+1],d=o[3*n+0]*m;l.push(i,c,d)}}for(let n=0;n<e;n++)for(let e=0;e<t.length-1;e++){const i=e+n*t.length,s=i,a=i+t.length,o=i+t.length+1,l=i+1;r.push(s,a,l),r.push(o,l,a)}this.setIndex(r),this.setAttribute("position",new Zi(s,3)),this.setAttribute("uv",new Zi(a,2)),this.setAttribute("normal",new Zi(l,3))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new ac(t.points,t.segments,t.phiStart,t.phiLength)}}class oc extends ac{constructor(t=1,e=1,n=4,i=8){const r=new sc;r.absarc(0,-e/2,t,1.5*Math.PI,0),r.absarc(0,e/2,t,0,.5*Math.PI),super(r.getPoints(n),i),this.type="CapsuleGeometry",this.parameters={radius:t,height:e,capSegments:n,radialSegments:i}}static fromJSON(t){return new oc(t.radius,t.length,t.capSegments,t.radialSegments)}}class lc extends ir{constructor(t=1,e=32,n=0,i=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i},e=Math.max(3,e);const r=[],s=[],a=[],o=[],l=new gn,c=new We;s.push(0,0,0),a.push(0,0,1),o.push(.5,.5);for(let r=0,h=3;r<=e;r++,h+=3){const u=n+r/e*i;l.x=t*Math.cos(u),l.y=t*Math.sin(u),s.push(l.x,l.y,l.z),a.push(0,0,1),c.x=(s[h]/t+1)/2,c.y=(s[h+1]/t+1)/2,o.push(c.x,c.y)}for(let t=1;t<=e;t++)r.push(t,t+1,0);this.setIndex(r),this.setAttribute("position",new Zi(s,3)),this.setAttribute("normal",new Zi(a,3)),this.setAttribute("uv",new Zi(o,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new lc(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class cc extends ir{constructor(t=1,e=1,n=1,i=32,r=1,s=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:s,thetaStart:a,thetaLength:o};const l=this;i=Math.floor(i),r=Math.floor(r);const c=[],h=[],u=[],d=[];let p=0;const m=[],f=n/2;let g=0;function v(n){const r=p,s=new We,m=new gn;let v=0;const _=!0===n?t:e,x=!0===n?1:-1;for(let t=1;t<=i;t++)h.push(0,f*x,0),u.push(0,x,0),d.push(.5,.5),p++;const y=p;for(let t=0;t<=i;t++){const e=t/i*o+a,n=Math.cos(e),r=Math.sin(e);m.x=_*r,m.y=f*x,m.z=_*n,h.push(m.x,m.y,m.z),u.push(0,x,0),s.x=.5*n+.5,s.y=.5*r*x+.5,d.push(s.x,s.y),p++}for(let t=0;t<i;t++){const e=r+t,i=y+t;!0===n?c.push(i,i+1,e):c.push(i+1,i,e),v+=3}l.addGroup(g,v,!0===n?1:2),g+=v}!function(){const s=new gn,v=new gn;let _=0;const x=(e-t)/n;for(let l=0;l<=r;l++){const c=[],g=l/r,_=g*(e-t)+t;for(let t=0;t<=i;t++){const e=t/i,r=e*o+a,l=Math.sin(r),m=Math.cos(r);v.x=_*l,v.y=-g*n+f,v.z=_*m,h.push(v.x,v.y,v.z),s.set(l,x,m).normalize(),u.push(s.x,s.y,s.z),d.push(e,1-g),c.push(p++)}m.push(c)}for(let t=0;t<i;t++)for(let e=0;e<r;e++){const n=m[e][t],i=m[e+1][t],r=m[e+1][t+1],s=m[e][t+1];c.push(n,i,s),c.push(i,r,s),_+=6}l.addGroup(g,_,0),g+=_}(),!1===s&&(t>0&&v(!0),e>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new Zi(h,3)),this.setAttribute("normal",new Zi(u,3)),this.setAttribute("uv",new Zi(d,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new cc(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class hc extends cc{constructor(t=1,e=1,n=32,i=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,n,i,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new hc(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class uc extends ir{constructor(t=[],e=[],n=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[],s=[];function a(t,e,n,i){const r=i+1,s=[];for(let i=0;i<=r;i++){s[i]=[];const a=t.clone().lerp(n,i/r),o=e.clone().lerp(n,i/r),l=r-i;for(let t=0;t<=l;t++)s[i][t]=0===t&&i===r?a:a.clone().lerp(o,t/l)}for(let t=0;t<r;t++)for(let e=0;e<2*(r-t)-1;e++){const n=Math.floor(e/2);e%2==0?(o(s[t][n+1]),o(s[t+1][n]),o(s[t][n])):(o(s[t][n+1]),o(s[t+1][n+1]),o(s[t+1][n]))}}function o(t){r.push(t.x,t.y,t.z)}function l(e,n){const i=3*e;n.x=t[i+0],n.y=t[i+1],n.z=t[i+2]}function c(t,e,n,i){i<0&&1===t.x&&(s[e]=t.x-1),0===n.x&&0===n.z&&(s[e]=i/2/Math.PI+.5)}function h(t){return Math.atan2(t.z,-t.x)}!function(t){const n=new gn,i=new gn,r=new gn;for(let s=0;s<e.length;s+=3)l(e[s+0],n),l(e[s+1],i),l(e[s+2],r),a(n,i,r,t)}(i),function(t){const e=new gn;for(let n=0;n<r.length;n+=3)e.x=r[n+0],e.y=r[n+1],e.z=r[n+2],e.normalize().multiplyScalar(t),r[n+0]=e.x,r[n+1]=e.y,r[n+2]=e.z}(n),function(){const t=new gn;for(let n=0;n<r.length;n+=3){t.x=r[n+0],t.y=r[n+1],t.z=r[n+2];const i=h(t)/2/Math.PI+.5,a=(e=t,Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))/Math.PI+.5);s.push(i,1-a)}var e;(function(){const t=new gn,e=new gn,n=new gn,i=new gn,a=new We,o=new We,l=new We;for(let u=0,d=0;u<r.length;u+=9,d+=6){t.set(r[u+0],r[u+1],r[u+2]),e.set(r[u+3],r[u+4],r[u+5]),n.set(r[u+6],r[u+7],r[u+8]),a.set(s[d+0],s[d+1]),o.set(s[d+2],s[d+3]),l.set(s[d+4],s[d+5]),i.copy(t).add(e).add(n).divideScalar(3);const p=h(i);c(a,d+0,t,p),c(o,d+2,e,p),c(l,d+4,n,p)}})(),function(){for(let t=0;t<s.length;t+=6){const e=s[t+0],n=s[t+2],i=s[t+4],r=Math.max(e,n,i),a=Math.min(e,n,i);r>.9&&a<.1&&(e<.2&&(s[t+0]+=1),n<.2&&(s[t+2]+=1),i<.2&&(s[t+4]+=1))}}()}(),this.setAttribute("position",new Zi(r,3)),this.setAttribute("normal",new Zi(r.slice(),3)),this.setAttribute("uv",new Zi(s,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new uc(t.vertices,t.indices,t.radius,t.details)}}class dc extends uc{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,i=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new dc(t.radius,t.detail)}}const pc=new gn,mc=new gn,fc=new gn,gc=new Li;class vc extends ir{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const n=4,i=Math.pow(10,n),r=Math.cos(Ie*e),s=t.getIndex(),a=t.getAttribute("position"),o=s?s.count:a.count,l=[0,0,0],c=["a","b","c"],h=new Array(3),u={},d=[];for(let t=0;t<o;t+=3){s?(l[0]=s.getX(t),l[1]=s.getX(t+1),l[2]=s.getX(t+2)):(l[0]=t,l[1]=t+1,l[2]=t+2);const{a:e,b:n,c:o}=gc;if(e.fromBufferAttribute(a,l[0]),n.fromBufferAttribute(a,l[1]),o.fromBufferAttribute(a,l[2]),gc.getNormal(fc),h[0]=`${Math.round(e.x*i)},${Math.round(e.y*i)},${Math.round(e.z*i)}`,h[1]=`${Math.round(n.x*i)},${Math.round(n.y*i)},${Math.round(n.z*i)}`,h[2]=`${Math.round(o.x*i)},${Math.round(o.y*i)},${Math.round(o.z*i)}`,h[0]!==h[1]&&h[1]!==h[2]&&h[2]!==h[0])for(let t=0;t<3;t++){const e=(t+1)%3,n=h[t],i=h[e],s=gc[c[t]],a=gc[c[e]],o=`${n}_${i}`,p=`${i}_${n}`;p in u&&u[p]?(fc.dot(u[p].normal)<=r&&(d.push(s.x,s.y,s.z),d.push(a.x,a.y,a.z)),u[p]=null):o in u||(u[o]={index0:l[t],index1:l[e],normal:fc.clone()})}}for(const t in u)if(u[t]){const{index0:e,index1:n}=u[t];pc.fromBufferAttribute(a,e),mc.fromBufferAttribute(a,n),d.push(pc.x,pc.y,pc.z),d.push(mc.x,mc.y,mc.z)}this.setAttribute("position",new Zi(d,3))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}}class _c extends sc{constructor(t){super(t),this.uuid=Ue(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n<i;n++)e[n]=this.holes[n].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t),this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.uuid=this.uuid,t.holes=[];for(let e=0,n=this.holes.length;e<n;e++){const n=this.holes[e];t.holes.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.uuid=t.uuid,this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push(new sc().fromJSON(n))}return this}}const xc=function(t,e,n=2){const i=e&&e.length,r=i?e[0]*n:t.length;let s=yc(t,0,r,n,!0);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,h,u,d,p;if(i&&(s=function(t,e,n,i){const r=[];let s,a,o,l,c;for(s=0,a=e.length;s<a;s++)o=e[s]*i,l=s<a-1?e[s+1]*i:t.length,c=yc(t,o,l,i,!1),c===c.next&&(c.steiner=!0),r.push(Rc(c));for(r.sort(Ac),s=0;s<r.length;s++)n=Cc(r[s],n);return n}(t,e,s,n)),t.length>80*n){o=c=t[0],l=h=t[1];for(let e=n;e<r;e+=n)u=t[e],d=t[e+1],u<o&&(o=u),d<l&&(l=d),u>c&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?32767/p:0}return Sc(s,a,n,o,l,p,0),a};function yc(t,e,n,i,r){let s,a;if(r===function(t,e,n,i){let r=0;for(let s=e,a=n-i;s<n;s+=i)r+=(t[a]-t[s])*(t[s+1]+t[a+1]),a=s;return r}(t,e,n,i)>0)for(s=e;s<n;s+=i)a=Gc(s,t[s],t[s+1],a);else for(s=n-i;s>=e;s-=i)a=Gc(s,t[s],t[s+1],a);return a&&Nc(a,a.next)&&(Vc(a),a=a.next),a}function Mc(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!Nc(i,i.next)&&0!==Uc(i.prev,i,i.next))i=i.next;else{if(Vc(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function Sc(t,e,n,i,r,s,a){if(!t)return;!a&&s&&function(t,e,n,i){let r=t;do{0===r.z&&(r.z=Pc(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,s,a,o,l,c=1;do{for(n=t,t=null,s=null,a=0;n;){for(a++,i=n,o=0,e=0;e<c&&(o++,i=i.nextZ,i);e++);for(l=c;o>0||l>0&&i;)0!==o&&(0===l||!i||n.z<=i.z)?(r=n,n=n.nextZ,o--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;n=i}s.nextZ=null,c*=2}while(a>1)}(r)}(t,i,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?wc(t,i,r,s):bc(t))e.push(o.i/n|0),e.push(t.i/n|0),e.push(l.i/n|0),Vc(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Sc(t=Tc(Mc(t),e,n),e,n,i,r,s,2):2===a&&Ec(t,e,n,i,r,s):Sc(Mc(t),e,n,i,r,s,1);break}}function bc(t){const e=t.prev,n=t,i=t.next;if(Uc(e,n,i)>=0)return!1;const r=e.x,s=n.x,a=i.x,o=e.y,l=n.y,c=i.y,h=r<s?r<a?r:a:s<a?s:a,u=o<l?o<c?o:c:l<c?l:c,d=r>s?r>a?r:a:s>a?s:a,p=o>l?o>c?o:c:l>c?l:c;let m=i.next;for(;m!==e;){if(m.x>=h&&m.x<=d&&m.y>=u&&m.y<=p&&Ic(r,o,s,l,a,c,m.x,m.y)&&Uc(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function wc(t,e,n,i){const r=t.prev,s=t,a=t.next;if(Uc(r,s,a)>=0)return!1;const o=r.x,l=s.x,c=a.x,h=r.y,u=s.y,d=a.y,p=o<l?o<c?o:c:l<c?l:c,m=h<u?h<d?h:d:u<d?u:d,f=o>l?o>c?o:c:l>c?l:c,g=h>u?h>d?h:d:u>d?u:d,v=Pc(p,m,e,n,i),_=Pc(f,g,e,n,i);let x=t.prevZ,y=t.nextZ;for(;x&&x.z>=v&&y&&y.z<=_;){if(x.x>=p&&x.x<=f&&x.y>=m&&x.y<=g&&x!==r&&x!==a&&Ic(o,h,l,u,c,d,x.x,x.y)&&Uc(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,y.x>=p&&y.x<=f&&y.y>=m&&y.y<=g&&y!==r&&y!==a&&Ic(o,h,l,u,c,d,y.x,y.y)&&Uc(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;x&&x.z>=v;){if(x.x>=p&&x.x<=f&&x.y>=m&&x.y<=g&&x!==r&&x!==a&&Ic(o,h,l,u,c,d,x.x,x.y)&&Uc(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;y&&y.z<=_;){if(y.x>=p&&y.x<=f&&y.y>=m&&y.y<=g&&y!==r&&y!==a&&Ic(o,h,l,u,c,d,y.x,y.y)&&Uc(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function Tc(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;!Nc(r,s)&&Oc(r,i,i.next,s)&&Fc(r,s)&&Fc(s,r)&&(e.push(r.i/n|0),e.push(i.i/n|0),e.push(s.i/n|0),Vc(i),Vc(i.next),i=t=s),i=i.next}while(i!==t);return Mc(i)}function Ec(t,e,n,i,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Dc(a,t)){let o=kc(a,t);return a=Mc(a,a.next),o=Mc(o,o.next),Sc(a,e,n,i,r,s,0),void Sc(o,e,n,i,r,s,0)}t=t.next}a=a.next}while(a!==t)}function Ac(t,e){return t.x-e.x}function Cc(t,e){const n=function(t,e){let n,i=e,r=-1/0;const s=t.x,a=t.y;do{if(a<=i.y&&a>=i.next.y&&i.next.y!==i.y){const t=i.x+(a-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=s&&t>r&&(r=t,n=i.x<i.next.x?i:i.next,t===s))return n}i=i.next}while(i!==e);if(!n)return null;const o=n,l=n.x,c=n.y;let h,u=1/0;i=n;do{s>=i.x&&i.x>=l&&s!==i.x&&Ic(a<c?s:r,a,l,c,a<c?r:s,a,i.x,i.y)&&(h=Math.abs(a-i.y)/(s-i.x),Fc(i,t)&&(h<u||h===u&&(i.x>n.x||i.x===n.x&&Lc(n,i)))&&(n=i,u=h)),i=i.next}while(i!==o);return n}(t,e);if(!n)return e;const i=kc(n,t);return Mc(i,i.next),Mc(n,n.next)}function Lc(t,e){return Uc(t.prev,t,e.prev)<0&&Uc(e.next,t,t.next)<0}function Pc(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Rc(t){let e=t,n=t;do{(e.x<n.x||e.x===n.x&&e.y<n.y)&&(n=e),e=e.next}while(e!==t);return n}function Ic(t,e,n,i,r,s,a,o){return(r-a)*(e-o)>=(t-a)*(s-o)&&(t-a)*(i-o)>=(n-a)*(e-o)&&(n-a)*(s-o)>=(r-a)*(i-o)}function Dc(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Oc(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Fc(t,e)&&Fc(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{n.y>s!=n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(Uc(t.prev,t,e.prev)||Uc(t,e.prev,e))||Nc(t,e)&&Uc(t.prev,t,t.next)>0&&Uc(e.prev,e,e.next)>0)}function Uc(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Nc(t,e){return t.x===e.x&&t.y===e.y}function Oc(t,e,n,i){const r=Bc(Uc(t,e,n)),s=Bc(Uc(t,e,i)),a=Bc(Uc(n,i,t)),o=Bc(Uc(n,i,e));return r!==s&&a!==o||!(0!==r||!zc(t,n,e))||!(0!==s||!zc(t,i,e))||!(0!==a||!zc(n,t,i))||!(0!==o||!zc(n,e,i))}function zc(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Bc(t){return t>0?1:t<0?-1:0}function Fc(t,e){return Uc(t.prev,t,t.next)<0?Uc(t,e,t.next)>=0&&Uc(t,t.prev,e)>=0:Uc(t,e,t.prev)<0||Uc(t,t.next,e)<0}function kc(t,e){const n=new Hc(t.i,t.x,t.y),i=new Hc(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,s.next=i,i.prev=s,i}function Gc(t,e,n,i){const r=new Hc(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Vc(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Hc(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Wc{static area(t){const e=t.length;let n=0;for(let i=e-1,r=0;r<e;i=r++)n+=t[i].x*t[r].y-t[r].x*t[i].y;return .5*n}static isClockWise(t){return Wc.area(t)<0}static triangulateShape(t,e){const n=[],i=[],r=[];jc(t),qc(n,t);let s=t.length;e.forEach(jc);for(let t=0;t<e.length;t++)i.push(s),s+=e[t].length,qc(n,e[t]);const a=xc(n,i);for(let t=0;t<a.length;t+=3)r.push(a.slice(t,t+3));return r}}function jc(t){const e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function qc(t,e){for(let n=0;n<e.length;n++)t.push(e[n].x),t.push(e[n].y)}class Xc extends ir{constructor(t=new _c([new We(.5,.5),new We(-.5,.5),new We(-.5,-.5),new We(.5,-.5)]),e={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];const n=this,i=[],r=[];for(let e=0,n=t.length;e<n;e++){s(t[e])}function s(t){const s=[],a=void 0!==e.curveSegments?e.curveSegments:12,o=void 0!==e.steps?e.steps:1,l=void 0!==e.depth?e.depth:1;let c=void 0===e.bevelEnabled||e.bevelEnabled,h=void 0!==e.bevelThickness?e.bevelThickness:.2,u=void 0!==e.bevelSize?e.bevelSize:h-.1,d=void 0!==e.bevelOffset?e.bevelOffset:0,p=void 0!==e.bevelSegments?e.bevelSegments:3;const m=e.extrudePath,f=void 0!==e.UVGenerator?e.UVGenerator:Yc;let g,v,_,x,y,M=!1;m&&(g=m.getSpacedPoints(o),M=!0,c=!1,v=m.computeFrenetFrames(o,!1),_=new gn,x=new gn,y=new gn),c||(p=0,h=0,u=0,d=0);const S=t.extractPoints(a);let b=S.shape;const w=S.holes;if(!Wc.isClockWise(b)){b=b.reverse();for(let t=0,e=w.length;t<e;t++){const e=w[t];Wc.isClockWise(e)&&(w[t]=e.reverse())}}const T=Wc.triangulateShape(b,w),E=b;for(let t=0,e=w.length;t<e;t++){const e=w[t];b=b.concat(e)}function A(t,e,n){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),t.clone().addScaledVector(e,n)}const C=b.length,L=T.length;function P(t,e,n){let i,r,s;const a=t.x-e.x,o=t.y-e.y,l=n.x-t.x,c=n.y-t.y,h=a*a+o*o,u=a*c-o*l;if(Math.abs(u)>Number.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((n.x-c/d-p)*c-(n.y+l/d-m)*l)/(a*c-o*l);i=p+a*f-t.x,r=m+o*f-t.y;const g=i*i+r*r;if(g<=2)return new We(i,r);s=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(c)&&(t=!0),t?(i=-o,r=a,s=Math.sqrt(h)):(i=a,r=o,s=Math.sqrt(h/2))}return new We(i/s,r/s)}const R=[];for(let t=0,e=E.length,n=e-1,i=t+1;t<e;t++,n++,i++)n===e&&(n=0),i===e&&(i=0),R[t]=P(E[t],E[n],E[i]);const I=[];let D,U=R.concat();for(let t=0,e=w.length;t<e;t++){const e=w[t];D=[];for(let t=0,n=e.length,i=n-1,r=t+1;t<n;t++,i++,r++)i===n&&(i=0),r===n&&(r=0),D[t]=P(e[t],e[i],e[r]);I.push(D),U=U.concat(D)}for(let t=0;t<p;t++){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t<e;t++){const e=A(E[t],R[t],i);z(e.x,e.y,-n)}for(let t=0,e=w.length;t<e;t++){const e=w[t];D=I[t];for(let t=0,r=e.length;t<r;t++){const r=A(e[t],D[t],i);z(r.x,r.y,-n)}}}const N=u+d;for(let t=0;t<C;t++){const e=c?A(b[t],U[t],N):b[t];M?(x.copy(v.normals[0]).multiplyScalar(e.x),_.copy(v.binormals[0]).multiplyScalar(e.y),y.copy(g[0]).add(x).add(_),z(y.x,y.y,y.z)):z(e.x,e.y,0)}for(let t=1;t<=o;t++)for(let e=0;e<C;e++){const n=c?A(b[e],U[e],N):b[e];M?(x.copy(v.normals[t]).multiplyScalar(n.x),_.copy(v.binormals[t]).multiplyScalar(n.y),y.copy(g[t]).add(x).add(_),z(y.x,y.y,y.z)):z(n.x,n.y,l/o*t)}for(let t=p-1;t>=0;t--){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t<e;t++){const e=A(E[t],R[t],i);z(e.x,e.y,l+n)}for(let t=0,e=w.length;t<e;t++){const e=w[t];D=I[t];for(let t=0,r=e.length;t<r;t++){const r=A(e[t],D[t],i);M?z(r.x,r.y+g[o-1].y,g[o-1].x+n):z(r.x,r.y,l+n)}}}function O(t,e){let n=t.length;for(;--n>=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=o+2*p;t<n;t++){const n=C*t,s=C*(t+1);F(e+i+n,e+r+n,e+r+s,e+i+s)}}}function z(t,e,n){s.push(t),s.push(e),s.push(n)}function B(t,e,r){k(t),k(e),k(r);const s=i.length/3,a=f.generateTopUV(n,i,s-3,s-2,s-1);G(a[0]),G(a[1]),G(a[2])}function F(t,e,r,s){k(t),k(e),k(s),k(e),k(r),k(s);const a=i.length/3,o=f.generateSideWallUV(n,i,a-6,a-3,a-2,a-1);G(o[0]),G(o[1]),G(o[3]),G(o[1]),G(o[2]),G(o[3])}function k(t){i.push(s[3*t+0]),i.push(s[3*t+1]),i.push(s[3*t+2])}function G(t){r.push(t.x),r.push(t.y)}!function(){const t=i.length/3;if(c){let t=0,e=C*t;for(let t=0;t<L;t++){const n=T[t];B(n[2]+e,n[1]+e,n[0]+e)}t=o+2*p,e=C*t;for(let t=0;t<L;t++){const n=T[t];B(n[0]+e,n[1]+e,n[2]+e)}}else{for(let t=0;t<L;t++){const e=T[t];B(e[2],e[1],e[0])}for(let t=0;t<L;t++){const e=T[t];B(e[0]+C*o,e[1]+C*o,e[2]+C*o)}}n.addGroup(t,i.length/3-t,0)}(),function(){const t=i.length/3;let e=0;O(E,e),e+=E.length;for(let t=0,n=w.length;t<n;t++){const n=w[t];O(n,e),e+=n.length}n.addGroup(t,i.length/3-t,1)}()}this.setAttribute("position",new Zi(i,3)),this.setAttribute("uv",new Zi(r,2)),this.computeVertexNormals()}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){const t=super.toJSON();return function(t,e,n){if(n.shapes=[],Array.isArray(t))for(let e=0,i=t.length;e<i;e++){const i=t[e];n.shapes.push(i.uuid)}else n.shapes.push(t.uuid);n.options=Object.assign({},e),void 0!==e.extrudePath&&(n.options.extrudePath=e.extrudePath.toJSON());return n}(this.parameters.shapes,this.parameters.options,t)}static fromJSON(t,e){const n=[];for(let i=0,r=t.shapes.length;i<r;i++){const r=e[t.shapes[i]];n.push(r)}const i=t.options.extrudePath;return void 0!==i&&(t.options.extrudePath=new ic[i.type]().fromJSON(i)),new Xc(n,t.options)}}const Yc={generateTopUV:function(t,e,n,i,r){const s=e[3*n],a=e[3*n+1],o=e[3*i],l=e[3*i+1],c=e[3*r],h=e[3*r+1];return[new We(s,a),new We(o,l),new We(c,h)]},generateSideWallUV:function(t,e,n,i,r,s){const a=e[3*n],o=e[3*n+1],l=e[3*n+2],c=e[3*i],h=e[3*i+1],u=e[3*i+2],d=e[3*r],p=e[3*r+1],m=e[3*r+2],f=e[3*s],g=e[3*s+1],v=e[3*s+2];return Math.abs(o-h)<Math.abs(a-c)?[new We(a,1-l),new We(c,1-u),new We(d,1-m),new We(f,1-v)]:[new We(o,1-l),new We(h,1-u),new We(p,1-m),new We(g,1-v)]}};class Zc extends uc{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2;super([-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],t,e),this.type="IcosahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Zc(t.radius,t.detail)}}class Jc extends uc{constructor(t=1,e=0){super([1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],t,e),this.type="OctahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Jc(t.radius,t.detail)}}class Kc extends ir{constructor(t=.5,e=1,n=32,i=1,r=0,s=2*Math.PI){super(),this.type="RingGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:s},n=Math.max(3,n);const a=[],o=[],l=[],c=[];let h=t;const u=(e-t)/(i=Math.max(1,i)),d=new gn,p=new We;for(let t=0;t<=i;t++){for(let t=0;t<=n;t++){const i=r+t/n*s;d.x=h*Math.cos(i),d.y=h*Math.sin(i),o.push(d.x,d.y,d.z),l.push(0,0,1),p.x=(d.x/e+1)/2,p.y=(d.y/e+1)/2,c.push(p.x,p.y)}h+=u}for(let t=0;t<i;t++){const e=t*(n+1);for(let t=0;t<n;t++){const i=t+e,r=i,s=i+n+1,o=i+n+2,l=i+1;a.push(r,s,l),a.push(s,o,l)}}this.setIndex(a),this.setAttribute("position",new Zi(o,3)),this.setAttribute("normal",new Zi(l,3)),this.setAttribute("uv",new Zi(c,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Kc(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}}class $c extends ir{constructor(t=new _c([new We(0,.5),new We(-.5,-.5),new We(.5,-.5)]),e=12){super(),this.type="ShapeGeometry",this.parameters={shapes:t,curveSegments:e};const n=[],i=[],r=[],s=[];let a=0,o=0;if(!1===Array.isArray(t))l(t);else for(let e=0;e<t.length;e++)l(t[e]),this.addGroup(a,o,e),a+=o,o=0;function l(t){const a=i.length/3,l=t.extractPoints(e);let c=l.shape;const h=l.holes;!1===Wc.isClockWise(c)&&(c=c.reverse());for(let t=0,e=h.length;t<e;t++){const e=h[t];!0===Wc.isClockWise(e)&&(h[t]=e.reverse())}const u=Wc.triangulateShape(c,h);for(let t=0,e=h.length;t<e;t++){const e=h[t];c=c.concat(e)}for(let t=0,e=c.length;t<e;t++){const e=c[t];i.push(e.x,e.y,0),r.push(0,0,1),s.push(e.x,e.y)}for(let t=0,e=u.length;t<e;t++){const e=u[t],i=e[0]+a,r=e[1]+a,s=e[2]+a;n.push(i,r,s),o+=3}}this.setIndex(n),this.setAttribute("position",new Zi(i,3)),this.setAttribute("normal",new Zi(r,3)),this.setAttribute("uv",new Zi(s,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){const t=super.toJSON();return function(t,e){if(e.shapes=[],Array.isArray(t))for(let n=0,i=t.length;n<i;n++){const i=t[n];e.shapes.push(i.uuid)}else e.shapes.push(t.uuid);return e}(this.parameters.shapes,t)}static fromJSON(t,e){const n=[];for(let i=0,r=t.shapes.length;i<r;i++){const r=e[t.shapes[i]];n.push(r)}return new $c(n,t.curveSegments)}}class Qc extends ir{constructor(t=1,e=32,n=16,i=0,r=2*Math.PI,s=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:s,thetaLength:a},e=Math.max(3,Math.floor(e)),n=Math.max(2,Math.floor(n));const o=Math.min(s+a,Math.PI);let l=0;const c=[],h=new gn,u=new gn,d=[],p=[],m=[],f=[];for(let d=0;d<=n;d++){const g=[],v=d/n;let _=0;0===d&&0===s?_=.5/e:d===n&&o===Math.PI&&(_=-.5/e);for(let n=0;n<=e;n++){const o=n/e;h.x=-t*Math.cos(i+o*r)*Math.sin(s+v*a),h.y=t*Math.cos(s+v*a),h.z=t*Math.sin(i+o*r)*Math.sin(s+v*a),p.push(h.x,h.y,h.z),u.copy(h).normalize(),m.push(u.x,u.y,u.z),f.push(o+_,1-v),g.push(l++)}c.push(g)}for(let t=0;t<n;t++)for(let i=0;i<e;i++){const e=c[t][i+1],r=c[t][i],a=c[t+1][i],l=c[t+1][i+1];(0!==t||s>0)&&d.push(e,r,l),(t!==n-1||o<Math.PI)&&d.push(r,a,l)}this.setIndex(d),this.setAttribute("position",new Zi(p,3)),this.setAttribute("normal",new Zi(m,3)),this.setAttribute("uv",new Zi(f,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Qc(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}}class th extends uc{constructor(t=1,e=0){super([1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],t,e),this.type="TetrahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new th(t.radius,t.detail)}}class eh extends ir{constructor(t=1,e=.4,n=12,i=48,r=2*Math.PI){super(),this.type="TorusGeometry",this.parameters={radius:t,tube:e,radialSegments:n,tubularSegments:i,arc:r},n=Math.floor(n),i=Math.floor(i);const s=[],a=[],o=[],l=[],c=new gn,h=new gn,u=new gn;for(let s=0;s<=n;s++)for(let d=0;d<=i;d++){const p=d/i*r,m=s/n*Math.PI*2;h.x=(t+e*Math.cos(m))*Math.cos(p),h.y=(t+e*Math.cos(m))*Math.sin(p),h.z=e*Math.sin(m),a.push(h.x,h.y,h.z),c.x=t*Math.cos(p),c.y=t*Math.sin(p),u.subVectors(h,c).normalize(),o.push(u.x,u.y,u.z),l.push(d/i),l.push(s/n)}for(let t=1;t<=n;t++)for(let e=1;e<=i;e++){const n=(i+1)*t+e-1,r=(i+1)*(t-1)+e-1,a=(i+1)*(t-1)+e,o=(i+1)*t+e;s.push(n,r,o),s.push(r,a,o)}this.setIndex(s),this.setAttribute("position",new Zi(a,3)),this.setAttribute("normal",new Zi(o,3)),this.setAttribute("uv",new Zi(l,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new eh(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}}class nh extends ir{constructor(t=1,e=.4,n=64,i=8,r=2,s=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:t,tube:e,tubularSegments:n,radialSegments:i,p:r,q:s},n=Math.floor(n),i=Math.floor(i);const a=[],o=[],l=[],c=[],h=new gn,u=new gn,d=new gn,p=new gn,m=new gn,f=new gn,g=new gn;for(let a=0;a<=n;++a){const _=a/n*r*Math.PI*2;v(_,r,s,t,d),v(_+.01,r,s,t,p),f.subVectors(p,d),g.addVectors(p,d),m.crossVectors(f,g),g.crossVectors(m,f),m.normalize(),g.normalize();for(let t=0;t<=i;++t){const r=t/i*Math.PI*2,s=-e*Math.cos(r),p=e*Math.sin(r);h.x=d.x+(s*g.x+p*m.x),h.y=d.y+(s*g.y+p*m.y),h.z=d.z+(s*g.z+p*m.z),o.push(h.x,h.y,h.z),u.subVectors(h,d).normalize(),l.push(u.x,u.y,u.z),c.push(a/n),c.push(t/i)}}for(let t=1;t<=n;t++)for(let e=1;e<=i;e++){const n=(i+1)*(t-1)+(e-1),r=(i+1)*t+(e-1),s=(i+1)*t+e,o=(i+1)*(t-1)+e;a.push(n,r,o),a.push(r,s,o)}function v(t,e,n,i,r){const s=Math.cos(t),a=Math.sin(t),o=n/e*t,l=Math.cos(o);r.x=i*(2+l)*.5*s,r.y=i*(2+l)*a*.5,r.z=i*Math.sin(o)*.5}this.setIndex(a),this.setAttribute("position",new Zi(o,3)),this.setAttribute("normal",new Zi(l,3)),this.setAttribute("uv",new Zi(c,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new nh(t.radius,t.tube,t.tubularSegments,t.radialSegments,t.p,t.q)}}class ih extends ir{constructor(t=new ec(new gn(-1,-1,0),new gn(-1,1,0),new gn(1,1,0)),e=64,n=1,i=8,r=!1){super(),this.type="TubeGeometry",this.parameters={path:t,tubularSegments:e,radius:n,radialSegments:i,closed:r};const s=t.computeFrenetFrames(e,r);this.tangents=s.tangents,this.normals=s.normals,this.binormals=s.binormals;const a=new gn,o=new gn,l=new We;let c=new gn;const h=[],u=[],d=[],p=[];function m(r){c=t.getPointAt(r/e,c);const l=s.normals[r],d=s.binormals[r];for(let t=0;t<=i;t++){const e=t/i*Math.PI*2,r=Math.sin(e),s=-Math.cos(e);o.x=s*l.x+r*d.x,o.y=s*l.y+r*d.y,o.z=s*l.z+r*d.z,o.normalize(),u.push(o.x,o.y,o.z),a.x=c.x+n*o.x,a.y=c.y+n*o.y,a.z=c.z+n*o.z,h.push(a.x,a.y,a.z)}}!function(){for(let t=0;t<e;t++)m(t);m(!1===r?e:0),function(){for(let t=0;t<=e;t++)for(let n=0;n<=i;n++)l.x=t/e,l.y=n/i,d.push(l.x,l.y)}(),function(){for(let t=1;t<=e;t++)for(let e=1;e<=i;e++){const n=(i+1)*(t-1)+(e-1),r=(i+1)*t+(e-1),s=(i+1)*t+e,a=(i+1)*(t-1)+e;p.push(n,r,a),p.push(r,s,a)}}()}(),this.setIndex(p),this.setAttribute("position",new Zi(h,3)),this.setAttribute("normal",new Zi(u,3)),this.setAttribute("uv",new Zi(d,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){const t=super.toJSON();return t.path=this.parameters.path.toJSON(),t}static fromJSON(t){return new ih(new ic[t.path.type]().fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}}class rh extends ir{constructor(t=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:t},null!==t){const e=[],n=new Set,i=new gn,r=new gn;if(null!==t.index){const s=t.attributes.position,a=t.index;let o=t.groups;0===o.length&&(o=[{start:0,count:a.count,materialIndex:0}]);for(let t=0,l=o.length;t<l;++t){const l=o[t],c=l.start;for(let t=c,o=c+l.count;t<o;t+=3)for(let o=0;o<3;o++){const l=a.getX(t+o),c=a.getX(t+(o+1)%3);i.fromBufferAttribute(s,l),r.fromBufferAttribute(s,c),!0===sh(i,r,n)&&(e.push(i.x,i.y,i.z),e.push(r.x,r.y,r.z))}}}else{const s=t.attributes.position;for(let t=0,a=s.count/3;t<a;t++)for(let a=0;a<3;a++){const o=3*t+a,l=3*t+(a+1)%3;i.fromBufferAttribute(s,o),r.fromBufferAttribute(s,l),!0===sh(i,r,n)&&(e.push(i.x,i.y,i.z),e.push(r.x,r.y,r.z))}}this.setAttribute("position",new Zi(e,3))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}}function sh(t,e,n){const i=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`;return!0!==n.has(i)&&!0!==n.has(r)&&(n.add(i),n.add(r),!0)}var ah=Object.freeze({__proto__:null,BoxGeometry:br,CapsuleGeometry:oc,CircleGeometry:lc,ConeGeometry:hc,CylinderGeometry:cc,DodecahedronGeometry:dc,EdgesGeometry:vc,ExtrudeGeometry:Xc,IcosahedronGeometry:Zc,LatheGeometry:ac,OctahedronGeometry:Jc,PlaneGeometry:Wr,PolyhedronGeometry:uc,RingGeometry:Kc,ShapeGeometry:$c,SphereGeometry:Qc,TetrahedronGeometry:th,TorusGeometry:eh,TorusKnotGeometry:nh,TubeGeometry:ih,WireframeGeometry:rh});class oh extends Ri{constructor(t){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new Oi(0),this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.fog=t.fog,this}}class lh extends Cr{constructor(t){super(t),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class ch extends Ri{constructor(t){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Oi(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class hh extends ch{constructor(t){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new We(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Ne(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Oi(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new Oi(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Oi(1,1,1),this.specularColorMap=null,this._sheen=0,this._clearcoat=0,this._iridescence=0,this._transmission=0,this.setValues(t)}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=t>0&&this.version++,this._sheen=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}class uh extends Ri{constructor(t){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Oi(16777215),this.specular=new Oi(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class dh extends Ri{constructor(t){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Oi(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}class ph extends Ri{constructor(t){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}class mh extends Ri{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Oi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class fh extends Ri{constructor(t){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Oi(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this.fog=t.fog,this}}class gh extends xl{constructor(t){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}function vh(t,e,n){return xh(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)}function _h(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)}function xh(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function yh(t){const e=t.length,n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;return n.sort(function(e,n){return t[e]-t[n]}),n}function Mh(t,e,n){const i=t.length,r=new t.constructor(i);for(let s=0,a=0;a!==i;++s){const i=n[s]*e;for(let n=0;n!==e;++n)r[a++]=t[i+n]}return r}function Sh(t,e,n,i){let r=1,s=t[0];for(;void 0!==s&&void 0===s[i];)s=t[r++];if(void 0===s)return;let a=s[i];if(void 0!==a)if(Array.isArray(a))do{a=s[i],void 0!==a&&(e.push(s.time),n.push.apply(n,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[i],void 0!==a&&(e.push(s.time),a.toArray(n,n.length)),s=t[r++]}while(void 0!==s);else do{a=s[i],void 0!==a&&(e.push(s.time),n.push(a)),s=t[r++]}while(void 0!==s)}const bh={arraySlice:vh,convertArray:_h,isTypedArray:xh,getKeyframeOrder:yh,sortedArray:Mh,flattenJSON:Sh,subclip:function(t,e,n,i,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t<s.tracks.length;++t){const e=s.tracks[t],o=e.getValueSize(),l=[],c=[];for(let t=0;t<e.times.length;++t){const s=e.times[t]*r;if(!(s<n||s>=i)){l.push(e.times[t]);for(let n=0;n<o;++n)c.push(e.values[t*o+n])}}0!==l.length&&(e.times=_h(l,e.times.constructor),e.values=_h(c,e.values.constructor),a.push(e))}s.tracks=a;let o=1/0;for(let t=0;t<s.tracks.length;++t)o>s.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t<s.tracks.length;++t)s.tracks[t].shift(-1*o);return s.resetDuration(),s},makeClipAdditive:function(t,e=0,n=t,i=30){i<=0&&(i=30);const r=n.tracks.length,s=e/i;for(let e=0;e<r;++e){const i=n.tracks[e],r=i.ValueTypeName;if("bool"===r||"string"===r)continue;const a=t.tracks.find(function(t){return t.name===i.name&&t.ValueTypeName===r});if(void 0===a)continue;let o=0;const l=i.getValueSize();i.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const h=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=h/3);const u=i.times.length-1;let d;if(s<=i.times[0]){const t=o,e=l-o;d=vh(i.values,t,e)}else if(s>=i.times[u]){const t=u*l+o,e=t+l-o;d=vh(i.values,t,e)}else{const t=i.createInterpolant(),e=o,n=l-o;t.evaluate(s),d=vh(t.resultBuffer,e,n)}if("quaternion"===r){new fn().fromArray(d).normalize().conjugate().toArray(d)}const p=a.times.length;for(let t=0;t<p;++t){const e=t*h+c;if("quaternion"===r)fn.multiplyQuaternionsFlat(a.values,e,d,0,a.values,e);else{const t=h-2*c;for(let n=0;n<t;++n)a.values[e+n]-=d[n]}}}return t.blendMode=ge,t}};class wh{constructor(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(t){const e=this.parameterPositions;let n=this._cachedIndex,i=e[n],r=e[n-1];t:{e:{let s;n:{i:if(!(t<i)){for(let s=n+2;;){if(void 0===i){if(t<r)break i;return n=e.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===s)break;if(r=i,i=e[++n],t<i)break e}s=e.length;break n}if(t>=r)break t;{const a=e[1];t<a&&(n=2,r=a);for(let s=n-2;;){if(void 0===r)return this._cachedIndex=0,this.copySampleValue_(0);if(n===s)break;if(i=r,r=e[--n-1],t>=r)break e}s=n,n=0}}for(;n<s;){const i=n+s>>>1;t<e[i]?s=i:n=i+1}if(i=e[n],r=e[n-1],void 0===r)return this._cachedIndex=0,this.copySampleValue_(0);if(void 0===i)return n=e.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,r,i)}return this.interpolate_(n,r,t,i)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){const e=this.resultBuffer,n=this.sampleValues,i=this.valueSize,r=t*i;for(let t=0;t!==i;++t)e[t]=n[r+t];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class Th extends wh{constructor(t,e,n,i){super(t,e,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:de,endingEnd:de}}intervalChanged_(t,e,n){const i=this.parameterPositions;let r=t-2,s=t+1,a=i[r],o=i[s];if(void 0===a)switch(this.getSettings_().endingStart){case pe:r=t,a=2*e-n;break;case me:r=i.length-2,a=e+i[r]-i[r+1];break;default:r=t,a=n;}if(void 0===o)switch(this.getSettings_().endingEnd){case pe:s=t,o=2*n-e;break;case me:s=1,o=n+i[1]-i[0];break;default:s=t-1,o=e;}const l=.5*(n-e),c=this.valueSize;this._weightPrev=l/(e-a),this._weightNext=l/(o-n),this._offsetPrev=r*c,this._offsetNext=s*c}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=this._offsetPrev,h=this._offsetNext,u=this._weightPrev,d=this._weightNext,p=(n-e)/(i-e),m=p*p,f=m*p,g=-u*f+2*u*m-u*p,v=(1+u)*f+(-1.5-2*u)*m+(-.5+u)*p+1,_=(-1-d)*f+(1.5+d)*m+.5*p,x=d*f-d*m;for(let t=0;t!==a;++t)r[t]=g*s[c+t]+v*s[l+t]+_*s[o+t]+x*s[h+t];return r}}class Eh extends wh{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=(n-e)/(i-e),h=1-c;for(let t=0;t!==a;++t)r[t]=s[l+t]*h+s[o+t]*c;return r}}class Ah extends wh{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t){return this.copySampleValue_(t-1)}}class Ch{constructor(t,e,n,i){if(void 0===t)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===e||0===e.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=_h(e,this.TimeBufferType),this.values=_h(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation)}static toJSON(t){const e=t.constructor;let n;if(e.toJSON!==this.toJSON)n=e.toJSON(t);else{n={name:t.name,times:_h(t.times,Array),values:_h(t.values,Array)};const e=t.getInterpolation();e!==t.DefaultInterpolation&&(n.interpolation=e)}return n.type=t.ValueTypeName,n}InterpolantFactoryMethodDiscrete(t){return new Ah(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new Eh(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new Th(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case ce:e=this.InterpolantFactoryMethodDiscrete;break;case he:e=this.InterpolantFactoryMethodLinear;break;case ue:e=this.InterpolantFactoryMethodSmooth;}if(void 0===e){const e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(t===this.DefaultInterpolation)throw new Error(e);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",e),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return ce;case this.InterpolantFactoryMethodLinear:return he;case this.InterpolantFactoryMethodSmooth:return ue;}}getValueSize(){return this.values.length/this.times.length}shift(t){if(0!==t){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]+=t}return this}scale(t){if(1!==t){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]*=t}return this}trim(t,e){const n=this.times,i=n.length;let r=0,s=i-1;for(;r!==i&&n[r]<t;)++r;for(;-1!==s&&n[s]>e;)--s;if(++s,0!==r||s!==i){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=vh(n,r,s),this.values=vh(this.values,r*t,s*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let e=0;e!==r;e++){const i=n[e];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,i),t=!1;break}if(null!==s&&s>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,i,s),t=!1;break}s=i}if(void 0!==i&&xh(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t}optimize(){const t=vh(this.times),e=vh(this.values),n=this.getValueSize(),i=this.getInterpolation()===ue,r=t.length-1;let s=1;for(let a=1;a<r;++a){let r=!1;const o=t[a];if(o!==t[a+1]&&(1!==a||o!==t[0]))if(i)r=!0;else{const t=a*n,i=t-n,s=t+n;for(let a=0;a!==n;++a){const n=e[t+a];if(n!==e[i+a]||n!==e[s+a]){r=!0;break}}}if(r){if(a!==s){t[s]=t[a];const i=a*n,r=s*n;for(let t=0;t!==n;++t)e[r+t]=e[i+t]}++s}}if(r>0){t[s]=t[r];for(let t=r*n,i=s*n,a=0;a!==n;++a)e[i+a]=e[t+a];++s}return s!==t.length?(this.times=vh(t,0,s),this.values=vh(e,0,s*n)):(this.times=t,this.values=e),this}clone(){const t=vh(this.times,0),e=vh(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}Ch.prototype.TimeBufferType=Float32Array,Ch.prototype.ValueBufferType=Float32Array,Ch.prototype.DefaultInterpolation=he;class Lh extends Ch{}Lh.prototype.ValueTypeName="bool",Lh.prototype.ValueBufferType=Array,Lh.prototype.DefaultInterpolation=ce,Lh.prototype.InterpolantFactoryMethodLinear=void 0,Lh.prototype.InterpolantFactoryMethodSmooth=void 0;class Ph extends Ch{}Ph.prototype.ValueTypeName="color";class Rh extends Ch{}Rh.prototype.ValueTypeName="number";class Ih extends wh{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-e)/(i-e);let l=t*a;for(let t=l+a;l!==t;l+=4)fn.slerpFlat(r,0,s,l-a,s,l,o);return r}}class Dh extends Ch{InterpolantFactoryMethodLinear(t){return new Ih(this.times,this.values,this.getValueSize(),t)}}Dh.prototype.ValueTypeName="quaternion",Dh.prototype.DefaultInterpolation=he,Dh.prototype.InterpolantFactoryMethodSmooth=void 0;class Uh extends Ch{}Uh.prototype.ValueTypeName="string",Uh.prototype.ValueBufferType=Array,Uh.prototype.DefaultInterpolation=ce,Uh.prototype.InterpolantFactoryMethodLinear=void 0,Uh.prototype.InterpolantFactoryMethodSmooth=void 0;class Nh extends Ch{}Nh.prototype.ValueTypeName="vector";class Oh{constructor(t,e=-1,n,i=2500){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=Ue(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(zh(n[t]).scale(i));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(Ch.toJSON(n[t]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const r=e.length,s=[];for(let t=0;t<r;t++){let a=[],o=[];a.push((t+r-1)%r,t,(t+1)%r),o.push(0,1,0);const l=yh(a);a=Mh(a,1,l),o=Mh(o,1,l),i||0!==a[0]||(a.push(r),o.push(o[0])),s.push(new Rh(".morphTargetInfluences["+e[t].name+"]",a,o).scale(1/n))}return new this(t,-1,s)}static findByName(t,e){let n=t;if(!Array.isArray(t)){const e=t;n=e.geometry&&e.geometry.animations||e.animations}for(let t=0;t<n.length;t++)if(n[t].name===e)return n[t];return null}static CreateClipsFromMorphTargetSequences(t,e,n){const i={},r=/^([\w-]*?)([\d]+)$/;for(let e=0,n=t.length;e<n;e++){const n=t[e],s=n.name.match(r);if(s&&s.length>1){const t=s[1];let e=i[t];e||(i[t]=e=[]),e.push(n)}}const s=[];for(const t in i)s.push(this.CreateFromMorphTargetSequence(t,i[t],e,n));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,i,r){if(0!==n.length){const s=[],a=[];Sh(n,s,a,i),0!==s.length&&r.push(new t(e,s,a))}},i=[],r=t.name||"default",s=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t<l.length;t++){const r=l[t].keys;if(r&&0!==r.length)if(r[0].morphTargets){const t={};let e;for(e=0;e<r.length;e++)if(r[e].morphTargets)for(let n=0;n<r[e].morphTargets.length;n++)t[r[e].morphTargets[n]]=-1;for(const n in t){const t=[],s=[];for(let i=0;i!==r[e].morphTargets.length;++i){const i=r[e];t.push(i.time),s.push(i.morphTarget===n?1:0)}i.push(new Rh(".morphTargetInfluence["+n+"]",t,s))}o=t.length*s}else{const s=".bones["+e[t].name+"]";n(Nh,s+".position",r,"pos",i),n(Dh,s+".quaternion",r,"rot",i),n(Nh,s+".scale",r,"scl",i)}}if(0===i.length)return null;return new this(r,o,i,a)}resetDuration(){let t=0;for(let e=0,n=this.tracks.length;e!==n;++e){const n=this.tracks[e];t=Math.max(t,n.times[n.times.length-1])}return this.duration=t,this}trim(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this}validate(){let t=!0;for(let e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t}optimize(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}clone(){const t=[];for(let e=0;e<this.tracks.length;e++)t.push(this.tracks[e].clone());return new this.constructor(this.name,this.duration,t,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function zh(t){if(void 0===t.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=function(t){switch(t.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Rh;case"vector":case"vector2":case"vector3":case"vector4":return Nh;case"color":return Ph;case"quaternion":return Dh;case"bool":case"boolean":return Lh;case"string":return Uh;}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+t)}(t.type);if(void 0===t.times){const e=[],n=[];Sh(t.keys,e,n,"value"),t.times=e,t.values=n}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)}const Bh={enabled:!1,files:{},add:function(t,e){!1!==this.enabled&&(this.files[t]=e)},get:function(t){if(!1!==this.enabled)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}};class Fh{constructor(t,e,n){const i=this;let r,s=!1,a=0,o=0;const l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=n,this.itemStart=function(t){o++,!1===s&&void 0!==i.onStart&&i.onStart(t,a,o),s=!0},this.itemEnd=function(t){a++,void 0!==i.onProgress&&i.onProgress(t,a,o),a===o&&(s=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(t){void 0!==i.onError&&i.onError(t)},this.resolveURL=function(t){return r?r(t):t},this.setURLModifier=function(t){return r=t,this},this.addHandler=function(t,e){return l.push(t,e),this},this.removeHandler=function(t){const e=l.indexOf(t);return-1!==e&&l.splice(e,2),this},this.getHandler=function(t){for(let e=0,n=l.length;e<n;e+=2){const n=l[e],i=l[e+1];if(n.global&&(n.lastIndex=0),n.test(t))return i}return null}}}const kh=new Fh;class Gh{constructor(t){this.manager=void 0!==t?t:kh,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){const n=this;return new Promise(function(i,r){n.load(t,i,e,r)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}}const Vh={};class Hh extends Error{constructor(t,e){super(t),this.response=e}}class Wh extends Gh{constructor(t){super(t)}load(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=Bh.get(t);if(void 0!==r)return this.manager.itemStart(t),setTimeout(()=>{e&&e(r),this.manager.itemEnd(t)},0),r;if(void 0!==Vh[t])return void Vh[t].push({onLoad:e,onProgress:n,onError:i});Vh[t]=[],Vh[t].push({onLoad:e,onProgress:n,onError:i});const s=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,o=this.responseType;fetch(s).then(e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body||void 0===e.body.getReader)return e;const n=Vh[t],i=e.body.getReader(),r=e.headers.get("Content-Length")||e.headers.get("X-File-Size"),s=r?parseInt(r):0,a=0!==s;let o=0;const l=new ReadableStream({start(t){!function e(){i.read().then(({done:i,value:r})=>{if(i)t.close();else{o+=r.byteLength;const i=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:s});for(let t=0,e=n.length;t<e;t++){const e=n[t];e.onProgress&&e.onProgress(i)}t.enqueue(r),e()}})}()}});return new Response(l)}throw new Hh(`fetch for "${e.url}" responded with ${e.status}: ${e.statusText}`,e)}).then(t=>{switch(o){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then(t=>new DOMParser().parseFromString(t,a));case"json":return t.json();default:if(void 0===a)return t.text();{const e=/charset="?([^;"\s]*)"?/i.exec(a),n=e&&e[1]?e[1].toLowerCase():void 0,i=new TextDecoder(n);return t.arrayBuffer().then(t=>i.decode(t))}}}).then(e=>{Bh.add(t,e);const n=Vh[t];delete Vh[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onLoad&&i.onLoad(e)}}).catch(e=>{const n=Vh[t];if(void 0===n)throw this.manager.itemError(t),e;delete Vh[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onError&&i.onError(e)}this.manager.itemError(t)}).finally(()=>{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class jh extends Gh{constructor(t){super(t)}load(t,e,n,i){void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=Bh.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout(function(){e&&e(s),r.manager.itemEnd(t)},0),s;const a=Je("img");function o(){c(),Bh.add(t,this),e&&e(this),r.manager.itemEnd(t)}function l(e){c(),i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)}function c(){a.removeEventListener("load",o,!1),a.removeEventListener("error",l,!1)}return a.addEventListener("load",o,!1),a.addEventListener("error",l,!1),"data:"!==t.slice(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(t),a.src=t,a}}class qh extends vi{constructor(t,e=1){super(),this.isLight=!0,this.type="Light",this.color=new Oi(t),this.intensity=e}dispose(){}copy(t,e){return super.copy(t,e),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){const e=super.toJSON(t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}class Xh extends qh{constructor(t,e,n){super(t,n),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(vi.DEFAULT_UP),this.updateMatrix(),this.groundColor=new Oi(e)}copy(t,e){return super.copy(t,e),this.groundColor.copy(t.groundColor),this}}const Yh=new qn,Zh=new gn,Jh=new gn;class Kh{constructor(t){this.camera=t,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new We(512,512),this.map=null,this.mapPass=null,this.matrix=new qn,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Gr,this._frameExtents=new We(1,1),this._viewportCount=1,this._viewports=[new un(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera,n=this.matrix;Zh.setFromMatrixPosition(t.matrixWorld),e.position.copy(Zh),Jh.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(Jh),e.updateMatrixWorld(),Yh.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Yh),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Yh)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const t={};return 0!==this.bias&&(t.bias=this.bias),0!==this.normalBias&&(t.normalBias=this.normalBias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}class $h extends Kh{constructor(){super(new Pr(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(t){const e=this.camera,n=2*De*t.angle*this.focus,i=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;n===e.fov&&i===e.aspect&&r===e.far||(e.fov=n,e.aspect=i,e.far=r,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}}class Qh extends qh{constructor(t,e,n=0,i=Math.PI/3,r=0,s=2){super(t,e),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(vi.DEFAULT_UP),this.updateMatrix(),this.target=new vi,this.distance=n,this.angle=i,this.penumbra=r,this.decay=s,this.map=null,this.shadow=new $h}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}const tu=new qn,eu=new gn,nu=new gn;class iu extends Kh{constructor(){super(new Pr(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new We(4,2),this._viewportCount=6,this._viewports=[new un(2,1,1,1),new un(0,1,1,1),new un(3,1,1,1),new un(1,1,1,1),new un(3,0,1,1),new un(1,0,1,1)],this._cubeDirections=[new gn(1,0,0),new gn(-1,0,0),new gn(0,0,1),new gn(0,0,-1),new gn(0,1,0),new gn(0,-1,0)],this._cubeUps=[new gn(0,1,0),new gn(0,1,0),new gn(0,1,0),new gn(0,1,0),new gn(0,0,1),new gn(0,0,-1)]}updateMatrices(t,e=0){const n=this.camera,i=this.matrix,r=t.distance||n.far;r!==n.far&&(n.far=r,n.updateProjectionMatrix()),eu.setFromMatrixPosition(t.matrixWorld),n.position.copy(eu),nu.copy(n.position),nu.add(this._cubeDirections[e]),n.up.copy(this._cubeUps[e]),n.lookAt(nu),n.updateMatrixWorld(),i.makeTranslation(-eu.x,-eu.y,-eu.z),tu.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(tu)}}class ru extends qh{constructor(t,e,n=0,i=2){super(t,e),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=i,this.shadow=new iu}get power(){return 4*this.intensity*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}class su extends Kh{constructor(){super(new es(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class au extends qh{constructor(t,e){super(t,e),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(vi.DEFAULT_UP),this.updateMatrix(),this.target=new vi,this.shadow=new su}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}class ou extends qh{constructor(t,e){super(t,e),this.isAmbientLight=!0,this.type="AmbientLight"}}class lu extends qh{constructor(t,e,n=10,i=10){super(t,e),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=n,this.height=i}get power(){return this.intensity*this.width*this.height*Math.PI}set power(t){this.intensity=t/(this.width*this.height*Math.PI)}copy(t){return super.copy(t),this.width=t.width,this.height=t.height,this}toJSON(t){const e=super.toJSON(t);return e.object.width=this.width,e.object.height=this.height,e}}class cu{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let t=0;t<9;t++)this.coefficients.push(new gn)}set(t){for(let e=0;e<9;e++)this.coefficients[e].copy(t[e]);return this}zero(){for(let t=0;t<9;t++)this.coefficients[t].set(0,0,0);return this}getAt(t,e){const n=t.x,i=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.282095),e.addScaledVector(s[1],.488603*i),e.addScaledVector(s[2],.488603*r),e.addScaledVector(s[3],.488603*n),e.addScaledVector(s[4],n*i*1.092548),e.addScaledVector(s[5],i*r*1.092548),e.addScaledVector(s[6],.315392*(3*r*r-1)),e.addScaledVector(s[7],n*r*1.092548),e.addScaledVector(s[8],.546274*(n*n-i*i)),e}getIrradianceAt(t,e){const n=t.x,i=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.886227),e.addScaledVector(s[1],1.023328*i),e.addScaledVector(s[2],1.023328*r),e.addScaledVector(s[3],1.023328*n),e.addScaledVector(s[4],.858086*n*i),e.addScaledVector(s[5],.858086*i*r),e.addScaledVector(s[6],.743125*r*r-.247708),e.addScaledVector(s[7],.858086*n*r),e.addScaledVector(s[8],.429043*(n*n-i*i)),e}add(t){for(let e=0;e<9;e++)this.coefficients[e].add(t.coefficients[e]);return this}addScaledSH(t,e){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(t.coefficients[n],e);return this}scale(t){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(t);return this}lerp(t,e){for(let n=0;n<9;n++)this.coefficients[n].lerp(t.coefficients[n],e);return this}equals(t){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(t.coefficients[e]))return!1;return!0}copy(t){return this.set(t.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(t,e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].fromArray(t,e+3*i);return this}toArray(t=[],e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].toArray(t,e+3*i);return t}static getBasisAt(t,e){const n=t.x,i=t.y,r=t.z;e[0]=.282095,e[1]=.488603*i,e[2]=.488603*r,e[3]=.488603*n,e[4]=1.092548*n*i,e[5]=1.092548*i*r,e[6]=.315392*(3*r*r-1),e[7]=1.092548*n*r,e[8]=.546274*(n*n-i*i)}}class hu extends qh{constructor(t=new cu,e=1){super(void 0,e),this.isLightProbe=!0,this.sh=t}copy(t){return super.copy(t),this.sh.copy(t.sh),this}fromJSON(t){return this.intensity=t.intensity,this.sh.fromArray(t.sh),this}toJSON(t){const e=super.toJSON(t);return e.object.sh=this.sh.toArray(),e}}class uu extends Gh{constructor(t){super(t),this.textures={}}load(t,e,n,i){const r=this,s=new Wh(r.manager);s.setPath(r.path),s.setRequestHeader(r.requestHeader),s.setWithCredentials(r.withCredentials),s.load(t,function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}parse(t){const e=this.textures;function n(t){return void 0===e[t]&&console.warn("THREE.MaterialLoader: Undefined texture",t),e[t]}const i=uu.createMaterialFromType(t.type);if(void 0!==t.uuid&&(i.uuid=t.uuid),void 0!==t.name&&(i.name=t.name),void 0!==t.color&&void 0!==i.color&&i.color.setHex(t.color),void 0!==t.roughness&&(i.roughness=t.roughness),void 0!==t.metalness&&(i.metalness=t.metalness),void 0!==t.sheen&&(i.sheen=t.sheen),void 0!==t.sheenColor&&(i.sheenColor=new Oi().setHex(t.sheenColor)),void 0!==t.sheenRoughness&&(i.sheenRoughness=t.sheenRoughness),void 0!==t.emissive&&void 0!==i.emissive&&i.emissive.setHex(t.emissive),void 0!==t.specular&&void 0!==i.specular&&i.specular.setHex(t.specular),void 0!==t.specularIntensity&&(i.specularIntensity=t.specularIntensity),void 0!==t.specularColor&&void 0!==i.specularColor&&i.specularColor.setHex(t.specularColor),void 0!==t.shininess&&(i.shininess=t.shininess),void 0!==t.clearcoat&&(i.clearcoat=t.clearcoat),void 0!==t.clearcoatRoughness&&(i.clearcoatRoughness=t.clearcoatRoughness),void 0!==t.iridescence&&(i.iridescence=t.iridescence),void 0!==t.iridescenceIOR&&(i.iridescenceIOR=t.iridescenceIOR),void 0!==t.iridescenceThicknessRange&&(i.iridescenceThicknessRange=t.iridescenceThicknessRange),void 0!==t.transmission&&(i.transmission=t.transmission),void 0!==t.thickness&&(i.thickness=t.thickness),void 0!==t.attenuationDistance&&(i.attenuationDistance=t.attenuationDistance),void 0!==t.attenuationColor&&void 0!==i.attenuationColor&&i.attenuationColor.setHex(t.attenuationColor),void 0!==t.fog&&(i.fog=t.fog),void 0!==t.flatShading&&(i.flatShading=t.flatShading),void 0!==t.blending&&(i.blending=t.blending),void 0!==t.combine&&(i.combine=t.combine),void 0!==t.side&&(i.side=t.side),void 0!==t.shadowSide&&(i.shadowSide=t.shadowSide),void 0!==t.opacity&&(i.opacity=t.opacity),void 0!==t.transparent&&(i.transparent=t.transparent),void 0!==t.alphaTest&&(i.alphaTest=t.alphaTest),void 0!==t.depthTest&&(i.depthTest=t.depthTest),void 0!==t.depthWrite&&(i.depthWrite=t.depthWrite),void 0!==t.colorWrite&&(i.colorWrite=t.colorWrite),void 0!==t.stencilWrite&&(i.stencilWrite=t.stencilWrite),void 0!==t.stencilWriteMask&&(i.stencilWriteMask=t.stencilWriteMask),void 0!==t.stencilFunc&&(i.stencilFunc=t.stencilFunc),void 0!==t.stencilRef&&(i.stencilRef=t.stencilRef),void 0!==t.stencilFuncMask&&(i.stencilFuncMask=t.stencilFuncMask),void 0!==t.stencilFail&&(i.stencilFail=t.stencilFail),void 0!==t.stencilZFail&&(i.stencilZFail=t.stencilZFail),void 0!==t.stencilZPass&&(i.stencilZPass=t.stencilZPass),void 0!==t.wireframe&&(i.wireframe=t.wireframe),void 0!==t.wireframeLinewidth&&(i.wireframeLinewidth=t.wireframeLinewidth),void 0!==t.wireframeLinecap&&(i.wireframeLinecap=t.wireframeLinecap),void 0!==t.wireframeLinejoin&&(i.wireframeLinejoin=t.wireframeLinejoin),void 0!==t.rotation&&(i.rotation=t.rotation),1!==t.linewidth&&(i.linewidth=t.linewidth),void 0!==t.dashSize&&(i.dashSize=t.dashSize),void 0!==t.gapSize&&(i.gapSize=t.gapSize),void 0!==t.scale&&(i.scale=t.scale),void 0!==t.polygonOffset&&(i.polygonOffset=t.polygonOffset),void 0!==t.polygonOffsetFactor&&(i.polygonOffsetFactor=t.polygonOffsetFactor),void 0!==t.polygonOffsetUnits&&(i.polygonOffsetUnits=t.polygonOffsetUnits),void 0!==t.dithering&&(i.dithering=t.dithering),void 0!==t.alphaToCoverage&&(i.alphaToCoverage=t.alphaToCoverage),void 0!==t.premultipliedAlpha&&(i.premultipliedAlpha=t.premultipliedAlpha),void 0!==t.forceSinglePass&&(i.forceSinglePass=t.forceSinglePass),void 0!==t.visible&&(i.visible=t.visible),void 0!==t.toneMapped&&(i.toneMapped=t.toneMapped),void 0!==t.userData&&(i.userData=t.userData),void 0!==t.vertexColors&&("number"==typeof t.vertexColors?i.vertexColors=t.vertexColors>0:i.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(i.uniforms[e]={},r.type){case"t":i.uniforms[e].value=n(r.value);break;case"c":i.uniforms[e].value=new Oi().setHex(r.value);break;case"v2":i.uniforms[e].value=new We().fromArray(r.value);break;case"v3":i.uniforms[e].value=new gn().fromArray(r.value);break;case"v4":i.uniforms[e].value=new un().fromArray(r.value);break;case"m3":i.uniforms[e].value=new je().fromArray(r.value);break;case"m4":i.uniforms[e].value=new qn().fromArray(r.value);break;default:i.uniforms[e].value=r.value;}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.glslVersion&&(i.glslVersion=t.glslVersion),void 0!==t.extensions)for(const e in t.extensions)i.extensions[e]=t.extensions[e];if(void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.matcap&&(i.matcap=n(t.matcap)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),i.normalScale=new We().fromArray(e)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.specularIntensityMap&&(i.specularIntensityMap=n(t.specularIntensityMap)),void 0!==t.specularColorMap&&(i.specularColorMap=n(t.specularColorMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(i.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(i.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(i.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(i.clearcoatNormalScale=new We().fromArray(t.clearcoatNormalScale)),void 0!==t.iridescenceMap&&(i.iridescenceMap=n(t.iridescenceMap)),void 0!==t.iridescenceThicknessMap&&(i.iridescenceThicknessMap=n(t.iridescenceThicknessMap)),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),void 0!==t.thicknessMap&&(i.thicknessMap=n(t.thicknessMap)),void 0!==t.sheenColorMap&&(i.sheenColorMap=n(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(i.sheenRoughnessMap=n(t.sheenRoughnessMap)),i}setTextures(t){return this.textures=t,this}static createMaterialFromType(t){return new{ShadowMaterial:oh,SpriteMaterial:Do,RawShaderMaterial:lh,ShaderMaterial:Cr,PointsMaterial:Pl,MeshPhysicalMaterial:hh,MeshStandardMaterial:ch,MeshPhongMaterial:uh,MeshToonMaterial:dh,MeshNormalMaterial:ph,MeshLambertMaterial:mh,MeshDepthMaterial:oo,MeshDistanceMaterial:lo,MeshBasicMaterial:Bi,MeshMatcapMaterial:fh,LineDashedMaterial:gh,LineBasicMaterial:xl,Material:Ri}[t]}}class du{static decodeText(t){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(t);let e="";for(let n=0,i=t.length;n<i;n++)e+=String.fromCharCode(t[n]);try{return decodeURIComponent(escape(e))}catch(t){return e}}static extractUrlBase(t){const e=t.lastIndexOf("/");return-1===e?"./":t.slice(0,e+1)}static resolveURL(t,e){return"string"!=typeof t||""===t?"":(/^https?:\/\//i.test(e)&&/^\//.test(t)&&(e=e.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(t)||/^data:.*,.*$/i.test(t)||/^blob:.*$/i.test(t)?t:e+t)}}class pu extends ir{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(t){return super.copy(t),this.instanceCount=t.instanceCount,this}toJSON(){const t=super.toJSON();return t.instanceCount=this.instanceCount,t.isInstancedBufferGeometry=!0,t}}class mu extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new Wh(r.manager);s.setPath(r.path),s.setRequestHeader(r.requestHeader),s.setWithCredentials(r.withCredentials),s.load(t,function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}parse(t){const e={},n={};function i(t,i){if(void 0!==e[i])return e[i];const r=t.interleavedBuffers[i],s=function(t,e){if(void 0!==n[e])return n[e];const i=t.arrayBuffers,r=i[e],s=new Uint32Array(r).buffer;return n[e]=s,s}(t,r.buffer),a=Ze(r.type,s),o=new Po(a,r.stride);return o.uuid=r.uuid,e[i]=o,o}const r=t.isInstancedBufferGeometry?new pu:new ir,s=t.data.index;if(void 0!==s){const t=Ze(s.type,s.array);r.setIndex(new qi(t,1))}const a=t.data.attributes;for(const e in a){const n=a[e];let s;if(n.isInterleavedBufferAttribute){const e=i(t.data,n.data);s=new Io(e,n.itemSize,n.offset,n.normalized)}else{const t=Ze(n.type,n.array);s=new(n.isInstancedBufferAttribute?hl:qi)(t,n.itemSize,n.normalized)}void 0!==n.name&&(s.name=n.name),void 0!==n.usage&&s.setUsage(n.usage),void 0!==n.updateRange&&(s.updateRange.offset=n.updateRange.offset,s.updateRange.count=n.updateRange.count),r.setAttribute(e,s)}const o=t.data.morphAttributes;if(o)for(const e in o){const n=o[e],s=[];for(let e=0,r=n.length;e<r;e++){const r=n[e];let a;if(r.isInterleavedBufferAttribute){const e=i(t.data,r.data);a=new Io(e,r.itemSize,r.offset,r.normalized)}else{const t=Ze(r.type,r.array);a=new qi(t,r.itemSize,r.normalized)}void 0!==r.name&&(a.name=r.name),s.push(a)}r.morphAttributes[e]=s}t.data.morphTargetsRelative&&(r.morphTargetsRelative=!0);const l=t.data.groups||t.data.drawcalls||t.data.offsets;if(void 0!==l)for(let t=0,e=l.length;t!==e;++t){const e=l[t];r.addGroup(e.start,e.count,e.materialIndex)}const c=t.data.boundingSphere;if(void 0!==c){const t=new gn;void 0!==c.center&&t.fromArray(c.center),r.boundingSphere=new zn(t,c.radius)}return t.name&&(r.name=t.name),t.userData&&(r.userData=t.userData),r}}const fu={UVMapping:J,CubeReflectionMapping:K,CubeRefractionMapping:$,EquirectangularReflectionMapping:Q,EquirectangularRefractionMapping:tt,CubeUVReflectionMapping:et},gu={RepeatWrapping:nt,ClampToEdgeWrapping:it,MirroredRepeatWrapping:rt},vu={NearestFilter:st,NearestMipmapNearestFilter:at,NearestMipmapLinearFilter:ot,LinearFilter:lt,LinearMipmapNearestFilter:ct,LinearMipmapLinearFilter:ht};let _u;class xu{static getContext(){return void 0===_u&&(_u=new(window.AudioContext||window.webkitAudioContext)),_u}static setContext(t){_u=t}}const yu=new qn,Mu=new qn,Su=new qn;class bu{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=wu(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=wu();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function wu(){return("undefined"==typeof performance?Date:performance).now()}const Tu=new gn,Eu=new fn,Au=new gn,Cu=new gn;class Lu extends vi{constructor(t){super(),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this}setMediaElementSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this}setMediaStreamSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(t),this.connect(),this}setBuffer(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this}play(t=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+t;const e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,null!==this.source&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}getFilters(){return this.filters}setFilters(t){return t||(t=[]),!0===this._connected?(this.disconnect(),this.filters=t.slice(),this.connect()):this.filters=t.slice(),this}setDetune(t){if(this.detune=t,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(t){return this.setFilters(t?[t]:[])}setPlaybackRate(t){if(!1!==this.hasPlaybackControl)return this.playbackRate=t,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(t){if(!1!==this.hasPlaybackControl)return this.loop=t,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")}setLoopStart(t){return this.loopStart=t,this}setLoopEnd(t){return this.loopEnd=t,this}getVolume(){return this.gain.gain.value}setVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}const Pu=new gn,Ru=new fn,Iu=new gn,Du=new gn;class Uu{constructor(t,e,n){let i,r,s;switch(this.binding=t,this.valueSize=n,e){case"quaternion":i=this._slerp,r=this._slerpAdditive,s=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*n),this._workIndex=5;break;case"string":case"bool":i=this._select,r=this._select,s=this._setAdditiveIdentityOther,this.buffer=new Array(5*n);break;default:i=this._lerp,r=this._lerpAdditive,s=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*n);}this._mixBufferRegion=i,this._mixBufferRegionAdditive=r,this._setIdentity=s,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(t,e){const n=this.buffer,i=this.valueSize,r=t*i+i;let s=this.cumulativeWeight;if(0===s){for(let t=0;t!==i;++t)n[r+t]=n[t];s=e}else{s+=e;const t=e/s;this._mixBufferRegion(n,r,0,t,i)}this.cumulativeWeight=s}accumulateAdditive(t){const e=this.buffer,n=this.valueSize,i=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(e,i,0,t,n),this.cumulativeWeightAdditive+=t}apply(t){const e=this.valueSize,n=this.buffer,i=t*e+e,r=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,r<1){const t=e*this._origIndex;this._mixBufferRegion(n,i,t,1-r,e)}s>0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){a.setValue(n,i);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n<e;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const t=this._origIndex*this.valueSize,e=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[e+n]=this.buffer[t+n]}_select(t,e,n,i,r){if(i>=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]}_slerp(t,e,n,i){fn.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;fn.multiplyQuaternionsFlat(t,s,t,e,t,n),fn.slerpFlat(t,e,t,e,t,s,i)}_lerp(t,e,n,i,r){const s=1-i;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[n+a]*i}}_lerpAdditive(t,e,n,i,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[n+s]*i}}}const Nu="\\[\\]\\.:\\/",Ou=new RegExp("["+Nu+"]","g"),zu="[^"+Nu+"]",Bu="[^"+Nu.replace("\\.","")+"]",Fu=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",zu)+/(WCOD+)?/.source.replace("WCOD",Bu)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",zu)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",zu)+"$"),ku=["material","materials","bones","map"];class Gu{constructor(t,e,n){this.path=e,this.parsedPath=n||Gu.parseTrackName(e),this.node=Gu.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new Gu.Composite(t,e,n):new Gu(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(Ou,"")}static parseTrackName(t){const e=Fu.exec(t);if(null===e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==ku.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(void 0===e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i<t.length;i++){const r=t[i];if(r.name===e||r.uuid===e)return r;const s=n(r.children);if(s)return s}return null},i=n(t.children);if(i)return i}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)t[e++]=n[i]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++]}_setValue_array_setNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node;const e=this.parsedPath,n=e.objectName,i=e.propertyName;let r=e.propertyIndex;if(t||(t=Gu.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(n){let i=e.objectIndex;switch(n){case"materials":if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);t=t.skeleton.bones;for(let e=0;e<t.length;e++)if(t[e].name===i){i=e;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.map)return void console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);t=t.material.map;break;default:if(void 0===t[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);t=t[n];}if(void 0!==i){if(void 0===t[i])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);t=t[i]}}const s=t[i];if(void 0===s){const n=e.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+n+"."+i+" but it wasn't found.",t)}let a=this.Versioning.None;this.targetObject=t,void 0!==t.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==t.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===i){if(!t.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!t.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==t.morphTargetDictionary[r]&&(r=t.morphTargetDictionary[r])}o=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(o=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(o=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=i;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}Gu.Composite=class{constructor(t,e,n){const i=n||Gu.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}getValue(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(t,e)}setValue(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}},Gu.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Gu.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},Gu.prototype.GetterByBindingType=[Gu.prototype._getValue_direct,Gu.prototype._getValue_array,Gu.prototype._getValue_arrayElement,Gu.prototype._getValue_toArray],Gu.prototype.SetterByBindingTypeAndVersioning=[[Gu.prototype._setValue_direct,Gu.prototype._setValue_direct_setNeedsUpdate,Gu.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[Gu.prototype._setValue_array,Gu.prototype._setValue_array_setNeedsUpdate,Gu.prototype._setValue_array_setMatrixWorldNeedsUpdate],[Gu.prototype._setValue_arrayElement,Gu.prototype._setValue_arrayElement_setNeedsUpdate,Gu.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[Gu.prototype._setValue_fromArray,Gu.prototype._setValue_fromArray_setNeedsUpdate,Gu.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class Vu{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,s=r.length,a=new Array(s),o={endingStart:de,endingEnd:de};for(let t=0;t!==s;++t){const e=r[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,s=n/i;t.warp(1,r,e),this.warp(s,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=r,o[1]=r+n,l[0]=t/s,l[1]=e/s,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;i<0||0===n?e=0:(this._startTime=null,e=n*i)}e*=this._updateTimeScale(t);const s=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;if(this.blendMode===ge)for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(s),e[n].accumulateAdditive(a);else for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(s),e[n].accumulate(i,a)}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const s=2202===n;if(0===t)return-1===r?i:s&&1==(1&r)?e-i:i;if(2200===n){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(!1,!1,s);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=i;if(s&&1==(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=pe,i.endingEnd=pe):(i.endingStart=t?this.zeroSlopeAtStart?pe:de:me,i.endingEnd=e?this.zeroSlopeAtEnd?pe:de:me)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let s=this._weightInterpolant;null===s&&(s=i._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=n,this}}const Hu=new Float32Array(1);class Wu{constructor(t){this.value=t}clone(){return new Wu(void 0===this.value.clone?this.value:this.value.clone())}}let ju=0;function qu(t,e){return t.distance-e.distance}function Xu(t,e,n,i){if(t.layers.test(e.layers)&&t.raycast(e,n),!0===i){const i=t.children;for(let t=0,r=i.length;t<r;t++)Xu(i[t],e,n,!0)}}const Yu=new We;const Zu=new gn,Ju=new gn;const Ku=new gn;const $u=new gn,Qu=new qn,td=new qn;function ed(t){const e=[];!0===t.isBone&&e.push(t);for(let n=0;n<t.children.length;n++)e.push.apply(e,ed(t.children[n]));return e}const nd=new gn,id=new Oi,rd=new Oi;const sd=new gn,ad=new gn,od=new gn;const ld=new gn,cd=new Lr;function hd(t,e,n,i,r,s,a){ld.set(r,s,a).unproject(i);const o=e[t];if(void 0!==o){const t=n.getAttribute("position");for(let e=0,n=o.length;e<n;e++)t.setXYZ(o[e],ld.x,ld.y,ld.z)}}const ud=new xn;const dd=new gn;let pd,md;"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:e}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=e),t.ACESFilmicToneMapping=Y,t.AddEquation=v,t.AddOperation=H,t.AdditiveAnimationBlendMode=ge,t.AdditiveBlending=p,t.AlphaFormat=St,t.AlwaysDepth=U,t.AlwaysStencilFunc=519,t.AmbientLight=ou,t.AmbientLightProbe=class extends hu{constructor(t,e=1){super(void 0,e),this.isAmbientLightProbe=!0;const n=new Oi().set(t);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}},t.AnimationAction=Vu,t.AnimationClip=Oh,t.AnimationLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new Wh(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}parse(t){const e=[];for(let n=0;n<t.length;n++){const i=Oh.parse(t[n]);e.push(i)}return e}},t.AnimationMixer=class extends Le{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,s=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let t=0;t!==r;++t){const r=i[t],l=r.name;let h=c[l];if(void 0!==h)++h.referenceCount,s[t]=h;else{if(h=s[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,o,l));continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new Uu(Gu.create(n,l,i),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,o,l),s[t]=h}a[t].resultBuffer=h.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e<this._nActiveActions}_addInactiveAction(t,e,n){const i=this._actions,r=this._actionsByClip;let s=r[e];if(void 0===s)s={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,r[e]=s;else{const e=s.knownActions;t._byClipCacheIndex=e.length,e.push(t)}t._cacheIndex=i.length,i.push(t),s.actionByRoot[n]=t}_removeInactiveAction(t){const e=this._actions,n=e[e.length-1],i=t._cacheIndex;n._cacheIndex=i,e[i]=n,e.pop(),t._cacheIndex=null;const r=t._clip.uuid,s=this._actionsByClip,a=s[r],o=a.knownActions,l=o[o.length-1],c=t._byClipCacheIndex;l._byClipCacheIndex=c,o[c]=l,o.pop(),t._byClipCacheIndex=null;delete a.actionByRoot[(t._localRoot||this._root).uuid],0===o.length&&delete s[r],this._removeInactiveBindingsForAction(t)}_removeInactiveBindingsForAction(t){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.referenceCount&&this._removeInactiveBinding(n)}}_lendAction(t){const e=this._actions,n=t._cacheIndex,i=this._nActiveActions++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_takeBackAction(t){const e=this._actions,n=t._cacheIndex,i=--this._nActiveActions,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_addInactiveBinding(t,e,n){const i=this._bindingsByRootAndName,r=this._bindings;let s=i[e];void 0===s&&(s={},i[e]=s),s[n]=t,t._cacheIndex=r.length,r.push(t)}_removeInactiveBinding(t){const e=this._bindings,n=t.binding,i=n.rootNode.uuid,r=n.path,s=this._bindingsByRootAndName,a=s[i],o=e[e.length-1],l=t._cacheIndex;o._cacheIndex=l,e[l]=o,e.pop(),delete a[r],0===Object.keys(a).length&&delete s[i]}_lendBinding(t){const e=this._bindings,n=t._cacheIndex,i=this._nActiveBindings++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_takeBackBinding(t){const e=this._bindings,n=t._cacheIndex,i=--this._nActiveBindings,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_lendControlInterpolant(){const t=this._controlInterpolants,e=this._nActiveControlInterpolants++;let n=t[e];return void 0===n&&(n=new Eh(new Float32Array(2),new Float32Array(2),1,Hu),n.__cacheIndex=e,t[e]=n),n}_takeBackControlInterpolant(t){const e=this._controlInterpolants,n=t.__cacheIndex,i=--this._nActiveControlInterpolants,r=e[i];t.__cacheIndex=i,e[i]=t,r.__cacheIndex=n,e[n]=r}clipAction(t,e,n){const i=e||this._root,r=i.uuid;let s="string"==typeof t?Oh.findByName(i,t):t;const a=null!==s?s.uuid:t,o=this._actionsByClip[a];let l=null;if(void 0===n&&(n=null!==s?s.blendMode:fe),void 0!==o){const t=o.actionByRoot[r];if(void 0!==t&&t.blendMode===n)return t;l=o.knownActions[0],null===s&&(s=l._clip)}if(null===s)return null;const c=new Vu(this,s,e,n);return this._bindAction(c,l),this._addInactiveAction(c,a,r),c}existingAction(t,e){const n=e||this._root,i=n.uuid,r="string"==typeof t?Oh.findByName(n,t):t,s=r?r.uuid:t,a=this._actionsByClip[s];return void 0!==a&&a.actionByRoot[i]||null}stopAllAction(){const t=this._actions;for(let e=this._nActiveActions-1;e>=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==n;++a){e[a]._update(i,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(s);return this}setTime(t){this.time=0;for(let t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(t)}getRoot(){return this._root}uncacheClip(t){const e=this._actions,n=t.uuid,i=this._actionsByClip,r=i[n];if(void 0!==r){const t=r.knownActions;for(let n=0,i=t.length;n!==i;++n){const i=t[n];this._deactivateAction(i);const r=i._cacheIndex,s=e[e.length-1];i._cacheIndex=null,i._byClipCacheIndex=null,s._cacheIndex=r,e[r]=s,e.pop(),this._removeInactiveBindingsForAction(i)}delete i[n]}}uncacheRoot(t){const e=t.uuid,n=this._actionsByClip;for(const t in n){const i=n[t].actionByRoot[e];void 0!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}const i=this._bindingsByRootAndName[e];if(void 0!==i)for(const t in i){const e=i[t];e.restoreOriginalState(),this._removeInactiveBinding(e)}}uncacheAction(t,e){const n=this.existingAction(t,e);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}},t.AnimationObjectGroup=class{constructor(){this.isAnimationObjectGroup=!0,this.uuid=Ue(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const t={};this._indicesByUUID=t;for(let e=0,n=arguments.length;e!==n;++e)t[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}add(){const t=this._objects,e=this._indicesByUUID,n=this._paths,i=this._parsedPaths,r=this._bindings,s=r.length;let a,o=t.length,l=this.nCachedObjects_;for(let c=0,h=arguments.length;c!==h;++c){const h=arguments[c],u=h.uuid;let d=e[u];if(void 0===d){d=o++,e[u]=d,t.push(h);for(let t=0,e=s;t!==e;++t)r[t].push(new Gu(h,n[t],i[t]))}else if(d<l){a=t[d];const o=--l,c=t[o];e[c.uuid]=d,t[d]=c,e[u]=o,t[o]=h;for(let t=0,e=s;t!==e;++t){const e=r[t],s=e[o];let a=e[d];e[d]=s,void 0===a&&(a=new Gu(h,n[t],i[t])),e[o]=a}}else t[d]!==a&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=l}remove(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=e[o];if(void 0!==l&&l>=r){const s=r++,c=t[s];e[c.uuid]=l,t[l]=c,e[o]=s,t[s]=a;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[s],r=e[l];e[l]=i,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l<r){const a=--r,o=t[a],c=--s,h=t[c];e[o.uuid]=l,t[l]=o,e[h.uuid]=a,t[a]=h,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[a],r=e[c];e[l]=i,e[a]=r,e.pop()}}else{const r=--s,a=t[r];r>0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);i=r.length,n[t]=i,s.push(t),a.push(e),r.push(h);for(let n=c,i=o.length;n!==i;++n){const i=o[n];h[n]=new Gu(i,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=n,s[n]=o,s.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}},t.AnimationUtils=bh,t.ArcCurve=kl,t.ArrayCamera=go,t.ArrowHelper=class extends vi{constructor(t=new gn(0,0,1),e=new gn(0,0,0),n=1,i=16776960,r=.2*n,s=.2*r){super(),this.type="ArrowHelper",void 0===pd&&(pd=new ir,pd.setAttribute("position",new Zi([0,0,0,0,1,0],3)),md=new cc(0,.5,1,5,1),md.translate(0,-.5,0)),this.position.copy(e),this.line=new Tl(pd,new xl({color:i,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Mr(md,new Bi({color:i,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(n,r,s)}setDirection(t){if(t.y>.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{dd.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(dd,e)}}setLength(t,e=.2*t,n=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}},t.Audio=Lu,t.AudioAnalyser=class{constructor(t,e=2048){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=e,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let t=0;const e=this.getFrequencyData();for(let n=0;n<e.length;n++)t+=e[n];return t/e.length}},t.AudioContext=xu,t.AudioListener=class extends vi{constructor(){super(),this.type="AudioListener",this.context=xu.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new bu}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Tu,Eu,Au),Cu.set(0,0,-1).applyQuaternion(Eu),e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Tu.x,t),e.positionY.linearRampToValueAtTime(Tu.y,t),e.positionZ.linearRampToValueAtTime(Tu.z,t),e.forwardX.linearRampToValueAtTime(Cu.x,t),e.forwardY.linearRampToValueAtTime(Cu.y,t),e.forwardZ.linearRampToValueAtTime(Cu.z,t),e.upX.linearRampToValueAtTime(n.x,t),e.upY.linearRampToValueAtTime(n.y,t),e.upZ.linearRampToValueAtTime(n.z,t)}else e.setPosition(Tu.x,Tu.y,Tu.z),e.setOrientation(Cu.x,Cu.y,Cu.z,n.x,n.y,n.z)}},t.AudioLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new Wh(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,function(n){try{const t=n.slice(0);xu.getContext().decodeAudioData(t,function(t){e(t)})}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}},t.AxesHelper=class extends Cl{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new ir;n.setAttribute("position",new Zi(e,3)),n.setAttribute("color",new Zi([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(n,new xl({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(t,e,n){const i=new Oi,r=this.geometry.attributes.color.array;return i.set(t),i.toArray(r,0),i.toArray(r,3),i.set(e),i.toArray(r,6),i.toArray(r,9),i.set(n),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},t.BackSide=c,t.BasicDepthPacking=3200,t.BasicShadowMap=0,t.Bone=sl,t.BooleanKeyframeTrack=Lh,t.Box2=class{constructor(t=new We(1/0,1/0),e=new We(-1/0,-1/0)){this.isBox2=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=Yu.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(n),this.max.copy(t).add(n),this}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Yu).distanceTo(t)}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},t.Box3=xn,t.Box3Helper=class extends Cl{constructor(t,e=16776960){const 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]),i=new ir;i.setIndex(new qi(n,1)),i.setAttribute("position",new Zi([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(i,new xl({color:e,toneMapped:!1})),this.box=t,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(t){const e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(t))}dispose(){this.geometry.dispose(),this.material.dispose()}},t.BoxBufferGeometry=class extends br{constructor(t,e,n,i,r,s){console.warn("THREE.BoxBufferGeometry has been renamed to THREE.BoxGeometry."),super(t,e,n,i,r,s)}},t.BoxGeometry=br,t.BoxHelper=class extends Cl{constructor(t,e=16776960){const 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]),i=new Float32Array(24),r=new ir;r.setIndex(new qi(n,1)),r.setAttribute("position",new qi(i,3)),super(r,new xl({color:e,toneMapped:!1})),this.object=t,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(t){if(void 0!==t&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&ud.setFromObject(this.object),ud.isEmpty())return;const e=ud.min,n=ud.max,i=this.geometry.attributes.position,r=i.array;r[0]=n.x,r[1]=n.y,r[2]=n.z,r[3]=e.x,r[4]=n.y,r[5]=n.z,r[6]=e.x,r[7]=e.y,r[8]=n.z,r[9]=n.x,r[10]=e.y,r[11]=n.z,r[12]=n.x,r[13]=n.y,r[14]=e.z,r[15]=e.x,r[16]=n.y,r[17]=e.z,r[18]=e.x,r[19]=e.y,r[20]=e.z,r[21]=n.x,r[22]=e.y,r[23]=e.z,i.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(t){return this.object=t,this.update(),this}copy(t,e){return super.copy(t,e),this.object=t.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}},t.BufferAttribute=qi,t.BufferGeometry=ir,t.BufferGeometryLoader=mu,t.ByteType=dt,t.Cache=Bh,t.Camera=Lr,t.CameraHelper=class extends Cl{constructor(t){const e=new ir,n=new xl({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],r=[],s={};function a(t,e){o(t),o(e)}function o(t){i.push(0,0,0),r.push(0,0,0),void 0===s[t]&&(s[t]=[]),s[t].push(i.length/3-1)}a("n1","n2"),a("n2","n4"),a("n4","n3"),a("n3","n1"),a("f1","f2"),a("f2","f4"),a("f4","f3"),a("f3","f1"),a("n1","f1"),a("n2","f2"),a("n3","f3"),a("n4","f4"),a("p","n1"),a("p","n2"),a("p","n3"),a("p","n4"),a("u1","u2"),a("u2","u3"),a("u3","u1"),a("c","t"),a("p","c"),a("cn1","cn2"),a("cn3","cn4"),a("cf1","cf2"),a("cf3","cf4"),e.setAttribute("position",new Zi(i,3)),e.setAttribute("color",new Zi(r,3)),super(e,n),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update();const l=new Oi(16755200),c=new Oi(16711680),h=new Oi(43775),u=new Oi(16777215),d=new Oi(3355443);this.setColors(l,c,h,u,d)}setColors(t,e,n,i,r){const s=this.geometry.getAttribute("color");s.setXYZ(0,t.r,t.g,t.b),s.setXYZ(1,t.r,t.g,t.b),s.setXYZ(2,t.r,t.g,t.b),s.setXYZ(3,t.r,t.g,t.b),s.setXYZ(4,t.r,t.g,t.b),s.setXYZ(5,t.r,t.g,t.b),s.setXYZ(6,t.r,t.g,t.b),s.setXYZ(7,t.r,t.g,t.b),s.setXYZ(8,t.r,t.g,t.b),s.setXYZ(9,t.r,t.g,t.b),s.setXYZ(10,t.r,t.g,t.b),s.setXYZ(11,t.r,t.g,t.b),s.setXYZ(12,t.r,t.g,t.b),s.setXYZ(13,t.r,t.g,t.b),s.setXYZ(14,t.r,t.g,t.b),s.setXYZ(15,t.r,t.g,t.b),s.setXYZ(16,t.r,t.g,t.b),s.setXYZ(17,t.r,t.g,t.b),s.setXYZ(18,t.r,t.g,t.b),s.setXYZ(19,t.r,t.g,t.b),s.setXYZ(20,t.r,t.g,t.b),s.setXYZ(21,t.r,t.g,t.b),s.setXYZ(22,t.r,t.g,t.b),s.setXYZ(23,t.r,t.g,t.b),s.setXYZ(24,e.r,e.g,e.b),s.setXYZ(25,e.r,e.g,e.b),s.setXYZ(26,e.r,e.g,e.b),s.setXYZ(27,e.r,e.g,e.b),s.setXYZ(28,e.r,e.g,e.b),s.setXYZ(29,e.r,e.g,e.b),s.setXYZ(30,e.r,e.g,e.b),s.setXYZ(31,e.r,e.g,e.b),s.setXYZ(32,n.r,n.g,n.b),s.setXYZ(33,n.r,n.g,n.b),s.setXYZ(34,n.r,n.g,n.b),s.setXYZ(35,n.r,n.g,n.b),s.setXYZ(36,n.r,n.g,n.b),s.setXYZ(37,n.r,n.g,n.b),s.setXYZ(38,i.r,i.g,i.b),s.setXYZ(39,i.r,i.g,i.b),s.setXYZ(40,r.r,r.g,r.b),s.setXYZ(41,r.r,r.g,r.b),s.setXYZ(42,r.r,r.g,r.b),s.setXYZ(43,r.r,r.g,r.b),s.setXYZ(44,r.r,r.g,r.b),s.setXYZ(45,r.r,r.g,r.b),s.setXYZ(46,r.r,r.g,r.b),s.setXYZ(47,r.r,r.g,r.b),s.setXYZ(48,r.r,r.g,r.b),s.setXYZ(49,r.r,r.g,r.b),s.needsUpdate=!0}update(){const t=this.geometry,e=this.pointMap;cd.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),hd("c",e,t,cd,0,0,-1),hd("t",e,t,cd,0,0,1),hd("n1",e,t,cd,-1,-1,-1),hd("n2",e,t,cd,1,-1,-1),hd("n3",e,t,cd,-1,1,-1),hd("n4",e,t,cd,1,1,-1),hd("f1",e,t,cd,-1,-1,1),hd("f2",e,t,cd,1,-1,1),hd("f3",e,t,cd,-1,1,1),hd("f4",e,t,cd,1,1,1),hd("u1",e,t,cd,.7,1.1,-1),hd("u2",e,t,cd,-.7,1.1,-1),hd("u3",e,t,cd,0,2,-1),hd("cf1",e,t,cd,-1,0,1),hd("cf2",e,t,cd,1,0,1),hd("cf3",e,t,cd,0,-1,1),hd("cf4",e,t,cd,0,1,1),hd("cn1",e,t,cd,-1,0,-1),hd("cn2",e,t,cd,1,0,-1),hd("cn3",e,t,cd,0,-1,-1),hd("cn4",e,t,cd,0,1,-1),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},t.CanvasTexture=class extends hn{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.isCanvasTexture=!0,this.needsUpdate=!0}},t.CapsuleBufferGeometry=class extends oc{constructor(t,e,n,i){console.warn("THREE.CapsuleBufferGeometry has been renamed to THREE.CapsuleGeometry."),super(t,e,n,i)}},t.CapsuleGeometry=oc,t.CatmullRomCurve3=ql,t.CineonToneMapping=X,t.CircleBufferGeometry=class extends lc{constructor(t,e,n,i){console.warn("THREE.CircleBufferGeometry has been renamed to THREE.CircleGeometry."),super(t,e,n,i)}},t.CircleGeometry=lc,t.ClampToEdgeWrapping=it,t.Clock=bu,t.Color=Oi,t.ColorKeyframeTrack=Ph,t.ColorManagement=rn,t.CompressedArrayTexture=class extends zl{constructor(t,e,n,i,r,s){super(t,e,n,r,s),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=it}},t.CompressedTexture=zl,t.CompressedTextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=[],a=new zl,o=new Wh(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(r.withCredentials);let l=0;function c(c){o.load(t[c],function(t){const n=r.parse(t,!0);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},l+=1,6===l&&(1===n.mipmapCount&&(a.minFilter=lt),a.image=s,a.format=n.format,a.needsUpdate=!0,e&&e(a))},n,i)}if(Array.isArray(t))for(let e=0,n=t.length;e<n;++e)c(e);else o.load(t,function(t){const n=r.parse(t,!0);if(n.isCubemap){const t=n.mipmaps.length/n.mipmapCount;for(let e=0;e<t;e++){s[e]={mipmaps:[]};for(let t=0;t<n.mipmapCount;t++)s[e].mipmaps.push(n.mipmaps[e*n.mipmapCount+t]),s[e].format=n.format,s[e].width=n.width,s[e].height=n.height}a.image=s}else a.image.width=n.width,a.image.height=n.height,a.mipmaps=n.mipmaps;1===n.mipmapCount&&(a.minFilter=lt),a.format=n.format,a.needsUpdate=!0,e&&e(a)},n,i);return a}},t.ConeBufferGeometry=class extends hc{constructor(t,e,n,i,r,s,a){console.warn("THREE.ConeBufferGeometry has been renamed to THREE.ConeGeometry."),super(t,e,n,i,r,s,a)}},t.ConeGeometry=hc,t.CubeCamera=Ir,t.CubeReflectionMapping=K,t.CubeRefractionMapping=$,t.CubeTexture=Dr,t.CubeTextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=new Dr,s=new jh(this.manager);s.setCrossOrigin(this.crossOrigin),s.setPath(this.path);let a=0;function o(n){s.load(t[n],function(t){r.images[n]=t,a++,6===a&&(r.needsUpdate=!0,e&&e(r))},void 0,i)}for(let e=0;e<t.length;++e)o(e);return r}},t.CubeUVReflectionMapping=et,t.CubicBezierCurve=Jl,t.CubicBezierCurve3=Kl,t.CubicInterpolant=Th,t.CullFaceBack=i,t.CullFaceFront=r,t.CullFaceFrontBack=3,t.CullFaceNone=n,t.Curve=Bl,t.CurvePath=rc,t.CustomBlending=g,t.CustomToneMapping=Z,t.CylinderBufferGeometry=class extends cc{constructor(t,e,n,i,r,s,a,o){console.warn("THREE.CylinderBufferGeometry has been renamed to THREE.CylinderGeometry."),super(t,e,n,i,r,s,a,o)}},t.CylinderGeometry=cc,t.Cylindrical=class{constructor(t=1,e=0,n=0){return this.radius=t,this.theta=e,this.y=n,this}set(t,e,n){return this.radius=t,this.theta=e,this.y=n,this}copy(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,n){return this.radius=Math.sqrt(t*t+n*n),this.theta=Math.atan2(t,n),this.y=e,this}clone(){return new this.constructor().copy(this)}},t.Data3DTexture=mn,t.DataArrayTexture=pn,t.DataTexture=al,t.DataTextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new al,a=new Wh(this.manager);return a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setPath(this.path),a.setWithCredentials(r.withCredentials),a.load(t,function(t){const n=r.parse(t);n&&(void 0!==n.image?s.image=n.image:void 0!==n.data&&(s.image.width=n.width,s.image.height=n.height,s.image.data=n.data),s.wrapS=void 0!==n.wrapS?n.wrapS:it,s.wrapT=void 0!==n.wrapT?n.wrapT:it,s.magFilter=void 0!==n.magFilter?n.magFilter:lt,s.minFilter=void 0!==n.minFilter?n.minFilter:lt,s.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.encoding&&(s.encoding=n.encoding),void 0!==n.flipY&&(s.flipY=n.flipY),void 0!==n.format&&(s.format=n.format),void 0!==n.type&&(s.type=n.type),void 0!==n.mipmaps&&(s.mipmaps=n.mipmaps,s.minFilter=ht),1===n.mipmapCount&&(s.minFilter=lt),void 0!==n.generateMipmaps&&(s.generateMipmaps=n.generateMipmaps),s.needsUpdate=!0,e&&e(s,n))},n,i),s}},t.DataUtils=Hi,t.DecrementStencilOp=7683,t.DecrementWrapStencilOp=34056,t.DefaultLoadingManager=kh,t.DepthFormat=Et,t.DepthStencilFormat=At,t.DepthTexture=yo,t.DirectionalLight=au,t.DirectionalLightHelper=class extends vi{constructor(t,e,n){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="DirectionalLightHelper",void 0===e&&(e=1);let i=new ir;i.setAttribute("position",new Zi([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const r=new xl({fog:!1,toneMapped:!1});this.lightPlane=new Tl(i,r),this.add(this.lightPlane),i=new ir,i.setAttribute("position",new Zi([0,0,0,0,0,1],3)),this.targetLine=new Tl(i,r),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),sd.setFromMatrixPosition(this.light.matrixWorld),ad.setFromMatrixPosition(this.light.target.matrixWorld),od.subVectors(ad,sd),this.lightPlane.lookAt(ad),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(ad),this.targetLine.scale.z=od.length()}},t.DiscreteInterpolant=Ah,t.DisplayP3ColorSpace=we,t.DodecahedronBufferGeometry=class extends dc{constructor(t,e){console.warn("THREE.DodecahedronBufferGeometry has been renamed to THREE.DodecahedronGeometry."),super(t,e)}},t.DodecahedronGeometry=dc,t.DoubleSide=h,t.DstAlphaFactor=C,t.DstColorFactor=P,t.DynamicCopyUsage=35050,t.DynamicDrawUsage=35048,t.DynamicReadUsage=35049,t.EdgesGeometry=vc,t.EllipseCurve=Fl,t.EqualDepth=z,t.EqualStencilFunc=514,t.EquirectangularReflectionMapping=Q,t.EquirectangularRefractionMapping=tt,t.Euler=ni,t.EventDispatcher=Le,t.ExtrudeBufferGeometry=class extends Xc{constructor(t,e){console.warn("THREE.ExtrudeBufferGeometry has been renamed to THREE.ExtrudeGeometry."),super(t,e)}},t.ExtrudeGeometry=Xc,t.FileLoader=Wh,t.Float16BufferAttribute=class extends qi{constructor(t,e,n){super(new Uint16Array(t),e,n),this.isFloat16BufferAttribute=!0}getX(t){let e=Vi(this.array[t*this.itemSize]);return this.normalized&&(e=Ge(e,this.array)),e}setX(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize]=Gi(e),this}getY(t){let e=Vi(this.array[t*this.itemSize+1]);return this.normalized&&(e=Ge(e,this.array)),e}setY(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+1]=Gi(e),this}getZ(t){let e=Vi(this.array[t*this.itemSize+2]);return this.normalized&&(e=Ge(e,this.array)),e}setZ(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+2]=Gi(e),this}getW(t){let e=Vi(this.array[t*this.itemSize+3]);return this.normalized&&(e=Ge(e,this.array)),e}setW(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+3]=Gi(e),this}setXY(t,e,n){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array)),this.array[t+0]=Gi(e),this.array[t+1]=Gi(n),this}setXYZ(t,e,n,i){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array)),this.array[t+0]=Gi(e),this.array[t+1]=Gi(n),this.array[t+2]=Gi(i),this}setXYZW(t,e,n,i,r){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array),r=Ve(r,this.array)),this.array[t+0]=Gi(e),this.array[t+1]=Gi(n),this.array[t+2]=Gi(i),this.array[t+3]=Gi(r),this}},t.Float32BufferAttribute=Zi,t.Float64BufferAttribute=class extends qi{constructor(t,e,n){super(new Float64Array(t),e,n)}},t.FloatType=vt,t.Fog=Co,t.FogExp2=Ao,t.FramebufferTexture=class extends hn{constructor(t,e,n){super({width:t,height:e}),this.isFramebufferTexture=!0,this.format=n,this.magFilter=st,this.minFilter=st,this.generateMipmaps=!1,this.needsUpdate=!0}},t.FrontSide=l,t.Frustum=Gr,t.GLBufferAttribute=class{constructor(t,e,n,i,r){this.isGLBufferAttribute=!0,this.name="",this.buffer=t,this.type=e,this.itemSize=n,this.elementSize=i,this.count=r,this.version=0}set needsUpdate(t){!0===t&&this.version++}setBuffer(t){return this.buffer=t,this}setType(t,e){return this.type=t,this.elementSize=e,this}setItemSize(t){return this.itemSize=t,this}setCount(t){return this.count=t,this}},t.GLSL1="100",t.GLSL3=Ae,t.GreaterDepth=F,t.GreaterEqualDepth=B,t.GreaterEqualStencilFunc=518,t.GreaterStencilFunc=516,t.GridHelper=class extends Cl{constructor(t=10,e=10,n=4473924,i=8947848){n=new Oi(n),i=new Oi(i);const r=e/2,s=t/e,a=t/2,o=[],l=[];for(let t=0,c=0,h=-a;t<=e;t++,h+=s){o.push(-a,0,h,a,0,h),o.push(h,0,-a,h,0,a);const e=t===r?n:i;e.toArray(l,c),c+=3,e.toArray(l,c),c+=3,e.toArray(l,c),c+=3,e.toArray(l,c),c+=3}const c=new ir;c.setAttribute("position",new Zi(o,3)),c.setAttribute("color",new Zi(l,3));super(c,new xl({vertexColors:!0,toneMapped:!1})),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}},t.Group=vo,t.HalfFloatType=_t,t.HemisphereLight=Xh,t.HemisphereLightHelper=class extends vi{constructor(t,e,n){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="HemisphereLightHelper";const i=new Jc(e);i.rotateY(.5*Math.PI),this.material=new Bi({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const r=i.getAttribute("position"),s=new Float32Array(3*r.count);i.setAttribute("color",new qi(s,3)),this.add(new Mr(i,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const t=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const e=t.geometry.getAttribute("color");id.copy(this.light.color),rd.copy(this.light.groundColor);for(let t=0,n=e.count;t<n;t++){const i=t<n/2?id:rd;e.setXYZ(t,i.r,i.g,i.b)}e.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),t.lookAt(nd.setFromMatrixPosition(this.light.matrixWorld).negate())}},t.HemisphereLightProbe=class extends hu{constructor(t,e,n=1){super(void 0,n),this.isHemisphereLightProbe=!0;const i=new Oi().set(t),r=new Oi().set(e),s=new gn(i.r,i.g,i.b),a=new gn(r.r,r.g,r.b),o=Math.sqrt(Math.PI),l=o*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o),this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}},t.IcosahedronBufferGeometry=class extends Zc{constructor(t,e){console.warn("THREE.IcosahedronBufferGeometry has been renamed to THREE.IcosahedronGeometry."),super(t,e)}},t.IcosahedronGeometry=Zc,t.ImageBitmapLoader=class extends Gh{constructor(t){super(t),this.isImageBitmapLoader=!0,"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(t){return this.options=t,this}load(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=Bh.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout(function(){e&&e(s),r.manager.itemEnd(t)},0),s;const a={};a.credentials="anonymous"===this.crossOrigin?"same-origin":"include",a.headers=this.requestHeader,fetch(t,a).then(function(t){return t.blob()}).then(function(t){return createImageBitmap(t,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(n){Bh.add(t,n),e&&e(n),r.manager.itemEnd(t)}).catch(function(e){i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)}),r.manager.itemStart(t)}},t.ImageLoader=jh,t.ImageUtils=an,t.IncrementStencilOp=7682,t.IncrementWrapStencilOp=34055,t.InstancedBufferAttribute=hl,t.InstancedBufferGeometry=pu,t.InstancedInterleavedBuffer=class extends Po{constructor(t,e,n=1){super(t,e),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=n}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}clone(t){const e=super.clone(t);return e.meshPerAttribute=this.meshPerAttribute,e}toJSON(t){const e=super.toJSON(t);return e.isInstancedInterleavedBuffer=!0,e.meshPerAttribute=this.meshPerAttribute,e}},t.InstancedMesh=_l,t.Int16BufferAttribute=class extends qi{constructor(t,e,n){super(new Int16Array(t),e,n)}},t.Int32BufferAttribute=class extends qi{constructor(t,e,n){super(new Int32Array(t),e,n)}},t.Int8BufferAttribute=class extends qi{constructor(t,e,n){super(new Int8Array(t),e,n)}},t.IntType=ft,t.InterleavedBuffer=Po,t.InterleavedBufferAttribute=Io,t.Interpolant=wh,t.InterpolateDiscrete=ce,t.InterpolateLinear=he,t.InterpolateSmooth=ue,t.InvertStencilOp=5386,t.KeepStencilOp=Te,t.KeyframeTrack=Ch,t.LOD=Ko,t.LatheBufferGeometry=class extends ac{constructor(t,e,n,i){console.warn("THREE.LatheBufferGeometry has been renamed to THREE.LatheGeometry."),super(t,e,n,i)}},t.LatheGeometry=ac,t.Layers=ii,t.LessDepth=N,t.LessEqualDepth=O,t.LessEqualStencilFunc=515,t.LessStencilFunc=513,t.Light=qh,t.LightProbe=hu,t.Line=Tl,t.Line3=class{constructor(t=new gn,e=new gn){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Zu.subVectors(t,this.start),Ju.subVectors(this.end,this.start);const n=Ju.dot(Ju);let i=Ju.dot(Zu)/n;return e&&(i=Ne(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},t.LineBasicMaterial=xl,t.LineCurve=$l,t.LineCurve3=Ql,t.LineDashedMaterial=gh,t.LineLoop=Ll,t.LineSegments=Cl,t.LinearEncoding=ve,t.LinearFilter=lt,t.LinearInterpolant=Eh,t.LinearMipMapLinearFilter=1008,t.LinearMipMapNearestFilter=1007,t.LinearMipmapLinearFilter=ht,t.LinearMipmapNearestFilter=ct,t.LinearSRGBColorSpace=be,t.LinearToneMapping=j,t.Loader=Gh,t.LoaderUtils=du,t.LoadingManager=Fh,t.LoopOnce=2200,t.LoopPingPong=2202,t.LoopRepeat=2201,t.LuminanceAlphaFormat=Tt,t.LuminanceFormat=wt,t.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},t.Material=Ri,t.MaterialLoader=uu,t.MathUtils=He,t.Matrix3=je,t.Matrix4=qn,t.MaxEquation=M,t.Mesh=Mr,t.MeshBasicMaterial=Bi,t.MeshDepthMaterial=oo,t.MeshDistanceMaterial=lo,t.MeshLambertMaterial=mh,t.MeshMatcapMaterial=fh,t.MeshNormalMaterial=ph,t.MeshPhongMaterial=uh,t.MeshPhysicalMaterial=hh,t.MeshStandardMaterial=ch,t.MeshToonMaterial=dh,t.MinEquation=y,t.MirroredRepeatWrapping=rt,t.MixOperation=V,t.MultiplyBlending=f,t.MultiplyOperation=G,t.NearestFilter=st,t.NearestMipMapLinearFilter=1005,t.NearestMipMapNearestFilter=1004,t.NearestMipmapLinearFilter=ot,t.NearestMipmapNearestFilter=at,t.NeverDepth=D,t.NeverStencilFunc=512,t.NoBlending=u,t.NoColorSpace="",t.NoToneMapping=W,t.NormalAnimationBlendMode=fe,t.NormalBlending=d,t.NotEqualDepth=k,t.NotEqualStencilFunc=517,t.NumberKeyframeTrack=Rh,t.Object3D=vi,t.ObjectLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=""===this.path?du.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||s;const a=new Wh(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(t,function(n){let s=null;try{s=JSON.parse(n)}catch(e){return void 0!==i&&i(e),void console.error("THREE:ObjectLoader: Can't parse "+t+".",e.message)}const a=s.metadata;if(void 0===a||void 0===a.type||"geometry"===a.type.toLowerCase())return void 0!==i&&i(new Error("THREE.ObjectLoader: Can't load "+t)),void console.error("THREE.ObjectLoader: Can't load "+t);r.parse(s,e)},n,i)}async loadAsync(t,e){const n=""===this.path?du.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||n;const i=new Wh(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials);const r=await i.loadAsync(t,e),s=JSON.parse(r),a=s.metadata;if(void 0===a||void 0===a.type||"geometry"===a.type.toLowerCase())throw new Error("THREE.ObjectLoader: Can't load "+t);return await this.parseAsync(s)}parse(t,e){const n=this.parseAnimations(t.animations),i=this.parseShapes(t.shapes),r=this.parseGeometries(t.geometries,i),s=this.parseImages(t.images,function(){void 0!==e&&e(l)}),a=this.parseTextures(t.textures,s),o=this.parseMaterials(t.materials,a),l=this.parseObject(t.object,r,o,a,n),c=this.parseSkeletons(t.skeletons,l);if(this.bindSkeletons(l,c),void 0!==e){let t=!1;for(const e in s)if(s[e].data instanceof HTMLImageElement){t=!0;break}!1===t&&e(l)}return l}async parseAsync(t){const e=this.parseAnimations(t.animations),n=this.parseShapes(t.shapes),i=this.parseGeometries(t.geometries,n),r=await this.parseImagesAsync(t.images),s=this.parseTextures(t.textures,r),a=this.parseMaterials(t.materials,s),o=this.parseObject(t.object,i,a,s,e),l=this.parseSkeletons(t.skeletons,o);return this.bindSkeletons(o,l),o}parseShapes(t){const e={};if(void 0!==t)for(let n=0,i=t.length;n<i;n++){const i=new _c().fromJSON(t[n]);e[i.uuid]=i}return e}parseSkeletons(t,e){const n={},i={};if(e.traverse(function(t){t.isBone&&(i[t.uuid]=t)}),void 0!==t)for(let e=0,r=t.length;e<r;e++){const r=new cl().fromJSON(t[e],i);n[r.uuid]=r}return n}parseGeometries(t,e){const n={};if(void 0!==t){const i=new mu;for(let r=0,s=t.length;r<s;r++){let s;const a=t[r];switch(a.type){case"BufferGeometry":case"InstancedBufferGeometry":s=i.parse(a);break;default:a.type in ah?s=ah[a.type].fromJSON(a,e):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${a.type}"`);}s.uuid=a.uuid,void 0!==a.name&&(s.name=a.name),void 0!==a.userData&&(s.userData=a.userData),n[a.uuid]=s}}return n}parseMaterials(t,e){const n={},i={};if(void 0!==t){const r=new uu;r.setTextures(e);for(let e=0,s=t.length;e<s;e++){const s=t[e];void 0===n[s.uuid]&&(n[s.uuid]=r.parse(s)),i[s.uuid]=n[s.uuid]}}return i}parseAnimations(t){const e={};if(void 0!==t)for(let n=0;n<t.length;n++){const i=t[n],r=Oh.parse(i);e[r.uuid]=r}return e}parseImages(t,e){const n=this,i={};let r;function s(t){if("string"==typeof t){const e=t;return function(t){return n.manager.itemStart(t),r.load(t,function(){n.manager.itemEnd(t)},void 0,function(){n.manager.itemError(t),n.manager.itemEnd(t)})}(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(e)?e:n.resourcePath+e)}return t.data?{data:Ze(t.type,t.data),width:t.width,height:t.height}:null}if(void 0!==t&&t.length>0){const n=new Fh(e);r=new jh(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e<n;e++){const n=t[e],r=n.url;if(Array.isArray(r)){const t=[];for(let e=0,n=r.length;e<n;e++){const n=s(r[e]);null!==n&&(n instanceof HTMLImageElement?t.push(n):t.push(new al(n.data,n.width,n.height)))}i[n.uuid]=new on(t)}else{const t=s(n.url);i[n.uuid]=new on(t)}}}return i}async parseImagesAsync(t){const e=this,n={};let i;async function r(t){if("string"==typeof t){const n=t,r=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(n)?n:e.resourcePath+n;return await i.loadAsync(r)}return t.data?{data:Ze(t.type,t.data),width:t.width,height:t.height}:null}if(void 0!==t&&t.length>0){i=new jh(this.manager),i.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e<i;e++){const i=t[e],s=i.url;if(Array.isArray(s)){const t=[];for(let e=0,n=s.length;e<n;e++){const n=s[e],i=await r(n);null!==i&&(i instanceof HTMLImageElement?t.push(i):t.push(new al(i.data,i.width,i.height)))}n[i.uuid]=new on(t)}else{const t=await r(i.url);n[i.uuid]=new on(t)}}}return n}parseTextures(t,e){function n(t,e){return"number"==typeof t?t:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",t),e[t])}const i={};if(void 0!==t)for(let r=0,s=t.length;r<s;r++){const s=t[r];void 0===s.image&&console.warn("THREE.ObjectLoader: No \"image\" specified for",s.uuid),void 0===e[s.image]&&console.warn("THREE.ObjectLoader: Undefined image",s.image);const a=e[s.image],o=a.data;let l;Array.isArray(o)?(l=new Dr,6===o.length&&(l.needsUpdate=!0)):(l=o&&o.data?new al:new hn,o&&(l.needsUpdate=!0)),l.source=a,l.uuid=s.uuid,void 0!==s.name&&(l.name=s.name),void 0!==s.mapping&&(l.mapping=n(s.mapping,fu)),void 0!==s.channel&&(l.channel=s.channel),void 0!==s.offset&&l.offset.fromArray(s.offset),void 0!==s.repeat&&l.repeat.fromArray(s.repeat),void 0!==s.center&&l.center.fromArray(s.center),void 0!==s.rotation&&(l.rotation=s.rotation),void 0!==s.wrap&&(l.wrapS=n(s.wrap[0],gu),l.wrapT=n(s.wrap[1],gu)),void 0!==s.format&&(l.format=s.format),void 0!==s.internalFormat&&(l.internalFormat=s.internalFormat),void 0!==s.type&&(l.type=s.type),void 0!==s.encoding&&(l.encoding=s.encoding),void 0!==s.minFilter&&(l.minFilter=n(s.minFilter,vu)),void 0!==s.magFilter&&(l.magFilter=n(s.magFilter,vu)),void 0!==s.anisotropy&&(l.anisotropy=s.anisotropy),void 0!==s.flipY&&(l.flipY=s.flipY),void 0!==s.generateMipmaps&&(l.generateMipmaps=s.generateMipmaps),void 0!==s.premultiplyAlpha&&(l.premultiplyAlpha=s.premultiplyAlpha),void 0!==s.unpackAlignment&&(l.unpackAlignment=s.unpackAlignment),void 0!==s.userData&&(l.userData=s.userData),i[s.uuid]=l}return i}parseObject(t,e,n,i,r){let s,a,o;function l(t){return void 0===e[t]&&console.warn("THREE.ObjectLoader: Undefined geometry",t),e[t]}function c(t){if(void 0!==t){if(Array.isArray(t)){const e=[];for(let i=0,r=t.length;i<r;i++){const r=t[i];void 0===n[r]&&console.warn("THREE.ObjectLoader: Undefined material",r),e.push(n[r])}return e}return void 0===n[t]&&console.warn("THREE.ObjectLoader: Undefined material",t),n[t]}}function h(t){return void 0===i[t]&&console.warn("THREE.ObjectLoader: Undefined texture",t),i[t]}switch(t.type){case"Scene":s=new Lo,void 0!==t.background&&(Number.isInteger(t.background)?s.background=new Oi(t.background):s.background=h(t.background)),void 0!==t.environment&&(s.environment=h(t.environment)),void 0!==t.fog&&("Fog"===t.fog.type?s.fog=new Co(t.fog.color,t.fog.near,t.fog.far):"FogExp2"===t.fog.type&&(s.fog=new Ao(t.fog.color,t.fog.density))),void 0!==t.backgroundBlurriness&&(s.backgroundBlurriness=t.backgroundBlurriness),void 0!==t.backgroundIntensity&&(s.backgroundIntensity=t.backgroundIntensity);break;case"PerspectiveCamera":s=new Pr(t.fov,t.aspect,t.near,t.far),void 0!==t.focus&&(s.focus=t.focus),void 0!==t.zoom&&(s.zoom=t.zoom),void 0!==t.filmGauge&&(s.filmGauge=t.filmGauge),void 0!==t.filmOffset&&(s.filmOffset=t.filmOffset),void 0!==t.view&&(s.view=Object.assign({},t.view));break;case"OrthographicCamera":s=new es(t.left,t.right,t.top,t.bottom,t.near,t.far),void 0!==t.zoom&&(s.zoom=t.zoom),void 0!==t.view&&(s.view=Object.assign({},t.view));break;case"AmbientLight":s=new ou(t.color,t.intensity);break;case"DirectionalLight":s=new au(t.color,t.intensity);break;case"PointLight":s=new ru(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":s=new lu(t.color,t.intensity,t.width,t.height);break;case"SpotLight":s=new Qh(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":s=new Xh(t.color,t.groundColor,t.intensity);break;case"LightProbe":s=new hu().fromJSON(t);break;case"SkinnedMesh":a=l(t.geometry),o=c(t.material),s=new rl(a,o),void 0!==t.bindMode&&(s.bindMode=t.bindMode),void 0!==t.bindMatrix&&s.bindMatrix.fromArray(t.bindMatrix),void 0!==t.skeleton&&(s.skeleton=t.skeleton);break;case"Mesh":a=l(t.geometry),o=c(t.material),s=new Mr(a,o);break;case"InstancedMesh":a=l(t.geometry),o=c(t.material);const e=t.count,n=t.instanceMatrix,i=t.instanceColor;s=new _l(a,o,e),s.instanceMatrix=new hl(new Float32Array(n.array),16),void 0!==i&&(s.instanceColor=new hl(new Float32Array(i.array),i.itemSize));break;case"LOD":s=new Ko;break;case"Line":s=new Tl(l(t.geometry),c(t.material));break;case"LineLoop":s=new Ll(l(t.geometry),c(t.material));break;case"LineSegments":s=new Cl(l(t.geometry),c(t.material));break;case"PointCloud":case"Points":s=new Nl(l(t.geometry),c(t.material));break;case"Sprite":s=new Xo(c(t.material));break;case"Group":s=new vo;break;case"Bone":s=new sl;break;default:s=new vi;}if(s.uuid=t.uuid,void 0!==t.name&&(s.name=t.name),void 0!==t.matrix?(s.matrix.fromArray(t.matrix),void 0!==t.matrixAutoUpdate&&(s.matrixAutoUpdate=t.matrixAutoUpdate),s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)):(void 0!==t.position&&s.position.fromArray(t.position),void 0!==t.rotation&&s.rotation.fromArray(t.rotation),void 0!==t.quaternion&&s.quaternion.fromArray(t.quaternion),void 0!==t.scale&&s.scale.fromArray(t.scale)),void 0!==t.up&&s.up.fromArray(t.up),void 0!==t.castShadow&&(s.castShadow=t.castShadow),void 0!==t.receiveShadow&&(s.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(s.shadow.bias=t.shadow.bias),void 0!==t.shadow.normalBias&&(s.shadow.normalBias=t.shadow.normalBias),void 0!==t.shadow.radius&&(s.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&s.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(s.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(s.visible=t.visible),void 0!==t.frustumCulled&&(s.frustumCulled=t.frustumCulled),void 0!==t.renderOrder&&(s.renderOrder=t.renderOrder),void 0!==t.userData&&(s.userData=t.userData),void 0!==t.layers&&(s.layers.mask=t.layers),void 0!==t.children){const a=t.children;for(let t=0;t<a.length;t++)s.add(this.parseObject(a[t],e,n,i,r))}if(void 0!==t.animations){const e=t.animations;for(let t=0;t<e.length;t++){const n=e[t];s.animations.push(r[n])}}if("LOD"===t.type){void 0!==t.autoUpdate&&(s.autoUpdate=t.autoUpdate);const e=t.levels;for(let t=0;t<e.length;t++){const n=e[t],i=s.getObjectByProperty("uuid",n.object);void 0!==i&&s.addLevel(i,n.distance,n.hysteresis)}}return s}bindSkeletons(t,e){0!==Object.keys(e).length&&t.traverse(function(t){if(!0===t.isSkinnedMesh&&void 0!==t.skeleton){const n=e[t.skeleton];void 0===n?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",t.skeleton):t.bind(n,t.bindMatrix)}})}},t.ObjectSpaceNormalMap=Me,t.OctahedronBufferGeometry=class extends Jc{constructor(t,e){console.warn("THREE.OctahedronBufferGeometry has been renamed to THREE.OctahedronGeometry."),super(t,e)}},t.OctahedronGeometry=Jc,t.OneFactor=b,t.OneMinusDstAlphaFactor=L,t.OneMinusDstColorFactor=R,t.OneMinusSrcAlphaFactor=A,t.OneMinusSrcColorFactor=T,t.OrthographicCamera=es,t.PCFShadowMap=s,t.PCFSoftShadowMap=a,t.PMREMGenerator=us,t.Path=sc,t.PerspectiveCamera=Pr,t.Plane=Br,t.PlaneBufferGeometry=class extends Wr{constructor(t,e,n,i){console.warn("THREE.PlaneBufferGeometry has been renamed to THREE.PlaneGeometry."),super(t,e,n,i)}},t.PlaneGeometry=Wr,t.PlaneHelper=class extends Tl{constructor(t,e=1,n=16776960){const i=n,r=new ir;r.setAttribute("position",new Zi([1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],3)),r.computeBoundingSphere(),super(r,new xl({color:i,toneMapped:!1})),this.type="PlaneHelper",this.plane=t,this.size=e;const s=new ir;s.setAttribute("position",new Zi([1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],3)),s.computeBoundingSphere(),this.add(new Mr(s,new Bi({color:i,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(t){this.position.set(0,0,0),this.scale.set(.5*this.size,.5*this.size,1),this.lookAt(this.plane.normal),this.translateZ(-this.plane.constant),super.updateMatrixWorld(t)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}},t.PointLight=ru,t.PointLightHelper=class extends Mr{constructor(t,e,n){super(new Qc(e,4,2),new Bi({wireframe:!0,fog:!1,toneMapped:!1})),this.light=t,this.color=n,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},t.Points=Nl,t.PointsMaterial=Pl,t.PolarGridHelper=class extends Cl{constructor(t=10,e=16,n=8,i=64,r=4473924,s=8947848){r=new Oi(r),s=new Oi(s);const a=[],o=[];if(e>1)for(let n=0;n<e;n++){const i=n/e*(2*Math.PI),l=Math.sin(i)*t,c=Math.cos(i)*t;a.push(0,0,0),a.push(l,0,c);const h=1&n?r:s;o.push(h.r,h.g,h.b),o.push(h.r,h.g,h.b)}for(let e=0;e<n;e++){const l=1&e?r:s,c=t-t/n*e;for(let t=0;t<i;t++){let e=t/i*(2*Math.PI),n=Math.sin(e)*c,r=Math.cos(e)*c;a.push(n,0,r),o.push(l.r,l.g,l.b),e=(t+1)/i*(2*Math.PI),n=Math.sin(e)*c,r=Math.cos(e)*c,a.push(n,0,r),o.push(l.r,l.g,l.b)}}const l=new ir;l.setAttribute("position",new Zi(a,3)),l.setAttribute("color",new Zi(o,3));super(l,new xl({vertexColors:!0,toneMapped:!1})),this.type="PolarGridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}},t.PolyhedronBufferGeometry=class extends uc{constructor(t,e,n,i){console.warn("THREE.PolyhedronBufferGeometry has been renamed to THREE.PolyhedronGeometry."),super(t,e,n,i)}},t.PolyhedronGeometry=uc,t.PositionalAudio=class extends Lu{constructor(t){super(t),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}disconnect(){super.disconnect(),this.panner.disconnect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(t){return this.panner.refDistance=t,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(t){return this.panner.rolloffFactor=t,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(t){return this.panner.distanceModel=t,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(t){return this.panner.maxDistance=t,this}setDirectionalCone(t,e,n){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=n,this}updateMatrixWorld(t){if(super.updateMatrixWorld(t),!0===this.hasPlaybackControl&&!1===this.isPlaying)return;this.matrixWorld.decompose(Pu,Ru,Iu),Du.set(0,0,1).applyQuaternion(Ru);const e=this.panner;if(e.positionX){const t=this.context.currentTime+this.listener.timeDelta;e.positionX.linearRampToValueAtTime(Pu.x,t),e.positionY.linearRampToValueAtTime(Pu.y,t),e.positionZ.linearRampToValueAtTime(Pu.z,t),e.orientationX.linearRampToValueAtTime(Du.x,t),e.orientationY.linearRampToValueAtTime(Du.y,t),e.orientationZ.linearRampToValueAtTime(Du.z,t)}else e.setPosition(Pu.x,Pu.y,Pu.z),e.setOrientation(Du.x,Du.y,Du.z)}},t.PropertyBinding=Gu,t.PropertyMixer=Uu,t.QuadraticBezierCurve=tc,t.QuadraticBezierCurve3=ec,t.Quaternion=fn,t.QuaternionKeyframeTrack=Dh,t.QuaternionLinearInterpolant=Ih,t.RED_GREEN_RGTC2_Format=oe,t.RED_RGTC1_Format=se,t.REVISION=e,t.RGBADepthPacking=xe,t.RGBAFormat=bt,t.RGBAIntegerFormat=It,t.RGBA_ASTC_10x10_Format=ee,t.RGBA_ASTC_10x5_Format=$t,t.RGBA_ASTC_10x6_Format=Qt,t.RGBA_ASTC_10x8_Format=te,t.RGBA_ASTC_12x10_Format=ne,t.RGBA_ASTC_12x12_Format=ie,t.RGBA_ASTC_4x4_Format=Wt,t.RGBA_ASTC_5x4_Format=jt,t.RGBA_ASTC_5x5_Format=qt,t.RGBA_ASTC_6x5_Format=Xt,t.RGBA_ASTC_6x6_Format=Yt,t.RGBA_ASTC_8x5_Format=Zt,t.RGBA_ASTC_8x6_Format=Jt,t.RGBA_ASTC_8x8_Format=Kt,t.RGBA_BPTC_Format=re,t.RGBA_ETC2_EAC_Format=Ht,t.RGBA_PVRTC_2BPPV1_Format=kt,t.RGBA_PVRTC_4BPPV1_Format=Ft,t.RGBA_S3TC_DXT1_Format=Ut,t.RGBA_S3TC_DXT3_Format=Nt,t.RGBA_S3TC_DXT5_Format=Ot,t.RGB_ETC1_Format=Gt,t.RGB_ETC2_Format=Vt,t.RGB_PVRTC_2BPPV1_Format=Bt,t.RGB_PVRTC_4BPPV1_Format=zt,t.RGB_S3TC_DXT1_Format=Dt,t.RGFormat=Pt,t.RGIntegerFormat=Rt,t.RawShaderMaterial=lh,t.Ray=jn,t.Raycaster=class{constructor(t,e,n=0,i=1/0){this.ray=new jn(t,e),this.near=n,this.far=i,this.camera=null,this.layers=new ii,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(t,e){this.ray.set(t,e)}setFromCamera(t,e){e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):console.error("THREE.Raycaster: Unsupported camera type: "+e.type)}intersectObject(t,e=!0,n=[]){return Xu(t,this,n,e),n.sort(qu),n}intersectObjects(t,e=!0,n=[]){for(let i=0,r=t.length;i<r;i++)Xu(t[i],this,n,e);return n.sort(qu),n}},t.RectAreaLight=lu,t.RedFormat=Ct,t.RedIntegerFormat=Lt,t.ReinhardToneMapping=q,t.RepeatWrapping=nt,t.ReplaceStencilOp=7681,t.ReverseSubtractEquation=x,t.RingBufferGeometry=class extends Kc{constructor(t,e,n,i,r,s){console.warn("THREE.RingBufferGeometry has been renamed to THREE.RingGeometry."),super(t,e,n,i,r,s)}},t.RingGeometry=Kc,t.SIGNED_RED_GREEN_RGTC2_Format=le,t.SIGNED_RED_RGTC1_Format=ae,t.SRGBColorSpace=Se,t.Scene=Lo,t.ShaderChunk=jr,t.ShaderLib=Xr,t.ShaderMaterial=Cr,t.ShadowMaterial=oh,t.Shape=_c,t.ShapeBufferGeometry=class extends $c{constructor(t,e){console.warn("THREE.ShapeBufferGeometry has been renamed to THREE.ShapeGeometry."),super(t,e)}},t.ShapeGeometry=$c,t.ShapePath=class{constructor(){this.type="ShapePath",this.color=new Oi,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new sc,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,n,i){return this.currentPath.quadraticCurveTo(t,e,n,i),this}bezierCurveTo(t,e,n,i,r,s){return this.currentPath.bezierCurveTo(t,e,n,i,r,s),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t){function e(t,e){const n=e.length;let i=!1;for(let r=n-1,s=0;s<n;r=s++){let n=e[r],a=e[s],o=a.x-n.x,l=a.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0&&(n=e[s],o=-o,a=e[r],l=-l),t.y<n.y||t.y>a.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return i}const n=Wc.isClockWise,i=this.subPaths;if(0===i.length)return[];let r,s,a;const o=[];if(1===i.length)return s=i[0],a=new _c,a.curves=s.curves,o.push(a),o;let l=!n(i[0].getPoints());l=t?!l:l;const c=[],h=[];let u,d,p=[],m=0;h[m]=void 0,p[m]=[];for(let e=0,a=i.length;e<a;e++)s=i[e],u=s.getPoints(),r=n(u),r=t?!r:r,r?(!l&&h[m]&&m++,h[m]={s:new _c,p:u},h[m].s.curves=s.curves,l&&m++,p[m]=[]):p[m].push({h:s,p:u[0]});if(!h[0])return function(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n],r=new _c;r.curves=i.curves,e.push(r)}return e}(i);if(h.length>1){let t=!1,n=0;for(let t=0,e=h.length;t<e;t++)c[t]=[];for(let i=0,r=h.length;i<r;i++){const r=p[i];for(let s=0;s<r.length;s++){const a=r[s];let o=!0;for(let r=0;r<h.length;r++)e(a.p,h[r].p)&&(i!==r&&n++,o?(o=!1,c[r].push(a)):t=!0);o&&c[i].push(a)}}n>0&&!1===t&&(p=c)}for(let t=0,e=h.length;t<e;t++){a=h[t].s,o.push(a),d=p[t];for(let t=0,e=d.length;t<e;t++)a.holes.push(d[t].h)}return o}},t.ShapeUtils=Wc,t.ShortType=pt,t.Skeleton=cl,t.SkeletonHelper=class extends Cl{constructor(t){const e=ed(t),n=new ir,i=[],r=[],s=new Oi(0,0,1),a=new Oi(0,1,0);for(let t=0;t<e.length;t++){const n=e[t];n.parent&&n.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),r.push(s.r,s.g,s.b),r.push(a.r,a.g,a.b))}n.setAttribute("position",new Zi(i,3)),n.setAttribute("color",new Zi(r,3));super(n,new xl({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0})),this.isSkeletonHelper=!0,this.type="SkeletonHelper",this.root=t,this.bones=e,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(t){const e=this.bones,n=this.geometry,i=n.getAttribute("position");td.copy(this.root.matrixWorld).invert();for(let t=0,n=0;t<e.length;t++){const r=e[t];r.parent&&r.parent.isBone&&(Qu.multiplyMatrices(td,r.matrixWorld),$u.setFromMatrixPosition(Qu),i.setXYZ(n,$u.x,$u.y,$u.z),Qu.multiplyMatrices(td,r.parent.matrixWorld),$u.setFromMatrixPosition(Qu),i.setXYZ(n+1,$u.x,$u.y,$u.z),n+=2)}n.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(t)}dispose(){this.geometry.dispose(),this.material.dispose()}},t.SkinnedMesh=rl,t.Source=on,t.Sphere=zn,t.SphereBufferGeometry=class extends Qc{constructor(t,e,n,i,r,s,a){console.warn("THREE.SphereBufferGeometry has been renamed to THREE.SphereGeometry."),super(t,e,n,i,r,s,a)}},t.SphereGeometry=Qc,t.Spherical=class{constructor(t=1,e=0,n=0){return this.radius=t,this.phi=e,this.theta=n,this}set(t,e,n){return this.radius=t,this.phi=e,this.theta=n,this}copy(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this}makeSafe(){const t=1e-6;return this.phi=Math.max(t,Math.min(Math.PI-t,this.phi)),this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,n){return this.radius=Math.sqrt(t*t+e*e+n*n),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t,n),this.phi=Math.acos(Ne(e/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},t.SphericalHarmonics3=cu,t.SplineCurve=nc,t.SpotLight=Qh,t.SpotLightHelper=class extends vi{constructor(t,e){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e,this.type="SpotLightHelper";const n=new ir,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t<n;t++,e++){const r=t/n*Math.PI*2,s=e/n*Math.PI*2;i.push(Math.cos(r),Math.sin(r),1,Math.cos(s),Math.sin(s),1)}n.setAttribute("position",new Zi(i,3));const r=new xl({fog:!1,toneMapped:!1});this.cone=new Cl(n,r),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1);const t=this.light.distance?this.light.distance:1e3,e=t*Math.tan(this.light.angle);this.cone.scale.set(e,e,t),Ku.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Ku),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},t.Sprite=Xo,t.SpriteMaterial=Do,t.SrcAlphaFactor=E,t.SrcAlphaSaturateFactor=I,t.SrcColorFactor=w,t.StaticCopyUsage=35046,t.StaticDrawUsage=Ee,t.StaticReadUsage=35045,t.StereoCamera=class{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Pr,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Pr,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(t){const e=this._cache;if(e.focus!==t.focus||e.fov!==t.fov||e.aspect!==t.aspect*this.aspect||e.near!==t.near||e.far!==t.far||e.zoom!==t.zoom||e.eyeSep!==this.eyeSep){e.focus=t.focus,e.fov=t.fov,e.aspect=t.aspect*this.aspect,e.near=t.near,e.far=t.far,e.zoom=t.zoom,e.eyeSep=this.eyeSep,Su.copy(t.projectionMatrix);const n=e.eyeSep/2,i=n*e.near/e.focus,r=e.near*Math.tan(Ie*e.fov*.5)/e.zoom;let s,a;Mu.elements[12]=-n,yu.elements[12]=n,s=-r*e.aspect+i,a=r*e.aspect+i,Su.elements[0]=2*e.near/(a-s),Su.elements[8]=(a+s)/(a-s),this.cameraL.projectionMatrix.copy(Su),s=-r*e.aspect-i,a=r*e.aspect-i,Su.elements[0]=2*e.near/(a-s),Su.elements[8]=(a+s)/(a-s),this.cameraR.projectionMatrix.copy(Su)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(Mu),this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(yu)}},t.StreamCopyUsage=35042,t.StreamDrawUsage=35040,t.StreamReadUsage=35041,t.StringKeyframeTrack=Uh,t.SubtractEquation=_,t.SubtractiveBlending=m,t.TOUCH={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},t.TangentSpaceNormalMap=ye,t.TetrahedronBufferGeometry=class extends th{constructor(t,e){console.warn("THREE.TetrahedronBufferGeometry has been renamed to THREE.TetrahedronGeometry."),super(t,e)}},t.TetrahedronGeometry=th,t.Texture=hn,t.TextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=new hn,s=new jh(this.manager);return s.setCrossOrigin(this.crossOrigin),s.setPath(this.path),s.load(t,function(t){r.image=t,r.needsUpdate=!0,void 0!==e&&e(r)},n,i),r}},t.TorusBufferGeometry=class extends eh{constructor(t,e,n,i,r){console.warn("THREE.TorusBufferGeometry has been renamed to THREE.TorusGeometry."),super(t,e,n,i,r)}},t.TorusGeometry=eh,t.TorusKnotBufferGeometry=class extends nh{constructor(t,e,n,i,r,s){console.warn("THREE.TorusKnotBufferGeometry has been renamed to THREE.TorusKnotGeometry."),super(t,e,n,i,r,s)}},t.TorusKnotGeometry=nh,t.Triangle=Li,t.TriangleFanDrawMode=2,t.TriangleStripDrawMode=1,t.TrianglesDrawMode=0,t.TubeBufferGeometry=class extends ih{constructor(t,e,n,i,r){console.warn("THREE.TubeBufferGeometry has been renamed to THREE.TubeGeometry."),super(t,e,n,i,r)}},t.TubeGeometry=ih,t.TwoPassDoubleSide=2,t.UVMapping=J,t.Uint16BufferAttribute=Xi,t.Uint32BufferAttribute=Yi,t.Uint8BufferAttribute=class extends qi{constructor(t,e,n){super(new Uint8Array(t),e,n)}},t.Uint8ClampedBufferAttribute=class extends qi{constructor(t,e,n){super(new Uint8ClampedArray(t),e,n)}},t.Uniform=Wu,t.UniformsGroup=class extends Le{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:ju++}),this.name="",this.usage=Ee,this.uniforms=[]}add(t){return this.uniforms.push(t),this}remove(t){const e=this.uniforms.indexOf(t);return-1!==e&&this.uniforms.splice(e,1),this}setName(t){return this.name=t,this}setUsage(t){return this.usage=t,this}dispose(){return this.dispatchEvent({type:"dispose"}),this}copy(t){this.name=t.name,this.usage=t.usage;const e=t.uniforms;this.uniforms.length=0;for(let t=0,n=e.length;t<n;t++)this.uniforms.push(e[t].clone());return this}clone(){return new this.constructor().copy(this)}},t.UniformsLib=qr,t.UniformsUtils=Ar,t.UnsignedByteType=ut,t.UnsignedInt248Type=Mt,t.UnsignedIntType=gt,t.UnsignedShort4444Type=xt,t.UnsignedShort5551Type=yt,t.UnsignedShortType=mt,t.VSMShadowMap=o,t.Vector2=We,t.Vector3=gn,t.Vector4=un,t.VectorKeyframeTrack=Nh,t.VideoTexture=class extends hn{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.isVideoTexture=!0,this.minFilter=void 0!==s?s:lt,this.magFilter=void 0!==r?r:lt,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback(function e(){c.needsUpdate=!0,t.requestVideoFrameCallback(e)})}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1==="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},t.WebGL1Renderer=Eo,t.WebGL3DRenderTarget=class extends dn{constructor(t=1,e=1,n=1){super(t,e),this.isWebGL3DRenderTarget=!0,this.depth=n,this.texture=new mn(null,t,e,n),this.texture.isRenderTargetTexture=!0}},t.WebGLArrayRenderTarget=class extends dn{constructor(t=1,e=1,n=1){super(t,e),this.isWebGLArrayRenderTarget=!0,this.depth=n,this.texture=new pn(null,t,e,n),this.texture.isRenderTargetTexture=!0}},t.WebGLCubeRenderTarget=Ur,t.WebGLMultipleRenderTargets=class extends dn{constructor(t=1,e=1,n=1,i={}){super(t,e,i),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let t=0;t<n;t++)this.texture[t]=r.clone(),this.texture[t].isRenderTargetTexture=!0}setSize(t,e,n=1){if(this.width!==t||this.height!==e||this.depth!==n){this.width=t,this.height=e,this.depth=n;for(let i=0,r=this.texture.length;i<r;i++)this.texture[i].image.width=t,this.texture[i].image.height=e,this.texture[i].image.depth=n;this.dispose()}return this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e),this}copy(t){this.dispose(),this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,null!==t.depthTexture&&(this.depthTexture=t.depthTexture.clone()),this.texture.length=0;for(let e=0,n=t.texture.length;e<n;e++)this.texture[e]=t.texture[e].clone(),this.texture[e].isRenderTargetTexture=!0;return this}},t.WebGLRenderTarget=dn,t.WebGLRenderer=To,t.WebGLUtils=fo,t.WireframeGeometry=rh,t.WrapAroundEnding=me,t.ZeroCurvatureEnding=de,t.ZeroFactor=S,t.ZeroSlopeEnding=pe,t.ZeroStencilOp=0,t._SRGBAFormat=Ce,t.sRGBEncoding=_e});(function(t,e){e(t.MeshBVHLib=t.MeshBVHLib||{},t.THREE=t.THREE||{})})(this,function(exports,three){const CENTER=0;const AVERAGE=1;const SAH=2;const NOT_INTERSECTED=0;const INTERSECTED=1;const CONTAINED=2;const TRIANGLE_INTERSECT_COST=1.25;const TRAVERSAL_COST=1;const BYTES_PER_NODE=6*4+4+4;const IS_LEAFNODE_FLAG=65535;const FLOAT32_EPSILON=Math.pow(2,-24);class MeshBVHNode{constructor(){}}function arrayToBox(nodeIndex32,array,target){target.min.x=array[nodeIndex32];target.min.y=array[nodeIndex32+1];target.min.z=array[nodeIndex32+2];target.max.x=array[nodeIndex32+3];target.max.y=array[nodeIndex32+4];target.max.z=array[nodeIndex32+5];return target}function getLongestEdgeIndex(bounds){let splitDimIdx=-1;let splitDist=-Infinity;for(let i=0;i<3;i++){const dist=bounds[i+3]-bounds[i];if(dist>splitDist){splitDist=dist;splitDimIdx=i}}return splitDimIdx}function copyBounds(source,target){target.set(source)}function unionBounds(a,b,target){let aVal,bVal;for(let d=0;d<3;d++){const d3=d+3;aVal=a[d];bVal=b[d];target[d]=aVal<bVal?aVal:bVal;aVal=a[d3];bVal=b[d3];target[d3]=aVal>bVal?aVal:bVal}}function expandByTriangleBounds(startIndex,triangleBounds,bounds){for(let d=0;d<3;d++){const tCenter=triangleBounds[startIndex+2*d];const tHalf=triangleBounds[startIndex+2*d+1];const tMin=tCenter-tHalf;const tMax=tCenter+tHalf;if(tMin<bounds[d]){bounds[d]=tMin}if(tMax>bounds[d+3]){bounds[d+3]=tMax}}}function computeSurfaceArea(bounds){const d0=bounds[3]-bounds[0];const d1=bounds[4]-bounds[1];const d2=bounds[5]-bounds[2];return 2*(d0*d1+d1*d2+d2*d0)}function ensureIndex(geo,options){if(!geo.index){const vertexCount=geo.attributes.position.count;const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;let index;if(vertexCount>65535){index=new Uint32Array(new BufferConstructor(4*vertexCount))}else{index=new Uint16Array(new BufferConstructor(2*vertexCount))}geo.setIndex(new three.BufferAttribute(index,1));for(let i=0;i<vertexCount;i++){index[i]=i}}}function getRootIndexRanges(geo){if(!geo.groups||!geo.groups.length){return[{offset:0,count:geo.index.count/3}]}const ranges=[];const rangeBoundaries=new Set;for(const group of geo.groups){rangeBoundaries.add(group.start);rangeBoundaries.add(group.start+group.count)}const sortedBoundaries=Array.from(rangeBoundaries.values()).sort((a,b)=>a-b);for(let i=0;i<sortedBoundaries.length-1;i++){const start=sortedBoundaries[i],end=sortedBoundaries[i+1];ranges.push({offset:start/3,count:(end-start)/3})}return ranges}function getBounds(triangleBounds,offset,count,target,centroidTarget=null){let minx=Infinity;let miny=Infinity;let minz=Infinity;let maxx=-Infinity;let maxy=-Infinity;let maxz=-Infinity;let cminx=Infinity;let cminy=Infinity;let cminz=Infinity;let cmaxx=-Infinity;let cmaxy=-Infinity;let cmaxz=-Infinity;const includeCentroid=centroidTarget!==null;for(let i=offset*6,end=(offset+count)*6;i<end;i+=6){const cx=triangleBounds[i+0];const hx=triangleBounds[i+1];const lx=cx-hx;const rx=cx+hx;if(lx<minx)minx=lx;if(rx>maxx)maxx=rx;if(includeCentroid&&cx<cminx)cminx=cx;if(includeCentroid&&cx>cmaxx)cmaxx=cx;const cy=triangleBounds[i+2];const hy=triangleBounds[i+3];const ly=cy-hy;const ry=cy+hy;if(ly<miny)miny=ly;if(ry>maxy)maxy=ry;if(includeCentroid&&cy<cminy)cminy=cy;if(includeCentroid&&cy>cmaxy)cmaxy=cy;const cz=triangleBounds[i+4];const hz=triangleBounds[i+5];const lz=cz-hz;const rz=cz+hz;if(lz<minz)minz=lz;if(rz>maxz)maxz=rz;if(includeCentroid&&cz<cminz)cminz=cz;if(includeCentroid&&cz>cmaxz)cmaxz=cz}target[0]=minx;target[1]=miny;target[2]=minz;target[3]=maxx;target[4]=maxy;target[5]=maxz;if(includeCentroid){centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}}function getCentroidBounds(triangleBounds,offset,count,centroidTarget){let cminx=Infinity;let cminy=Infinity;let cminz=Infinity;let cmaxx=-Infinity;let cmaxy=-Infinity;let cmaxz=-Infinity;for(let i=offset*6,end=(offset+count)*6;i<end;i+=6){const cx=triangleBounds[i+0];if(cx<cminx)cminx=cx;if(cx>cmaxx)cmaxx=cx;const cy=triangleBounds[i+2];if(cy<cminy)cminy=cy;if(cy>cmaxy)cmaxy=cy;const cz=triangleBounds[i+4];if(cz<cminz)cminz=cz;if(cz>cmaxz)cmaxz=cz}centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}function partition(index,triangleBounds,offset,count,split){let left=offset;let right=offset+count-1;const pos=split.pos;const axisOffset=split.axis*2;while(true){while(left<=right&&triangleBounds[left*6+axisOffset]<pos){left++}while(left<=right&&triangleBounds[right*6+axisOffset]>=pos){right--}if(left<right){for(let i=0;i<3;i++){let t0=index[left*3+i];index[left*3+i]=index[right*3+i];index[right*3+i]=t0;let t1=triangleBounds[left*6+i*2+0];triangleBounds[left*6+i*2+0]=triangleBounds[right*6+i*2+0];triangleBounds[right*6+i*2+0]=t1;let t2=triangleBounds[left*6+i*2+1];triangleBounds[left*6+i*2+1]=triangleBounds[right*6+i*2+1];triangleBounds[right*6+i*2+1]=t2}left++;right--}else{return left}}}const BIN_COUNT=32;const binsSort=(a,b)=>a.candidate-b.candidate;const sahBins=new Array(BIN_COUNT).fill().map(()=>{return{count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}});const leftBounds=new Float32Array(6);function getOptimalSplit(nodeBoundingData,centroidBoundingData,triangleBounds,offset,count,strategy){let axis=-1;let pos=0;if(strategy===CENTER){axis=getLongestEdgeIndex(centroidBoundingData);if(axis!==-1){pos=(centroidBoundingData[axis]+centroidBoundingData[axis+3])/2}}else if(strategy===AVERAGE){axis=getLongestEdgeIndex(nodeBoundingData);if(axis!==-1){pos=getAverage(triangleBounds,offset,count,axis)}}else if(strategy===SAH){const rootSurfaceArea=computeSurfaceArea(nodeBoundingData);let bestCost=TRIANGLE_INTERSECT_COST*count;const cStart=offset*6;const cEnd=(offset+count)*6;for(let a=0;a<3;a++){const axisLeft=centroidBoundingData[a];const axisRight=centroidBoundingData[a+3];const axisLength=axisRight-axisLeft;const binWidth=axisLength/BIN_COUNT;if(count<BIN_COUNT/4){const truncatedBins=[...sahBins];truncatedBins.length=count;let b=0;for(let c=cStart;c<cEnd;c+=6,b++){const bin=truncatedBins[b];bin.candidate=triangleBounds[c+2*a];bin.count=0;const{bounds,leftCacheBounds,rightCacheBounds}=bin;for(let d=0;d<3;d++){rightCacheBounds[d]=Infinity;rightCacheBounds[d+3]=-Infinity;leftCacheBounds[d]=Infinity;leftCacheBounds[d+3]=-Infinity;bounds[d]=Infinity;bounds[d+3]=-Infinity}expandByTriangleBounds(c,triangleBounds,bounds)}truncatedBins.sort(binsSort);let splitCount=count;for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];while(bi+1<splitCount&&truncatedBins[bi+1].candidate===bin.candidate){truncatedBins.splice(bi+1,1);splitCount--}}for(let c=cStart;c<cEnd;c+=6){const center=triangleBounds[c+2*a];for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];if(center>=bin.candidate){expandByTriangleBounds(c,triangleBounds,bin.rightCacheBounds)}else{expandByTriangleBounds(c,triangleBounds,bin.leftCacheBounds);bin.count++}}}for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];const leftCount=bin.count;const rightCount=count-bin.count;const leftBounds=bin.leftCacheBounds;const rightBounds=bin.rightCacheBounds;let leftProb=0;if(leftCount!==0){leftProb=computeSurfaceArea(leftBounds)/rootSurfaceArea}let rightProb=0;if(rightCount!==0){rightProb=computeSurfaceArea(rightBounds)/rootSurfaceArea}const cost=TRAVERSAL_COST+TRIANGLE_INTERSECT_COST*(leftProb*leftCount+rightProb*rightCount);if(cost<bestCost){axis=a;bestCost=cost;pos=bin.candidate}}}else{for(let i=0;i<BIN_COUNT;i++){const bin=sahBins[i];bin.count=0;bin.candidate=axisLeft+binWidth+i*binWidth;const bounds=bin.bounds;for(let d=0;d<3;d++){bounds[d]=Infinity;bounds[d+3]=-Infinity}}for(let c=cStart;c<cEnd;c+=6){const triCenter=triangleBounds[c+2*a];const relativeCenter=triCenter-axisLeft;let binIndex=~~(relativeCenter/binWidth);if(binIndex>=BIN_COUNT)binIndex=BIN_COUNT-1;const bin=sahBins[binIndex];bin.count++;expandByTriangleBounds(c,triangleBounds,bin.bounds)}const lastBin=sahBins[BIN_COUNT-1];copyBounds(lastBin.bounds,lastBin.rightCacheBounds);for(let i=BIN_COUNT-2;i>=0;i--){const bin=sahBins[i];const nextBin=sahBins[i+1];unionBounds(bin.bounds,nextBin.rightCacheBounds,bin.rightCacheBounds)}let leftCount=0;for(let i=0;i<BIN_COUNT-1;i++){const bin=sahBins[i];const binCount=bin.count;const bounds=bin.bounds;const nextBin=sahBins[i+1];const rightBounds=nextBin.rightCacheBounds;if(binCount!==0){if(leftCount===0){copyBounds(bounds,leftBounds)}else{unionBounds(bounds,leftBounds,leftBounds)}}leftCount+=binCount;let leftProb=0;let rightProb=0;if(leftCount!==0){leftProb=computeSurfaceArea(leftBounds)/rootSurfaceArea}const rightCount=count-leftCount;if(rightCount!==0){rightProb=computeSurfaceArea(rightBounds)/rootSurfaceArea}const cost=TRAVERSAL_COST+TRIANGLE_INTERSECT_COST*(leftProb*leftCount+rightProb*rightCount);if(cost<bestCost){axis=a;bestCost=cost;pos=bin.candidate}}}}}else{console.warn(`MeshBVH: Invalid build strategy value ${strategy} used.`)}return{axis,pos}}function getAverage(triangleBounds,offset,count,axis){let avg=0;for(let i=offset,end=offset+count;i<end;i++){avg+=triangleBounds[i*6+axis*2]}return avg/count}function computeTriangleBounds(geo,fullBounds){const posAttr=geo.attributes.position;const index=geo.index.array;const triCount=index.length/3;const triangleBounds=new Float32Array(triCount*6);const normalized=posAttr.normalized;const posArr=posAttr.array;const bufferOffset=posAttr.offset||0;let stride=3;if(posAttr.isInterleavedBufferAttribute){stride=posAttr.data.stride}const getters=["getX","getY","getZ"];for(let tri=0;tri<triCount;tri++){const tri3=tri*3;const tri6=tri*6;let ai,bi,ci;if(normalized){ai=index[tri3+0];bi=index[tri3+1];ci=index[tri3+2]}else{ai=index[tri3+0]*stride+bufferOffset;bi=index[tri3+1]*stride+bufferOffset;ci=index[tri3+2]*stride+bufferOffset}for(let el=0;el<3;el++){let a,b,c;if(normalized){a=posAttr[getters[el]](ai);b=posAttr[getters[el]](bi);c=posAttr[getters[el]](ci)}else{a=posArr[ai+el];b=posArr[bi+el];c=posArr[ci+el]}let min=a;if(b<min)min=b;if(c<min)min=c;let max=a;if(b>max)max=b;if(c>max)max=c;const halfExtents=(max-min)/2;const el2=el*2;triangleBounds[tri6+el2+0]=min+halfExtents;triangleBounds[tri6+el2+1]=halfExtents+(Math.abs(min)+halfExtents)*FLOAT32_EPSILON;if(min<fullBounds[el])fullBounds[el]=min;if(max>fullBounds[el+3])fullBounds[el+3]=max}}return triangleBounds}function buildTree(geo,options){function triggerProgress(trianglesProcessed){if(onProgress){onProgress(trianglesProcessed/totalTriangles)}}function splitNode(node,offset,count,centroidBoundingData=null,depth=0){if(!reachedMaxDepth&&depth>=maxDepth){reachedMaxDepth=true;if(verbose){console.warn(`MeshBVH: Max depth of ${maxDepth} reached when generating BVH. Consider increasing maxDepth.`);console.warn(geo)}}if(count<=maxLeafTris||depth>=maxDepth){triggerProgress(offset+count);node.offset=offset;node.count=count;return node}const split=getOptimalSplit(node.boundingData,centroidBoundingData,triangleBounds,offset,count,strategy);if(split.axis===-1){triggerProgress(offset+count);node.offset=offset;node.count=count;return node}const splitOffset=partition(indexArray,triangleBounds,offset,count,split);if(splitOffset===offset||splitOffset===offset+count){triggerProgress(offset+count);node.offset=offset;node.count=count}else{node.splitAxis=split.axis;const left=new MeshBVHNode;const lstart=offset;const lcount=splitOffset-offset;node.left=left;left.boundingData=new Float32Array(6);getBounds(triangleBounds,lstart,lcount,left.boundingData,cacheCentroidBoundingData);splitNode(left,lstart,lcount,cacheCentroidBoundingData,depth+1);const right=new MeshBVHNode;const rstart=splitOffset;const rcount=count-lcount;node.right=right;right.boundingData=new Float32Array(6);getBounds(triangleBounds,rstart,rcount,right.boundingData,cacheCentroidBoundingData);splitNode(right,rstart,rcount,cacheCentroidBoundingData,depth+1)}return node}ensureIndex(geo,options);const fullBounds=new Float32Array(6);const cacheCentroidBoundingData=new Float32Array(6);const triangleBounds=computeTriangleBounds(geo,fullBounds);const indexArray=geo.index.array;const maxDepth=options.maxDepth;const verbose=options.verbose;const maxLeafTris=options.maxLeafTris;const strategy=options.strategy;const onProgress=options.onProgress;const totalTriangles=geo.index.count/3;let reachedMaxDepth=false;const roots=[];const ranges=getRootIndexRanges(geo);if(ranges.length===1){const range=ranges[0];const root=new MeshBVHNode;root.boundingData=fullBounds;getCentroidBounds(triangleBounds,range.offset,range.count,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}else{for(let range of ranges){const root=new MeshBVHNode;root.boundingData=new Float32Array(6);getBounds(triangleBounds,range.offset,range.count,root.boundingData,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}}return roots}function buildPackedTree(geo,options){const roots=buildTree(geo,options);let float32Array;let uint32Array;let uint16Array;const packedRoots=[];const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let i=0;i<roots.length;i++){const root=roots[i];let nodeCount=countNodes(root);const buffer=new BufferConstructor(BYTES_PER_NODE*nodeCount);float32Array=new Float32Array(buffer);uint32Array=new Uint32Array(buffer);uint16Array=new Uint16Array(buffer);populateBuffer(0,root);packedRoots.push(buffer)}return packedRoots;function countNodes(node){if(node.count){return 1}else{return 1+countNodes(node.left)+countNodes(node.right)}}function populateBuffer(byteOffset,node){const stride4Offset=byteOffset/4;const stride2Offset=byteOffset/2;const isLeaf=!!node.count;const boundingData=node.boundingData;for(let i=0;i<6;i++){float32Array[stride4Offset+i]=boundingData[i]}if(isLeaf){const offset=node.offset;const count=node.count;uint32Array[stride4Offset+6]=offset;uint16Array[stride2Offset+14]=count;uint16Array[stride2Offset+15]=IS_LEAFNODE_FLAG;return byteOffset+BYTES_PER_NODE}else{const left=node.left;const right=node.right;const splitAxis=node.splitAxis;let nextUnusedPointer;nextUnusedPointer=populateBuffer(byteOffset+BYTES_PER_NODE,left);if(nextUnusedPointer/4>Math.pow(2,32)){throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.")}uint32Array[stride4Offset+6]=nextUnusedPointer/4;nextUnusedPointer=populateBuffer(nextUnusedPointer,right);uint32Array[stride4Offset+7]=splitAxis;return nextUnusedPointer}}}class SeparatingAxisBounds{constructor(){this.min=Infinity;this.max=-Infinity}setFromPointsField(points,field){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;i<l;i++){const p=points[i];const val=p[field];min=val<min?val:min;max=val>max?val:max}this.min=min;this.max=max}setFromPoints(axis,points){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;i<l;i++){const p=points[i];const val=axis.dot(p);min=val<min?val:min;max=val>max?val:max}this.min=min;this.max=max}isSeparated(other){return this.min>other.max||other.min>this.max}}SeparatingAxisBounds.prototype.setFromBox=function(){const p=new three.Vector3;return function setFromBox(axis,box){const boxMin=box.min;const boxMax=box.max;let min=Infinity;let max=-Infinity;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){p.x=boxMin.x*x+boxMax.x*(1-x);p.y=boxMin.y*y+boxMax.y*(1-y);p.z=boxMin.z*z+boxMax.z*(1-z);const val=axis.dot(p);min=Math.min(val,min);max=Math.max(val,max)}}}this.min=min;this.max=max}}();const areIntersecting=function(){const cacheSatBounds=new SeparatingAxisBounds;return function areIntersecting(shape1,shape2){const points1=shape1.points;const satAxes1=shape1.satAxes;const satBounds1=shape1.satBounds;const points2=shape2.points;const satAxes2=shape2.satAxes;const satBounds2=shape2.satBounds;for(let i=0;i<3;i++){const sb=satBounds1[i];const sa=satAxes1[i];cacheSatBounds.setFromPoints(sa,points2);if(sb.isSeparated(cacheSatBounds))return false}for(let i=0;i<3;i++){const sb=satBounds2[i];const sa=satAxes2[i];cacheSatBounds.setFromPoints(sa,points1);if(sb.isSeparated(cacheSatBounds))return false}}}();const closestPointLineToLine=function(){const dir1=new three.Vector3;const dir2=new three.Vector3;const v02=new three.Vector3;return function closestPointLineToLine(l1,l2,result){const v0=l1.start;const v10=dir1;const v2=l2.start;const v32=dir2;v02.subVectors(v0,v2);dir1.subVectors(l1.end,l1.start);dir2.subVectors(l2.end,l2.start);const d0232=v02.dot(v32);const d3210=v32.dot(v10);const d3232=v32.dot(v32);const d0210=v02.dot(v10);const d1010=v10.dot(v10);const denom=d1010*d3232-d3210*d3210;let d,d2;if(denom!==0){d=(d0232*d3210-d0210*d3232)/denom}else{d=0}d2=(d0232+d*d3210)/d3232;result.x=d;result.y=d2}}();const closestPointsSegmentToSegment=function(){const paramResult=new three.Vector2;const temp1=new three.Vector3;const temp2=new three.Vector3;return function closestPointsSegmentToSegment(l1,l2,target1,target2){closestPointLineToLine(l1,l2,paramResult);let d=paramResult.x;let d2=paramResult.y;if(d>=0&&d<=1&&d2>=0&&d2<=1){l1.at(d,target1);l2.at(d2,target2);return}else if(d>=0&&d<=1){if(d2<0){l2.at(0,target2)}else{l2.at(1,target2)}l1.closestPointToPoint(target2,true,target1);return}else if(d2>=0&&d2<=1){if(d<0){l1.at(0,target1)}else{l1.at(1,target1)}l2.closestPointToPoint(target1,true,target2);return}else{let p;if(d<0){p=l1.start}else{p=l1.end}let p2;if(d2<0){p2=l2.start}else{p2=l2.end}const closestPoint=temp1;const closestPoint2=temp2;l1.closestPointToPoint(p2,true,temp1);l2.closestPointToPoint(p,true,temp2);if(closestPoint.distanceToSquared(p2)<=closestPoint2.distanceToSquared(p)){target1.copy(closestPoint);target2.copy(p2);return}else{target1.copy(p);target2.copy(closestPoint2);return}}}}();const sphereIntersectTriangle=function(){const closestPointTemp=new three.Vector3;const projectedPointTemp=new three.Vector3;const planeTemp=new three.Plane;const lineTemp=new three.Line3;return function sphereIntersectTriangle(sphere,triangle){const{radius,center}=sphere;const{a,b,c}=triangle;lineTemp.start=a;lineTemp.end=b;const closestPoint1=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint1.distanceTo(center)<=radius)return true;lineTemp.start=a;lineTemp.end=c;const closestPoint2=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint2.distanceTo(center)<=radius)return true;lineTemp.start=b;lineTemp.end=c;const closestPoint3=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint3.distanceTo(center)<=radius)return true;const plane=triangle.getPlane(planeTemp);const dp=Math.abs(plane.distanceToPoint(center));if(dp<=radius){const pp=plane.projectPoint(center,projectedPointTemp);const cp=triangle.containsPoint(pp);if(cp)return true}return false}}();const DIST_EPSILON=1e-15;function isNearZero(value){return Math.abs(value)<DIST_EPSILON}class ExtendedTriangle extends three.Triangle{constructor(...args){super(...args);this.isExtendedTriangle=true;this.satAxes=new Array(4).fill().map(()=>new three.Vector3);this.satBounds=new Array(4).fill().map(()=>new SeparatingAxisBounds);this.points=[this.a,this.b,this.c];this.sphere=new three.Sphere;this.plane=new three.Plane;this.needsUpdate=true}intersectsSphere(sphere){return sphereIntersectTriangle(sphere,this)}update(){const a=this.a;const b=this.b;const c=this.c;const points=this.points;const satAxes=this.satAxes;const satBounds=this.satBounds;const axis0=satAxes[0];const sab0=satBounds[0];this.getNormal(axis0);sab0.setFromPoints(axis0,points);const axis1=satAxes[1];const sab1=satBounds[1];axis1.subVectors(a,b);sab1.setFromPoints(axis1,points);const axis2=satAxes[2];const sab2=satBounds[2];axis2.subVectors(b,c);sab2.setFromPoints(axis2,points);const axis3=satAxes[3];const sab3=satBounds[3];axis3.subVectors(c,a);sab3.setFromPoints(axis3,points);this.sphere.setFromPoints(this.points);this.plane.setFromNormalAndCoplanarPoint(axis0,a);this.needsUpdate=false}}ExtendedTriangle.prototype.closestPointToSegment=function(){const point1=new three.Vector3;const point2=new three.Vector3;const edge=new three.Line3;return function distanceToSegment(segment,target1=null,target2=null){const{start,end}=segment;const points=this.points;let distSq;let closestDistanceSq=Infinity;for(let i=0;i<3;i++){const nexti=(i+1)%3;edge.start.copy(points[i]);edge.end.copy(points[nexti]);closestPointsSegmentToSegment(edge,segment,point1,point2);distSq=point1.distanceToSquared(point2);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(point2)}}this.closestPointToPoint(start,point1);distSq=start.distanceToSquared(point1);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(start)}this.closestPointToPoint(end,point1);distSq=end.distanceToSquared(point1);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(end)}return Math.sqrt(closestDistanceSq)}}();ExtendedTriangle.prototype.intersectsTriangle=function(){const saTri2=new ExtendedTriangle;const arr1=new Array(3);const arr2=new Array(3);const cachedSatBounds=new SeparatingAxisBounds;const cachedSatBounds2=new SeparatingAxisBounds;const cachedAxis=new three.Vector3;const dir1=new three.Vector3;const dir2=new three.Vector3;const tempDir=new three.Vector3;const edge=new three.Line3;const edge1=new three.Line3;const edge2=new three.Line3;return function intersectsTriangle(other,target=null,suppressLog=false){if(this.needsUpdate){this.update()}if(!other.isExtendedTriangle){saTri2.copy(other);saTri2.update();other=saTri2}else if(other.needsUpdate){other.update()}const plane1=this.plane;const plane2=other.plane;if(Math.abs(plane1.normal.dot(plane2.normal))>1-1e-10){const satBounds1=this.satBounds;const satAxes1=this.satAxes;arr2[0]=other.a;arr2[1]=other.b;arr2[2]=other.c;for(let i=0;i<4;i++){const sb=satBounds1[i];const sa=satAxes1[i];cachedSatBounds.setFromPoints(sa,arr2);if(sb.isSeparated(cachedSatBounds))return false}const satBounds2=other.satBounds;const satAxes2=other.satAxes;arr1[0]=this.a;arr1[1]=this.b;arr1[2]=this.c;for(let i=0;i<4;i++){const sb=satBounds2[i];const sa=satAxes2[i];cachedSatBounds.setFromPoints(sa,arr1);if(sb.isSeparated(cachedSatBounds))return false}for(let i=0;i<4;i++){const sa1=satAxes1[i];for(let i2=0;i2<4;i2++){const sa2=satAxes2[i2];cachedAxis.crossVectors(sa1,sa2);cachedSatBounds.setFromPoints(cachedAxis,arr1);cachedSatBounds2.setFromPoints(cachedAxis,arr2);if(cachedSatBounds.isSeparated(cachedSatBounds2))return false}}if(target){if(!suppressLog){console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0.")}target.start.set(0,0,0);target.end.set(0,0,0)}return true}else{const points1=this.points;let found1=false;let count1=0;for(let i=0;i<3;i++){const p=points1[i];const pNext=points1[(i+1)%3];edge.start.copy(p);edge.end.copy(pNext);edge.delta(dir1);const targetPoint=found1?edge1.start:edge1.end;const startIntersects=isNearZero(plane2.distanceToPoint(p));if(isNearZero(plane2.normal.dot(dir1))&&startIntersects){edge1.copy(edge);count1=2;break}const doesIntersect=plane2.intersectLine(edge,targetPoint)||startIntersects;if(doesIntersect&&!isNearZero(targetPoint.distanceTo(pNext))){count1++;if(found1){break}found1=true}}if(count1===1&&other.containsPoint(edge1.end)){if(target){target.start.copy(edge1.end);target.end.copy(edge1.end)}return true}else if(count1!==2){return false}const points2=other.points;let found2=false;let count2=0;for(let i=0;i<3;i++){const p=points2[i];const pNext=points2[(i+1)%3];edge.start.copy(p);edge.end.copy(pNext);edge.delta(dir2);const targetPoint=found2?edge2.start:edge2.end;const startIntersects=isNearZero(plane1.distanceToPoint(p));if(isNearZero(plane1.normal.dot(dir2))&&startIntersects){edge2.copy(edge);count2=2;break}const doesIntersect=plane1.intersectLine(edge,targetPoint)||startIntersects;if(doesIntersect&&!isNearZero(targetPoint.distanceTo(pNext))){count2++;if(found2){break}found2=true}}if(count2===1&&this.containsPoint(edge2.end)){if(target){target.start.copy(edge2.end);target.end.copy(edge2.end)}return true}else if(count2!==2){return false}edge1.delta(dir1);edge2.delta(dir2);if(dir1.dot(dir2)<0){let tmp=edge2.start;edge2.start=edge2.end;edge2.end=tmp}const s1=edge1.start.dot(dir1);const e1=edge1.end.dot(dir1);const s2=edge2.start.dot(dir1);const e2=edge2.end.dot(dir1);const separated1=e1<s2;const separated2=s1<e2;if(s1!==e2&&s2!==e1&&separated1===separated2){return false}if(target){tempDir.subVectors(edge1.start,edge2.start);if(tempDir.dot(dir1)>0){target.start.copy(edge1.start)}else{target.start.copy(edge2.start)}tempDir.subVectors(edge1.end,edge2.end);if(tempDir.dot(dir1)<0){target.end.copy(edge1.end)}else{target.end.copy(edge2.end)}}return true}}}();ExtendedTriangle.prototype.distanceToPoint=function(){const target=new three.Vector3;return function distanceToPoint(point){this.closestPointToPoint(point,target);return point.distanceTo(target)}}();ExtendedTriangle.prototype.distanceToTriangle=function(){const point=new three.Vector3;const point2=new three.Vector3;const cornerFields=["a","b","c"];const line1=new three.Line3;const line2=new three.Line3;return function distanceToTriangle(other,target1=null,target2=null){const lineTarget=target1||target2?line1:null;if(this.intersectsTriangle(other,lineTarget)){if(target1||target2){if(target1)lineTarget.getCenter(target1);if(target2)lineTarget.getCenter(target2)}return 0}let closestDistanceSq=Infinity;for(let i=0;i<3;i++){let dist;const field=cornerFields[i];const otherVec=other[field];this.closestPointToPoint(otherVec,point);dist=otherVec.distanceToSquared(point);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point);if(target2)target2.copy(otherVec)}const thisVec=this[field];other.closestPointToPoint(thisVec,point);dist=thisVec.distanceToSquared(point);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(thisVec);if(target2)target2.copy(point)}}for(let i=0;i<3;i++){const f11=cornerFields[i];const f12=cornerFields[(i+1)%3];line1.set(this[f11],this[f12]);for(let i2=0;i2<3;i2++){const f21=cornerFields[i2];const f22=cornerFields[(i2+1)%3];line2.set(other[f21],other[f22]);closestPointsSegmentToSegment(line1,line2,point,point2);const dist=point.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point);if(target2)target2.copy(point2)}}}return Math.sqrt(closestDistanceSq)}}();class OrientedBox{constructor(min,max,matrix){this.isOrientedBox=true;this.min=new three.Vector3;this.max=new three.Vector3;this.matrix=new three.Matrix4;this.invMatrix=new three.Matrix4;this.points=new Array(8).fill().map(()=>new three.Vector3);this.satAxes=new Array(3).fill().map(()=>new three.Vector3);this.satBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.alignedSatBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.needsUpdate=false;if(min)this.min.copy(min);if(max)this.max.copy(max);if(matrix)this.matrix.copy(matrix)}set(min,max,matrix){this.min.copy(min);this.max.copy(max);this.matrix.copy(matrix);this.needsUpdate=true}copy(other){this.min.copy(other.min);this.max.copy(other.max);this.matrix.copy(other.matrix);this.needsUpdate=true}}OrientedBox.prototype.update=function(){return function update(){const matrix=this.matrix;const min=this.min;const max=this.max;const points=this.points;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){const i=(1<<0)*x|(1<<1)*y|(1<<2)*z;const v=points[i];v.x=x?max.x:min.x;v.y=y?max.y:min.y;v.z=z?max.z:min.z;v.applyMatrix4(matrix)}}}const satBounds=this.satBounds;const satAxes=this.satAxes;const minVec=points[0];for(let i=0;i<3;i++){const axis=satAxes[i];const sb=satBounds[i];const index=1<<i;const pi=points[index];axis.subVectors(minVec,pi);sb.setFromPoints(axis,points)}const alignedSatBounds=this.alignedSatBounds;alignedSatBounds[0].setFromPointsField(points,"x");alignedSatBounds[1].setFromPointsField(points,"y");alignedSatBounds[2].setFromPointsField(points,"z");this.invMatrix.copy(this.matrix).invert();this.needsUpdate=false}}();OrientedBox.prototype.intersectsBox=function(){const aabbBounds=new SeparatingAxisBounds;return function intersectsBox(box){if(this.needsUpdate){this.update()}const min=box.min;const max=box.max;const satBounds=this.satBounds;const satAxes=this.satAxes;const alignedSatBounds=this.alignedSatBounds;aabbBounds.min=min.x;aabbBounds.max=max.x;if(alignedSatBounds[0].isSeparated(aabbBounds))return false;aabbBounds.min=min.y;aabbBounds.max=max.y;if(alignedSatBounds[1].isSeparated(aabbBounds))return false;aabbBounds.min=min.z;aabbBounds.max=max.z;if(alignedSatBounds[2].isSeparated(aabbBounds))return false;for(let i=0;i<3;i++){const axis=satAxes[i];const sb=satBounds[i];aabbBounds.setFromBox(axis,box);if(sb.isSeparated(aabbBounds))return false}return true}}();OrientedBox.prototype.intersectsTriangle=function(){const saTri=new ExtendedTriangle;const pointsArr=new Array(3);const cachedSatBounds=new SeparatingAxisBounds;const cachedSatBounds2=new SeparatingAxisBounds;const cachedAxis=new three.Vector3;return function intersectsTriangle(triangle){if(this.needsUpdate){this.update()}if(!triangle.isExtendedTriangle){saTri.copy(triangle);saTri.update();triangle=saTri}else if(triangle.needsUpdate){triangle.update()}const satBounds=this.satBounds;const satAxes=this.satAxes;pointsArr[0]=triangle.a;pointsArr[1]=triangle.b;pointsArr[2]=triangle.c;for(let i=0;i<3;i++){const sb=satBounds[i];const sa=satAxes[i];cachedSatBounds.setFromPoints(sa,pointsArr);if(sb.isSeparated(cachedSatBounds))return false}const triSatBounds=triangle.satBounds;const triSatAxes=triangle.satAxes;const points=this.points;for(let i=0;i<3;i++){const sb=triSatBounds[i];const sa=triSatAxes[i];cachedSatBounds.setFromPoints(sa,points);if(sb.isSeparated(cachedSatBounds))return false}for(let i=0;i<3;i++){const sa1=satAxes[i];for(let i2=0;i2<4;i2++){const sa2=triSatAxes[i2];cachedAxis.crossVectors(sa1,sa2);cachedSatBounds.setFromPoints(cachedAxis,pointsArr);cachedSatBounds2.setFromPoints(cachedAxis,points);if(cachedSatBounds.isSeparated(cachedSatBounds2))return false}}return true}}();OrientedBox.prototype.closestPointToPoint=function(){return function closestPointToPoint(point,target1){if(this.needsUpdate){this.update()}target1.copy(point).applyMatrix4(this.invMatrix).clamp(this.min,this.max).applyMatrix4(this.matrix);return target1}}();OrientedBox.prototype.distanceToPoint=function(){const target=new three.Vector3;return function distanceToPoint(point){this.closestPointToPoint(point,target);return point.distanceTo(target)}}();OrientedBox.prototype.distanceToBox=function(){const xyzFields=["x","y","z"];const segments1=new Array(12).fill().map(()=>new three.Line3);const segments2=new Array(12).fill().map(()=>new three.Line3);const point1=new three.Vector3;const point2=new three.Vector3;return function distanceToBox(box,threshold=0,target1=null,target2=null){if(this.needsUpdate){this.update()}if(this.intersectsBox(box)){if(target1||target2){box.getCenter(point2);this.closestPointToPoint(point2,point1);box.closestPointToPoint(point1,point2);if(target1)target1.copy(point1);if(target2)target2.copy(point2)}return 0}const threshold2=threshold*threshold;const min=box.min;const max=box.max;const points=this.points;let closestDistanceSq=Infinity;for(let i=0;i<8;i++){const p=points[i];point2.copy(p).clamp(min,max);const dist=p.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(p);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}let count=0;for(let i=0;i<3;i++){for(let i1=0;i1<=1;i1++){for(let i2=0;i2<=1;i2++){const nextIndex=(i+1)%3;const nextIndex2=(i+2)%3;const index=i1<<nextIndex|i2<<nextIndex2;const index2=1<<i|i1<<nextIndex|i2<<nextIndex2;const p1=points[index];const p2=points[index2];const line1=segments1[count];line1.set(p1,p2);const f1=xyzFields[i];const f2=xyzFields[nextIndex];const f3=xyzFields[nextIndex2];const line2=segments2[count];const start=line2.start;const end=line2.end;start[f1]=min[f1];start[f2]=i1?min[f2]:max[f2];start[f3]=i2?min[f3]:max[f2];end[f1]=max[f1];end[f2]=i1?min[f2]:max[f2];end[f3]=i2?min[f3]:max[f2];count++}}}for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){point2.x=x?max.x:min.x;point2.y=y?max.y:min.y;point2.z=z?max.z:min.z;this.closestPointToPoint(point2,point1);const dist=point2.distanceToSquared(point1);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point1);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}}}for(let i=0;i<12;i++){const l1=segments1[i];for(let i2=0;i2<12;i2++){const l2=segments2[i2];closestPointsSegmentToSegment(l1,l2,point1,point2);const dist=point1.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point1);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}}return Math.sqrt(closestDistanceSq)}}();const _vA=new three.Vector3;const _vB=new three.Vector3;const _vC=new three.Vector3;const _uvA=new three.Vector2;const _uvB=new three.Vector2;const _uvC=new three.Vector2;const _normalA=new three.Vector3;const _normalB=new three.Vector3;const _normalC=new three.Vector3;const _intersectionPoint=new three.Vector3;function checkIntersection(ray,pA,pB,pC,point,side){let intersect;if(side===three.BackSide){intersect=ray.intersectTriangle(pC,pB,pA,true,point)}else{intersect=ray.intersectTriangle(pA,pB,pC,side!==three.DoubleSide,point)}if(intersect===null)return null;const distance=ray.origin.distanceTo(point);return{distance:distance,point:point.clone()}}function checkBufferGeometryIntersection(ray,position,normal,uv,uv1,a,b,c,side){_vA.fromBufferAttribute(position,a);_vB.fromBufferAttribute(position,b);_vC.fromBufferAttribute(position,c);const intersection=checkIntersection(ray,_vA,_vB,_vC,_intersectionPoint,side);if(intersection){if(uv){_uvA.fromBufferAttribute(uv,a);_uvB.fromBufferAttribute(uv,b);_uvC.fromBufferAttribute(uv,c);intersection.uv=three.Triangle.getInterpolation(_intersectionPoint,_vA,_vB,_vC,_uvA,_uvB,_uvC,new three.Vector2)}if(uv1){_uvA.fromBufferAttribute(uv1,a);_uvB.fromBufferAttribute(uv1,b);_uvC.fromBufferAttribute(uv1,c);intersection.uv1=three.Triangle.getInterpolation(_intersectionPoint,_vA,_vB,_vC,_uvA,_uvB,_uvC,new three.Vector2)}if(normal){_normalA.fromBufferAttribute(normal,a);_normalB.fromBufferAttribute(normal,b);_normalC.fromBufferAttribute(normal,c);intersection.normal=three.Triangle.getInterpolation(_intersectionPoint,_vA,_vB,_vC,_normalA,_normalB,_normalC,new three.Vector3);if(intersection.normal.dot(ray.direction)>0){intersection.normal.multiplyScalar(-1)}}const face={a:a,b:b,c:c,normal:new three.Vector3,materialIndex:0};three.Triangle.getNormal(_vA,_vB,_vC,face.normal);intersection.face=face;intersection.faceIndex=a}return intersection}function intersectTri(geo,side,ray,tri,intersections){const triOffset=tri*3;const a=geo.index.getX(triOffset);const b=geo.index.getX(triOffset+1);const c=geo.index.getX(triOffset+2);const{position,normal,uv,uv1}=geo.attributes;const intersection=checkBufferGeometryIntersection(ray,position,normal,uv,uv1,a,b,c,side);if(intersection){intersection.faceIndex=tri;if(intersections)intersections.push(intersection);return intersection}return null}function intersectTris(geo,side,ray,offset,count,intersections){for(let i=offset,end=offset+count;i<end;i++){intersectTri(geo,side,ray,i,intersections)}}function intersectClosestTri(geo,side,ray,offset,count){let dist=Infinity;let res=null;for(let i=offset,end=offset+count;i<end;i++){const intersection=intersectTri(geo,side,ray,i);if(intersection&&intersection.distance<dist){res=intersection;dist=intersection.distance}}return res}function convertRaycastIntersect(hit,object,raycaster){if(hit===null){return null}hit.point.applyMatrix4(object.matrixWorld);hit.distance=hit.point.distanceTo(raycaster.ray.origin);hit.object=object;if(hit.distance<raycaster.near||hit.distance>raycaster.far){return null}else{return hit}}function setTriangle(tri,i,index,pos){const ta=tri.a;const tb=tri.b;const tc=tri.c;let i0=i;let i1=i+1;let i2=i+2;if(index){i0=index.getX(i);i1=index.getX(i+1);i2=index.getX(i+2)}ta.x=pos.getX(i0);ta.y=pos.getY(i0);ta.z=pos.getZ(i0);tb.x=pos.getX(i1);tb.y=pos.getY(i1);tb.z=pos.getZ(i1);tc.x=pos.getX(i2);tc.y=pos.getY(i2);tc.z=pos.getZ(i2)}function iterateOverTriangles(offset,count,geometry,intersectsTriangleFunc,contained,depth,triangle){const index=geometry.index;const pos=geometry.attributes.position;for(let i=offset,l=count+offset;i<l;i++){setTriangle(triangle,i*3,index,pos);triangle.needsUpdate=true;if(intersectsTriangleFunc(triangle,i,contained,depth)){return true}}return false}const tempV1=new three.Vector3;const tempV2=new three.Vector3;const tempV3=new three.Vector3;const tempUV1=new three.Vector2;const tempUV2=new three.Vector2;const tempUV3=new three.Vector2;function getTriangleHitPointInfo(point,geometry,triangleIndex,target){const indices=geometry.getIndex().array;const positions=geometry.getAttribute("position");const uvs=geometry.getAttribute("uv");const a=indices[triangleIndex*3];const b=indices[triangleIndex*3+1];const c=indices[triangleIndex*3+2];tempV1.fromBufferAttribute(positions,a);tempV2.fromBufferAttribute(positions,b);tempV3.fromBufferAttribute(positions,c);let materialIndex=0;const groups=geometry.groups;const firstVertexIndex=triangleIndex*3;for(let i=0,l=groups.length;i<l;i++){const group=groups[i];const{start,count}=group;if(firstVertexIndex>=start&&firstVertexIndex<start+count){materialIndex=group.materialIndex;break}}let uv=null;if(uvs){tempUV1.fromBufferAttribute(uvs,a);tempUV2.fromBufferAttribute(uvs,b);tempUV3.fromBufferAttribute(uvs,c);if(target&&target.uv)uv=target.uv;else uv=new three.Vector2;three.Triangle.getInterpolation(point,tempV1,tempV2,tempV3,tempUV1,tempUV2,tempUV3,uv)}if(target){if(!target.face)target.face={};target.face.a=a;target.face.b=b;target.face.c=c;target.face.materialIndex=materialIndex;if(!target.face.normal)target.face.normal=new three.Vector3;three.Triangle.getNormal(tempV1,tempV2,tempV3,target.face.normal);if(uv)target.uv=uv;return target}else{return{face:{a:a,b:b,c:c,materialIndex:materialIndex,normal:three.Triangle.getNormal(tempV1,tempV2,tempV3,new three.Vector3)},uv:uv}}}class PrimitivePool{constructor(getNewPrimitive){this._getNewPrimitive=getNewPrimitive;this._primitives=[]}getPrimitive(){const primitives=this._primitives;if(primitives.length===0){return this._getNewPrimitive()}else{return primitives.pop()}}releasePrimitive(primitive){this._primitives.push(primitive)}}function IS_LEAF(n16,uint16Array){return uint16Array[n16+15]===65535}function OFFSET(n32,uint32Array){return uint32Array[n32+6]}function COUNT(n16,uint16Array){return uint16Array[n16+14]}function LEFT_NODE(n32){return n32+8}function RIGHT_NODE(n32,uint32Array){return uint32Array[n32+6]}function SPLIT_AXIS(n32,uint32Array){return uint32Array[n32+7]}function BOUNDING_DATA_INDEX(n32){return n32}const boundingBox$1=new three.Box3;const boxIntersection=new three.Vector3;const xyzFields=["x","y","z"];function raycast(nodeIndex32,geometry,side,ray,intersects){let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);intersectTris(geometry,side,ray,offset,count,intersects)}else{const leftIndex=LEFT_NODE(nodeIndex32);if(intersectRay(leftIndex,float32Array,ray,boxIntersection)){raycast(leftIndex,geometry,side,ray,intersects)}const rightIndex=RIGHT_NODE(nodeIndex32,uint32Array);if(intersectRay(rightIndex,float32Array,ray,boxIntersection)){raycast(rightIndex,geometry,side,ray,intersects)}}}function raycastFirst(nodeIndex32,geometry,side,ray){let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);return intersectClosestTri(geometry,side,ray,offset,count)}else{const splitAxis=SPLIT_AXIS(nodeIndex32,uint32Array);const xyzAxis=xyzFields[splitAxis];const rayDir=ray.direction[xyzAxis];const leftToRight=rayDir>=0;let c1,c2;if(leftToRight){c1=LEFT_NODE(nodeIndex32);c2=RIGHT_NODE(nodeIndex32,uint32Array)}else{c1=RIGHT_NODE(nodeIndex32,uint32Array);c2=LEFT_NODE(nodeIndex32)}const c1Intersection=intersectRay(c1,float32Array,ray,boxIntersection);const c1Result=c1Intersection?raycastFirst(c1,geometry,side,ray):null;if(c1Result){const point=c1Result.point[xyzAxis];const isOutside=leftToRight?point<=float32Array[c2+splitAxis]:point>=float32Array[c2+splitAxis+3];if(isOutside){return c1Result}}const c2Intersection=intersectRay(c2,float32Array,ray,boxIntersection);const c2Result=c2Intersection?raycastFirst(c2,geometry,side,ray):null;if(c1Result&&c2Result){return c1Result.distance<=c2Result.distance?c1Result:c2Result}else{return c1Result||c2Result||null}}}const shapecast=function(){let _box1,_box2;const boxStack=[];const boxPool=new PrimitivePool(()=>new three.Box3);return function shapecast(...args){_box1=boxPool.getPrimitive();_box2=boxPool.getPrimitive();boxStack.push(_box1,_box2);const result=shapecastTraverse(...args);boxPool.releasePrimitive(_box1);boxPool.releasePrimitive(_box2);boxStack.pop();boxStack.pop();const length=boxStack.length;if(length>0){_box2=boxStack[length-1];_box1=boxStack[length-2]}return result};function shapecastTraverse(nodeIndex32,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc=null,nodeIndexByteOffset=0,depth=0){function getLeftOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=LEFT_NODE(nodeIndex32);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)}function getRightEndOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=RIGHT_NODE(nodeIndex32,uint32Array);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)+COUNT(nodeIndex16,uint16Array)}let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);arrayToBox(BOUNDING_DATA_INDEX(nodeIndex32),float32Array,_box1);return intersectsRangeFunc(offset,count,false,depth,nodeIndexByteOffset+nodeIndex32,_box1)}else{const left=LEFT_NODE(nodeIndex32);const right=RIGHT_NODE(nodeIndex32,uint32Array);let c1=left;let c2=right;let score1,score2;let box1,box2;if(nodeScoreFunc){box1=_box1;box2=_box2;arrayToBox(BOUNDING_DATA_INDEX(c1),float32Array,box1);arrayToBox(BOUNDING_DATA_INDEX(c2),float32Array,box2);score1=nodeScoreFunc(box1);score2=nodeScoreFunc(box2);if(score2<score1){c1=right;c2=left;const temp=score1;score1=score2;score2=temp;box1=box2}}if(!box1){box1=_box1;arrayToBox(BOUNDING_DATA_INDEX(c1),float32Array,box1)}const isC1Leaf=IS_LEAF(c1*2,uint16Array);const c1Intersection=intersectsBoundsFunc(box1,isC1Leaf,score1,depth+1,nodeIndexByteOffset+c1);let c1StopTraversal;if(c1Intersection===CONTAINED){const offset=getLeftOffset(c1);const end=getRightEndOffset(c1);const count=end-offset;c1StopTraversal=intersectsRangeFunc(offset,count,true,depth+1,nodeIndexByteOffset+c1,box1)}else{c1StopTraversal=c1Intersection&&shapecastTraverse(c1,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc,nodeIndexByteOffset,depth+1)}if(c1StopTraversal)return true;box2=_box2;arrayToBox(BOUNDING_DATA_INDEX(c2),float32Array,box2);const isC2Leaf=IS_LEAF(c2*2,uint16Array);const c2Intersection=intersectsBoundsFunc(box2,isC2Leaf,score2,depth+1,nodeIndexByteOffset+c2);let c2StopTraversal;if(c2Intersection===CONTAINED){const offset=getLeftOffset(c2);const end=getRightEndOffset(c2);const count=end-offset;c2StopTraversal=intersectsRangeFunc(offset,count,true,depth+1,nodeIndexByteOffset+c2,box2)}else{c2StopTraversal=c2Intersection&&shapecastTraverse(c2,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc,nodeIndexByteOffset,depth+1)}if(c2StopTraversal)return true;return false}}}();const intersectsGeometry=function(){const triangle=new ExtendedTriangle;const triangle2=new ExtendedTriangle;const invertedMat=new three.Matrix4;const obb=new OrientedBox;const obb2=new OrientedBox;return function intersectsGeometry(nodeIndex32,geometry,otherGeometry,geometryToBvh,cachedObb=null){let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;if(cachedObb===null){if(!otherGeometry.boundingBox){otherGeometry.computeBoundingBox()}obb.set(otherGeometry.boundingBox.min,otherGeometry.boundingBox.max,geometryToBvh);cachedObb=obb}const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const thisGeometry=geometry;const thisIndex=thisGeometry.index;const thisPos=thisGeometry.attributes.position;const index=otherGeometry.index;const pos=otherGeometry.attributes.position;const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);invertedMat.copy(geometryToBvh).invert();if(otherGeometry.boundsTree){arrayToBox(BOUNDING_DATA_INDEX(nodeIndex32),float32Array,obb2);obb2.matrix.copy(invertedMat);obb2.needsUpdate=true;const res=otherGeometry.boundsTree.shapecast({intersectsBounds:box=>obb2.intersectsBox(box),intersectsTriangle:tri=>{tri.a.applyMatrix4(geometryToBvh);tri.b.applyMatrix4(geometryToBvh);tri.c.applyMatrix4(geometryToBvh);tri.needsUpdate=true;for(let i=offset*3,l=(count+offset)*3;i<l;i+=3){setTriangle(triangle2,i,thisIndex,thisPos);triangle2.needsUpdate=true;if(tri.intersectsTriangle(triangle2)){return true}}return false}});return res}else{for(let i=offset*3,l=count+offset*3;i<l;i+=3){setTriangle(triangle,i,thisIndex,thisPos);triangle.a.applyMatrix4(invertedMat);triangle.b.applyMatrix4(invertedMat);triangle.c.applyMatrix4(invertedMat);triangle.needsUpdate=true;for(let i2=0,l2=index.count;i2<l2;i2+=3){setTriangle(triangle2,i2,index,pos);triangle2.needsUpdate=true;if(triangle.intersectsTriangle(triangle2)){return true}}}}}else{const left=nodeIndex32+8;const right=uint32Array[nodeIndex32+6];arrayToBox(BOUNDING_DATA_INDEX(left),float32Array,boundingBox$1);const leftIntersection=cachedObb.intersectsBox(boundingBox$1)&&intersectsGeometry(left,geometry,otherGeometry,geometryToBvh,cachedObb);if(leftIntersection)return true;arrayToBox(BOUNDING_DATA_INDEX(right),float32Array,boundingBox$1);const rightIntersection=cachedObb.intersectsBox(boundingBox$1)&&intersectsGeometry(right,geometry,otherGeometry,geometryToBvh,cachedObb);if(rightIntersection)return true;return false}}}();function intersectRay(nodeIndex32,array,ray,target){arrayToBox(nodeIndex32,array,boundingBox$1);return ray.intersectBox(boundingBox$1,target)}const bufferStack=[];let _prevBuffer;let _float32Array;let _uint16Array;let _uint32Array;function setBuffer(buffer){if(_prevBuffer){bufferStack.push(_prevBuffer)}_prevBuffer=buffer;_float32Array=new Float32Array(buffer);_uint16Array=new Uint16Array(buffer);_uint32Array=new Uint32Array(buffer)}function clearBuffer(){_prevBuffer=null;_float32Array=null;_uint16Array=null;_uint32Array=null;if(bufferStack.length){setBuffer(bufferStack.pop())}}const SKIP_GENERATION=Symbol("skip tree generation");const aabb=new three.Box3;const aabb2=new three.Box3;const tempMatrix=new three.Matrix4;const obb=new OrientedBox;const obb2=new OrientedBox;const temp=new three.Vector3;const temp1=new three.Vector3;const temp2=new three.Vector3;const temp3=new three.Vector3;const temp4=new three.Vector3;const tempBox=new three.Box3;const trianglePool=new PrimitivePool(()=>new ExtendedTriangle);class MeshBVH{static serialize(bvh,options={}){if(options.isBufferGeometry){console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.serialize(arguments[0],{cloneBuffers:arguments[2]===undefined?true:arguments[2]})}options={cloneBuffers:true,...options};const geometry=bvh.geometry;const rootData=bvh._roots;const indexAttribute=geometry.getIndex();let result;if(options.cloneBuffers){result={roots:rootData.map(root=>root.slice()),index:indexAttribute.array.slice()}}else{result={roots:rootData,index:indexAttribute.array}}return result}static deserialize(data,geometry,options={}){if(typeof options==="boolean"){console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.deserialize(arguments[0],arguments[1],{setIndex:arguments[2]===undefined?true:arguments[2]})}options={setIndex:true,...options};const{index,roots}=data;const bvh=new MeshBVH(geometry,{...options,[SKIP_GENERATION]:true});bvh._roots=roots;if(options.setIndex){const indexAttribute=geometry.getIndex();if(indexAttribute===null){const newIndex=new three.BufferAttribute(data.index,1,false);geometry.setIndex(newIndex)}else if(indexAttribute.array!==index){indexAttribute.array.set(index);indexAttribute.needsUpdate=true}}return bvh}constructor(geometry,options={}){if(!geometry.isBufferGeometry){throw new Error("MeshBVH: Only BufferGeometries are supported.")}else if(geometry.index&&geometry.index.isInterleavedBufferAttribute){throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.")}options=Object.assign({strategy:CENTER,maxDepth:40,maxLeafTris:10,verbose:true,useSharedArrayBuffer:false,setBoundingBox:true,onProgress:null,[SKIP_GENERATION]:false},options);if(options.useSharedArrayBuffer&&typeof SharedArrayBuffer==="undefined"){throw new Error("MeshBVH: SharedArrayBuffer is not available.")}this._roots=null;if(!options[SKIP_GENERATION]){this._roots=buildPackedTree(geometry,options);if(!geometry.boundingBox&&options.setBoundingBox){geometry.boundingBox=this.getBoundingBox(new three.Box3)}}this.geometry=geometry}refit(nodeIndices=null){if(nodeIndices&&Array.isArray(nodeIndices)){nodeIndices=new Set(nodeIndices)}const geometry=this.geometry;const indexArr=geometry.index.array;const posAttr=geometry.attributes.position;let buffer,uint32Array,uint16Array,float32Array;let byteOffset=0;const roots=this._roots;for(let i=0,l=roots.length;i<l;i++){buffer=roots[i];uint32Array=new Uint32Array(buffer);uint16Array=new Uint16Array(buffer);float32Array=new Float32Array(buffer);_traverse(0,byteOffset);byteOffset+=buffer.byteLength}function _traverse(node32Index,byteOffset,force=false){const node16Index=node32Index*2;const isLeaf=uint16Array[node16Index+15]===IS_LEAFNODE_FLAG;if(isLeaf){const offset=uint32Array[node32Index+6];const count=uint16Array[node16Index+14];let minx=Infinity;let miny=Infinity;let minz=Infinity;let maxx=-Infinity;let maxy=-Infinity;let maxz=-Infinity;for(let i=3*offset,l=3*(offset+count);i<l;i++){const index=indexArr[i];const x=posAttr.getX(index);const y=posAttr.getY(index);const z=posAttr.getZ(index);if(x<minx)minx=x;if(x>maxx)maxx=x;if(y<miny)miny=y;if(y>maxy)maxy=y;if(z<minz)minz=z;if(z>maxz)maxz=z}if(float32Array[node32Index+0]!==minx||float32Array[node32Index+1]!==miny||float32Array[node32Index+2]!==minz||float32Array[node32Index+3]!==maxx||float32Array[node32Index+4]!==maxy||float32Array[node32Index+5]!==maxz){float32Array[node32Index+0]=minx;float32Array[node32Index+1]=miny;float32Array[node32Index+2]=minz;float32Array[node32Index+3]=maxx;float32Array[node32Index+4]=maxy;float32Array[node32Index+5]=maxz;return true}else{return false}}else{const left=node32Index+8;const right=uint32Array[node32Index+6];const offsetLeft=left+byteOffset;const offsetRight=right+byteOffset;let forceChildren=force;let includesLeft=false;let includesRight=false;if(nodeIndices){if(!forceChildren){includesLeft=nodeIndices.has(offsetLeft);includesRight=nodeIndices.has(offsetRight);forceChildren=!includesLeft&&!includesRight}}else{includesLeft=true;includesRight=true}const traverseLeft=forceChildren||includesLeft;const traverseRight=forceChildren||includesRight;let leftChange=false;if(traverseLeft){leftChange=_traverse(left,byteOffset,forceChildren)}let rightChange=false;if(traverseRight){rightChange=_traverse(right,byteOffset,forceChildren)}const didChange=leftChange||rightChange;if(didChange){for(let i=0;i<3;i++){const lefti=left+i;const righti=right+i;const minLeftValue=float32Array[lefti];const maxLeftValue=float32Array[lefti+3];const minRightValue=float32Array[righti];const maxRightValue=float32Array[righti+3];float32Array[node32Index+i]=minLeftValue<minRightValue?minLeftValue:minRightValue;float32Array[node32Index+i+3]=maxLeftValue>maxRightValue?maxLeftValue:maxRightValue}}return didChange}}}traverse(callback,rootIndex=0){const buffer=this._roots[rootIndex];const uint32Array=new Uint32Array(buffer);const uint16Array=new Uint16Array(buffer);_traverse(0);function _traverse(node32Index,depth=0){const node16Index=node32Index*2;const isLeaf=uint16Array[node16Index+15]===IS_LEAFNODE_FLAG;if(isLeaf){const offset=uint32Array[node32Index+6];const count=uint16Array[node16Index+14];callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),offset,count)}else{const left=node32Index+BYTES_PER_NODE/4;const right=uint32Array[node32Index+6];const splitAxis=uint32Array[node32Index+7];const stopTraversal=callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),splitAxis);if(!stopTraversal){_traverse(left,depth+1);_traverse(right,depth+1)}}}}raycast(ray,materialOrSide=three.FrontSide){const roots=this._roots;const geometry=this.geometry;const intersects=[];const isMaterial=materialOrSide.isMaterial;const isArrayMaterial=Array.isArray(materialOrSide);const groups=geometry.groups;const side=isMaterial?materialOrSide.side:materialOrSide;for(let i=0,l=roots.length;i<l;i++){const materialSide=isArrayMaterial?materialOrSide[groups[i].materialIndex].side:side;const startCount=intersects.length;setBuffer(roots[i]);raycast(0,geometry,materialSide,ray,intersects);clearBuffer();if(isArrayMaterial){const materialIndex=groups[i].materialIndex;for(let j=startCount,jl=intersects.length;j<jl;j++){intersects[j].face.materialIndex=materialIndex}}}return intersects}raycastFirst(ray,materialOrSide=three.FrontSide){const roots=this._roots;const geometry=this.geometry;const isMaterial=materialOrSide.isMaterial;const isArrayMaterial=Array.isArray(materialOrSide);let closestResult=null;const groups=geometry.groups;const side=isMaterial?materialOrSide.side:materialOrSide;for(let i=0,l=roots.length;i<l;i++){const materialSide=isArrayMaterial?materialOrSide[groups[i].materialIndex].side:side;setBuffer(roots[i]);const result=raycastFirst(0,geometry,materialSide,ray);clearBuffer();if(result!=null&&(closestResult==null||result.distance<closestResult.distance)){closestResult=result;if(isArrayMaterial){result.face.materialIndex=groups[i].materialIndex}}}return closestResult}intersectsGeometry(otherGeometry,geomToMesh){const geometry=this.geometry;let result=false;for(const root of this._roots){setBuffer(root);result=intersectsGeometry(0,geometry,otherGeometry,geomToMesh);clearBuffer();if(result){break}}return result}shapecast(callbacks,_intersectsTriangleFunc,_orderNodesFunc){const geometry=this.geometry;if(callbacks instanceof Function){if(_intersectsTriangleFunc){const originalTriangleFunc=_intersectsTriangleFunc;_intersectsTriangleFunc=(tri,index,contained,depth)=>{const i3=index*3;return originalTriangleFunc(tri,i3,i3+1,i3+2,contained,depth)}}callbacks={boundsTraverseOrder:_orderNodesFunc,intersectsBounds:callbacks,intersectsTriangle:_intersectsTriangleFunc,intersectsRange:null};console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}const triangle=trianglePool.getPrimitive();let{boundsTraverseOrder,intersectsBounds,intersectsRange,intersectsTriangle}=callbacks;if(intersectsRange&&intersectsTriangle){const originalIntersectsRange=intersectsRange;intersectsRange=(offset,count,contained,depth,nodeIndex)=>{if(!originalIntersectsRange(offset,count,contained,depth,nodeIndex)){return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}return true}}else if(!intersectsRange){if(intersectsTriangle){intersectsRange=(offset,count,contained,depth)=>{return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}}else{intersectsRange=(offset,count,contained)=>{return contained}}}let result=false;let byteOffset=0;for(const root of this._roots){setBuffer(root);result=shapecast(0,geometry,intersectsBounds,intersectsRange,boundsTraverseOrder,byteOffset);clearBuffer();if(result){break}byteOffset+=root.byteLength}trianglePool.releasePrimitive(triangle);return result}bvhcast(otherBvh,matrixToLocal,callbacks){let{intersectsRanges,intersectsTriangles}=callbacks;const indexAttr=this.geometry.index;const positionAttr=this.geometry.attributes.position;const otherIndexAttr=otherBvh.geometry.index;const otherPositionAttr=otherBvh.geometry.attributes.position;tempMatrix.copy(matrixToLocal).invert();const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();if(intersectsTriangles){function iterateOverDoubleTriangles(offset1,count1,offset2,count2,depth1,index1,depth2,index2){for(let i2=offset2,l2=offset2+count2;i2<l2;i2++){setTriangle(triangle2,i2*3,otherIndexAttr,otherPositionAttr);triangle2.a.applyMatrix4(matrixToLocal);triangle2.b.applyMatrix4(matrixToLocal);triangle2.c.applyMatrix4(matrixToLocal);triangle2.needsUpdate=true;for(let i1=offset1,l1=offset1+count1;i1<l1;i1++){setTriangle(triangle,i1*3,indexAttr,positionAttr);triangle.needsUpdate=true;if(intersectsTriangles(triangle,triangle2,i1,i2,depth1,index1,depth2,index2)){return true}}}return false}if(intersectsRanges){const originalIntersectsRanges=intersectsRanges;intersectsRanges=function(offset1,count1,offset2,count2,depth1,index1,depth2,index2){if(!originalIntersectsRanges(offset1,count1,offset2,count2,depth1,index1,depth2,index2)){return iterateOverDoubleTriangles(offset1,count1,offset2,count2,depth1,index1,depth2,index2)}return true}}else{intersectsRanges=iterateOverDoubleTriangles}}otherBvh.getBoundingBox(aabb2);aabb2.applyMatrix4(matrixToLocal);const result=this.shapecast({intersectsBounds:box=>aabb2.intersectsBox(box),intersectsRange:(offset1,count1,contained,depth1,nodeIndex1,box)=>{aabb.copy(box);aabb.applyMatrix4(tempMatrix);return otherBvh.shapecast({intersectsBounds:box=>aabb.intersectsBox(box),intersectsRange:(offset2,count2,contained,depth2,nodeIndex2)=>{return intersectsRanges(offset1,count1,offset2,count2,depth1,nodeIndex1,depth2,nodeIndex2)}})}});trianglePool.releasePrimitive(triangle);trianglePool.releasePrimitive(triangle2);return result}intersectsBox(box,boxToMesh){obb.set(box.min,box.max,boxToMesh);obb.needsUpdate=true;return this.shapecast({intersectsBounds:box=>obb.intersectsBox(box),intersectsTriangle:tri=>obb.intersectsTriangle(tri)})}intersectsSphere(sphere){return this.shapecast({intersectsBounds:box=>sphere.intersectsBox(box),intersectsTriangle:tri=>tri.intersectsSphere(sphere)})}closestPointToGeometry(otherGeometry,geometryToBvh,target1={},target2={},minThreshold=0,maxThreshold=Infinity){if(!otherGeometry.boundingBox){otherGeometry.computeBoundingBox()}obb.set(otherGeometry.boundingBox.min,otherGeometry.boundingBox.max,geometryToBvh);obb.needsUpdate=true;const geometry=this.geometry;const pos=geometry.attributes.position;const index=geometry.index;const otherPos=otherGeometry.attributes.position;const otherIndex=otherGeometry.index;const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();let tempTarget1=temp1;let tempTargetDest1=temp2;let tempTarget2=null;let tempTargetDest2=null;if(target2){tempTarget2=temp3;tempTargetDest2=temp4}let closestDistance=Infinity;let closestDistanceTriIndex=null;let closestDistanceOtherTriIndex=null;tempMatrix.copy(geometryToBvh).invert();obb2.matrix.copy(tempMatrix);this.shapecast({boundsTraverseOrder:box=>{return obb.distanceToBox(box)},intersectsBounds:(box,isLeaf,score)=>{if(score<closestDistance&&score<maxThreshold){if(isLeaf){obb2.min.copy(box.min);obb2.max.copy(box.max);obb2.needsUpdate=true}return true}return false},intersectsRange:(offset,count)=>{if(otherGeometry.boundsTree){return otherGeometry.boundsTree.shapecast({boundsTraverseOrder:box=>{return obb2.distanceToBox(box)},intersectsBounds:(box,isLeaf,score)=>{return score<closestDistance&&score<maxThreshold},intersectsRange:(otherOffset,otherCount)=>{for(let i2=otherOffset*3,l2=(otherOffset+otherCount)*3;i2<l2;i2+=3){setTriangle(triangle2,i2,otherIndex,otherPos);triangle2.a.applyMatrix4(geometryToBvh);triangle2.b.applyMatrix4(geometryToBvh);triangle2.c.applyMatrix4(geometryToBvh);triangle2.needsUpdate=true;for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){setTriangle(triangle,i,index,pos);triangle.needsUpdate=true;const dist=triangle.distanceToTriangle(triangle2,tempTarget1,tempTarget2);if(dist<closestDistance){tempTargetDest1.copy(tempTarget1);if(tempTargetDest2){tempTargetDest2.copy(tempTarget2)}closestDistance=dist;closestDistanceTriIndex=i/3;closestDistanceOtherTriIndex=i2/3}if(dist<minThreshold){return true}}}}})}else{const triCount=otherIndex?otherIndex.count:otherPos.count;for(let i2=0,l2=triCount;i2<l2;i2+=3){setTriangle(triangle2,i2,otherIndex,otherPos);triangle2.a.applyMatrix4(geometryToBvh);triangle2.b.applyMatrix4(geometryToBvh);triangle2.c.applyMatrix4(geometryToBvh);triangle2.needsUpdate=true;for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){setTriangle(triangle,i,index,pos);triangle.needsUpdate=true;const dist=triangle.distanceToTriangle(triangle2,tempTarget1,tempTarget2);if(dist<closestDistance){tempTargetDest1.copy(tempTarget1);if(tempTargetDest2){tempTargetDest2.copy(tempTarget2)}closestDistance=dist;closestDistanceTriIndex=i/3;closestDistanceOtherTriIndex=i2/3}if(dist<minThreshold){return true}}}}}});trianglePool.releasePrimitive(triangle);trianglePool.releasePrimitive(triangle2);if(closestDistance===Infinity)return null;if(!target1.point)target1.point=tempTargetDest1.clone();else target1.point.copy(tempTargetDest1);target1.distance=closestDistance,target1.faceIndex=closestDistanceTriIndex;if(target2){if(!target2.point)target2.point=tempTargetDest2.clone();else target2.point.copy(tempTargetDest2);target2.point.applyMatrix4(tempMatrix);tempTargetDest1.applyMatrix4(tempMatrix);target2.distance=tempTargetDest1.sub(target2.point).length();target2.faceIndex=closestDistanceOtherTriIndex}return target1}closestPointToPoint(point,target={},minThreshold=0,maxThreshold=Infinity){const minThresholdSq=minThreshold*minThreshold;const maxThresholdSq=maxThreshold*maxThreshold;let closestDistanceSq=Infinity;let closestDistanceTriIndex=null;this.shapecast({boundsTraverseOrder:box=>{temp.copy(point).clamp(box.min,box.max);return temp.distanceToSquared(point)},intersectsBounds:(box,isLeaf,score)=>{return score<closestDistanceSq&&score<maxThresholdSq},intersectsTriangle:(tri,triIndex)=>{tri.closestPointToPoint(point,temp);const distSq=point.distanceToSquared(temp);if(distSq<closestDistanceSq){temp1.copy(temp);closestDistanceSq=distSq;closestDistanceTriIndex=triIndex}if(distSq<minThresholdSq){return true}else{return false}}});if(closestDistanceSq===Infinity)return null;const closestDistance=Math.sqrt(closestDistanceSq);if(!target.point)target.point=temp1.clone();else target.point.copy(temp1);target.distance=closestDistance,target.faceIndex=closestDistanceTriIndex;return target}getBoundingBox(target){target.makeEmpty();const roots=this._roots;roots.forEach(buffer=>{arrayToBox(0,new Float32Array(buffer),tempBox);target.union(tempBox)});return target}}const boundingBox=new three.Box3;class MeshBVHRootVisualizer extends three.Object3D{get isMesh(){return!this.displayEdges}get isLineSegments(){return this.displayEdges}get isLine(){return this.displayEdges}constructor(mesh,material,depth=10,group=0){super();this.material=material;this.geometry=new three.BufferGeometry;this.name="MeshBVHRootVisualizer";this.depth=depth;this.displayParents=false;this.mesh=mesh;this.displayEdges=true;this._group=group}raycast(){}update(){const geometry=this.geometry;const boundsTree=this.mesh.geometry.boundsTree;const group=this._group;geometry.dispose();this.visible=false;if(boundsTree){const targetDepth=this.depth-1;const displayParents=this.displayParents;let boundsCount=0;boundsTree.traverse((depth,isLeaf)=>{if(depth===targetDepth||isLeaf){boundsCount++;return true}else if(displayParents){boundsCount++}},group);let posIndex=0;const positionArray=new Float32Array(8*3*boundsCount);boundsTree.traverse((depth,isLeaf,boundingData)=>{const terminate=depth===targetDepth||isLeaf;if(terminate||displayParents){arrayToBox(0,boundingData,boundingBox);const{min,max}=boundingBox;for(let x=-1;x<=1;x+=2){const xVal=x<0?min.x:max.x;for(let y=-1;y<=1;y+=2){const yVal=y<0?min.y:max.y;for(let z=-1;z<=1;z+=2){const zVal=z<0?min.z:max.z;positionArray[posIndex+0]=xVal;positionArray[posIndex+1]=yVal;positionArray[posIndex+2]=zVal;posIndex+=3}}}return terminate}},group);let indexArray;let indices;if(this.displayEdges){indices=new Uint8Array([0,4,1,5,2,6,3,7,0,2,1,3,4,6,5,7,0,1,2,3,4,5,6,7])}else{indices=new Uint8Array([0,1,2,2,1,3,4,6,5,6,7,5,1,4,5,0,4,1,2,3,6,3,7,6,0,2,4,2,6,4,1,5,3,3,5,7])}if(positionArray.length>65535){indexArray=new Uint32Array(indices.length*boundsCount)}else{indexArray=new Uint16Array(indices.length*boundsCount)}const indexLength=indices.length;for(let i=0;i<boundsCount;i++){const posOffset=i*8;const indexOffset=i*indexLength;for(let j=0;j<indexLength;j++){indexArray[indexOffset+j]=posOffset+indices[j]}}geometry.setIndex(new three.BufferAttribute(indexArray,1,false));geometry.setAttribute("position",new three.BufferAttribute(positionArray,3,false));this.visible=true}}}class MeshBVHVisualizer extends three.Group{get color(){return this.edgeMaterial.color}get opacity(){return this.edgeMaterial.opacity}set opacity(v){this.edgeMaterial.opacity=v;this.meshMaterial.opacity=v}constructor(mesh,depth=10){super();this.name="MeshBVHVisualizer";this.depth=depth;this.mesh=mesh;this.displayParents=false;this.displayEdges=true;this._roots=[];const edgeMaterial=new three.LineBasicMaterial({color:65416,transparent:true,opacity:0.3,depthWrite:false});const meshMaterial=new three.MeshBasicMaterial({color:65416,transparent:true,opacity:0.3,depthWrite:false});meshMaterial.color=edgeMaterial.color;this.edgeMaterial=edgeMaterial;this.meshMaterial=meshMaterial;this.update()}update(){const bvh=this.mesh.geometry.boundsTree;const totalRoots=bvh?bvh._roots.length:0;while(this._roots.length>totalRoots){const root=this._roots.pop();root.geometry.dispose();this.remove(root)}for(let i=0;i<totalRoots;i++){if(i>=this._roots.length){const root=new MeshBVHRootVisualizer(this.mesh,this.edgeMaterial,this.depth,i);this.add(root);this._roots.push(root)}const root=this._roots[i];root.depth=this.depth;root.mesh=this.mesh;root.displayParents=this.displayParents;root.displayEdges=this.displayEdges;root.material=this.displayEdges?this.edgeMaterial:this.meshMaterial;root.update()}}updateMatrixWorld(...args){this.position.copy(this.mesh.position);this.rotation.copy(this.mesh.rotation);this.scale.copy(this.mesh.scale);super.updateMatrixWorld(...args)}copy(source){this.depth=source.depth;this.mesh=source.mesh}clone(){return new MeshBVHVisualizer(this.mesh,this.depth)}dispose(){this.edgeMaterial.dispose();this.meshMaterial.dispose();const children=this.children;for(let i=0,l=children.length;i<l;i++){children[i].geometry.dispose()}}}const _box1=new three.Box3;const _box2=new three.Box3;const _vec=new three.Vector3;function getPrimitiveSize(el){switch(typeof el){case"number":return 8;case"string":return el.length*2;case"boolean":return 4;default:return 0;}}function isTypedArray(arr){const regex=/(Uint|Int|Float)(8|16|32)Array/;return regex.test(arr.constructor.name)}function getRootExtremes(bvh,group){const result={nodeCount:0,leafNodeCount:0,depth:{min:Infinity,max:-Infinity},tris:{min:Infinity,max:-Infinity},splits:[0,0,0],surfaceAreaScore:0};bvh.traverse((depth,isLeaf,boundingData,offsetOrSplit,count)=>{const l0=boundingData[0+3]-boundingData[0];const l1=boundingData[1+3]-boundingData[1];const l2=boundingData[2+3]-boundingData[2];const surfaceArea=2*(l0*l1+l1*l2+l2*l0);result.nodeCount++;if(isLeaf){result.leafNodeCount++;result.depth.min=Math.min(depth,result.depth.min);result.depth.max=Math.max(depth,result.depth.max);result.tris.min=Math.min(count,result.tris.min);result.tris.max=Math.max(count,result.tris.max);result.surfaceAreaScore+=surfaceArea*TRIANGLE_INTERSECT_COST*count}else{result.splits[offsetOrSplit]++;result.surfaceAreaScore+=surfaceArea*TRAVERSAL_COST}},group);if(result.tris.min===Infinity){result.tris.min=0;result.tris.max=0}if(result.depth.min===Infinity){result.depth.min=0;result.depth.max=0}return result}function getBVHExtremes(bvh){return bvh._roots.map((root,i)=>getRootExtremes(bvh,i))}function estimateMemoryInBytes(obj){const traversed=new Set;const stack=[obj];let bytes=0;while(stack.length){const curr=stack.pop();if(traversed.has(curr)){continue}traversed.add(curr);for(let key in curr){if(!curr.hasOwnProperty(key)){continue}bytes+=getPrimitiveSize(key);const value=curr[key];if(value&&(typeof value==="object"||typeof value==="function")){if(isTypedArray(value)){bytes+=value.byteLength}else if(value instanceof ArrayBuffer){bytes+=value.byteLength}else{stack.push(value)}}else{bytes+=getPrimitiveSize(value)}}}return bytes}function validateBounds(bvh){const geometry=bvh.geometry;const depthStack=[];const index=geometry.index;const position=geometry.getAttribute("position");let passes=true;bvh.traverse((depth,isLeaf,boundingData,offset,count)=>{const info={depth,isLeaf,boundingData,offset,count};depthStack[depth]=info;arrayToBox(0,boundingData,_box1);const parent=depthStack[depth-1];if(isLeaf){for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){const i0=index.getX(i);const i1=index.getX(i+1);const i2=index.getX(i+2);let isContained;_vec.fromBufferAttribute(position,i0);isContained=_box1.containsPoint(_vec);_vec.fromBufferAttribute(position,i1);isContained=isContained&&_box1.containsPoint(_vec);_vec.fromBufferAttribute(position,i2);isContained=isContained&&_box1.containsPoint(_vec);console.assert(isContained,"Leaf bounds does not fully contain triangle.");passes=passes&&isContained}}if(parent){arrayToBox(0,boundingData,_box2);const isContained=_box2.containsBox(_box1);console.assert(isContained,"Parent bounds does not fully contain child.");passes=passes&&isContained}});return passes}function getJSONStructure(bvh){const depthStack=[];bvh.traverse((depth,isLeaf,boundingData,offset,count)=>{const info={bounds:arrayToBox(0,boundingData,new three.Box3)};if(isLeaf){info.count=count;info.offset=offset}else{info.left=null;info.right=null}depthStack[depth]=info;const parent=depthStack[depth-1];if(parent){if(parent.left===null){parent.left=info}else{parent.right=info}}});return depthStack[0]}const ray=new three.Ray;const tmpInverseMatrix=new three.Matrix4;const origMeshRaycastFunc=three.Mesh.prototype.raycast;function acceleratedRaycast(raycaster,intersects){if(this.geometry.boundsTree){if(this.material===undefined)return;tmpInverseMatrix.copy(this.matrixWorld).invert();ray.copy(raycaster.ray).applyMatrix4(tmpInverseMatrix);const bvh=this.geometry.boundsTree;if(raycaster.firstHitOnly===true){const hit=convertRaycastIntersect(bvh.raycastFirst(ray,this.material),this,raycaster);if(hit){intersects.push(hit)}}else{const hits=bvh.raycast(ray,this.material);for(let i=0,l=hits.length;i<l;i++){const hit=convertRaycastIntersect(hits[i],this,raycaster);if(hit){intersects.push(hit)}}}}else{origMeshRaycastFunc.call(this,raycaster,intersects)}}function computeBoundsTree(options){this.boundsTree=new MeshBVH(this,options);return this.boundsTree}function disposeBoundsTree(){this.boundsTree=null}function countToStringFormat(count){switch(count){case 1:return"R";case 2:return"RG";case 3:return"RGBA";case 4:return"RGBA";}throw new Error}function countToFormat(count){switch(count){case 1:return three.RedFormat;case 2:return three.RGFormat;case 3:return three.RGBAFormat;case 4:return three.RGBAFormat;}}function countToIntFormat(count){switch(count){case 1:return three.RedIntegerFormat;case 2:return three.RGIntegerFormat;case 3:return three.RGBAIntegerFormat;case 4:return three.RGBAIntegerFormat;}}class VertexAttributeTexture extends three.DataTexture{constructor(){super();this.minFilter=three.NearestFilter;this.magFilter=three.NearestFilter;this.generateMipmaps=false;this.overrideItemSize=null;this._forcedType=null}updateFrom(attr){const overrideItemSize=this.overrideItemSize;const originalItemSize=attr.itemSize;const originalCount=attr.count;if(overrideItemSize!==null){if(originalItemSize*originalCount%overrideItemSize!==0){throw new Error("VertexAttributeTexture: overrideItemSize must divide evenly into buffer length.")}attr.itemSize=overrideItemSize;attr.count=originalCount*originalItemSize/overrideItemSize}const itemSize=attr.itemSize;const count=attr.count;const normalized=attr.normalized;const originalBufferCons=attr.array.constructor;const byteCount=originalBufferCons.BYTES_PER_ELEMENT;let targetType=this._forcedType;let finalStride=itemSize;if(targetType===null){switch(originalBufferCons){case Float32Array:targetType=three.FloatType;break;case Uint8Array:case Uint16Array:case Uint32Array:targetType=three.UnsignedIntType;break;case Int8Array:case Int16Array:case Int32Array:targetType=three.IntType;break;}}let type,format,normalizeValue,targetBufferCons;let internalFormat=countToStringFormat(itemSize);switch(targetType){case three.FloatType:normalizeValue=1;format=countToFormat(itemSize);if(normalized&&byteCount===1){targetBufferCons=originalBufferCons;internalFormat+="8";if(originalBufferCons===Uint8Array){type=three.UnsignedByteType}else{type=three.ByteType;internalFormat+="_SNORM"}}else{targetBufferCons=Float32Array;internalFormat+="32F";type=three.FloatType}break;case three.IntType:internalFormat+=byteCount*8+"I";normalizeValue=normalized?Math.pow(2,originalBufferCons.BYTES_PER_ELEMENT*8-1):1;format=countToIntFormat(itemSize);if(byteCount===1){targetBufferCons=Int8Array;type=three.ByteType}else if(byteCount===2){targetBufferCons=Int16Array;type=three.ShortType}else{targetBufferCons=Int32Array;type=three.IntType}break;case three.UnsignedIntType:internalFormat+=byteCount*8+"UI";normalizeValue=normalized?Math.pow(2,originalBufferCons.BYTES_PER_ELEMENT*8-1):1;format=countToIntFormat(itemSize);if(byteCount===1){targetBufferCons=Uint8Array;type=three.UnsignedByteType}else if(byteCount===2){targetBufferCons=Uint16Array;type=three.UnsignedShortType}else{targetBufferCons=Uint32Array;type=three.UnsignedIntType}break;}if(finalStride===3&&(format===three.RGBAFormat||format===three.RGBAIntegerFormat)){finalStride=4}const dimension=Math.ceil(Math.sqrt(count));const length=finalStride*dimension*dimension;const dataArray=new targetBufferCons(length);const originalNormalized=attr.normalized;attr.normalized=false;for(let i=0;i<count;i++){const ii=finalStride*i;dataArray[ii]=attr.getX(i)/normalizeValue;if(itemSize>=2){dataArray[ii+1]=attr.getY(i)/normalizeValue}if(itemSize>=3){dataArray[ii+2]=attr.getZ(i)/normalizeValue;if(finalStride===4){dataArray[ii+3]=1}}if(itemSize>=4){dataArray[ii+3]=attr.getW(i)/normalizeValue}}attr.normalized=originalNormalized;this.internalFormat=internalFormat;this.format=format;this.type=type;this.image.width=dimension;this.image.height=dimension;this.image.data=dataArray;this.needsUpdate=true;this.dispose();attr.itemSize=originalItemSize;attr.count=originalCount}}class UIntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.UnsignedIntType}}class IntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.IntType}}class FloatVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.FloatType}}function bvhToTextures(bvh,boundsTexture,contentsTexture){const roots=bvh._roots;if(roots.length!==1){throw new Error("MeshBVHUniformStruct: Multi-root BVHs not supported.")}const root=roots[0];const uint16Array=new Uint16Array(root);const uint32Array=new Uint32Array(root);const float32Array=new Float32Array(root);const nodeCount=root.byteLength/BYTES_PER_NODE;const boundsDimension=2*Math.ceil(Math.sqrt(nodeCount/2));const boundsArray=new Float32Array(4*boundsDimension*boundsDimension);const contentsDimension=Math.ceil(Math.sqrt(nodeCount));const contentsArray=new Uint32Array(2*contentsDimension*contentsDimension);for(let i=0;i<nodeCount;i++){const nodeIndex32=i*BYTES_PER_NODE/4;const nodeIndex16=nodeIndex32*2;const boundsIndex=BOUNDING_DATA_INDEX(nodeIndex32);for(let b=0;b<3;b++){boundsArray[8*i+0+b]=float32Array[boundsIndex+0+b];boundsArray[8*i+4+b]=float32Array[boundsIndex+3+b]}if(IS_LEAF(nodeIndex16,uint16Array)){const count=COUNT(nodeIndex16,uint16Array);const offset=OFFSET(nodeIndex32,uint32Array);const mergedLeafCount=4294901760|count;contentsArray[i*2+0]=mergedLeafCount;contentsArray[i*2+1]=offset}else{const rightIndex=4*RIGHT_NODE(nodeIndex32,uint32Array)/BYTES_PER_NODE;const splitAxis=SPLIT_AXIS(nodeIndex32,uint32Array);contentsArray[i*2+0]=splitAxis;contentsArray[i*2+1]=rightIndex}}boundsTexture.image.data=boundsArray;boundsTexture.image.width=boundsDimension;boundsTexture.image.height=boundsDimension;boundsTexture.format=three.RGBAFormat;boundsTexture.type=three.FloatType;boundsTexture.internalFormat="RGBA32F";boundsTexture.minFilter=three.NearestFilter;boundsTexture.magFilter=three.NearestFilter;boundsTexture.generateMipmaps=false;boundsTexture.needsUpdate=true;boundsTexture.dispose();contentsTexture.image.data=contentsArray;contentsTexture.image.width=contentsDimension;contentsTexture.image.height=contentsDimension;contentsTexture.format=three.RGIntegerFormat;contentsTexture.type=three.UnsignedIntType;contentsTexture.internalFormat="RG32UI";contentsTexture.minFilter=three.NearestFilter;contentsTexture.magFilter=three.NearestFilter;contentsTexture.generateMipmaps=false;contentsTexture.needsUpdate=true;contentsTexture.dispose()}class MeshBVHUniformStruct{constructor(){this.autoDispose=true;this.index=new UIntVertexAttributeTexture;this.position=new FloatVertexAttributeTexture;this.bvhBounds=new three.DataTexture;this.bvhContents=new three.DataTexture;this.index.overrideItemSize=3}updateFrom(bvh){const{geometry}=bvh;bvhToTextures(bvh,this.bvhBounds,this.bvhContents);this.index.updateFrom(geometry.index);this.position.updateFrom(geometry.attributes.position)}dispose(){const{index,position,bvhBounds,bvhContents}=this;if(index)index.dispose();if(position)position.dispose();if(bvhBounds)bvhBounds.dispose();if(bvhContents)bvhContents.dispose()}}const shaderStructs=`
#ifndef TRI_INTERSECT_EPSILON
#define TRI_INTERSECT_EPSILON 1e-5
#endif

#ifndef INFINITY
#define INFINITY 1e20
#endif

struct BVH {

	usampler2D index;
	sampler2D position;

	sampler2D bvhBounds;
	usampler2D bvhContents;

};
`;const shaderIntersectFunction=`

// Utilities
uvec4 uTexelFetch1D( usampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

ivec4 iTexelFetch1D( isampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

vec4 texelFetch1D( sampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

vec4 textureSampleBarycoord( sampler2D tex, vec3 barycoord, uvec3 faceIndices ) {

	return
		barycoord.x * texelFetch1D( tex, faceIndices.x ) +
		barycoord.y * texelFetch1D( tex, faceIndices.y ) +
		barycoord.z * texelFetch1D( tex, faceIndices.z );

}

void ndcToCameraRay(
	vec2 coord, mat4 cameraWorld, mat4 invProjectionMatrix,
	out vec3 rayOrigin, out vec3 rayDirection
) {

	// get camera look direction and near plane for camera clipping
	vec4 lookDirection = cameraWorld * vec4( 0.0, 0.0, - 1.0, 0.0 );
	vec4 nearVector = invProjectionMatrix * vec4( 0.0, 0.0, - 1.0, 1.0 );
	float near = abs( nearVector.z / nearVector.w );

	// get the camera direction and position from camera matrices
	vec4 origin = cameraWorld * vec4( 0.0, 0.0, 0.0, 1.0 );
	vec4 direction = invProjectionMatrix * vec4( coord, 0.5, 1.0 );
	direction /= direction.w;
	direction = cameraWorld * direction - origin;

	// slide the origin along the ray until it sits at the near clip plane position
	origin.xyz += direction.xyz * near / dot( direction, lookDirection );

	rayOrigin = origin.xyz;
	rayDirection = direction.xyz;

}

// Raycasting
float intersectsBounds( vec3 rayOrigin, vec3 rayDirection, vec3 boundsMin, vec3 boundsMax ) {

	// https://www.reddit.com/r/opengl/comments/8ntzz5/fast_glsl_ray_box_intersection/
	// https://tavianator.com/2011/ray_box.html
	vec3 invDir = 1.0 / rayDirection;

	// find intersection distances for each plane
	vec3 tMinPlane = invDir * ( boundsMin - rayOrigin );
	vec3 tMaxPlane = invDir * ( boundsMax - rayOrigin );

	// get the min and max distances from each intersection
	vec3 tMinHit = min( tMaxPlane, tMinPlane );
	vec3 tMaxHit = max( tMaxPlane, tMinPlane );

	// get the furthest hit distance
	vec2 t = max( tMinHit.xx, tMinHit.yz );
	float t0 = max( t.x, t.y );

	// get the minimum hit distance
	t = min( tMaxHit.xx, tMaxHit.yz );
	float t1 = min( t.x, t.y );

	// set distance to 0.0 if the ray starts inside the box
	float dist = max( t0, 0.0 );

	return t1 >= dist ? dist : INFINITY;

}

bool intersectsTriangle(
	vec3 rayOrigin, vec3 rayDirection, vec3 a, vec3 b, vec3 c,
	out vec3 barycoord, out vec3 norm, out float dist, out float side
) {

	// https://stackoverflow.com/questions/42740765/intersection-between-line-and-triangle-in-3d
	vec3 edge1 = b - a;
	vec3 edge2 = c - a;
	norm = cross( edge1, edge2 );

	float det = - dot( rayDirection, norm );
	float invdet = 1.0 / det;

	vec3 AO = rayOrigin - a;
	vec3 DAO = cross( AO, rayDirection );

	vec4 uvt;
	uvt.x = dot( edge2, DAO ) * invdet;
	uvt.y = - dot( edge1, DAO ) * invdet;
	uvt.z = dot( AO, norm ) * invdet;
	uvt.w = 1.0 - uvt.x - uvt.y;

	// set the hit information
	barycoord = uvt.wxy; // arranged in A, B, C order
	dist = uvt.z;
	side = sign( det );
	norm = side * normalize( norm );

	// add an epsilon to avoid misses between triangles
	uvt += vec4( TRI_INTERSECT_EPSILON );

	return all( greaterThanEqual( uvt, vec4( 0.0 ) ) );

}

bool intersectTriangles(
	BVH bvh, vec3 rayOrigin, vec3 rayDirection, uint offset, uint count,
	inout float minDistance,

	// output variables
	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord,
	out float side, out float dist
) {

	bool found = false;
	vec3 localBarycoord, localNormal;
	float localDist, localSide;
	for ( uint i = offset, l = offset + count; i < l; i ++ ) {

		uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz;
		vec3 a = texelFetch1D( bvh.position, indices.x ).rgb;
		vec3 b = texelFetch1D( bvh.position, indices.y ).rgb;
		vec3 c = texelFetch1D( bvh.position, indices.z ).rgb;

		if (
			intersectsTriangle( rayOrigin, rayDirection, a, b, c, localBarycoord, localNormal, localDist, localSide )
			&& localDist < minDistance
		) {

			found = true;
			minDistance = localDist;

			faceIndices = uvec4( indices.xyz, i );
			faceNormal = localNormal;

			side = localSide;
			barycoord = localBarycoord;
			dist = localDist;

		}

	}

	return found;

}

float intersectsBVHNodeBounds( vec3 rayOrigin, vec3 rayDirection, BVH bvh, uint currNodeIndex ) {

	vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz;
	vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz;
	return intersectsBounds( rayOrigin, rayDirection, boundsMin, boundsMax );

}

bool bvhIntersectFirstHit(
	BVH bvh, vec3 rayOrigin, vec3 rayDirection,

	// output variables
	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord,
	out float side, out float dist
) {

	// stack needs to be twice as long as the deepest tree we expect because
	// we push both the left and right child onto the stack every traversal
	int ptr = 0;
	uint stack[ 60 ];
	stack[ 0 ] = 0u;

	float triangleDistance = 1e20;
	bool found = false;
	while ( ptr > - 1 && ptr < 60 ) {

		uint currNodeIndex = stack[ ptr ];
		ptr --;

		// check if we intersect the current bounds
		float boundsHitDistance = intersectsBVHNodeBounds( rayOrigin, rayDirection, bvh, currNodeIndex );
		if ( boundsHitDistance == INFINITY || boundsHitDistance > triangleDistance ) {

			continue;

		}

		uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy;
		bool isLeaf = bool( boundsInfo.x & 0xffff0000u );

		if ( isLeaf ) {

			uint count = boundsInfo.x & 0x0000ffffu;
			uint offset = boundsInfo.y;

			found = intersectTriangles(
				bvh, rayOrigin, rayDirection, offset, count, triangleDistance,
				faceIndices, faceNormal, barycoord, side, dist
			) || found;

		} else {

			uint leftIndex = currNodeIndex + 1u;
			uint splitAxis = boundsInfo.x & 0x0000ffffu;
			uint rightIndex = boundsInfo.y;

			bool leftToRight = rayDirection[ splitAxis ] >= 0.0;
			uint c1 = leftToRight ? leftIndex : rightIndex;
			uint c2 = leftToRight ? rightIndex : leftIndex;

			// set c2 in the stack so we traverse it later. We need to keep track of a pointer in
			// the stack while we traverse. The second pointer added is the one that will be
			// traversed first
			ptr ++;
			stack[ ptr ] = c2;

			ptr ++;
			stack[ ptr ] = c1;

		}

	}

	return found;

}
`;const shaderDistanceFunction=`

float dot2( in vec3 v ) {

	return dot( v, v );

}


// https://www.shadertoy.com/view/ttfGWl
vec3 closestPointToTriangle( vec3 p, vec3 v0, vec3 v1, vec3 v2, out vec3 barycoord ) {

    vec3 v10 = v1 - v0;
    vec3 v21 = v2 - v1;
    vec3 v02 = v0 - v2;

	vec3 p0 = p - v0;
	vec3 p1 = p - v1;
	vec3 p2 = p - v2;

    vec3 nor = cross( v10, v02 );

    // method 2, in barycentric space
    vec3  q = cross( nor, p0 );
    float d = 1.0 / dot2( nor );
    float u = d * dot( q, v02 );
    float v = d * dot( q, v10 );
    float w = 1.0 - u - v;

	if( u < 0.0 ) {

		w = clamp( dot( p2, v02 ) / dot2( v02 ), 0.0, 1.0 );
		u = 0.0;
		v = 1.0 - w;

	} else if( v < 0.0 ) {

		u = clamp( dot( p0, v10 ) / dot2( v10 ), 0.0, 1.0 );
		v = 0.0;
		w = 1.0 - u;

	} else if( w < 0.0 ) {

		v = clamp( dot( p1, v21 ) / dot2( v21 ), 0.0, 1.0 );
		w = 0.0;
		u = 1.0-v;

	}

	barycoord = vec3( u, v, w );
    return u * v1 + v * v2 + w * v0;

}

float distanceToTriangles(
	BVH bvh, vec3 point, uint offset, uint count, float closestDistanceSquared,

	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, out float side, out vec3 outPoint
) {

	bool found = false;
	uvec3 localIndices;
	vec3 localBarycoord;
	vec3 localNormal;
	for ( uint i = offset, l = offset + count; i < l; i ++ ) {

		uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz;
		vec3 a = texelFetch1D( bvh.position, indices.x ).rgb;
		vec3 b = texelFetch1D( bvh.position, indices.y ).rgb;
		vec3 c = texelFetch1D( bvh.position, indices.z ).rgb;

		// get the closest point and barycoord
		vec3 closestPoint = closestPointToTriangle( point, a, b, c, localBarycoord );
		vec3 delta = point - closestPoint;
		float sqDist = dot2( delta );
		if ( sqDist < closestDistanceSquared ) {

			// set the output results
			closestDistanceSquared = sqDist;
			faceIndices = uvec4( indices.xyz, i );
			faceNormal = normalize( cross( a - b, b - c ) );
			barycoord = localBarycoord;
			outPoint = closestPoint;
			side = sign( dot( faceNormal, delta ) );

		}

	}

	return closestDistanceSquared;

}

float distanceSqToBounds( vec3 point, vec3 boundsMin, vec3 boundsMax ) {

	vec3 clampedPoint = clamp( point, boundsMin, boundsMax );
	vec3 delta = point - clampedPoint;
	return dot( delta, delta );

}

float distanceSqToBVHNodeBoundsPoint( vec3 point, BVH bvh, uint currNodeIndex ) {

	vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz;
	vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz;
	return distanceSqToBounds( point, boundsMin, boundsMax );

}

float bvhClosestPointToPoint(
	BVH bvh, vec3 point,

	// output variables
	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord,
	out float side, out vec3 outPoint
 ) {

	// stack needs to be twice as long as the deepest tree we expect because
	// we push both the left and right child onto the stack every traversal
	int ptr = 0;
	uint stack[ 60 ];
	stack[ 0 ] = 0u;
	float closestDistanceSquared = pow( 100000.0, 2.0 );
	bool found = false;
	while ( ptr > - 1 && ptr < 60 ) {

		uint currNodeIndex = stack[ ptr ];
		ptr --;

		// check if we intersect the current bounds
		float boundsHitDistance = distanceSqToBVHNodeBoundsPoint( point, bvh, currNodeIndex );
		if ( boundsHitDistance > closestDistanceSquared ) {

			continue;

		}

		uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy;
		bool isLeaf = bool( boundsInfo.x & 0xffff0000u );
		if ( isLeaf ) {

			uint count = boundsInfo.x & 0x0000ffffu;
			uint offset = boundsInfo.y;
			closestDistanceSquared = distanceToTriangles(
				bvh, point, offset, count, closestDistanceSquared,

				// outputs
				faceIndices, faceNormal, barycoord, side, outPoint
			);

		} else {

			uint leftIndex = currNodeIndex + 1u;
			uint splitAxis = boundsInfo.x & 0x0000ffffu;
			uint rightIndex = boundsInfo.y;
			bool leftToRight = distanceSqToBVHNodeBoundsPoint( point, bvh, leftIndex ) < distanceSqToBVHNodeBoundsPoint( point, bvh, rightIndex );//rayDirection[ splitAxis ] >= 0.0;
			uint c1 = leftToRight ? leftIndex : rightIndex;
			uint c2 = leftToRight ? rightIndex : leftIndex;

			// set c2 in the stack so we traverse it later. We need to keep track of a pointer in
			// the stack while we traverse. The second pointer added is the one that will be
			// traversed first
			ptr ++;
			stack[ ptr ] = c2;
			ptr ++;
			stack[ ptr ] = c1;

		}

	}

	return sqrt( closestDistanceSquared );

}
`;const _positionVector=new three.Vector3;const _normalVector=new three.Vector3;const _tangentVector=new three.Vector3;const _tangentVector4=new three.Vector4;const _morphVector=new three.Vector3;const _temp=new three.Vector3;const _skinIndex=new three.Vector4;const _skinWeight=new three.Vector4;const _matrix=new three.Matrix4;const _boneMatrix=new three.Matrix4;function validateAttributes(attr1,attr2){if(!attr1&&!attr2){return}const sameCount=attr1.count===attr2.count;const sameNormalized=attr1.normalized===attr2.normalized;const sameType=attr1.array.constructor===attr2.array.constructor;const sameItemSize=attr1.itemSize===attr2.itemSize;if(!sameCount||!sameNormalized||!sameType||!sameItemSize){throw new Error}}function createAttributeClone(attr,countOverride=null){const cons=attr.array.constructor;const normalized=attr.normalized;const itemSize=attr.itemSize;const count=countOverride===null?attr.count:countOverride;return new three.BufferAttribute(new cons(itemSize*count),itemSize,normalized)}function copyAttributeContents(attr,target,targetOffset=0){if(attr.isInterleavedBufferAttribute){const itemSize=attr.itemSize;for(let i=0,l=attr.count;i<l;i++){const io=i+targetOffset;target.setX(io,attr.getX(i));if(itemSize>=2)target.setY(io,attr.getY(i));if(itemSize>=3)target.setZ(io,attr.getZ(i));if(itemSize>=4)target.setW(io,attr.getW(i))}}else{const array=target.array;const cons=array.constructor;const byteOffset=array.BYTES_PER_ELEMENT*attr.itemSize*targetOffset;const temp=new cons(array.buffer,byteOffset,attr.array.length);temp.set(attr.array)}}function addScaledMatrix(target,matrix,scale){const targetArray=target.elements;const matrixArray=matrix.elements;for(let i=0,l=matrixArray.length;i<l;i++){targetArray[i]+=matrixArray[i]*scale}}function boneNormalTransform(mesh,index,target){const skeleton=mesh.skeleton;const geometry=mesh.geometry;const bones=skeleton.bones;const boneInverses=skeleton.boneInverses;_skinIndex.fromBufferAttribute(geometry.attributes.skinIndex,index);_skinWeight.fromBufferAttribute(geometry.attributes.skinWeight,index);_matrix.elements.fill(0);for(let i=0;i<4;i++){const weight=_skinWeight.getComponent(i);if(weight!==0){const boneIndex=_skinIndex.getComponent(i);_boneMatrix.multiplyMatrices(bones[boneIndex].matrixWorld,boneInverses[boneIndex]);addScaledMatrix(_matrix,_boneMatrix,weight)}}_matrix.multiply(mesh.bindMatrix).premultiply(mesh.bindMatrixInverse);target.transformDirection(_matrix);return target}function applyMorphTarget(morphData,morphInfluences,morphTargetsRelative,i,target){_morphVector.set(0,0,0);for(let j=0,jl=morphData.length;j<jl;j++){const influence=morphInfluences[j];const morphAttribute=morphData[j];if(influence===0)continue;_temp.fromBufferAttribute(morphAttribute,i);if(morphTargetsRelative){_morphVector.addScaledVector(_temp,influence)}else{_morphVector.addScaledVector(_temp.sub(target),influence)}}target.add(_morphVector)}function mergeBufferGeometries(geometries,options={useGroups:false,updateIndex:false,skipAttributes:[]},targetGeometry=new three.BufferGeometry){const isIndexed=geometries[0].index!==null;const{useGroups=false,updateIndex=false,skipAttributes=[]}=options;const attributesUsed=new Set(Object.keys(geometries[0].attributes));const attributes={};let offset=0;targetGeometry.clearGroups();for(let i=0;i<geometries.length;++i){const geometry=geometries[i];let attributesCount=0;if(isIndexed!==(geometry.index!==null)){throw new Error("StaticGeometryGenerator: All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them.")}for(const name in geometry.attributes){if(!attributesUsed.has(name)){throw new Error("StaticGeometryGenerator: All geometries must have compatible attributes; make sure \""+name+"\" attribute exists among all geometries, or in none of them.")}if(attributes[name]===undefined){attributes[name]=[]}attributes[name].push(geometry.attributes[name]);attributesCount++}if(attributesCount!==attributesUsed.size){throw new Error("StaticGeometryGenerator: Make sure all geometries have the same number of attributes.")}if(useGroups){let count;if(isIndexed){count=geometry.index.count}else if(geometry.attributes.position!==undefined){count=geometry.attributes.position.count}else{throw new Error("StaticGeometryGenerator: The geometry must have either an index or a position attribute")}targetGeometry.addGroup(offset,count,i);offset+=count}}if(isIndexed){let forceUpdateIndex=false;if(!targetGeometry.index){let indexCount=0;for(let i=0;i<geometries.length;++i){indexCount+=geometries[i].index.count}targetGeometry.setIndex(new three.BufferAttribute(new Uint32Array(indexCount),1,false));forceUpdateIndex=true}if(updateIndex||forceUpdateIndex){const targetIndex=targetGeometry.index;let targetOffset=0;let indexOffset=0;for(let i=0;i<geometries.length;++i){const geometry=geometries[i];const index=geometry.index;if(skipAttributes[i]!==true){for(let j=0;j<index.count;++j){targetIndex.setX(targetOffset,index.getX(j)+indexOffset);targetOffset++}}indexOffset+=geometry.attributes.position.count}}}for(const name in attributes){const attrList=attributes[name];if(!(name in targetGeometry.attributes)){let count=0;for(const key in attrList){count+=attrList[key].count}targetGeometry.setAttribute(name,createAttributeClone(attributes[name][0],count))}const targetAttribute=targetGeometry.attributes[name];let offset=0;for(let i=0,l=attrList.length;i<l;i++){const attr=attrList[i];if(skipAttributes[i]!==true){copyAttributeContents(attr,targetAttribute,offset)}offset+=attr.count}}return targetGeometry}function checkTypedArrayEquality(a,b){if(a===null||b===null){return a===b}if(a.length!==b.length){return false}for(let i=0,l=a.length;i<l;i++){if(a[i]!==b[i]){return false}}return true}class GeometryDiff{constructor(mesh){this.matrixWorld=new three.Matrix4;this.geometryHash=null;this.boneMatrices=null;this.primitiveCount=-1;this.mesh=mesh;this.update()}update(){const mesh=this.mesh;const geometry=mesh.geometry;const skeleton=mesh.skeleton;const primitiveCount=(geometry.index?geometry.index.count:geometry.attributes.position.count)/3;this.matrixWorld.copy(mesh.matrixWorld);this.geometryHash=geometry.attributes.position.version;this.primitiveCount=primitiveCount;if(skeleton){if(!skeleton.boneTexture){skeleton.computeBoneTexture()}skeleton.update();const boneMatrices=skeleton.boneMatrices;if(!this.boneMatrices||this.boneMatrices.length!==boneMatrices.length){this.boneMatrices=boneMatrices.slice()}else{this.boneMatrices.set(boneMatrices)}}else{this.boneMatrices=null}}didChange(){const mesh=this.mesh;const geometry=mesh.geometry;const primitiveCount=(geometry.index?geometry.index.count:geometry.attributes.position.count)/3;const identical=this.matrixWorld.equals(mesh.matrixWorld)&&this.geometryHash===geometry.attributes.position.version&&checkTypedArrayEquality(mesh.skeleton&&mesh.skeleton.boneMatrices||null,this.boneMatrices)&&this.primitiveCount===primitiveCount;return!identical}}class StaticGeometryGenerator{constructor(meshes){if(!Array.isArray(meshes)){meshes=[meshes]}const finalMeshes=[];meshes.forEach(object=>{object.traverseVisible(c=>{if(c.isMesh){finalMeshes.push(c)}})});this.meshes=finalMeshes;this.useGroups=true;this.applyWorldTransforms=true;this.attributes=["position","normal","color","tangent","uv","uv2"];this._intermediateGeometry=new Array(finalMeshes.length).fill().map(()=>new three.BufferGeometry);this._diffMap=new WeakMap}getMaterials(){const materials=[];this.meshes.forEach(mesh=>{if(Array.isArray(mesh.material)){materials.push(...mesh.material)}else{materials.push(mesh.material)}});return materials}generate(targetGeometry=new three.BufferGeometry){let skipAttributes=[];const{meshes,useGroups,_intermediateGeometry,_diffMap}=this;for(let i=0,l=meshes.length;i<l;i++){const mesh=meshes[i];const geom=_intermediateGeometry[i];const diff=_diffMap.get(mesh);if(!diff||diff.didChange(mesh)){this._convertToStaticGeometry(mesh,geom);skipAttributes.push(false);if(!diff){_diffMap.set(mesh,new GeometryDiff(mesh))}else{diff.update()}}else{skipAttributes.push(true)}}mergeBufferGeometries(_intermediateGeometry,{useGroups,skipAttributes},targetGeometry);for(const key in targetGeometry.attributes){targetGeometry.attributes[key].needsUpdate=true}return targetGeometry}_convertToStaticGeometry(mesh,targetGeometry=new three.BufferGeometry){const geometry=mesh.geometry;const applyWorldTransforms=this.applyWorldTransforms;const includeNormal=this.attributes.includes("normal");const includeTangent=this.attributes.includes("tangent");const attributes=geometry.attributes;const targetAttributes=targetGeometry.attributes;if(!targetGeometry.index){targetGeometry.index=geometry.index}if(!targetAttributes.position){targetGeometry.setAttribute("position",createAttributeClone(attributes.position))}if(includeNormal&&!targetAttributes.normal&&attributes.normal){targetGeometry.setAttribute("normal",createAttributeClone(attributes.normal))}if(includeTangent&&!targetAttributes.tangent&&attributes.tangent){targetGeometry.setAttribute("tangent",createAttributeClone(attributes.tangent))}validateAttributes(geometry.index,targetGeometry.index);validateAttributes(attributes.position,targetAttributes.position);if(includeNormal){validateAttributes(attributes.normal,targetAttributes.normal)}if(includeTangent){validateAttributes(attributes.tangent,targetAttributes.tangent)}const position=attributes.position;const normal=includeNormal?attributes.normal:null;const tangent=includeTangent?attributes.tangent:null;const morphPosition=geometry.morphAttributes.position;const morphNormal=geometry.morphAttributes.normal;const morphTangent=geometry.morphAttributes.tangent;const morphTargetsRelative=geometry.morphTargetsRelative;const morphInfluences=mesh.morphTargetInfluences;const normalMatrix=new three.Matrix3;normalMatrix.getNormalMatrix(mesh.matrixWorld);for(let i=0,l=attributes.position.count;i<l;i++){_positionVector.fromBufferAttribute(position,i);if(normal){_normalVector.fromBufferAttribute(normal,i)}if(tangent){_tangentVector4.fromBufferAttribute(tangent,i);_tangentVector.fromBufferAttribute(tangent,i)}if(morphInfluences){if(morphPosition){applyMorphTarget(morphPosition,morphInfluences,morphTargetsRelative,i,_positionVector)}if(morphNormal){applyMorphTarget(morphNormal,morphInfluences,morphTargetsRelative,i,_normalVector)}if(morphTangent){applyMorphTarget(morphTangent,morphInfluences,morphTargetsRelative,i,_tangentVector)}}if(mesh.isSkinnedMesh){mesh.applyBoneTransform(i,_positionVector);if(normal){boneNormalTransform(mesh,i,_normalVector)}if(tangent){boneNormalTransform(mesh,i,_tangentVector)}}if(applyWorldTransforms){_positionVector.applyMatrix4(mesh.matrixWorld)}targetAttributes.position.setXYZ(i,_positionVector.x,_positionVector.y,_positionVector.z);if(normal){if(applyWorldTransforms){_normalVector.applyNormalMatrix(normalMatrix)}targetAttributes.normal.setXYZ(i,_normalVector.x,_normalVector.y,_normalVector.z)}if(tangent){if(applyWorldTransforms){_tangentVector.transformDirection(mesh.matrixWorld)}targetAttributes.tangent.setXYZW(i,_tangentVector.x,_tangentVector.y,_tangentVector.z,_tangentVector4.w)}}for(const i in this.attributes){const key=this.attributes[i];if(key==="position"||key==="tangent"||key==="normal"||!(key in attributes)){continue}if(!targetAttributes[key]){targetGeometry.setAttribute(key,createAttributeClone(attributes[key]))}validateAttributes(attributes[key],targetAttributes[key]);copyAttributeContents(attributes[key],targetAttributes[key])}return targetGeometry}}exports.AVERAGE=AVERAGE;exports.CENTER=CENTER;exports.CONTAINED=CONTAINED;exports.ExtendedTriangle=ExtendedTriangle;exports.FloatVertexAttributeTexture=FloatVertexAttributeTexture;exports.INTERSECTED=INTERSECTED;exports.IntVertexAttributeTexture=IntVertexAttributeTexture;exports.MeshBVH=MeshBVH;exports.MeshBVHUniformStruct=MeshBVHUniformStruct;exports.MeshBVHVisualizer=MeshBVHVisualizer;exports.NOT_INTERSECTED=NOT_INTERSECTED;exports.OrientedBox=OrientedBox;exports.SAH=SAH;exports.StaticGeometryGenerator=StaticGeometryGenerator;exports.UIntVertexAttributeTexture=UIntVertexAttributeTexture;exports.VertexAttributeTexture=VertexAttributeTexture;exports.acceleratedRaycast=acceleratedRaycast;exports.computeBoundsTree=computeBoundsTree;exports.disposeBoundsTree=disposeBoundsTree;exports.estimateMemoryInBytes=estimateMemoryInBytes;exports.getBVHExtremes=getBVHExtremes;exports.getJSONStructure=getJSONStructure;exports.getTriangleHitPointInfo=getTriangleHitPointInfo;exports.shaderDistanceFunction=shaderDistanceFunction;exports.shaderIntersectFunction=shaderIntersectFunction;exports.shaderStructs=shaderStructs;exports.validateBounds=validateBounds;Object.defineProperty(exports,"__esModule",{value:true});three.BufferGeometry.prototype.computeBoundsTree=computeBoundsTree;three.BufferGeometry.prototype.disposeBoundsTree=disposeBoundsTree;three.Mesh.prototype.raycast=acceleratedRaycast});THREE.MeshoptDecoder=function(){"use strict";var wasm_base="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";var wasm_simd="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";var detector=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);var wasmpack=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=="object"){return{supported:false}}var wasm=WebAssembly.validate(detector)?wasm_simd:wasm_base;var instance;var ready=WebAssembly.instantiate(unpack(wasm),{}).then(function(result){instance=result.instance;instance.exports.__wasm_call_ctors()});function unpack(data){var result=new Uint8Array(data.length);for(var i=0;i<data.length;++i){var ch=data.charCodeAt(i);result[i]=ch>96?ch-97:ch>64?ch-39:ch+4}var write=0;for(var i=0;i<data.length;++i){result[write++]=result[i]<60?wasmpack[result[i]]:(result[i]-60)*64+result[++i]}return result.buffer.slice(0,write)}function decode(fun,target,count,size,source,filter){var sbrk=instance.exports.sbrk;var count4=count+3&~3;var tp=sbrk(count4*size);var sp=sbrk(source.length);var heap=new Uint8Array(instance.exports.memory.buffer);heap.set(source,sp);var res=fun(tp,count,size,sp,source.length);if(res==0&&filter){filter(tp,count4,size)}target.set(heap.subarray(tp,tp+count*size));sbrk(tp-sbrk(0));if(res!=0){throw new Error("Malformed buffer data: "+res)}}var filters={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"};var decoders={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};var workers=[];var requestId=0;function createWorker(url){var worker={object:new Worker(url),pending:0,requests:{}};worker.object.onmessage=function(event){var data=event.data;worker.pending-=data.count;worker.requests[data.id][data.action](data.value);delete worker.requests[data.id]};return worker}function initWorkers(count){var source="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(unpack(wasm))+"]), {})"+".then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });"+"self.onmessage = workerProcess;"+decode.toString()+workerProcess.toString();var blob=new Blob([source],{type:"text/javascript"});var url=URL.createObjectURL(blob);for(var i=0;i<count;++i){workers[i]=createWorker(url)}URL.revokeObjectURL(url)}function decodeWorker(count,size,source,mode,filter){var worker=workers[0];for(var i=1;i<workers.length;++i){if(workers[i].pending<worker.pending){worker=workers[i]}}return new Promise(function(resolve,reject){var data=new Uint8Array(source);var id=requestId++;worker.pending+=count;worker.requests[id]={resolve:resolve,reject:reject};worker.object.postMessage({id:id,count:count,size:size,source:data,mode:mode,filter:filter},[data.buffer])})}function workerProcess(event){ready.then(function(){var data=event.data;try{var target=new Uint8Array(data.count*data.size);decode(instance.exports[data.mode],target,data.count,data.size,data.source,instance.exports[data.filter]);self.postMessage({id:data.id,count:data.count,action:"resolve",value:target},[target.buffer])}catch(error){self.postMessage({id:data.id,count:data.count,action:"reject",value:error})}})}return{ready:ready,supported:true,useWorkers:function(count){initWorkers(count)},decodeVertexBuffer:function(target,count,size,source,filter){decode(instance.exports.meshopt_decodeVertexBuffer,target,count,size,source,instance.exports[filters[filter]])},decodeIndexBuffer:function(target,count,size,source){decode(instance.exports.meshopt_decodeIndexBuffer,target,count,size,source)},decodeIndexSequence:function(target,count,size,source){decode(instance.exports.meshopt_decodeIndexSequence,target,count,size,source)},decodeGltfBuffer:function(target,count,size,source,mode,filter){decode(instance.exports[decoders[mode]],target,count,size,source,instance.exports[filters[filter]])},decodeGltfBufferAsync:function(count,size,source,mode,filter){if(workers.length>0){return decodeWorker(count,size,source,decoders[mode],filters[filter])}return ready.then(function(){var target=new Uint8Array(count*size);decode(instance.exports[decoders[mode]],target,count,size,source,instance.exports[filters[filter]]);return target})}}}();(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Color=THREE.Color,Vector3=THREE.Vector3;class Face3{constructor(a,b,c,normal,color,materialIndex=0){this.a=a;this.b=b;this.c=c;this.normal=normal&&normal.isVector3?normal:new Vector3;this.vertexNormals=Array.isArray(normal)?normal:[];this.color=color&&color.isColor?color:new Color;this.vertexColors=Array.isArray(color)?color:[];this.materialIndex=materialIndex}clone(){return new this.constructor().copy(this)}copy(source){this.a=source.a;this.b=source.b;this.c=source.c;this.normal.copy(source.normal);this.color.copy(source.color);this.materialIndex=source.materialIndex;for(let i=0,il=source.vertexNormals.length;i<il;i++){this.vertexNormals[i]=source.vertexNormals[i].clone()}for(let i=0,il=source.vertexColors.length;i<il;i++){this.vertexColors[i]=source.vertexColors[i].clone()}return this}}THREE.Face3=Face3});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Color=THREE.Color,EventDispatcher=THREE.EventDispatcher,Float32BufferAttribute=THREE.Float32BufferAttribute,Matrix3=THREE.Matrix3,Matrix4=THREE.Matrix4,MathUtils=THREE.MathUtils,Object3D=THREE.Object3D,Sphere=THREE.Sphere,Vector2=THREE.Vector2,Vector3=THREE.Vector3;const _m1=new Matrix4;const _obj=new Object3D;const _offset=new Vector3;class Geometry extends EventDispatcher{constructor(){super();this.uuid=MathUtils.generateUUID();this.name="";this.type="Geometry";this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingBox=null;this.boundingSphere=null;this.elementsNeedUpdate=false;this.verticesNeedUpdate=false;this.uvsNeedUpdate=false;this.normalsNeedUpdate=false;this.colorsNeedUpdate=false;this.lineDistancesNeedUpdate=false;this.groupsNeedUpdate=false}applyMatrix4(matrix){const normalMatrix=new Matrix3().getNormalMatrix(matrix);for(let i=0,il=this.vertices.length;i<il;i++){const vertex=this.vertices[i];vertex.applyMatrix4(matrix)}for(let i=0,il=this.faces.length;i<il;i++){const face=this.faces[i];face.normal.applyMatrix3(normalMatrix).normalize();for(let j=0,jl=face.vertexNormals.length;j<jl;j++){face.vertexNormals[j].applyMatrix3(normalMatrix).normalize()}}if(this.boundingBox!==null){this.computeBoundingBox()}if(this.boundingSphere!==null){this.computeBoundingSphere()}this.verticesNeedUpdate=true;this.normalsNeedUpdate=true;return this}rotateX(angle){_m1.makeRotationX(angle);this.applyMatrix4(_m1);return this}rotateY(angle){_m1.makeRotationY(angle);this.applyMatrix4(_m1);return this}rotateZ(angle){_m1.makeRotationZ(angle);this.applyMatrix4(_m1);return this}translate(x,y,z){_m1.makeTranslation(x,y,z);this.applyMatrix4(_m1);return this}scale(x,y,z){_m1.makeScale(x,y,z);this.applyMatrix4(_m1);return this}lookAt(vector){_obj.lookAt(vector);_obj.updateMatrix();this.applyMatrix4(_obj.matrix);return this}fromBufferGeometry(geometry){const scope=this;const index=geometry.index!==null?geometry.index:undefined;const attributes=geometry.attributes;if(attributes.position===undefined){console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion.");return this}const position=attributes.position;const normal=attributes.normal;const color=attributes.color;const uv=attributes.uv;const uv2=attributes.uv2;if(uv2!==undefined)this.faceVertexUvs[1]=[];for(let i=0;i<position.count;i++){scope.vertices.push(new Vector3().fromBufferAttribute(position,i));if(color!==undefined){scope.colors.push(new Color().fromBufferAttribute(color,i))}}function addFace(a,b,c,materialIndex){const vertexColors=color===undefined?[]:[scope.colors[a].clone(),scope.colors[b].clone(),scope.colors[c].clone()];const vertexNormals=normal===undefined?[]:[new Vector3().fromBufferAttribute(normal,a),new Vector3().fromBufferAttribute(normal,b),new Vector3().fromBufferAttribute(normal,c)];const face=new Face3(a,b,c,vertexNormals,vertexColors,materialIndex);scope.faces.push(face);if(uv!==undefined){scope.faceVertexUvs[0].push([new Vector2().fromBufferAttribute(uv,a),new Vector2().fromBufferAttribute(uv,b),new Vector2().fromBufferAttribute(uv,c)])}if(uv2!==undefined){scope.faceVertexUvs[1].push([new Vector2().fromBufferAttribute(uv2,a),new Vector2().fromBufferAttribute(uv2,b),new Vector2().fromBufferAttribute(uv2,c)])}}const groups=geometry.groups;if(groups.length>0){for(let i=0;i<groups.length;i++){const group=groups[i];const start=group.start;const count=group.count;for(let j=start,jl=start+count;j<jl;j+=3){if(index!==undefined){addFace(index.getX(j),index.getX(j+1),index.getX(j+2),group.materialIndex)}else{addFace(j,j+1,j+2,group.materialIndex)}}}}else{if(index!==undefined){for(let i=0;i<index.count;i+=3){addFace(index.getX(i),index.getX(i+1),index.getX(i+2))}}else{for(let i=0;i<position.count;i+=3){addFace(i,i+1,i+2)}}}this.computeFaceNormals();if(geometry.boundingBox!==null){this.boundingBox=geometry.boundingBox.clone()}if(geometry.boundingSphere!==null){this.boundingSphere=geometry.boundingSphere.clone()}return this}center(){this.computeBoundingBox();this.boundingBox.getCenter(_offset).negate();this.translate(_offset.x,_offset.y,_offset.z);return this}normalize(){this.computeBoundingSphere();const center=this.boundingSphere.center;const radius=this.boundingSphere.radius;const s=radius===0?1:1/radius;const matrix=new Matrix4;matrix.set(s,0,0,-s*center.x,0,s,0,-s*center.y,0,0,s,-s*center.z,0,0,0,1);this.applyMatrix4(matrix);return this}computeFaceNormals(){const cb=new Vector3,ab=new Vector3;for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vA=this.vertices[face.a];const vB=this.vertices[face.b];const vC=this.vertices[face.c];cb.subVectors(vC,vB);ab.subVectors(vA,vB);cb.cross(ab);cb.normalize();face.normal.copy(cb)}}computeVertexNormals(areaWeighted=true){const vertices=new Array(this.vertices.length);for(let v=0,vl=this.vertices.length;v<vl;v++){vertices[v]=new Vector3}if(areaWeighted){const cb=new Vector3,ab=new Vector3;for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vA=this.vertices[face.a];const vB=this.vertices[face.b];const vC=this.vertices[face.c];cb.subVectors(vC,vB);ab.subVectors(vA,vB);cb.cross(ab);vertices[face.a].add(cb);vertices[face.b].add(cb);vertices[face.c].add(cb)}}else{this.computeFaceNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];vertices[face.a].add(face.normal);vertices[face.b].add(face.normal);vertices[face.c].add(face.normal)}}for(let v=0,vl=this.vertices.length;v<vl;v++){vertices[v].normalize()}for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){vertexNormals[0].copy(vertices[face.a]);vertexNormals[1].copy(vertices[face.b]);vertexNormals[2].copy(vertices[face.c])}else{vertexNormals[0]=vertices[face.a].clone();vertexNormals[1]=vertices[face.b].clone();vertexNormals[2]=vertices[face.c].clone()}}if(this.faces.length>0){this.normalsNeedUpdate=true}}computeFlatVertexNormals(){this.computeFaceNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){vertexNormals[0].copy(face.normal);vertexNormals[1].copy(face.normal);vertexNormals[2].copy(face.normal)}else{vertexNormals[0]=face.normal.clone();vertexNormals[1]=face.normal.clone();vertexNormals[2]=face.normal.clone()}}if(this.faces.length>0){this.normalsNeedUpdate=true}}computeMorphNormals(){for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];if(!face.__originalFaceNormal){face.__originalFaceNormal=face.normal.clone()}else{face.__originalFaceNormal.copy(face.normal)}if(!face.__originalVertexNormals)face.__originalVertexNormals=[];for(let i=0,il=face.vertexNormals.length;i<il;i++){if(!face.__originalVertexNormals[i]){face.__originalVertexNormals[i]=face.vertexNormals[i].clone()}else{face.__originalVertexNormals[i].copy(face.vertexNormals[i])}}}const tmpGeo=new Geometry;tmpGeo.faces=this.faces;for(let i=0,il=this.morphTargets.length;i<il;i++){if(!this.morphNormals[i]){this.morphNormals[i]={};this.morphNormals[i].faceNormals=[];this.morphNormals[i].vertexNormals=[];const dstNormalsFace=this.morphNormals[i].faceNormals;const dstNormalsVertex=this.morphNormals[i].vertexNormals;for(let f=0,fl=this.faces.length;f<fl;f++){const faceNormal=new Vector3;const vertexNormals={a:new Vector3,b:new Vector3,c:new Vector3};dstNormalsFace.push(faceNormal);dstNormalsVertex.push(vertexNormals)}}const morphNormals=this.morphNormals[i];tmpGeo.vertices=this.morphTargets[i].vertices;tmpGeo.computeFaceNormals();tmpGeo.computeVertexNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const faceNormal=morphNormals.faceNormals[f];const vertexNormals=morphNormals.vertexNormals[f];faceNormal.copy(face.normal);vertexNormals.a.copy(face.vertexNormals[0]);vertexNormals.b.copy(face.vertexNormals[1]);vertexNormals.c.copy(face.vertexNormals[2])}}for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];face.normal=face.__originalFaceNormal;face.vertexNormals=face.__originalVertexNormals}}computeBoundingBox(){if(this.boundingBox===null){this.boundingBox=new Box3}this.boundingBox.setFromPoints(this.vertices)}computeBoundingSphere(){if(this.boundingSphere===null){this.boundingSphere=new Sphere}this.boundingSphere.setFromPoints(this.vertices)}merge(geometry,matrix,materialIndexOffset=0){if(!(geometry&&geometry.isGeometry)){console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",geometry);return}let normalMatrix;const vertexOffset=this.vertices.length,vertices1=this.vertices,vertices2=geometry.vertices,faces1=this.faces,faces2=geometry.faces,colors1=this.colors,colors2=geometry.colors;if(matrix!==undefined){normalMatrix=new Matrix3().getNormalMatrix(matrix)}for(let i=0,il=vertices2.length;i<il;i++){const vertex=vertices2[i];const vertexCopy=vertex.clone();if(matrix!==undefined)vertexCopy.applyMatrix4(matrix);vertices1.push(vertexCopy)}for(let i=0,il=colors2.length;i<il;i++){colors1.push(colors2[i].clone())}for(let i=0,il=faces2.length;i<il;i++){const face=faces2[i];let normal,color;const faceVertexNormals=face.vertexNormals,faceVertexColors=face.vertexColors;const faceCopy=new Face3(face.a+vertexOffset,face.b+vertexOffset,face.c+vertexOffset);faceCopy.normal.copy(face.normal);if(normalMatrix!==undefined){faceCopy.normal.applyMatrix3(normalMatrix).normalize()}for(let j=0,jl=faceVertexNormals.length;j<jl;j++){normal=faceVertexNormals[j].clone();if(normalMatrix!==undefined){normal.applyMatrix3(normalMatrix).normalize()}faceCopy.vertexNormals.push(normal)}faceCopy.color.copy(face.color);for(let j=0,jl=faceVertexColors.length;j<jl;j++){color=faceVertexColors[j];faceCopy.vertexColors.push(color.clone())}faceCopy.materialIndex=face.materialIndex+materialIndexOffset;faces1.push(faceCopy)}for(let i=0,il=geometry.faceVertexUvs.length;i<il;i++){const faceVertexUvs2=geometry.faceVertexUvs[i];if(this.faceVertexUvs[i]===undefined)this.faceVertexUvs[i]=[];for(let j=0,jl=faceVertexUvs2.length;j<jl;j++){const uvs2=faceVertexUvs2[j],uvsCopy=[];for(let k=0,kl=uvs2.length;k<kl;k++){uvsCopy.push(uvs2[k].clone())}this.faceVertexUvs[i].push(uvsCopy)}}}mergeMesh(mesh){if(!(mesh&&mesh.isMesh)){console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",mesh);return}if(mesh.matrixAutoUpdate)mesh.updateMatrix();this.merge(mesh.geometry,mesh.matrix)}mergeVertices(precisionPoints=4){const verticesMap={};const unique=[],changes=[];const precision=Math.pow(10,precisionPoints);for(let i=0,il=this.vertices.length;i<il;i++){const v=this.vertices[i];const key=Math.round(v.x*precision)+"_"+Math.round(v.y*precision)+"_"+Math.round(v.z*precision);if(verticesMap[key]===undefined){verticesMap[key]=i;unique.push(this.vertices[i]);changes[i]=unique.length-1}else{changes[i]=changes[verticesMap[key]]}}const faceIndicesToRemove=[];for(let i=0,il=this.faces.length;i<il;i++){const face=this.faces[i];face.a=changes[face.a];face.b=changes[face.b];face.c=changes[face.c];const indices=[face.a,face.b,face.c];for(let n=0;n<3;n++){if(indices[n]===indices[(n+1)%3]){faceIndicesToRemove.push(i);break}}}for(let i=faceIndicesToRemove.length-1;i>=0;i--){const idx=faceIndicesToRemove[i];this.faces.splice(idx,1);for(let j=0,jl=this.faceVertexUvs.length;j<jl;j++){this.faceVertexUvs[j].splice(idx,1)}}const diff=this.vertices.length-unique.length;this.vertices=unique;return diff}setFromPoints(points){this.vertices=[];for(let i=0,l=points.length;i<l;i++){const point=points[i];this.vertices.push(new Vector3(point.x,point.y,point.z||0))}return this}sortFacesByMaterialIndex(){const faces=this.faces;const length=faces.length;for(let i=0;i<length;i++){faces[i]._id=i}function materialIndexSort(a,b){return a.materialIndex-b.materialIndex}faces.sort(materialIndexSort);const uvs1=this.faceVertexUvs[0];const uvs2=this.faceVertexUvs[1];let newUvs1,newUvs2;if(uvs1&&uvs1.length===length)newUvs1=[];if(uvs2&&uvs2.length===length)newUvs2=[];for(let i=0;i<length;i++){const id=faces[i]._id;if(newUvs1)newUvs1.push(uvs1[id]);if(newUvs2)newUvs2.push(uvs2[id])}if(newUvs1)this.faceVertexUvs[0]=newUvs1;if(newUvs2)this.faceVertexUvs[1]=newUvs2}toJSON(){const data={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};data.uuid=this.uuid;data.type=this.type;if(this.name!=="")data.name=this.name;if(this.parameters!==undefined){const parameters=this.parameters;for(const key in parameters){if(parameters[key]!==undefined)data[key]=parameters[key]}return data}const vertices=[];for(let i=0;i<this.vertices.length;i++){const vertex=this.vertices[i];vertices.push(vertex.x,vertex.y,vertex.z)}const faces=[];const normals=[];const normalsHash={};const colors=[];const colorsHash={};const uvs=[];const uvsHash={};for(let i=0;i<this.faces.length;i++){const face=this.faces[i];const hasMaterial=true;const hasFaceUv=false;const hasFaceVertexUv=this.faceVertexUvs[0][i]!==undefined;const hasFaceNormal=face.normal.length()>0;const hasFaceVertexNormal=face.vertexNormals.length>0;const hasFaceColor=face.color.r!==1||face.color.g!==1||face.color.b!==1;const hasFaceVertexColor=face.vertexColors.length>0;let faceType=0;faceType=setBit(faceType,0,0);faceType=setBit(faceType,1,hasMaterial);faceType=setBit(faceType,2,hasFaceUv);faceType=setBit(faceType,3,hasFaceVertexUv);faceType=setBit(faceType,4,hasFaceNormal);faceType=setBit(faceType,5,hasFaceVertexNormal);faceType=setBit(faceType,6,hasFaceColor);faceType=setBit(faceType,7,hasFaceVertexColor);faces.push(faceType);faces.push(face.a,face.b,face.c);faces.push(face.materialIndex);if(hasFaceVertexUv){const faceVertexUvs=this.faceVertexUvs[0][i];faces.push(getUvIndex(faceVertexUvs[0]),getUvIndex(faceVertexUvs[1]),getUvIndex(faceVertexUvs[2]))}if(hasFaceNormal){faces.push(getNormalIndex(face.normal))}if(hasFaceVertexNormal){const vertexNormals=face.vertexNormals;faces.push(getNormalIndex(vertexNormals[0]),getNormalIndex(vertexNormals[1]),getNormalIndex(vertexNormals[2]))}if(hasFaceColor){faces.push(getColorIndex(face.color))}if(hasFaceVertexColor){const vertexColors=face.vertexColors;faces.push(getColorIndex(vertexColors[0]),getColorIndex(vertexColors[1]),getColorIndex(vertexColors[2]))}}function setBit(value,position,enabled){return enabled?value|1<<position:value&~(1<<position)}function getNormalIndex(normal){const hash=normal.x.toString()+normal.y.toString()+normal.z.toString();if(normalsHash[hash]!==undefined){return normalsHash[hash]}normalsHash[hash]=normals.length/3;normals.push(normal.x,normal.y,normal.z);return normalsHash[hash]}function getColorIndex(color){const hash=color.r.toString()+color.g.toString()+color.b.toString();if(colorsHash[hash]!==undefined){return colorsHash[hash]}colorsHash[hash]=colors.length;colors.push(color.getHex());return colorsHash[hash]}function getUvIndex(uv){const hash=uv.x.toString()+uv.y.toString();if(uvsHash[hash]!==undefined){return uvsHash[hash]}uvsHash[hash]=uvs.length/2;uvs.push(uv.x,uv.y);return uvsHash[hash]}data.data={};data.data.vertices=vertices;data.data.normals=normals;if(colors.length>0)data.data.colors=colors;if(uvs.length>0)data.data.uvs=[uvs];data.data.faces=faces;return data}clone(){return new Geometry().copy(this)}copy(source){this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingBox=null;this.boundingSphere=null;this.name=source.name;const vertices=source.vertices;for(let i=0,il=vertices.length;i<il;i++){this.vertices.push(vertices[i].clone())}const colors=source.colors;for(let i=0,il=colors.length;i<il;i++){this.colors.push(colors[i].clone())}const faces=source.faces;for(let i=0,il=faces.length;i<il;i++){this.faces.push(faces[i].clone())}for(let i=0,il=source.faceVertexUvs.length;i<il;i++){const faceVertexUvs=source.faceVertexUvs[i];if(this.faceVertexUvs[i]===undefined){this.faceVertexUvs[i]=[]}for(let j=0,jl=faceVertexUvs.length;j<jl;j++){const uvs=faceVertexUvs[j],uvsCopy=[];for(let k=0,kl=uvs.length;k<kl;k++){const uv=uvs[k];uvsCopy.push(uv.clone())}this.faceVertexUvs[i].push(uvsCopy)}}const morphTargets=source.morphTargets;for(let i=0,il=morphTargets.length;i<il;i++){const morphTarget={};morphTarget.name=morphTargets[i].name;if(morphTargets[i].vertices!==undefined){morphTarget.vertices=[];for(let j=0,jl=morphTargets[i].vertices.length;j<jl;j++){morphTarget.vertices.push(morphTargets[i].vertices[j].clone())}}if(morphTargets[i].normals!==undefined){morphTarget.normals=[];for(let j=0,jl=morphTargets[i].normals.length;j<jl;j++){morphTarget.normals.push(morphTargets[i].normals[j].clone())}}this.morphTargets.push(morphTarget)}const morphNormals=source.morphNormals;for(let i=0,il=morphNormals.length;i<il;i++){const morphNormal={};if(morphNormals[i].vertexNormals!==undefined){morphNormal.vertexNormals=[];for(let j=0,jl=morphNormals[i].vertexNormals.length;j<jl;j++){const srcVertexNormal=morphNormals[i].vertexNormals[j];const destVertexNormal={};destVertexNormal.a=srcVertexNormal.a.clone();destVertexNormal.b=srcVertexNormal.b.clone();destVertexNormal.c=srcVertexNormal.c.clone();morphNormal.vertexNormals.push(destVertexNormal)}}if(morphNormals[i].faceNormals!==undefined){morphNormal.faceNormals=[];for(let j=0,jl=morphNormals[i].faceNormals.length;j<jl;j++){morphNormal.faceNormals.push(morphNormals[i].faceNormals[j].clone())}}this.morphNormals.push(morphNormal)}const skinWeights=source.skinWeights;for(let i=0,il=skinWeights.length;i<il;i++){this.skinWeights.push(skinWeights[i].clone())}const skinIndices=source.skinIndices;for(let i=0,il=skinIndices.length;i<il;i++){this.skinIndices.push(skinIndices[i].clone())}const lineDistances=source.lineDistances;for(let i=0,il=lineDistances.length;i<il;i++){this.lineDistances.push(lineDistances[i])}const boundingBox=source.boundingBox;if(boundingBox!==null){this.boundingBox=boundingBox.clone()}const boundingSphere=source.boundingSphere;if(boundingSphere!==null){this.boundingSphere=boundingSphere.clone()}this.elementsNeedUpdate=source.elementsNeedUpdate;this.verticesNeedUpdate=source.verticesNeedUpdate;this.uvsNeedUpdate=source.uvsNeedUpdate;this.normalsNeedUpdate=source.normalsNeedUpdate;this.colorsNeedUpdate=source.colorsNeedUpdate;this.lineDistancesNeedUpdate=source.lineDistancesNeedUpdate;this.groupsNeedUpdate=source.groupsNeedUpdate;return this}toBufferGeometry(){const geometry=new DirectGeometry().fromGeometry(this);const buffergeometry=new BufferGeometry;const positions=new Float32Array(geometry.vertices.length*3);buffergeometry.setAttribute("position",copyVector3sArray(new BufferAttribute(positions,3),geometry.vertices));if(geometry.normals.length>0){const normals=new Float32Array(geometry.normals.length*3);buffergeometry.setAttribute("normal",copyVector3sArray(new BufferAttribute(normals,3),geometry.normals))}if(geometry.colors.length>0){const colors=new Float32Array(geometry.colors.length*3);buffergeometry.setAttribute("color",copyColorsArray(new BufferAttribute(colors,3),geometry.colors))}if(geometry.uvs.length>0){const uvs=new Float32Array(geometry.uvs.length*2);buffergeometry.setAttribute("uv",copyVector2sArray(new BufferAttribute(uvs,2),geometry.uvs))}if(geometry.uvs2.length>0){const uvs2=new Float32Array(geometry.uvs2.length*2);buffergeometry.setAttribute("uv2",copyVector2sArray(new BufferAttribute(uvs2,2),geometry.uvs2))}buffergeometry.groups=geometry.groups;for(const name in geometry.morphTargets){const array=[];const morphTargets=geometry.morphTargets[name];for(let i=0,l=morphTargets.length;i<l;i++){const morphTarget=morphTargets[i];const attribute=new Float32BufferAttribute(morphTarget.data.length*3,3);attribute.name=morphTarget.name;array.push(copyVector3sArray(attribute,morphTarget.data))}buffergeometry.morphAttributes[name]=array}if(geometry.skinIndices.length>0){const skinIndices=new Float32BufferAttribute(geometry.skinIndices.length*4,4);buffergeometry.setAttribute("skinIndex",copyVector4sArray(skinIndices,geometry.skinIndices))}if(geometry.skinWeights.length>0){const skinWeights=new Float32BufferAttribute(geometry.skinWeights.length*4,4);buffergeometry.setAttribute("skinWeight",copyVector4sArray(skinWeights,geometry.skinWeights))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}return buffergeometry}computeTangents(){console.error("THREE.Geometry: .computeTangents() has been removed.")}computeLineDistances(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}applyMatrix(matrix){console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().");return this.applyMatrix4(matrix)}dispose(){this.dispatchEvent({type:"dispose"})}static createBufferGeometryFromObject(object){let buffergeometry=new BufferGeometry;const geometry=object.geometry;if(object.isPoints||object.isLine){const positions=new Float32BufferAttribute(geometry.vertices.length*3,3);const colors=new Float32BufferAttribute(geometry.colors.length*3,3);buffergeometry.setAttribute("position",copyVector3sArray(positions,geometry.vertices));buffergeometry.setAttribute("color",copyColorsArray(colors,geometry.colors));if(geometry.lineDistances&&geometry.lineDistances.length===geometry.vertices.length){const lineDistances=new Float32BufferAttribute(geometry.lineDistances.length,1);buffergeometry.setAttribute("lineDistance",lineDistances.copyArray(geometry.lineDistances))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}}else if(object.isMesh){buffergeometry=geometry.toBufferGeometry()}return buffergeometry}}Geometry.prototype.isGeometry=true;class DirectGeometry{constructor(){this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingBox=null;this.boundingSphere=null;this.verticesNeedUpdate=false;this.normalsNeedUpdate=false;this.colorsNeedUpdate=false;this.uvsNeedUpdate=false;this.groupsNeedUpdate=false}computeGroups(geometry){const groups=[];let group,i;let materialIndex=undefined;const faces=geometry.faces;for(i=0;i<faces.length;i++){const face=faces[i];if(face.materialIndex!==materialIndex){materialIndex=face.materialIndex;if(group!==undefined){group.count=i*3-group.start;groups.push(group)}group={start:i*3,materialIndex:materialIndex}}}if(group!==undefined){group.count=i*3-group.start;groups.push(group)}this.groups=groups}fromGeometry(geometry){const faces=geometry.faces;const vertices=geometry.vertices;const faceVertexUvs=geometry.faceVertexUvs;const hasFaceVertexUv=faceVertexUvs[0]&&faceVertexUvs[0].length>0;const hasFaceVertexUv2=faceVertexUvs[1]&&faceVertexUvs[1].length>0;const morphTargets=geometry.morphTargets;const morphTargetsLength=morphTargets.length;let morphTargetsPosition;if(morphTargetsLength>0){morphTargetsPosition=[];for(let i=0;i<morphTargetsLength;i++){morphTargetsPosition[i]={name:morphTargets[i].name,data:[]}}this.morphTargets.position=morphTargetsPosition}const morphNormals=geometry.morphNormals;const morphNormalsLength=morphNormals.length;let morphTargetsNormal;if(morphNormalsLength>0){morphTargetsNormal=[];for(let i=0;i<morphNormalsLength;i++){morphTargetsNormal[i]={name:morphNormals[i].name,data:[]}}this.morphTargets.normal=morphTargetsNormal}const skinIndices=geometry.skinIndices;const skinWeights=geometry.skinWeights;const hasSkinIndices=skinIndices.length===vertices.length;const hasSkinWeights=skinWeights.length===vertices.length;if(vertices.length>0&&faces.length===0){console.error("THREE.DirectGeometry: Faceless geometries are not supported.")}for(let i=0;i<faces.length;i++){const face=faces[i];this.vertices.push(vertices[face.a],vertices[face.b],vertices[face.c]);const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){this.normals.push(vertexNormals[0],vertexNormals[1],vertexNormals[2])}else{const normal=face.normal;this.normals.push(normal,normal,normal)}const vertexColors=face.vertexColors;if(vertexColors.length===3){this.colors.push(vertexColors[0],vertexColors[1],vertexColors[2])}else{const color=face.color;this.colors.push(color,color,color)}if(hasFaceVertexUv===true){const vertexUvs=faceVertexUvs[0][i];if(vertexUvs!==undefined){this.uvs.push(vertexUvs[0],vertexUvs[1],vertexUvs[2])}else{console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",i);this.uvs.push(new Vector2,new Vector2,new Vector2)}}if(hasFaceVertexUv2===true){const vertexUvs=faceVertexUvs[1][i];if(vertexUvs!==undefined){this.uvs2.push(vertexUvs[0],vertexUvs[1],vertexUvs[2])}else{console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",i);this.uvs2.push(new Vector2,new Vector2,new Vector2)}}for(let j=0;j<morphTargetsLength;j++){const morphTarget=morphTargets[j].vertices;morphTargetsPosition[j].data.push(morphTarget[face.a],morphTarget[face.b],morphTarget[face.c])}for(let j=0;j<morphNormalsLength;j++){const morphNormal=morphNormals[j].vertexNormals[i];morphTargetsNormal[j].data.push(morphNormal.a,morphNormal.b,morphNormal.c)}if(hasSkinIndices){this.skinIndices.push(skinIndices[face.a],skinIndices[face.b],skinIndices[face.c])}if(hasSkinWeights){this.skinWeights.push(skinWeights[face.a],skinWeights[face.b],skinWeights[face.c])}}this.computeGroups(geometry);this.verticesNeedUpdate=geometry.verticesNeedUpdate;this.normalsNeedUpdate=geometry.normalsNeedUpdate;this.colorsNeedUpdate=geometry.colorsNeedUpdate;this.uvsNeedUpdate=geometry.uvsNeedUpdate;this.groupsNeedUpdate=geometry.groupsNeedUpdate;if(geometry.boundingSphere!==null){this.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){this.boundingBox=geometry.boundingBox.clone()}return this}}function copyColorsArray(bufferAttribute,colors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=colors.length;i<l;i++){let color=colors[i];if(color===undefined){console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i);color=new Color}if(bufferAttribute.normalized){array[offset++]=normalize(color.r,array);array[offset++]=normalize(color.g,array);array[offset++]=normalize(color.b,array)}else{array[offset++]=color.r;array[offset++]=color.g;array[offset++]=color.b}}return bufferAttribute}function copyVector2sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",i);vector=new Vector2}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array)}else{array[offset++]=vector.x;array[offset++]=vector.y}}return bufferAttribute}function copyVector3sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i);vector=new Vector3}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array);array[offset++]=normalize(vector.z,array)}else{array[offset++]=vector.x;array[offset++]=vector.y;array[offset++]=vector.z}}return bufferAttribute}function copyVector4sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i);vector=new Vector4}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array);array[offset++]=normalize(vector.z,array);array[offset++]=normalize(vector.w,array)}else{array[offset++]=vector.x;array[offset++]=vector.y;array[offset++]=vector.z;array[offset++]=vector.w}}return this}THREE.Geometry=Geometry});(function(){var BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Float32BufferAttribute=THREE.Float32BufferAttribute,InstancedBufferAttribute=THREE.InstancedBufferAttribute,InterleavedBuffer=THREE.InterleavedBuffer,InterleavedBufferAttribute=THREE.InterleavedBufferAttribute,TriangleFanDrawMode=THREE.TriangleFanDrawMode,TriangleStripDrawMode=THREE.TriangleStripDrawMode,TrianglesDrawMode=THREE.TrianglesDrawMode,Vector3=THREE.Vector3;function computeMikkTSpaceTangents(geometry,MikkTSpace,negateSign=true){if(!MikkTSpace||!MikkTSpace.isReady){throw new Error("BufferGeometryUtils: Initialized MikkTSpace library required.")}if(!geometry.hasAttribute("position")||!geometry.hasAttribute("normal")||!geometry.hasAttribute("uv")){throw new Error("BufferGeometryUtils: Tangents require \"position\", \"normal\", and \"uv\" attributes.")}function getAttributeArray(attribute){if(attribute.normalized||attribute.isInterleavedBufferAttribute){const dstArray=new Float32Array(attribute.getCount()*attribute.itemSize);for(let i=0,j=0;i<attribute.getCount();i++){dstArray[j++]=attribute.getX(i);dstArray[j++]=attribute.getY(i);if(attribute.itemSize>2){dstArray[j++]=attribute.getZ(i)}}return dstArray}if(attribute.array instanceof Float32Array){return attribute.array}return new Float32Array(attribute.array)}const _geometry=geometry.index?geometry.toNonIndexed():geometry;const tangents=MikkTSpace.generateTangents(getAttributeArray(_geometry.attributes.position),getAttributeArray(_geometry.attributes.normal),getAttributeArray(_geometry.attributes.uv));if(negateSign){for(let i=3;i<tangents.length;i+=4){tangents[i]*=-1}}_geometry.setAttribute("tangent",new BufferAttribute(tangents,4));if(geometry!==_geometry){geometry.copy(_geometry)}return geometry}function mergeGeometries(geometries,useGroups=false){const isIndexed=geometries[0].index!==null;const attributesUsed=new Set(Object.keys(geometries[0].attributes));const morphAttributesUsed=new Set(Object.keys(geometries[0].morphAttributes));const attributes={};const morphAttributes={};const morphTargetsRelative=geometries[0].morphTargetsRelative;const mergedGeometry=new BufferGeometry;let offset=0;for(let i=0;i<geometries.length;++i){const geometry=geometries[i];let attributesCount=0;if(isIndexed!==(geometry.index!==null)){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them.");return null}for(const name in geometry.attributes){if(!attributesUsed.has(name)){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". All geometries must have compatible attributes; make sure \""+name+"\" attribute exists among all geometries, or in none of them.");return null}if(attributes[name]===undefined)attributes[name]=[];attributes[name].push(geometry.attributes[name]);attributesCount++}if(attributesCount!==attributesUsed.size){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". Make sure all geometries have the same number of attributes.");return null}if(morphTargetsRelative!==geometry.morphTargetsRelative){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". .morphTargetsRelative must be consistent throughout all geometries.");return null}for(const name in geometry.morphAttributes){if(!morphAttributesUsed.has(name)){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+".  .morphAttributes must be consistent throughout all geometries.");return null}if(morphAttributes[name]===undefined)morphAttributes[name]=[];morphAttributes[name].push(geometry.morphAttributes[name])}if(useGroups){let count;if(isIndexed){count=geometry.index.count}else if(geometry.attributes.position!==undefined){count=geometry.attributes.position.count}else{console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". The geometry must have either an index or a position attribute");return null}mergedGeometry.addGroup(offset,count,i);offset+=count}}if(isIndexed){let indexOffset=0;const mergedIndex=[];for(let i=0;i<geometries.length;++i){const index=geometries[i].index;for(let j=0;j<index.count;++j){mergedIndex.push(index.getX(j)+indexOffset)}indexOffset+=geometries[i].attributes.position.count}mergedGeometry.setIndex(mergedIndex)}for(const name in attributes){const mergedAttribute=mergeAttributes(attributes[name]);if(!mergedAttribute){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+name+" attribute.");return null}mergedGeometry.setAttribute(name,mergedAttribute)}for(const name in morphAttributes){const numMorphTargets=morphAttributes[name][0].length;if(numMorphTargets===0)break;mergedGeometry.morphAttributes=mergedGeometry.morphAttributes||{};mergedGeometry.morphAttributes[name]=[];for(let i=0;i<numMorphTargets;++i){const morphAttributesToMerge=[];for(let j=0;j<morphAttributes[name].length;++j){morphAttributesToMerge.push(morphAttributes[name][j][i])}const mergedMorphAttribute=mergeAttributes(morphAttributesToMerge);if(!mergedMorphAttribute){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+name+" morphAttribute.");return null}mergedGeometry.morphAttributes[name].push(mergedMorphAttribute)}}return mergedGeometry}function mergeAttributes(attributes){let TypedArray;let itemSize;let normalized;let arrayLength=0;for(let i=0;i<attributes.length;++i){const attribute=attributes[i];if(attribute.isInterleavedBufferAttribute){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. InterleavedBufferAttributes are not supported.");return null}if(TypedArray===undefined)TypedArray=attribute.array.constructor;if(TypedArray!==attribute.array.constructor){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes.");return null}if(itemSize===undefined)itemSize=attribute.itemSize;if(itemSize!==attribute.itemSize){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes.");return null}if(normalized===undefined)normalized=attribute.normalized;if(normalized!==attribute.normalized){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes.");return null}arrayLength+=attribute.array.length}const array=new TypedArray(arrayLength);let offset=0;for(let i=0;i<attributes.length;++i){array.set(attributes[i].array,offset);offset+=attributes[i].array.length}return new BufferAttribute(array,itemSize,normalized)}function deepCloneAttribute(attribute){if(attribute.isInstancedInterleavedBufferAttribute||attribute.isInterleavedBufferAttribute){return deinterleaveAttribute(attribute)}if(attribute.isInstancedBufferAttribute){return new InstancedBufferAttribute().copy(attribute)}return new BufferAttribute().copy(attribute)}function interleaveAttributes(attributes){let TypedArray;let arrayLength=0;let stride=0;for(let i=0,l=attributes.length;i<l;++i){const attribute=attributes[i];if(TypedArray===undefined)TypedArray=attribute.array.constructor;if(TypedArray!==attribute.array.constructor){console.error("AttributeBuffers of different types cannot be interleaved");return null}arrayLength+=attribute.array.length;stride+=attribute.itemSize}const interleavedBuffer=new InterleavedBuffer(new TypedArray(arrayLength),stride);let offset=0;const res=[];const getters=["getX","getY","getZ","getW"];const setters=["setX","setY","setZ","setW"];for(let j=0,l=attributes.length;j<l;j++){const attribute=attributes[j];const itemSize=attribute.itemSize;const count=attribute.count;const iba=new InterleavedBufferAttribute(interleavedBuffer,itemSize,offset,attribute.normalized);res.push(iba);offset+=itemSize;for(let c=0;c<count;c++){for(let k=0;k<itemSize;k++){iba[setters[k]](c,attribute[getters[k]](c))}}}return res}function deinterleaveAttribute(attribute){const cons=attribute.data.array.constructor;const count=attribute.count;const itemSize=attribute.itemSize;const normalized=attribute.normalized;const array=new cons(count*itemSize);let newAttribute;if(attribute.isInstancedInterleavedBufferAttribute){newAttribute=new InstancedBufferAttribute(array,itemSize,normalized,attribute.meshPerAttribute)}else{newAttribute=new BufferAttribute(array,itemSize,normalized)}for(let i=0;i<count;i++){newAttribute.setX(i,attribute.getX(i));if(itemSize>=2){newAttribute.setY(i,attribute.getY(i))}if(itemSize>=3){newAttribute.setZ(i,attribute.getZ(i))}if(itemSize>=4){newAttribute.setW(i,attribute.getW(i))}}return newAttribute}function deinterleaveGeometry(geometry){const attributes=geometry.attributes;const morphTargets=geometry.morphTargets;const attrMap=new Map;for(const key in attributes){const attr=attributes[key];if(attr.isInterleavedBufferAttribute){if(!attrMap.has(attr)){attrMap.set(attr,deinterleaveAttribute(attr))}attributes[key]=attrMap.get(attr)}}for(const key in morphTargets){const attr=morphTargets[key];if(attr.isInterleavedBufferAttribute){if(!attrMap.has(attr)){attrMap.set(attr,deinterleaveAttribute(attr))}morphTargets[key]=attrMap.get(attr)}}}function estimateBytesUsed(geometry){let mem=0;for(const name in geometry.attributes){const attr=geometry.getAttribute(name);mem+=attr.count*attr.itemSize*attr.array.BYTES_PER_ELEMENT}const indices=geometry.getIndex();mem+=indices?indices.count*indices.itemSize*indices.array.BYTES_PER_ELEMENT:0;return mem}function mergeVertices(geometry,tolerance=1e-4){tolerance=Math.max(tolerance,Number.EPSILON);const hashToIndex={};const indices=geometry.getIndex();const positions=geometry.getAttribute("position");const vertexCount=indices?indices.count:positions.count;let nextIndex=0;const attributeNames=Object.keys(geometry.attributes);const tmpAttributes={};const tmpMorphAttributes={};const newIndices=[];const getters=["getX","getY","getZ","getW"];const setters=["setX","setY","setZ","setW"];for(let i=0,l=attributeNames.length;i<l;i++){const name=attributeNames[i];const attr=geometry.attributes[name];tmpAttributes[name]=new BufferAttribute(new attr.array.constructor(attr.count*attr.itemSize),attr.itemSize,attr.normalized);const morphAttr=geometry.morphAttributes[name];if(morphAttr){tmpMorphAttributes[name]=new BufferAttribute(new morphAttr.array.constructor(morphAttr.count*morphAttr.itemSize),morphAttr.itemSize,morphAttr.normalized)}}const decimalShift=Math.log10(1/tolerance);const shiftMultiplier=Math.pow(10,decimalShift);for(let i=0;i<vertexCount;i++){const index=indices?indices.getX(i):i;let hash="";for(let j=0,l=attributeNames.length;j<l;j++){const name=attributeNames[j];const attribute=geometry.getAttribute(name);const itemSize=attribute.itemSize;for(let k=0;k<itemSize;k++){hash+=`${~~(attribute[getters[k]](index)*shiftMultiplier)},`}}if(hash in hashToIndex){newIndices.push(hashToIndex[hash])}else{for(let j=0,l=attributeNames.length;j<l;j++){const name=attributeNames[j];const attribute=geometry.getAttribute(name);const morphAttr=geometry.morphAttributes[name];const itemSize=attribute.itemSize;const newarray=tmpAttributes[name];const newMorphArrays=tmpMorphAttributes[name];for(let k=0;k<itemSize;k++){const getterFunc=getters[k];const setterFunc=setters[k];newarray[setterFunc](nextIndex,attribute[getterFunc](index));if(morphAttr){for(let m=0,ml=morphAttr.length;m<ml;m++){newMorphArrays[m][setterFunc](nextIndex,morphAttr[m][getterFunc](index))}}}}hashToIndex[hash]=nextIndex;newIndices.push(nextIndex);nextIndex++}}const result=geometry.clone();for(const name in geometry.attributes){const tmpAttribute=tmpAttributes[name];result.setAttribute(name,new BufferAttribute(tmpAttribute.array.slice(0,nextIndex*tmpAttribute.itemSize),tmpAttribute.itemSize,tmpAttribute.normalized));if(!(name in tmpMorphAttributes))continue;for(let j=0;j<tmpMorphAttributes[name].length;j++){const tmpMorphAttribute=tmpMorphAttributes[name][j];result.morphAttributes[name][j]=new BufferAttribute(tmpMorphAttribute.array.slice(0,nextIndex*tmpMorphAttribute.itemSize),tmpMorphAttribute.itemSize,tmpMorphAttribute.normalized)}}result.setIndex(newIndices);return result}function toTrianglesDrawMode(geometry,drawMode){if(drawMode===TrianglesDrawMode){console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.");return geometry}if(drawMode===TriangleFanDrawMode||drawMode===TriangleStripDrawMode){let index=geometry.getIndex();if(index===null){const indices=[];const position=geometry.getAttribute("position");if(position!==undefined){for(let i=0;i<position.count;i++){indices.push(i)}geometry.setIndex(indices);index=geometry.getIndex()}else{console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.");return geometry}}const numberOfTriangles=index.count-2;const newIndices=[];if(drawMode===TriangleFanDrawMode){for(let i=1;i<=numberOfTriangles;i++){newIndices.push(index.getX(0));newIndices.push(index.getX(i));newIndices.push(index.getX(i+1))}}else{for(let i=0;i<numberOfTriangles;i++){if(i%2===0){newIndices.push(index.getX(i));newIndices.push(index.getX(i+1));newIndices.push(index.getX(i+2))}else{newIndices.push(index.getX(i+2));newIndices.push(index.getX(i+1));newIndices.push(index.getX(i))}}}if(newIndices.length/3!==numberOfTriangles){console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.")}const newGeometry=geometry.clone();newGeometry.setIndex(newIndices);newGeometry.clearGroups();return newGeometry}else{console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",drawMode);return geometry}}function computeMorphedAttributes(object){const _vA=new Vector3;const _vB=new Vector3;const _vC=new Vector3;const _tempA=new Vector3;const _tempB=new Vector3;const _tempC=new Vector3;const _morphA=new Vector3;const _morphB=new Vector3;const _morphC=new Vector3;function _calculateMorphedAttributeData(object,attribute,morphAttribute,morphTargetsRelative,a,b,c,modifiedAttributeArray){_vA.fromBufferAttribute(attribute,a);_vB.fromBufferAttribute(attribute,b);_vC.fromBufferAttribute(attribute,c);const morphInfluences=object.morphTargetInfluences;if(morphAttribute&&morphInfluences){_morphA.set(0,0,0);_morphB.set(0,0,0);_morphC.set(0,0,0);for(let i=0,il=morphAttribute.length;i<il;i++){const influence=morphInfluences[i];const morph=morphAttribute[i];if(influence===0)continue;_tempA.fromBufferAttribute(morph,a);_tempB.fromBufferAttribute(morph,b);_tempC.fromBufferAttribute(morph,c);if(morphTargetsRelative){_morphA.addScaledVector(_tempA,influence);_morphB.addScaledVector(_tempB,influence);_morphC.addScaledVector(_tempC,influence)}else{_morphA.addScaledVector(_tempA.sub(_vA),influence);_morphB.addScaledVector(_tempB.sub(_vB),influence);_morphC.addScaledVector(_tempC.sub(_vC),influence)}}_vA.add(_morphA);_vB.add(_morphB);_vC.add(_morphC)}if(object.isSkinnedMesh){object.applyBoneTransform(a,_vA);object.applyBoneTransform(b,_vB);object.applyBoneTransform(c,_vC)}modifiedAttributeArray[a*3+0]=_vA.x;modifiedAttributeArray[a*3+1]=_vA.y;modifiedAttributeArray[a*3+2]=_vA.z;modifiedAttributeArray[b*3+0]=_vB.x;modifiedAttributeArray[b*3+1]=_vB.y;modifiedAttributeArray[b*3+2]=_vB.z;modifiedAttributeArray[c*3+0]=_vC.x;modifiedAttributeArray[c*3+1]=_vC.y;modifiedAttributeArray[c*3+2]=_vC.z}const geometry=object.geometry;const material=object.material;let a,b,c;const index=geometry.index;const positionAttribute=geometry.attributes.position;const morphPosition=geometry.morphAttributes.position;const morphTargetsRelative=geometry.morphTargetsRelative;const normalAttribute=geometry.attributes.normal;const morphNormal=geometry.morphAttributes.position;const groups=geometry.groups;const drawRange=geometry.drawRange;let i,j,il,jl;let group;let start,end;const modifiedPosition=new Float32Array(positionAttribute.count*positionAttribute.itemSize);const modifiedNormal=new Float32Array(normalAttribute.count*normalAttribute.itemSize);if(index!==null){if(Array.isArray(material)){for(i=0,il=groups.length;i<il;i++){group=groups[i];start=Math.max(group.start,drawRange.start);end=Math.min(group.start+group.count,drawRange.start+drawRange.count);for(j=start,jl=end;j<jl;j+=3){a=index.getX(j);b=index.getX(j+1);c=index.getX(j+2);_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}else{start=Math.max(0,drawRange.start);end=Math.min(index.count,drawRange.start+drawRange.count);for(i=start,il=end;i<il;i+=3){a=index.getX(i);b=index.getX(i+1);c=index.getX(i+2);_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}else{if(Array.isArray(material)){for(i=0,il=groups.length;i<il;i++){group=groups[i];start=Math.max(group.start,drawRange.start);end=Math.min(group.start+group.count,drawRange.start+drawRange.count);for(j=start,jl=end;j<jl;j+=3){a=j;b=j+1;c=j+2;_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}else{start=Math.max(0,drawRange.start);end=Math.min(positionAttribute.count,drawRange.start+drawRange.count);for(i=start,il=end;i<il;i+=3){a=i;b=i+1;c=i+2;_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}const morphedPositionAttribute=new Float32BufferAttribute(modifiedPosition,3);const morphedNormalAttribute=new Float32BufferAttribute(modifiedNormal,3);return{positionAttribute:positionAttribute,normalAttribute:normalAttribute,morphedPositionAttribute:morphedPositionAttribute,morphedNormalAttribute:morphedNormalAttribute}}function mergeGroups(geometry){if(geometry.groups.length===0){console.warn("THREE.BufferGeometryUtils.mergeGroups(): No groups are defined. Nothing to merge.");return geometry}let groups=geometry.groups;groups=groups.sort((a,b)=>{if(a.materialIndex!==b.materialIndex)return a.materialIndex-b.materialIndex;return a.start-b.start});if(geometry.getIndex()===null){const positionAttribute=geometry.getAttribute("position");const indices=[];for(let i=0;i<positionAttribute.count;i+=3){indices.push(i,i+1,i+2)}geometry.setIndex(indices)}const index=geometry.getIndex();const newIndices=[];for(let i=0;i<groups.length;i++){const group=groups[i];const groupStart=group.start;const groupLength=groupStart+group.count;for(let j=groupStart;j<groupLength;j++){newIndices.push(index.getX(j))}}geometry.dispose();geometry.setIndex(newIndices);let start=0;for(let i=0;i<groups.length;i++){const group=groups[i];group.start=start;start+=group.count}let currentGroup=groups[0];geometry.groups=[currentGroup];for(let i=1;i<groups.length;i++){const group=groups[i];if(currentGroup.materialIndex===group.materialIndex){currentGroup.count+=group.count}else{currentGroup=group;geometry.groups.push(currentGroup)}}return geometry}function toCreasedNormals(geometry,creaseAngle=Math.PI/3){const creaseDot=Math.cos(creaseAngle);const hashMultiplier=(1+1e-10)*100;const verts=[new Vector3,new Vector3,new Vector3];const tempVec1=new Vector3;const tempVec2=new Vector3;const tempNorm=new Vector3;const tempNorm2=new Vector3;function hashVertex(v){const x=~~(v.x*hashMultiplier);const y=~~(v.y*hashMultiplier);const z=~~(v.z*hashMultiplier);return`${x},${y},${z}`}const resultGeometry=geometry.toNonIndexed();const posAttr=resultGeometry.attributes.position;const vertexMap={};for(let i=0,l=posAttr.count/3;i<l;i++){const i3=3*i;const a=verts[0].fromBufferAttribute(posAttr,i3+0);const b=verts[1].fromBufferAttribute(posAttr,i3+1);const c=verts[2].fromBufferAttribute(posAttr,i3+2);tempVec1.subVectors(c,b);tempVec2.subVectors(a,b);const normal=new Vector3().crossVectors(tempVec1,tempVec2).normalize();for(let n=0;n<3;n++){const vert=verts[n];const hash=hashVertex(vert);if(!(hash in vertexMap)){vertexMap[hash]=[]}vertexMap[hash].push(normal)}}const normalArray=new Float32Array(posAttr.count*3);const normAttr=new BufferAttribute(normalArray,3,false);for(let i=0,l=posAttr.count/3;i<l;i++){const i3=3*i;const a=verts[0].fromBufferAttribute(posAttr,i3+0);const b=verts[1].fromBufferAttribute(posAttr,i3+1);const c=verts[2].fromBufferAttribute(posAttr,i3+2);tempVec1.subVectors(c,b);tempVec2.subVectors(a,b);tempNorm.crossVectors(tempVec1,tempVec2).normalize();for(let n=0;n<3;n++){const vert=verts[n];const hash=hashVertex(vert);const otherNormals=vertexMap[hash];tempNorm2.set(0,0,0);for(let k=0,lk=otherNormals.length;k<lk;k++){const otherNorm=otherNormals[k];if(tempNorm.dot(otherNorm)>creaseDot){tempNorm2.add(otherNorm)}}tempNorm2.normalize();normAttr.setXYZ(i3+n,tempNorm2.x,tempNorm2.y,tempNorm2.z)}}resultGeometry.setAttribute("normal",normAttr);return resultGeometry}function mergeBufferGeometries(geometries,useGroups=false){console.warn("THREE.BufferGeometryUtils: mergeBufferGeometries() has been renamed to mergeGeometries().");return mergeGeometries(geometries,useGroups)}function mergeBufferAttributes(attributes){console.warn("THREE.BufferGeometryUtils: mergeBufferAttributes() has been renamed to mergeAttributes().");return mergeAttributes(attributes)}var BufferGeometryUtils={computeMikkTSpaceTangents,deepCloneAttribute,deinterleaveAttribute,deinterleaveGeometry,mergeGeometries,mergeBufferGeometries,mergeAttributes,mergeBufferAttributes,interleaveAttributes,estimateBytesUsed,mergeVertices,toTrianglesDrawMode,computeMorphedAttributes,mergeGroups,toCreasedNormals};THREE.BufferGeometryUtils=BufferGeometryUtils})();(function(){class WorkerPool{constructor(pool=4){this.pool=pool;this.queue=[];this.workers=[];this.workersResolve=[];this.workerStatus=0}_initWorker(workerId){if(!this.workers[workerId]){const worker=this.workerCreator();worker.addEventListener("message",this._onMessage.bind(this,workerId));this.workers[workerId]=worker}}_getIdleWorker(){for(let i=0;i<this.pool;i++)if(!(this.workerStatus&1<<i))return i;return-1}_onMessage(workerId,msg){const resolve=this.workersResolve[workerId];resolve&&resolve(msg);if(this.queue.length){const{resolve,msg,transfer}=this.queue.shift();this.workersResolve[workerId]=resolve;this.workers[workerId].postMessage(msg,transfer)}else{this.workerStatus^=1<<workerId}}setWorkerCreator(workerCreator){this.workerCreator=workerCreator}setWorkerLimit(pool){this.pool=pool}postMessage(msg,transfer){return new Promise(resolve=>{const workerId=this._getIdleWorker();if(workerId!==-1){this._initWorker(workerId);this.workerStatus|=1<<workerId;this.workersResolve[workerId]=resolve;this.workers[workerId].postMessage(msg,transfer)}else{this.queue.push({resolve,msg,transfer})}})}dispose(){this.workers.forEach(worker=>worker.terminate());this.workersResolve.length=0;this.workers.length=0;this.queue.length=0;this.workerStatus=0}}THREE.WorkerPool=WorkerPool})();(function(){const t=0,e=1,n=2,i=3,s=0,a=0,r=2,o=0,l=1,f=160,U=161,c=162,h=163,_=0,p=1,g=0,y=1,x=2,u=3,b=4,d=5,m=6,w=7,D=8,B=9,L=10,A=11,k=12,v=13,S=14,I=15,O=16,T=17,V=18,E=0,F=1,P=2,C=3,z=4,M=5,W=6,N=7,H=8,K=9,X=10,j=11,R=0,Y=1,q=2,G=13,J=14,Q=15,Z=128,$=64,tt=32,et=16,nt=0,it=1,st=2,at=3,rt=4,ot=5,lt=6,ft=7,Ut=8,ct=9,ht=10,_t=13,pt=14,gt=15,yt=16,xt=17,ut=20,bt=21,dt=22,mt=23,wt=24,Dt=27,Bt=28,Lt=29,At=30,kt=31,vt=34,St=35,It=36,Ot=37,Tt=38,Vt=41,Et=42,Ft=43,Pt=44,Ct=45,zt=48,Mt=49,Wt=50,Nt=58,Ht=59,Kt=62,Xt=63,jt=64,Rt=65,Yt=68,qt=69,Gt=70,Jt=71,Qt=74,Zt=75,$t=76,te=77,ee=78,ne=81,ie=82,se=83,ae=84,re=85,oe=88,le=89,fe=90,Ue=91,ce=92,he=95,_e=96,pe=97,ge=98,ye=99,xe=100,ue=101,be=102,de=103,me=104,we=105,De=106,Be=107,Le=108,Ae=109,ke=110,ve=111,Se=112,Ie=113,Oe=114,Te=115,Ve=116,Ee=117,Fe=118,Pe=119,Ce=120,ze=121,Me=122,We=123,Ne=124,He=125,Ke=126,Xe=127,je=128,Re=129,Ye=130,qe=131,Ge=132,Je=133,Qe=134,Ze=135,$e=136,tn=137,en=138,nn=139,sn=140,an=141,rn=142,on=143,ln=144,fn=145,Un=146,cn=147,hn=148,_n=149,pn=150,gn=151,yn=152,xn=153,un=154,bn=155,dn=156,mn=157,wn=158,Dn=159,Bn=160,Ln=161,An=162,kn=163,vn=164,Sn=165,In=166,On=167,Tn=168,Vn=169,En=170,Fn=171,Pn=172,Cn=173,zn=174,Mn=175,Wn=176,Nn=177,Hn=178,Kn=179,Xn=180,jn=181,Rn=182,Yn=183,qn=184,Gn=1000156007,Jn=1000156008,Qn=1000156009,Zn=1000156010,$n=1000156011,ti=1000156017,ei=1000156018,ni=1000156019,ii=1000156020,si=1000156021,ai=1000054e3,ri=1000054001,oi=1000054002,li=1000054003,fi=1000054004,Ui=1000054005,ci=1000054006,hi=1000054007,_i=1000066e3,pi=1000066001,gi=1000066002,yi=1000066003,xi=1000066004,ui=1000066005,bi=1000066006,di=1000066007,mi=1000066008,wi=1000066009,Di=1000066010,Bi=1000066011,Li=1000066012,Ai=1000066013,ki=100034e4,vi=1000340001;class Si{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Ii{constructor(t,e,n,i){this._dataView=new DataView(t.buffer,t.byteOffset+e,n),this._littleEndian=i,this._offset=0}_nextUint8(){const t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){const t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){const t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){const t=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_nextInt32(){const t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_skip(t){return this._offset+=t,this}_scan(t,e=0){const n=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==e&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}}const Oi=new Uint8Array([0]),Ti=[171,75,84,88,32,50,48,187,13,10,26,10];function Vi(t){return"undefined"!=typeof TextEncoder?new TextEncoder().encode(t):Buffer.from(t)}function Ei(t){return"undefined"!=typeof TextDecoder?new TextDecoder().decode(t):Buffer.from(t).toString("utf8")}function Fi(t){let e=0;for(const n of t)e+=n.byteLength;const n=new Uint8Array(e);let i=0;for(const e of t)n.set(new Uint8Array(e),i),i+=e.byteLength;return n}function Pi(t){const e=new Uint8Array(t.buffer,t.byteOffset,Ti.length);if(e[0]!==Ti[0]||e[1]!==Ti[1]||e[2]!==Ti[2]||e[3]!==Ti[3]||e[4]!==Ti[4]||e[5]!==Ti[5]||e[6]!==Ti[6]||e[7]!==Ti[7]||e[8]!==Ti[8]||e[9]!==Ti[9]||e[10]!==Ti[10]||e[11]!==Ti[11])throw new Error("Missing KTX 2.0 identifier.");const n=new Si,i=17*Uint32Array.BYTES_PER_ELEMENT,s=new Ii(t,Ti.length,i,!0);n.vkFormat=s._nextUint32(),n.typeSize=s._nextUint32(),n.pixelWidth=s._nextUint32(),n.pixelHeight=s._nextUint32(),n.pixelDepth=s._nextUint32(),n.layerCount=s._nextUint32(),n.faceCount=s._nextUint32();const a=s._nextUint32();n.supercompressionScheme=s._nextUint32();const r=s._nextUint32(),o=s._nextUint32(),l=s._nextUint32(),f=s._nextUint32(),U=s._nextUint64(),c=s._nextUint64(),h=new Ii(t,Ti.length+i,3*a*8,!0);for(let e=0;e<a;e++)n.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+h._nextUint64(),h._nextUint64()),uncompressedByteLength:h._nextUint64()});const _=new Ii(t,r,o,!0),p={vendorId:_._skip(4)._nextUint16(),descriptorType:_._nextUint16(),versionNumber:_._nextUint16(),descriptorBlockSize:_._nextUint16(),colorModel:_._nextUint8(),colorPrimaries:_._nextUint8(),transferFunction:_._nextUint8(),flags:_._nextUint8(),texelBlockDimension:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],bytesPlane:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],samples:[]},g=(p.descriptorBlockSize/4-6)/4;for(let t=0;t<g;t++){const e={bitOffset:_._nextUint16(),bitLength:_._nextUint8(),channelType:_._nextUint8(),samplePosition:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],sampleLower:-Infinity,sampleUpper:Infinity};64&e.channelType?(e.sampleLower=_._nextInt32(),e.sampleUpper=_._nextInt32()):(e.sampleLower=_._nextUint32(),e.sampleUpper=_._nextUint32()),p.samples[t]=e}n.dataFormatDescriptor.length=0,n.dataFormatDescriptor.push(p);const y=new Ii(t,l,f,!0);for(;y._offset<f;){const t=y._nextUint32(),e=y._scan(t),i=Ei(e),s=y._scan(t-e.byteLength);n.keyValue[i]=i.match(/^ktx/i)?Ei(s):s,y._offset%4&&y._skip(4-y._offset%4)}if(c<=0)return n;const x=new Ii(t,U,c,!0),u=x._nextUint16(),b=x._nextUint16(),d=x._nextUint32(),m=x._nextUint32(),w=x._nextUint32(),D=x._nextUint32(),B=[];for(let t=0;t<a;t++)B.push({imageFlags:x._nextUint32(),rgbSliceByteOffset:x._nextUint32(),rgbSliceByteLength:x._nextUint32(),alphaSliceByteOffset:x._nextUint32(),alphaSliceByteLength:x._nextUint32()});const L=U+x._offset,A=L+d,k=A+m,v=k+w,S=new Uint8Array(t.buffer,t.byteOffset+L,d),I=new Uint8Array(t.buffer,t.byteOffset+A,m),O=new Uint8Array(t.buffer,t.byteOffset+k,w),T=new Uint8Array(t.buffer,t.byteOffset+v,D);return n.globalData={endpointCount:u,selectorCount:b,imageDescs:B,endpointsData:S,selectorsData:I,tablesData:O,extendedData:T},n}function Ci(){return(Ci=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}const zi={keepWriter:!1};function Mi(t,e={}){e=Ci({},zi,e);let n=new ArrayBuffer(0);if(t.globalData){const e=new ArrayBuffer(20+5*t.globalData.imageDescs.length*4),i=new DataView(e);i.setUint16(0,t.globalData.endpointCount,!0),i.setUint16(2,t.globalData.selectorCount,!0),i.setUint32(4,t.globalData.endpointsData.byteLength,!0),i.setUint32(8,t.globalData.selectorsData.byteLength,!0),i.setUint32(12,t.globalData.tablesData.byteLength,!0),i.setUint32(16,t.globalData.extendedData.byteLength,!0);for(let e=0;e<t.globalData.imageDescs.length;e++){const n=t.globalData.imageDescs[e];i.setUint32(20+5*e*4+0,n.imageFlags,!0),i.setUint32(20+5*e*4+4,n.rgbSliceByteOffset,!0),i.setUint32(20+5*e*4+8,n.rgbSliceByteLength,!0),i.setUint32(20+5*e*4+12,n.alphaSliceByteOffset,!0),i.setUint32(20+5*e*4+16,n.alphaSliceByteLength,!0)}n=Fi([e,t.globalData.endpointsData,t.globalData.selectorsData,t.globalData.tablesData,t.globalData.extendedData])}const i=[];let s=t.keyValue;e.keepWriter||(s=Ci({},t.keyValue,{KTXwriter:"KTX-Parse v0.3.1"}));for(const t in s){const e=s[t],n=Vi(t),a="string"==typeof e?Vi(e):e,r=n.byteLength+1+a.byteLength+1,o=r%4?4-r%4:0;i.push(Fi([new Uint32Array([r]),n,Oi,a,Oi,new Uint8Array(o).fill(0)]))}const a=Fi(i);if(1!==t.dataFormatDescriptor.length||0!==t.dataFormatDescriptor[0].descriptorType)throw new Error("Only BASICFORMAT Data Format Descriptor output supported.");const r=t.dataFormatDescriptor[0],o=new ArrayBuffer(28+16*r.samples.length),l=new DataView(o),f=24+16*r.samples.length;if(l.setUint32(0,o.byteLength,!0),l.setUint16(4,r.vendorId,!0),l.setUint16(6,r.descriptorType,!0),l.setUint16(8,r.versionNumber,!0),l.setUint16(10,f,!0),l.setUint8(12,r.colorModel),l.setUint8(13,r.colorPrimaries),l.setUint8(14,r.transferFunction),l.setUint8(15,r.flags),!Array.isArray(r.texelBlockDimension))throw new Error("texelBlockDimension is now an array. For dimensionality `d`, set `d - 1`.");l.setUint8(16,r.texelBlockDimension[0]),l.setUint8(17,r.texelBlockDimension[1]),l.setUint8(18,r.texelBlockDimension[2]),l.setUint8(19,r.texelBlockDimension[3]);for(let t=0;t<8;t++)l.setUint8(20+t,r.bytesPlane[t]);for(let t=0;t<r.samples.length;t++){const e=r.samples[t],n=28+16*t;if(e.channelID)throw new Error("channelID has been renamed to channelType.");l.setUint16(n+0,e.bitOffset,!0),l.setUint8(n+2,e.bitLength),l.setUint8(n+3,e.channelType),l.setUint8(n+4,e.samplePosition[0]),l.setUint8(n+5,e.samplePosition[1]),l.setUint8(n+6,e.samplePosition[2]),l.setUint8(n+7,e.samplePosition[3]),64&e.channelType?(l.setInt32(n+8,e.sampleLower,!0),l.setInt32(n+12,e.sampleUpper,!0)):(l.setUint32(n+8,e.sampleLower,!0),l.setUint32(n+12,e.sampleUpper,!0))}const U=Ti.length+68+3*t.levels.length*8,c=U+o.byteLength;let h=n.byteLength>0?c+a.byteLength:0;h%8&&(h+=8-h%8);const _=[],p=new DataView(new ArrayBuffer(3*t.levels.length*8));let g=(h||c+a.byteLength)+n.byteLength;for(let e=0;e<t.levels.length;e++){const n=t.levels[e];_.push(n.levelData),p.setBigUint64(24*e+0,BigInt(g),!0),p.setBigUint64(24*e+8,BigInt(n.levelData.byteLength),!0),p.setBigUint64(24*e+16,BigInt(n.uncompressedByteLength),!0),g+=n.levelData.byteLength}const y=new ArrayBuffer(68),x=new DataView(y);return x.setUint32(0,t.vkFormat,!0),x.setUint32(4,t.typeSize,!0),x.setUint32(8,t.pixelWidth,!0),x.setUint32(12,t.pixelHeight,!0),x.setUint32(16,t.pixelDepth,!0),x.setUint32(20,t.layerCount,!0),x.setUint32(24,t.faceCount,!0),x.setUint32(28,t.levels.length,!0),x.setUint32(32,t.supercompressionScheme,!0),x.setUint32(36,U,!0),x.setUint32(40,o.byteLength,!0),x.setUint32(44,c,!0),x.setUint32(48,a.byteLength,!0),x.setBigUint64(52,BigInt(n.byteLength>0?h:0),!0),x.setBigUint64(60,BigInt(n.byteLength),!0),new Uint8Array(Fi([new Uint8Array(Ti).buffer,y,p.buffer,o,a,h>0?new ArrayBuffer(h-(c+a.byteLength)):new ArrayBuffer(0),n,..._]))}var KTXParse=THREE.KTXParse={};KTXParse.KHR_DF_CHANNEL_RGBSDA_ALPHA=Q,KTXParse.KHR_DF_CHANNEL_RGBSDA_BLUE=q,KTXParse.KHR_DF_CHANNEL_RGBSDA_DEPTH=J,KTXParse.KHR_DF_CHANNEL_RGBSDA_GREEN=Y,KTXParse.KHR_DF_CHANNEL_RGBSDA_RED=R,KTXParse.KHR_DF_CHANNEL_RGBSDA_STENCIL=G,KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED=p,KTXParse.KHR_DF_FLAG_ALPHA_STRAIGHT=_,KTXParse.KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT=s,KTXParse.KHR_DF_MODEL_ASTC=c,KTXParse.KHR_DF_MODEL_ETC1=f,KTXParse.KHR_DF_MODEL_ETC1S=h,KTXParse.KHR_DF_MODEL_ETC2=U,KTXParse.KHR_DF_MODEL_RGBSDA=l,KTXParse.KHR_DF_MODEL_UNSPECIFIED=o,KTXParse.KHR_DF_PRIMARIES_ACES=W,KTXParse.KHR_DF_PRIMARIES_ACESCC=N,KTXParse.KHR_DF_PRIMARIES_ADOBERGB=j,KTXParse.KHR_DF_PRIMARIES_BT2020=z,KTXParse.KHR_DF_PRIMARIES_BT601_EBU=P,KTXParse.KHR_DF_PRIMARIES_BT601_SMPTE=C,KTXParse.KHR_DF_PRIMARIES_BT709=F,KTXParse.KHR_DF_PRIMARIES_CIEXYZ=M,KTXParse.KHR_DF_PRIMARIES_DISPLAYP3=X,KTXParse.KHR_DF_PRIMARIES_NTSC1953=H,KTXParse.KHR_DF_PRIMARIES_PAL525=K,KTXParse.KHR_DF_PRIMARIES_UNSPECIFIED=E,KTXParse.KHR_DF_SAMPLE_DATATYPE_EXPONENT=tt,KTXParse.KHR_DF_SAMPLE_DATATYPE_FLOAT=Z,KTXParse.KHR_DF_SAMPLE_DATATYPE_LINEAR=et,KTXParse.KHR_DF_SAMPLE_DATATYPE_SIGNED=$,KTXParse.KHR_DF_TRANSFER_ACESCC=O,KTXParse.KHR_DF_TRANSFER_ACESCCT=T,KTXParse.KHR_DF_TRANSFER_ADOBERGB=V,KTXParse.KHR_DF_TRANSFER_BT1886=w,KTXParse.KHR_DF_TRANSFER_DCIP3=k,KTXParse.KHR_DF_TRANSFER_HLG_EOTF=B,KTXParse.KHR_DF_TRANSFER_HLG_OETF=D,KTXParse.KHR_DF_TRANSFER_ITU=u,KTXParse.KHR_DF_TRANSFER_LINEAR=y,KTXParse.KHR_DF_TRANSFER_NTSC=b,KTXParse.KHR_DF_TRANSFER_PAL625_EOTF=S,KTXParse.KHR_DF_TRANSFER_PAL_OETF=v,KTXParse.KHR_DF_TRANSFER_PQ_EOTF=L,KTXParse.KHR_DF_TRANSFER_PQ_OETF=A,KTXParse.KHR_DF_TRANSFER_SLOG=d,KTXParse.KHR_DF_TRANSFER_SLOG2=m,KTXParse.KHR_DF_TRANSFER_SRGB=x,KTXParse.KHR_DF_TRANSFER_ST240=I,KTXParse.KHR_DF_TRANSFER_UNSPECIFIED=g,KTXParse.KHR_DF_VENDORID_KHRONOS=a,KTXParse.KHR_DF_VERSION=r,KTXParse.KHR_SUPERCOMPRESSION_BASISLZ=e,KTXParse.KHR_SUPERCOMPRESSION_NONE=t,KTXParse.KHR_SUPERCOMPRESSION_ZLIB=i,KTXParse.KHR_SUPERCOMPRESSION_ZSTD=n,KTXParse.KTX2Container=Si,KTXParse.VK_FORMAT_A1R5G5B5_UNORM_PACK16=Ut,KTXParse.VK_FORMAT_A2B10G10R10_SINT_PACK32=qt,KTXParse.VK_FORMAT_A2B10G10R10_SNORM_PACK32=Rt,KTXParse.VK_FORMAT_A2B10G10R10_UINT_PACK32=Yt,KTXParse.VK_FORMAT_A2B10G10R10_UNORM_PACK32=jt,KTXParse.VK_FORMAT_A2R10G10B10_SINT_PACK32=Xt,KTXParse.VK_FORMAT_A2R10G10B10_SNORM_PACK32=Ht,KTXParse.VK_FORMAT_A2R10G10B10_UINT_PACK32=Kt,KTXParse.VK_FORMAT_A2R10G10B10_UNORM_PACK32=Nt,KTXParse.VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT=vi,KTXParse.VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT=ki,KTXParse.VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT=Bi,KTXParse.VK_FORMAT_ASTC_10x10_SRGB_BLOCK=Xn,KTXParse.VK_FORMAT_ASTC_10x10_UNORM_BLOCK=Kn,KTXParse.VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT=mi,KTXParse.VK_FORMAT_ASTC_10x5_SRGB_BLOCK=zn,KTXParse.VK_FORMAT_ASTC_10x5_UNORM_BLOCK=Cn,KTXParse.VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT=wi,KTXParse.VK_FORMAT_ASTC_10x6_SRGB_BLOCK=Wn,KTXParse.VK_FORMAT_ASTC_10x6_UNORM_BLOCK=Mn,KTXParse.VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT=Di,KTXParse.VK_FORMAT_ASTC_10x8_SRGB_BLOCK=Hn,KTXParse.VK_FORMAT_ASTC_10x8_UNORM_BLOCK=Nn,KTXParse.VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT=Li,KTXParse.VK_FORMAT_ASTC_12x10_SRGB_BLOCK=Rn,KTXParse.VK_FORMAT_ASTC_12x10_UNORM_BLOCK=jn,KTXParse.VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT=Ai,KTXParse.VK_FORMAT_ASTC_12x12_SRGB_BLOCK=qn,KTXParse.VK_FORMAT_ASTC_12x12_UNORM_BLOCK=Yn,KTXParse.VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT=_i,KTXParse.VK_FORMAT_ASTC_4x4_SRGB_BLOCK=wn,KTXParse.VK_FORMAT_ASTC_4x4_UNORM_BLOCK=mn,KTXParse.VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT=pi,KTXParse.VK_FORMAT_ASTC_5x4_SRGB_BLOCK=Bn,KTXParse.VK_FORMAT_ASTC_5x4_UNORM_BLOCK=Dn,KTXParse.VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT=gi,KTXParse.VK_FORMAT_ASTC_5x5_SRGB_BLOCK=An,KTXParse.VK_FORMAT_ASTC_5x5_UNORM_BLOCK=Ln,KTXParse.VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT=yi,KTXParse.VK_FORMAT_ASTC_6x5_SRGB_BLOCK=vn,KTXParse.VK_FORMAT_ASTC_6x5_UNORM_BLOCK=kn,KTXParse.VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT=xi,KTXParse.VK_FORMAT_ASTC_6x6_SRGB_BLOCK=In,KTXParse.VK_FORMAT_ASTC_6x6_UNORM_BLOCK=Sn,KTXParse.VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT=ui,KTXParse.VK_FORMAT_ASTC_8x5_SRGB_BLOCK=Tn,KTXParse.VK_FORMAT_ASTC_8x5_UNORM_BLOCK=On,KTXParse.VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT=bi,KTXParse.VK_FORMAT_ASTC_8x6_SRGB_BLOCK=En,KTXParse.VK_FORMAT_ASTC_8x6_UNORM_BLOCK=Vn,KTXParse.VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT=di,KTXParse.VK_FORMAT_ASTC_8x8_SRGB_BLOCK=Pn,KTXParse.VK_FORMAT_ASTC_8x8_UNORM_BLOCK=Fn,KTXParse.VK_FORMAT_B10G11R11_UFLOAT_PACK32=Me,KTXParse.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16=$n,KTXParse.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16=si,KTXParse.VK_FORMAT_B4G4R4A4_UNORM_PACK16=at,KTXParse.VK_FORMAT_B5G5R5A1_UNORM_PACK16=ft,KTXParse.VK_FORMAT_B5G6R5_UNORM_PACK16=ot,KTXParse.VK_FORMAT_B8G8R8A8_SINT=Mt,KTXParse.VK_FORMAT_B8G8R8A8_SNORM=Ct,KTXParse.VK_FORMAT_B8G8R8A8_SRGB=Wt,KTXParse.VK_FORMAT_B8G8R8A8_UINT=zt,KTXParse.VK_FORMAT_B8G8R8A8_UNORM=Pt,KTXParse.VK_FORMAT_B8G8R8_SINT=St,KTXParse.VK_FORMAT_B8G8R8_SNORM=kt,KTXParse.VK_FORMAT_B8G8R8_SRGB=It,KTXParse.VK_FORMAT_B8G8R8_UINT=vt,KTXParse.VK_FORMAT_B8G8R8_UNORM=At,KTXParse.VK_FORMAT_BC1_RGBA_SRGB_BLOCK=Qe,KTXParse.VK_FORMAT_BC1_RGBA_UNORM_BLOCK=Je,KTXParse.VK_FORMAT_BC1_RGB_SRGB_BLOCK=Ge,KTXParse.VK_FORMAT_BC1_RGB_UNORM_BLOCK=qe,KTXParse.VK_FORMAT_BC2_SRGB_BLOCK=$e,KTXParse.VK_FORMAT_BC2_UNORM_BLOCK=Ze,KTXParse.VK_FORMAT_BC3_SRGB_BLOCK=en,KTXParse.VK_FORMAT_BC3_UNORM_BLOCK=tn,KTXParse.VK_FORMAT_BC4_SNORM_BLOCK=sn,KTXParse.VK_FORMAT_BC4_UNORM_BLOCK=nn,KTXParse.VK_FORMAT_BC5_SNORM_BLOCK=rn,KTXParse.VK_FORMAT_BC5_UNORM_BLOCK=an,KTXParse.VK_FORMAT_BC6H_SFLOAT_BLOCK=ln,KTXParse.VK_FORMAT_BC6H_UFLOAT_BLOCK=on,KTXParse.VK_FORMAT_BC7_SRGB_BLOCK=Un,KTXParse.VK_FORMAT_BC7_UNORM_BLOCK=fn,KTXParse.VK_FORMAT_D16_UNORM=Ne,KTXParse.VK_FORMAT_D16_UNORM_S8_UINT=je,KTXParse.VK_FORMAT_D24_UNORM_S8_UINT=Re,KTXParse.VK_FORMAT_D32_SFLOAT=Ke,KTXParse.VK_FORMAT_D32_SFLOAT_S8_UINT=Ye,KTXParse.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32=We,KTXParse.VK_FORMAT_EAC_R11G11_SNORM_BLOCK=dn,KTXParse.VK_FORMAT_EAC_R11G11_UNORM_BLOCK=bn,KTXParse.VK_FORMAT_EAC_R11_SNORM_BLOCK=un,KTXParse.VK_FORMAT_EAC_R11_UNORM_BLOCK=xn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK=pn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK=_n,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK=yn,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK=gn,KTXParse.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK=hn,KTXParse.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK=cn,KTXParse.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16=Zn,KTXParse.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16=ii,KTXParse.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG=fi,KTXParse.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG=ai,KTXParse.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG=Ui,KTXParse.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG=ri,KTXParse.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG=ci,KTXParse.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG=oi,KTXParse.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG=hi,KTXParse.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG=li,KTXParse.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16=Qn,KTXParse.VK_FORMAT_R10X6G10X6_UNORM_2PACK16=Jn,KTXParse.VK_FORMAT_R10X6_UNORM_PACK16=Gn,KTXParse.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16=ni,KTXParse.VK_FORMAT_R12X4G12X4_UNORM_2PACK16=ei,KTXParse.VK_FORMAT_R12X4_UNORM_PACK16=ti,KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT=pe,KTXParse.VK_FORMAT_R16G16B16A16_SINT=_e,KTXParse.VK_FORMAT_R16G16B16A16_SNORM=ce,KTXParse.VK_FORMAT_R16G16B16A16_UINT=he,KTXParse.VK_FORMAT_R16G16B16A16_UNORM=Ue,KTXParse.VK_FORMAT_R16G16B16_SFLOAT=fe,KTXParse.VK_FORMAT_R16G16B16_SINT=le,KTXParse.VK_FORMAT_R16G16B16_SNORM=re,KTXParse.VK_FORMAT_R16G16B16_UINT=oe,KTXParse.VK_FORMAT_R16G16B16_UNORM=ae,KTXParse.VK_FORMAT_R16G16_SFLOAT=se,KTXParse.VK_FORMAT_R16G16_SINT=ie,KTXParse.VK_FORMAT_R16G16_SNORM=ee,KTXParse.VK_FORMAT_R16G16_UINT=ne,KTXParse.VK_FORMAT_R16G16_UNORM=te,KTXParse.VK_FORMAT_R16_SFLOAT=$t,KTXParse.VK_FORMAT_R16_SINT=Zt,KTXParse.VK_FORMAT_R16_SNORM=Jt,KTXParse.VK_FORMAT_R16_UINT=Qt,KTXParse.VK_FORMAT_R16_UNORM=Gt,KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT=Ae,KTXParse.VK_FORMAT_R32G32B32A32_SINT=Le,KTXParse.VK_FORMAT_R32G32B32A32_UINT=Be,KTXParse.VK_FORMAT_R32G32B32_SFLOAT=De,KTXParse.VK_FORMAT_R32G32B32_SINT=we,KTXParse.VK_FORMAT_R32G32B32_UINT=me,KTXParse.VK_FORMAT_R32G32_SFLOAT=de,KTXParse.VK_FORMAT_R32G32_SINT=be,KTXParse.VK_FORMAT_R32G32_UINT=ue,KTXParse.VK_FORMAT_R32_SFLOAT=xe,KTXParse.VK_FORMAT_R32_SINT=ye,KTXParse.VK_FORMAT_R32_UINT=ge,KTXParse.VK_FORMAT_R4G4B4A4_UNORM_PACK16=st,KTXParse.VK_FORMAT_R4G4_UNORM_PACK8=it,KTXParse.VK_FORMAT_R5G5B5A1_UNORM_PACK16=lt,KTXParse.VK_FORMAT_R5G6B5_UNORM_PACK16=rt,KTXParse.VK_FORMAT_R64G64B64A64_SFLOAT=ze,KTXParse.VK_FORMAT_R64G64B64A64_SINT=Ce,KTXParse.VK_FORMAT_R64G64B64A64_UINT=Pe,KTXParse.VK_FORMAT_R64G64B64_SFLOAT=Fe,KTXParse.VK_FORMAT_R64G64B64_SINT=Ee,KTXParse.VK_FORMAT_R64G64B64_UINT=Ve,KTXParse.VK_FORMAT_R64G64_SFLOAT=Te,KTXParse.VK_FORMAT_R64G64_SINT=Oe,KTXParse.VK_FORMAT_R64G64_UINT=Ie,KTXParse.VK_FORMAT_R64_SFLOAT=Se,KTXParse.VK_FORMAT_R64_SINT=ve,KTXParse.VK_FORMAT_R64_UINT=ke,KTXParse.VK_FORMAT_R8G8B8A8_SINT=Et,KTXParse.VK_FORMAT_R8G8B8A8_SNORM=Tt,KTXParse.VK_FORMAT_R8G8B8A8_SRGB=Ft,KTXParse.VK_FORMAT_R8G8B8A8_UINT=Vt,KTXParse.VK_FORMAT_R8G8B8A8_UNORM=Ot,KTXParse.VK_FORMAT_R8G8B8_SINT=Bt,KTXParse.VK_FORMAT_R8G8B8_SNORM=wt,KTXParse.VK_FORMAT_R8G8B8_SRGB=Lt,KTXParse.VK_FORMAT_R8G8B8_UINT=Dt,KTXParse.VK_FORMAT_R8G8B8_UNORM=mt,KTXParse.VK_FORMAT_R8G8_SINT=bt,KTXParse.VK_FORMAT_R8G8_SNORM=xt,KTXParse.VK_FORMAT_R8G8_SRGB=dt,KTXParse.VK_FORMAT_R8G8_UINT=ut,KTXParse.VK_FORMAT_R8G8_UNORM=yt,KTXParse.VK_FORMAT_R8_SINT=pt,KTXParse.VK_FORMAT_R8_SNORM=ht,KTXParse.VK_FORMAT_R8_SRGB=gt,KTXParse.VK_FORMAT_R8_UINT=_t,KTXParse.VK_FORMAT_R8_UNORM=ct,KTXParse.VK_FORMAT_S8_UINT=Xe,KTXParse.VK_FORMAT_UNDEFINED=nt,KTXParse.VK_FORMAT_X8_D24_UNORM_PACK32=He,KTXParse.read=Pi,KTXParse.write=Mi})();(function(){var CompressedTexture=THREE.CompressedTexture,Data3DTexture=THREE.Data3DTexture,DataTexture=THREE.DataTexture,FileLoader=THREE.FileLoader,FloatType=THREE.FloatType,HalfFloatType=THREE.HalfFloatType,LinearEncoding=THREE.LinearEncoding,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,Loader=THREE.Loader,RedFormat=THREE.RedFormat,RGB_ETC1_Format=THREE.RGB_ETC1_Format,RGB_ETC2_Format=THREE.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format=THREE.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format=THREE.RGB_S3TC_DXT1_Format,RGBA_ASTC_4x4_Format=THREE.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format=THREE.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format=THREE.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format=THREE.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format=THREE.RGBA_S3TC_DXT5_Format,RGBAFormat=THREE.RGBAFormat,RGFormat=THREE.RGFormat,sRGBEncoding=THREE.sRGBEncoding,UnsignedByteType=THREE.UnsignedByteType,WorkerPool=THREE.WorkerPool;var read=THREE.KTXParse.read,KHR_DF_FLAG_ALPHA_PREMULTIPLIED=THREE.KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED,KHR_DF_TRANSFER_SRGB=THREE.KTXParse.KHR_DF_TRANSFER_SRGB,KHR_SUPERCOMPRESSION_NONE=THREE.KTXParse.KHR_SUPERCOMPRESSION_NONE,KHR_SUPERCOMPRESSION_ZSTD=THREE.KTXParse.KHR_SUPERCOMPRESSION_ZSTD,VK_FORMAT_UNDEFINED=THREE.KTXParse.VK_FORMAT_UNDEFINED,VK_FORMAT_R16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16_SFLOAT,VK_FORMAT_R16G16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16_SFLOAT,VK_FORMAT_R16G16B16A16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT,VK_FORMAT_R32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32_SFLOAT,VK_FORMAT_R32G32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32_SFLOAT,VK_FORMAT_R32G32B32A32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT,VK_FORMAT_R8_SRGB=THREE.KTXParse.VK_FORMAT_R8_SRGB,VK_FORMAT_R8_UNORM=THREE.KTXParse.VK_FORMAT_R8_UNORM,VK_FORMAT_R8G8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8_SRGB,VK_FORMAT_R8G8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8_UNORM,VK_FORMAT_R8G8B8A8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8B8A8_SRGB,VK_FORMAT_R8G8B8A8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8B8A8_UNORM;var ZSTDDecoder=THREE.ZSTDDecoder;const _taskCache=new WeakMap;let _activeLoaders=0;let _zstd;class KTX2Loader extends Loader{constructor(manager){super(manager);this.transcoderPath="";this.transcoderBinary=null;this.transcoderPending=null;this.workerPool=new WorkerPool;this.workerSourceURL="";this.workerConfig=null;if(typeof MSC_TRANSCODER!=="undefined"){console.warn("THREE.KTX2Loader: Please update to latest \"basis_transcoder\"."+" \"msc_basis_transcoder\" is no longer supported in three.js r125+.")}}setTranscoderPath(path){this.transcoderPath=path;return this}setWorkerLimit(num){this.workerPool.setWorkerLimit(num);return this}detectSupport(renderer){this.workerConfig={astcSupported:renderer.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:renderer.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:renderer.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:renderer.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:renderer.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:renderer.extensions.has("WEBGL_compressed_texture_pvrtc")||renderer.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")};if(renderer.capabilities.isWebGL2){this.workerConfig.etc1Supported=false}return this}init(){if(!this.transcoderPending){const jsLoader=new FileLoader(this.manager);jsLoader.setPath(this.transcoderPath);jsLoader.setWithCredentials(this.withCredentials);const jsContent=jsLoader.loadAsync("basis_transcoder.js");const binaryLoader=new FileLoader(this.manager);binaryLoader.setPath(this.transcoderPath);binaryLoader.setResponseType("arraybuffer");binaryLoader.setWithCredentials(this.withCredentials);const binaryContent=binaryLoader.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([jsContent,binaryContent]).then(([jsContent,binaryContent])=>{const fn=KTX2Loader.BasisWorker.toString();const body=["/* constants */","let _EngineFormat = "+JSON.stringify(KTX2Loader.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(KTX2Loader.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(KTX2Loader.BasisFormat),"/* basis_transcoder.js */",jsContent,"/* worker */",fn.substring(fn.indexOf("{")+1,fn.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([body]));this.transcoderBinary=binaryContent;this.workerPool.setWorkerCreator(()=>{const worker=new Worker(this.workerSourceURL);const transcoderBinary=this.transcoderBinary.slice(0);worker.postMessage({type:"init",config:this.workerConfig,transcoderBinary},[transcoderBinary]);return worker})});if(_activeLoaders>0){console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues."+" Use a single KTX2Loader instance, or call .dispose() on old instances.")}_activeLoaders++}return this.transcoderPending}load(url,onLoad,onProgress,onError){if(this.workerConfig===null){throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.")}const loader=new FileLoader(this.manager);loader.setResponseType("arraybuffer");loader.setWithCredentials(this.withCredentials);loader.load(url,buffer=>{if(_taskCache.has(buffer)){const cachedTask=_taskCache.get(buffer);return cachedTask.promise.then(onLoad).catch(onError)}this._createTexture(buffer).then(texture=>onLoad?onLoad(texture):null).catch(onError)},onProgress,onError)}_createTextureFrom(transcodeResult){const{mipmaps,width,height,format,type,error,dfdTransferFn,dfdFlags}=transcodeResult;if(type==="error")return Promise.reject(error);const texture=new CompressedTexture(mipmaps,width,height,format,UnsignedByteType);texture.minFilter=mipmaps.length===1?LinearFilter:LinearMipmapLinearFilter;texture.magFilter=LinearFilter;texture.generateMipmaps=false;texture.needsUpdate=true;texture.encoding=dfdTransferFn===KHR_DF_TRANSFER_SRGB?sRGBEncoding:LinearEncoding;texture.premultiplyAlpha=!!(dfdFlags&KHR_DF_FLAG_ALPHA_PREMULTIPLIED);return texture}_createTexture(buffer,config={}){const container=read(new Uint8Array(buffer));if(container.vkFormat!==VK_FORMAT_UNDEFINED){return createDataTexture(container)}const taskConfig=config;const texturePending=this.init().then(()=>{return this.workerPool.postMessage({type:"transcode",buffer,taskConfig:taskConfig},[buffer])}).then(e=>this._createTextureFrom(e.data));_taskCache.set(buffer,{promise:texturePending});return texturePending}dispose(){this.workerPool.dispose();if(this.workerSourceURL)URL.revokeObjectURL(this.workerSourceURL);_activeLoaders--;return this}}KTX2Loader.BasisFormat={ETC1S:0,UASTC_4x4:1};KTX2Loader.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16};KTX2Loader.EngineFormat={RGBAFormat:RGBAFormat,RGBA_ASTC_4x4_Format:RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:RGB_ETC1_Format,RGB_ETC2_Format:RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:RGB_S3TC_DXT1_Format};KTX2Loader.BasisWorker=function(){let config;let transcoderPending;let BasisModule;const EngineFormat=_EngineFormat;const TranscoderFormat=_TranscoderFormat;const BasisFormat=_BasisFormat;self.addEventListener("message",function(e){const message=e.data;switch(message.type){case"init":config=message.config;init(message.transcoderBinary);break;case"transcode":transcoderPending.then(()=>{try{const{width,height,hasAlpha,mipmaps,format,dfdTransferFn,dfdFlags}=transcode(message.buffer);const buffers=[];for(let i=0;i<mipmaps.length;++i){buffers.push(mipmaps[i].data.buffer)}self.postMessage({type:"transcode",id:message.id,width,height,hasAlpha,mipmaps,format,dfdTransferFn,dfdFlags},buffers)}catch(error){console.error(error);self.postMessage({type:"error",id:message.id,error:error.message})}});break;}});function init(wasmBinary){transcoderPending=new Promise(resolve=>{BasisModule={wasmBinary,onRuntimeInitialized:resolve};BASIS(BasisModule)}).then(()=>{BasisModule.initializeBasis();if(BasisModule.KTX2File===undefined){console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}})}function transcode(buffer){const ktx2File=new BasisModule.KTX2File(new Uint8Array(buffer));function cleanup(){ktx2File.close();ktx2File.delete()}if(!ktx2File.isValid()){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file")}const basisFormat=ktx2File.isUASTC()?BasisFormat.UASTC_4x4:BasisFormat.ETC1S;const width=ktx2File.getWidth();const height=ktx2File.getHeight();const levels=ktx2File.getLevels();const hasAlpha=ktx2File.getHasAlpha();const dfdTransferFn=ktx2File.getDFDTransferFunc();const dfdFlags=ktx2File.getDFDFlags();const{transcoderFormat,engineFormat}=getTranscoderFormat(basisFormat,width,height,hasAlpha);if(!width||!height||!levels){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid texture")}if(!ktx2File.startTranscoding()){cleanup();throw new Error("THREE.KTX2Loader: .startTranscoding failed")}const mipmaps=[];for(let mip=0;mip<levels;mip++){const levelInfo=ktx2File.getImageLevelInfo(mip,0,0);const mipWidth=levelInfo.origWidth;const mipHeight=levelInfo.origHeight;const dst=new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip,0,0,transcoderFormat));const status=ktx2File.transcodeImage(dst,mip,0,0,transcoderFormat,0,-1,-1);if(!status){cleanup();throw new Error("THREE.KTX2Loader: .transcodeImage failed.")}mipmaps.push({data:dst,width:mipWidth,height:mipHeight})}cleanup();return{width,height,hasAlpha,mipmaps,format:engineFormat,dfdTransferFn,dfdFlags}}const FORMAT_OPTIONS=[{if:"astcSupported",basisFormat:[BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ASTC_4x4,TranscoderFormat.ASTC_4x4],engineFormat:[EngineFormat.RGBA_ASTC_4x4_Format,EngineFormat.RGBA_ASTC_4x4_Format],priorityETC1S:Infinity,priorityUASTC:1,needsPowerOfTwo:false},{if:"bptcSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.BC7_M5,TranscoderFormat.BC7_M5],engineFormat:[EngineFormat.RGBA_BPTC_Format,EngineFormat.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:false},{if:"dxtSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.BC1,TranscoderFormat.BC3],engineFormat:[EngineFormat.RGB_S3TC_DXT1_Format,EngineFormat.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:false},{if:"etc2Supported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ETC1,TranscoderFormat.ETC2],engineFormat:[EngineFormat.RGB_ETC2_Format,EngineFormat.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:false},{if:"etc1Supported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ETC1],engineFormat:[EngineFormat.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:false},{if:"pvrtcSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.PVRTC1_4_RGB,TranscoderFormat.PVRTC1_4_RGBA],engineFormat:[EngineFormat.RGB_PVRTC_4BPPV1_Format,EngineFormat.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:true}];const ETC1S_OPTIONS=FORMAT_OPTIONS.sort(function(a,b){return a.priorityETC1S-b.priorityETC1S});const UASTC_OPTIONS=FORMAT_OPTIONS.sort(function(a,b){return a.priorityUASTC-b.priorityUASTC});function getTranscoderFormat(basisFormat,width,height,hasAlpha){let transcoderFormat;let engineFormat;const options=basisFormat===BasisFormat.ETC1S?ETC1S_OPTIONS:UASTC_OPTIONS;for(let i=0;i<options.length;i++){const opt=options[i];if(!config[opt.if])continue;if(!opt.basisFormat.includes(basisFormat))continue;if(hasAlpha&&opt.transcoderFormat.length<2)continue;if(opt.needsPowerOfTwo&&!(isPowerOfTwo(width)&&isPowerOfTwo(height)))continue;transcoderFormat=opt.transcoderFormat[hasAlpha?1:0];engineFormat=opt.engineFormat[hasAlpha?1:0];return{transcoderFormat,engineFormat}}console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32.");transcoderFormat=TranscoderFormat.RGBA32;engineFormat=EngineFormat.RGBAFormat;return{transcoderFormat,engineFormat}}function isPowerOfTwo(value){if(value<=2)return true;return(value&value-1)===0&&value!==0}};const FORMAT_MAP={[VK_FORMAT_R32G32B32A32_SFLOAT]:RGBAFormat,[VK_FORMAT_R16G16B16A16_SFLOAT]:RGBAFormat,[VK_FORMAT_R8G8B8A8_UNORM]:RGBAFormat,[VK_FORMAT_R8G8B8A8_SRGB]:RGBAFormat,[VK_FORMAT_R32G32_SFLOAT]:RGFormat,[VK_FORMAT_R16G16_SFLOAT]:RGFormat,[VK_FORMAT_R8G8_UNORM]:RGFormat,[VK_FORMAT_R8G8_SRGB]:RGFormat,[VK_FORMAT_R32_SFLOAT]:RedFormat,[VK_FORMAT_R16_SFLOAT]:RedFormat,[VK_FORMAT_R8_SRGB]:RedFormat,[VK_FORMAT_R8_UNORM]:RedFormat};const TYPE_MAP={[VK_FORMAT_R32G32B32A32_SFLOAT]:FloatType,[VK_FORMAT_R16G16B16A16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8G8B8A8_UNORM]:UnsignedByteType,[VK_FORMAT_R8G8B8A8_SRGB]:UnsignedByteType,[VK_FORMAT_R32G32_SFLOAT]:FloatType,[VK_FORMAT_R16G16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8G8_UNORM]:UnsignedByteType,[VK_FORMAT_R8G8_SRGB]:UnsignedByteType,[VK_FORMAT_R32_SFLOAT]:FloatType,[VK_FORMAT_R16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8_SRGB]:UnsignedByteType,[VK_FORMAT_R8_UNORM]:UnsignedByteType};const ENCODING_MAP={[VK_FORMAT_R8G8B8A8_SRGB]:sRGBEncoding,[VK_FORMAT_R8G8_SRGB]:sRGBEncoding,[VK_FORMAT_R8_SRGB]:sRGBEncoding};async function createDataTexture(container){const{vkFormat,pixelWidth,pixelHeight,pixelDepth}=container;if(FORMAT_MAP[vkFormat]===undefined){throw new Error("THREE.KTX2Loader: Unsupported vkFormat.")}const level=container.levels[0];let levelData;let view;if(container.supercompressionScheme===KHR_SUPERCOMPRESSION_NONE){levelData=level.levelData}else if(container.supercompressionScheme===KHR_SUPERCOMPRESSION_ZSTD){if(!_zstd){_zstd=new Promise(async resolve=>{const zstd=new ZSTDDecoder;await zstd.init();resolve(zstd)})}levelData=(await _zstd).decode(level.levelData,level.uncompressedByteLength)}else{throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.")}if(TYPE_MAP[vkFormat]===FloatType){view=new Float32Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Float32Array.BYTES_PER_ELEMENT)}else if(TYPE_MAP[vkFormat]===HalfFloatType){view=new Uint16Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Uint16Array.BYTES_PER_ELEMENT)}else{view=levelData}const texture=pixelDepth===0?new DataTexture(view,pixelWidth,pixelHeight):new Data3DTexture(view,pixelWidth,pixelHeight,pixelDepth);texture.type=TYPE_MAP[vkFormat];texture.format=FORMAT_MAP[vkFormat];texture.encoding=ENCODING_MAP[vkFormat]||LinearEncoding;texture.needsUpdate=true;return Promise.resolve(texture)}THREE.KTX2Loader=KTX2Loader})();(function(){let A,I,B;const g={env:{emscripten_notify_memory_growth:function(A){B=new Uint8Array(I.exports.memory.buffer)}}};class Q{init(){return A||(A="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+C).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,g)).then(this._init):WebAssembly.instantiate(Buffer.from(C,"base64"),g).then(this._init),A)}_init(A){I=A.instance,g.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!I)throw new Error("ZSTDDecoder: Await .init() before decoding.");const Q=A.byteLength,C=I.exports.malloc(Q);B.set(A,C),g=g||Number(I.exports.ZSTD_findDecompressedSize(C,Q));const E=I.exports.malloc(g),i=I.exports.ZSTD_decompress(E,g,C,Q),D=B.slice(E,E+i);return I.exports.free(C),I.exports.free(E),D}}const C=" ";THREE.ZSTDDecoder=Q})();(function(e){var modifiedJSON={};modifiedJSON.parse=function(data){json=JSON.parse(data);json.nodes&&json.nodes.forEach((node,index)=>{(node.extras||(node.extras={})).id=index.toString()});return json};e(modifiedJSON)})(function(JSON){(function(){var AnimationClip=THREE.AnimationClip,Bone=THREE.Bone,Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,ClampToEdgeWrapping=THREE.ClampToEdgeWrapping,Color=THREE.Color,DirectionalLight=THREE.DirectionalLight,DoubleSide=THREE.DoubleSide,FileLoader=THREE.FileLoader,FrontSide=THREE.FrontSide,Group=THREE.Group,ImageBitmapLoader=THREE.ImageBitmapLoader,InstancedMesh=THREE.InstancedMesh,InterleavedBuffer=THREE.InterleavedBuffer,InterleavedBufferAttribute=THREE.InterleavedBufferAttribute,Interpolant=THREE.Interpolant,InterpolateDiscrete=THREE.InterpolateDiscrete,InterpolateLinear=THREE.InterpolateLinear,Line=THREE.Line,LineBasicMaterial=THREE.LineBasicMaterial,LineLoop=THREE.LineLoop,LineSegments=THREE.LineSegments,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,LinearMipmapNearestFilter=THREE.LinearMipmapNearestFilter,Loader=THREE.Loader,LoaderUtils=THREE.LoaderUtils,Material=THREE.Material,MathUtils=THREE.MathUtils,Matrix4=THREE.Matrix4,Mesh=THREE.Mesh,MeshBasicMaterial=THREE.MeshBasicMaterial,MeshPhysicalMaterial=THREE.MeshPhysicalMaterial,MeshStandardMaterial=THREE.MeshStandardMaterial,MirroredRepeatWrapping=THREE.MirroredRepeatWrapping,NearestFilter=THREE.NearestFilter,NearestMipmapLinearFilter=THREE.NearestMipmapLinearFilter,NearestMipmapNearestFilter=THREE.NearestMipmapNearestFilter,NumberKeyframeTrack=THREE.NumberKeyframeTrack,Object3D=THREE.Object3D,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,PointLight=THREE.PointLight,Points=THREE.Points,PointsMaterial=THREE.PointsMaterial,PropertyBinding=THREE.PropertyBinding,Quaternion=THREE.Quaternion,QuaternionKeyframeTrack=THREE.QuaternionKeyframeTrack,RepeatWrapping=THREE.RepeatWrapping,Skeleton=THREE.Skeleton,SkinnedMesh=THREE.SkinnedMesh,Sphere=THREE.Sphere,SpotLight=THREE.SpotLight,Texture=THREE.Texture,TextureLoader=THREE.TextureLoader,TriangleFanDrawMode=THREE.TriangleFanDrawMode,TriangleStripDrawMode=THREE.TriangleStripDrawMode,Vector2=THREE.Vector2,Vector3=THREE.Vector3,VectorKeyframeTrack=THREE.VectorKeyframeTrack,sRGBEncoding=THREE.sRGBEncoding;var toTrianglesDrawMode=THREE.BufferGeometryUtils.toTrianglesDrawMode;class GLTFLoader extends Loader{constructor(manager){super(manager);this.dracoLoader=null;this.ktx2Loader=null;this.meshoptDecoder=null;this.pluginCallbacks=[];this.register(function(parser){return new GLTFMaterialsClearcoatExtension(parser)});this.register(function(parser){return new GLTFTextureBasisUExtension(parser)});this.register(function(parser){return new GLTFTextureWebPExtension(parser)});this.register(function(parser){return new GLTFTextureAVIFExtension(parser)});this.register(function(parser){return new GLTFMaterialsSheenExtension(parser)});this.register(function(parser){return new GLTFMaterialsTransmissionExtension(parser)});this.register(function(parser){return new GLTFMaterialsVolumeExtension(parser)});this.register(function(parser){return new GLTFMaterialsIorExtension(parser)});this.register(function(parser){return new GLTFMaterialsEmissiveStrengthExtension(parser)});this.register(function(parser){return new GLTFMaterialsSpecularExtension(parser)});this.register(function(parser){return new GLTFMaterialsIridescenceExtension(parser)});this.register(function(parser){return new GLTFLightsExtension(parser)});this.register(function(parser){return new GLTFMeshoptCompression(parser)});this.register(function(parser){return new GLTFMeshGpuInstancing(parser)})}load(url,onLoad,onProgress,onError){const scope=this;let resourcePath;if(this.resourcePath!==""){resourcePath=this.resourcePath}else if(this.path!==""){resourcePath=this.path}else{resourcePath=LoaderUtils.extractUrlBase(url)}this.manager.itemStart(url);const _onError=function(e){if(onError){onError(e)}else{console.error(e)}scope.manager.itemError(url);scope.manager.itemEnd(url)};const loader=new FileLoader(this.manager);loader.setPath(this.path);loader.setResponseType("arraybuffer");loader.setRequestHeader(this.requestHeader);loader.setWithCredentials(this.withCredentials);loader.load(url,function(data){try{scope.parse(data,resourcePath,function(gltf){onLoad(gltf);scope.manager.itemEnd(url)},_onError)}catch(e){_onError(e)}},onProgress,_onError)}setDRACOLoader(dracoLoader){this.dracoLoader=dracoLoader;return this}setDDSLoader(){throw new Error("THREE.GLTFLoader: \"MSFT_texture_dds\" no longer supported. Please update to \"KHR_texture_basisu\".")}setKTX2Loader(ktx2Loader){this.ktx2Loader=ktx2Loader;return this}setMeshoptDecoder(meshoptDecoder){this.meshoptDecoder=meshoptDecoder;return this}register(callback){if(this.pluginCallbacks.indexOf(callback)===-1){this.pluginCallbacks.push(callback)}return this}unregister(callback){if(this.pluginCallbacks.indexOf(callback)!==-1){this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(callback),1)}return this}parse(data,path,onLoad,onError){let json;const extensions={};const plugins={};const textDecoder=new TextDecoder;if(typeof data==="string"){json=JSON.parse(data)}else if(data instanceof ArrayBuffer){const magic=textDecoder.decode(new Uint8Array(data,0,4));if(magic===BINARY_EXTENSION_HEADER_MAGIC){try{extensions[EXTENSIONS.KHR_BINARY_GLTF]=new GLTFBinaryExtension(data)}catch(error){if(onError)onError(error);return}json=JSON.parse(extensions[EXTENSIONS.KHR_BINARY_GLTF].content)}else{json=JSON.parse(textDecoder.decode(data))}}else{json=data}if(json.asset===undefined||json.asset.version[0]<2){if(onError)onError(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const parser=new GLTFParser(json,{path:path||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});parser.fileLoader.setRequestHeader(this.requestHeader);for(let i=0;i<this.pluginCallbacks.length;i++){const plugin=this.pluginCallbacks[i](parser);plugins[plugin.name]=plugin;extensions[plugin.name]=true}if(json.extensionsUsed){for(let i=0;i<json.extensionsUsed.length;++i){const extensionName=json.extensionsUsed[i];const extensionsRequired=json.extensionsRequired||[];switch(extensionName){case EXTENSIONS.KHR_MATERIALS_UNLIT:extensions[extensionName]=new GLTFMaterialsUnlitExtension;break;case EXTENSIONS.KHR_DRACO_MESH_COMPRESSION:extensions[extensionName]=new GLTFDracoMeshCompressionExtension(json,this.dracoLoader);break;case EXTENSIONS.KHR_TEXTURE_TRANSFORM:extensions[extensionName]=new GLTFTextureTransformExtension;break;case EXTENSIONS.KHR_MESH_QUANTIZATION:extensions[extensionName]=new GLTFMeshQuantizationExtension;break;default:if(extensionsRequired.indexOf(extensionName)>=0&&plugins[extensionName]===undefined){console.warn("THREE.GLTFLoader: Unknown extension \""+extensionName+"\".")}}}}parser.setExtensions(extensions);parser.setPlugins(plugins);parser.parse(onLoad,onError)}parseAsync(data,path){const scope=this;return new Promise(function(resolve,reject){scope.parse(data,path,resolve,reject)})}}function GLTFRegistry(){let objects={};return{get:function(key){return objects[key]},add:function(key,object){objects[key]=object},remove:function(key){delete objects[key]},removeAll:function(){objects={}}}}const EXTENSIONS={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class GLTFLightsExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_LIGHTS_PUNCTUAL;this.cache={refs:{},uses:{}}}_markDefs(){const parser=this.parser;const nodeDefs=this.parser.json.nodes||[];for(let nodeIndex=0,nodeLength=nodeDefs.length;nodeIndex<nodeLength;nodeIndex++){const nodeDef=nodeDefs[nodeIndex];if(nodeDef.extensions&&nodeDef.extensions[this.name]&&nodeDef.extensions[this.name].light!==undefined){parser._addNodeRef(this.cache,nodeDef.extensions[this.name].light)}}}_loadLight(lightIndex){const parser=this.parser;const cacheKey="light:"+lightIndex;let dependency=parser.cache.get(cacheKey);if(dependency)return dependency;const json=parser.json;const extensions=json.extensions&&json.extensions[this.name]||{};const lightDefs=extensions.lights||[];const lightDef=lightDefs[lightIndex];let lightNode;const color=new Color(16777215);if(lightDef.color!==undefined)color.fromArray(lightDef.color);const range=lightDef.range!==undefined?lightDef.range:0;switch(lightDef.type){case"directional":lightNode=new DirectionalLight(color);lightNode.target.position.set(0,0,-1);lightNode.add(lightNode.target);break;case"point":lightNode=new PointLight(color);lightNode.distance=range;break;case"spot":lightNode=new SpotLight(color);lightNode.distance=range;lightDef.spot=lightDef.spot||{};lightDef.spot.innerConeAngle=lightDef.spot.innerConeAngle!==undefined?lightDef.spot.innerConeAngle:0;lightDef.spot.outerConeAngle=lightDef.spot.outerConeAngle!==undefined?lightDef.spot.outerConeAngle:Math.PI/4;lightNode.angle=lightDef.spot.outerConeAngle;lightNode.penumbra=1-lightDef.spot.innerConeAngle/lightDef.spot.outerConeAngle;lightNode.target.position.set(0,0,-1);lightNode.add(lightNode.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+lightDef.type);}lightNode.position.set(0,0,0);lightNode.decay=2;assignExtrasToUserData(lightNode,lightDef);if(lightDef.intensity!==undefined)lightNode.intensity=lightDef.intensity;lightNode.name=parser.createUniqueName(lightDef.name||"light_"+lightIndex);dependency=Promise.resolve(lightNode);parser.cache.add(cacheKey,dependency);return dependency}getDependency(type,index){if(type!=="light")return;return this._loadLight(index)}createNodeAttachment(nodeIndex){const self=this;const parser=this.parser;const json=parser.json;const nodeDef=json.nodes[nodeIndex];const lightDef=nodeDef.extensions&&nodeDef.extensions[this.name]||{};const lightIndex=lightDef.light;if(lightIndex===undefined)return null;return this._loadLight(lightIndex).then(function(light){return parser._getNodeRef(self.cache,lightIndex,light)})}}class GLTFMaterialsUnlitExtension{constructor(){this.name=EXTENSIONS.KHR_MATERIALS_UNLIT}getMaterialType(){return MeshBasicMaterial}extendParams(materialParams,materialDef,parser){const pending=[];materialParams.color=new Color(1,1,1);materialParams.opacity=1;const metallicRoughness=materialDef.pbrMetallicRoughness;if(metallicRoughness){if(Array.isArray(metallicRoughness.baseColorFactor)){const array=metallicRoughness.baseColorFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(metallicRoughness.baseColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",metallicRoughness.baseColorTexture,sRGBEncoding))}}return Promise.all(pending)}}class GLTFMaterialsEmissiveStrengthExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const emissiveStrength=materialDef.extensions[this.name].emissiveStrength;if(emissiveStrength!==undefined){materialParams.emissiveIntensity=emissiveStrength}return Promise.resolve()}}class GLTFMaterialsClearcoatExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_CLEARCOAT}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.clearcoatFactor!==undefined){materialParams.clearcoat=extension.clearcoatFactor}if(extension.clearcoatTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatMap",extension.clearcoatTexture))}if(extension.clearcoatRoughnessFactor!==undefined){materialParams.clearcoatRoughness=extension.clearcoatRoughnessFactor}if(extension.clearcoatRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatRoughnessMap",extension.clearcoatRoughnessTexture))}if(extension.clearcoatNormalTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatNormalMap",extension.clearcoatNormalTexture));if(extension.clearcoatNormalTexture.scale!==undefined){const scale=extension.clearcoatNormalTexture.scale;materialParams.clearcoatNormalScale=new Vector2(scale,scale)}}return Promise.all(pending)}}class GLTFMaterialsIridescenceExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_IRIDESCENCE}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.iridescenceFactor!==undefined){materialParams.iridescence=extension.iridescenceFactor}if(extension.iridescenceTexture!==undefined){pending.push(parser.assignTexture(materialParams,"iridescenceMap",extension.iridescenceTexture))}if(extension.iridescenceIor!==undefined){materialParams.iridescenceIOR=extension.iridescenceIor}if(materialParams.iridescenceThicknessRange===undefined){materialParams.iridescenceThicknessRange=[100,400]}if(extension.iridescenceThicknessMinimum!==undefined){materialParams.iridescenceThicknessRange[0]=extension.iridescenceThicknessMinimum}if(extension.iridescenceThicknessMaximum!==undefined){materialParams.iridescenceThicknessRange[1]=extension.iridescenceThicknessMaximum}if(extension.iridescenceThicknessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"iridescenceThicknessMap",extension.iridescenceThicknessTexture))}return Promise.all(pending)}}class GLTFMaterialsSheenExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_SHEEN}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];materialParams.sheenColor=new Color(0,0,0);materialParams.sheenRoughness=0;materialParams.sheen=1;const extension=materialDef.extensions[this.name];if(extension.sheenColorFactor!==undefined){materialParams.sheenColor.fromArray(extension.sheenColorFactor)}if(extension.sheenRoughnessFactor!==undefined){materialParams.sheenRoughness=extension.sheenRoughnessFactor}if(extension.sheenColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"sheenColorMap",extension.sheenColorTexture,sRGBEncoding))}if(extension.sheenRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"sheenRoughnessMap",extension.sheenRoughnessTexture))}return Promise.all(pending)}}class GLTFMaterialsTransmissionExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_TRANSMISSION}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.transmissionFactor!==undefined){materialParams.transmission=extension.transmissionFactor}if(extension.transmissionTexture!==undefined){pending.push(parser.assignTexture(materialParams,"transmissionMap",extension.transmissionTexture))}return Promise.all(pending)}}class GLTFMaterialsVolumeExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_VOLUME}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];materialParams.thickness=extension.thicknessFactor!==undefined?extension.thicknessFactor:0;if(extension.thicknessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"thicknessMap",extension.thicknessTexture))}materialParams.attenuationDistance=extension.attenuationDistance||Infinity;const colorArray=extension.attenuationColor||[1,1,1];materialParams.attenuationColor=new Color(colorArray[0],colorArray[1],colorArray[2]);return Promise.all(pending)}}class GLTFMaterialsIorExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_IOR}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const extension=materialDef.extensions[this.name];materialParams.ior=extension.ior!==undefined?extension.ior:1.5;return Promise.resolve()}}class GLTFMaterialsSpecularExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_SPECULAR}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];materialParams.specularIntensity=extension.specularFactor!==undefined?extension.specularFactor:1;if(extension.specularTexture!==undefined){pending.push(parser.assignTexture(materialParams,"specularIntensityMap",extension.specularTexture))}const colorArray=extension.specularColorFactor||[1,1,1];materialParams.specularColor=new Color(colorArray[0],colorArray[1],colorArray[2]);if(extension.specularColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"specularColorMap",extension.specularColorTexture,sRGBEncoding))}return Promise.all(pending)}}class GLTFTextureBasisUExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_TEXTURE_BASISU}loadTexture(textureIndex){const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[this.name]){return null}const extension=textureDef.extensions[this.name];const loader=parser.options.ktx2Loader;if(!loader){if(json.extensionsRequired&&json.extensionsRequired.indexOf(this.name)>=0){throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures")}else{return null}}return parser.loadTextureImage(textureIndex,extension.source,loader)}}class GLTFTextureWebPExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.EXT_TEXTURE_WEBP;this.isSupported=null}loadTexture(textureIndex){const name=this.name;const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[name]){return null}const extension=textureDef.extensions[name];const source=json.images[extension.source];let loader=parser.textureLoader;if(source.uri){const handler=parser.options.manager.getHandler(source.uri);if(handler!==null)loader=handler}return this.detectSupport().then(function(isSupported){if(isSupported)return parser.loadTextureImage(textureIndex,extension.source,loader);if(json.extensionsRequired&&json.extensionsRequired.indexOf(name)>=0){throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.")}return parser.loadTexture(textureIndex)})}detectSupport(){if(!this.isSupported){this.isSupported=new Promise(function(resolve){const image=new Image;image.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA";image.onload=image.onerror=function(){resolve(image.height===1)}})}return this.isSupported}}class GLTFTextureAVIFExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.EXT_TEXTURE_AVIF;this.isSupported=null}loadTexture(textureIndex){const name=this.name;const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[name]){return null}const extension=textureDef.extensions[name];const source=json.images[extension.source];let loader=parser.textureLoader;if(source.uri){const handler=parser.options.manager.getHandler(source.uri);if(handler!==null)loader=handler}return this.detectSupport().then(function(isSupported){if(isSupported)return parser.loadTextureImage(textureIndex,extension.source,loader);if(json.extensionsRequired&&json.extensionsRequired.indexOf(name)>=0){throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.")}return parser.loadTexture(textureIndex)})}detectSupport(){if(!this.isSupported){this.isSupported=new Promise(function(resolve){const image=new Image;image.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=";image.onload=image.onerror=function(){resolve(image.height===1)}})}return this.isSupported}}class GLTFMeshoptCompression{constructor(parser){this.name=EXTENSIONS.EXT_MESHOPT_COMPRESSION;this.parser=parser}loadBufferView(index){const json=this.parser.json;const bufferView=json.bufferViews[index];if(bufferView.extensions&&bufferView.extensions[this.name]){const extensionDef=bufferView.extensions[this.name];const buffer=this.parser.getDependency("buffer",extensionDef.buffer);const decoder=this.parser.options.meshoptDecoder;if(!decoder||!decoder.supported){if(json.extensionsRequired&&json.extensionsRequired.indexOf(this.name)>=0){throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files")}else{return null}}return buffer.then(function(res){const byteOffset=extensionDef.byteOffset||0;const byteLength=extensionDef.byteLength||0;const count=extensionDef.count;const stride=extensionDef.byteStride;const source=new Uint8Array(res,byteOffset,byteLength);if(decoder.decodeGltfBufferAsync){return decoder.decodeGltfBufferAsync(count,stride,source,extensionDef.mode,extensionDef.filter).then(function(res){return res.buffer})}else{return decoder.ready.then(function(){const result=new ArrayBuffer(count*stride);decoder.decodeGltfBuffer(new Uint8Array(result),count,stride,source,extensionDef.mode,extensionDef.filter);return result})}})}else{return null}}}class GLTFMeshGpuInstancing{constructor(parser){this.name=EXTENSIONS.EXT_MESH_GPU_INSTANCING;this.parser=parser}createNodeMesh(nodeIndex){const json=this.parser.json;const nodeDef=json.nodes[nodeIndex];if(!nodeDef.extensions||!nodeDef.extensions[this.name]||nodeDef.mesh===undefined){return null}const meshDef=json.meshes[nodeDef.mesh];for(const primitive of meshDef.primitives){if(primitive.mode!==WEBGL_CONSTANTS.TRIANGLES&&primitive.mode!==WEBGL_CONSTANTS.TRIANGLE_STRIP&&primitive.mode!==WEBGL_CONSTANTS.TRIANGLE_FAN&&primitive.mode!==undefined){return null}}const extensionDef=nodeDef.extensions[this.name];const attributesDef=extensionDef.attributes;const pending=[];const attributes={};for(const key in attributesDef){pending.push(this.parser.getDependency("accessor",attributesDef[key]).then(accessor=>{attributes[key]=accessor;return attributes[key]}))}if(pending.length<1){return null}pending.push(this.parser.createNodeMesh(nodeIndex));return Promise.all(pending).then(results=>{const nodeObject=results.pop();const meshes=nodeObject.isGroup?nodeObject.children:[nodeObject];const count=results[0].count;const instancedMeshes=[];for(const mesh of meshes){const m=new Matrix4;const p=new Vector3;const q=new Quaternion;const s=new Vector3(1,1,1);const instancedMesh=new InstancedMesh(mesh.geometry,mesh.material,count);for(let i=0;i<count;i++){if(attributes.TRANSLATION){p.fromBufferAttribute(attributes.TRANSLATION,i)}if(attributes.ROTATION){q.fromBufferAttribute(attributes.ROTATION,i)}if(attributes.SCALE){s.fromBufferAttribute(attributes.SCALE,i)}instancedMesh.setMatrixAt(i,m.compose(p,q,s))}for(const attributeName in attributes){if(attributeName!=="TRANSLATION"&&attributeName!=="ROTATION"&&attributeName!=="SCALE"){mesh.geometry.setAttribute(attributeName,attributes[attributeName])}}Object3D.prototype.copy.call(instancedMesh,mesh);this.parser.assignFinalMaterial(instancedMesh);instancedMeshes.push(instancedMesh)}if(nodeObject.isGroup){nodeObject.clear();nodeObject.add(...instancedMeshes);return nodeObject}return instancedMeshes[0]})}}const BINARY_EXTENSION_HEADER_MAGIC="glTF";const BINARY_EXTENSION_HEADER_LENGTH=12;const BINARY_EXTENSION_CHUNK_TYPES={JSON:1313821514,BIN:5130562};class GLTFBinaryExtension{constructor(data){this.name=EXTENSIONS.KHR_BINARY_GLTF;this.content=null;this.body=null;const headerView=new DataView(data,0,BINARY_EXTENSION_HEADER_LENGTH);const textDecoder=new TextDecoder;this.header={magic:textDecoder.decode(new Uint8Array(data.slice(0,4))),version:headerView.getUint32(4,true),length:headerView.getUint32(8,true)};if(this.header.magic!==BINARY_EXTENSION_HEADER_MAGIC){throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.")}else if(this.header.version<2){throw new Error("THREE.GLTFLoader: Legacy binary file detected.")}const chunkContentsLength=this.header.length-BINARY_EXTENSION_HEADER_LENGTH;const chunkView=new DataView(data,BINARY_EXTENSION_HEADER_LENGTH);let chunkIndex=0;while(chunkIndex<chunkContentsLength){const chunkLength=chunkView.getUint32(chunkIndex,true);chunkIndex+=4;const chunkType=chunkView.getUint32(chunkIndex,true);chunkIndex+=4;if(chunkType===BINARY_EXTENSION_CHUNK_TYPES.JSON){const contentArray=new Uint8Array(data,BINARY_EXTENSION_HEADER_LENGTH+chunkIndex,chunkLength);this.content=textDecoder.decode(contentArray)}else if(chunkType===BINARY_EXTENSION_CHUNK_TYPES.BIN){const byteOffset=BINARY_EXTENSION_HEADER_LENGTH+chunkIndex;this.body=data.slice(byteOffset,byteOffset+chunkLength)}chunkIndex+=chunkLength}if(this.content===null){throw new Error("THREE.GLTFLoader: JSON content not found.")}}}class GLTFDracoMeshCompressionExtension{constructor(json,dracoLoader){if(!dracoLoader){throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.")}this.name=EXTENSIONS.KHR_DRACO_MESH_COMPRESSION;this.json=json;this.dracoLoader=dracoLoader;this.dracoLoader.preload()}decodePrimitive(primitive,parser){const json=this.json;const dracoLoader=this.dracoLoader;const bufferViewIndex=primitive.extensions[this.name].bufferView;const gltfAttributeMap=primitive.extensions[this.name].attributes;const threeAttributeMap={};const attributeNormalizedMap={};const attributeTypeMap={};for(const attributeName in gltfAttributeMap){const threeAttributeName=ATTRIBUTES[attributeName]||attributeName.toLowerCase();threeAttributeMap[threeAttributeName]=gltfAttributeMap[attributeName]}for(const attributeName in primitive.attributes){const threeAttributeName=ATTRIBUTES[attributeName]||attributeName.toLowerCase();if(gltfAttributeMap[attributeName]!==undefined){const accessorDef=json.accessors[primitive.attributes[attributeName]];const componentType=WEBGL_COMPONENT_TYPES[accessorDef.componentType];attributeTypeMap[threeAttributeName]=componentType.name;attributeNormalizedMap[threeAttributeName]=accessorDef.normalized===true}}return parser.getDependency("bufferView",bufferViewIndex).then(function(bufferView){return new Promise(function(resolve){dracoLoader.decodeDracoFile(bufferView,function(geometry){for(const attributeName in geometry.attributes){const attribute=geometry.attributes[attributeName];const normalized=attributeNormalizedMap[attributeName];if(normalized!==undefined)attribute.normalized=normalized}resolve(geometry)},threeAttributeMap,attributeTypeMap)})})}}class GLTFTextureTransformExtension{constructor(){this.name=EXTENSIONS.KHR_TEXTURE_TRANSFORM}extendTexture(texture,transform){if((transform.texCoord===undefined||transform.texCoord===texture.channel)&&transform.offset===undefined&&transform.rotation===undefined&&transform.scale===undefined){return texture}texture=texture.clone();if(transform.texCoord!==undefined){texture.channel=transform.texCoord}if(transform.offset!==undefined){texture.offset.fromArray(transform.offset)}if(transform.rotation!==undefined){texture.rotation=transform.rotation}if(transform.scale!==undefined){texture.repeat.fromArray(transform.scale)}texture.needsUpdate=true;return texture}}class GLTFMeshQuantizationExtension{constructor(){this.name=EXTENSIONS.KHR_MESH_QUANTIZATION}}class GLTFCubicSplineInterpolant extends Interpolant{constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer)}copySampleValue_(index){const result=this.resultBuffer,values=this.sampleValues,valueSize=this.valueSize,offset=index*valueSize*3+valueSize;for(let i=0;i!==valueSize;i++){result[i]=values[offset+i]}return result}interpolate_(i1,t0,t,t1){const result=this.resultBuffer;const values=this.sampleValues;const stride=this.valueSize;const stride2=stride*2;const stride3=stride*3;const td=t1-t0;const p=(t-t0)/td;const pp=p*p;const ppp=pp*p;const offset1=i1*stride3;const offset0=offset1-stride3;const s2=-2*ppp+3*pp;const s3=ppp-pp;const s0=1-s2;const s1=s3-pp+p;for(let i=0;i!==stride;i++){const p0=values[offset0+i+stride];const m0=values[offset0+i+stride2]*td;const p1=values[offset1+i+stride];const m1=values[offset1+i]*td;result[i]=s0*p0+s1*m0+s2*p1+s3*m1}return result}}const _q=new Quaternion;class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant{interpolate_(i1,t0,t,t1){const result=super.interpolate_(i1,t0,t,t1);_q.fromArray(result).normalize().toArray(result);return result}}const 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};const WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};const WEBGL_FILTERS={9728:NearestFilter,9729:LinearFilter,9984:NearestMipmapNearestFilter,9985:LinearMipmapNearestFilter,9986:NearestMipmapLinearFilter,9987:LinearMipmapLinearFilter};const WEBGL_WRAPPINGS={33071:ClampToEdgeWrapping,33648:MirroredRepeatWrapping,10497:RepeatWrapping};const WEBGL_TYPE_SIZES={"SCALAR":1,"VEC2":2,"VEC3":3,"VEC4":4,"MAT2":4,"MAT3":9,"MAT4":16};const ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"};const PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"};const INTERPOLATION={CUBICSPLINE:undefined,LINEAR:InterpolateLinear,STEP:InterpolateDiscrete};const ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function createDefaultMaterial(cache){if(cache["DefaultMaterial"]===undefined){cache["DefaultMaterial"]=new MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:false,depthTest:true,side:FrontSide})}return cache["DefaultMaterial"]}function addUnknownExtensionsToUserData(knownExtensions,object,objectDef){for(const name in objectDef.extensions){if(knownExtensions[name]===undefined){object.userData.gltfExtensions=object.userData.gltfExtensions||{};object.userData.gltfExtensions[name]=objectDef.extensions[name]}}}function assignExtrasToUserData(object,gltfDef){if(gltfDef.extras!==undefined){if(typeof gltfDef.extras==="object"){Object.assign(object.userData,gltfDef.extras)}else{console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+gltfDef.extras)}}}function addMorphTargets(geometry,targets,parser){let hasMorphPosition=false;let hasMorphNormal=false;let hasMorphColor=false;for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(target.POSITION!==undefined)hasMorphPosition=true;if(target.NORMAL!==undefined)hasMorphNormal=true;if(target.COLOR_0!==undefined)hasMorphColor=true;if(hasMorphPosition&&hasMorphNormal&&hasMorphColor)break}if(!hasMorphPosition&&!hasMorphNormal&&!hasMorphColor)return Promise.resolve(geometry);const pendingPositionAccessors=[];const pendingNormalAccessors=[];const pendingColorAccessors=[];for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(hasMorphPosition){const pendingAccessor=target.POSITION!==undefined?parser.getDependency("accessor",target.POSITION):geometry.attributes.position;pendingPositionAccessors.push(pendingAccessor)}if(hasMorphNormal){const pendingAccessor=target.NORMAL!==undefined?parser.getDependency("accessor",target.NORMAL):geometry.attributes.normal;pendingNormalAccessors.push(pendingAccessor)}if(hasMorphColor){const pendingAccessor=target.COLOR_0!==undefined?parser.getDependency("accessor",target.COLOR_0):geometry.attributes.color;pendingColorAccessors.push(pendingAccessor)}}return Promise.all([Promise.all(pendingPositionAccessors),Promise.all(pendingNormalAccessors),Promise.all(pendingColorAccessors)]).then(function(accessors){const morphPositions=accessors[0];const morphNormals=accessors[1];const morphColors=accessors[2];if(hasMorphPosition)geometry.morphAttributes.position=morphPositions;if(hasMorphNormal)geometry.morphAttributes.normal=morphNormals;if(hasMorphColor)geometry.morphAttributes.color=morphColors;geometry.morphTargetsRelative=true;return geometry})}function updateMorphTargets(mesh,meshDef){mesh.updateMorphTargets();if(meshDef.weights!==undefined){for(let i=0,il=meshDef.weights.length;i<il;i++){mesh.morphTargetInfluences[i]=meshDef.weights[i]}}if(meshDef.extras&&Array.isArray(meshDef.extras.targetNames)){const targetNames=meshDef.extras.targetNames;if(mesh.morphTargetInfluences.length===targetNames.length){mesh.morphTargetDictionary={};for(let i=0,il=targetNames.length;i<il;i++){mesh.morphTargetDictionary[targetNames[i]]=i}}else{console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}}function createPrimitiveKey(primitiveDef){const dracoExtension=primitiveDef.extensions&&primitiveDef.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION];let geometryKey;if(dracoExtension){geometryKey="draco:"+dracoExtension.bufferView+":"+dracoExtension.indices+":"+createAttributesKey(dracoExtension.attributes)}else{geometryKey=primitiveDef.indices+":"+createAttributesKey(primitiveDef.attributes)+":"+primitiveDef.mode}return geometryKey}function createAttributesKey(attributes){let attributesKey="";const keys=Object.keys(attributes).sort();for(let i=0,il=keys.length;i<il;i++){attributesKey+=keys[i]+":"+attributes[keys[i]]+";"}return attributesKey}function getNormalizedComponentScale(constructor){switch(constructor){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");}}function getImageURIMimeType(uri){if(uri.search(/\.jpe?g($|\?)/i)>0||uri.search(/^data\:image\/jpeg/)===0)return"image/jpeg";if(uri.search(/\.webp($|\?)/i)>0||uri.search(/^data\:image\/webp/)===0)return"image/webp";return"image/png"}const _identityMatrix=new Matrix4;class GLTFParser{constructor(json={},options={}){this.json=json;this.extensions={};this.plugins={};this.options=options;this.cache=new GLTFRegistry;this.associations=new Map;this.primitiveCache={};this.nodeCache={};this.meshCache={refs:{},uses:{}};this.cameraCache={refs:{},uses:{}};this.lightCache={refs:{},uses:{}};this.sourceCache={};this.textureCache={};this.nodeNamesUsed={};let isSafari=false;let isFirefox=false;let firefoxVersion=-1;if(typeof navigator!=="undefined"){isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===true;isFirefox=navigator.userAgent.indexOf("Firefox")>-1;firefoxVersion=isFirefox?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1}if(typeof createImageBitmap==="undefined"||isSafari||isFirefox&&firefoxVersion<98){this.textureLoader=new TextureLoader(this.options.manager)}else{this.textureLoader=new ImageBitmapLoader(this.options.manager)}this.textureLoader.setCrossOrigin(this.options.crossOrigin);this.textureLoader.setRequestHeader(this.options.requestHeader);this.fileLoader=new FileLoader(this.options.manager);this.fileLoader.setResponseType("arraybuffer");if(this.options.crossOrigin==="use-credentials"){this.fileLoader.setWithCredentials(true)}}setExtensions(extensions){this.extensions=extensions}setPlugins(plugins){this.plugins=plugins}parse(onLoad,onError){const parser=this;const json=this.json;const extensions=this.extensions;this.cache.removeAll();this.nodeCache={};this._invokeAll(function(ext){return ext._markDefs&&ext._markDefs()});Promise.all(this._invokeAll(function(ext){return ext.beforeRoot&&ext.beforeRoot()})).then(function(){return Promise.all([parser.getDependencies("scene"),parser.getDependencies("animation"),parser.getDependencies("camera")])}).then(function(dependencies){const result={scene:dependencies[0][json.scene||0],scenes:dependencies[0],animations:dependencies[1],cameras:dependencies[2],asset:json.asset,parser:parser,userData:{}};addUnknownExtensionsToUserData(extensions,result,json);assignExtrasToUserData(result,json);Promise.all(parser._invokeAll(function(ext){return ext.afterRoot&&ext.afterRoot(result)})).then(function(){onLoad(result)})}).catch(onError)}_markDefs(){const nodeDefs=this.json.nodes||[];const skinDefs=this.json.skins||[];const meshDefs=this.json.meshes||[];for(let skinIndex=0,skinLength=skinDefs.length;skinIndex<skinLength;skinIndex++){const joints=skinDefs[skinIndex].joints;for(let i=0,il=joints.length;i<il;i++){nodeDefs[joints[i]].isBone=true}}for(let nodeIndex=0,nodeLength=nodeDefs.length;nodeIndex<nodeLength;nodeIndex++){const nodeDef=nodeDefs[nodeIndex];if(nodeDef.mesh!==undefined){this._addNodeRef(this.meshCache,nodeDef.mesh);if(nodeDef.skin!==undefined){meshDefs[nodeDef.mesh].isSkinnedMesh=true}}if(nodeDef.camera!==undefined){this._addNodeRef(this.cameraCache,nodeDef.camera)}}}_addNodeRef(cache,index){if(index===undefined)return;if(cache.refs[index]===undefined){cache.refs[index]=cache.uses[index]=0}cache.refs[index]++}_getNodeRef(cache,index,object){if(cache.refs[index]<=1)return object;const ref=object.clone();const updateMappings=(original,clone)=>{const mappings=this.associations.get(original);if(mappings!=null){this.associations.set(clone,mappings)}for(const[i,child]of original.children.entries()){updateMappings(child,clone.children[i])}};updateMappings(object,ref);ref.name+="_instance_"+cache.uses[index]++;return ref}_invokeOne(func){const extensions=Object.values(this.plugins);extensions.push(this);for(let i=0;i<extensions.length;i++){const result=func(extensions[i]);if(result)return result}return null}_invokeAll(func){const extensions=Object.values(this.plugins);extensions.unshift(this);const pending=[];for(let i=0;i<extensions.length;i++){const result=func(extensions[i]);if(result)pending.push(result)}return pending}getDependency(type,index){const cacheKey=type+":"+index;let dependency=this.cache.get(cacheKey);if(!dependency){switch(type){case"scene":dependency=this.loadScene(index);break;case"node":dependency=this._invokeOne(function(ext){return ext.loadNode&&ext.loadNode(index)});break;case"mesh":dependency=this._invokeOne(function(ext){return ext.loadMesh&&ext.loadMesh(index)});break;case"accessor":dependency=this.loadAccessor(index);break;case"bufferView":dependency=this._invokeOne(function(ext){return ext.loadBufferView&&ext.loadBufferView(index)});break;case"buffer":dependency=this.loadBuffer(index);break;case"material":dependency=this._invokeOne(function(ext){return ext.loadMaterial&&ext.loadMaterial(index)});break;case"texture":dependency=this._invokeOne(function(ext){return ext.loadTexture&&ext.loadTexture(index)});break;case"skin":dependency=this.loadSkin(index);break;case"animation":dependency=this._invokeOne(function(ext){return ext.loadAnimation&&ext.loadAnimation(index)});break;case"camera":dependency=this.loadCamera(index);break;default:dependency=this._invokeOne(function(ext){return ext!=this&&ext.getDependency&&ext.getDependency(type,index)});if(!dependency){throw new Error("Unknown type: "+type)}break;}this.cache.add(cacheKey,dependency)}return dependency}getDependencies(type){let dependencies=this.cache.get(type);if(!dependencies){const parser=this;const defs=this.json[type+(type==="mesh"?"es":"s")]||[];dependencies=Promise.all(defs.map(function(def,index){return parser.getDependency(type,index)}));this.cache.add(type,dependencies)}return dependencies}loadBuffer(bufferIndex){const bufferDef=this.json.buffers[bufferIndex];const loader=this.fileLoader;if(bufferDef.type&&bufferDef.type!=="arraybuffer"){throw new Error("THREE.GLTFLoader: "+bufferDef.type+" buffer type is not supported.")}if(bufferDef.uri===undefined&&bufferIndex===0){return Promise.resolve(this.extensions[EXTENSIONS.KHR_BINARY_GLTF].body)}const options=this.options;return new Promise(function(resolve,reject){loader.load(LoaderUtils.resolveURL(bufferDef.uri,options.path),resolve,undefined,function(){reject(new Error("THREE.GLTFLoader: Failed to load buffer \""+bufferDef.uri+"\"."))})})}loadBufferView(bufferViewIndex){const bufferViewDef=this.json.bufferViews[bufferViewIndex];return this.getDependency("buffer",bufferViewDef.buffer).then(function(buffer){const byteLength=bufferViewDef.byteLength||0;const byteOffset=bufferViewDef.byteOffset||0;return buffer.slice(byteOffset,byteOffset+byteLength)})}loadAccessor(accessorIndex){const parser=this;const json=this.json;const accessorDef=this.json.accessors[accessorIndex];if(accessorDef.bufferView===undefined&&accessorDef.sparse===undefined){const itemSize=WEBGL_TYPE_SIZES[accessorDef.type];const TypedArray=WEBGL_COMPONENT_TYPES[accessorDef.componentType];const normalized=accessorDef.normalized===true;const array=new TypedArray(accessorDef.count*itemSize);return Promise.resolve(new BufferAttribute(array,itemSize,normalized))}const pendingBufferViews=[];if(accessorDef.bufferView!==undefined){pendingBufferViews.push(this.getDependency("bufferView",accessorDef.bufferView))}else{pendingBufferViews.push(null)}if(accessorDef.sparse!==undefined){pendingBufferViews.push(this.getDependency("bufferView",accessorDef.sparse.indices.bufferView));pendingBufferViews.push(this.getDependency("bufferView",accessorDef.sparse.values.bufferView))}return Promise.all(pendingBufferViews).then(function(bufferViews){const bufferView=bufferViews[0];const itemSize=WEBGL_TYPE_SIZES[accessorDef.type];const TypedArray=WEBGL_COMPONENT_TYPES[accessorDef.componentType];const elementBytes=TypedArray.BYTES_PER_ELEMENT;const itemBytes=elementBytes*itemSize;const byteOffset=accessorDef.byteOffset||0;const byteStride=accessorDef.bufferView!==undefined?json.bufferViews[accessorDef.bufferView].byteStride:undefined;const normalized=accessorDef.normalized===true;let array,bufferAttribute;if(byteStride&&byteStride!==itemBytes){const ibSlice=Math.floor(byteOffset/byteStride);const ibCacheKey="InterleavedBuffer:"+accessorDef.bufferView+":"+accessorDef.componentType+":"+ibSlice+":"+accessorDef.count;let ib=parser.cache.get(ibCacheKey);if(!ib){array=new TypedArray(bufferView,ibSlice*byteStride,accessorDef.count*byteStride/elementBytes);ib=new InterleavedBuffer(array,byteStride/elementBytes);parser.cache.add(ibCacheKey,ib)}bufferAttribute=new InterleavedBufferAttribute(ib,itemSize,byteOffset%byteStride/elementBytes,normalized)}else{if(bufferView===null){array=new TypedArray(accessorDef.count*itemSize)}else{array=new TypedArray(bufferView,byteOffset,accessorDef.count*itemSize)}bufferAttribute=new BufferAttribute(array,itemSize,normalized)}if(accessorDef.sparse!==undefined){const itemSizeIndices=WEBGL_TYPE_SIZES.SCALAR;const TypedArrayIndices=WEBGL_COMPONENT_TYPES[accessorDef.sparse.indices.componentType];const byteOffsetIndices=accessorDef.sparse.indices.byteOffset||0;const byteOffsetValues=accessorDef.sparse.values.byteOffset||0;const sparseIndices=new TypedArrayIndices(bufferViews[1],byteOffsetIndices,accessorDef.sparse.count*itemSizeIndices);const sparseValues=new TypedArray(bufferViews[2],byteOffsetValues,accessorDef.sparse.count*itemSize);if(bufferView!==null){bufferAttribute=new BufferAttribute(bufferAttribute.array.slice(),bufferAttribute.itemSize,bufferAttribute.normalized)}for(let i=0,il=sparseIndices.length;i<il;i++){const index=sparseIndices[i];bufferAttribute.setX(index,sparseValues[i*itemSize]);if(itemSize>=2)bufferAttribute.setY(index,sparseValues[i*itemSize+1]);if(itemSize>=3)bufferAttribute.setZ(index,sparseValues[i*itemSize+2]);if(itemSize>=4)bufferAttribute.setW(index,sparseValues[i*itemSize+3]);if(itemSize>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return bufferAttribute})}loadTexture(textureIndex){const json=this.json;const options=this.options;const textureDef=json.textures[textureIndex];const sourceIndex=textureDef.source;const sourceDef=json.images[sourceIndex];let loader=this.textureLoader;if(sourceDef.uri){const handler=options.manager.getHandler(sourceDef.uri);if(handler!==null)loader=handler}return this.loadTextureImage(textureIndex,sourceIndex,loader)}loadTextureImage(textureIndex,sourceIndex,loader){const parser=this;const json=this.json;const textureDef=json.textures[textureIndex];const sourceDef=json.images[sourceIndex];const cacheKey=(sourceDef.uri||sourceDef.bufferView)+":"+textureDef.sampler;if(this.textureCache[cacheKey]){return this.textureCache[cacheKey]}const promise=this.loadImageSource(sourceIndex,loader).then(function(texture){texture.flipY=false;texture.name=textureDef.name||sourceDef.name||"";if(texture.name===""&&typeof sourceDef.uri==="string"&&sourceDef.uri.startsWith("data:image/")===false){texture.name=sourceDef.uri}const samplers=json.samplers||{};const sampler=samplers[textureDef.sampler]||{};texture.magFilter=WEBGL_FILTERS[sampler.magFilter]||LinearFilter;texture.minFilter=WEBGL_FILTERS[sampler.minFilter]||LinearMipmapLinearFilter;texture.wrapS=WEBGL_WRAPPINGS[sampler.wrapS]||RepeatWrapping;texture.wrapT=WEBGL_WRAPPINGS[sampler.wrapT]||RepeatWrapping;parser.associations.set(texture,{textures:textureIndex});return texture}).catch(function(){return null});this.textureCache[cacheKey]=promise;return promise}loadImageSource(sourceIndex,loader){const parser=this;const json=this.json;const options=this.options;if(this.sourceCache[sourceIndex]!==undefined){return this.sourceCache[sourceIndex].then(texture=>texture.clone())}const sourceDef=json.images[sourceIndex];const URL=self.URL||self.webkitURL;let sourceURI=sourceDef.uri||"";let isObjectURL=false;if(sourceDef.bufferView!==undefined){sourceURI=parser.getDependency("bufferView",sourceDef.bufferView).then(function(bufferView){isObjectURL=true;const blob=new Blob([bufferView],{type:sourceDef.mimeType});sourceURI=URL.createObjectURL(blob);return sourceURI})}else if(sourceDef.uri===undefined){throw new Error("THREE.GLTFLoader: Image "+sourceIndex+" is missing URI and bufferView")}const promise=Promise.resolve(sourceURI).then(function(sourceURI){return new Promise(function(resolve,reject){let onLoad=resolve;if(loader.isImageBitmapLoader===true){onLoad=function(imageBitmap){const texture=new Texture(imageBitmap);texture.needsUpdate=true;resolve(texture)}}loader.load(LoaderUtils.resolveURL(sourceURI,options.path),onLoad,undefined,reject)})}).then(function(texture){if(isObjectURL===true){URL.revokeObjectURL(sourceURI)}texture.userData.mimeType=sourceDef.mimeType||getImageURIMimeType(sourceDef.uri);return texture}).catch(function(error){console.error("THREE.GLTFLoader: Couldn't load texture",sourceURI);throw error});this.sourceCache[sourceIndex]=promise;return promise}assignTexture(materialParams,mapName,mapDef,encoding){const parser=this;return this.getDependency("texture",mapDef.index).then(function(texture){if(!texture)return null;if(mapDef.texCoord!==undefined&&mapDef.texCoord>0){texture=texture.clone();texture.channel=mapDef.texCoord}if(parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]){const transform=mapDef.extensions!==undefined?mapDef.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]:undefined;if(transform){const gltfReference=parser.associations.get(texture);texture=parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM].extendTexture(texture,transform);parser.associations.set(texture,gltfReference)}}if(encoding!==undefined){texture.encoding=encoding}materialParams[mapName]=texture;return texture})}assignFinalMaterial(mesh){const geometry=mesh.geometry;let material=mesh.material;const useDerivativeTangents=geometry.attributes.tangent===undefined;const useVertexColors=geometry.attributes.color!==undefined;const useFlatShading=geometry.attributes.normal===undefined;if(mesh.isPoints){const cacheKey="PointsMaterial:"+material.uuid;let pointsMaterial=this.cache.get(cacheKey);if(!pointsMaterial){pointsMaterial=new PointsMaterial;Material.prototype.copy.call(pointsMaterial,material);pointsMaterial.color.copy(material.color);pointsMaterial.map=material.map;pointsMaterial.sizeAttenuation=false;this.cache.add(cacheKey,pointsMaterial)}material=pointsMaterial}else if(mesh.isLine){const cacheKey="LineBasicMaterial:"+material.uuid;let lineMaterial=this.cache.get(cacheKey);if(!lineMaterial){lineMaterial=new LineBasicMaterial;Material.prototype.copy.call(lineMaterial,material);lineMaterial.color.copy(material.color);lineMaterial.map=material.map;this.cache.add(cacheKey,lineMaterial)}material=lineMaterial}if(useDerivativeTangents||useVertexColors||useFlatShading){let cacheKey="ClonedMaterial:"+material.uuid+":";if(useDerivativeTangents)cacheKey+="derivative-tangents:";if(useVertexColors)cacheKey+="vertex-colors:";if(useFlatShading)cacheKey+="flat-shading:";let cachedMaterial=this.cache.get(cacheKey);if(!cachedMaterial){cachedMaterial=material.clone();if(useVertexColors)cachedMaterial.vertexColors=true;if(useFlatShading)cachedMaterial.flatShading=true;if(useDerivativeTangents){if(cachedMaterial.normalScale)cachedMaterial.normalScale.y*=-1;if(cachedMaterial.clearcoatNormalScale)cachedMaterial.clearcoatNormalScale.y*=-1}this.cache.add(cacheKey,cachedMaterial);this.associations.set(cachedMaterial,this.associations.get(material))}material=cachedMaterial}mesh.material=material}getMaterialType(){return MeshStandardMaterial}loadMaterial(materialIndex){const parser=this;const json=this.json;const extensions=this.extensions;const materialDef=json.materials[materialIndex];let materialType;const materialParams={};const materialExtensions=materialDef.extensions||{};const pending=[];if(materialExtensions[EXTENSIONS.KHR_MATERIALS_UNLIT]){const kmuExtension=extensions[EXTENSIONS.KHR_MATERIALS_UNLIT];materialType=kmuExtension.getMaterialType();pending.push(kmuExtension.extendParams(materialParams,materialDef,parser))}else{const metallicRoughness=materialDef.pbrMetallicRoughness||{};materialParams.color=new Color(1,1,1);materialParams.opacity=1;if(Array.isArray(metallicRoughness.baseColorFactor)){const array=metallicRoughness.baseColorFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(metallicRoughness.baseColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",metallicRoughness.baseColorTexture,sRGBEncoding))}materialParams.metalness=metallicRoughness.metallicFactor!==undefined?metallicRoughness.metallicFactor:1;materialParams.roughness=metallicRoughness.roughnessFactor!==undefined?metallicRoughness.roughnessFactor:1;if(metallicRoughness.metallicRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"metalnessMap",metallicRoughness.metallicRoughnessTexture));pending.push(parser.assignTexture(materialParams,"roughnessMap",metallicRoughness.metallicRoughnessTexture))}materialType=this._invokeOne(function(ext){return ext.getMaterialType&&ext.getMaterialType(materialIndex)});pending.push(Promise.all(this._invokeAll(function(ext){return ext.extendMaterialParams&&ext.extendMaterialParams(materialIndex,materialParams)})))}if(materialDef.doubleSided===true){materialParams.side=DoubleSide}const alphaMode=materialDef.alphaMode||ALPHA_MODES.OPAQUE;if(alphaMode===ALPHA_MODES.BLEND){materialParams.transparent=true;materialParams.depthWrite=false}else{materialParams.transparent=false;if(alphaMode===ALPHA_MODES.MASK){materialParams.alphaTest=materialDef.alphaCutoff!==undefined?materialDef.alphaCutoff:0.5}}if(materialDef.normalTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"normalMap",materialDef.normalTexture));materialParams.normalScale=new Vector2(1,1);if(materialDef.normalTexture.scale!==undefined){const scale=materialDef.normalTexture.scale;materialParams.normalScale.set(scale,scale)}}if(materialDef.occlusionTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"aoMap",materialDef.occlusionTexture));if(materialDef.occlusionTexture.strength!==undefined){materialParams.aoMapIntensity=materialDef.occlusionTexture.strength}}if(materialDef.emissiveFactor!==undefined&&materialType!==MeshBasicMaterial){materialParams.emissive=new Color().fromArray(materialDef.emissiveFactor)}if(materialDef.emissiveTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"emissiveMap",materialDef.emissiveTexture,sRGBEncoding))}return Promise.all(pending).then(function(){const material=new materialType(materialParams);if(materialDef.name)material.name=materialDef.name;assignExtrasToUserData(material,materialDef);parser.associations.set(material,{materials:materialIndex});if(materialDef.extensions)addUnknownExtensionsToUserData(extensions,material,materialDef);return material})}createUniqueName(originalName){const sanitizedName=PropertyBinding.sanitizeNodeName(originalName||"");let name=sanitizedName;for(let i=1;this.nodeNamesUsed[name];++i){name=sanitizedName+"_"+i}this.nodeNamesUsed[name]=true;return name}loadGeometries(primitives){const parser=this;const extensions=this.extensions;const cache=this.primitiveCache;function createDracoPrimitive(primitive){return extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(primitive,parser).then(function(geometry){return addPrimitiveAttributes(geometry,primitive,parser)})}const pending=[];for(let i=0,il=primitives.length;i<il;i++){const primitive=primitives[i];const cacheKey=createPrimitiveKey(primitive);const cached=cache[cacheKey];if(cached){pending.push(cached.promise)}else{let geometryPromise;if(primitive.extensions&&primitive.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION]){geometryPromise=createDracoPrimitive(primitive)}else{geometryPromise=addPrimitiveAttributes(new BufferGeometry,primitive,parser)}cache[cacheKey]={primitive:primitive,promise:geometryPromise};pending.push(geometryPromise)}}return Promise.all(pending)}loadMesh(meshIndex){const parser=this;const json=this.json;const extensions=this.extensions;const meshDef=json.meshes[meshIndex];const primitives=meshDef.primitives;const pending=[];for(let i=0,il=primitives.length;i<il;i++){const material=primitives[i].material===undefined?createDefaultMaterial(this.cache):this.getDependency("material",primitives[i].material);pending.push(material)}pending.push(parser.loadGeometries(primitives));return Promise.all(pending).then(function(results){const materials=results.slice(0,results.length-1);const geometries=results[results.length-1];const meshes=[];for(let i=0,il=geometries.length;i<il;i++){const geometry=geometries[i];const primitive=primitives[i];let mesh;const material=materials[i];if(primitive.mode===WEBGL_CONSTANTS.TRIANGLES||primitive.mode===WEBGL_CONSTANTS.TRIANGLE_STRIP||primitive.mode===WEBGL_CONSTANTS.TRIANGLE_FAN||primitive.mode===undefined){mesh=meshDef.isSkinnedMesh===true?new SkinnedMesh(geometry,material):new Mesh(geometry,material);if(mesh.isSkinnedMesh===true){mesh.normalizeSkinWeights()}if(primitive.mode===WEBGL_CONSTANTS.TRIANGLE_STRIP){mesh.geometry=toTrianglesDrawMode(mesh.geometry,TriangleStripDrawMode)}else if(primitive.mode===WEBGL_CONSTANTS.TRIANGLE_FAN){mesh.geometry=toTrianglesDrawMode(mesh.geometry,TriangleFanDrawMode)}}else if(primitive.mode===WEBGL_CONSTANTS.LINES){mesh=new LineSegments(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.LINE_STRIP){mesh=new Line(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.LINE_LOOP){mesh=new LineLoop(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.POINTS){mesh=new Points(geometry,material)}else{throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+primitive.mode)}if(Object.keys(mesh.geometry.morphAttributes).length>0){updateMorphTargets(mesh,meshDef)}mesh.name=parser.createUniqueName(meshDef.name||"mesh_"+meshIndex);assignExtrasToUserData(mesh,meshDef);if(primitive.extensions)addUnknownExtensionsToUserData(extensions,mesh,primitive);parser.assignFinalMaterial(mesh);meshes.push(mesh)}for(let i=0,il=meshes.length;i<il;i++){parser.associations.set(meshes[i],{meshes:meshIndex,primitives:i})}if(meshes.length===1){return meshes[0]}const group=new Group;parser.associations.set(group,{meshes:meshIndex});for(let i=0,il=meshes.length;i<il;i++){group.add(meshes[i])}return group})}loadCamera(cameraIndex){let camera;const cameraDef=this.json.cameras[cameraIndex];const params=cameraDef[cameraDef.type];if(!params){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}if(cameraDef.type==="perspective"){camera=new PerspectiveCamera(MathUtils.radToDeg(params.yfov),params.aspectRatio||1,params.znear||1,params.zfar||2e6)}else if(cameraDef.type==="orthographic"){camera=new OrthographicCamera(-params.xmag,params.xmag,params.ymag,-params.ymag,params.znear,params.zfar)}if(cameraDef.name)camera.name=this.createUniqueName(cameraDef.name);assignExtrasToUserData(camera,cameraDef);return Promise.resolve(camera)}loadSkin(skinIndex){const skinDef=this.json.skins[skinIndex];const pending=[];for(let i=0,il=skinDef.joints.length;i<il;i++){pending.push(this._loadNodeShallow(skinDef.joints[i]))}if(skinDef.inverseBindMatrices!==undefined){pending.push(this.getDependency("accessor",skinDef.inverseBindMatrices))}else{pending.push(null)}return Promise.all(pending).then(function(results){const inverseBindMatrices=results.pop();const jointNodes=results;const bones=[];const boneInverses=[];for(let i=0,il=jointNodes.length;i<il;i++){const jointNode=jointNodes[i];if(jointNode){bones.push(jointNode);const mat=new Matrix4;if(inverseBindMatrices!==null){mat.fromArray(inverseBindMatrices.array,i*16)}boneInverses.push(mat)}else{console.warn("THREE.GLTFLoader: Joint \"%s\" could not be found.",skinDef.joints[i])}}return new Skeleton(bones,boneInverses)})}loadAnimation(animationIndex){const json=this.json;const animationDef=json.animations[animationIndex];const animationName=animationDef.name?animationDef.name:"animation_"+animationIndex;const pendingNodes=[];const pendingInputAccessors=[];const pendingOutputAccessors=[];const pendingSamplers=[];const pendingTargets=[];for(let i=0,il=animationDef.channels.length;i<il;i++){const channel=animationDef.channels[i];const sampler=animationDef.samplers[channel.sampler];const target=channel.target;const name=target.node;const input=animationDef.parameters!==undefined?animationDef.parameters[sampler.input]:sampler.input;const output=animationDef.parameters!==undefined?animationDef.parameters[sampler.output]:sampler.output;if(target.node===undefined)continue;pendingNodes.push(this.getDependency("node",name));pendingInputAccessors.push(this.getDependency("accessor",input));pendingOutputAccessors.push(this.getDependency("accessor",output));pendingSamplers.push(sampler);pendingTargets.push(target)}return Promise.all([Promise.all(pendingNodes),Promise.all(pendingInputAccessors),Promise.all(pendingOutputAccessors),Promise.all(pendingSamplers),Promise.all(pendingTargets)]).then(function(dependencies){const nodes=dependencies[0];const inputAccessors=dependencies[1];const outputAccessors=dependencies[2];const samplers=dependencies[3];const targets=dependencies[4];const tracks=[];for(let i=0,il=nodes.length;i<il;i++){const node=nodes[i];const inputAccessor=inputAccessors[i];const outputAccessor=outputAccessors[i];const sampler=samplers[i];const target=targets[i];if(node===undefined)continue;node.updateMatrix();let TypedKeyframeTrack;switch(PATH_PROPERTIES[target.path]){case PATH_PROPERTIES.weights:TypedKeyframeTrack=NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:TypedKeyframeTrack=QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:TypedKeyframeTrack=VectorKeyframeTrack;break;}const targetName=node.name?node.name:node.uuid;const interpolation=sampler.interpolation!==undefined?INTERPOLATION[sampler.interpolation]:InterpolateLinear;const targetNames=[];if(PATH_PROPERTIES[target.path]===PATH_PROPERTIES.weights){node.traverse(function(object){if(object.morphTargetInfluences){targetNames.push(object.name?object.name:object.uuid)}})}else{targetNames.push(targetName)}let outputArray=outputAccessor.array;if(outputAccessor.normalized){const scale=getNormalizedComponentScale(outputArray.constructor);const scaled=new Float32Array(outputArray.length);for(let j=0,jl=outputArray.length;j<jl;j++){scaled[j]=outputArray[j]*scale}outputArray=scaled}for(let j=0,jl=targetNames.length;j<jl;j++){const track=new TypedKeyframeTrack(targetNames[j]+"."+PATH_PROPERTIES[target.path],inputAccessor.array,outputArray,interpolation);if(sampler.interpolation==="CUBICSPLINE"){track.createInterpolant=function InterpolantFactoryMethodGLTFCubicSpline(result){const interpolantType=this instanceof QuaternionKeyframeTrack?GLTFCubicSplineQuaternionInterpolant:GLTFCubicSplineInterpolant;return new interpolantType(this.times,this.values,this.getValueSize()/3,result)};track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=true}tracks.push(track)}}return new AnimationClip(animationName,undefined,tracks)})}createNodeMesh(nodeIndex){const json=this.json;const parser=this;const nodeDef=json.nodes[nodeIndex];if(nodeDef.mesh===undefined)return null;return parser.getDependency("mesh",nodeDef.mesh).then(function(mesh){const node=parser._getNodeRef(parser.meshCache,nodeDef.mesh,mesh);if(nodeDef.weights!==undefined){node.traverse(function(o){if(!o.isMesh)return;for(let i=0,il=nodeDef.weights.length;i<il;i++){o.morphTargetInfluences[i]=nodeDef.weights[i]}})}return node})}loadNode(nodeIndex){const json=this.json;const parser=this;const nodeDef=json.nodes[nodeIndex];const nodePending=parser._loadNodeShallow(nodeIndex);const childPending=[];const childrenDef=nodeDef.children||[];for(let i=0,il=childrenDef.length;i<il;i++){childPending.push(parser.getDependency("node",childrenDef[i]))}const skeletonPending=nodeDef.skin===undefined?Promise.resolve(null):parser.getDependency("skin",nodeDef.skin);return Promise.all([nodePending,Promise.all(childPending),skeletonPending]).then(function(results){const node=results[0];const children=results[1];const skeleton=results[2];if(skeleton!==null){node.traverse(function(mesh){if(!mesh.isSkinnedMesh)return;mesh.bind(skeleton,_identityMatrix)})}for(let i=0,il=children.length;i<il;i++){node.add(children[i])}return node})}_loadNodeShallow(nodeIndex){const json=this.json;const extensions=this.extensions;const parser=this;if(this.nodeCache[nodeIndex]!==undefined){return this.nodeCache[nodeIndex]}const nodeDef=json.nodes[nodeIndex];const nodeName=nodeDef.name?parser.createUniqueName(nodeDef.name):"";const pending=[];const meshPromise=parser._invokeOne(function(ext){return ext.createNodeMesh&&ext.createNodeMesh(nodeIndex)});if(meshPromise){pending.push(meshPromise)}if(nodeDef.camera!==undefined){pending.push(parser.getDependency("camera",nodeDef.camera).then(function(camera){return parser._getNodeRef(parser.cameraCache,nodeDef.camera,camera)}))}parser._invokeAll(function(ext){return ext.createNodeAttachment&&ext.createNodeAttachment(nodeIndex)}).forEach(function(promise){pending.push(promise)});this.nodeCache[nodeIndex]=Promise.all(pending).then(function(objects){let node;if(nodeDef.isBone===true){node=new Bone}else if(objects.length>1){node=new Group}else if(objects.length===1){node=objects[0]}else{node=new Object3D}if(node!==objects[0]){for(let i=0,il=objects.length;i<il;i++){node.add(objects[i])}}if(nodeDef.name){node.userData.name=nodeDef.name;node.name=nodeName}assignExtrasToUserData(node,nodeDef);if(nodeDef.extensions)addUnknownExtensionsToUserData(extensions,node,nodeDef);if(nodeDef.matrix!==undefined){const matrix=new Matrix4;matrix.fromArray(nodeDef.matrix);node.applyMatrix4(matrix)}else{if(nodeDef.translation!==undefined){node.position.fromArray(nodeDef.translation)}if(nodeDef.rotation!==undefined){node.quaternion.fromArray(nodeDef.rotation)}if(nodeDef.scale!==undefined){node.scale.fromArray(nodeDef.scale)}}if(!parser.associations.has(node)){parser.associations.set(node,{})}parser.associations.get(node).nodes=nodeIndex;return node});return this.nodeCache[nodeIndex]}loadScene(sceneIndex){const extensions=this.extensions;const sceneDef=this.json.scenes[sceneIndex];const parser=this;const scene=new Group;if(sceneDef.name)scene.name=parser.createUniqueName(sceneDef.name);assignExtrasToUserData(scene,sceneDef);if(sceneDef.extensions)addUnknownExtensionsToUserData(extensions,scene,sceneDef);const nodeIds=sceneDef.nodes||[];const pending=[];for(let i=0,il=nodeIds.length;i<il;i++){pending.push(parser.getDependency("node",nodeIds[i]))}return Promise.all(pending).then(function(nodes){for(let i=0,il=nodes.length;i<il;i++){scene.add(nodes[i])}const reduceAssociations=node=>{const reducedAssociations=new Map;for(const[key,value]of parser.associations){if(key instanceof Material||key instanceof Texture){reducedAssociations.set(key,value)}}node.traverse(node=>{const mappings=parser.associations.get(node);if(mappings!=null){reducedAssociations.set(node,mappings)}});return reducedAssociations};parser.associations=reduceAssociations(scene);return scene})}}function computeBounds(geometry,primitiveDef,parser){const attributes=primitiveDef.attributes;const box=new Box3;if(attributes.POSITION!==undefined){const accessor=parser.json.accessors[attributes.POSITION];const min=accessor.min;const max=accessor.max;if(min!==undefined&&max!==undefined){box.set(new Vector3(min[0],min[1],min[2]),new Vector3(max[0],max[1],max[2]));if(accessor.normalized){const boxScale=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]);box.min.multiplyScalar(boxScale);box.max.multiplyScalar(boxScale)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else{return}const targets=primitiveDef.targets;if(targets!==undefined){const maxDisplacement=new Vector3;const vector=new Vector3;for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(target.POSITION!==undefined){const accessor=parser.json.accessors[target.POSITION];const min=accessor.min;const max=accessor.max;if(min!==undefined&&max!==undefined){vector.setX(Math.max(Math.abs(min[0]),Math.abs(max[0])));vector.setY(Math.max(Math.abs(min[1]),Math.abs(max[1])));vector.setZ(Math.max(Math.abs(min[2]),Math.abs(max[2])));if(accessor.normalized){const boxScale=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]);vector.multiplyScalar(boxScale)}maxDisplacement.max(vector)}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}}box.expandByVector(maxDisplacement)}geometry.boundingBox=box;const sphere=new Sphere;box.getCenter(sphere.center);sphere.radius=box.min.distanceTo(box.max)/2;geometry.boundingSphere=sphere}function addPrimitiveAttributes(geometry,primitiveDef,parser){const attributes=primitiveDef.attributes;const pending=[];function assignAttributeAccessor(accessorIndex,attributeName){return parser.getDependency("accessor",accessorIndex).then(function(accessor){geometry.setAttribute(attributeName,accessor)})}for(const gltfAttributeName in attributes){const threeAttributeName=ATTRIBUTES[gltfAttributeName]||gltfAttributeName.toLowerCase();if(threeAttributeName in geometry.attributes)continue;pending.push(assignAttributeAccessor(attributes[gltfAttributeName],threeAttributeName))}if(primitiveDef.indices!==undefined&&!geometry.index){const accessor=parser.getDependency("accessor",primitiveDef.indices).then(function(accessor){geometry.setIndex(accessor)});pending.push(accessor)}assignExtrasToUserData(geometry,primitiveDef);computeBounds(geometry,primitiveDef,parser);return Promise.all(pending).then(function(){return primitiveDef.targets!==undefined?addMorphTargets(geometry,primitiveDef.targets,parser):geometry})}THREE.GLTFLoader=GLTFLoader})()});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Object3D=THREE.Object3D;var deviceMax=Number.POSITIVE_INFINITY;var deviceMin=Number.NEGATIVE_INFINITY;class CSS3DObject extends Object3D{constructor(element){super();this.containerElement=document.createElement("div");this.containerElement.style.position="absolute";this.containerElement.style.pointerEvents="none";this.containerElement.style.overflow="hidden";this.cameraElement=document.createElement("div");this.containerElement.appendChild(this.cameraElement);this.cameraElement.style.transformStyle="preserve-3d";this.cameraElement.style.position="absolute";this.cameraElement.style.pointerEvents="none";this.element=element||document.createElement("div");this.cameraElement.appendChild(this.element);this.element.style.position="absolute";this.element.style.pointerEvents="none";this.contentWidth=100;this.contentHeight=100;this.vertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.projectedVertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.addEventListener("removed",function(){this.traverse(function(object){if(object.containerElement instanceof Element&&object.containerElement.parentNode!==null)object.containerElement.parentNode.removeChild(object.containerElement)})})}copy(source,recursive){super.copy(source,recursive);this.element=source.element.cloneNode(true);return this}updateVertices(){this.vertices[0].set(-this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[1].set(+this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[2].set(+this.contentWidth*0.5,-this.contentHeight*0.5,0);this.vertices[3].set(-this.contentWidth*0.5,-this.contentHeight*0.5,0)}projectVertices(camera){if(this.matrixWorldNeedsUpdate)this.updateMatrixWorld();projectVertices(this,camera);var pv=this.projectedVertices;this.isDrawable=true;pv=pv.filter(function(p){return p.z<0});var x=0,y=0;var max=0,min=0;pv.forEach(function(p){if(p.x<-1)x-=1;else if(p.x>1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)<pv.length&&Math.abs(y)<pv.length&&max<deviceMax&&min>deviceMin}}CSS3DObject.prototype.isCSS3DObject=true;THREE.CSS3DObject=CSS3DObject;class CSS3DQuad extends Object3D{constructor(element){super();this.contentWidth=100;this.contentHeight=100;this.vertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.projectedVertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.containerElement=document.createElement("div");this.containerElement.style.position="absolute";this.containerElement.style.pointerEvents="none";this.containerElement.style.overflow="hidden";this.element=element||document.createElement("div");this.containerElement.appendChild(this.element);this.element.style.position="absolute";this.element.style.pointerEvents="none"}copy(source,recursive){super.copy(source,recursive);for(var i=0;i<4;i++)this.vertices[i].copy(source.vertices[i]);return this}projectVertices(camera){if(this.matrixWorldNeedsUpdate)this.updateMatrixWorld();projectVertices(this,camera);var pv=this.projectedVertices;this.isDrawable=pv[0].z<0&&pv[1].z<0&&pv[2].z<0&&pv[3].z<0;var x=0,y=0;var max=0,min=0;pv.forEach(function(p){if(p.x<-1)x-=1;else if(p.x>1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)<pv.length&&Math.abs(y)<pv.length&&max<deviceMax&&min>deviceMin}}CSS3DQuad.prototype.isCSS3DQuad=true;THREE.CSS3DQuad=CSS3DQuad;class CSS3DRectangle extends CSS3DQuad{constructor(element){super(element)}updateVertices(){this.vertices[0].set(-this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[1].set(+this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[2].set(+this.contentWidth*0.5,-this.contentHeight*0.5,0);this.vertices[3].set(-this.contentWidth*0.5,-this.contentHeight*0.5,0)}}CSS3DRectangle.prototype.isCSS3DRectangle=true;THREE.CSS3DRectangle=CSS3DRectangle;var _matrix=new THREE.Matrix4;class CSS3DRenderer{constructor(){var _this=this;var _width,_height;var _widthHalf,_heightHalf;var _fov;var _cameraStyle;var cache={objects:new WeakMap};var domElement=document.createElement("div");domElement.style.overflow="hidden";this.domElement=domElement;this.getSize=function(){return{width:_width,height:_height}};this.render=function(scene,camera){_fov=camera.projectionMatrix.elements[5]*_heightHalf;if(scene.matrixWorldAutoUpdate===true)scene.updateMatrixWorld();_cameraStyle="translateZ("+_fov+"px)"+getCameraCSSMatrix(camera.matrixWorldInverse)+"translate("+_widthHalf+"px,"+_heightHalf+"px)";renderObject(scene,scene,camera)};this.setSize=function(width,height){_width=width;_height=height;_widthHalf=_width/2;_heightHalf=_height/2;domElement.style.width=_width+"px";domElement.style.height=_height+"px"};function renderObject(object,scene,camera){if(object.isCSS3DObject||object.isCSS3DQuad){object.onBeforeRender(_this,scene,camera);var cachedObject=cache.objects.get(object)||{};var cacheChanged=false;if(object.isVisible){if(object.isCSS3DQuad){var pv=object.projectedVertices;var x0=(1+pv[0].x)*0.5*_width,y0=(1-pv[0].y)*0.5*_height,x1=(1+pv[1].x)*0.5*_width,y1=(1-pv[1].y)*0.5*_height,x2=(1+pv[2].x)*0.5*_width,y2=(1-pv[2].y)*0.5*_height,x3=(1+pv[3].x)*0.5*_width,y3=(1-pv[3].y)*0.5*_height;createQuadMatrix(object.contentWidth,object.contentHeight,x0,y0,x1,y1,x3,y3,x2,y2,_matrix.elements);var elementStyle=getQuadCSSMatrix(_matrix);if(cachedObject.elementStyle!=elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.containerElement.style.width=(cachedObject.width=_width)+"px";object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}}else{var elementStyle=getObjectCSSMatrix(object.matrixWorld);if(cachedObject.cameraFov!==_fov){object.containerElement.style.perspective=(cachedObject.cameraFov=_fov)+"px";cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.cameraElement.style.width=object.containerElement.style.width=(cachedObject.width=_width)+"px";object.cameraElement.style.height=object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}if(cachedObject.cameraStyle!==_cameraStyle){cachedObject.cameraStyle=object.cameraElement.style.transform=_cameraStyle;cacheChanged=true}if(cachedObject.elementStyle!==elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}}object.containerElement.style.left="0"}else{object.containerElement.style.left=_width+"px"}if(cacheChanged)cache.objects.set(object,cachedObject);object.containerElement.style.display=object.visible?"":"none";if(object.containerElement.parentNode!==domElement)domElement.appendChild(object.containerElement);object.onAfterRender(_this,scene,camera)}for(var i=0,l=object.children.length;i<l;i++)renderObject(object.children[i],scene,camera)}function epsilon(value){return value<1e-10&&value>-1e-10?0:value}function getCameraCSSMatrix(matrix){var elements=matrix.elements;return"matrix3d("+epsilon(elements[0])+","+epsilon(-elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(-elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(-elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(-elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")"}function getObjectCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(-elements[4])+","+epsilon(-elements[5])+","+epsilon(-elements[6])+","+epsilon(-elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return"translate(-50%,-50%)"+matrix3d}function getQuadCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return matrix3d}}};THREE.CSS3DRenderer=CSS3DRenderer;function projectVertices(object,camera){for(var index=0;index<object.vertices.length;index++){var vertex=object.vertices[index];var projectedVertex=object.projectedVertices[index];projectedVertex.copy(vertex);projectedVertex.applyMatrix4(object.matrixWorld);projectedVertex.applyMatrix4(camera.matrixWorldInverse);var z=projectedVertex.z;projectedVertex.applyMatrix4(camera.projectionMatrix);projectedVertex.z=z}}function setArray(){var a=arguments[0];for(var i=1;i<arguments.length;i++)a[i-1]=arguments[i];return a}function copyArray(t,s){for(var i=0;i<s.length;i++)t[i]=s[i];return t}function adjugate(m,out){setArray(out,m[4]*m[8]-m[5]*m[7],m[2]*m[7]-m[1]*m[8],m[1]*m[5]-m[2]*m[4],m[5]*m[6]-m[3]*m[8],m[0]*m[8]-m[2]*m[6],m[2]*m[3]-m[0]*m[5],m[3]*m[7]-m[4]*m[6],m[1]*m[6]-m[0]*m[7],m[0]*m[4]-m[1]*m[3])}function multmm(a,b,out){for(var i=0;i!=3;++i){for(var j=0;j!=3;++j){var cij=0;for(var k=0;k!=3;++k){cij+=a[3*i+k]*b[3*k+j]}out[3*i+j]=cij}}}function multmv(m,v,out){return setArray(out,m[0]*v[0]+m[1]*v[1]+m[2]*v[2],m[3]*v[0]+m[4]*v[1]+m[5]*v[2],m[6]*v[0]+m[7]*v[1]+m[8]*v[2])}var m=new Array(9);var m2=new Array(9);var mAdj=new Array(9);var p=new Array(3);var v=new Array(3);var s=new Array(9);var d=new Array(9);var sAdj=new Array(9);var t=new Array(9);function basisToPoints(x1,y1,x2,y2,x3,y3,x4,y4,out){setArray(m,x1,x2,x3,y1,y2,y3,1,1,1);adjugate(m,mAdj);setArray(p,x4,y4,1);multmv(mAdj,p,v);setArray(m2,v[0],0,0,0,v[1],0,0,0,v[2]);return multmm(m,m2,out)}function general2DProjection(x1s,y1s,x1d,y1d,x2s,y2s,x2d,y2d,x3s,y3s,x3d,y3d,x4s,y4s,x4d,y4d,out){basisToPoints(x1s,y1s,x2s,y2s,x3s,y3s,x4s,y4s,s);basisToPoints(x1d,y1d,x2d,y2d,x3d,y3d,x4d,y4d,d);adjugate(s,sAdj);return multmm(d,sAdj,out)}function createQuadMatrix(w,h,x1,y1,x2,y2,x3,y3,x4,y4,out){general2DProjection(0,0,x1,y1,w,0,x2,y2,0,h,x3,y3,w,h,x4,y4,t);setArray(out,t[0]/t[8],t[3]/t[8],0,t[6]/t[8],t[1]/t[8],t[4]/t[8],0,t[7]/t[8],0,0,1,0,t[2]/t[8],t[5]/t[8],0,1)}});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var CubeReflectionMapping=THREE.CubeReflectionMapping,CubeRefractionMapping=THREE.CubeRefractionMapping,CubeUVReflectionMapping=THREE.CubeUVReflectionMapping,LinearEncoding=THREE.LinearEncoding,LinearFilter=THREE.LinearFilter,NoToneMapping=THREE.NoToneMapping,NoBlending=THREE.NoBlending,RGBAFormat=THREE.RGBAFormat,HalfFloatType=THREE.HalfFloatType,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Mesh=THREE.Mesh,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,ShaderMaterial=THREE.ShaderMaterial,Vector3=THREE.Vector3,Color=THREE.Color,WebGLRenderTarget=THREE.WebGLRenderTarget,MeshBasicMaterial=THREE.MeshBasicMaterial,BoxGeometry=THREE.BoxGeometry,BackSide=THREE.BackSide;const LOD_MIN=4;const EXTRA_LOD_SIGMA=[0.125,0.215,0.35,0.446,0.526,0.582];const MAX_SAMPLES=20;const _flatCamera=new OrthographicCamera;const _clearColor=new Color;let _oldTarget=null;const PHI=(1+Math.sqrt(5))/2;const INV_PHI=1/PHI;const _axisDirections=[new Vector3(1,1,1),new Vector3(-1,1,1),new Vector3(1,1,-1),new Vector3(-1,1,-1),new Vector3(0,PHI,INV_PHI),new Vector3(0,PHI,-INV_PHI),new Vector3(INV_PHI,0,PHI),new Vector3(-INV_PHI,0,PHI),new Vector3(PHI,INV_PHI,0),new Vector3(-PHI,INV_PHI,0)];class PMREMGenerator{constructor(renderer){this._renderer=renderer;this._pingPongRenderTarget=null;this._lodMax=0;this._cubeSize=0;this._lodPlanes=[];this._sizeLods=[];this._sigmas=[];this._blurMaterial=null;this._cubemapMaterial=null;this._equirectMaterial=null;this._compileMaterial(this._blurMaterial)}fromScene(scene,sigma=0,near=0.1,far=100){_oldTarget=this._renderer.getRenderTarget();this._setSize(256);const cubeUVRenderTarget=this._allocateTargets();cubeUVRenderTarget.depthBuffer=true;this._sceneToCubeUV(scene,near,far,cubeUVRenderTarget);if(sigma>0){this._blur(cubeUVRenderTarget,0,0,sigma)}this._applyPMREM(cubeUVRenderTarget);this._cleanup(cubeUVRenderTarget);return cubeUVRenderTarget}fromEquirectangular(equirectangular,renderTarget=null){return this._fromTexture(equirectangular,renderTarget)}fromCubemap(cubemap,renderTarget=null){return this._fromTexture(cubemap,renderTarget)}compileCubemapShader(){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial();this._compileMaterial(this._cubemapMaterial)}}compileEquirectangularShader(){if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial();this._compileMaterial(this._equirectMaterial)}}dispose(){this._dispose();if(this._cubemapMaterial!==null)this._cubemapMaterial.dispose();if(this._equirectMaterial!==null)this._equirectMaterial.dispose()}_setSize(cubeSize){this._lodMax=Math.floor(Math.log2(cubeSize));this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){if(this._blurMaterial!==null)this._blurMaterial.dispose();if(this._pingPongRenderTarget!==null)this._pingPongRenderTarget.dispose();for(let i=0;i<this._lodPlanes.length;i++){this._lodPlanes[i].dispose()}}_cleanup(outputTarget){this._renderer.setRenderTarget(_oldTarget);outputTarget.scissorTest=false;_setViewport(outputTarget,0,0,outputTarget.width,outputTarget.height)}_fromTexture(texture,renderTarget){if(texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping){this._setSize(texture.image.length===0?16:texture.image[0].width||texture.image[0].image.width)}else{this._setSize(texture.image.width/4)}_oldTarget=this._renderer.getRenderTarget();const cubeUVRenderTarget=renderTarget||this._allocateTargets();this._textureToCubeUV(texture,cubeUVRenderTarget);this._applyPMREM(cubeUVRenderTarget);this._cleanup(cubeUVRenderTarget);return cubeUVRenderTarget}_allocateTargets(){const width=3*Math.max(this._cubeSize,16*7);const height=4*this._cubeSize;const params={magFilter:LinearFilter,minFilter:LinearFilter,generateMipmaps:false,type:HalfFloatType,format:RGBAFormat,encoding:LinearEncoding,depthBuffer:false};const cubeUVRenderTarget=_createRenderTarget(width,height,params);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==width){if(this._pingPongRenderTarget!==null){this._dispose()}this._pingPongRenderTarget=_createRenderTarget(width,height,params);const{_lodMax}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=_createPlanes(_lodMax));this._blurMaterial=_getBlurShader(_lodMax,width,height)}return cubeUVRenderTarget}_compileMaterial(material){const tmpMesh=new Mesh(this._lodPlanes[0],material);this._renderer.compile(tmpMesh,_flatCamera)}_sceneToCubeUV(scene,near,far,cubeUVRenderTarget){const fov=90;const aspect=1;const cubeCamera=new PerspectiveCamera(fov,aspect,near,far);const upSign=[1,-1,1,1,1,1];const forwardSign=[1,1,1,-1,-1,-1];const renderer=this._renderer;const originalAutoClear=renderer.autoClear;const toneMapping=renderer.toneMapping;renderer.getClearColor(_clearColor);renderer.toneMapping=NoToneMapping;renderer.autoClear=false;const backgroundMaterial=new MeshBasicMaterial({name:"PMREM.Background",side:BackSide,depthWrite:false,depthTest:false});const backgroundBox=new Mesh(new BoxGeometry(),backgroundMaterial);let useSolidColor=false;const background=scene.background;if(background){if(background.isColor){backgroundMaterial.color.copy(background);scene.background=null;useSolidColor=true}}else{backgroundMaterial.color.copy(_clearColor);useSolidColor=true}for(let i=0;i<6;i++){const col=i%3;if(col===0){cubeCamera.up.set(0,upSign[i],0);cubeCamera.lookAt(forwardSign[i],0,0)}else if(col===1){cubeCamera.up.set(0,0,upSign[i]);cubeCamera.lookAt(0,forwardSign[i],0)}else{cubeCamera.up.set(0,upSign[i],0);cubeCamera.lookAt(0,0,forwardSign[i])}const size=this._cubeSize;_setViewport(cubeUVRenderTarget,col*size,i>2?size:0,size,size);renderer.setRenderTarget(cubeUVRenderTarget);if(useSolidColor){renderer.render(backgroundBox,cubeCamera)}renderer.render(scene,cubeCamera)}backgroundBox.geometry.dispose();backgroundBox.material.dispose();renderer.toneMapping=toneMapping;renderer.autoClear=originalAutoClear;scene.background=background}_textureToCubeUV(texture,cubeUVRenderTarget){const renderer=this._renderer;const isCubeTexture=texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping;if(isCubeTexture){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial()}this._cubemapMaterial.uniforms.flipEnvMap.value=texture.isRenderTargetTexture===false?-1:1}else{if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial()}}const material=isCubeTexture?this._cubemapMaterial:this._equirectMaterial;const mesh=new Mesh(this._lodPlanes[0],material);const uniforms=material.uniforms;uniforms["envMap"].value=texture;const size=this._cubeSize;_setViewport(cubeUVRenderTarget,0,0,3*size,2*size);renderer.setRenderTarget(cubeUVRenderTarget);renderer.render(mesh,_flatCamera)}_applyPMREM(cubeUVRenderTarget){const renderer=this._renderer;const autoClear=renderer.autoClear;renderer.autoClear=false;for(let i=1;i<this._lodPlanes.length;i++){const sigma=Math.sqrt(this._sigmas[i]*this._sigmas[i]-this._sigmas[i-1]*this._sigmas[i-1]);const poleAxis=_axisDirections[(i-1)%_axisDirections.length];this._blur(cubeUVRenderTarget,i-1,i,sigma,poleAxis)}renderer.autoClear=autoClear}_blur(cubeUVRenderTarget,lodIn,lodOut,sigma,poleAxis){const pingPongRenderTarget=this._pingPongRenderTarget;this._halfBlur(cubeUVRenderTarget,pingPongRenderTarget,lodIn,lodOut,sigma,"latitudinal",poleAxis);this._halfBlur(pingPongRenderTarget,cubeUVRenderTarget,lodOut,lodOut,sigma,"longitudinal",poleAxis)}_halfBlur(targetIn,targetOut,lodIn,lodOut,sigmaRadians,direction,poleAxis){const renderer=this._renderer;const blurMaterial=this._blurMaterial;if(direction!=="latitudinal"&&direction!=="longitudinal"){console.error("blur direction must be either latitudinal or longitudinal!")}const STANDARD_DEVIATIONS=3;const blurMesh=new Mesh(this._lodPlanes[lodOut],blurMaterial);const blurUniforms=blurMaterial.uniforms;const pixels=this._sizeLods[lodIn]-1;const radiansPerPixel=isFinite(sigmaRadians)?Math.PI/(2*pixels):2*Math.PI/(2*MAX_SAMPLES-1);const sigmaPixels=sigmaRadians/radiansPerPixel;const samples=isFinite(sigmaRadians)?1+Math.floor(STANDARD_DEVIATIONS*sigmaPixels):MAX_SAMPLES;if(samples>MAX_SAMPLES){console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`)}const weights=[];let sum=0;for(let i=0;i<MAX_SAMPLES;++i){const x=i/sigmaPixels;const weight=Math.exp(-x*x/2);weights.push(weight);if(i===0){sum+=weight}else if(i<samples){sum+=2*weight}}for(let i=0;i<weights.length;i++){weights[i]=weights[i]/sum}blurUniforms["envMap"].value=targetIn.texture;blurUniforms["samples"].value=samples;blurUniforms["weights"].value=weights;blurUniforms["latitudinal"].value=direction==="latitudinal";if(poleAxis){blurUniforms["poleAxis"].value=poleAxis}const{_lodMax}=this;blurUniforms["dTheta"].value=radiansPerPixel;blurUniforms["mipInt"].value=_lodMax-lodIn;const outputSize=this._sizeLods[lodOut];const x=3*outputSize*(lodOut>_lodMax-LOD_MIN?lodOut-_lodMax+LOD_MIN:0);const y=4*(this._cubeSize-outputSize);_setViewport(targetOut,x,y,3*outputSize,2*outputSize);renderer.setRenderTarget(targetOut);renderer.render(blurMesh,_flatCamera)}}function _createPlanes(lodMax){const lodPlanes=[];const sizeLods=[];const sigmas=[];let lod=lodMax;const totalLods=lodMax-LOD_MIN+1+EXTRA_LOD_SIGMA.length;for(let i=0;i<totalLods;i++){const sizeLod=Math.pow(2,lod);sizeLods.push(sizeLod);let sigma=1/sizeLod;if(i>lodMax-LOD_MIN){sigma=EXTRA_LOD_SIGMA[i-lodMax+LOD_MIN-1]}else if(i===0){sigma=0}sigmas.push(sigma);const texelSize=1/(sizeLod-2);const min=-texelSize;const max=1+texelSize;const uv1=[min,min,max,min,max,max,min,min,max,max,min,max];const cubeFaces=6;const vertices=6;const positionSize=3;const uvSize=2;const faceIndexSize=1;const position=new Float32Array(positionSize*vertices*cubeFaces);const uv=new Float32Array(uvSize*vertices*cubeFaces);const faceIndex=new Float32Array(faceIndexSize*vertices*cubeFaces);for(let face=0;face<cubeFaces;face++){const x=face%3*2/3-1;const y=face>2?0:-1;const coordinates=[x,y,0,x+2/3,y,0,x+2/3,y+1,0,x,y,0,x+2/3,y+1,0,x,y+1,0];position.set(coordinates,positionSize*vertices*face);uv.set(uv1,uvSize*vertices*face);const fill=[face,face,face,face,face,face];faceIndex.set(fill,faceIndexSize*vertices*face)}const planes=new BufferGeometry;planes.setAttribute("position",new BufferAttribute(position,positionSize));planes.setAttribute("uv",new BufferAttribute(uv,uvSize));planes.setAttribute("faceIndex",new BufferAttribute(faceIndex,faceIndexSize));lodPlanes.push(planes);if(lod>LOD_MIN){lod--}}return{lodPlanes,sizeLods,sigmas}}function _createRenderTarget(width,height,params){const cubeUVRenderTarget=new WebGLRenderTarget(width,height,params);cubeUVRenderTarget.texture.mapping=CubeUVReflectionMapping;cubeUVRenderTarget.texture.name="PMREM.cubeUv";cubeUVRenderTarget.scissorTest=true;return cubeUVRenderTarget}function _setViewport(target,x,y,width,height){target.viewport.set(x,y,width,height);target.scissor.set(x,y,width,height)}function _getBlurShader(lodMax,width,height){const weights=new Float32Array(MAX_SAMPLES);const poleAxis=new Vector3(0,1,0);const shaderMaterial=new ShaderMaterial({name:"SphericalGaussianBlur",defines:{"n":MAX_SAMPLES,"CUBEUV_TEXEL_WIDTH":1/width,"CUBEUV_TEXEL_HEIGHT":1/height,"CUBEUV_MAX_MIP":`${lodMax}.0`},uniforms:{"envMap":{value:null},"samples":{value:1},"weights":{value:weights},"latitudinal":{value:false},"dTheta":{value:0},"mipInt":{value:0},"poleAxis":{value:poleAxis}},vertexShader:_getCommonVertexShader(),fragmentShader:`

                precision mediump float;
                precision mediump int;

                varying vec3 vOutputDirection;

                uniform sampler2D envMap;
                uniform int samples;
                uniform float weights[ n ];
                uniform bool latitudinal;
                uniform float dTheta;
                uniform float mipInt;
                uniform vec3 poleAxis;

                #define ENVMAP_TYPE_CUBE_UV
                #include <cube_uv_reflection_fragment>

                vec3 getSample( float theta, vec3 axis ) {

                    float cosTheta = cos( theta );
                    // Rodrigues' axis-angle rotation
                    vec3 sampleDirection = vOutputDirection * cosTheta
                        + cross( axis, vOutputDirection ) * sin( theta )
                        + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );

                    return bilinearCubeUV( envMap, sampleDirection, mipInt );

                }

                void main() {

                    vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );

                    if ( all( equal( axis, vec3( 0.0 ) ) ) ) {

                        axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );

                    }

                    axis = normalize( axis );

                    gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
                    gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );

                    for ( int i = 1; i < n; i++ ) {

                        if ( i >= samples ) {

                            break;

                        }

                        float theta = dTheta * float( i );
                        gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );
                        gl_FragColor.rgb += weights[ i ] * getSample( theta, axis );

                    }

                }
            `,blending:NoBlending,depthTest:false,depthWrite:false});return shaderMaterial}function _getEquirectMaterial(){return new ShaderMaterial({name:"EquirectangularToCubeUV",uniforms:{"envMap":{value:null}},vertexShader:_getCommonVertexShader(),fragmentShader:`

                precision mediump float;
                precision mediump int;

                varying vec3 vOutputDirection;

                uniform sampler2D envMap;

                #include <common>

                void main() {

                    vec3 outputDirection = normalize( vOutputDirection );
                    vec2 uv = equirectUv( outputDirection );

                    gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );

                }
            `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCubemapMaterial(){return new ShaderMaterial({name:"CubemapToCubeUV",uniforms:{"envMap":{value:null},"flipEnvMap":{value:-1}},vertexShader:_getCommonVertexShader(),fragmentShader:`

                precision mediump float;
                precision mediump int;

                uniform float flipEnvMap;

                varying vec3 vOutputDirection;

                uniform samplerCube envMap;

                void main() {

                    gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );

                }
            `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCommonVertexShader(){return`

            precision mediump float;
            precision mediump int;

            attribute float faceIndex;

            varying vec3 vOutputDirection;

            // RH coordinate system; PMREM face-indexing convention
            vec3 getDirection( vec2 uv, float face ) {

                uv = 2.0 * uv - 1.0;

                vec3 direction = vec3( uv, 1.0 );

                if ( face == 0.0 ) {

                    direction = direction.zyx; // ( 1, v, u ) pos x

                } else if ( face == 1.0 ) {

                    direction = direction.xzy;
                    direction.xz *= -1.0; // ( -u, 1, -v ) pos y

                } else if ( face == 2.0 ) {

                    direction.x *= -1.0; // ( -u, v, 1 ) pos z

                } else if ( face == 3.0 ) {

                    direction = direction.zyx;
                    direction.xz *= -1.0; // ( -1, v, -u ) neg x

                } else if ( face == 4.0 ) {

                    direction = direction.xzy;
                    direction.xy *= -1.0; // ( -u, -1, v ) neg y

                } else if ( face == 5.0 ) {

                    direction.z *= -1.0; // ( u, v, -1 ) neg z

                }

                return direction;

            }

            void main() {

                vOutputDirection = getDirection( uv, faceIndex );
                gl_Position = vec4( position, 1.0 );

            }
        `}THREE.PMREMGenerator=PMREMGenerator});(function(){const DepthLimitedBlurShader={defines:{"KERNEL_RADIUS":4,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDiffuse":{value:null},"size":{value:new THREE.Vector2(512,512)},"sampleUvOffsets":{value:[new THREE.Vector2(0,0)]},"sampleWeights":{value:[1]},"tDepth":{value:null},"cameraNear":{value:10},"cameraFar":{value:1000},"depthCutoff":{value:10}},vertexShader:`

		#include <common>

		uniform vec2 size;

		varying vec2 vUv;
		varying vec2 vInvSize;

		void main() {
			vUv = uv;
			vInvSize = 1.0 / size;

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
		}`,fragmentShader:`

		#include <common>
		#include <packing>

		uniform sampler2D tDiffuse;
		uniform sampler2D tDepth;

		uniform float cameraNear;
		uniform float cameraFar;
		uniform float depthCutoff;

		uniform vec2 sampleUvOffsets[ KERNEL_RADIUS + 1 ];
		uniform float sampleWeights[ KERNEL_RADIUS + 1 ];

		varying vec2 vUv;
		varying vec2 vInvSize;

		float getDepth( const in vec2 screenPosition ) {
			#if DEPTH_PACKING == 1
			return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) );
			#else
			return texture2D( tDepth, screenPosition ).x;
			#endif
		}

		float getViewZ( const in float depth ) {
			#if PERSPECTIVE_CAMERA == 1
			return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );
			#else
			return orthographicDepthToViewZ( depth, cameraNear, cameraFar );
			#endif
		}

		void main() {
			float depth = getDepth( vUv );
			if( depth >= ( 1.0 - EPSILON ) ) {
				discard;
			}

			float centerViewZ = -getViewZ( depth );
			bool rBreak = false, lBreak = false;

			float weightSum = sampleWeights[0];
			vec4 diffuseSum = texture2D( tDiffuse, vUv ) * weightSum;

			for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {

				float sampleWeight = sampleWeights[i];
				vec2 sampleUvOffset = sampleUvOffsets[i] * vInvSize;

				vec2 sampleUv = vUv + sampleUvOffset;
				float viewZ = -getViewZ( getDepth( sampleUv ) );

				if( abs( viewZ - centerViewZ ) > depthCutoff ) rBreak = true;

				if( ! rBreak ) {
					diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight;
					weightSum += sampleWeight;
				}

				sampleUv = vUv - sampleUvOffset;
				viewZ = -getViewZ( getDepth( sampleUv ) );

				if( abs( viewZ - centerViewZ ) > depthCutoff ) lBreak = true;

				if( ! lBreak ) {
					diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight;
					weightSum += sampleWeight;
				}

			}

			gl_FragColor = diffuseSum / weightSum;
		}`};const BlurShaderUtils={createSampleWeights:function(kernelRadius,stdDev){const weights=[];for(let i=0;i<=kernelRadius;i++){weights.push(gaussian(i,stdDev))}return weights},createSampleOffsets:function(kernelRadius,uvIncrement){const offsets=[];for(let i=0;i<=kernelRadius;i++){offsets.push(uvIncrement.clone().multiplyScalar(i))}return offsets},configure:function(material,kernelRadius,stdDev,uvIncrement){material.defines["KERNEL_RADIUS"]=kernelRadius;material.uniforms["sampleUvOffsets"].value=BlurShaderUtils.createSampleOffsets(kernelRadius,uvIncrement);material.uniforms["sampleWeights"].value=BlurShaderUtils.createSampleWeights(kernelRadius,stdDev);material.needsUpdate=true}};function gaussian(x,stdDev){return Math.exp(-(x*x)/(2*(stdDev*stdDev)))/(Math.sqrt(2*Math.PI)*stdDev)}THREE.BlurShaderUtils=BlurShaderUtils;THREE.DepthLimitedBlurShader=DepthLimitedBlurShader})();(function(){class EffectComposer{constructor(renderer,renderTarget){this.renderer=renderer;if(renderTarget===undefined){const size=renderer.getSize(new THREE.Vector2);this._pixelRatio=renderer.getPixelRatio();this._width=size.width;this._height=size.height;renderTarget=new THREE.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio);renderTarget.texture.name="EffectComposer.rt1"}else{this._pixelRatio=1;this._width=renderTarget.width;this._height=renderTarget.height}this.renderTarget1=renderTarget;this.renderTarget2=renderTarget.clone();this.renderTarget2.texture.name="EffectComposer.rt2";this.writeBuffer=this.renderTarget1;this.readBuffer=this.renderTarget2;this.renderToScreen=true;this.passes=[];if(THREE.CopyShader===undefined){console.error("THREE.EffectComposer relies on THREE.CopyShader")}if(THREE.ShaderPass===undefined){console.error("THREE.EffectComposer relies on THREE.ShaderPass")}this.copyPass=new THREE.ShaderPass(THREE.CopyShader);this.clock=new THREE.Clock}swapBuffers(){const tmp=this.readBuffer;this.readBuffer=this.writeBuffer;this.writeBuffer=tmp}addPass(pass){this.passes.push(pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(pass,index){this.passes.splice(index,0,pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(pass){const index=this.passes.indexOf(pass);if(index!==-1){this.passes.splice(index,1)}}isLastEnabledPass(passIndex){for(let i=passIndex+1;i<this.passes.length;i++){if(this.passes[i].enabled){return false}}return true}render(deltaTime){if(deltaTime===undefined){deltaTime=this.clock.getDelta()}const currentRenderTarget=this.renderer.getRenderTarget();let maskActive=false;for(let i=0,il=this.passes.length;i<il;i++){const pass=this.passes[i];if(pass.enabled===false)continue;pass.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(i);pass.render(this.renderer,this.writeBuffer,this.readBuffer,deltaTime,maskActive);if(pass.needsSwap){if(maskActive){const context=this.renderer.getContext();const stencil=this.renderer.state.buffers.stencil;stencil.setFunc(context.NOTEQUAL,1,4294967295);this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,deltaTime);stencil.setFunc(context.EQUAL,1,4294967295)}this.swapBuffers()}if(THREE.MaskPass!==undefined){if(pass instanceof THREE.MaskPass){maskActive=true}else if(pass instanceof THREE.ClearMaskPass){maskActive=false}}}this.renderer.setRenderTarget(currentRenderTarget)}reset(renderTarget){if(renderTarget===undefined){const size=this.renderer.getSize(new THREE.Vector2);this._pixelRatio=this.renderer.getPixelRatio();this._width=size.width;this._height=size.height;renderTarget=this.renderTarget1.clone();renderTarget.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose();this.renderTarget2.dispose();this.renderTarget1=renderTarget;this.renderTarget2=renderTarget.clone();this.writeBuffer=this.renderTarget1;this.readBuffer=this.renderTarget2}setSize(width,height){this._width=width;this._height=height;const effectiveWidth=this._width*this._pixelRatio;const effectiveHeight=this._height*this._pixelRatio;this.renderTarget1.setSize(effectiveWidth,effectiveHeight);this.renderTarget2.setSize(effectiveWidth,effectiveHeight);for(let i=0;i<this.passes.length;i++){this.passes[i].setSize(effectiveWidth,effectiveHeight)}}setPixelRatio(pixelRatio){this._pixelRatio=pixelRatio;this.setSize(this._width,this._height)}}class Pass{constructor(){this.enabled=true;this.needsSwap=true;this.clear=false;this.renderToScreen=false}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}const _camera=new THREE.OrthographicCamera(-1,1,1,-1,0,1);const _geometry=new THREE.BufferGeometry;_geometry.setAttribute("position",new THREE.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));_geometry.setAttribute("uv",new THREE.Float32BufferAttribute([0,2,0,0,2,0],2));class FullScreenQuad{constructor(material){this._mesh=new THREE.Mesh(_geometry,material)}dispose(){this._mesh.geometry.dispose()}render(renderer){renderer.render(this._mesh,_camera)}get material(){return this._mesh.material}set material(value){this._mesh.material=value}}THREE.EffectComposer=EffectComposer;THREE.FullScreenQuad=FullScreenQuad;THREE.Pass=Pass})();(function(){const BlendShader={uniforms:{"tDiffuse1":{value:null},"tDiffuse2":{value:null},"mixRatio":{value:0.5},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;
		uniform float mixRatio;

		uniform sampler2D tDiffuse1;
		uniform sampler2D tDiffuse2;

		varying vec2 vUv;

		void main() {

			vec4 texel1 = texture2D( tDiffuse1, vUv );
			vec4 texel2 = texture2D( tDiffuse2, vUv );
			gl_FragColor = mix( texel1, texel2, mixRatio );
			gl_FragColor.a *= opacity;

		}`};THREE.BlendShader=BlendShader})();(function(){const CopyShader={uniforms:{"tDiffuse":{value:null},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		void main() {

			gl_FragColor = texture2D( tDiffuse, vUv );
			gl_FragColor.a *= opacity;


		}`};THREE.CopyShader=CopyShader})();(function(){const FXAAShader={uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`
	precision highp float;

	uniform sampler2D tDiffuse;

	uniform vec2 resolution;

	varying vec2 vUv;

	// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)

	//----------------------------------------------------------------------------------
	// File:        es3-kepler\FXAA\assets\shaders/FXAA_DefaultES.frag
	// SDK Version: v3.00
	// Email:       gameworks@nvidia.com
	// Site:        http://developer.nvidia.com/
	//
	// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
	//
	// Redistribution and use in source and binary forms, with or without
	// modification, are permitted provided that the following conditions
	// are met:
	//  * Redistributions of source code must retain the above copyright
	//    notice, this list of conditions and the following disclaimer.
	//  * Redistributions in binary form must reproduce the above copyright
	//    notice, this list of conditions and the following disclaimer in the
	//    documentation and/or other materials provided with the distribution.
	//  * Neither the name of NVIDIA CORPORATION nor the names of its
	//    contributors may be used to endorse or promote products derived
	//    from this software without specific prior written permission.
	//
	// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
	// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
	// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
	// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
	// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
	// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
	// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
	// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
	// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
	// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
	// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
	//
	//----------------------------------------------------------------------------------

	#ifndef FXAA_DISCARD
			//
			// Only valid for PC OpenGL currently.
			// Probably will not work when FXAA_GREEN_AS_LUMA = 1.
			//
			// 1 = Use discard on pixels which don't need AA.
			//     For APIs which enable concurrent TEX+ROP from same surface.
			// 0 = Return unchanged color on pixels which don't need AA.
			//
			#define FXAA_DISCARD 0
	#endif

	/*--------------------------------------------------------------------------*/
	#define FxaaTexTop(t, p) texture2D(t, p, -100.0)
	#define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), -100.0)
	/*--------------------------------------------------------------------------*/

	#define NUM_SAMPLES 5

	// assumes colors have premultipliedAlpha, so that the calculated color contrast is scaled by alpha
	float contrast( vec4 a, vec4 b ) {
			vec4 diff = abs( a - b );
			return max( max( max( diff.r, diff.g ), diff.b ), diff.a );
	}

	/*============================================================================

									FXAA3 QUALITY - PC

	============================================================================*/

	/*--------------------------------------------------------------------------*/
	vec4 FxaaPixelShader(
			vec2 posM,
			sampler2D tex,
			vec2 fxaaQualityRcpFrame,
			float fxaaQualityEdgeThreshold,
			float fxaaQualityinvEdgeThreshold
	) {
			vec4 rgbaM = FxaaTexTop(tex, posM);
			vec4 rgbaS = FxaaTexOff(tex, posM, vec2( 0.0, 1.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaE = FxaaTexOff(tex, posM, vec2( 1.0, 0.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaN = FxaaTexOff(tex, posM, vec2( 0.0,-1.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaW = FxaaTexOff(tex, posM, vec2(-1.0, 0.0), fxaaQualityRcpFrame.xy);
			// . S .
			// W M E
			// . N .

			bool earlyExit = max( max( max(
					contrast( rgbaM, rgbaN ),
					contrast( rgbaM, rgbaS ) ),
					contrast( rgbaM, rgbaE ) ),
					contrast( rgbaM, rgbaW ) )
					< fxaaQualityEdgeThreshold;
			// . 0 .
			// 0 0 0
			// . 0 .

			#if (FXAA_DISCARD == 1)
					if(earlyExit) FxaaDiscard;
			#else
					if(earlyExit) return rgbaM;
			#endif

			float contrastN = contrast( rgbaM, rgbaN );
			float contrastS = contrast( rgbaM, rgbaS );
			float contrastE = contrast( rgbaM, rgbaE );
			float contrastW = contrast( rgbaM, rgbaW );

			float relativeVContrast = ( contrastN + contrastS ) - ( contrastE + contrastW );
			relativeVContrast *= fxaaQualityinvEdgeThreshold;

			bool horzSpan = relativeVContrast > 0.;
			// . 1 .
			// 0 0 0
			// . 1 .

			// 45 deg edge detection and corners of objects, aka V/H contrast is too similar
			if( abs( relativeVContrast ) < .3 ) {
					// locate the edge
					vec2 dirToEdge;
					dirToEdge.x = contrastE > contrastW ? 1. : -1.;
					dirToEdge.y = contrastS > contrastN ? 1. : -1.;
					// . 2 .      . 1 .
					// 1 0 2  ~=  0 0 1
					// . 1 .      . 0 .

					// tap 2 pixels and see which ones are "outside" the edge, to
					// determine if the edge is vertical or horizontal

					vec4 rgbaAlongH = FxaaTexOff(tex, posM, vec2( dirToEdge.x, -dirToEdge.y ), fxaaQualityRcpFrame.xy);
					float matchAlongH = contrast( rgbaM, rgbaAlongH );
					// . 1 .
					// 0 0 1
					// . 0 H

					vec4 rgbaAlongV = FxaaTexOff(tex, posM, vec2( -dirToEdge.x, dirToEdge.y ), fxaaQualityRcpFrame.xy);
					float matchAlongV = contrast( rgbaM, rgbaAlongV );
					// V 1 .
					// 0 0 1
					// . 0 .

					relativeVContrast = matchAlongV - matchAlongH;
					relativeVContrast *= fxaaQualityinvEdgeThreshold;

					if( abs( relativeVContrast ) < .3 ) { // 45 deg edge
							// 1 1 .
							// 0 0 1
							// . 0 1

							// do a simple blur
							return mix(
									rgbaM,
									(rgbaN + rgbaS + rgbaE + rgbaW) * .25,
									.4
							);
					}

					horzSpan = relativeVContrast > 0.;
			}

			if(!horzSpan) rgbaN = rgbaW;
			if(!horzSpan) rgbaS = rgbaE;
			// . 0 .      1
			// 1 0 1  ->  0
			// . 0 .      1

			bool pairN = contrast( rgbaM, rgbaN ) > contrast( rgbaM, rgbaS );
			if(!pairN) rgbaN = rgbaS;

			vec2 offNP;
			offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;
			offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;

			bool doneN = false;
			bool doneP = false;

			float nDist = 0.;
			float pDist = 0.;

			vec2 posN = posM;
			vec2 posP = posM;

			int iterationsUsed = 0;
			int iterationsUsedN = 0;
			int iterationsUsedP = 0;
			for( int i = 0; i < NUM_SAMPLES; i++ ) {
					iterationsUsed = i;

					float increment = float(i + 1);

					if(!doneN) {
							nDist += increment;
							posN = posM + offNP * nDist;
							vec4 rgbaEndN = FxaaTexTop(tex, posN.xy);
							doneN = contrast( rgbaEndN, rgbaM ) > contrast( rgbaEndN, rgbaN );
							iterationsUsedN = i;
					}

					if(!doneP) {
							pDist += increment;
							posP = posM - offNP * pDist;
							vec4 rgbaEndP = FxaaTexTop(tex, posP.xy);
							doneP = contrast( rgbaEndP, rgbaM ) > contrast( rgbaEndP, rgbaN );
							iterationsUsedP = i;
					}

					if(doneN || doneP) break;
			}


			if ( !doneP && !doneN ) return rgbaM; // failed to find end of edge

			float dist = min(
					doneN ? float( iterationsUsedN ) / float( NUM_SAMPLES - 1 ) : 1.,
					doneP ? float( iterationsUsedP ) / float( NUM_SAMPLES - 1 ) : 1.
			);

			// hacky way of reduces blurriness of mostly diagonal edges
			// but reduces AA quality
			dist = pow(dist, .5);

			dist = 1. - dist;

			return mix(
					rgbaM,
					rgbaN,
					dist * .5
			);
	}

	void main() {
			const float edgeDetectionQuality = .2;
			const float invEdgeDetectionQuality = 1. / edgeDetectionQuality;

			gl_FragColor = FxaaPixelShader(
					vUv,
					tDiffuse,
					resolution,
					edgeDetectionQuality, // [0,1] contrast needed, otherwise early discard
					invEdgeDetectionQuality
			);

	}
	`};THREE.FXAAShader=FXAAShader})();(function(){const GammaCorrectionShader={uniforms:{"tDiffuse":{value:null}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		void main() {

			vec4 tex = texture2D( tDiffuse, vUv );

			gl_FragColor = LinearTosRGB( tex );

		}`};THREE.GammaCorrectionShader=GammaCorrectionShader})();(function(require){class CustomRenderPass extends THREE.Pass{constructor(renderCallback){super();this.renderCallback=renderCallback;this.scene=null;this.camera=null;this.clear=true;this.clearDepth=false;this.needsSwap=false}render(renderer,writeBuffer,readBuffer,delta,maskActive){var oldAutoClear=renderer.autoClear;renderer.autoClear=false;this.renderCallback(renderer,this.scene,this.camera,this.renderToScreen?null:readBuffer,this.clear);renderer.autoClear=oldAutoClear}}THREE.CustomRenderPass=CustomRenderPass})();(function(){class MaskPass extends THREE.Pass{constructor(scene,camera){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.inverse=false}render(renderer,writeBuffer,readBuffer){const context=renderer.getContext();const state=renderer.state;state.buffers.color.setMask(false);state.buffers.depth.setMask(false);state.buffers.color.setLocked(true);state.buffers.depth.setLocked(true);let writeValue,clearValue;if(this.inverse){writeValue=0;clearValue=1}else{writeValue=1;clearValue=0}state.buffers.stencil.setTest(true);state.buffers.stencil.setOp(context.REPLACE,context.REPLACE,context.REPLACE);state.buffers.stencil.setFunc(context.ALWAYS,writeValue,4294967295);state.buffers.stencil.setClear(clearValue);state.buffers.stencil.setLocked(true);renderer.setRenderTarget(readBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);state.buffers.color.setLocked(false);state.buffers.depth.setLocked(false);state.buffers.stencil.setLocked(false);state.buffers.stencil.setFunc(context.EQUAL,1,4294967295);state.buffers.stencil.setOp(context.KEEP,context.KEEP,context.KEEP);state.buffers.stencil.setLocked(true)}}class ClearMaskPass extends THREE.Pass{constructor(){super();this.needsSwap=false}render(renderer){renderer.state.buffers.stencil.setLocked(false);renderer.state.buffers.stencil.setTest(false)}}THREE.ClearMaskPass=ClearMaskPass;THREE.MaskPass=MaskPass})();(function(){var vertexShader=["varying vec2 vUv;","void main() {","    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","    vUv = uv;","}"].join("\n");var fragmentShader=["varying vec2 vUv;","uniform sampler2D tDepth;","uniform sampler2D tColor;","uniform mat4 inverseProjectionMatrix;","uniform float near;","uniform float far;","uniform float depthLimit;","uniform mat4 clipToWorldMatrix;","uniform mat4 previousWorldToClipMatrix;","uniform vec3 cameraMove;    ","uniform float velocityFactor;","uniform float delta;","uniform int samples;","void main() {","    float zOverW = texture2D(tDepth, vUv).x;","    vec4 clipPosition = vec4(vUv.x * 2. - 1., vUv.y * 2. - 1., zOverW * 2. - 1., 1.);","    vec4 cameraSpacePosition = inverseProjectionMatrix * clipPosition;","    cameraSpacePosition /= cameraSpacePosition.w;","    float depth = -(cameraSpacePosition.z - near) / (far - near);","    if (depth > depthLimit)","    {","       gl_FragColor = texture2D(tColor, vUv);","       return;","    }","    vec4 worldPosition = clipToWorldMatrix * clipPosition;","    worldPosition /= worldPosition.w;","    vec4 previousClipPosition = worldPosition;","    previousClipPosition.xyz -= cameraMove * (","        1. - smoothstep(.3, 1., clamp(length(clipPosition.xy), 0., 1.))","    );","    previousClipPosition = previousWorldToClipMatrix * previousClipPosition;","    previousClipPosition /= previousClipPosition.w;","    vec2 velocity = velocityFactor * (clipPosition - previousClipPosition).xy / delta * 16.67;","    vec4 finalColor = vec4(0.);","    vec2 offset = vec2(0.);","    float weight = 0.;","    for(int i = 0; i < samples; i++) {","            offset = velocity * (float(i) / (float(samples) - 1.) - .5);","            vec4 c = texture2D(tColor, vUv + offset);","        finalColor += c;","    }","    finalColor /= float(samples);","    gl_FragColor = vec4(finalColor.rgb, 1.);","}"].join("\n");var uniforms={"tDepth":{type:"t",value:null},"tColor":{type:"t",value:null},"velocityFactor":{type:"f",value:1},"delta":{type:"f",value:16.67},"samples":{type:"i",value:20},"inverseProjectionMatrix":{type:"m4",value:new THREE.Matrix4},"clipToWorldMatrix":{type:"m4",value:new THREE.Matrix4},"previousWorldToClipMatrix":{type:"m4",value:new THREE.Matrix4},"cameraMove":{type:"v3",value:new THREE.Vector3},"near":{type:"f",value:1},"far":{type:"f",value:1000},"depthLimit":{type:"f",value:0.99}};class MotionBlurPass extends THREE.Pass{constructor(){super();this.uniforms=THREE.UniformsUtils.clone(uniforms);this.material=new THREE.ShaderMaterial({defines:{},uniforms:this.uniforms,vertexShader:vertexShader,fragmentShader:fragmentShader});this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer,deltaTime,maskActive){this.uniforms["tColor"].value=readBuffer.texture;this.uniforms["tDepth"].value=readBuffer.depthTexture;this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}dispose(){this.fsQuad.dispose();this.material.dispose()}};THREE.MotionBlurPass=MotionBlurPass})();(function(){class RenderPass extends THREE.Pass{constructor(scene,camera,overrideMaterial,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.overrideMaterial=overrideMaterial;this.clearColor=clearColor;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this.clear=true;this.clearDepth=false;this.needsSwap=false;this._oldClearColor=new THREE.Color}render(renderer,writeBuffer,readBuffer){const oldAutoClear=renderer.autoClear;renderer.autoClear=false;let oldClearAlpha,oldOverrideMaterial;if(this.overrideMaterial!==undefined){oldOverrideMaterial=this.scene.overrideMaterial;this.scene.overrideMaterial=this.overrideMaterial}if(this.clearColor){renderer.getClearColor(this._oldClearColor);oldClearAlpha=renderer.getClearAlpha();renderer.setClearColor(this.clearColor,this.clearAlpha)}if(this.clearDepth){renderer.clearDepth()}renderer.setRenderTarget(this.renderToScreen?null:readBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);renderer.render(this.scene,this.camera);if(this.clearColor){renderer.setClearColor(this._oldClearColor,oldClearAlpha)}if(this.overrideMaterial!==undefined){this.scene.overrideMaterial=oldOverrideMaterial}renderer.autoClear=oldAutoClear}}THREE.RenderPass=RenderPass})();(function(){class SAOPass extends THREE.Pass{constructor(scene,camera,useDepthTexture=false,useNormals=false,resolution=new THREE.Vector2(256,256)){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.supportsDepthTextureExtension=useDepthTexture;this.supportsNormalTexture=useNormals;this.originalClearColor=new THREE.Color;this._oldClearColor=new THREE.Color;this.oldClearAlpha=1;this.params={output:0,saoBias:0.5,saoIntensity:0.18,saoScale:1,saoKernelRadius:100,saoMinResolution:0,saoBlur:true,saoBlurRadius:8,saoBlurStdDev:4,saoBlurDepthCutoff:0.01};this.resolution=new THREE.Vector2(resolution.x,resolution.y);this.saoRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y);this.blurIntermediateRenderTarget=this.saoRenderTarget.clone();this.beautyRenderTarget=this.saoRenderTarget.clone();this.normalRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y,{minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter});this.depthRenderTarget=this.normalRenderTarget.clone();let depthTexture;if(this.supportsDepthTextureExtension){depthTexture=new THREE.DepthTexture;depthTexture.type=THREE.UnsignedShortType;this.beautyRenderTarget.depthTexture=depthTexture;this.beautyRenderTarget.depthBuffer=true}this.depthMaterial=new THREE.MeshDepthMaterial;this.depthMaterial.depthPacking=THREE.RGBADepthPacking;this.depthMaterial.blending=THREE.NoBlending;this.normalMaterial=new THREE.MeshNormalMaterial;this.normalMaterial.blending=THREE.NoBlending;if(THREE.SAOShader===undefined){console.error("THREE.SAOPass relies on THREE.SAOShader")}this.saoMaterial=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SAOShader.defines),fragmentShader:THREE.SAOShader.fragmentShader,vertexShader:THREE.SAOShader.vertexShader,uniforms:THREE.UniformsUtils.clone(THREE.SAOShader.uniforms)});this.saoMaterial.extensions.derivatives=true;this.saoMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.saoMaterial.defines["NORMAL_TEXTURE"]=this.supportsNormalTexture?1:0;this.saoMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.saoMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.saoMaterial.uniforms["tNormal"].value=this.normalRenderTarget.texture;this.saoMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.blending=THREE.NoBlending;if(THREE.DepthLimitedBlurShader===undefined){console.error("THREE.SAOPass relies on THREE.DepthLimitedBlurShader")}this.vBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.vBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.vBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.vBlurMaterial.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.vBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.vBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.vBlurMaterial.blending=THREE.NoBlending;this.hBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.hBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.hBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.hBlurMaterial.uniforms["tDiffuse"].value=this.blurIntermediateRenderTarget.texture;this.hBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.hBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.hBlurMaterial.blending=THREE.NoBlending;if(THREE.CopyShader===undefined){console.error("THREE.SAOPass relies on THREE.CopyShader")}this.materialCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.CopyShader.uniforms),vertexShader:THREE.CopyShader.vertexShader,fragmentShader:THREE.CopyShader.fragmentShader,blending:THREE.NoBlending});this.materialCopy.transparent=true;this.materialCopy.depthTest=false;this.materialCopy.depthWrite=false;this.materialCopy.blending=THREE.CustomBlending;this.materialCopy.blendSrc=THREE.DstColorFactor;this.materialCopy.blendDst=THREE.ZeroFactor;this.materialCopy.blendEquation=THREE.AddEquation;this.materialCopy.blendSrcAlpha=THREE.DstAlphaFactor;this.materialCopy.blendDstAlpha=THREE.ZeroFactor;this.materialCopy.blendEquationAlpha=THREE.AddEquation;if(THREE.UnpackDepthRGBAShader===undefined){console.error("THREE.SAOPass relies on THREE.UnpackDepthRGBAShader")}this.depthCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.UnpackDepthRGBAShader.uniforms),vertexShader:THREE.UnpackDepthRGBAShader.vertexShader,fragmentShader:THREE.UnpackDepthRGBAShader.fragmentShader,blending:THREE.NoBlending});this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){if(this.renderToScreen){this.materialCopy.blending=THREE.NoBlending;this.materialCopy.uniforms["tDiffuse"].value=readBuffer.texture;this.materialCopy.needsUpdate=true;this.renderPass(renderer,this.materialCopy,null)}if(this.params.output===1){return}renderer.getClearColor(this._oldClearColor);this.oldClearAlpha=renderer.getClearAlpha();const oldAutoClear=renderer.autoClear;renderer.autoClear=false;renderer.setRenderTarget(this.depthRenderTarget);renderer.clear();this.saoMaterial.uniforms["bias"].value=this.params.saoBias;this.saoMaterial.uniforms["intensity"].value=this.params.saoIntensity;this.saoMaterial.uniforms["scale"].value=this.params.saoScale;this.saoMaterial.uniforms["kernelRadius"].value=this.params.saoKernelRadius;this.saoMaterial.uniforms["minResolution"].value=this.params.saoMinResolution;this.saoMaterial.uniforms["cameraNear"].value=this.camera.near;this.saoMaterial.uniforms["cameraFar"].value=this.camera.far;const depthCutoff=this.params.saoBlurDepthCutoff*(this.camera.far-this.camera.near);this.vBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.hBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.vBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.vBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.hBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.hBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.params.saoBlurRadius=Math.floor(this.params.saoBlurRadius);if(this.prevStdDev!==this.params.saoBlurStdDev||this.prevNumSamples!==this.params.saoBlurRadius){THREE.BlurShaderUtils.configure(this.vBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(0,1));THREE.BlurShaderUtils.configure(this.hBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(1,0));this.prevStdDev=this.params.saoBlurStdDev;this.prevNumSamples=this.params.saoBlurRadius}renderer.setClearColor(0);renderer.setRenderTarget(this.beautyRenderTarget);renderer.clear();renderer.render(this.scene,this.camera);if(!this.supportsDepthTextureExtension){this.renderOverride(renderer,this.depthMaterial,this.depthRenderTarget,0,1)}if(this.supportsNormalTexture){this.renderOverride(renderer,this.normalMaterial,this.normalRenderTarget,7829503,1)}this.renderPass(renderer,this.saoMaterial,this.saoRenderTarget,16777215,1);if(this.params.saoBlur){this.renderPass(renderer,this.vBlurMaterial,this.blurIntermediateRenderTarget,16777215,1);this.renderPass(renderer,this.hBlurMaterial,this.saoRenderTarget,16777215,1)}let outputMaterial=this.materialCopy;if(this.params.output===3){if(this.supportsDepthTextureExtension){this.materialCopy.uniforms["tDiffuse"].value=this.beautyRenderTarget.depthTexture;this.materialCopy.needsUpdate=true}else{this.depthCopy.uniforms["tDiffuse"].value=this.depthRenderTarget.texture;this.depthCopy.needsUpdate=true;outputMaterial=this.depthCopy}}else if(this.params.output===4){this.materialCopy.uniforms["tDiffuse"].value=this.normalRenderTarget.texture;this.materialCopy.needsUpdate=true}else{this.materialCopy.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.materialCopy.needsUpdate=true}if(this.params.output===0){outputMaterial.blending=THREE.CustomBlending}else{outputMaterial.blending=THREE.NoBlending}this.renderPass(renderer,outputMaterial,this.renderToScreen?null:readBuffer);renderer.setClearColor(this._oldClearColor,this.oldClearAlpha);renderer.autoClear=oldAutoClear}renderPass(renderer,passMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.fsQuad.material=passMaterial;this.fsQuad.render(renderer);renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}renderOverride(renderer,overrideMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;clearColor=overrideMaterial.clearColor||clearColor;clearAlpha=overrideMaterial.clearAlpha||clearAlpha;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.scene.overrideMaterial=overrideMaterial;renderer.render(this.scene,this.camera);this.scene.overrideMaterial=null;renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}setSize(width,height){this.beautyRenderTarget.setSize(width,height);this.saoRenderTarget.setSize(width,height);this.blurIntermediateRenderTarget.setSize(width,height);this.normalRenderTarget.setSize(width,height);this.depthRenderTarget.setSize(width,height);this.saoMaterial.uniforms["size"].value.set(width,height);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.needsUpdate=true;this.vBlurMaterial.uniforms["size"].value.set(width,height);this.vBlurMaterial.needsUpdate=true;this.hBlurMaterial.uniforms["size"].value.set(width,height);this.hBlurMaterial.needsUpdate=true}}SAOPass.OUTPUT={"Beauty":1,"Default":0,"SAO":2,"Depth":3,"Normal":4};THREE.SAOPass=SAOPass})();(function(){const SAOShader={defines:{"NUM_SAMPLES":7,"NUM_RINGS":4,"NORMAL_TEXTURE":0,"DIFFUSE_TEXTURE":0,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDepth":{value:null},"tDiffuse":{value:null},"tNormal":{value:null},"size":{value:new THREE.Vector2(512,512)},"cameraNear":{value:1},"cameraFar":{value:100},"cameraProjectionMatrix":{value:new THREE.Matrix4},"cameraInverseProjectionMatrix":{value:new THREE.Matrix4},"scale":{value:1},"intensity":{value:0.1},"bias":{value:0.5},"minResolution":{value:0},"kernelRadius":{value:100},"randomSeed":{value:0}},vertexShader:`

		varying vec2 vUv;

		void main() {
			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
		}`,fragmentShader:`

		#include <common>

		varying vec2 vUv;

		#if DIFFUSE_TEXTURE == 1
		uniform sampler2D tDiffuse;
		#endif

		uniform sampler2D tDepth;

		#if NORMAL_TEXTURE == 1
		uniform sampler2D tNormal;
		#endif

		uniform float cameraNear;
		uniform float cameraFar;
		uniform mat4 cameraProjectionMatrix;
		uniform mat4 cameraInverseProjectionMatrix;

		uniform float scale;
		uniform float intensity;
		uniform float bias;
		uniform float kernelRadius;
		uniform float minResolution;
		uniform vec2 size;
		uniform float randomSeed;

		// RGBA depth

		#include <packing>

		vec4 getDefaultColor( const in vec2 screenPosition ) {
			#if DIFFUSE_TEXTURE == 1
			return texture2D( tDiffuse, vUv );
			#else
			return vec4( 1.0 );
			#endif
		}

		float getDepth( const in vec2 screenPosition ) {
			#if DEPTH_PACKING == 1
			return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) );
			#else
			return texture2D( tDepth, screenPosition ).x;
			#endif
		}

		float getViewZ( const in float depth ) {
			#if PERSPECTIVE_CAMERA == 1
			return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );
			#else
			return orthographicDepthToViewZ( depth, cameraNear, cameraFar );
			#endif
		}

		vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) {
			float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];
			vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 );
			clipPosition *= clipW; // unprojection.

			return ( cameraInverseProjectionMatrix * clipPosition ).xyz;
		}

		vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPosition ) {
			#if NORMAL_TEXTURE == 1
			return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz );
			#else
			return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );
			#endif
		}

		float scaleDividedByCameraFar;
		float minResolutionMultipliedByCameraFar;

		float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {
			vec3 viewDelta = sampleViewPosition - centerViewPosition;
			float viewDistance = length( viewDelta );
			float scaledScreenDistance = scaleDividedByCameraFar * viewDistance;

			return max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - bias) / (1.0 + pow2( scaledScreenDistance ) );
		}

		// moving costly divides into consts
		const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );
		const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );

		float getAmbientOcclusion( const in vec3 centerViewPosition ) {
			// precompute some variables require in getOcclusion.
			scaleDividedByCameraFar = scale / cameraFar;
			minResolutionMultipliedByCameraFar = minResolution * cameraFar;
			vec3 centerViewNormal = getViewNormal( centerViewPosition, vUv );

			// jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/
			float angle = rand( vUv + randomSeed ) * PI2;
			vec2 radius = vec2( kernelRadius * INV_NUM_SAMPLES ) / size;
			vec2 radiusStep = radius;

			float occlusionSum = 0.0;
			float weightSum = 0.0;

			for( int i = 0; i < NUM_SAMPLES; i ++ ) {
				vec2 sampleUv = vUv + vec2( cos( angle ), sin( angle ) ) * radius;
				radius += radiusStep;
				angle += ANGLE_STEP;

				float sampleDepth = getDepth( sampleUv );
				if( sampleDepth >= ( 1.0 - EPSILON ) ) {
					continue;
				}

				float sampleViewZ = getViewZ( sampleDepth );
				vec3 sampleViewPosition = getViewPosition( sampleUv, sampleDepth, sampleViewZ );
				occlusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );
				weightSum += 1.0;
			}

			if( weightSum == 0.0 ) discard;

			return occlusionSum * ( intensity / weightSum );
		}

		void main() {
			float centerDepth = getDepth( vUv );
			if( centerDepth >= ( 1.0 - EPSILON ) ) {
				discard;
			}

			float centerViewZ = getViewZ( centerDepth );
			vec3 viewPosition = getViewPosition( vUv, centerDepth, centerViewZ );

			float ambientOcclusion = getAmbientOcclusion( viewPosition );

			gl_FragColor = getDefaultColor( vUv );
			gl_FragColor.xyz *=  1.0 - ambientOcclusion;
		}`};THREE.SAOShader=SAOShader})();(function(){class SavePass extends THREE.Pass{constructor(renderTarget){super();if(THREE.CopyShader===undefined)console.error("THREE.SavePass relies on THREE.CopyShader");const shader=THREE.CopyShader;this.textureID="tDiffuse";this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader});this.renderTarget=renderTarget;if(this.renderTarget===undefined){this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight);this.renderTarget.texture.name="SavePass.rt"}this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}renderer.setRenderTarget(this.renderTarget);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}THREE.SavePass=SavePass})();(function(){class ShaderPass extends THREE.Pass{constructor(shader,textureID){super();this.textureID=textureID!==undefined?textureID:"tDiffuse";if(shader instanceof THREE.ShaderMaterial){this.uniforms=shader.uniforms;this.material=shader}else if(shader){this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({defines:Object.assign({},shader.defines),uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader})}this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}}THREE.ShaderPass=ShaderPass})();(function(){class SMAAPass extends THREE.Pass{constructor(width,height){super();this.edgesRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.edgesRT.texture.name="SMAAPass.edges";this.weightsRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.weightsRT.texture.name="SMAAPass.weights";const scope=this;const areaTextureImage=new Image;areaTextureImage.src=this.getAreaTexture();areaTextureImage.onload=function(){scope.areaTexture.needsUpdate=true};this.areaTexture=new THREE.Texture;this.areaTexture.name="SMAAPass.area";this.areaTexture.image=areaTextureImage;this.areaTexture.minFilter=THREE.LinearFilter;this.areaTexture.generateMipmaps=false;this.areaTexture.flipY=false;const searchTextureImage=new Image;searchTextureImage.src=this.getSearchTexture();searchTextureImage.onload=function(){scope.searchTexture.needsUpdate=true};this.searchTexture=new THREE.Texture;this.searchTexture.name="SMAAPass.search";this.searchTexture.image=searchTextureImage;this.searchTexture.magFilter=THREE.NearestFilter;this.searchTexture.minFilter=THREE.NearestFilter;this.searchTexture.generateMipmaps=false;this.searchTexture.flipY=false;if(THREE.SMAAEdgesShader===undefined){console.error("THREE.SMAAPass relies on SMAAShader")}this.uniformsEdges=THREE.UniformsUtils.clone(THREE.SMAAEdgesShader.uniforms);this.uniformsEdges["resolution"].value.set(1/width,1/height);this.materialEdges=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAEdgesShader.defines),uniforms:this.uniformsEdges,vertexShader:THREE.SMAAEdgesShader.vertexShader,fragmentShader:THREE.SMAAEdgesShader.fragmentShader});this.uniformsWeights=THREE.UniformsUtils.clone(THREE.SMAAWeightsShader.uniforms);this.uniformsWeights["resolution"].value.set(1/width,1/height);this.uniformsWeights["tDiffuse"].value=this.edgesRT.texture;this.uniformsWeights["tArea"].value=this.areaTexture;this.uniformsWeights["tSearch"].value=this.searchTexture;this.materialWeights=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAWeightsShader.defines),uniforms:this.uniformsWeights,vertexShader:THREE.SMAAWeightsShader.vertexShader,fragmentShader:THREE.SMAAWeightsShader.fragmentShader});this.uniformsBlend=THREE.UniformsUtils.clone(THREE.SMAABlendShader.uniforms);this.uniformsBlend["resolution"].value.set(1/width,1/height);this.uniformsBlend["tDiffuse"].value=this.weightsRT.texture;this.materialBlend=new THREE.ShaderMaterial({uniforms:this.uniformsBlend,vertexShader:THREE.SMAABlendShader.vertexShader,fragmentShader:THREE.SMAABlendShader.fragmentShader});this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){this.uniformsEdges["tDiffuse"].value=readBuffer.texture;this.fsQuad.material=this.materialEdges;renderer.setRenderTarget(this.edgesRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.fsQuad.material=this.materialWeights;renderer.setRenderTarget(this.weightsRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.uniformsBlend["tColor"].value=readBuffer.texture;this.fsQuad.material=this.materialBlend;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}setSize(width,height){this.edgesRT.setSize(width,height);this.weightsRT.setSize(width,height);this.materialEdges.uniforms["resolution"].value.set(1/width,1/height);this.materialWeights.uniforms["resolution"].value.set(1/width,1/height);this.materialBlend.uniforms["resolution"].value.set(1/width,1/height)}getAreaTexture(){return"data:image/png;base64, "}getSearchTexture(){return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII="}}THREE.SMAAPass=SMAAPass})();(function(){const SMAAEdgesShader={defines:{"SMAA_THRESHOLD":"0.1"},uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];

		void SMAAEdgeDetectionVS( vec2 texcoord ) {
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0,  1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4(  1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0,  2.0 ); // WebGL port note: Changed sign in W component
		}

		void main() {

			vUv = uv;

			SMAAEdgeDetectionVS( vUv );

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];

		vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {
			vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );

			// Calculate color deltas:
			vec4 delta;
			vec3 C = texture2D( colorTex, texcoord ).rgb;

			vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb;
			vec3 t = abs( C - Cleft );
			delta.x = max( max( t.r, t.g ), t.b );

			vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb;
			t = abs( C - Ctop );
			delta.y = max( max( t.r, t.g ), t.b );

			// We do the usual threshold:
			vec2 edges = step( threshold, delta.xy );

			// Then discard if there is no edge:
			if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 )
				discard;

			// Calculate right and bottom deltas:
			vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb;
			t = abs( C - Cright );
			delta.z = max( max( t.r, t.g ), t.b );

			vec3 Cbottom  = texture2D( colorTex, offset[1].zw ).rgb;
			t = abs( C - Cbottom );
			delta.w = max( max( t.r, t.g ), t.b );

			// Calculate the maximum delta in the direct neighborhood:
			float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w );

			// Calculate left-left and top-top deltas:
			vec3 Cleftleft  = texture2D( colorTex, offset[2].xy ).rgb;
			t = abs( C - Cleftleft );
			delta.z = max( max( t.r, t.g ), t.b );

			vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb;
			t = abs( C - Ctoptop );
			delta.w = max( max( t.r, t.g ), t.b );

			// Calculate the final maximum delta:
			maxDelta = max( max( maxDelta, delta.z ), delta.w );

			// Local contrast adaptation in action:
			edges.xy *= step( 0.5 * maxDelta, delta.xy );

			return vec4( edges, 0.0, 0.0 );
		}

		void main() {

			gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse );

		}`};const SMAAWeightsShader={defines:{"SMAA_MAX_SEARCH_STEPS":"8","SMAA_AREATEX_MAX_DISTANCE":"16","SMAA_AREATEX_PIXEL_SIZE":"( 1.0 / vec2( 160.0, 560.0 ) )","SMAA_AREATEX_SUBTEX_SIZE":"( 1.0 / 7.0 )"},uniforms:{"tDiffuse":{value:null},"tArea":{value:null},"tSearch":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];
		varying vec2 vPixcoord;

		void SMAABlendingWeightCalculationVS( vec2 texcoord ) {
			vPixcoord = texcoord / resolution;

			// We will use these offsets for the searches later on (see @PSEUDO_GATHER4):
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 ); // WebGL port note: Changed sign in Y and W components
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 ); // WebGL port note: Changed sign in Y and W components

			// And these for the searches, they indicate the ends of the loops:
			vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS );

		}

		void main() {

			vUv = uv;

			SMAABlendingWeightCalculationVS( vUv );

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		#define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 )

		uniform sampler2D tDiffuse;
		uniform sampler2D tArea;
		uniform sampler2D tSearch;
		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[3];
		varying vec2 vPixcoord;

		#if __VERSION__ == 100
		vec2 round( vec2 x ) {
			return sign( x ) * floor( abs( x ) + 0.5 );
		}
		#endif

		float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) {
			// Not required if searchTex accesses are set to point:
			// float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0);
			// e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE +
			//     e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE;
			e.r = bias + e.r * scale;
			return 255.0 * texture2D( searchTex, e, 0.0 ).r;
		}

		float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			/**
				* @PSEUDO_GATHER4
				* This texcoord has been offset by (-0.25, -0.125) in the vertex shader to
				* sample between edge, thus fetching four edges in a row.
				* Sampling with different offsets in each direction allows to disambiguate
				* which edges are active from the four fetched ones.
				*/
			vec2 e = vec2( 0.0, 1.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord -= vec2( 2.0, 0.0 ) * resolution;
				if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break;
			}

			// We correct the previous (-0.25, -0.125) offset we applied:
			texcoord.x += 0.25 * resolution.x;

			// The searches are bias by 1, so adjust the coords accordingly:
			texcoord.x += resolution.x;

			// Disambiguate the length added by the last step:
			texcoord.x += 2.0 * resolution.x; // Undo last step
			texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);

			return texcoord.x;
		}

		float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 0.0, 1.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord += vec2( 2.0, 0.0 ) * resolution;
				if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break;
			}

			texcoord.x -= 0.25 * resolution.x;
			texcoord.x -= resolution.x;
			texcoord.x -= 2.0 * resolution.x;
			texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );

			return texcoord.x;
		}

		float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 1.0, 0.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord += vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
				if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break;
			}

			texcoord.y -= 0.25 * resolution.y; // WebGL port note: Changed sign
			texcoord.y -= resolution.y; // WebGL port note: Changed sign
			texcoord.y -= 2.0 * resolution.y; // WebGL port note: Changed sign
			texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 ); // WebGL port note: Changed sign

			return texcoord.y;
		}

		float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 1.0, 0.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord -= vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
				if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break;
			}

			texcoord.y += 0.25 * resolution.y; // WebGL port note: Changed sign
			texcoord.y += resolution.y; // WebGL port note: Changed sign
			texcoord.y += 2.0 * resolution.y; // WebGL port note: Changed sign
			texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ); // WebGL port note: Changed sign

			return texcoord.y;
		}

		vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) {
			// Rounding prevents precision errors of bilinear filtering:
			vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist;

			// We do a scale and bias for mapping to texel space:
			texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE );

			// Move to proper place, according to the subpixel offset:
			texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset;

			return texture2D( areaTex, texcoord, 0.0 ).rg;
		}

		vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) {
			vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 );

			vec2 e = texture2D( edgesTex, texcoord ).rg;

			if ( e.g > 0.0 ) { // Edge at north
				vec2 d;

				// Find the distance to the left:
				vec2 coords;
				coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x );
				coords.y = offset[ 1 ].y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET)
				d.x = coords.x;

				// Now fetch the left crossing edges, two at a time using bilinear
				// filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to
				// discern what value each edge has:
				float e1 = texture2D( edgesTex, coords, 0.0 ).r;

				// Find the distance to the right:
				coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );
				d.y = coords.x;

				// We want the distances to be in pixel units (doing this here allow to
				// better interleave arithmetic and memory accesses):
				d = d / resolution.x - pixcoord.x;

				// SMAAArea below needs a sqrt, as the areas texture is compressed
				// quadratically:
				vec2 sqrt_d = sqrt( abs( d ) );

				// Fetch the right crossing edges:
				coords.y -= 1.0 * resolution.y; // WebGL port note: Added
				float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r;

				// Ok, we know how this pattern looks like, now it is time for getting
				// the actual area:
				weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );
			}

			if ( e.r > 0.0 ) { // Edge at west
				vec2 d;

				// Find the distance to the top:
				vec2 coords;

				coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z );
				coords.x = offset[ 0 ].x; // offset[1].x = texcoord.x - 0.25 * resolution.x;
				d.x = coords.y;

				// Fetch the top crossing edges:
				float e1 = texture2D( edgesTex, coords, 0.0 ).g;

				// Find the distance to the bottom:
				coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );
				d.y = coords.y;

				// We want the distances to be in pixel units:
				d = d / resolution.y - pixcoord.y;

				// SMAAArea below needs a sqrt, as the areas texture is compressed
				// quadratically:
				vec2 sqrt_d = sqrt( abs( d ) );

				// Fetch the bottom crossing edges:
				coords.y -= 1.0 * resolution.y; // WebGL port note: Added
				float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g;

				// Get the area for this direction:
				weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );
			}

			return weights;
		}

		void main() {

			gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) );

		}`};const SMAABlendShader={uniforms:{"tDiffuse":{value:null},"tColor":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 2 ];

		void SMAANeighborhoodBlendingVS( vec2 texcoord ) {
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
		}

		void main() {

			vUv = uv;

			SMAANeighborhoodBlendingVS( vUv );

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;
		uniform sampler2D tColor;
		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 2 ];

		vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {
			// Fetch the blending weights for current pixel:
			vec4 a;
			a.xz = texture2D( blendTex, texcoord ).xz;
			a.y = texture2D( blendTex, offset[ 1 ].zw ).g;
			a.w = texture2D( blendTex, offset[ 1 ].xy ).a;

			// Is there any blending weight with a value greater than 0.0?
			if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {
				return texture2D( colorTex, texcoord, 0.0 );
			} else {
				// Up to 4 lines can be crossing a pixel (one through each edge). We
				// favor blending by choosing the line with the maximum weight for each
				// direction:
				vec2 offset;
				offset.x = a.a > a.b ? a.a : -a.b; // left vs. right
				offset.y = a.g > a.r ? -a.g : a.r; // top vs. bottom // WebGL port note: Changed signs

				// Then we go in the direction that has the maximum weight:
				if ( abs( offset.x ) > abs( offset.y )) { // horizontal vs. vertical
					offset.y = 0.0;
				} else {
					offset.x = 0.0;
				}

				// Fetch the opposite color and lerp by hand:
				vec4 C = texture2D( colorTex, texcoord, 0.0 );
				texcoord += sign( offset ) * resolution;
				vec4 Cop = texture2D( colorTex, texcoord, 0.0 );
				float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y );

				// WebGL port note: Added gamma correction
				C.xyz = pow(C.xyz, vec3(2.2));
				Cop.xyz = pow(Cop.xyz, vec3(2.2));
				vec4 mixed = mix(C, Cop, s);
				mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2));

				return mixed;
			}
		}

		void main() {

			gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse );

		}`};THREE.SMAABlendShader=SMAABlendShader;THREE.SMAAEdgesShader=SMAAEdgesShader;THREE.SMAAWeightsShader=SMAAWeightsShader})();(function(){class SSAARenderPass extends THREE.Pass{constructor(scene,camera,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.sampleLevel=4;this.unbiased=true;this.clearColor=clearColor!==undefined?clearColor:0;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this._oldClearColor=new THREE.Color;if(THREE.CopyShader===undefined)console.error("THREE.SSAARenderPass relies on THREE.CopyShader");const copyShader=THREE.CopyShader;this.copyUniforms=THREE.UniformsUtils.clone(copyShader.uniforms);this.copyMaterial=new THREE.ShaderMaterial({uniforms:this.copyUniforms,vertexShader:copyShader.vertexShader,fragmentShader:copyShader.fragmentShader,transparent:true,blending:THREE.AdditiveBlending,depthTest:false,depthWrite:false});this.fsQuad=new THREE.FullScreenQuad(this.copyMaterial)}dispose(){if(this.sampleRenderTarget){this.sampleRenderTarget.dispose();this.sampleRenderTarget=null}}setSize(width,height){if(this.sampleRenderTarget)this.sampleRenderTarget.setSize(width,height)}render(renderer,writeBuffer,readBuffer){if(!this.sampleRenderTarget){this.sampleRenderTarget=new THREE.WebGLRenderTarget(readBuffer.width,readBuffer.height);this.sampleRenderTarget.texture.name="SSAARenderPass.sample"}const jitterOffsets=_JitterVectors[Math.max(0,Math.min(this.sampleLevel,5))];const autoClear=renderer.autoClear;renderer.autoClear=false;renderer.getClearColor(this._oldClearColor);const oldClearAlpha=renderer.getClearAlpha();const baseSampleWeight=1/jitterOffsets.length;const roundingRange=1/32;this.copyUniforms["tDiffuse"].value=this.sampleRenderTarget.texture;const viewOffset={fullWidth:readBuffer.width,fullHeight:readBuffer.height,offsetX:0,offsetY:0,width:readBuffer.width,height:readBuffer.height};const originalViewOffset=Object.assign({},this.camera.view);if(originalViewOffset.enabled)Object.assign(viewOffset,originalViewOffset);for(let i=0;i<jitterOffsets.length;i++){const jitterOffset=jitterOffsets[i];if(this.camera.setViewOffset){this.camera.setViewOffset(viewOffset.fullWidth,viewOffset.fullHeight,viewOffset.offsetX+jitterOffset[0]*0.0625,viewOffset.offsetY+jitterOffset[1]*0.0625,viewOffset.width,viewOffset.height)}let sampleWeight=baseSampleWeight;if(this.unbiased){const uniformCenteredDistribution=-0.5+(i+0.5)/jitterOffsets.length;sampleWeight+=roundingRange*uniformCenteredDistribution}this.copyUniforms["opacity"].value=sampleWeight;renderer.setClearColor(this.clearColor,this.clearAlpha);renderer.setRenderTarget(this.sampleRenderTarget);renderer.clear();renderer.render(this.scene,this.camera);renderer.setRenderTarget(this.renderToScreen?null:writeBuffer);if(i===0){renderer.setClearColor(0,0);renderer.clear()}this.fsQuad.render(renderer)}if(this.camera.setViewOffset&&originalViewOffset.enabled){this.camera.setViewOffset(originalViewOffset.fullWidth,originalViewOffset.fullHeight,originalViewOffset.offsetX,originalViewOffset.offsetY,originalViewOffset.width,originalViewOffset.height)}else if(this.camera.clearViewOffset){this.camera.clearViewOffset()}renderer.autoClear=autoClear;renderer.setClearColor(this._oldClearColor,oldClearAlpha)}}const _JitterVectors=[[[0,0]],[[4,4],[-4,-4]],[[-2,-6],[6,-2],[-6,2],[2,6]],[[1,-3],[-1,3],[5,1],[-3,-5],[-5,5],[-7,-1],[3,7],[7,-7]],[[1,1],[-1,-3],[-3,2],[4,-1],[-5,-2],[2,5],[5,3],[3,-5],[-2,6],[0,-7],[-4,-6],[-6,4],[-8,0],[7,-4],[6,7],[-7,-8]],[[-4,-7],[-7,-5],[-3,-5],[-5,-4],[-1,-4],[-2,-2],[-6,-1],[-4,0],[-7,1],[-1,2],[-6,3],[-3,3],[-7,6],[-3,6],[-5,7],[-1,7],[5,-7],[1,-6],[6,-5],[4,-4],[2,-3],[7,-2],[1,-1],[4,-1],[2,1],[6,2],[0,4],[4,4],[2,5],[7,5],[5,6],[3,7]]];THREE.SSAARenderPass=SSAARenderPass})();(function(){const UnpackDepthRGBAShader={uniforms:{"tDiffuse":{value:null},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		#include <packing>

		void main() {

			float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) );
			gl_FragColor = vec4( vec3( depth ), opacity );

		}`};THREE.UnpackDepthRGBAShader=UnpackDepthRGBAShader})();

})(); } catch (e) { console.log(e.message, e.stack); throw e; };