hart-estate-widget 1.1.6 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- /*! For license information please see widget.module.js.LICENSE.txt */
2
- (()=>{var e,t,n={4:(e,t,n)=>{var i=n(431),r={ease:i(.25,.1,.25,1),easeIn:i(.42,0,1,1),easeOut:i(0,0,.58,1),easeInOut:i(.42,0,.58,1),linear:i(0,0,1,1)};function o(){}function a(){var e=new Set,t=new Set,n=0;return{next:i,cancel:i,clearAll:function(){e.clear(),t.clear(),cancelAnimationFrame(n),n=0}};function i(e){t.add(e),n||(n=requestAnimationFrame(r))}function r(){n=0;var i=t;t=e,(e=i).forEach((function(e){e()})),e.clear()}}e.exports=function(e,t,n){var i=Object.create(null),a=Object.create(null),s="function"==typeof(n=n||{}).easing?n.easing:r[n.easing];s||(n.easing&&console.warn("Unknown easing function in amator: "+n.easing),s=r.ease);var l="function"==typeof n.step?n.step:o,c="function"==typeof n.done?n.done:o,u=function(e){if(!e)return"undefined"!=typeof window&&window.requestAnimationFrame?{next:window.requestAnimationFrame.bind(window),cancel:window.cancelAnimationFrame.bind(window)}:{next:function(e){return setTimeout(e,1e3/60)},cancel:function(e){return clearTimeout(e)}};if("function"!=typeof e.next)throw new Error("Scheduler is supposed to have next(cb) function");if("function"!=typeof e.cancel)throw new Error("Scheduler is supposed to have cancel(handle) function");return e}(n.scheduler),h=Object.keys(t);h.forEach((function(n){i[n]=e[n],a[n]=t[n]-e[n]}));var d,p="number"==typeof n.duration?n.duration:400,f=Math.max(1,.06*p),A=0;return d=u.next((function t(){var n=s(A/f);A+=1,function(t){h.forEach((function(n){e[n]=a[n]*t+i[n]}))}(n),A<=f?(d=u.next(t),l(e)):(d=0,setTimeout((function(){c(e)}),0))})),{cancel:function(){u.cancel(d),d=0}}},e.exports.makeAggregateRaf=a,e.exports.sharedScheduler=a()},431:e=>{var t=.1,n="function"==typeof Float32Array;function i(e,t){return 1-3*t+3*e}function r(e,t){return 3*t-6*e}function o(e){return 3*e}function a(e,t,n){return((i(t,n)*e+r(t,n))*e+o(t))*e}function s(e,t,n){return 3*i(t,n)*e*e+2*r(t,n)*e+o(t)}function l(e){return e}e.exports=function(e,i,r,o){if(!(0<=e&&e<=1&&0<=r&&r<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===i&&r===o)return l;for(var c=n?new Float32Array(11):new Array(11),u=0;u<11;++u)c[u]=a(u*t,e,r);return function(n){return 0===n?0:1===n?1:a(function(n){for(var i=0,o=1;10!==o&&c[o]<=n;++o)i+=t;--o;var l=i+(n-c[o])/(c[o+1]-c[o])*t,u=s(l,e,r);return u>=.001?function(e,t,n,i){for(var r=0;r<4;++r){var o=s(t,n,i);if(0===o)return t;t-=(a(t,n,i)-e)/o}return t}(n,l,e,r):0===u?l:function(e,t,n,i,r){var o,s,l=0;do{(o=a(s=t+(n-t)/2,i,r)-e)>0?n=s:t=s}while(Math.abs(o)>1e-7&&++l<10);return s}(n,i,i+t,e,r)}(n),i,o)}}},615:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var i=n(81),r=n.n(i),o=n(645),a=n.n(o),s=n(667),l=n.n(s),c=new URL(n(286),n.b),u=new URL(n(35),n.b),h=a()(r()),d=l()(c),p=l()(u);h.push([e.id,`@font-face{font-family:"Roboto Mono";font-style:normal;font-display:swap;font-weight:100;src:url(${d}) format("woff2"),url(${p}) format("woff")}`,""]);const f=h},500:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var i=n(81),r=n.n(i),o=n(645),a=n.n(o),s=n(667),l=n.n(s),c=new URL(n(801),n.b),u=new URL(n(607),n.b),h=a()(r()),d=l()(c),p=l()(u);h.push([e.id,`@font-face{font-family:"Roboto Mono";font-style:normal;font-display:swap;font-weight:700;src:url(${d}) format("woff2"),url(${p}) format("woff")}`,""]);const f=h},94:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var i=n(81),r=n.n(i),o=n(645),a=n.n(o),s=n(667),l=n.n(s),c=new URL(n(103),n.b),u=new URL(n(308),n.b),h=a()(r()),d=l()(c),p=l()(u);h.push([e.id,`@font-face{font-family:"Roboto Mono";font-style:normal;font-display:swap;font-weight:100;src:url(${d}) format("woff2"),url(${p}) format("woff")}`,""]);const f=h},545:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var i=n(81),r=n.n(i),o=n(645),a=n.n(o),s=n(667),l=n.n(s),c=new URL(n(517),n.b),u=new URL(n(904),n.b),h=a()(r()),d=l()(c),p=l()(u);h.push([e.id,`@font-face{font-family:"Roboto Mono";font-style:normal;font-display:swap;font-weight:700;src:url(${d}) format("woff2"),url(${p}) format("woff")}`,""]);const f=h},273:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var i=n(81),r=n.n(i),o=n(645),a=n.n(o)()(r());a.push([e.id,'.widget-application{--main-color: #FAC62D;--main-text: #413E3E;width:100%;height:100%;flex:none;overflow:hidden;position:relative;z-index:1;background-color:#fff;font-size:20px}.widget-application *,.widget-application *:before,.widget-application *:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Roboto Mono",monospace;text-decoration:none;font-weight:700;color:#413e3e;outline:none;padding:0;margin:0;box-sizing:border-box;-webkit-box-sizing:border-box}.widget-application .widget-logo{position:absolute;left:45px;top:30px;z-index:3}.widget-application--tablet.widget-application .widget-logo{left:36px;top:39px}.widget-application--mobile.widget-application .widget-logo{left:23px;top:24px}.widget-application--smallMobile.widget-application .widget-logo{left:23px;top:21px}.widget-application .widget-logo img{display:block;width:82px;height:82px;object-fit:contain;object-position:center}.widget-application--tablet.widget-application .widget-logo img{width:58px;height:58px}.widget-application--mobile.widget-application .widget-logo img{width:36px;height:36px}.widget-application--smallMobile.widget-application .widget-logo img{width:28px;height:28px}.widget-application .widget-tab__panorama-close-map{position:absolute;right:45px;top:36px;z-index:3;padding:10px;touch-action:none;ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer}.widget-application--tablet.widget-application .widget-tab__panorama-close-map{right:30px;top:35px}.widget-application--mobile.widget-application .widget-tab__panorama-close-map{padding:5px;right:22px;top:20px}.widget-application .widget-tab__panorama-close-map img{display:block;width:50px;height:50px;object-fit:contain;object-position:center}.widget-application--tablet.widget-application .widget-tab__panorama-close-map img{width:40px;height:40px}.widget-application--mobile.widget-application .widget-tab__panorama-close-map img{width:32px;height:32px}.widget-application--smallMobile.widget-application .widget-tab__panorama-close-map img{width:26px;height:26px}.widget-application .widget-enter-fullscreen{position:absolute;right:45px;top:36px;z-index:3;padding:10px;touch-action:none;ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer}.widget-application--tablet.widget-application .widget-enter-fullscreen{right:30px;top:35px}.widget-application--mobile.widget-application .widget-enter-fullscreen{padding:5px;right:22px;top:20px}.widget-application .widget-enter-fullscreen img{display:block;width:50px;height:50px;object-fit:contain;object-position:center}.widget-application--tablet.widget-application .widget-enter-fullscreen img{width:40px;height:40px}.widget-application--mobile.widget-application .widget-enter-fullscreen img{width:32px;height:32px}.widget-application--smallMobile.widget-application .widget-enter-fullscreen img{width:26px;height:26px}.widget-application .widget-exit-fullscreen{position:absolute;right:45px;top:36px;z-index:3;padding:10px;touch-action:none;ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer}.widget-application--tablet.widget-application .widget-exit-fullscreen{right:30px;top:35px}.widget-application--mobile.widget-application .widget-exit-fullscreen{padding:5px;right:22px;top:20px}.widget-application .widget-exit-fullscreen img{display:block;width:50px;height:50px;object-fit:contain;object-position:center}.widget-application--tablet.widget-application .widget-exit-fullscreen img{width:40px;height:40px}.widget-application--mobile.widget-application .widget-exit-fullscreen img{width:32px;height:32px}.widget-application--smallMobile.widget-application .widget-exit-fullscreen img{width:26px;height:26px}.widget-application .widget-tab-buttons{position:absolute;z-index:3;right:44px;bottom:35px;display:flex;align-items:center;justify-content:flex-end}.widget-application--tablet.widget-application .widget-tab-buttons{right:35px;bottom:35px}.widget-application--mobile.widget-application .widget-tab-buttons{right:22px;bottom:22px}.widget-application--smallMobile.widget-application .widget-tab-buttons{right:20px;bottom:30px}.widget-application .widget-tab-button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#eaeaea;color:#413e3e;font-size:28px;line-height:120%;font-weight:700;margin-left:40px}.widget-application--tablet.widget-application .widget-tab-button{margin-left:20px;width:60px;height:60px;font-size:22px}.widget-application--mobile.widget-application .widget-tab-button{margin-left:10px;font-size:17px;width:44px;height:44px}.widget-application--smallMobile.widget-application .widget-tab-button{width:36px;height:36px;font-size:14px}.widget-application .widget-tab-button--active{background-color:var(--main-color);color:var(--main-text)}.widget-application .widget-tab{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px 30px}.widget-application--smallMobile.widget-application .widget-tab{padding:60px 20px}.widget-application .widget-tab--rotation{padding:0 !important}.widget-application .widget-tab-menu{position:absolute;z-index:3;left:15px;top:15px;max-height:100%;overflow-y:auto;padding-bottom:30px}.widget-application .widget-tab-menu__wallpapers{display:flex;flex-wrap:wrap;align-items:flex-start;margin-top:10px;width:100%}.widget-application .widget-tab-menu__wallpapers img{width:30px;height:30px;display:block;object-fit:cover;cursor:pointer;margin-right:10px;margin-block-end:10px}.widget-application .widget-tab-menu ul{list-style-type:none}.widget-application .widget-tab-menu ul li{color:#413e3e;background-color:var(--main-color);padding:5px 15px;border-radius:10px;font-size:.7rem;border:none;cursor:pointer;margin-bottom:15px;width:200px;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab-menu ul li label{display:flex;cursor:inherit;width:100%}.widget-application .widget-tab-menu ul li input[type=color]{cursor:pointer;margin-left:auto;width:50px;height:20px;border:0;border-radius:5px}.widget-application .widget-tab-menu ul li input[type=color]::-webkit-color-swatch-wrapper{display:none !important}.widget-application .widget-tab-menu ul li input[type=file]{display:none}.widget-application .widget-tab-menu ul li:nth-child(1){position:relative}.widget-application .widget-tab-menu ul li:nth-child(1)::after{--bar-width: 2px;content:"";width:20px;height:15px;display:block;background:repeating-linear-gradient(180deg, #000000, #000000 var(--bar-width), rgba(0, 0, 0, 0) var(--bar-width), rgba(0, 0, 0, 0) calc(var(--bar-width) * 3));position:absolute;right:10px;top:50%;transform:translateY(-50%)}.widget-application .widget-instructions{position:absolute;z-index:2;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-position:center;background-repeat:no-repeat;background-size:cover}.widget-application .widget-instructions__content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background-color:rgba(234,234,234,.85);border-radius:20px;overflow:hidden;width:400px;max-width:calc(100% - 60px);padding:36px 30px 30px 30px;backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.widget-application--mobile.widget-application .widget-instructions__content{width:280px;padding:26px 20px 20px 20px}.widget-application .widget-instructions__steps{display:flex;align-items:flex-start;justify-content:center}.widget-application .widget-instructions__step{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin:0 15px}.widget-application--tablet.widget-application .widget-instructions__step{margin:0 10px}.widget-application .widget-instructions__step img{display:block;width:52px;height:80px;object-fit:contain;object-position:center}.widget-application--mobile.widget-application .widget-instructions__step img{width:40px;height:60px}.widget-application--smallMobile.widget-application .widget-instructions__step img{width:35px}.widget-application .widget-instructions__step p{color:#413e3e;font-size:20px;font-weight:700;text-align:center;margin-top:10px;max-width:130px}.widget-application--tablet.widget-application .widget-instructions__step p{font-size:18px;max-width:115px}.widget-application--mobile.widget-application .widget-instructions__step p{font-size:16px}.widget-application--smallMobile.widget-application .widget-instructions__step p{font-size:14px}.widget-application .widget-instructions__hint p{color:#413e3e;font-weight:700;text-align:center;margin-top:1.5em;font-size:14px}.widget-application--tablet.widget-application .widget-instructions__hint p{font-size:12px}.widget-application--mobile.widget-application .widget-instructions__hint p{font-size:10px}.widget-application--smallMobile.widget-application .widget-instructions__hint p{font-size:8px}.widget-application .widget-instructions button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;height:44px;padding:0 33px;border-radius:52px;background-color:var(--main-color);color:var(--main-text);font-size:24px;font-weight:700;text-transform:uppercase;margin:25px auto 0 auto}.widget-application .widget-instructions button:disabled{opacity:.75;cursor:not-allowed}.widget-application--tablet.widget-application .widget-instructions button{font-size:18px;height:40px}.widget-application--mobile.widget-application .widget-instructions button{font-size:16px;height:35px}.widget-application--smallMobile.widget-application .widget-instructions button{font-size:14px;height:26px;padding:0 25px}.widget-application .widget-tab__panorama{width:100%;height:100%;position:absolute;left:0;top:0;z-index:2}.widget-application .widget-tab__panorama-overlay{width:100%;height:100%;overflow:hidden;background:#fff !important}.widget-application .widget-tab__panorama-overlay *{display:none !important}.widget-application .widget-tab__panorama-overlay canvas{display:block !important}.widget-application .widget-tab__panorama-controls{position:absolute;z-index:2;left:50%;bottom:35px;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:38px;background-color:rgba(0,0,0,.2);transform:translateX(-50%);backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.widget-application--mobile.widget-application .widget-tab__panorama-controls{padding:5px}.widget-application--smallMobile.widget-application .widget-tab__panorama-controls{bottom:30px}.widget-application .widget-tab__panorama-controls-button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;width:55px;height:55px;border-radius:50%;background-color:#fff;display:flex;align-items:center;justify-content:center;margin-right:18px}.widget-application--tablet.widget-application .widget-tab__panorama-controls-button{width:44px;height:44px}.widget-application--mobile.widget-application .widget-tab__panorama-controls-button{margin-right:10px;width:33px;height:33px}.widget-application--smallMobile.widget-application .widget-tab__panorama-controls-button{width:26px;height:26px}.widget-application .widget-tab__panorama-controls-button img{display:block}.widget-application--tablet.widget-application .widget-tab__panorama-controls-button img{transform:scale(0.7)}.widget-application--mobile.widget-application .widget-tab__panorama-controls-button img{transform:scale(0.52)}.widget-application--smallMobile.widget-application .widget-tab__panorama-controls-button img{transform:scale(0.45)}.widget-application .widget-tab__panorama-controls-button:nth-last-child(1){margin-right:0}.widget-application .widget-tab__panorama-close-map{z-index:4}.widget-application .widget-tab__panorama-map{position:absolute;left:45px;bottom:35px;z-index:3;border-radius:10px;opacity:1;transition:opacity .5s;padding:8px;touch-action:none;-webkit-touch-action:none}.widget-application .widget-tab__panorama-map::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%, -50%);width:100%;height:100%;border-radius:inherit;background-color:#fff}.widget-application--tablet.widget-application .widget-tab__panorama-map{left:35px;transform:scale(0.6);transform-origin:0% 100%}.widget-application--mobile.widget-application .widget-tab__panorama-map{left:22px;transform:scale(0.4)}.widget-application--smallMobile.widget-application .widget-tab__panorama-map{left:20px;bottom:30px;transform:scale(0.35)}.widget-application--tablet.widget-application .widget-tab__panorama-map--scaled{transform:scale(1.4) translate(-50%, 50%);left:50%;bottom:50%}.widget-application--tablet.widget-application .widget-tab__panorama-map--scaled::after{content:"";position:absolute;z-index:-2;left:50%;top:50%;transform:translate(-50%, -50%);width:100vw;height:100vh;background-color:rgba(196,196,196,.8)}.widget-application--tablet.widget-application .widget-tab__panorama-map--scaled svg polygon:active{opacity:.3 !important}.widget-application--mobile.widget-application .widget-tab__panorama-map--scaled{transform:scale(1) translate(-50%, 50%)}.widget-application .widget-tab__panorama-map--hidden{opacity:0;pointer-events:none}.widget-application .widget-tab__panorama-map img{width:200px;border-radius:none;display:block;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none;-webkit-backface-visibility:hidden;-ms-transform:translateZ(0);-webkit-transform:translateZ(0);transform:translateZ(0)}.widget-application .widget-tab__panorama-map img:hover{box-shadow:1px 1px 10px rgba(0,0,0,.15)}.widget-application .widget-tab__panorama-map svg{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:200px;height:calc(100% - 16px);z-index:3;display:block;border-radius:inherit}.widget-application .widget-tab__panorama-map svg polygon{opacity:0;fill:var(--main-color);cursor:pointer}.widget-application .widget-tab__panorama-map svg polygon:hover{opacity:.3}.widget-application .widget-tab__panorama-map__fov{position:absolute;left:0;top:0;width:16px;height:16px;transform:translate(-50%, -50%) rotate(0rad);transform-origin:50% 50%;z-index:4;pointer-events:none}.widget-application .widget-tab__panorama-map__fov-direction{border-radius:50%;border-left:30px solid rgba(0,0,0,0);border-right:30px solid rgba(0,0,0,0);border-bottom:30px solid rgba(0,0,0,0);border-top:40px solid var(--main-color);opacity:.4;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);z-index:1}.widget-application .widget-tab__panorama-map__fov-dot{position:relative;z-index:5;width:100%;height:100%;background-color:var(--main-color);border-radius:50%;border:2px solid var(--main-color);box-shadow:inset 0 0 0 2px #fff}.widget-application .widget-tab__rotation{width:100%;height:100%}.widget-application .widget-tab__rotation-start{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;position:absolute;left:50%;bottom:35px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;padding:0 25px 0 10px;background-color:#eaeaea;border-radius:38px;height:72px;width:202px}.widget-application--tablet.widget-application .widget-tab__rotation-start{height:60px;width:166px;padding:0 20px 0 8px;bottom:35px}.widget-application--mobile.widget-application .widget-tab__rotation-start{height:44px;width:115px;padding:0 10px 0 6px}.widget-application--smallMobile.widget-application .widget-tab__rotation-start{height:36px;width:85px;padding:0 8px 0 6px;bottom:30px}.widget-application .widget-tab__rotation-start-icon{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fff;margin-right:18px;padding:10px}.widget-application--tablet.widget-application .widget-tab__rotation-start-icon{padding:7px;margin-right:15px}.widget-application--mobile.widget-application .widget-tab__rotation-start-icon{margin-right:7px}.widget-application--smallMobile.widget-application .widget-tab__rotation-start-icon{padding:6px;margin-right:5px}.widget-application .widget-tab__rotation-start-icon img{display:block;position:relative;top:2px;width:34px}.widget-application--tablet.widget-application .widget-tab__rotation-start-icon img{width:30px;top:1px}.widget-application--mobile.widget-application .widget-tab__rotation-start-icon img{width:19px;top:0}.widget-application--smallMobile.widget-application .widget-tab__rotation-start-icon img{width:15px}.widget-application .widget-tab__rotation-start span{font-size:24px;font-weight:700;color:#413e3e;text-transform:uppercase;width:100%;display:block;text-align:center;position:relative;top:1px}.widget-application--tablet.widget-application .widget-tab__rotation-start span{font-size:20px}.widget-application--mobile.widget-application .widget-tab__rotation-start span{font-size:14px}.widget-application--smallMobile.widget-application .widget-tab__rotation-start span{font-size:10px;top:0}.widget-application .widget-tab__threesixty,.widget-application .widget-tab__isometry{width:100%;height:100%;touch-action:none;-webkit-touch-action:none}.widget-application .widget-tab__threesixty-container,.widget-application .widget-tab__isometry-container{width:100% !important;height:100% !important;position:relative;background-image:none !important}.widget-application .widget-tab__threesixty-container img,.widget-application .widget-tab__isometry-container img{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);max-width:calc(100% - 60px);max-height:calc(100% - 120px);width:600px;height:600px;object-fit:contain;opacity:0;pointer-events:none;user-select:none;-webkit-user-select:none;user-drag:none;-webkit-user-drag:none}.widget-application .widget-tab__threesixty-container img.active,.widget-application .widget-tab__isometry-container img.active{opacity:1}.widget-application .widget-tab__threesixty--active{cursor:move}.widget-application--smallMobile.widget-application .widget-tab__threesixty-container img{max-width:calc(100% - 40px)}.widget-application--smallMobile.widget-application .widget-tab__isometry-container img{max-width:calc(100% - 40px)}.widget-application .widget-tab__isometry-arrows{position:absolute;z-index:3;left:50%;bottom:35px;transform:translateX(-50%);height:72px;display:flex;align-items:center;justify-content:center}.widget-application--tablet.widget-application .widget-tab__isometry-arrows{bottom:35px;height:60px}.widget-application--mobile.widget-application .widget-tab__isometry-arrows{bottom:22px;height:44px}.widget-application--smallMobile.widget-application .widget-tab__isometry-arrows{bottom:100px;height:36px}.widget-application .widget-tab__isometry-arrows::before{content:"";position:absolute;left:50%;top:50%;width:calc(100% + 30px);height:100%;transform:translate(-50%, -50%);background-color:#eaeaea;z-index:-1;border-radius:60px}.widget-application--tablet.widget-application .widget-tab__isometry-arrows::before{border-radius:32px}.widget-application--mobile.widget-application .widget-tab__isometry-arrows::before{width:calc(100% + 15px);border-radius:30px}.widget-application .widget-tab__isometry-arrows span{font-size:28px;font-weight:700;display:block;margin:0 9px}.widget-application--tablet.widget-application .widget-tab__isometry-arrows span{font-size:22px}.widget-application--mobile.widget-application .widget-tab__isometry-arrows span{font-size:17px;margin:0 3px}.widget-application--smallMobile.widget-application .widget-tab__isometry-arrows span{font-size:14px;margin:0}.widget-application .widget-tab__isometry-arrow{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:5px}.widget-application .widget-tab__isometry-arrow img{width:32px}.widget-application--tablet.widget-application .widget-tab__isometry-arrow img{width:24px}.widget-application--mobile.widget-application .widget-tab__isometry-arrow img{width:18px}.widget-application--smallMobile.widget-application .widget-tab__isometry-arrow img{width:14px}.widget-application .widget-tab__isometry-buttons{position:absolute;z-index:3;left:44px;bottom:35px;display:flex;align-items:center;justify-content:flex-end}.widget-application--tablet.widget-application .widget-tab__isometry-buttons{left:35px;bottom:35px}.widget-application--mobile.widget-application .widget-tab__isometry-buttons{left:22px;bottom:22px}.widget-application--smallMobile.widget-application .widget-tab__isometry-buttons{left:20px;bottom:30px}.widget-application .widget-tab__isometry-button{ouline:none;border:none;box-shadow:none;background:rgba(0,0,0,0);cursor:pointer;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#eaeaea;margin-top:40px}.widget-application--tablet.widget-application .widget-tab__isometry-button{margin-top:20px;width:60px;height:60px}.widget-application--mobile.widget-application .widget-tab__isometry-button{margin-top:10px;width:44px;height:44px}.widget-application--smallMobile.widget-application .widget-tab__isometry-button{width:36px;height:36px}.widget-application .widget-tab__isometry-button img{display:block;width:50px}.widget-application--tablet.widget-application .widget-tab__isometry-button img{width:40px}.widget-application--mobile.widget-application .widget-tab__isometry-button img{width:30px}.widget-application--smallMobile.widget-application .widget-tab__isometry-button img{width:25px}.widget-application .widget-loader{display:block;position:relative;width:80px;height:80px}.widget-application .widget-loader--absolute{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.widget-application .widget-loader--sm{transform:translate(-50%, -50%) scale(0.75)}.widget-application .widget-loader div{position:absolute;top:33px;width:13px;height:13px;border-radius:50%;background:var(--main-color);animation-timing-function:cubic-bezier(0, 1, 1, 0)}.widget-application .widget-loader div:nth-child(1){left:8px;animation:widget-loader-1 .6s infinite}.widget-application .widget-loader div:nth-child(2){left:8px;animation:widget-loader-2 .6s infinite}.widget-application .widget-loader div:nth-child(3){left:32px;animation:widget-loader-2 .6s infinite}.widget-application .widget-loader div:nth-child(4){left:56px;animation:widget-loader-3 .6s infinite}@keyframes widget-loader-1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes widget-loader-3{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes widget-loader-2{0%{transform:translate(0, 0)}100%{transform:translate(24px, 0)}}.widget-application .widget-watermark-button{position:absolute;right:4px;bottom:4px;z-index:1000}.widget-application--tablet.widget-application .widget-watermark-button{right:3px;bottom:2px}.widget-application--mobile.widget-application .widget-watermark-button{right:2px}.widget-application--smallMobile.widget-application .widget-watermark-button{right:13px;bottom:8px}.widget-application .widget-watermark-button a{font-size:18px;line-height:90%;color:#000;opacity:.5}.widget-application--tablet.widget-application .widget-watermark-button a{font-size:15px}.widget-application--mobile.widget-application .widget-watermark-button a{font-size:10px}.widget-application--smallMobile.widget-application .widget-watermark-button a{font-size:9px}.widget-application .widget-watermark-button a span{font-weight:100;font-size:inherit;line-height:90%;color:inherit}.widget-application .floors-select{display:none;position:absolute;top:47px;left:50%;background:none;height:37px;border:none;transform:translateX(-50%);cursor:pointer;white-space:nowrap;overflow-x:visible;border-bottom:1px #413e3e solid;z-index:3}.widget-application--tablet.widget-application .floors-select{height:34px}.widget-application--mobile.widget-application .floors-select{height:32px}.widget-application--smallMobile.widget-application .floors-select{height:30px}.widget-application .floors-select__option{text-align:center;justify-content:center;cursor:pointer;font-size:20px;line-height:132%;font-weight:600;word-spacing:-10px}.widget-application--tablet.widget-application .floors-select__option{font-size:18px;word-spacing:-7px}.widget-application--mobile.widget-application .floors-select__option{font-size:13px;word-spacing:-4px}.widget-application--smallMobile.widget-application .floors-select__option{font-size:10px;word-spacing:-3px}.widget-application .floors-select__control{background:none;border:none;box-shadow:none;justify-content:center;max-height:100%;text-align:center;max-height:100%;border-radius:0;overflow:visible;cursor:pointer;font-size:28px;line-height:132%;word-spacing:-12px}.widget-application--tablet.widget-application .floors-select__control{font-size:22px;word-spacing:-9px}.widget-application--mobile.widget-application .floors-select__control{font-size:17px;word-spacing:-6px}.widget-application--smallMobile.widget-application .floors-select__control{font-size:14px;word-spacing:-5px}.widget-application .floors-select__placeholder{color:#413e3e;text-align:center}.widget-application .floors-select__input{text-align:center;margin:0;padding:0;justify-content:center;color:rgba(0,0,0,0)}.widget-application .floors-select__single-value{color:#413e3e}.widget-application .floors-select__value-container{padding:0;overflow:visible}.widget-application .floors-select:hover{border-bottom:1px #000 solid}.widget-application .floors-select--active{display:block}',""]);const s=a},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(i)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<e.length;c++){var u=[].concat(e[c]);i&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),t.push(u))}},t}},667:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},81:e=>{"use strict";e.exports=function(e){return e[1]}},679:(e,t,n)=>{"use strict";var i=n(864),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return i.isMemo(e)?a:s[e.$$typeof]||r}s[i.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[i.Memo]=a;var c=Object.defineProperty,u=Object.getOwnPropertyNames,h=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,f=Object.prototype;e.exports=function e(t,n,i){if("string"!=typeof n){if(f){var r=p(n);r&&r!==f&&e(t,r,i)}var a=u(n);h&&(a=a.concat(h(n)));for(var s=l(t),A=l(n),m=0;m<a.length;++m){var g=a[m];if(!(o[g]||i&&i[g]||A&&A[g]||s&&s[g])){var v=d(n,g);try{c(t,g,v)}catch(e){}}}}return t}},245:e=>{e.exports=function(e){!function(e){if(!e)throw new Error("Eventify cannot use falsy object as events subject");for(var t=["on","fire","off"],n=0;n<t.length;++n)if(e.hasOwnProperty(t[n]))throw new Error("Subject cannot be eventified, since it already has property '"+t[n]+"'")}(e);var t=function(e){var t=Object.create(null);return{on:function(n,i,r){if("function"!=typeof i)throw new Error("callback is expected to be a function");var o=t[n];return o||(o=t[n]=[]),o.push({callback:i,ctx:r}),e},off:function(n,i){if(void 0===n)return t=Object.create(null),e;if(t[n])if("function"!=typeof i)delete t[n];else for(var r=t[n],o=0;o<r.length;++o)r[o].callback===i&&r.splice(o,1);return e},fire:function(n){var i,r=t[n];if(!r)return e;arguments.length>1&&(i=Array.prototype.splice.call(arguments,1));for(var o=0;o<r.length;++o){var a=r[o];a.callback.apply(a.ctx,i)}return e}}}(e);return e.on=t.on,e.off=t.off,e.fire=t.fire,e}},418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var o,a,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var c in o=Object(arguments[l]))n.call(o,c)&&(s[c]=o[c]);if(t){a=t(o);for(var u=0;u<a.length;u++)i.call(o,a[u])&&(s[a[u]]=o[a[u]])}}return s}},874:(e,t,n)=>{"use strict";var i=n(42),r=n(4),o=n(245),a=n(89),s=n(336),l=s(),c=s(!0),u=n(190),h=n(876),d=n(835);function p(e,t){var n=(t=t||{}).controller;if(n||(h.canAttach(e)?n=h(e,t):d.canAttach(e)&&(n=d(e,t))),!n)throw new Error("Cannot create panzoom for the current type of dom element");var s=n.getOwner(),p={x:0,y:0},A=!1,y=new u;n.initTransform&&n.initTransform(y);var b,w="function"==typeof t.filterKey?t.filterKey:m,x="number"==typeof t.pinchSpeed?t.pinchSpeed:1,M=t.bounds,E="number"==typeof t.maxZoom?t.maxZoom:Number.POSITIVE_INFINITY,S="number"==typeof t.minZoom?t.minZoom:0,T="number"==typeof t.boundsPadding?t.boundsPadding:.05,C="number"==typeof t.zoomDoubleClickSpeed?t.zoomDoubleClickSpeed:1.75,I=t.beforeWheel||m,L=t.beforeMouseDown||m,D="number"==typeof t.zoomSpeed?t.zoomSpeed:1,O=f(t.transformOrigin),N=t.enableTextSelection?c:l;!function(e){var t=typeof e;if("undefined"!==t&&"boolean"!==t&&!(g(e.left)&&g(e.top)&&g(e.bottom)&&g(e.right)))throw new Error("Bounds object is not valid. It can be: undefined, boolean (true|false) or an object {left, top, right, bottom}")}(M),t.autocenter&&function(){var e,t,i=0,r=0,o=oe();if(o)i=o.left,r=o.top,e=o.right-o.left,t=o.bottom-o.top;else{var a=s.getBoundingClientRect();e=a.width,t=a.height}var l=n.getBBox();if(0!==l.width&&0!==l.height){var c=t/l.height,u=e/l.width,h=Math.min(u,c);y.x=-(l.left+l.width/2)*h+e/2+i,y.y=-(l.top+l.height/2)*h+t/2+r,y.scale=h}}();var P,k,R,z,_,B,j,U,F,V,H=0,Q=0,W=0,G=null,Y=new Date,q=!1,X=!1;j="smoothScroll"in t&&!t.smoothScroll?{start:m,stop:m,cancel:m}:a((function(){return{x:y.x,y:y.y}}),(function(e,t){Ne(),ne(e,t)}),t.smoothScroll);var Z=!1;ue();var J={dispose:function(){he()},moveBy:ce,moveTo:ne,smoothMoveTo:function(e,t){ce(e-y.x,t-y.y,!0)},centerOn:function(e){var t=e.ownerSVGElement;if(!t)throw new Error("ui element is required to be within the scene");var n=e.getBoundingClientRect(),i=n.left+n.width/2,r=n.top+n.height/2,o=t.getBoundingClientRect();ce(o.width/2-i,o.height/2-r,!0)},zoomTo:Oe,zoomAbs:le,smoothZoom:Le,smoothZoomAbs:function(e,t,n){var i={scale:y.scale},o={scale:n};j.cancel(),Ne(),F=r(i,o,{step:function(n){le(e,t,n.scale)}})},showRectangle:function(e){var t=s.getBoundingClientRect(),n=te(t.width,t.height),i=e.right-e.left,r=e.bottom-e.top;if(!Number.isFinite(i)||!Number.isFinite(r))throw new Error("Invalid rectangle");var o=n.x/i,a=n.y/r,l=Math.min(o,a);y.x=-(e.left+i/2)*l+n.x/2,y.y=-(e.top+r/2)*l+n.y/2,y.scale=l},pause:function(){he(),Z=!0},resume:function(){Z&&(ue(),Z=!1)},isPaused:function(){return Z},getTransform:function(){return y},getMinZoom:function(){return S},setMinZoom:function(e){S=e},getMaxZoom:function(){return E},setMaxZoom:function(e){E=e},getTransformOrigin:function(){return O},setTransformOrigin:function(e){O=f(e)},getZoomSpeed:function(){return D},setZoomSpeed:function(e){if(!Number.isFinite(e))throw new Error("Zoom speed should be a number");D=e}};o(J);var K="number"==typeof t.initialX?t.initialX:y.x,$="number"==typeof t.initialY?t.initialY:y.y,ee="number"==typeof t.initialZoom?t.initialZoom:y.scale;return K==y.x&&$==y.y&&ee==y.scale||le(K,$,ee),J;function te(e,t){if(n.getScreenCTM){var i=n.getScreenCTM(),r=i.a,o=i.d,a=i.e,s=i.f;p.x=e*r-a,p.y=t*o-s}else p.x=e,p.y=t;return p}function ne(e,t){y.x=e,y.y=t,re(),_e("pan"),ae()}function ie(e,t){ne(y.x+e,y.y+t)}function re(){var e=oe();if(e){var t,i,r,o,a=!1,s=(r=(t=n.getBBox()).left,o=t.top,{left:(i={x:r*y.scale+y.x,y:o*y.scale+y.y}).x,top:i.y,right:t.width*y.scale+i.x,bottom:t.height*y.scale+i.y}),l=e.left-s.right;return l>0&&(y.x+=l,a=!0),(l=e.right-s.left)<0&&(y.x+=l,a=!0),(l=e.top-s.bottom)>0&&(y.y+=l,a=!0),(l=e.bottom-s.top)<0&&(y.y+=l,a=!0),a}}function oe(){if(M){if("boolean"==typeof M){var e=s.getBoundingClientRect(),t=e.width,n=e.height;return{left:t*T,top:n*T,right:t*(1-T),bottom:n*(1-T)}}return M}}function ae(){A=!0,b=window.requestAnimationFrame(de)}function se(e,t,n){if(v(e)||v(t)||v(n))throw new Error("zoom requires valid numbers");var i=y.scale*n;if(i<S){if(y.scale===S)return;n=S/y.scale}if(i>E){if(y.scale===E)return;n=E/y.scale}var r=te(e,t);y.x=r.x-n*(r.x-y.x),y.y=r.y-n*(r.y-y.y),M&&1===T&&1===S?(y.scale*=n,re()):re()||(y.scale*=n),_e("zoom"),ae()}function le(e,t,n){se(e,t,n/y.scale)}function ce(e,t,n){if(!n)return ie(e,t);U&&U.cancel();var i=0,o=0;U=r({x:0,y:0},{x:e,y:t},{step:function(e){ie(e.x-i,e.y-o),i=e.x,o=e.y}})}function ue(){s.addEventListener("mousedown",xe,{passive:!1}),s.addEventListener("dblclick",we,{passive:!1}),s.addEventListener("touchstart",fe,{passive:!1}),s.addEventListener("keydown",pe,{passive:!1}),i.addWheelListener(s,Ce,{passive:!1}),ae()}function he(){i.removeWheelListener(s,Ce),s.removeEventListener("mousedown",xe),s.removeEventListener("keydown",pe),s.removeEventListener("dblclick",we),s.removeEventListener("touchstart",fe),b&&(window.cancelAnimationFrame(b),b=0),j.cancel(),Se(),Te(),N.release(),Re()}function de(){A&&(A=!1,n.applyTransform(y),_e("transform"),b=0)}function pe(e){var t=0,n=0,i=0;if(38===e.keyCode?n=1:40===e.keyCode?n=-1:37===e.keyCode?t=1:39===e.keyCode?t=-1:189===e.keyCode||109===e.keyCode?i=1:187!==e.keyCode&&107!==e.keyCode||(i=-1),!w(e,t,n,i)){if(t||n){e.preventDefault(),e.stopPropagation();var r=s.getBoundingClientRect();ce(.05*(o=Math.min(r.width,r.height))*t,.05*o*n)}if(i){var o,a=Pe(100*i);Oe((o=O?De():{x:(l=s.getBoundingClientRect()).width/2,y:l.height/2}).x,o.y,a)}var l}}function fe(e){if(function(e){t.onTouch&&!t.onTouch(e)||(e.stopPropagation(),e.preventDefault())}(e),ge(),1===e.touches.length)return function(e){Q=new Date;var t=Ie(e.touches[0]);P=t;var n=te(t.x,t.y);k=n.x,R=n.y,z=k,_=R,j.cancel(),Ae()}(e,e.touches[0]);2===e.touches.length&&(B=be(e.touches[0],e.touches[1]),V=!0,Ae())}function Ae(){q||(q=!0,document.addEventListener("touchmove",me),document.addEventListener("touchend",ye),document.addEventListener("touchcancel",ye))}function me(e){if(1===e.touches.length){e.stopPropagation();var t=te((u=Ie(e.touches[0])).x,u.y),n=t.x-k,i=t.y-R;0!==n&&0!==i&&ke(),k=t.x,R=t.y,ce(n,i)}else if(2===e.touches.length){V=!0;var r=e.touches[0],o=e.touches[1],a=be(r,o),s=1+(a/B-1)*x,l=Ie(r),c=Ie(o);if(k=(l.x+c.x)/2,R=(l.y+c.y)/2,O){var u=De();k=u.x,R=u.y}Oe(k,R,s),B=a,e.stopPropagation(),e.preventDefault()}}function ge(){W&&(clearTimeout(W),W=0)}function ve(e){if(t.onClick){ge();var n=k-z,i=R-_;Math.sqrt(n*n+i*i)>5||(W=setTimeout((function(){W=0,t.onClick(e)}),300))}}function ye(e){if(ge(),e.touches.length>0){var t=te((n=Ie(e.touches[0])).x,n.y);k=t.x,R=t.y}else{var n,i=new Date;i-H<300?O?Le((n=De()).x,n.y,C):Le(P.x,P.y,C):i-Q<200&&ve(e),H=i,Re(),Te()}}function be(e,t){var n=e.clientX-t.clientX,i=e.clientY-t.clientY;return Math.sqrt(n*n+i*i)}function we(e){!function(e){ge(),t.onDoubleClick&&!t.onDoubleClick(e)||(e.preventDefault(),e.stopPropagation())}(e);var n=Ie(e);O&&(n=De()),Le(n.x,n.y,C)}function xe(e){if(ge(),!L(e)){if(G=e,Y=new Date,q)return e.stopPropagation(),!1;if(1===e.button&&null!==window.event||0===e.button){j.cancel();var t=Ie(e),n=te(t.x,t.y);return z=k=n.x,_=R=n.y,document.addEventListener("mousemove",Me),document.addEventListener("mouseup",Ee),N.capture(e.target||e.srcElement),!1}}}function Me(e){if(!q){ke();var t=Ie(e),n=te(t.x,t.y),i=n.x-k,r=n.y-R;k=n.x,R=n.y,ce(i,r)}}function Ee(){new Date-Y<200&&ve(G),N.release(),Re(),Se()}function Se(){document.removeEventListener("mousemove",Me),document.removeEventListener("mouseup",Ee),X=!1}function Te(){document.removeEventListener("touchmove",me),document.removeEventListener("touchend",ye),document.removeEventListener("touchcancel",ye),X=!1,V=!1,q=!1}function Ce(e){if(!I(e)){j.cancel();var t=e.deltaY;e.deltaMode>0&&(t*=100);var n=Pe(t);if(1!==n){var i=O?De():Ie(e);Oe(i.x,i.y,n),e.preventDefault()}}}function Ie(e){var t=s.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}function Le(e,t,n){var i=y.scale,o={scale:i},a={scale:n*i};j.cancel(),Ne(),F=r(o,a,{step:function(n){le(e,t,n.scale)},done:ze})}function De(){var e=s.getBoundingClientRect();return{x:e.width*O.x,y:e.height*O.y}}function Oe(e,t,n){return j.cancel(),Ne(),se(e,t,n)}function Ne(){F&&(F.cancel(),F=null)}function Pe(e){return 1-Math.sign(e)*Math.min(.25,Math.abs(D*e/128))}function ke(){X||(_e("panstart"),X=!0,j.start())}function Re(){X&&(V||j.stop(),_e("panend"))}function ze(){_e("zoomend")}function _e(e){J.fire(e,J)}}function f(e){if(e)return"object"==typeof e?(g(e.x)&&g(e.y)||A(e),e):void A()}function A(e){throw console.error(e),new Error(["Cannot parse transform origin.","Some good examples:",' "center center" can be achieved with {x: 0.5, y: 0.5}',' "top center" can be achieved with {x: 0.5, y: 0}',' "bottom right" can be achieved with {x: 1, y: 1}'].join("\n"))}function m(){}function g(e){return Number.isFinite(e)}function v(e){return Number.isNaN?Number.isNaN(e):e!=e}e.exports=p,function(){if("undefined"!=typeof document){var e=document.getElementsByTagName("script");if(e){for(var t,n=0;n<e.length;++n){var i=e[n];if(i.src&&i.src.match(/\bpanzoom(\.min)?\.js/)){t=i;break}}if(t){var r=t.getAttribute("query");if(r){var o=t.getAttribute("name")||"pz",a=Date.now();!function e(){var n=document.querySelector(r);if(!n)return Date.now()-a<2e3?void setTimeout(e,100):void console.error("Cannot find the panzoom element",o);var i=function(e){for(var t=e.attributes,n={},i=0;i<t.length;++i){var r=s(t[i]);r&&(n[r.name]=r.value)}return n}(t);console.log(i),window[o]=p(n,i)}()}}}}function s(e){if(e.name&&"p"===e.name[0]&&"z"===e.name[1]&&"-"===e.name[2])return{name:e.name.substr(3),value:JSON.parse(e.value)}}}()},336:e=>{function t(e){return e.stopPropagation(),!1}function n(){}e.exports=function(e){if(e)return{capture:n,release:n};var i,r,o,a=!1;return{capture:function(e){a=!0,r=window.document.onselectstart,o=window.document.ondragstart,window.document.onselectstart=t,(i=e).ondragstart=t},release:function(){a&&(a=!1,window.document.onselectstart=r,i&&(i.ondragstart=o))}}}},835:e=>{function t(e){return e&&e.parentElement&&e.style}e.exports=function(e,n){if(!t(e))throw new Error("panzoom requires DOM element to be attached to the DOM tree");var i=e.parentElement;return e.scrollTop=0,n.disableKeyboardInteraction||i.setAttribute("tabindex",0),{getBBox:function(){return{left:0,top:0,width:e.clientWidth,height:e.clientHeight}},getOwner:function(){return i},applyTransform:function(t){e.style.transformOrigin="0 0 0",e.style.transform="matrix("+t.scale+", 0, 0, "+t.scale+", "+t.x+", "+t.y+")"}}},e.exports.canAttach=t},89:e=>{function t(){return"function"==typeof cancelAnimationFrame?cancelAnimationFrame:clearTimeout}function n(){return"function"==typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,16)}}e.exports=function(e,i,r){"object"!=typeof r&&(r={});var o,a,s,l,c,u,h,d,p,f,A="number"==typeof r.minVelocity?r.minVelocity:5,m="number"==typeof r.amplitude?r.amplitude:.25,g="function"==typeof r.cancelAnimationFrame?r.cancelAnimationFrame:t(),v="function"==typeof r.requestAnimationFrame?r.requestAnimationFrame:n();return{start:function(){o=e(),u=p=l=h=0,a=new Date,g(s),g(f),s=v(y)},stop:function(){g(s),g(f);var t=e();c=t.x,d=t.y,a=Date.now(),(l<-A||l>A)&&(c+=u=m*l),(h<-A||h>A)&&(d+=p=m*h),f=v(b)},cancel:function(){g(s),g(f)}};function y(){var t=Date.now(),n=t-a;a=t;var i=e(),r=i.x-o.x,c=i.y-o.y;o=i;var u=1e3/(1+n);l=.8*r*u+.2*l,h=.8*c*u+.2*h,s=v(y)}function b(){var e=Date.now()-a,t=!1,n=0,r=0;u&&((n=-u*Math.exp(-e/342))>.5||n<-.5?t=!0:n=u=0),p&&((r=-p*Math.exp(-e/342))>.5||r<-.5?t=!0:r=p=0),t&&(i(c+n,d+r),f=v(b))}}},876:e=>{function t(e){return e&&e.ownerSVGElement&&e.getCTM}e.exports=function(e,n){if(!t(e))throw new Error("svg element is required for svg.panzoom to work");var i=e.ownerSVGElement;if(!i)throw new Error("Do not apply panzoom to the root <svg> element. Use its child instead (e.g. <g></g>). As of March 2016 only FireFox supported transform on the root element");return n.disableKeyboardInteraction||i.setAttribute("tabindex",0),{getBBox:function(){var t=e.getBBox();return{left:t.x,top:t.y,width:t.width,height:t.height}},getScreenCTM:function(){var e=i.getCTM();return e||i.getScreenCTM()},getOwner:function(){return i},applyTransform:function(t){e.setAttribute("transform","matrix("+t.scale+" 0 0 "+t.scale+" "+t.x+" "+t.y+")")},initTransform:function(t){var n=e.getCTM();null===n&&(n=document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGMatrix()),t.x=n.e,t.y=n.f,t.scale=n.a,i.removeAttributeNS(null,"viewBox")}}},e.exports.canAttach=t},190:e=>{e.exports=function(){this.x=0,this.y=0,this.scale=1}},155:e=>{var t,n,i=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(e){t=r}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var s,l=[],c=!1,u=-1;function h(){c&&s&&(c=!1,s.length?l=s.concat(l):u=-1,l.length&&d())}function d(){if(!c){var e=a(h);c=!0;for(var t=l.length;t;){for(s=l,l=[];++u<t;)s&&s[u].run();u=-1,t=l.length}s=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function f(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new p(e,t)),1!==l.length||c||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.prependListener=f,i.prependOnceListener=f,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},448:(e,t,n)=>{"use strict";var i=n(294),r=n(418),o=n(840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!i)throw Error(a(227));var s=new Set,l={};function c(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(l[e]=t,e=0;e<t.length;e++)s.add(t[e])}var h=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,f={},A={};function m(e,t,n,i,r,o,a){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new m(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var v=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function b(e,t,n,i){var r=g.hasOwnProperty(t)?g[t]:null;(null!==r?0===r.type:!i&&2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1]))||(function(e,t,n,i){if(null==t||function(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,i)&&(n=null),i||null===r?function(e){return!!p.call(A,e)||!p.call(f,e)&&(d.test(e)?A[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,i=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(v,y);g[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(v,y);g[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(v,y);g[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,x=60103,M=60106,E=60107,S=60108,T=60114,C=60109,I=60110,L=60112,D=60113,O=60120,N=60115,P=60116,k=60121,R=60128,z=60129,_=60130,B=60131;if("function"==typeof Symbol&&Symbol.for){var j=Symbol.for;x=j("react.element"),M=j("react.portal"),E=j("react.fragment"),S=j("react.strict_mode"),T=j("react.profiler"),C=j("react.provider"),I=j("react.context"),L=j("react.forward_ref"),D=j("react.suspense"),O=j("react.suspense_list"),N=j("react.memo"),P=j("react.lazy"),k=j("react.block"),j("react.scope"),R=j("react.opaque.id"),z=j("react.debug_trace_mode"),_=j("react.offscreen"),B=j("react.legacy_hidden")}var U,F="function"==typeof Symbol&&Symbol.iterator;function V(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=F&&e[F]||e["@@iterator"])?e:null}function H(e){if(void 0===U)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);U=t&&t[1]||""}return"\n"+U+e}var Q=!1;function W(e,t){if(!e||Q)return"";Q=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(e){if(e&&i&&"string"==typeof e.stack){for(var r=e.stack.split("\n"),o=i.stack.split("\n"),a=r.length-1,s=o.length-1;1<=a&&0<=s&&r[a]!==o[s];)s--;for(;1<=a&&0<=s;a--,s--)if(r[a]!==o[s]){if(1!==a||1!==s)do{if(a--,0>--s||r[a]!==o[s])return"\n"+r[a].replace(" at new "," at ")}while(1<=a&&0<=s);break}}}finally{Q=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?H(e):""}function G(e){switch(e.tag){case 5:return H(e.type);case 16:return H("Lazy");case 13:return H("Suspense");case 19:return H("SuspenseList");case 0:case 2:case 15:return W(e.type,!1);case 11:return W(e.type.render,!1);case 22:return W(e.type._render,!1);case 1:return W(e.type,!0);default:return""}}function Y(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case E:return"Fragment";case M:return"Portal";case T:return"Profiler";case S:return"StrictMode";case D:return"Suspense";case O:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case I:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case L:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case N:return Y(e.type);case k:return Y(e._render);case P:t=e._payload,e=e._init;try{return Y(e(t))}catch(e){}}return null}function q(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function X(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Z(e){e._valueTracker||(e._valueTracker=function(e){var t=X(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function J(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=X(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function K(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function $(e,t){var n=t.checked;return r({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=q(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&b(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=q(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?re(e,t.type,n):t.hasOwnProperty("defaultValue")&&re(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ie(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!("submit"!==i&&"reset"!==i||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function re(e,t,n){"number"===t&&K(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function oe(e,t){return e=r({children:void 0},t),(t=function(e){var t="";return i.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ae(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+q(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return r({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:q(n)}}function ce(e,t){var n=q(t.value),i=q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=i&&(e.defaultValue=""+i)}function ue(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var he={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function de(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function pe(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?de(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var fe,Ae,me=(Ae=function(e,t){if(e.namespaceURI!==he.svg||"innerHTML"in e)e.innerHTML=t;else{for((fe=fe||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=fe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,i){MSApp.execUnsafeLocalFunction((function(){return Ae(e,t)}))}:Ae);function ge(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ve={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ye=["Webkit","ms","Moz","O"];function be(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ve.hasOwnProperty(e)&&ve[e]?(""+t).trim():t+"px"}function we(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),r=be(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}Object.keys(ve).forEach((function(e){ye.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ve[t]=ve[e]}))}));var xe=r({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Me(e,t){if(t){if(xe[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function Ee(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Se(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Te=null,Ce=null,Ie=null;function Le(e){if(e=nr(e)){if("function"!=typeof Te)throw Error(a(280));var t=e.stateNode;t&&(t=rr(t),Te(e.stateNode,e.type,t))}}function De(e){Ce?Ie?Ie.push(e):Ie=[e]:Ce=e}function Oe(){if(Ce){var e=Ce,t=Ie;if(Ie=Ce=null,Le(e),t)for(e=0;e<t.length;e++)Le(t[e])}}function Ne(e,t){return e(t)}function Pe(e,t,n,i,r){return e(t,n,i,r)}function ke(){}var Re=Ne,ze=!1,_e=!1;function Be(){null===Ce&&null===Ie||(ke(),Oe())}function je(e,t){var n=e.stateNode;if(null===n)return null;var i=rr(n);if(null===i)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Ue=!1;if(h)try{var Fe={};Object.defineProperty(Fe,"passive",{get:function(){Ue=!0}}),window.addEventListener("test",Fe,Fe),window.removeEventListener("test",Fe,Fe)}catch(Ae){Ue=!1}function Ve(e,t,n,i,r,o,a,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var He=!1,Qe=null,We=!1,Ge=null,Ye={onError:function(e){He=!0,Qe=e}};function qe(e,t,n,i,r,o,a,s,l){He=!1,Qe=null,Ve.apply(Ye,arguments)}function Xe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ze(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Je(e){if(Xe(e)!==e)throw Error(a(188))}function Ke(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Xe(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(null===r)break;var o=r.alternate;if(null===o){if(null!==(i=r.return)){n=i;continue}break}if(r.child===o.child){for(o=r.child;o;){if(o===n)return Je(r),e;if(o===i)return Je(r),t;o=o.sibling}throw Error(a(188))}if(n.return!==i.return)n=r,i=o;else{for(var s=!1,l=r.child;l;){if(l===n){s=!0,n=r,i=o;break}if(l===i){s=!0,i=r,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,i=r;break}if(l===i){s=!0,i=o,n=r;break}l=l.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==i)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function $e(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var et,tt,nt,it,rt=!1,ot=[],at=null,st=null,lt=null,ct=new Map,ut=new Map,ht=[],dt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function pt(e,t,n,i,r){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:r,targetContainers:[i]}}function ft(e,t){switch(e){case"focusin":case"focusout":at=null;break;case"dragenter":case"dragleave":st=null;break;case"mouseover":case"mouseout":lt=null;break;case"pointerover":case"pointerout":ct.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ut.delete(t.pointerId)}}function At(e,t,n,i,r,o){return null===e||e.nativeEvent!==o?(e=pt(t,n,i,r,o),null!==t&&null!==(t=nr(t))&&tt(t),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function mt(e){var t=tr(e.target);if(null!==t){var n=Xe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ze(n)))return e.blockedOn=t,void it(e.lanePriority,(function(){o.unstable_runWithPriority(e.priority,(function(){nt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function gt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=nr(n))&&tt(t),e.blockedOn=n,!1;t.shift()}return!0}function vt(e,t,n){gt(e)&&n.delete(t)}function yt(){for(rt=!1;0<ot.length;){var e=ot[0];if(null!==e.blockedOn){null!==(e=nr(e.blockedOn))&&et(e);break}for(var t=e.targetContainers;0<t.length;){var n=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&ot.shift()}null!==at&&gt(at)&&(at=null),null!==st&&gt(st)&&(st=null),null!==lt&&gt(lt)&&(lt=null),ct.forEach(vt),ut.forEach(vt)}function bt(e,t){e.blockedOn===t&&(e.blockedOn=null,rt||(rt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,yt)))}function wt(e){function t(t){return bt(t,e)}if(0<ot.length){bt(ot[0],e);for(var n=1;n<ot.length;n++){var i=ot[n];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==at&&bt(at,e),null!==st&&bt(st,e),null!==lt&&bt(lt,e),ct.forEach(t),ut.forEach(t),n=0;n<ht.length;n++)(i=ht[n]).blockedOn===e&&(i.blockedOn=null);for(;0<ht.length&&null===(n=ht[0]).blockedOn;)mt(n),null===n.blockedOn&&ht.shift()}function xt(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Mt={animationend:xt("Animation","AnimationEnd"),animationiteration:xt("Animation","AnimationIteration"),animationstart:xt("Animation","AnimationStart"),transitionend:xt("Transition","TransitionEnd")},Et={},St={};function Tt(e){if(Et[e])return Et[e];if(!Mt[e])return e;var t,n=Mt[e];for(t in n)if(n.hasOwnProperty(t)&&t in St)return Et[e]=n[t];return e}h&&(St=document.createElement("div").style,"AnimationEvent"in window||(delete Mt.animationend.animation,delete Mt.animationiteration.animation,delete Mt.animationstart.animation),"TransitionEvent"in window||delete Mt.transitionend.transition);var Ct=Tt("animationend"),It=Tt("animationiteration"),Lt=Tt("animationstart"),Dt=Tt("transitionend"),Ot=new Map,Nt=new Map,Pt=["abort","abort",Ct,"animationEnd",It,"animationIteration",Lt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Dt,"transitionEnd","waiting","waiting"];function kt(e,t){for(var n=0;n<e.length;n+=2){var i=e[n],r=e[n+1];r="on"+(r[0].toUpperCase()+r.slice(1)),Nt.set(i,t),Ot.set(i,r),c(r,[i])}}(0,o.unstable_now)();var Rt=8;function zt(e){if(0!=(1&e))return Rt=15,1;if(0!=(2&e))return Rt=14,2;if(0!=(4&e))return Rt=13,4;var t=24&e;return 0!==t?(Rt=12,t):0!=(32&e)?(Rt=11,32):0!=(t=192&e)?(Rt=10,t):0!=(256&e)?(Rt=9,256):0!=(t=3584&e)?(Rt=8,t):0!=(4096&e)?(Rt=7,4096):0!=(t=4186112&e)?(Rt=6,t):0!=(t=62914560&e)?(Rt=5,t):67108864&e?(Rt=4,67108864):0!=(134217728&e)?(Rt=3,134217728):0!=(t=805306368&e)?(Rt=2,t):0!=(1073741824&e)?(Rt=1,1073741824):(Rt=8,e)}function _t(e,t){var n=e.pendingLanes;if(0===n)return Rt=0;var i=0,r=0,o=e.expiredLanes,a=e.suspendedLanes,s=e.pingedLanes;if(0!==o)i=o,r=Rt=15;else if(0!=(o=134217727&n)){var l=o&~a;0!==l?(i=zt(l),r=Rt):0!=(s&=o)&&(i=zt(s),r=Rt)}else 0!=(o=n&~a)?(i=zt(o),r=Rt):0!==s&&(i=zt(s),r=Rt);if(0===i)return 0;if(i=n&((0>(i=31-Ht(i))?0:1<<i)<<1)-1,0!==t&&t!==i&&0==(t&a)){if(zt(t),r<=Rt)return t;Rt=r}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0<t;)r=1<<(n=31-Ht(t)),i|=e[n],t&=~r;return i}function Bt(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function jt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Ut(24&~t))?jt(10,t):e;case 10:return 0===(e=Ut(192&~t))?jt(8,t):e;case 8:return 0===(e=Ut(3584&~t))&&0===(e=Ut(4186112&~t))&&(e=512),e;case 2:return 0===(t=Ut(805306368&~t))&&(t=268435456),t}throw Error(a(358,e))}function Ut(e){return e&-e}function Ft(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Vt(e,t,n){e.pendingLanes|=t;var i=t-1;e.suspendedLanes&=i,e.pingedLanes&=i,(e=e.eventTimes)[t=31-Ht(t)]=n}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Qt(e)/Wt|0)|0},Qt=Math.log,Wt=Math.LN2,Gt=o.unstable_UserBlockingPriority,Yt=o.unstable_runWithPriority,qt=!0;function Xt(e,t,n,i){ze||ke();var r=Jt,o=ze;ze=!0;try{Pe(r,e,t,n,i)}finally{(ze=o)||Be()}}function Zt(e,t,n,i){Yt(Gt,Jt.bind(null,e,t,n,i))}function Jt(e,t,n,i){var r;if(qt)if((r=0==(4&t))&&0<ot.length&&-1<dt.indexOf(e))e=pt(null,e,t,n,i),ot.push(e);else{var o=Kt(e,t,n,i);if(null===o)r&&ft(e,i);else{if(r){if(-1<dt.indexOf(e))return e=pt(o,e,t,n,i),void ot.push(e);if(function(e,t,n,i,r){switch(t){case"focusin":return at=At(at,e,t,n,i,r),!0;case"dragenter":return st=At(st,e,t,n,i,r),!0;case"mouseover":return lt=At(lt,e,t,n,i,r),!0;case"pointerover":var o=r.pointerId;return ct.set(o,At(ct.get(o)||null,e,t,n,i,r)),!0;case"gotpointercapture":return o=r.pointerId,ut.set(o,At(ut.get(o)||null,e,t,n,i,r)),!0}return!1}(o,e,t,n,i))return;ft(e,i)}ki(e,t,i,null,n)}}}function Kt(e,t,n,i){var r=Se(i);if(null!==(r=tr(r))){var o=Xe(r);if(null===o)r=null;else{var a=o.tag;if(13===a){if(null!==(r=Ze(o)))return r;r=null}else if(3===a){if(o.stateNode.hydrate)return 3===o.tag?o.stateNode.containerInfo:null;r=null}else o!==r&&(r=null)}}return ki(e,t,i,r,n),null}var $t=null,en=null,tn=null;function nn(){if(tn)return tn;var e,t,n=en,i=n.length,r="value"in $t?$t.value:$t.textContent,o=r.length;for(e=0;e<i&&n[e]===r[e];e++);var a=i-e;for(t=1;t<=a&&n[i-t]===r[o-t];t++);return tn=r.slice(e,1<t?1-t:void 0)}function rn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function on(){return!0}function an(){return!1}function sn(e){function t(t,n,i,r,o){for(var a in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(a)&&(t=e[a],this[a]=t?t(r):r[a]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?on:an,this.isPropagationStopped=an,this}return r(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=on)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=on)},persist:function(){},isPersistent:on}),t}var ln,cn,un,hn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dn=sn(hn),pn=r({},hn,{view:0,detail:0}),fn=sn(pn),An=r({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==un&&(un&&"mousemove"===e.type?(ln=e.screenX-un.screenX,cn=e.screenY-un.screenY):cn=ln=0,un=e),ln)},movementY:function(e){return"movementY"in e?e.movementY:cn}}),mn=sn(An),gn=sn(r({},An,{dataTransfer:0})),vn=sn(r({},pn,{relatedTarget:0})),yn=sn(r({},hn,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=r({},hn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),wn=sn(bn),xn=sn(r({},hn,{data:0})),Mn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},En={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Tn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function Cn(){return Tn}var In=r({},pn,{key:function(e){if(e.key){var t=Mn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=rn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?En[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?rn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?rn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Ln=sn(In),Dn=sn(r({},An,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),On=sn(r({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),Nn=sn(r({},hn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Pn=r({},An,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),kn=sn(Pn),Rn=[9,13,27,32],zn=h&&"CompositionEvent"in window,_n=null;h&&"documentMode"in document&&(_n=document.documentMode);var Bn=h&&"TextEvent"in window&&!_n,jn=h&&(!zn||_n&&8<_n&&11>=_n),Un=String.fromCharCode(32),Fn=!1;function Vn(e,t){switch(e){case"keyup":return-1!==Rn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Qn=!1,Wn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Gn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Wn[e.type]:"textarea"===t}function Yn(e,t,n,i){De(i),0<(t=zi(t,"onChange")).length&&(n=new dn("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var qn=null,Xn=null;function Zn(e){Ii(e,0)}function Jn(e){if(J(ir(e)))return e}function Kn(e,t){if("change"===e)return t}var $n=!1;if(h){var ei;if(h){var ti="oninput"in document;if(!ti){var ni=document.createElement("div");ni.setAttribute("oninput","return;"),ti="function"==typeof ni.oninput}ei=ti}else ei=!1;$n=ei&&(!document.documentMode||9<document.documentMode)}function ii(){qn&&(qn.detachEvent("onpropertychange",ri),Xn=qn=null)}function ri(e){if("value"===e.propertyName&&Jn(Xn)){var t=[];if(Yn(t,Xn,e,Se(e)),e=Zn,ze)e(t);else{ze=!0;try{Ne(e,t)}finally{ze=!1,Be()}}}}function oi(e,t,n){"focusin"===e?(ii(),Xn=n,(qn=t).attachEvent("onpropertychange",ri)):"focusout"===e&&ii()}function ai(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Jn(Xn)}function si(e,t){if("click"===e)return Jn(t)}function li(e,t){if("input"===e||"change"===e)return Jn(t)}var ci="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},ui=Object.prototype.hasOwnProperty;function hi(e,t){if(ci(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++)if(!ui.call(t,n[i])||!ci(e[n[i]],t[n[i]]))return!1;return!0}function di(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pi(e,t){var n,i=di(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=di(i)}}function fi(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?fi(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Ai(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=K((e=t.contentWindow).document)}return t}function mi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var gi=h&&"documentMode"in document&&11>=document.documentMode,vi=null,yi=null,bi=null,wi=!1;function xi(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;wi||null==vi||vi!==K(i)||(i="selectionStart"in(i=vi)&&mi(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},bi&&hi(bi,i)||(bi=i,0<(i=zi(yi,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=vi)))}kt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),kt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),kt(Pt,2);for(var Mi="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Ei=0;Ei<Mi.length;Ei++)Nt.set(Mi[Ei],0);u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Si="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ti=new Set("cancel close invalid load scroll toggle".split(" ").concat(Si));function Ci(e,t,n){var i=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,i,r,o,s,l,c){if(qe.apply(this,arguments),He){if(!He)throw Error(a(198));var u=Qe;He=!1,Qe=null,We||(We=!0,Ge=u)}}(i,t,void 0,e),e.currentTarget=null}function Ii(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var o=void 0;if(t)for(var a=i.length-1;0<=a;a--){var s=i[a],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&r.isPropagationStopped())break e;Ci(r,s,c),o=l}else for(a=0;a<i.length;a++){if(l=(s=i[a]).instance,c=s.currentTarget,s=s.listener,l!==o&&r.isPropagationStopped())break e;Ci(r,s,c),o=l}}}if(We)throw e=Ge,We=!1,Ge=null,e}function Li(e,t){var n=or(t),i=e+"__bubble";n.has(i)||(Pi(t,e,2,!1),n.add(i))}var Di="_reactListening"+Math.random().toString(36).slice(2);function Oi(e){e[Di]||(e[Di]=!0,s.forEach((function(t){Ti.has(t)||Ni(t,!1,e,null),Ni(t,!0,e,null)})))}function Ni(e,t,n,i){var r=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,o=n;if("selectionchange"===e&&9!==n.nodeType&&(o=n.ownerDocument),null!==i&&!t&&Ti.has(e)){if("scroll"!==e)return;r|=2,o=i}var a=or(o),s=e+"__"+(t?"capture":"bubble");a.has(s)||(t&&(r|=4),Pi(o,e,r,t),a.add(s))}function Pi(e,t,n,i){var r=Nt.get(t);switch(void 0===r?2:r){case 0:r=Xt;break;case 1:r=Zt;break;default:r=Jt}n=r.bind(null,t,n,e),r=void 0,!Ue||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),i?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function ki(e,t,n,i,r){var o=i;if(0==(1&t)&&0==(2&t)&&null!==i)e:for(;;){if(null===i)return;var a=i.tag;if(3===a||4===a){var s=i.stateNode.containerInfo;if(s===r||8===s.nodeType&&s.parentNode===r)break;if(4===a)for(a=i.return;null!==a;){var l=a.tag;if((3===l||4===l)&&((l=a.stateNode.containerInfo)===r||8===l.nodeType&&l.parentNode===r))return;a=a.return}for(;null!==s;){if(null===(a=tr(s)))return;if(5===(l=a.tag)||6===l){i=o=a;continue e}s=s.parentNode}}i=i.return}!function(e,t,n){if(_e)return e();_e=!0;try{return Re(e,t,n)}finally{_e=!1,Be()}}((function(){var i=o,r=Se(n),a=[];e:{var s=Ot.get(e);if(void 0!==s){var l=dn,c=e;switch(e){case"keypress":if(0===rn(n))break e;case"keydown":case"keyup":l=Ln;break;case"focusin":c="focus",l=vn;break;case"focusout":c="blur",l=vn;break;case"beforeblur":case"afterblur":l=vn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=On;break;case Ct:case It:case Lt:l=yn;break;case Dt:l=Nn;break;case"scroll":l=fn;break;case"wheel":l=kn;break;case"copy":case"cut":case"paste":l=wn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Dn}var u=0!=(4&t),h=!u&&"scroll"===e,d=u?null!==s?s+"Capture":null:s;u=[];for(var p,f=i;null!==f;){var A=(p=f).stateNode;if(5===p.tag&&null!==A&&(p=A,null!==d&&null!=(A=je(f,d))&&u.push(Ri(f,A,p))),h)break;f=f.return}0<u.length&&(s=new l(s,c,null,n,r),a.push({event:s,listeners:u}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(c=n.relatedTarget||n.fromElement)||!tr(c)&&!c[$i])&&(l||s)&&(s=r.window===r?r:(s=r.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=i,null!==(c=(c=n.relatedTarget||n.toElement)?tr(c):null)&&(c!==(h=Xe(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=i),l!==c)){if(u=mn,A="onMouseLeave",d="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(u=Dn,A="onPointerLeave",d="onPointerEnter",f="pointer"),h=null==l?s:ir(l),p=null==c?s:ir(c),(s=new u(A,f+"leave",l,n,r)).target=h,s.relatedTarget=p,A=null,tr(r)===i&&((u=new u(d,f+"enter",c,n,r)).target=p,u.relatedTarget=h,A=u),h=A,l&&c)e:{for(d=c,f=0,p=u=l;p;p=_i(p))f++;for(p=0,A=d;A;A=_i(A))p++;for(;0<f-p;)u=_i(u),f--;for(;0<p-f;)d=_i(d),p--;for(;f--;){if(u===d||null!==d&&u===d.alternate)break e;u=_i(u),d=_i(d)}u=null}else u=null;null!==l&&Bi(a,s,l,u,!1),null!==c&&null!==h&&Bi(a,h,c,u,!0)}if("select"===(l=(s=i?ir(i):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var m=Kn;else if(Gn(s))if($n)m=li;else{m=ai;var g=oi}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(m=si);switch(m&&(m=m(e,i))?Yn(a,m,n,r):(g&&g(e,s,i),"focusout"===e&&(g=s._wrapperState)&&g.controlled&&"number"===s.type&&re(s,"number",s.value)),g=i?ir(i):window,e){case"focusin":(Gn(g)||"true"===g.contentEditable)&&(vi=g,yi=i,bi=null);break;case"focusout":bi=yi=vi=null;break;case"mousedown":wi=!0;break;case"contextmenu":case"mouseup":case"dragend":wi=!1,xi(a,n,r);break;case"selectionchange":if(gi)break;case"keydown":case"keyup":xi(a,n,r)}var v;if(zn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Qn?Vn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(jn&&"ko"!==n.locale&&(Qn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Qn&&(v=nn()):(en="value"in($t=r)?$t.value:$t.textContent,Qn=!0)),0<(g=zi(i,y)).length&&(y=new xn(y,e,null,n,r),a.push({event:y,listeners:g}),(v||null!==(v=Hn(n)))&&(y.data=v))),(v=Bn?function(e,t){switch(e){case"compositionend":return Hn(t);case"keypress":return 32!==t.which?null:(Fn=!0,Un);case"textInput":return(e=t.data)===Un&&Fn?null:e;default:return null}}(e,n):function(e,t){if(Qn)return"compositionend"===e||!zn&&Vn(e,t)?(e=nn(),tn=en=$t=null,Qn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return jn&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(i=zi(i,"onBeforeInput")).length&&(r=new xn("onBeforeInput","beforeinput",null,n,r),a.push({event:r,listeners:i}),r.data=v)}Ii(a,t)}))}function Ri(e,t,n){return{instance:e,listener:t,currentTarget:n}}function zi(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,o=r.stateNode;5===r.tag&&null!==o&&(r=o,null!=(o=je(e,n))&&i.unshift(Ri(e,o,r)),null!=(o=je(e,t))&&i.push(Ri(e,o,r))),e=e.return}return i}function _i(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Bi(e,t,n,i,r){for(var o=t._reactName,a=[];null!==n&&n!==i;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===i)break;5===s.tag&&null!==c&&(s=c,r?null!=(l=je(n,o))&&a.unshift(Ri(n,l,s)):r||null!=(l=je(n,o))&&a.push(Ri(n,l,s))),n=n.return}0!==a.length&&e.push({event:t,listeners:a})}function ji(){}var Ui=null,Fi=null;function Vi(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Hi(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Qi="function"==typeof setTimeout?setTimeout:void 0,Wi="function"==typeof clearTimeout?clearTimeout:void 0;function Gi(e){(1===e.nodeType||9===e.nodeType&&null!=(e=e.body))&&(e.textContent="")}function Yi(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function qi(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Xi=0,Zi=Math.random().toString(36).slice(2),Ji="__reactFiber$"+Zi,Ki="__reactProps$"+Zi,$i="__reactContainer$"+Zi,er="__reactEvents$"+Zi;function tr(e){var t=e[Ji];if(t)return t;for(var n=e.parentNode;n;){if(t=n[$i]||n[Ji]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=qi(e);null!==e;){if(n=e[Ji])return n;e=qi(e)}return t}n=(e=n).parentNode}return null}function nr(e){return!(e=e[Ji]||e[$i])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ir(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function rr(e){return e[Ki]||null}function or(e){var t=e[er];return void 0===t&&(t=e[er]=new Set),t}var ar=[],sr=-1;function lr(e){return{current:e}}function cr(e){0>sr||(e.current=ar[sr],ar[sr]=null,sr--)}function ur(e,t){sr++,ar[sr]=e.current,e.current=t}var hr={},dr=lr(hr),pr=lr(!1),fr=hr;function Ar(e,t){var n=e.type.contextTypes;if(!n)return hr;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r,o={};for(r in n)o[r]=t[r];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function mr(e){return null!=e.childContextTypes}function gr(){cr(pr),cr(dr)}function vr(e,t,n){if(dr.current!==hr)throw Error(a(168));ur(dr,t),ur(pr,n)}function yr(e,t,n){var i=e.stateNode;if(e=t.childContextTypes,"function"!=typeof i.getChildContext)return n;for(var o in i=i.getChildContext())if(!(o in e))throw Error(a(108,Y(t)||"Unknown",o));return r({},n,i)}function br(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||hr,fr=dr.current,ur(dr,e),ur(pr,pr.current),!0}function wr(e,t,n){var i=e.stateNode;if(!i)throw Error(a(169));n?(e=yr(e,t,fr),i.__reactInternalMemoizedMergedChildContext=e,cr(pr),cr(dr),ur(dr,e)):cr(pr),ur(pr,n)}var xr=null,Mr=null,Er=o.unstable_runWithPriority,Sr=o.unstable_scheduleCallback,Tr=o.unstable_cancelCallback,Cr=o.unstable_shouldYield,Ir=o.unstable_requestPaint,Lr=o.unstable_now,Dr=o.unstable_getCurrentPriorityLevel,Or=o.unstable_ImmediatePriority,Nr=o.unstable_UserBlockingPriority,Pr=o.unstable_NormalPriority,kr=o.unstable_LowPriority,Rr=o.unstable_IdlePriority,zr={},_r=void 0!==Ir?Ir:function(){},Br=null,jr=null,Ur=!1,Fr=Lr(),Vr=1e4>Fr?Lr:function(){return Lr()-Fr};function Hr(){switch(Dr()){case Or:return 99;case Nr:return 98;case Pr:return 97;case kr:return 96;case Rr:return 95;default:throw Error(a(332))}}function Qr(e){switch(e){case 99:return Or;case 98:return Nr;case 97:return Pr;case 96:return kr;case 95:return Rr;default:throw Error(a(332))}}function Wr(e,t){return e=Qr(e),Er(e,t)}function Gr(e,t,n){return e=Qr(e),Sr(e,t,n)}function Yr(){if(null!==jr){var e=jr;jr=null,Tr(e)}qr()}function qr(){if(!Ur&&null!==Br){Ur=!0;var e=0;try{var t=Br;Wr(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Br=null}catch(t){throw null!==Br&&(Br=Br.slice(e+1)),Sr(Or,Yr),t}finally{Ur=!1}}}var Xr=w.ReactCurrentBatchConfig;function Zr(e,t){if(e&&e.defaultProps){for(var n in t=r({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Jr=lr(null),Kr=null,$r=null,eo=null;function to(){eo=$r=Kr=null}function no(e){var t=Jr.current;cr(Jr),e.type._context._currentValue=t}function io(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function ro(e,t){Kr=e,eo=$r=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(za=!0),e.firstContext=null)}function oo(e,t){if(eo!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(eo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===$r){if(null===Kr)throw Error(a(308));$r=t,Kr.dependencies={lanes:0,firstContext:t,responders:null}}else $r=$r.next=t;return e._currentValue}var ao=!1;function so(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function lo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function co(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function uo(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function ho(e,t){var n=e.updateQueue,i=e.alternate;if(null!==i&&n===(i=i.updateQueue)){var r=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?r=o=a:o=o.next=a,n=n.next}while(null!==n);null===o?r=o=t:o=o.next=t}else r=o=t;return n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:i.shared,effects:i.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function po(e,t,n,i){var o=e.updateQueue;ao=!1;var a=o.firstBaseUpdate,s=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var c=l,u=c.next;c.next=null,null===s?a=u:s.next=u,s=c;var h=e.alternate;if(null!==h){var d=(h=h.updateQueue).lastBaseUpdate;d!==s&&(null===d?h.firstBaseUpdate=u:d.next=u,h.lastBaseUpdate=c)}}if(null!==a){for(d=o.baseState,s=0,h=u=c=null;;){l=a.lane;var p=a.eventTime;if((i&l)===l){null!==h&&(h=h.next={eventTime:p,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var f=e,A=a;switch(l=t,p=n,A.tag){case 1:if("function"==typeof(f=A.payload)){d=f.call(p,d,l);break e}d=f;break e;case 3:f.flags=-4097&f.flags|64;case 0:if(null==(l="function"==typeof(f=A.payload)?f.call(p,d,l):f))break e;d=r({},d,l);break e;case 2:ao=!0}}null!==a.callback&&(e.flags|=32,null===(l=o.effects)?o.effects=[a]:l.push(a))}else p={eventTime:p,lane:l,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===h?(u=h=p,c=d):h=h.next=p,s|=l;if(null===(a=a.next)){if(null===(l=o.shared.pending))break;a=l.next,l.next=null,o.lastBaseUpdate=l,o.shared.pending=null}}null===h&&(c=d),o.baseState=c,o.firstBaseUpdate=u,o.lastBaseUpdate=h,js|=s,e.lanes=s,e.memoizedState=d}}function fo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var i=e[t],r=i.callback;if(null!==r){if(i.callback=null,i=n,"function"!=typeof r)throw Error(a(191,r));r.call(i)}}}var Ao=(new i.Component).refs;function mo(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:r({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var go={isMounted:function(e){return!!(e=e._reactInternals)&&Xe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var i=ul(),r=hl(e),o=co(i,r);o.payload=t,null!=n&&(o.callback=n),uo(e,o),dl(e,r,i)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=ul(),r=hl(e),o=co(i,r);o.tag=1,o.payload=t,null!=n&&(o.callback=n),uo(e,o),dl(e,r,i)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ul(),i=hl(e),r=co(n,i);r.tag=2,null!=t&&(r.callback=t),uo(e,r),dl(e,i,n)}};function vo(e,t,n,i,r,o,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,o,a):!(t.prototype&&t.prototype.isPureReactComponent&&hi(n,i)&&hi(r,o))}function yo(e,t,n){var i=!1,r=hr,o=t.contextType;return"object"==typeof o&&null!==o?o=oo(o):(r=mr(t)?fr:dr.current,o=(i=null!=(i=t.contextTypes))?Ar(e,r):hr),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=go,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=o),t}function bo(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&go.enqueueReplaceState(t,t.state,null)}function wo(e,t,n,i){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs=Ao,so(e);var o=t.contextType;"object"==typeof o&&null!==o?r.context=oo(o):(o=mr(t)?fr:dr.current,r.context=Ar(e,o)),po(e,n,r,i),r.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(mo(e,t,o,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&go.enqueueReplaceState(r,r.state,null),po(e,n,r,i),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4)}var xo=Array.isArray;function Mo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var i=n.stateNode}if(!i)throw Error(a(147,e));var r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:(t=function(e){var t=i.refs;t===Ao&&(t=i.refs={}),null===e?delete t[r]:t[r]=e},t._stringRef=r,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function Eo(e,t){if("textarea"!==e.type)throw Error(a(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function So(e){function t(t,n){if(e){var i=t.lastEffect;null!==i?(i.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function i(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=Ql(e,t)).index=0,e.sibling=null,e}function o(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags=2,n):i:(t.flags=2,n):n}function s(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,i){return null===t||6!==t.tag?((t=ql(n,e.mode,i)).return=e,t):((t=r(t,n)).return=e,t)}function c(e,t,n,i){return null!==t&&t.elementType===n.type?((i=r(t,n.props)).ref=Mo(e,t,n),i.return=e,i):((i=Wl(n.type,n.key,n.props,null,e.mode,i)).ref=Mo(e,t,n),i.return=e,i)}function u(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Xl(n,e.mode,i)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function h(e,t,n,i,o){return null===t||7!==t.tag?((t=Gl(n,e.mode,i,o)).return=e,t):((t=r(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=ql(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case x:return(n=Wl(t.type,t.key,t.props,null,e.mode,n)).ref=Mo(e,null,t),n.return=e,n;case M:return(t=Xl(t,e.mode,n)).return=e,t}if(xo(t)||V(t))return(t=Gl(t,e.mode,n,null)).return=e,t;Eo(e,t)}return null}function p(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==r?null:l(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case x:return n.key===r?n.type===E?h(e,t,n.props.children,i,r):c(e,t,n,i):null;case M:return n.key===r?u(e,t,n,i):null}if(xo(n)||V(n))return null!==r?null:h(e,t,n,i,null);Eo(e,n)}return null}function f(e,t,n,i,r){if("string"==typeof i||"number"==typeof i)return l(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case x:return e=e.get(null===i.key?n:i.key)||null,i.type===E?h(t,e,i.props.children,r,i.key):c(t,e,i,r);case M:return u(t,e=e.get(null===i.key?n:i.key)||null,i,r)}if(xo(i)||V(i))return h(t,e=e.get(n)||null,i,r,null);Eo(t,i)}return null}function A(r,a,s,l){for(var c=null,u=null,h=a,A=a=0,m=null;null!==h&&A<s.length;A++){h.index>A?(m=h,h=null):m=h.sibling;var g=p(r,h,s[A],l);if(null===g){null===h&&(h=m);break}e&&h&&null===g.alternate&&t(r,h),a=o(g,a,A),null===u?c=g:u.sibling=g,u=g,h=m}if(A===s.length)return n(r,h),c;if(null===h){for(;A<s.length;A++)null!==(h=d(r,s[A],l))&&(a=o(h,a,A),null===u?c=h:u.sibling=h,u=h);return c}for(h=i(r,h);A<s.length;A++)null!==(m=f(h,r,A,s[A],l))&&(e&&null!==m.alternate&&h.delete(null===m.key?A:m.key),a=o(m,a,A),null===u?c=m:u.sibling=m,u=m);return e&&h.forEach((function(e){return t(r,e)})),c}function m(r,s,l,c){var u=V(l);if("function"!=typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var h=u=null,A=s,m=s=0,g=null,v=l.next();null!==A&&!v.done;m++,v=l.next()){A.index>m?(g=A,A=null):g=A.sibling;var y=p(r,A,v.value,c);if(null===y){null===A&&(A=g);break}e&&A&&null===y.alternate&&t(r,A),s=o(y,s,m),null===h?u=y:h.sibling=y,h=y,A=g}if(v.done)return n(r,A),u;if(null===A){for(;!v.done;m++,v=l.next())null!==(v=d(r,v.value,c))&&(s=o(v,s,m),null===h?u=v:h.sibling=v,h=v);return u}for(A=i(r,A);!v.done;m++,v=l.next())null!==(v=f(A,r,m,v.value,c))&&(e&&null!==v.alternate&&A.delete(null===v.key?m:v.key),s=o(v,s,m),null===h?u=v:h.sibling=v,h=v);return e&&A.forEach((function(e){return t(r,e)})),u}return function(e,i,o,l){var c="object"==typeof o&&null!==o&&o.type===E&&null===o.key;c&&(o=o.props.children);var u="object"==typeof o&&null!==o;if(u)switch(o.$$typeof){case x:e:{for(u=o.key,c=i;null!==c;){if(c.key===u){if(7===c.tag){if(o.type===E){n(e,c.sibling),(i=r(c,o.props.children)).return=e,e=i;break e}}else if(c.elementType===o.type){n(e,c.sibling),(i=r(c,o.props)).ref=Mo(e,c,o),i.return=e,e=i;break e}n(e,c);break}t(e,c),c=c.sibling}o.type===E?((i=Gl(o.props.children,e.mode,l,o.key)).return=e,e=i):((l=Wl(o.type,o.key,o.props,null,e.mode,l)).ref=Mo(e,i,o),l.return=e,e=l)}return s(e);case M:e:{for(c=o.key;null!==i;){if(i.key===c){if(4===i.tag&&i.stateNode.containerInfo===o.containerInfo&&i.stateNode.implementation===o.implementation){n(e,i.sibling),(i=r(i,o.children||[])).return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}(i=Xl(o,e.mode,l)).return=e,e=i}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==i&&6===i.tag?(n(e,i.sibling),(i=r(i,o)).return=e,e=i):(n(e,i),(i=ql(o,e.mode,l)).return=e,e=i),s(e);if(xo(o))return A(e,i,o,l);if(V(o))return m(e,i,o,l);if(u&&Eo(e,o),void 0===o&&!c)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(a(152,Y(e.type)||"Component"))}return n(e,i)}}var To=So(!0),Co=So(!1),Io={},Lo=lr(Io),Do=lr(Io),Oo=lr(Io);function No(e){if(e===Io)throw Error(a(174));return e}function Po(e,t){switch(ur(Oo,t),ur(Do,e),ur(Lo,Io),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pe(null,"");break;default:t=pe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}cr(Lo),ur(Lo,t)}function ko(){cr(Lo),cr(Do),cr(Oo)}function Ro(e){No(Oo.current);var t=No(Lo.current),n=pe(t,e.type);t!==n&&(ur(Do,e),ur(Lo,n))}function zo(e){Do.current===e&&(cr(Lo),cr(Do))}var _o=lr(0);function Bo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var jo=null,Uo=null,Fo=!1;function Vo(e,t){var n=Vl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Ho(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Qo(e){if(Fo){var t=Uo;if(t){var n=t;if(!Ho(e,t)){if(!(t=Yi(n.nextSibling))||!Ho(e,t))return e.flags=-1025&e.flags|2,Fo=!1,void(jo=e);Vo(jo,n)}jo=e,Uo=Yi(t.firstChild)}else e.flags=-1025&e.flags|2,Fo=!1,jo=e}}function Wo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;jo=e}function Go(e){if(e!==jo)return!1;if(!Fo)return Wo(e),Fo=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Hi(t,e.memoizedProps))for(t=Uo;t;)Vo(e,t),t=Yi(t.nextSibling);if(Wo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Uo=Yi(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Uo=null}}else Uo=jo?Yi(e.stateNode.nextSibling):null;return!0}function Yo(){Uo=jo=null,Fo=!1}var qo=[];function Xo(){for(var e=0;e<qo.length;e++)qo[e]._workInProgressVersionPrimary=null;qo.length=0}var Zo=w.ReactCurrentDispatcher,Jo=w.ReactCurrentBatchConfig,Ko=0,$o=null,ea=null,ta=null,na=!1,ia=!1;function ra(){throw Error(a(321))}function oa(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ci(e[n],t[n]))return!1;return!0}function aa(e,t,n,i,r,o){if(Ko=o,$o=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Zo.current=null===e||null===e.memoizedState?Na:Pa,e=n(i,r),ia){o=0;do{if(ia=!1,!(25>o))throw Error(a(301));o+=1,ta=ea=null,t.updateQueue=null,Zo.current=ka,e=n(i,r)}while(ia)}if(Zo.current=Oa,t=null!==ea&&null!==ea.next,Ko=0,ta=ea=$o=null,na=!1,t)throw Error(a(300));return e}function sa(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ta?$o.memoizedState=ta=e:ta=ta.next=e,ta}function la(){if(null===ea){var e=$o.alternate;e=null!==e?e.memoizedState:null}else e=ea.next;var t=null===ta?$o.memoizedState:ta.next;if(null!==t)ta=t,ea=e;else{if(null===e)throw Error(a(310));e={memoizedState:(ea=e).memoizedState,baseState:ea.baseState,baseQueue:ea.baseQueue,queue:ea.queue,next:null},null===ta?$o.memoizedState=ta=e:ta=ta.next=e}return ta}function ca(e,t){return"function"==typeof t?t(e):t}function ua(e){var t=la(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var i=ea,r=i.baseQueue,o=n.pending;if(null!==o){if(null!==r){var s=r.next;r.next=o.next,o.next=s}i.baseQueue=r=o,n.pending=null}if(null!==r){r=r.next,i=i.baseState;var l=s=o=null,c=r;do{var u=c.lane;if((Ko&u)===u)null!==l&&(l=l.next={lane:0,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),i=c.eagerReducer===e?c.eagerState:e(i,c.action);else{var h={lane:u,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===l?(s=l=h,o=i):l=l.next=h,$o.lanes|=u,js|=u}c=c.next}while(null!==c&&c!==r);null===l?o=i:l.next=s,ci(i,t.memoizedState)||(za=!0),t.memoizedState=i,t.baseState=o,t.baseQueue=l,n.lastRenderedState=i}return[t.memoizedState,n.dispatch]}function ha(e){var t=la(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,o=t.memoizedState;if(null!==r){n.pending=null;var s=r=r.next;do{o=e(o,s.action),s=s.next}while(s!==r);ci(o,t.memoizedState)||(za=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function da(e,t,n){var i=t._getVersion;i=i(t._source);var r=t._workInProgressVersionPrimary;if(null!==r?e=r===i:(e=e.mutableReadLanes,(e=(Ko&e)===e)&&(t._workInProgressVersionPrimary=i,qo.push(t))),e)return n(t._source);throw qo.push(t),Error(a(350))}function pa(e,t,n,i){var r=Os;if(null===r)throw Error(a(349));var o=t._getVersion,s=o(t._source),l=Zo.current,c=l.useState((function(){return da(r,t,n)})),u=c[1],h=c[0];c=ta;var d=e.memoizedState,p=d.refs,f=p.getSnapshot,A=d.source;d=d.subscribe;var m=$o;return e.memoizedState={refs:p,source:t,subscribe:i},l.useEffect((function(){p.getSnapshot=n,p.setSnapshot=u;var e=o(t._source);if(!ci(s,e)){e=n(t._source),ci(h,e)||(u(e),e=hl(m),r.mutableReadLanes|=e&r.pendingLanes),e=r.mutableReadLanes,r.entangledLanes|=e;for(var i=r.entanglements,a=e;0<a;){var l=31-Ht(a),c=1<<l;i[l]|=e,a&=~c}}}),[n,t,i]),l.useEffect((function(){return i(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var i=hl(m);r.mutableReadLanes|=i&r.pendingLanes}catch(e){n((function(){throw e}))}}))}),[t,i]),ci(f,n)&&ci(A,t)&&ci(d,i)||((e={pending:null,dispatch:null,lastRenderedReducer:ca,lastRenderedState:h}).dispatch=u=Da.bind(null,$o,e),c.queue=e,c.baseQueue=null,h=da(r,t,n),c.memoizedState=c.baseState=h),h}function fa(e,t,n){return pa(la(),e,t,n)}function Aa(e){var t=sa();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ca,lastRenderedState:e}).dispatch=Da.bind(null,$o,e),[t.memoizedState,e]}function ma(e,t,n,i){return e={tag:e,create:t,destroy:n,deps:i,next:null},null===(t=$o.updateQueue)?(t={lastEffect:null},$o.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function ga(e){return e={current:e},sa().memoizedState=e}function va(){return la().memoizedState}function ya(e,t,n,i){var r=sa();$o.flags|=e,r.memoizedState=ma(1|t,n,void 0,void 0===i?null:i)}function ba(e,t,n,i){var r=la();i=void 0===i?null:i;var o=void 0;if(null!==ea){var a=ea.memoizedState;if(o=a.destroy,null!==i&&oa(i,a.deps))return void ma(t,n,o,i)}$o.flags|=e,r.memoizedState=ma(1|t,n,o,i)}function wa(e,t){return ya(516,4,e,t)}function xa(e,t){return ba(516,4,e,t)}function Ma(e,t){return ba(4,2,e,t)}function Ea(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Sa(e,t,n){return n=null!=n?n.concat([e]):null,ba(4,2,Ea.bind(null,t,e),n)}function Ta(){}function Ca(e,t){var n=la();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&oa(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function Ia(e,t){var n=la();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&oa(t,i[1])?i[0]:(e=e(),n.memoizedState=[e,t],e)}function La(e,t){var n=Hr();Wr(98>n?98:n,(function(){e(!0)})),Wr(97<n?97:n,(function(){var n=Jo.transition;Jo.transition=1;try{e(!1),t()}finally{Jo.transition=n}}))}function Da(e,t,n){var i=ul(),r=hl(e),o={lane:r,action:n,eagerReducer:null,eagerState:null,next:null},a=t.pending;if(null===a?o.next=o:(o.next=a.next,a.next=o),t.pending=o,a=e.alternate,e===$o||null!==a&&a===$o)ia=na=!0;else{if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var s=t.lastRenderedState,l=a(s,n);if(o.eagerReducer=a,o.eagerState=l,ci(l,s))return}catch(e){}dl(e,r,i)}}var Oa={readContext:oo,useCallback:ra,useContext:ra,useEffect:ra,useImperativeHandle:ra,useLayoutEffect:ra,useMemo:ra,useReducer:ra,useRef:ra,useState:ra,useDebugValue:ra,useDeferredValue:ra,useTransition:ra,useMutableSource:ra,useOpaqueIdentifier:ra,unstable_isNewReconciler:!1},Na={readContext:oo,useCallback:function(e,t){return sa().memoizedState=[e,void 0===t?null:t],e},useContext:oo,useEffect:wa,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,ya(4,2,Ea.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ya(4,2,e,t)},useMemo:function(e,t){var n=sa();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=sa();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,e=(e=i.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Da.bind(null,$o,e),[i.memoizedState,e]},useRef:ga,useState:Aa,useDebugValue:Ta,useDeferredValue:function(e){var t=Aa(e),n=t[0],i=t[1];return wa((function(){var t=Jo.transition;Jo.transition=1;try{i(e)}finally{Jo.transition=t}}),[e]),n},useTransition:function(){var e=Aa(!1),t=e[0];return ga(e=La.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var i=sa();return i.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},pa(i,e,t,n)},useOpaqueIdentifier:function(){if(Fo){var e=!1,t=function(e){return{$$typeof:R,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Xi++).toString(36))),Error(a(355))})),n=Aa(t)[1];return 0==(2&$o.mode)&&($o.flags|=516,ma(5,(function(){n("r:"+(Xi++).toString(36))}),void 0,null)),t}return Aa(t="r:"+(Xi++).toString(36)),t},unstable_isNewReconciler:!1},Pa={readContext:oo,useCallback:Ca,useContext:oo,useEffect:xa,useImperativeHandle:Sa,useLayoutEffect:Ma,useMemo:Ia,useReducer:ua,useRef:va,useState:function(){return ua(ca)},useDebugValue:Ta,useDeferredValue:function(e){var t=ua(ca),n=t[0],i=t[1];return xa((function(){var t=Jo.transition;Jo.transition=1;try{i(e)}finally{Jo.transition=t}}),[e]),n},useTransition:function(){var e=ua(ca)[0];return[va().current,e]},useMutableSource:fa,useOpaqueIdentifier:function(){return ua(ca)[0]},unstable_isNewReconciler:!1},ka={readContext:oo,useCallback:Ca,useContext:oo,useEffect:xa,useImperativeHandle:Sa,useLayoutEffect:Ma,useMemo:Ia,useReducer:ha,useRef:va,useState:function(){return ha(ca)},useDebugValue:Ta,useDeferredValue:function(e){var t=ha(ca),n=t[0],i=t[1];return xa((function(){var t=Jo.transition;Jo.transition=1;try{i(e)}finally{Jo.transition=t}}),[e]),n},useTransition:function(){var e=ha(ca)[0];return[va().current,e]},useMutableSource:fa,useOpaqueIdentifier:function(){return ha(ca)[0]},unstable_isNewReconciler:!1},Ra=w.ReactCurrentOwner,za=!1;function _a(e,t,n,i){t.child=null===e?Co(t,null,n,i):To(t,e.child,n,i)}function Ba(e,t,n,i,r){n=n.render;var o=t.ref;return ro(t,r),i=aa(e,t,n,i,o,r),null===e||za?(t.flags|=1,_a(e,t,i,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~r,is(e,t,r))}function ja(e,t,n,i,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Hl(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Wl(n.type,null,i,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ua(e,t,a,i,r,o))}return a=e.child,0==(r&o)&&(r=a.memoizedProps,(n=null!==(n=n.compare)?n:hi)(r,i)&&e.ref===t.ref)?is(e,t,o):(t.flags|=1,(e=Ql(a,i)).ref=t.ref,e.return=t,t.child=e)}function Ua(e,t,n,i,r,o){if(null!==e&&hi(e.memoizedProps,i)&&e.ref===t.ref){if(za=!1,0==(o&r))return t.lanes=e.lanes,is(e,t,o);0!=(16384&e.flags)&&(za=!0)}return Ha(e,t,n,i,o)}function Fa(e,t,n){var i=t.pendingProps,r=i.children,o=null!==e?e.memoizedState:null;if("hidden"===i.mode||"unstable-defer-without-hiding"===i.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},bl(0,n);else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},bl(0,e),null;t.memoizedState={baseLanes:0},bl(0,null!==o?o.baseLanes:n)}else null!==o?(i=o.baseLanes|n,t.memoizedState=null):i=n,bl(0,i);return _a(e,t,r,n),t.child}function Va(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Ha(e,t,n,i,r){var o=mr(n)?fr:dr.current;return o=Ar(t,o),ro(t,r),n=aa(e,t,n,i,o,r),null===e||za?(t.flags|=1,_a(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~r,is(e,t,r))}function Qa(e,t,n,i,r){if(mr(n)){var o=!0;br(t)}else o=!1;if(ro(t,r),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),yo(t,n,i),wo(t,n,i,r),i=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=n.contextType;c="object"==typeof c&&null!==c?oo(c):Ar(t,c=mr(n)?fr:dr.current);var u=n.getDerivedStateFromProps,h="function"==typeof u||"function"==typeof a.getSnapshotBeforeUpdate;h||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==i||l!==c)&&bo(t,a,i,c),ao=!1;var d=t.memoizedState;a.state=d,po(t,i,a,r),l=t.memoizedState,s!==i||d!==l||pr.current||ao?("function"==typeof u&&(mo(t,n,u,i),l=t.memoizedState),(s=ao||vo(t,n,s,i,d,l,c))?(h||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.flags|=4)):("function"==typeof a.componentDidMount&&(t.flags|=4),t.memoizedProps=i,t.memoizedState=l),a.props=i,a.state=l,a.context=c,i=s):("function"==typeof a.componentDidMount&&(t.flags|=4),i=!1)}else{a=t.stateNode,lo(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:Zr(t.type,s),a.props=c,h=t.pendingProps,d=a.context,l="object"==typeof(l=n.contextType)&&null!==l?oo(l):Ar(t,l=mr(n)?fr:dr.current);var p=n.getDerivedStateFromProps;(u="function"==typeof p||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==h||d!==l)&&bo(t,a,i,l),ao=!1,d=t.memoizedState,a.state=d,po(t,i,a,r);var f=t.memoizedState;s!==h||d!==f||pr.current||ao?("function"==typeof p&&(mo(t,n,p,i),f=t.memoizedState),(c=ao||vo(t,n,c,i,d,f,l))?(u||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(i,f,l),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(i,f,l)),"function"==typeof a.componentDidUpdate&&(t.flags|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),t.memoizedProps=i,t.memoizedState=f),a.props=i,a.state=f,a.context=l,i=c):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),i=!1)}return Wa(e,t,n,i,o,r)}function Wa(e,t,n,i,r,o){Va(e,t);var a=0!=(64&t.flags);if(!i&&!a)return r&&wr(t,n,!1),is(e,t,o);i=t.stateNode,Ra.current=t;var s=a&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&a?(t.child=To(t,e.child,null,o),t.child=To(t,null,s,o)):_a(e,t,s,o),t.memoizedState=i.state,r&&wr(t,n,!0),t.child}function Ga(e){var t=e.stateNode;t.pendingContext?vr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&vr(0,t.context,!1),Po(e,t.containerInfo)}var Ya,qa,Xa,Za,Ja={dehydrated:null,retryLane:0};function Ka(e,t,n){var i,r=t.pendingProps,o=_o.current,a=!1;return(i=0!=(64&t.flags))||(i=(null===e||null!==e.memoizedState)&&0!=(2&o)),i?(a=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===r.fallback||!0===r.unstable_avoidThisFallback||(o|=1),ur(_o,1&o),null===e?(void 0!==r.fallback&&Qo(t),e=r.children,o=r.fallback,a?(e=$a(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ja,e):"number"==typeof r.unstable_expectedLoadTime?(e=$a(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ja,t.lanes=33554432,e):((n=Yl({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,a?(r=function(e,t,n,i,r){var o=t.mode,a=e.child;e=a.sibling;var s={mode:"hidden",children:n};return 0==(2&o)&&t.child!==a?((n=t.child).childLanes=0,n.pendingProps=s,null!==(a=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=a,a.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Ql(a,s),null!==e?i=Ql(e,i):(i=Gl(i,o,r,null)).flags|=2,i.return=t,n.return=t,n.sibling=i,t.child=n,i}(e,t,r.children,r.fallback,n),a=t.child,o=e.child.memoizedState,a.memoizedState=null===o?{baseLanes:n}:{baseLanes:o.baseLanes|n},a.childLanes=e.childLanes&~n,t.memoizedState=Ja,r):(n=function(e,t,n,i){var r=e.child;return e=r.sibling,n=Ql(r,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=i),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}(e,t,r.children,n),t.memoizedState=null,n))}function $a(e,t,n,i){var r=e.mode,o=e.child;return t={mode:"hidden",children:t},0==(2&r)&&null!==o?(o.childLanes=0,o.pendingProps=t):o=Yl(t,r,0,null),n=Gl(n,r,i,null),o.return=e,n.return=e,o.sibling=n,e.child=o,n}function es(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),io(e.return,t)}function ts(e,t,n,i,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r,lastEffect:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=i,a.tail=n,a.tailMode=r,a.lastEffect=o)}function ns(e,t,n){var i=t.pendingProps,r=i.revealOrder,o=i.tail;if(_a(e,t,i.children,n),0!=(2&(i=_o.current)))i=1&i|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&es(e,n);else if(19===e.tag)es(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(ur(_o,i),0==(2&t.mode))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===Bo(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),ts(t,!1,r,n,o,t.lastEffect);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===Bo(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}ts(t,!0,n,null,o,t.lastEffect);break;case"together":ts(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function is(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),js|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Ql(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ql(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function rs(e,t){if(!Fo)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function os(e,t,n){var i=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return mr(t.type)&&gr(),null;case 3:return ko(),cr(pr),cr(dr),Xo(),(i=t.stateNode).pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),null!==e&&null!==e.child||(Go(t)?t.flags|=4:i.hydrate||(t.flags|=256)),qa(t),null;case 5:zo(t);var o=No(Oo.current);if(n=t.type,null!==e&&null!=t.stateNode)Xa(e,t,n,i,o),e.ref!==t.ref&&(t.flags|=128);else{if(!i){if(null===t.stateNode)throw Error(a(166));return null}if(e=No(Lo.current),Go(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[Ji]=t,i[Ki]=s,n){case"dialog":Li("cancel",i),Li("close",i);break;case"iframe":case"object":case"embed":Li("load",i);break;case"video":case"audio":for(e=0;e<Si.length;e++)Li(Si[e],i);break;case"source":Li("error",i);break;case"img":case"image":case"link":Li("error",i),Li("load",i);break;case"details":Li("toggle",i);break;case"input":ee(i,s),Li("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!s.multiple},Li("invalid",i);break;case"textarea":le(i,s),Li("invalid",i)}for(var c in Me(n,s),e=null,s)s.hasOwnProperty(c)&&(o=s[c],"children"===c?"string"==typeof o?i.textContent!==o&&(e=["children",o]):"number"==typeof o&&i.textContent!==""+o&&(e=["children",""+o]):l.hasOwnProperty(c)&&null!=o&&"onScroll"===c&&Li("scroll",i));switch(n){case"input":Z(i),ie(i,s,!0);break;case"textarea":Z(i),ue(i);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(i.onclick=ji)}i=e,t.updateQueue=i,null!==i&&(t.flags|=4)}else{switch(c=9===o.nodeType?o:o.ownerDocument,e===he.html&&(e=de(n)),e===he.html?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),"select"===n&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Ji]=t,e[Ki]=i,Ya(e,t,!1,!1),t.stateNode=e,c=Ee(n,i),n){case"dialog":Li("cancel",e),Li("close",e),o=i;break;case"iframe":case"object":case"embed":Li("load",e),o=i;break;case"video":case"audio":for(o=0;o<Si.length;o++)Li(Si[o],e);o=i;break;case"source":Li("error",e),o=i;break;case"img":case"image":case"link":Li("error",e),Li("load",e),o=i;break;case"details":Li("toggle",e),o=i;break;case"input":ee(e,i),o=$(e,i),Li("invalid",e);break;case"option":o=oe(e,i);break;case"select":e._wrapperState={wasMultiple:!!i.multiple},o=r({},i,{value:void 0}),Li("invalid",e);break;case"textarea":le(e,i),o=se(e,i),Li("invalid",e);break;default:o=i}Me(n,o);var u=o;for(s in u)if(u.hasOwnProperty(s)){var h=u[s];"style"===s?we(e,h):"dangerouslySetInnerHTML"===s?null!=(h=h?h.__html:void 0)&&me(e,h):"children"===s?"string"==typeof h?("textarea"!==n||""!==h)&&ge(e,h):"number"==typeof h&&ge(e,""+h):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(l.hasOwnProperty(s)?null!=h&&"onScroll"===s&&Li("scroll",e):null!=h&&b(e,s,h,c))}switch(n){case"input":Z(e),ie(e,i,!1);break;case"textarea":Z(e),ue(e);break;case"option":null!=i.value&&e.setAttribute("value",""+q(i.value));break;case"select":e.multiple=!!i.multiple,null!=(s=i.value)?ae(e,!!i.multiple,s,!1):null!=i.defaultValue&&ae(e,!!i.multiple,i.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=ji)}Vi(n,i)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Za(e,t,e.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw Error(a(166));n=No(Oo.current),No(Lo.current),Go(t)?(i=t.stateNode,n=t.memoizedProps,i[Ji]=t,i.nodeValue!==n&&(t.flags|=4)):((i=(9===n.nodeType?n:n.ownerDocument).createTextNode(i))[Ji]=t,t.stateNode=i)}return null;case 13:return cr(_o),i=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(i=null!==i,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Go(t):n=null!==e.memoizedState,i&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&_o.current)?0===zs&&(zs=3):(0!==zs&&3!==zs||(zs=4),null===Os||0==(134217727&js)&&0==(134217727&Us)||ml(Os,Ps))),(i||n)&&(t.flags|=4),null);case 4:return ko(),qa(t),null===e&&Oi(t.stateNode.containerInfo),null;case 10:return no(t),null;case 19:if(cr(_o),null===(i=t.memoizedState))return null;if(s=0!=(64&t.flags),null===(c=i.rendering))if(s)rs(i,!1);else{if(0!==zs||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(c=Bo(e))){for(t.flags|=64,rs(i,!1),null!==(s=c.updateQueue)&&(t.updateQueue=s,t.flags|=4),null===i.lastEffect&&(t.firstEffect=null),t.lastEffect=i.lastEffect,i=n,n=t.child;null!==n;)e=i,(s=n).flags&=2,s.nextEffect=null,s.firstEffect=null,s.lastEffect=null,null===(c=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ur(_o,1&_o.current|2),t.child}e=e.sibling}null!==i.tail&&Vr()>Qs&&(t.flags|=64,s=!0,rs(i,!1),t.lanes=33554432)}else{if(!s)if(null!==(e=Bo(c))){if(t.flags|=64,s=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),rs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!Fo)return null!==(t=t.lastEffect=i.lastEffect)&&(t.nextEffect=null),null}else 2*Vr()-i.renderingStartTime>Qs&&1073741824!==n&&(t.flags|=64,s=!0,rs(i,!1),t.lanes=33554432);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=i.last)?n.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.lastEffect=t.lastEffect,i.renderingStartTime=Vr(),n.sibling=null,t=_o.current,ur(_o,s?1&t|2:1&t),n):null;case 23:case 24:return wl(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==i.mode&&(t.flags|=4),null}throw Error(a(156,t.tag))}function as(e){switch(e.tag){case 1:mr(e.type)&&gr();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(ko(),cr(pr),cr(dr),Xo(),0!=(64&(t=e.flags)))throw Error(a(285));return e.flags=-4097&t|64,e;case 5:return zo(e),null;case 13:return cr(_o),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return cr(_o),null;case 4:return ko(),null;case 10:return no(e),null;case 23:case 24:return wl(),null;default:return null}}function ss(e,t){try{var n="",i=t;do{n+=G(i),i=i.return}while(i);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r}}function ls(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}Ya=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},qa=function(){},Xa=function(e,t,n,i){var o=e.memoizedProps;if(o!==i){e=t.stateNode,No(Lo.current);var a,s=null;switch(n){case"input":o=$(e,o),i=$(e,i),s=[];break;case"option":o=oe(e,o),i=oe(e,i),s=[];break;case"select":o=r({},o,{value:void 0}),i=r({},i,{value:void 0}),s=[];break;case"textarea":o=se(e,o),i=se(e,i),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof i.onClick&&(e.onclick=ji)}for(h in Me(n,i),n=null,o)if(!i.hasOwnProperty(h)&&o.hasOwnProperty(h)&&null!=o[h])if("style"===h){var c=o[h];for(a in c)c.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==h&&"children"!==h&&"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&"autoFocus"!==h&&(l.hasOwnProperty(h)?s||(s=[]):(s=s||[]).push(h,null));for(h in i){var u=i[h];if(c=null!=o?o[h]:void 0,i.hasOwnProperty(h)&&u!==c&&(null!=u||null!=c))if("style"===h)if(c){for(a in c)!c.hasOwnProperty(a)||u&&u.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in u)u.hasOwnProperty(a)&&c[a]!==u[a]&&(n||(n={}),n[a]=u[a])}else n||(s||(s=[]),s.push(h,n)),n=u;else"dangerouslySetInnerHTML"===h?(u=u?u.__html:void 0,c=c?c.__html:void 0,null!=u&&c!==u&&(s=s||[]).push(h,u)):"children"===h?"string"!=typeof u&&"number"!=typeof u||(s=s||[]).push(h,""+u):"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&(l.hasOwnProperty(h)?(null!=u&&"onScroll"===h&&Li("scroll",e),s||c===u||(s=[])):"object"==typeof u&&null!==u&&u.$$typeof===R?u.toString():(s=s||[]).push(h,u))}n&&(s=s||[]).push("style",n);var h=s;(t.updateQueue=h)&&(t.flags|=4)}},Za=function(e,t,n,i){n!==i&&(t.flags|=4)};var cs="function"==typeof WeakMap?WeakMap:Map;function us(e,t,n){(n=co(-1,n)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){qs||(qs=!0,Xs=i),ls(0,t)},n}function hs(e,t,n){(n=co(-1,n)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var r=t.value;n.payload=function(){return ls(0,t),i(r)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof i&&(null===Zs?Zs=new Set([this]):Zs.add(this),ls(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var ds="function"==typeof WeakSet?WeakSet:Set;function ps(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Bl(e,t)}else t.current=null}function fs(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,i=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Zr(t.type,n),i),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Gi(t.stateNode.containerInfo))}throw Error(a(163))}function As(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var i=e.create;e.destroy=i()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var r=e;i=r.next,0!=(4&(r=r.tag))&&0!=(1&r)&&(Rl(n,e),kl(n,e)),e=i}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(i=n.elementType===n.type?t.memoizedProps:Zr(n.type,t.memoizedProps),e.componentDidUpdate(i,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&fo(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}fo(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Vi(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&wt(n)))))}throw Error(a(163))}function ms(e,t){for(var n=e;;){if(5===n.tag){var i=n.stateNode;if(t)"function"==typeof(i=i.style).setProperty?i.setProperty("display","none","important"):i.display="none";else{i=n.stateNode;var r=n.memoizedProps.style;r=null!=r&&r.hasOwnProperty("display")?r.display:null,i.style.display=be("display",r)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function gs(e,t){if(Mr&&"function"==typeof Mr.onCommitFiberUnmount)try{Mr.onCommitFiberUnmount(xr,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var i=n,r=i.destroy;if(i=i.tag,void 0!==r)if(0!=(4&i))Rl(t,n);else{i=t;try{r()}catch(e){Bl(i,e)}}n=n.next}while(n!==e)}break;case 1:if(ps(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){Bl(t,e)}break;case 5:ps(t);break;case 4:Ms(e,t)}}function vs(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function ys(e){return 5===e.tag||3===e.tag||4===e.tag}function bs(e){e:{for(var t=e.return;null!==t;){if(ys(t))break e;t=t.return}throw Error(a(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var i=!1;break;case 3:case 4:t=t.containerInfo,i=!0;break;default:throw Error(a(161))}16&n.flags&&(ge(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ys(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}i?ws(e,n,t):xs(e,n,t)}function ws(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=ji));else if(4!==i&&null!==(e=e.child))for(ws(e,t,n),e=e.sibling;null!==e;)ws(e,t,n),e=e.sibling}function xs(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(xs(e,t,n),e=e.sibling;null!==e;)xs(e,t,n),e=e.sibling}function Ms(e,t){for(var n,i,r=t,o=!1;;){if(!o){o=r.return;e:for(;;){if(null===o)throw Error(a(160));switch(n=o.stateNode,o.tag){case 5:i=!1;break e;case 3:case 4:n=n.containerInfo,i=!0;break e}o=o.return}o=!0}if(5===r.tag||6===r.tag){e:for(var s=e,l=r,c=l;;)if(gs(s,c),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===l)break e;for(;null===c.sibling;){if(null===c.return||c.return===l)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}i?(s=n,l=r.stateNode,8===s.nodeType?s.parentNode.removeChild(l):s.removeChild(l)):n.removeChild(r.stateNode)}else if(4===r.tag){if(null!==r.child){n=r.stateNode.containerInfo,i=!0,r.child.return=r,r=r.child;continue}}else if(gs(e,r),null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;4===(r=r.return).tag&&(o=!1)}r.sibling.return=r.return,r=r.sibling}}function Es(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var i=n=n.next;do{3==(3&i.tag)&&(e=i.destroy,i.destroy=void 0,void 0!==e&&e()),i=i.next}while(i!==n)}return;case 1:case 12:case 17:return;case 5:if(null!=(n=t.stateNode)){i=t.memoizedProps;var r=null!==e?e.memoizedProps:i;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Ki]=i,"input"===e&&"radio"===i.type&&null!=i.name&&te(n,i),Ee(e,r),t=Ee(e,i),r=0;r<o.length;r+=2){var s=o[r],l=o[r+1];"style"===s?we(n,l):"dangerouslySetInnerHTML"===s?me(n,l):"children"===s?ge(n,l):b(n,s,l,t)}switch(e){case"input":ne(n,i);break;case"textarea":ce(n,i);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!i.multiple,null!=(o=i.value)?ae(n,!!i.multiple,o,!1):e!==!!i.multiple&&(null!=i.defaultValue?ae(n,!!i.multiple,i.defaultValue,!0):ae(n,!!i.multiple,i.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(a(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,wt(n.containerInfo)));case 13:return null!==t.memoizedState&&(Hs=Vr(),ms(t.child,!0)),void Ss(t);case 19:return void Ss(t);case 23:case 24:return void ms(t,null!==t.memoizedState)}throw Error(a(163))}function Ss(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ds),t.forEach((function(t){var i=Ul.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))}))}}function Ts(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&null!==(t=t.memoizedState)&&null===t.dehydrated}var Cs=Math.ceil,Is=w.ReactCurrentDispatcher,Ls=w.ReactCurrentOwner,Ds=0,Os=null,Ns=null,Ps=0,ks=0,Rs=lr(0),zs=0,_s=null,Bs=0,js=0,Us=0,Fs=0,Vs=null,Hs=0,Qs=1/0;function Ws(){Qs=Vr()+500}var Gs,Ys=null,qs=!1,Xs=null,Zs=null,Js=!1,Ks=null,$s=90,el=[],tl=[],nl=null,il=0,rl=null,ol=-1,al=0,sl=0,ll=null,cl=!1;function ul(){return 0!=(48&Ds)?Vr():-1!==ol?ol:ol=Vr()}function hl(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Hr()?1:2;if(0===al&&(al=Bs),0!==Xr.transition){0!==sl&&(sl=null!==Vs?Vs.pendingLanes:0),e=al;var t=4186112&~sl;return 0==(t&=-t)&&0==(t=(e=4186112&~e)&-e)&&(t=8192),t}return e=Hr(),e=jt(0!=(4&Ds)&&98===e?12:e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),al)}function dl(e,t,n){if(50<il)throw il=0,rl=null,Error(a(185));if(null===(e=pl(e,t)))return null;Vt(e,t,n),e===Os&&(Us|=t,4===zs&&ml(e,Ps));var i=Hr();1===t?0!=(8&Ds)&&0==(48&Ds)?gl(e):(fl(e,n),0===Ds&&(Ws(),Yr())):(0==(4&Ds)||98!==i&&99!==i||(null===nl?nl=new Set([e]):nl.add(e)),fl(e,n)),Vs=e}function pl(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function fl(e,t){for(var n=e.callbackNode,i=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,s=e.pendingLanes;0<s;){var l=31-Ht(s),c=1<<l,u=o[l];if(-1===u){if(0==(c&i)||0!=(c&r)){u=t,zt(c);var h=Rt;o[l]=10<=h?u+250:6<=h?u+5e3:-1}}else u<=t&&(e.expiredLanes|=c);s&=~c}if(i=_t(e,e===Os?Ps:0),t=Rt,0===i)null!==n&&(n!==zr&&Tr(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==zr&&Tr(n)}15===t?(n=gl.bind(null,e),null===Br?(Br=[n],jr=Sr(Or,qr)):Br.push(n),n=zr):14===t?n=Gr(99,gl.bind(null,e)):(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(a(358,e))}}(t),n=Gr(n,Al.bind(null,e))),e.callbackPriority=t,e.callbackNode=n}}function Al(e){if(ol=-1,sl=al=0,0!=(48&Ds))throw Error(a(327));var t=e.callbackNode;if(Pl()&&e.callbackNode!==t)return null;var n=_t(e,e===Os?Ps:0);if(0===n)return null;var i=n,r=Ds;Ds|=16;var o=El();for(Os===e&&Ps===i||(Ws(),xl(e,i));;)try{Cl();break}catch(t){Ml(e,t)}if(to(),Is.current=o,Ds=r,null!==Ns?i=0:(Os=null,Ps=0,i=zs),0!=(Bs&Us))xl(e,0);else if(0!==i){if(2===i&&(Ds|=64,e.hydrate&&(e.hydrate=!1,Gi(e.containerInfo)),0!==(n=Bt(e))&&(i=Sl(e,n))),1===i)throw t=_s,xl(e,0),ml(e,n),fl(e,Vr()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,i){case 0:case 1:throw Error(a(345));case 2:case 5:Dl(e);break;case 3:if(ml(e,n),(62914560&n)===n&&10<(i=Hs+500-Vr())){if(0!==_t(e,0))break;if(((r=e.suspendedLanes)&n)!==n){ul(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=Qi(Dl.bind(null,e),i);break}Dl(e);break;case 4:if(ml(e,n),(4186112&n)===n)break;for(i=e.eventTimes,r=-1;0<n;){var s=31-Ht(n);o=1<<s,(s=i[s])>r&&(r=s),n&=~o}if(n=r,10<(n=(120>(n=Vr()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Cs(n/1960))-n)){e.timeoutHandle=Qi(Dl.bind(null,e),n);break}Dl(e);break;default:throw Error(a(329))}}return fl(e,Vr()),e.callbackNode===t?Al.bind(null,e):null}function ml(e,t){for(t&=~Fs,t&=~Us,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ht(t),i=1<<n;e[n]=-1,t&=~i}}function gl(e){if(0!=(48&Ds))throw Error(a(327));if(Pl(),e===Os&&0!=(e.expiredLanes&Ps)){var t=Ps,n=Sl(e,t);0!=(Bs&Us)&&(n=Sl(e,t=_t(e,t)))}else n=Sl(e,t=_t(e,0));if(0!==e.tag&&2===n&&(Ds|=64,e.hydrate&&(e.hydrate=!1,Gi(e.containerInfo)),0!==(t=Bt(e))&&(n=Sl(e,t))),1===n)throw n=_s,xl(e,0),ml(e,t),fl(e,Vr()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Dl(e),fl(e,Vr()),null}function vl(e,t){var n=Ds;Ds|=1;try{return e(t)}finally{0===(Ds=n)&&(Ws(),Yr())}}function yl(e,t){var n=Ds;Ds&=-2,Ds|=8;try{return e(t)}finally{0===(Ds=n)&&(Ws(),Yr())}}function bl(e,t){ur(Rs,ks),ks|=t,Bs|=t}function wl(){ks=Rs.current,cr(Rs)}function xl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Wi(n)),null!==Ns)for(n=Ns.return;null!==n;){var i=n;switch(i.tag){case 1:null!=(i=i.type.childContextTypes)&&gr();break;case 3:ko(),cr(pr),cr(dr),Xo();break;case 5:zo(i);break;case 4:ko();break;case 13:case 19:cr(_o);break;case 10:no(i);break;case 23:case 24:wl()}n=n.return}Os=e,Ns=Ql(e.current,null),Ps=ks=Bs=t,zs=0,_s=null,Fs=Us=js=0}function Ml(e,t){for(;;){var n=Ns;try{if(to(),Zo.current=Oa,na){for(var i=$o.memoizedState;null!==i;){var r=i.queue;null!==r&&(r.pending=null),i=i.next}na=!1}if(Ko=0,ta=ea=$o=null,ia=!1,Ls.current=null,null===n||null===n.return){zs=1,_s=t,Ns=null;break}e:{var o=e,a=n.return,s=n,l=t;if(t=Ps,s.flags|=2048,s.firstEffect=s.lastEffect=null,null!==l&&"object"==typeof l&&"function"==typeof l.then){var c=l;if(0==(2&s.mode)){var u=s.alternate;u?(s.updateQueue=u.updateQueue,s.memoizedState=u.memoizedState,s.lanes=u.lanes):(s.updateQueue=null,s.memoizedState=null)}var h=0!=(1&_o.current),d=a;do{var p;if(p=13===d.tag){var f=d.memoizedState;if(null!==f)p=null!==f.dehydrated;else{var A=d.memoizedProps;p=void 0!==A.fallback&&(!0!==A.unstable_avoidThisFallback||!h)}}if(p){var m=d.updateQueue;if(null===m){var g=new Set;g.add(c),d.updateQueue=g}else m.add(c);if(0==(2&d.mode)){if(d.flags|=64,s.flags|=16384,s.flags&=-2981,1===s.tag)if(null===s.alternate)s.tag=17;else{var v=co(-1,1);v.tag=2,uo(s,v)}s.lanes|=1;break e}l=void 0,s=t;var y=o.pingCache;if(null===y?(y=o.pingCache=new cs,l=new Set,y.set(c,l)):void 0===(l=y.get(c))&&(l=new Set,y.set(c,l)),!l.has(s)){l.add(s);var b=jl.bind(null,o,c,s);c.then(b,b)}d.flags|=4096,d.lanes=t;break e}d=d.return}while(null!==d);l=Error((Y(s.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==zs&&(zs=2),l=ss(l,s),d=a;do{switch(d.tag){case 3:o=l,d.flags|=4096,t&=-t,d.lanes|=t,ho(d,us(0,o,t));break e;case 1:o=l;var w=d.type,x=d.stateNode;if(0==(64&d.flags)&&("function"==typeof w.getDerivedStateFromError||null!==x&&"function"==typeof x.componentDidCatch&&(null===Zs||!Zs.has(x)))){d.flags|=4096,t&=-t,d.lanes|=t,ho(d,hs(d,o,t));break e}}d=d.return}while(null!==d)}Ll(n)}catch(e){t=e,Ns===n&&null!==n&&(Ns=n=n.return);continue}break}}function El(){var e=Is.current;return Is.current=Oa,null===e?Oa:e}function Sl(e,t){var n=Ds;Ds|=16;var i=El();for(Os===e&&Ps===t||xl(e,t);;)try{Tl();break}catch(t){Ml(e,t)}if(to(),Ds=n,Is.current=i,null!==Ns)throw Error(a(261));return Os=null,Ps=0,zs}function Tl(){for(;null!==Ns;)Il(Ns)}function Cl(){for(;null!==Ns&&!Cr();)Il(Ns)}function Il(e){var t=Gs(e.alternate,e,ks);e.memoizedProps=e.pendingProps,null===t?Ll(e):Ns=t,Ls.current=null}function Ll(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=os(n,t,ks)))return void(Ns=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&ks)||0==(4&n.mode)){for(var i=0,r=n.child;null!==r;)i|=r.lanes|r.childLanes,r=r.sibling;n.childLanes=i}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=as(t)))return n.flags&=2047,void(Ns=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Ns=t);Ns=t=e}while(null!==t);0===zs&&(zs=5)}function Dl(e){var t=Hr();return Wr(99,Ol.bind(null,e,t)),null}function Ol(e,t){do{Pl()}while(null!==Ks);if(0!=(48&Ds))throw Error(a(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null;var i=n.lanes|n.childLanes,r=i,o=e.pendingLanes&~r;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=r,e.mutableReadLanes&=r,e.entangledLanes&=r,r=e.entanglements;for(var s=e.eventTimes,l=e.expirationTimes;0<o;){var c=31-Ht(o),u=1<<c;r[c]=0,s[c]=-1,l[c]=-1,o&=~u}if(null!==nl&&0==(24&i)&&nl.has(e)&&nl.delete(e),e===Os&&(Ns=Os=null,Ps=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){if(r=Ds,Ds|=32,Ls.current=null,Ui=qt,mi(s=Ai())){if("selectionStart"in s)l={start:s.selectionStart,end:s.selectionEnd};else e:if(l=(l=s.ownerDocument)&&l.defaultView||window,(u=l.getSelection&&l.getSelection())&&0!==u.rangeCount){l=u.anchorNode,o=u.anchorOffset,c=u.focusNode,u=u.focusOffset;try{l.nodeType,c.nodeType}catch(e){l=null;break e}var h=0,d=-1,p=-1,f=0,A=0,m=s,g=null;t:for(;;){for(var v;m!==l||0!==o&&3!==m.nodeType||(d=h+o),m!==c||0!==u&&3!==m.nodeType||(p=h+u),3===m.nodeType&&(h+=m.nodeValue.length),null!==(v=m.firstChild);)g=m,m=v;for(;;){if(m===s)break t;if(g===l&&++f===o&&(d=h),g===c&&++A===u&&(p=h),null!==(v=m.nextSibling))break;g=(m=g).parentNode}m=v}l=-1===d||-1===p?null:{start:d,end:p}}else l=null;l=l||{start:0,end:0}}else l=null;Fi={focusedElem:s,selectionRange:l},qt=!1,ll=null,cl=!1,Ys=i;do{try{Nl()}catch(e){if(null===Ys)throw Error(a(330));Bl(Ys,e),Ys=Ys.nextEffect}}while(null!==Ys);ll=null,Ys=i;do{try{for(s=e;null!==Ys;){var y=Ys.flags;if(16&y&&ge(Ys.stateNode,""),128&y){var b=Ys.alternate;if(null!==b){var w=b.ref;null!==w&&("function"==typeof w?w(null):w.current=null)}}switch(1038&y){case 2:bs(Ys),Ys.flags&=-3;break;case 6:bs(Ys),Ys.flags&=-3,Es(Ys.alternate,Ys);break;case 1024:Ys.flags&=-1025;break;case 1028:Ys.flags&=-1025,Es(Ys.alternate,Ys);break;case 4:Es(Ys.alternate,Ys);break;case 8:Ms(s,l=Ys);var x=l.alternate;vs(l),null!==x&&vs(x)}Ys=Ys.nextEffect}}catch(e){if(null===Ys)throw Error(a(330));Bl(Ys,e),Ys=Ys.nextEffect}}while(null!==Ys);if(w=Fi,b=Ai(),y=w.focusedElem,s=w.selectionRange,b!==y&&y&&y.ownerDocument&&fi(y.ownerDocument.documentElement,y)){null!==s&&mi(y)&&(b=s.start,void 0===(w=s.end)&&(w=b),"selectionStart"in y?(y.selectionStart=b,y.selectionEnd=Math.min(w,y.value.length)):(w=(b=y.ownerDocument||document)&&b.defaultView||window).getSelection&&(w=w.getSelection(),l=y.textContent.length,x=Math.min(s.start,l),s=void 0===s.end?x:Math.min(s.end,l),!w.extend&&x>s&&(l=s,s=x,x=l),l=pi(y,x),o=pi(y,s),l&&o&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==o.node||w.focusOffset!==o.offset)&&((b=b.createRange()).setStart(l.node,l.offset),w.removeAllRanges(),x>s?(w.addRange(b),w.extend(o.node,o.offset)):(b.setEnd(o.node,o.offset),w.addRange(b))))),b=[];for(w=y;w=w.parentNode;)1===w.nodeType&&b.push({element:w,left:w.scrollLeft,top:w.scrollTop});for("function"==typeof y.focus&&y.focus(),y=0;y<b.length;y++)(w=b[y]).element.scrollLeft=w.left,w.element.scrollTop=w.top}qt=!!Ui,Fi=Ui=null,e.current=n,Ys=i;do{try{for(y=e;null!==Ys;){var M=Ys.flags;if(36&M&&As(y,Ys.alternate,Ys),128&M){b=void 0;var E=Ys.ref;if(null!==E){var S=Ys.stateNode;Ys.tag,b=S,"function"==typeof E?E(b):E.current=b}}Ys=Ys.nextEffect}}catch(e){if(null===Ys)throw Error(a(330));Bl(Ys,e),Ys=Ys.nextEffect}}while(null!==Ys);Ys=null,_r(),Ds=r}else e.current=n;if(Js)Js=!1,Ks=e,$s=t;else for(Ys=i;null!==Ys;)t=Ys.nextEffect,Ys.nextEffect=null,8&Ys.flags&&((M=Ys).sibling=null,M.stateNode=null),Ys=t;if(0===(i=e.pendingLanes)&&(Zs=null),1===i?e===rl?il++:(il=0,rl=e):il=0,n=n.stateNode,Mr&&"function"==typeof Mr.onCommitFiberRoot)try{Mr.onCommitFiberRoot(xr,n,void 0,64==(64&n.current.flags))}catch(e){}if(fl(e,Vr()),qs)throw qs=!1,e=Xs,Xs=null,e;return 0!=(8&Ds)||Yr(),null}function Nl(){for(;null!==Ys;){var e=Ys.alternate;cl||null===ll||(0!=(8&Ys.flags)?$e(Ys,ll)&&(cl=!0):13===Ys.tag&&Ts(e,Ys)&&$e(Ys,ll)&&(cl=!0));var t=Ys.flags;0!=(256&t)&&fs(e,Ys),0==(512&t)||Js||(Js=!0,Gr(97,(function(){return Pl(),null}))),Ys=Ys.nextEffect}}function Pl(){if(90!==$s){var e=97<$s?97:$s;return $s=90,Wr(e,zl)}return!1}function kl(e,t){el.push(t,e),Js||(Js=!0,Gr(97,(function(){return Pl(),null})))}function Rl(e,t){tl.push(t,e),Js||(Js=!0,Gr(97,(function(){return Pl(),null})))}function zl(){if(null===Ks)return!1;var e=Ks;if(Ks=null,0!=(48&Ds))throw Error(a(331));var t=Ds;Ds|=32;var n=tl;tl=[];for(var i=0;i<n.length;i+=2){var r=n[i],o=n[i+1],s=r.destroy;if(r.destroy=void 0,"function"==typeof s)try{s()}catch(e){if(null===o)throw Error(a(330));Bl(o,e)}}for(n=el,el=[],i=0;i<n.length;i+=2){r=n[i],o=n[i+1];try{var l=r.create;r.destroy=l()}catch(e){if(null===o)throw Error(a(330));Bl(o,e)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Ds=t,Yr(),!0}function _l(e,t,n){uo(e,t=us(0,t=ss(n,t),1)),t=ul(),null!==(e=pl(e,1))&&(Vt(e,1,t),fl(e,t))}function Bl(e,t){if(3===e.tag)_l(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){_l(n,e,t);break}if(1===n.tag){var i=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===Zs||!Zs.has(i))){var r=hs(n,e=ss(t,e),1);if(uo(n,r),r=ul(),null!==(n=pl(n,1)))Vt(n,1,r),fl(n,r);else if("function"==typeof i.componentDidCatch&&(null===Zs||!Zs.has(i)))try{i.componentDidCatch(t,e)}catch(e){}break}}n=n.return}}function jl(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),t=ul(),e.pingedLanes|=e.suspendedLanes&n,Os===e&&(Ps&n)===n&&(4===zs||3===zs&&(62914560&Ps)===Ps&&500>Vr()-Hs?xl(e,0):Fs|=n),fl(e,t)}function Ul(e,t){var n=e.stateNode;null!==n&&n.delete(t),0==(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Hr()?1:2:(0===al&&(al=Bs),0===(t=Ut(62914560&~al))&&(t=4194304))),n=ul(),null!==(e=pl(e,t))&&(Vt(e,t,n),fl(e,n))}function Fl(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Vl(e,t,n,i){return new Fl(e,t,n,i)}function Hl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ql(e,t){var n=e.alternate;return null===n?((n=Vl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Wl(e,t,n,i,r,o){var s=2;if(i=e,"function"==typeof e)Hl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case E:return Gl(n.children,r,o,t);case z:s=8,r|=16;break;case S:s=8,r|=1;break;case T:return(e=Vl(12,n,t,8|r)).elementType=T,e.type=T,e.lanes=o,e;case D:return(e=Vl(13,n,t,r)).type=D,e.elementType=D,e.lanes=o,e;case O:return(e=Vl(19,n,t,r)).elementType=O,e.lanes=o,e;case _:return Yl(n,r,o,t);case B:return(e=Vl(24,n,t,r)).elementType=B,e.lanes=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:s=10;break e;case I:s=9;break e;case L:s=11;break e;case N:s=14;break e;case P:s=16,i=null;break e;case k:s=22;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Vl(s,n,t,r)).elementType=e,t.type=i,t.lanes=o,t}function Gl(e,t,n,i){return(e=Vl(7,e,i,t)).lanes=n,e}function Yl(e,t,n,i){return(e=Vl(23,e,i,t)).elementType=_,e.lanes=n,e}function ql(e,t,n){return(e=Vl(6,e,null,t)).lanes=n,e}function Xl(e,t,n){return(t=Vl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Zl(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ft(0),this.expirationTimes=Ft(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ft(0),this.mutableSourceEagerHydrationData=null}function Jl(e,t,n,i){var r=t.current,o=ul(),s=hl(r);e:if(n){t:{if(Xe(n=n._reactInternals)!==n||1!==n.tag)throw Error(a(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(mr(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(a(171))}if(1===n.tag){var c=n.type;if(mr(c)){n=yr(n,c,l);break e}}n=l}else n=hr;return null===t.context?t.context=n:t.pendingContext=n,(t=co(o,s)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),uo(r,t),dl(r,s,o),s}function Kl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function $l(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function ec(e,t){$l(e,t),(e=e.alternate)&&$l(e,t)}function tc(e,t,n){var i=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Zl(e,t,null!=n&&!0===n.hydrate),t=Vl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,so(t),e[$i]=n.current,Oi(8===e.nodeType?e.parentNode:e),i)for(e=0;e<i.length;e++){var r=(t=i[e])._getVersion;r=r(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,r]:n.mutableSourceEagerHydrationData.push(t,r)}this._internalRoot=n}function nc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function ic(e,t,n,i,r){var o=n._reactRootContainer;if(o){var a=o._internalRoot;if("function"==typeof r){var s=r;r=function(){var e=Kl(a);s.call(e)}}Jl(t,a,e,r)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new tc(e,0,t?{hydrate:!0}:void 0)}(n,i),a=o._internalRoot,"function"==typeof r){var l=r;r=function(){var e=Kl(a);l.call(e)}}yl((function(){Jl(t,a,e,r)}))}return Kl(a)}function rc(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nc(t))throw Error(a(200));return function(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:M,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}Gs=function(e,t,n){var i=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||pr.current)za=!0;else{if(0==(n&i)){switch(za=!1,t.tag){case 3:Ga(t),Yo();break;case 5:Ro(t);break;case 1:mr(t.type)&&br(t);break;case 4:Po(t,t.stateNode.containerInfo);break;case 10:i=t.memoizedProps.value;var r=t.type._context;ur(Jr,r._currentValue),r._currentValue=i;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?Ka(e,t,n):(ur(_o,1&_o.current),null!==(t=is(e,t,n))?t.sibling:null);ur(_o,1&_o.current);break;case 19:if(i=0!=(n&t.childLanes),0!=(64&e.flags)){if(i)return ns(e,t,n);t.flags|=64}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),ur(_o,_o.current),i)break;return null;case 23:case 24:return t.lanes=0,Fa(e,t,n)}return is(e,t,n)}za=0!=(16384&e.flags)}else za=!1;switch(t.lanes=0,t.tag){case 2:if(i=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,r=Ar(t,dr.current),ro(t,n),r=aa(null,t,i,e,r,n),t.flags|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,mr(i)){var o=!0;br(t)}else o=!1;t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,so(t);var s=i.getDerivedStateFromProps;"function"==typeof s&&mo(t,i,s,e),r.updater=go,t.stateNode=r,r._reactInternals=t,wo(t,i,e,n),t=Wa(null,t,i,!0,o,n)}else t.tag=0,_a(null,t,r,n),t=t.child;return t;case 16:r=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Hl(e)?1:0;if(null!=e){if((e=e.$$typeof)===L)return 11;if(e===N)return 14}return 2}(r),e=Zr(r,e),o){case 0:t=Ha(null,t,r,e,n);break e;case 1:t=Qa(null,t,r,e,n);break e;case 11:t=Ba(null,t,r,e,n);break e;case 14:t=ja(null,t,r,Zr(r.type,e),i,n);break e}throw Error(a(306,r,""))}return t;case 0:return i=t.type,r=t.pendingProps,Ha(e,t,i,r=t.elementType===i?r:Zr(i,r),n);case 1:return i=t.type,r=t.pendingProps,Qa(e,t,i,r=t.elementType===i?r:Zr(i,r),n);case 3:if(Ga(t),i=t.updateQueue,null===e||null===i)throw Error(a(282));if(i=t.pendingProps,r=null!==(r=t.memoizedState)?r.element:null,lo(e,t),po(t,i,null,n),(i=t.memoizedState.element)===r)Yo(),t=is(e,t,n);else{if((o=(r=t.stateNode).hydrate)&&(Uo=Yi(t.stateNode.containerInfo.firstChild),jo=t,o=Fo=!0),o){if(null!=(e=r.mutableSourceEagerHydrationData))for(r=0;r<e.length;r+=2)(o=e[r])._workInProgressVersionPrimary=e[r+1],qo.push(o);for(n=Co(t,null,i,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else _a(e,t,i,n),Yo();t=t.child}return t;case 5:return Ro(t),null===e&&Qo(t),i=t.type,r=t.pendingProps,o=null!==e?e.memoizedProps:null,s=r.children,Hi(i,r)?s=null:null!==o&&Hi(i,o)&&(t.flags|=16),Va(e,t),_a(e,t,s,n),t.child;case 6:return null===e&&Qo(t),null;case 13:return Ka(e,t,n);case 4:return Po(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=To(t,null,i,n):_a(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,Ba(e,t,i,r=t.elementType===i?r:Zr(i,r),n);case 7:return _a(e,t,t.pendingProps,n),t.child;case 8:case 12:return _a(e,t,t.pendingProps.children,n),t.child;case 10:e:{i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value;var l=t.type._context;if(ur(Jr,l._currentValue),l._currentValue=o,null!==s)if(l=s.value,0==(o=ci(l,o)?0:0|("function"==typeof i._calculateChangedBits?i._calculateChangedBits(l,o):1073741823))){if(s.children===r.children&&!pr.current){t=is(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var c=l.dependencies;if(null!==c){s=l.child;for(var u=c.firstContext;null!==u;){if(u.context===i&&0!=(u.observedBits&o)){1===l.tag&&((u=co(-1,n&-n)).tag=2,uo(l,u)),l.lanes|=n,null!==(u=l.alternate)&&(u.lanes|=n),io(l.return,n),c.lanes|=n;break}u=u.next}}else s=10===l.tag&&l.type===t.type?null:l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}_a(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=(o=t.pendingProps).children,ro(t,n),i=i(r=oo(r,o.unstable_observedBits)),t.flags|=1,_a(e,t,i,n),t.child;case 14:return o=Zr(r=t.type,t.pendingProps),ja(e,t,r,o=Zr(r.type,o),i,n);case 15:return Ua(e,t,t.type,t.pendingProps,i,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:Zr(i,r),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,mr(i)?(e=!0,br(t)):e=!1,ro(t,n),yo(t,i,r),wo(t,i,r,n),Wa(null,t,i,!0,e,n);case 19:return ns(e,t,n);case 23:case 24:return Fa(e,t,n)}throw Error(a(156,t.tag))},tc.prototype.render=function(e){Jl(e,this._internalRoot,null,null)},tc.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Jl(null,e,null,(function(){t[$i]=null}))},et=function(e){13===e.tag&&(dl(e,4,ul()),ec(e,4))},tt=function(e){13===e.tag&&(dl(e,67108864,ul()),ec(e,67108864))},nt=function(e){if(13===e.tag){var t=ul(),n=hl(e);dl(e,n,t),ec(e,n)}},it=function(e,t){return t()},Te=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=rr(i);if(!r)throw Error(a(90));J(i),ne(i,r)}}}break;case"textarea":ce(e,n);break;case"select":null!=(t=n.value)&&ae(e,!!n.multiple,t,!1)}},Ne=vl,Pe=function(e,t,n,i,r){var o=Ds;Ds|=4;try{return Wr(98,e.bind(null,t,n,i,r))}finally{0===(Ds=o)&&(Ws(),Yr())}},ke=function(){0==(49&Ds)&&(function(){if(null!==nl){var e=nl;nl=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,fl(e,Vr())}))}Yr()}(),Pl())},Re=function(e,t){var n=Ds;Ds|=2;try{return e(t)}finally{0===(Ds=n)&&(Ws(),Yr())}};var oc={Events:[nr,ir,rr,De,Oe,Pl,{current:!1}]},ac={findFiberByHostInstance:tr,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},sc={bundleType:ac.bundleType,version:ac.version,rendererPackageName:ac.rendererPackageName,rendererConfig:ac.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:ac.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var lc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!lc.isDisabled&&lc.supportsFiber)try{xr=lc.inject(sc),Mr=lc}catch(Ae){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=oc,t.createPortal=rc,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return null===(e=Ke(t))?null:e.stateNode},t.flushSync=function(e,t){var n=Ds;if(0!=(48&n))return e(t);Ds|=1;try{if(e)return Wr(99,e.bind(null,t))}finally{Ds=n,Yr()}},t.hydrate=function(e,t,n){if(!nc(t))throw Error(a(200));return ic(null,e,t,!0,n)},t.render=function(e,t,n){if(!nc(t))throw Error(a(200));return ic(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!nc(e))throw Error(a(40));return!!e._reactRootContainer&&(yl((function(){ic(null,null,e,!1,(function(){e._reactRootContainer=null,e[$i]=null}))})),!0)},t.unstable_batchedUpdates=vl,t.unstable_createPortal=function(e,t){return rc(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!nc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return ic(e,t,n,!1,i)},t.version="17.0.2"},935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(448)},921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,i=n?Symbol.for("react.element"):60103,r=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,h=n?Symbol.for("react.concurrent_mode"):60111,d=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,f=n?Symbol.for("react.suspense_list"):60120,A=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,g=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,b=n?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case u:case h:case o:case s:case a:case p:return e;default:switch(e=e&&e.$$typeof){case c:case d:case m:case A:case l:return e;default:return t}}case r:return t}}}function x(e){return w(e)===h}t.AsyncMode=u,t.ConcurrentMode=h,t.ContextConsumer=c,t.ContextProvider=l,t.Element=i,t.ForwardRef=d,t.Fragment=o,t.Lazy=m,t.Memo=A,t.Portal=r,t.Profiler=s,t.StrictMode=a,t.Suspense=p,t.isAsyncMode=function(e){return x(e)||w(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return w(e)===d},t.isFragment=function(e){return w(e)===o},t.isLazy=function(e){return w(e)===m},t.isMemo=function(e){return w(e)===A},t.isPortal=function(e){return w(e)===r},t.isProfiler=function(e){return w(e)===s},t.isStrictMode=function(e){return w(e)===a},t.isSuspense=function(e){return w(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===h||e===s||e===a||e===p||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===A||e.$$typeof===l||e.$$typeof===c||e.$$typeof===d||e.$$typeof===v||e.$$typeof===y||e.$$typeof===b||e.$$typeof===g)},t.typeOf=w},864:(e,t,n)=>{"use strict";e.exports=n(921)},408:(e,t,n)=>{"use strict";var i=n(418),r=60103,o=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var a=60109,s=60110,l=60112;t.Suspense=60113;var c=60115,u=60116;if("function"==typeof Symbol&&Symbol.for){var h=Symbol.for;r=h("react.element"),o=h("react.portal"),t.Fragment=h("react.fragment"),t.StrictMode=h("react.strict_mode"),t.Profiler=h("react.profiler"),a=h("react.provider"),s=h("react.context"),l=h("react.forward_ref"),t.Suspense=h("react.suspense"),c=h("react.memo"),u=h("react.lazy")}var d="function"==typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A={};function m(e,t,n){this.props=e,this.context=t,this.refs=A,this.updater=n||f}function g(){}function v(e,t,n){this.props=e,this.context=t,this.refs=A,this.updater=n||f}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=m.prototype;var y=v.prototype=new g;y.constructor=v,i(y,m.prototype),y.isPureReactComponent=!0;var b={current:null},w=Object.prototype.hasOwnProperty,x={key:!0,ref:!0,__self:!0,__source:!0};function M(e,t,n){var i,o={},a=null,s=null;if(null!=t)for(i in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=""+t.key),t)w.call(t,i)&&!x.hasOwnProperty(i)&&(o[i]=t[i]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}if(e&&e.defaultProps)for(i in l=e.defaultProps)void 0===o[i]&&(o[i]=l[i]);return{$$typeof:r,type:e,key:a,ref:s,props:o,_owner:b.current}}function E(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var S=/\/+/g;function T(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function C(e,t,n,i,a){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case r:case o:l=!0}}if(l)return a=a(l=e),e=""===i?"."+T(l,0):i,Array.isArray(a)?(n="",null!=e&&(n=e.replace(S,"$&/")+"/"),C(a,t,n,"",(function(e){return e}))):null!=a&&(E(a)&&(a=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(a,n+(!a.key||l&&l.key===a.key?"":(""+a.key).replace(S,"$&/")+"/")+e)),t.push(a)),1;if(l=0,i=""===i?".":i+":",Array.isArray(e))for(var c=0;c<e.length;c++){var u=i+T(s=e[c],c);l+=C(s,t,n,u,a)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=d&&e[d]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=C(s=s.value,t,n,u=i+T(s,c++),a);else if("object"===s)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function I(e,t,n){if(null==e)return e;var i=[],r=0;return C(e,i,"","",(function(e){return t.call(n,e,r++)})),i}function L(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var D={current:null};function O(){var e=D.current;if(null===e)throw Error(p(321));return e}var N={ReactCurrentDispatcher:D,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:b,IsSomeRendererActing:{current:!1},assign:i};t.Children={map:I,forEach:function(e,t,n){I(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return I(e,(function(){t++})),t},toArray:function(e){return I(e,(function(e){return e}))||[]},only:function(e){if(!E(e))throw Error(p(143));return e}},t.Component=m,t.PureComponent=v,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,t.cloneElement=function(e,t,n){if(null==e)throw Error(p(267,e));var o=i({},e.props),a=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=b.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(u in t)w.call(t,u)&&!x.hasOwnProperty(u)&&(o[u]=void 0===t[u]&&void 0!==c?c[u]:t[u])}var u=arguments.length-2;if(1===u)o.children=n;else if(1<u){c=Array(u);for(var h=0;h<u;h++)c[h]=arguments[h+2];o.children=c}return{$$typeof:r,type:e.type,key:a,ref:s,props:o,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:s,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=M,t.createFactory=function(e){var t=M.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=E,t.lazy=function(e){return{$$typeof:u,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:c,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return O().useCallback(e,t)},t.useContext=function(e,t){return O().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return O().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return O().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return O().useLayoutEffect(e,t)},t.useMemo=function(e,t){return O().useMemo(e,t)},t.useReducer=function(e,t,n){return O().useReducer(e,t,n)},t.useRef=function(e){return O().useRef(e)},t.useState=function(e){return O().useState(e)},t.version="17.0.2"},294:(e,t,n)=>{"use strict";e.exports=n(408)},53:(e,t)=>{"use strict";var n,i,r,o;if("object"==typeof performance&&"function"==typeof performance.now){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var c=null,u=null,h=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(e){throw setTimeout(h,0),e}};n=function(e){null!==c?setTimeout(n,0,e):(c=e,setTimeout(h,0))},i=function(e,t){u=setTimeout(e,t)},r=function(){clearTimeout(u)},t.unstable_shouldYield=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var d=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var f=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var A=!1,m=null,g=-1,v=5,y=0;t.unstable_shouldYield=function(){return t.unstable_now()>=y},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):v=0<e?Math.floor(1e3/e):5};var b=new MessageChannel,w=b.port2;b.port1.onmessage=function(){if(null!==m){var e=t.unstable_now();y=e+v;try{m(!0,e)?w.postMessage(null):(A=!1,m=null)}catch(e){throw w.postMessage(null),e}}else A=!1},n=function(e){m=e,A||(A=!0,w.postMessage(null))},i=function(e,n){g=d((function(){e(t.unstable_now())}),n)},r=function(){p(g),g=-1}}function x(e,t){var n=e.length;e.push(t);e:for(;;){var i=n-1>>>1,r=e[i];if(!(void 0!==r&&0<S(r,t)))break e;e[i]=t,e[n]=r,n=i}}function M(e){return void 0===(e=e[0])?null:e}function E(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length;i<r;){var o=2*(i+1)-1,a=e[o],s=o+1,l=e[s];if(void 0!==a&&0>S(a,n))void 0!==l&&0>S(l,a)?(e[i]=l,e[s]=n,i=s):(e[i]=a,e[o]=n,i=o);else{if(!(void 0!==l&&0>S(l,n)))break e;e[i]=l,e[s]=n,i=s}}}return t}return null}function S(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var T=[],C=[],I=1,L=null,D=3,O=!1,N=!1,P=!1;function k(e){for(var t=M(C);null!==t;){if(null===t.callback)E(C);else{if(!(t.startTime<=e))break;E(C),t.sortIndex=t.expirationTime,x(T,t)}t=M(C)}}function R(e){if(P=!1,k(e),!N)if(null!==M(T))N=!0,n(z);else{var t=M(C);null!==t&&i(R,t.startTime-e)}}function z(e,n){N=!1,P&&(P=!1,r()),O=!0;var o=D;try{for(k(n),L=M(T);null!==L&&(!(L.expirationTime>n)||e&&!t.unstable_shouldYield());){var a=L.callback;if("function"==typeof a){L.callback=null,D=L.priorityLevel;var s=a(L.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?L.callback=s:L===M(T)&&E(T),k(n)}else E(T);L=M(T)}if(null!==L)var l=!0;else{var c=M(C);null!==c&&i(R,c.startTime-n),l=!1}return l}finally{L=null,D=o,O=!1}}var _=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){N||O||(N=!0,n(z))},t.unstable_getCurrentPriorityLevel=function(){return D},t.unstable_getFirstCallbackNode=function(){return M(T)},t.unstable_next=function(e){switch(D){case 1:case 2:case 3:var t=3;break;default:t=D}var n=D;D=t;try{return e()}finally{D=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=_,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=D;D=e;try{return t()}finally{D=n}},t.unstable_scheduleCallback=function(e,o,a){var s=t.unstable_now();switch(a="object"==typeof a&&null!==a&&"number"==typeof(a=a.delay)&&0<a?s+a:s,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:I++,callback:o,priorityLevel:e,startTime:a,expirationTime:l=a+l,sortIndex:-1},a>s?(e.sortIndex=a,x(C,e),null===M(T)&&e===M(C)&&(P?r():P=!0,i(R,a-s))):(e.sortIndex=l,x(T,e),N||O||(N=!0,n(z))),e},t.unstable_wrapCallback=function(e){var t=D;return function(){var n=D;D=t;try{return e.apply(this,arguments)}finally{D=n}}}},840:(e,t,n)=>{"use strict";e.exports=n(53)},379:e=>{"use strict";var t=[];function n(e){for(var n=-1,i=0;i<t.length;i++)if(t[i].identifier===e){n=i;break}return n}function i(e,i){for(var o={},a=[],s=0;s<e.length;s++){var l=e[s],c=i.base?l[0]+i.base:l[0],u=o[c]||0,h="".concat(c," ").concat(u);o[c]=u+1;var d=n(h),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==d)t[d].references++,t[d].updater(p);else{var f=r(p,i);i.byIndex=s,t.splice(s,0,{identifier:h,updater:f,references:1})}a.push(h)}return a}function r(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,r){var o=i(e=e||[],r=r||{});return function(e){e=e||[];for(var a=0;a<o.length;a++){var s=n(o[a]);t[s].references--}for(var l=i(e,r),c=0;c<o.length;c++){var u=n(o[c]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=l}}},569:e=>{"use strict";var t={};e.exports=function(e,n){var i=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(n)}},216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var i="";n.supports&&(i+="@supports (".concat(n.supports,") {")),n.media&&(i+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(i+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),i+=n.css,r&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},238:function(e,t,n){var i;!function(r,o){"use strict";var a="function",s="undefined",l="object",c="string",u="major",h="model",d="name",p="type",f="vendor",A="version",m="architecture",g="console",v="mobile",y="tablet",b="smarttv",w="wearable",x="embedded",M="Amazon",E="Apple",S="ASUS",T="BlackBerry",C="Browser",I="Chrome",L="Firefox",D="Google",O="Huawei",N="LG",P="Microsoft",k="Motorola",R="Opera",z="Samsung",_="Sharp",B="Sony",j="Xiaomi",U="Zebra",F="Facebook",V="Chromium OS",H="Mac OS",Q=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t},W=function(e,t){return typeof e===c&&-1!==G(t).indexOf(G(e))},G=function(e){return e.toLowerCase()},Y=function(e,t){if(typeof e===c)return e=e.replace(/^\s\s*/,""),typeof t===s?e:e.substring(0,500)},q=function(e,t){for(var n,i,r,s,c,u,h=0;h<t.length&&!c;){var d=t[h],p=t[h+1];for(n=i=0;n<d.length&&!c&&d[n];)if(c=d[n++].exec(e))for(r=0;r<p.length;r++)u=c[++i],typeof(s=p[r])===l&&s.length>0?2===s.length?typeof s[1]==a?this[s[0]]=s[1].call(this,u):this[s[0]]=s[1]:3===s.length?typeof s[1]!==a||s[1].exec&&s[1].test?this[s[0]]=u?u.replace(s[1],s[2]):o:this[s[0]]=u?s[1].call(this,u,s[2]):o:4===s.length&&(this[s[0]]=u?s[3].call(this,u.replace(s[1],s[2])):o):this[s]=u||o;h+=2}},X=function(e,t){for(var n in t)if(typeof t[n]===l&&t[n].length>0){for(var i=0;i<t[n].length;i++)if(W(t[n][i],e))return"?"===n?o:n}else if(W(t[n],e))return"?"===n?o:n;return e},Z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},J={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[A,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[A,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,A],[/opios[\/ ]+([\w\.]+)/i],[A,[d,R+" Mini"]],[/\bopr\/([\w\.]+)/i],[A,[d,R]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[A,[d,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[d,A],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[A,[d,"UC"+C]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[A,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[A,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[A,[d,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[A,[d,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[A,[d,"Smart Lenovo "+C]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+C],A],[/\bfocus\/([\w\.]+)/i],[A,[d,L+" Focus"]],[/\bopt\/([\w\.]+)/i],[A,[d,R+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[A,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[A,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[A,[d,R+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[A,[d,"MIUI "+C]],[/fxios\/([-\w\.]+)/i],[A,[d,L]],[/\bqihu|(qi?ho?o?|360)browser/i],[[d,"360 "+C]],[/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1 "+C],A],[/samsungbrowser\/([\w\.]+)/i],[A,[d,z+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[d,/_/g," "],A],[/metasr[\/ ]?([\d\.]+)/i],[A,[d,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[d,"Sogou Mobile"],A],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[d,A],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,F],A],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[d,A],[/\bgsa\/([\w\.]+) .*safari\//i],[A,[d,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[A,[d,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[A,[d,I+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,I+" WebView"],A],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[A,[d,"Android "+C]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,A],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[A,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[A,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[A,X,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,A],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],A],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[A,[d,L+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[d,A],[/(cobalt)\/([\w\.]+)/i],[d,[A,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[m,"amd64"]],[/(ia32(?=;))/i],[[m,G]],[/((?:i[346]|x)86)[;\)]/i],[[m,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[m,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[m,"armhf"]],[/windows (ce|mobile); ppc;/i],[[m,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[m,/ower/,"",G]],[/(sun4\w)[;\)]/i],[[m,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[m,G]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[h,[f,z],[p,y]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[h,[f,z],[p,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[h,[f,E],[p,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[h,[f,E],[p,y]],[/(macintosh);/i],[h,[f,E]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[h,[f,_],[p,v]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[h,[f,O],[p,y]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[h,[f,O],[p,v]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[h,/_/g," "],[f,j],[p,v]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[h,/_/g," "],[f,j],[p,y]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[h,[f,"OPPO"],[p,v]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[h,[f,"Vivo"],[p,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[h,[f,"Realme"],[p,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[h,[f,k],[p,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[h,[f,k],[p,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[h,[f,N],[p,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[h,[f,N],[p,v]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[h,[f,"Lenovo"],[p,y]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[h,/_/g," "],[f,"Nokia"],[p,v]],[/(pixel c)\b/i],[h,[f,D],[p,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[h,[f,D],[p,v]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[h,[f,B],[p,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[h,"Xperia Tablet"],[f,B],[p,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[h,[f,"OnePlus"],[p,v]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[h,[f,M],[p,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[h,/(.+)/g,"Fire Phone $1"],[f,M],[p,v]],[/(playbook);[-\w\),; ]+(rim)/i],[h,f,[p,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[h,[f,T],[p,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[h,[f,S],[p,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[h,[f,S],[p,v]],[/(nexus 9)/i],[h,[f,"HTC"],[p,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[f,[h,/_/g," "],[p,v]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[h,[f,"Acer"],[p,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[h,[f,"Meizu"],[p,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[h,[f,"Ulefone"],[p,v]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[f,h,[p,v]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[f,h,[p,y]],[/(surface duo)/i],[h,[f,P],[p,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[h,[f,"Fairphone"],[p,v]],[/(u304aa)/i],[h,[f,"AT&T"],[p,v]],[/\bsie-(\w*)/i],[h,[f,"Siemens"],[p,v]],[/\b(rct\w+) b/i],[h,[f,"RCA"],[p,y]],[/\b(venue[\d ]{2,7}) b/i],[h,[f,"Dell"],[p,y]],[/\b(q(?:mv|ta)\w+) b/i],[h,[f,"Verizon"],[p,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[h,[f,"Barnes & Noble"],[p,y]],[/\b(tm\d{3}\w+) b/i],[h,[f,"NuVision"],[p,y]],[/\b(k88) b/i],[h,[f,"ZTE"],[p,y]],[/\b(nx\d{3}j) b/i],[h,[f,"ZTE"],[p,v]],[/\b(gen\d{3}) b.+49h/i],[h,[f,"Swiss"],[p,v]],[/\b(zur\d{3}) b/i],[h,[f,"Swiss"],[p,y]],[/\b((zeki)?tb.*\b) b/i],[h,[f,"Zeki"],[p,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[f,"Dragon Touch"],h,[p,y]],[/\b(ns-?\w{0,9}) b/i],[h,[f,"Insignia"],[p,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[h,[f,"NextBook"],[p,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[f,"Voice"],h,[p,v]],[/\b(lvtel\-)?(v1[12]) b/i],[[f,"LvTel"],h,[p,v]],[/\b(ph-1) /i],[h,[f,"Essential"],[p,v]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[h,[f,"Envizen"],[p,y]],[/\b(trio[-\w\. ]+) b/i],[h,[f,"MachSpeed"],[p,y]],[/\btu_(1491) b/i],[h,[f,"Rotor"],[p,y]],[/(shield[\w ]+) b/i],[h,[f,"Nvidia"],[p,y]],[/(sprint) (\w+)/i],[f,h,[p,v]],[/(kin\.[onetw]{3})/i],[[h,/\./g," "],[f,P],[p,v]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[h,[f,U],[p,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[h,[f,U],[p,v]],[/smart-tv.+(samsung)/i],[f,[p,b]],[/hbbtv.+maple;(\d+)/i],[[h,/^/,"SmartTV"],[f,z],[p,b]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[f,N],[p,b]],[/(apple) ?tv/i],[f,[h,E+" TV"],[p,b]],[/crkey/i],[[h,I+"cast"],[f,D],[p,b]],[/droid.+aft(\w+)( bui|\))/i],[h,[f,M],[p,b]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[h,[f,_],[p,b]],[/(bravia[\w ]+)( bui|\))/i],[h,[f,B],[p,b]],[/(mitv-\w{5}) bui/i],[h,[f,j],[p,b]],[/Hbbtv.*(technisat) (.*);/i],[f,h,[p,b]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[f,Y],[h,Y],[p,b]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[f,h,[p,g]],[/droid.+; (shield) bui/i],[h,[f,"Nvidia"],[p,g]],[/(playstation [345portablevi]+)/i],[h,[f,B],[p,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[h,[f,P],[p,g]],[/((pebble))app/i],[f,h,[p,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[h,[f,E],[p,w]],[/droid.+; (glass) \d/i],[h,[f,D],[p,w]],[/droid.+; (wt63?0{2,3})\)/i],[h,[f,U],[p,w]],[/(quest( 2| pro)?)/i],[h,[f,F],[p,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[f,[p,x]],[/(aeobc)\b/i],[h,[f,M],[p,x]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[h,[p,v]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[h,[p,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,v]],[/(android[-\w\. ]{0,9});.+buil/i],[h,[f,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[A,[d,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[A,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[d,A],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[A,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,A],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[d,[A,X,Z]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[A,X,Z],[d,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[A,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,H],[A,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[A,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,A],[/\(bb(10);/i],[A,[d,T]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[A,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[A,[d,L+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[A,[d,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[A,[d,"watchOS"]],[/crkey\/([\d\.]+)/i],[A,[d,I+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[d,V],A],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,A],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],A],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[d,A]]},K=function(e,t){if(typeof e===l&&(t=e,e=o),!(this instanceof K))return new K(e,t).getResult();var n=typeof r!==s&&r.navigator?r.navigator:o,i=e||(n&&n.userAgent?n.userAgent:""),g=n&&n.userAgentData?n.userAgentData:o,b=t?function(e,t){var n={};for(var i in e)t[i]&&t[i].length%2==0?n[i]=t[i].concat(e[i]):n[i]=e[i];return n}(J,t):J,w=n&&n.userAgent==i;return this.getBrowser=function(){var e,t={};return t[d]=o,t[A]=o,q.call(t,i,b.browser),t[u]=typeof(e=t[A])===c?e.replace(/[^\d\.]/g,"").split(".")[0]:o,w&&n&&n.brave&&typeof n.brave.isBrave==a&&(t[d]="Brave"),t},this.getCPU=function(){var e={};return e[m]=o,q.call(e,i,b.cpu),e},this.getDevice=function(){var e={};return e[f]=o,e[h]=o,e[p]=o,q.call(e,i,b.device),w&&!e[p]&&g&&g.mobile&&(e[p]=v),w&&"Macintosh"==e[h]&&n&&typeof n.standalone!==s&&n.maxTouchPoints&&n.maxTouchPoints>2&&(e[h]="iPad",e[p]=y),e},this.getEngine=function(){var e={};return e[d]=o,e[A]=o,q.call(e,i,b.engine),e},this.getOS=function(){var e={};return e[d]=o,e[A]=o,q.call(e,i,b.os),w&&!e[d]&&g&&"Unknown"!=g.platform&&(e[d]=g.platform.replace(/chrome os/i,V).replace(/macos/i,H)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return i},this.setUA=function(e){return i=typeof e===c&&e.length>500?Y(e,500):e,this},this.setUA(i),this};K.VERSION="1.0.37",K.BROWSER=Q([d,A,u]),K.CPU=Q([m]),K.DEVICE=Q([h,f,p,g,v,b,y,w,x]),K.ENGINE=K.OS=Q([d,A]),typeof t!==s?(e.exports&&(t=e.exports=K),t.UAParser=K):n.amdO?(i=function(){return K}.call(t,n,t,e))===o||(e.exports=i):typeof r!==s&&(r.UAParser=K);var $=typeof r!==s&&(r.jQuery||r.Zepto);if($&&!$.ua){var ee=new K;$.ua=ee.getResult(),$.ua.get=function(){return ee.getUA()},$.ua.set=function(e){ee.setUA(e);var t=ee.getResult();for(var n in t)$.ua[n]=t[n]}}}("object"==typeof window?window:this)},42:e=>{function t(e,t,n){e.addEventListener("wheel",t,n)}e.exports=t,e.exports.addWheelListener=t,e.exports.removeWheelListener=function(e,t,n){e.removeEventListener("wheel",t,n)}},35:e=>{"use strict";e.exports="data:font/woff;base64,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"},286:e=>{"use strict";e.exports="data:font/woff2;base64,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"},607:e=>{"use strict";e.exports="data:font/woff;base64,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"},801:e=>{"use strict";e.exports="data:font/woff2;base64,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"},308:e=>{"use strict";e.exports="data:font/woff;base64,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"},103:e=>{"use strict";e.exports="data:font/woff2;base64,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"},904:e=>{"use strict";e.exports="data:font/woff;base64,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"},517:e=>{"use strict";e.exports="data:font/woff2;base64,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"}},i={};function r(e){var t=i[e];if(void 0!==t)return t.exports;var o=i[e]={id:e,exports:{}};return n[e].call(o.exports,o,o.exports,r),o.exports}r.m=n,r.amdO={},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(n,i){if(1&i&&(n=this(n)),8&i)return n;if("object"==typeof n&&n){if(4&i&&n.__esModule)return n;if(16&i&&"function"==typeof n.then)return n}var o=Object.create(null);r.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&i&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,r.d(o,a),o},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.b=document.baseURI||self.location.href,r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{ApiStore:()=>_i,Widget:()=>Aw,rotationModes:()=>Mo});var e=r(294),t=r.t(e,2),n=r(379),i=r.n(n),a=r(795),s=r.n(a),l=r(569),c=r.n(l),u=r(565),h=r.n(u),d=r(216),p=r.n(d),f=r(589),A=r.n(f),m=r(615),g={};g.styleTagTransform=A(),g.setAttributes=h(),g.insert=c().bind(null,"head"),g.domAPI=s(),g.insertStyleElement=p(),i()(m.Z,g),m.Z&&m.Z.locals&&m.Z.locals;var v=r(500),y={};y.styleTagTransform=A(),y.setAttributes=h(),y.insert=c().bind(null,"head"),y.domAPI=s(),y.insertStyleElement=p(),i()(v.Z,y),v.Z&&v.Z.locals&&v.Z.locals;var b=r(94),w={};w.styleTagTransform=A(),w.setAttributes=h(),w.insert=c().bind(null,"head"),w.domAPI=s(),w.insertStyleElement=p(),i()(b.Z,w),b.Z&&b.Z.locals&&b.Z.locals;var x=r(545),M={};M.styleTagTransform=A(),M.setAttributes=h(),M.insert=c().bind(null,"head"),M.domAPI=s(),M.insertStyleElement=p(),i()(x.Z,M),x.Z&&x.Z.locals&&x.Z.locals;var E=r(273),S={};function T(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];throw new Error("number"==typeof e?"[MobX] minified error nr: "+e+(n.length?" "+n.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}S.styleTagTransform=A(),S.setAttributes=h(),S.insert=c().bind(null,"head"),S.domAPI=s(),S.insertStyleElement=p(),i()(E.Z,S),E.Z&&E.Z.locals&&E.Z.locals;var C={};function I(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:C}var L=Object.assign,D=Object.getOwnPropertyDescriptor,O=Object.defineProperty,N=Object.prototype,P=[];Object.freeze(P);var k={};Object.freeze(k);var R="undefined"!=typeof Proxy,z=Object.toString();function _(){R||T("Proxy not available")}function B(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var j=function(){};function U(e){return"function"==typeof e}function F(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function V(e){return null!==e&&"object"==typeof e}function H(e){if(!V(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n.toString()===z}function Q(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function W(e,t,n){O(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function G(e,t,n){O(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function Y(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return V(e)&&!0===e[n]}}function q(e){return e instanceof Map}function X(e){return e instanceof Set}var Z=void 0!==Object.getOwnPropertySymbols,J="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:Z?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function K(e){return null===e?null:"object"==typeof e?""+e:e}function $(e,t){return N.hasOwnProperty.call(e,t)}var ee=Object.getOwnPropertyDescriptors||function(e){var t={};return J(e).forEach((function(n){t[n]=D(e,n)})),t};function te(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(void 0,"symbol"==typeof(r=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(i.key))?r:String(r)),i)}var r}function ne(e,t,n){return t&&te(e.prototype,t),n&&te(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ie(){return ie=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ie.apply(this,arguments)}function re(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,oe(e,t)}function oe(e,t){return oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},oe(e,t)}function ae(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function le(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?se(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var ce=Symbol("mobx-stored-annotations");function ue(e){return Object.assign((function(t,n){if(de(n))return e.decorate_20223_(t,n);he(t,n,e)}),e)}function he(e,t,n){$(e,ce)||W(e,ce,ie({},e[ce])),function(e){return e.annotationType_===be}(n)||(e[ce][t]=n)}function de(e){return"object"==typeof e&&"string"==typeof e.kind}var pe=Symbol("mobx administration"),fe=function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.isPendingUnobservation_=!1,this.isBeingObserved_=!1,this.observers_=new Set,this.diffValue_=0,this.lastAccessedBy_=0,this.lowestObserverState_=vt.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return Vt(this)},t.reportChanged=function(){Ut(),Ht(this),Ft()},t.toString=function(){return this.name_},e}(),Ae=Y("Atom",fe);function me(e,t,n){void 0===t&&(t=j),void 0===n&&(n=j);var i=new fe(e);return t!==j&&hn(ln,i,t,undefined),n!==j&&un(i,n),i}var ge={identity:function(e,t){return e===t},structural:function(e,t){return Li(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Li(e,t,1)}};function ve(e,t,n){return Mn(e)?e:Array.isArray(e)?it.array(e,{name:n}):H(e)?it.object(e,void 0,{name:n}):q(e)?it.map(e,{name:n}):X(e)?it.set(e,{name:n}):"function"!=typeof e||an(e)||xn(e)?e:Q(e)?bn(e):on(n,e)}function ye(e){return e}var be="override";function we(e,t){return{annotationType_:e,options_:t,make_:xe,extend_:Me,decorate_20223_:Ee}}function xe(e,t,n,i){var r;if(null!=(r=this.options_)&&r.bound)return null===this.extend_(e,t,n,!1)?0:1;if(i===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(an(n.value))return 1;var o=Se(e,this,t,n,!1);return O(i,t,o),2}function Me(e,t,n,i){var r=Se(e,this,t,n);return e.defineProperty_(t,r,i)}function Ee(e,t){var n=t.kind,i=t.name,r=t.addInitializer,o=this;if("field"!=n){var a,s,l,c,u,h;if("method"==n)return an(e)||(s=e,e=pt(null!=(l=null==(c=o.options_)?void 0:c.name)?l:i.toString(),s,null!=(u=null==(h=o.options_)?void 0:h.autoAction)&&u)),null!=(a=this.options_)&&a.bound&&r((function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t})),e;T("Cannot apply '"+o.annotationType_+"' to '"+String(i)+"' (kind: "+n+"):\n'"+o.annotationType_+"' can only be used on properties with a function value.")}else r((function(){he(this,i,o)}))}function Se(e,t,n,i,r){var o,a,s,l,c,u,h;void 0===r&&(r=zt.safeDescriptors),function(e,t,n,i){t.annotationType_,i.value}(0,t,0,i);var d,p=i.value;return null!=(o=t.options_)&&o.bound&&(p=p.bind(null!=(d=e.proxy_)?d:e.target_)),{value:pt(null!=(a=null==(s=t.options_)?void 0:s.name)?a:n.toString(),p,null!=(l=null==(c=t.options_)?void 0:c.autoAction)&&l,null!=(u=t.options_)&&u.bound?null!=(h=e.proxy_)?h:e.target_:void 0),configurable:!r||e.isPlainObject_,enumerable:!1,writable:!r}}function Te(e,t){return{annotationType_:e,options_:t,make_:Ce,extend_:Ie,decorate_20223_:Le}}function Ce(e,t,n,i){var r;if(i===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(null!=(r=this.options_)&&r.bound&&(!$(e.target_,t)||!xn(e.target_[t]))&&null===this.extend_(e,t,n,!1))return 0;if(xn(n.value))return 1;var o=De(e,this,0,n,!1,!1);return O(i,t,o),2}function Ie(e,t,n,i){var r,o=De(e,this,0,n,null==(r=this.options_)?void 0:r.bound);return e.defineProperty_(t,o,i)}function Le(e,t){var n,i=t.name,r=t.addInitializer;return xn(e)||(e=bn(e)),null!=(n=this.options_)&&n.bound&&r((function(){var e=this,t=e[i].bind(e);t.isMobXFlow=!0,e[i]=t})),e}function De(e,t,n,i,r,o){void 0===o&&(o=zt.safeDescriptors),function(e,t,n,i){t.annotationType_,i.value}(0,t,0,i);var a,s=i.value;return xn(s)||(s=bn(s)),r&&((s=s.bind(null!=(a=e.proxy_)?a:e.target_)).isMobXFlow=!0),{value:s,configurable:!o||e.isPlainObject_,enumerable:!1,writable:!o}}function Oe(e,t){return{annotationType_:e,options_:t,make_:Ne,extend_:Pe,decorate_20223_:ke}}function Ne(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function Pe(e,t,n,i){return function(e,t,n,i){t.annotationType_,i.get}(0,this,0,n),e.defineComputedProperty_(t,ie({},this.options_,{get:n.get,set:n.set}),i)}function ke(e,t){var n=this,i=t.name;return(0,t.addInitializer)((function(){var t=li(this)[pe],r=ie({},n.options_,{get:e,context:this});r.name||(r.name="ObservableObject."+i.toString()),t.values_.set(i,new bt(r))})),function(){return this[pe].getObservablePropValue_(i)}}function Re(e,t){return{annotationType_:e,options_:t,make_:ze,extend_:_e,decorate_20223_:Be}}function ze(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function _e(e,t,n,i){var r,o;return function(e,t,n,i){t.annotationType_}(0,this),e.defineObservableProperty_(t,n.value,null!=(r=null==(o=this.options_)?void 0:o.enhancer)?r:ve,i)}function Be(e,t){var n=this,i=t.kind,r=t.name,o=new WeakSet;function a(e,t){var i,a,s=li(e)[pe],l=new gt(t,null!=(i=null==(a=n.options_)?void 0:a.enhancer)?i:ve,"ObservableObject."+r.toString(),!1);s.values_.set(r,l),o.add(e)}if("accessor"==i)return{get:function(){return o.has(this)||a(this,e.get.call(this)),this[pe].getObservablePropValue_(r)},set:function(e){return o.has(this)||a(this,e),this[pe].setObservablePropValue_(r,e)},init:function(e){return o.has(this)||a(this,e),e}}}var je="true",Ue=Fe();function Fe(e){return{annotationType_:je,options_:e,make_:Ve,extend_:He,decorate_20223_:Qe}}function Ve(e,t,n,i){var r,o,a,s;if(n.get)return st.make_(e,t,n,i);if(n.set){var l=pt(t.toString(),n.set);return i===e.target_?null===e.defineProperty_(t,{configurable:!zt.safeDescriptors||e.isPlainObject_,set:l})?0:2:(O(i,t,{configurable:!0,set:l}),2)}if(i!==e.target_&&"function"==typeof n.value)return Q(n.value)?(null!=(s=this.options_)&&s.autoBind?bn.bound:bn).make_(e,t,n,i):(null!=(a=this.options_)&&a.autoBind?on.bound:on).make_(e,t,n,i);var c,u=!1===(null==(r=this.options_)?void 0:r.deep)?it.ref:it;return"function"==typeof n.value&&null!=(o=this.options_)&&o.autoBind&&(n.value=n.value.bind(null!=(c=e.proxy_)?c:e.target_)),u.make_(e,t,n,i)}function He(e,t,n,i){var r,o,a;return n.get?st.extend_(e,t,n,i):n.set?e.defineProperty_(t,{configurable:!zt.safeDescriptors||e.isPlainObject_,set:pt(t.toString(),n.set)},i):("function"==typeof n.value&&null!=(r=this.options_)&&r.autoBind&&(n.value=n.value.bind(null!=(a=e.proxy_)?a:e.target_)),(!1===(null==(o=this.options_)?void 0:o.deep)?it.ref:it).extend_(e,t,n,i))}function Qe(e,t){T("'"+this.annotationType_+"' cannot be used as a decorator")}var We={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function Ge(e){return e||We}Object.freeze(We);var Ye=Re("observable"),qe=Re("observable.ref",{enhancer:ye}),Xe=Re("observable.shallow",{enhancer:function(e,t,n){return null==e||hi(e)||qn(e)||ti(e)||ri(e)?e:Array.isArray(e)?it.array(e,{name:n,deep:!1}):H(e)?it.object(e,void 0,{name:n,deep:!1}):q(e)?it.map(e,{name:n,deep:!1}):X(e)?it.set(e,{name:n,deep:!1}):void 0}}),Ze=Re("observable.struct",{enhancer:function(e,t){return Li(e,t)?t:e}}),Je=ue(Ye);function Ke(e){return!0===e.deep?ve:!1===e.deep?ye:(t=e.defaultDecorator)&&null!=(n=null==(i=t.options_)?void 0:i.enhancer)?n:ve;var t,n,i}function $e(e,t,n){return de(t)?Ye.decorate_20223_(e,t):F(t)?void he(e,t,Ye):Mn(e)?e:H(e)?it.object(e,t,n):Array.isArray(e)?it.array(e,t):q(e)?it.map(e,t):X(e)?it.set(e,t):"object"==typeof e&&null!==e?e:it.box(e,t)}L($e,Je);var et,tt,nt={box:function(e,t){var n=Ge(t);return new gt(e,Ke(n),n.name,!0,n.equals)},array:function(e,t){var n=Ge(t);return(!1===zt.useProxies||!1===n.proxy?Mi:jn)(e,Ke(n),n.name)},map:function(e,t){var n=Ge(t);return new ei(e,Ke(n),n.name)},set:function(e,t){var n=Ge(t);return new ii(e,Ke(n),n.name)},object:function(e,t,n){return Ci((function(){return fn(!1===zt.useProxies||!1===(null==n?void 0:n.proxy)?li({},n):function(e,t){var n,i;return _(),null!=(i=(n=(e=li(e,t))[pe]).proxy_)?i:n.proxy_=new Proxy(e,Tn)}({},n),e,t)}))},ref:ue(qe),shallow:ue(Xe),deep:Je,struct:ue(Ze)},it=L($e,nt),rt="computed",ot=Oe(rt),at=Oe("computed.struct",{equals:ge.structural}),st=function(e,t){if(de(t))return ot.decorate_20223_(e,t);if(F(t))return he(e,t,ot);if(H(e))return ue(Oe(rt,e));var n=H(t)?t:{};return n.get=e,n.name||(n.name=e.name||""),new bt(n)};Object.assign(st,ot),st.struct=ue(at);var lt,ct=0,ut=1,ht=null!=(et=null==(tt=D((function(){}),"name"))?void 0:tt.configurable)&&et,dt={value:"action",configurable:!0,writable:!1,enumerable:!1};function pt(e,t,n,i){function r(){return function(e,t,n,i,r){var o=function(e,t,n,i){var r=!1,o=0,a=zt.trackingDerivation,s=!t||!a;Ut();var l=zt.allowStateChanges;s&&(It(),l=ft(!0));var c={runAsAction_:s,prevDerivation_:a,prevAllowStateChanges_:l,prevAllowStateReads_:Dt(!0),notifySpy_:r,startTime_:o,actionId_:ut++,parentActionId_:ct};return ct=c.actionId_,c}(0,t);try{return n.apply(i,r)}catch(e){throw o.error_=e,e}finally{!function(e){ct!==e.actionId_&&T(30),ct=e.parentActionId_,void 0!==e.error_&&(zt.suppressReactionErrors=!0),At(e.prevAllowStateChanges_),Ot(e.prevAllowStateReads_),Ft(),e.runAsAction_&&Lt(e.prevDerivation_),zt.suppressReactionErrors=!1}(o)}}(0,n,t,i||this,arguments)}return void 0===n&&(n=!1),r.isMobxAction=!0,r.toString=function(){return t.toString()},ht&&(dt.value=e,O(r,"name",dt)),r}function ft(e){var t=zt.allowStateChanges;return zt.allowStateChanges=e,t}function At(e){zt.allowStateChanges=e}lt=Symbol.toPrimitive;var mt,gt=function(e){function t(t,n,i,r,o){var a;return void 0===i&&(i="ObservableValue"),void 0===r&&(r=!0),void 0===o&&(o=ge.default),(a=e.call(this,i)||this).enhancer=void 0,a.name_=void 0,a.equals=void 0,a.hasUnreportedChange_=!1,a.interceptors_=void 0,a.changeListeners_=void 0,a.value_=void 0,a.dehancer=void 0,a.enhancer=n,a.name_=i,a.equals=o,a.value_=n(t,void 0,i),a}re(t,e);var n=t.prototype;return n.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},n.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==zt.UNCHANGED&&this.setNewValue_(e)},n.prepareNewValue_=function(e){if(Cn(this)){var t=Ln(this,{object:this,type:zn,newValue:e});if(!t)return zt.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?zt.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),Dn(this)&&Nn(this,{type:zn,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return In(this,e)},n.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:zn,newValue:this.value_,oldValue:void 0}),On(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+"["+this.value_+"]"},n.valueOf=function(){return K(this.get())},n[lt]=function(){return this.valueOf()},t}(fe);mt=Symbol.toPrimitive;var vt,yt,bt=function(){function e(e){this.dependenciesState_=vt.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.isBeingObserved_=!1,this.isPendingUnobservation_=!1,this.observers_=new Set,this.diffValue_=0,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=vt.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new xt(null),this.name_=void 0,this.triggeredBy_=void 0,this.isComputing_=!1,this.isRunningSetter_=!1,this.derivation=void 0,this.setter_=void 0,this.isTracing_=yt.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||T(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=pt("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?ge.structural:ge.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){var e;(e=this).lowestObserverState_===vt.UP_TO_DATE_&&(e.lowestObserverState_=vt.POSSIBLY_STALE_,e.observers_.forEach((function(e){e.dependenciesState_===vt.UP_TO_DATE_&&(e.dependenciesState_=vt.POSSIBLY_STALE_,e.onBecomeStale_())})))},t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.get=function(){if(this.isComputing_&&T(32,this.name_,this.derivation),0!==zt.inBatch||0!==this.observers_.size||this.keepAlive_){if(Vt(this),Et(this)){var e=zt.trackingContext;this.keepAlive_&&!e&&(zt.trackingContext=this),this.trackAndCompute()&&((t=this).lowestObserverState_!==vt.STALE_&&(t.lowestObserverState_=vt.STALE_,t.observers_.forEach((function(e){e.dependenciesState_===vt.POSSIBLY_STALE_?e.dependenciesState_=vt.STALE_:e.dependenciesState_===vt.UP_TO_DATE_&&(t.lowestObserverState_=vt.UP_TO_DATE_)})))),zt.trackingContext=e}}else Et(this)&&(this.warnAboutUntrackedRead_(),Ut(),this.value_=this.computeValue_(!1),Ft());var t,n=this.value_;if(Mt(n))throw n.cause;return n},t.set=function(e){if(this.setter_){this.isRunningSetter_&&T(33,this.name_),this.isRunningSetter_=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter_=!1}}else T(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===vt.NOT_TRACKING_,n=this.computeValue_(!0),i=t||Mt(e)||Mt(n)||!this.equals_(e,n);return i&&(this.value_=n),i},t.computeValue_=function(e){this.isComputing_=!0;var t,n=ft(!1);if(e)t=St(this,this.derivation,this.scope_);else if(!0===zt.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new xt(e)}return At(n),this.isComputing_=!1,t},t.suspend_=function(){this.keepAlive_||(Tt(this),this.value_=void 0)},t.observe_=function(e,t){var n=this,i=!0,r=void 0;return function(e,t){var n,i,r,o,a;void 0===t&&(t=k);var s,l=null!=(n=null==(i=t)?void 0:i.name)?n:"Autorun";if(t.scheduler||t.delay){var c=function(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:sn}(t),u=!1;s=new Qt(l,(function(){u||(u=!0,c((function(){u=!1,s.isDisposed_||s.track(h)})))}),t.onError,t.requiresObservable)}else s=new Qt(l,(function(){this.track(h)}),t.onError,t.requiresObservable);function h(){e(s)}return null!=(r=t)&&null!=(o=r.signal)&&o.aborted||s.schedule_(),s.getDisposer_(null==(a=t)?void 0:a.signal)}((function(){var o=n.get();if(!i||t){var a=It();e({observableKind:"computed",debugObjectName:n.name_,type:zn,object:n,newValue:o,oldValue:r}),Lt(a)}i=!1,r=o}))},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return K(this.get())},t[mt]=function(){return this.valueOf()},e}(),wt=Y("ComputedValue",bt);!function(e){e[e.NOT_TRACKING_=-1]="NOT_TRACKING_",e[e.UP_TO_DATE_=0]="UP_TO_DATE_",e[e.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",e[e.STALE_=2]="STALE_"}(vt||(vt={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(yt||(yt={}));var xt=function(e){this.cause=void 0,this.cause=e};function Mt(e){return e instanceof xt}function Et(e){switch(e.dependenciesState_){case vt.UP_TO_DATE_:return!1;case vt.NOT_TRACKING_:case vt.STALE_:return!0;case vt.POSSIBLY_STALE_:for(var t=Dt(!0),n=It(),i=e.observing_,r=i.length,o=0;o<r;o++){var a=i[o];if(wt(a)){if(zt.disableErrorBoundaries)a.get();else try{a.get()}catch(e){return Lt(n),Ot(t),!0}if(e.dependenciesState_===vt.STALE_)return Lt(n),Ot(t),!0}}return Nt(e),Lt(n),Ot(t),!1}}function St(e,t,n){var i=Dt(!0);Nt(e),e.newObserving_=new Array(e.observing_.length+100),e.unboundDepsCount_=0,e.runId_=++zt.runId;var r,o=zt.trackingDerivation;if(zt.trackingDerivation=e,zt.inBatch++,!0===zt.disableErrorBoundaries)r=t.call(n);else try{r=t.call(n)}catch(e){r=new xt(e)}return zt.inBatch--,zt.trackingDerivation=o,function(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,i=vt.UP_TO_DATE_,r=0,o=e.unboundDepsCount_,a=0;a<o;a++){var s=n[a];0===s.diffValue_&&(s.diffValue_=1,r!==a&&(n[r]=s),r++),s.dependenciesState_>i&&(i=s.dependenciesState_)}for(n.length=r,e.newObserving_=null,o=t.length;o--;){var l=t[o];0===l.diffValue_&&Bt(l,e),l.diffValue_=0}for(;r--;){var c=n[r];1===c.diffValue_&&(c.diffValue_=0,_t(c,e))}i!==vt.UP_TO_DATE_&&(e.dependenciesState_=i,e.onBecomeStale_())}(e),Ot(i),r}function Tt(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)Bt(t[n],e);e.dependenciesState_=vt.NOT_TRACKING_}function Ct(e){var t=It();try{return e()}finally{Lt(t)}}function It(){var e=zt.trackingDerivation;return zt.trackingDerivation=null,e}function Lt(e){zt.trackingDerivation=e}function Dt(e){var t=zt.allowStateReads;return zt.allowStateReads=e,t}function Ot(e){zt.allowStateReads=e}function Nt(e){if(e.dependenciesState_!==vt.UP_TO_DATE_){e.dependenciesState_=vt.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=vt.UP_TO_DATE_}}var Pt=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},kt=!0,Rt=!1,zt=function(){var e=I();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(kt=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new Pt).version&&(kt=!1),kt?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Pt):(setTimeout((function(){Rt||T(35)}),1),new Pt)}();function _t(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function Bt(e,t){e.observers_.delete(t),0===e.observers_.size&&jt(e)}function jt(e){!1===e.isPendingUnobservation_&&(e.isPendingUnobservation_=!0,zt.pendingUnobservations.push(e))}function Ut(){zt.inBatch++}function Ft(){if(0==--zt.inBatch){Yt();for(var e=zt.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation_=!1,0===n.observers_.size&&(n.isBeingObserved_&&(n.isBeingObserved_=!1,n.onBUO()),n instanceof bt&&n.suspend_())}zt.pendingUnobservations=[]}}function Vt(e){var t=zt.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved_&&zt.trackingContext&&(e.isBeingObserved_=!0,e.onBO())),e.isBeingObserved_):(0===e.observers_.size&&zt.inBatch>0&&jt(e),!1)}function Ht(e){e.lowestObserverState_!==vt.STALE_&&(e.lowestObserverState_=vt.STALE_,e.observers_.forEach((function(e){e.dependenciesState_===vt.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=vt.STALE_})))}var Qt=function(){function e(e,t,n,i){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=vt.NOT_TRACKING_,this.diffValue_=0,this.runId_=0,this.unboundDepsCount_=0,this.isDisposed_=!1,this.isScheduled_=!1,this.isTrackPending_=!1,this.isRunning_=!1,this.isTracing_=yt.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=i}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled_||(this.isScheduled_=!0,zt.pendingReactions.push(this),Yt())},t.isScheduled=function(){return this.isScheduled_},t.runReaction_=function(){if(!this.isDisposed_){Ut(),this.isScheduled_=!1;var e=zt.trackingContext;if(zt.trackingContext=this,Et(this)){this.isTrackPending_=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}zt.trackingContext=e,Ft()}},t.track=function(e){if(!this.isDisposed_){Ut(),this.isRunning_=!0;var t=zt.trackingContext;zt.trackingContext=this;var n=St(this,e,void 0);zt.trackingContext=t,this.isRunning_=!1,this.isTrackPending_=!1,this.isDisposed_&&Tt(this),Mt(n)&&this.reportExceptionInDerivation_(n.cause),Ft()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_)this.errorHandler_(e,this);else{if(zt.disableErrorBoundaries)throw e;var n="[mobx] uncaught error in '"+this+"'";zt.suppressReactionErrors||console.error(n,e),zt.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed_||(this.isDisposed_=!0,this.isRunning_||(Ut(),Tt(this),Ft()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",n)};return null==e||null==e.addEventListener||e.addEventListener("abort",n),n[pe]=this,n},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},e}(),Wt=100,Gt=function(e){return e()};function Yt(){zt.inBatch>0||zt.isRunningReactions||Gt(qt)}function qt(){zt.isRunningReactions=!0;for(var e=zt.pendingReactions,t=0;e.length>0;){++t===Wt&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var n=e.splice(0),i=0,r=n.length;i<r;i++)n[i].runReaction_()}zt.isRunningReactions=!1}var Xt=Y("Reaction",Qt),Zt="action",Jt="autoAction",Kt=we(Zt),$t=we("action.bound",{bound:!0}),en=we(Jt,{autoAction:!0}),tn=we("autoAction.bound",{autoAction:!0,bound:!0});function nn(e){return function(t,n){return U(t)?pt(t.name||"<unnamed action>",t,e):U(n)?pt(t,n,e):de(n)?(e?en:Kt).decorate_20223_(t,n):F(n)?he(t,n,e?en:Kt):F(t)?ue(we(e?Jt:Zt,{name:t,autoAction:e})):void 0}}var rn=nn(!1);Object.assign(rn,Kt);var on=nn(!0);function an(e){return U(e)&&!0===e.isMobxAction}Object.assign(on,en),rn.bound=ue($t),on.bound=ue(tn);var sn=function(e){return e()};var ln="onBO",cn="onBUO";function un(e,t,n){return hn(cn,e,t,n)}function hn(e,t,n,i){var r="function"==typeof i?Ei(t,n):Ei(t),o=U(i)?i:n,a=e+"L";return r[a]?r[a].add(o):r[a]=new Set([o]),function(){var e=r[a];e&&(e.delete(o),0===e.size&&delete r[a])}}var dn="always";function pn(e){!0===e.isolateGlobalState&&function(){if((zt.pendingReactions.length||zt.inBatch||zt.isRunningReactions)&&T(36),Rt=!0,kt){var e=I();0==--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),zt=new Pt}}();var t,n,i=e.useProxies,r=e.enforceActions;if(void 0!==i&&(zt.useProxies=i===dn||"never"!==i&&"undefined"!=typeof Proxy),"ifavailable"===i&&(zt.verifyProxies=!0),void 0!==r){var o=r===dn?dn:"observed"===r;zt.enforceActions=o,zt.allowStateChanges=!0!==o&&o!==dn}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach((function(t){t in e&&(zt[t]=!!e[t])})),zt.allowStateReads=!zt.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,n=Gt,Gt=function(e){return t((function(){return n(e)}))})}function fn(e,t,n,i){var r=ee(t);return Ci((function(){var t=li(e,i)[pe];J(r).forEach((function(e){t.extend_(e,r[e],!n||!(e in n)||n[e])}))})),e}function An(e){var t,n={name:e.name_};return e.observing_&&e.observing_.length>0&&(n.dependencies=(t=e.observing_,Array.from(new Set(t))).map(An)),n}var mn=0;function gn(){this.message="FLOW_CANCELLED"}gn.prototype=Object.create(Error.prototype);var vn=Te("flow"),yn=Te("flow.bound",{bound:!0}),bn=Object.assign((function(e,t){if(de(t))return vn.decorate_20223_(e,t);if(F(t))return he(e,t,vn);var n=e,i=n.name||"<unnamed flow>",r=function(){var e,t=arguments,r=++mn,o=rn(i+" - runid: "+r+" - init",n).apply(this,t),a=void 0,s=new Promise((function(t,n){var s=0;function l(e){var t;a=void 0;try{t=rn(i+" - runid: "+r+" - yield "+s++,o.next).call(o,e)}catch(e){return n(e)}u(t)}function c(e){var t;a=void 0;try{t=rn(i+" - runid: "+r+" - yield "+s++,o.throw).call(o,e)}catch(e){return n(e)}u(t)}function u(e){if(!U(null==e?void 0:e.then))return e.done?t(e.value):(a=Promise.resolve(e.value)).then(l,c);e.then(u,n)}e=n,l(void 0)}));return s.cancel=rn(i+" - runid: "+r+" - cancel",(function(){try{a&&wn(a);var t=o.return(void 0),n=Promise.resolve(t.value);n.then(j,j),wn(n),e(new gn)}catch(t){e(t)}})),s};return r.isMobXFlow=!0,r}),vn);function wn(e){U(e.cancel)&&e.cancel()}function xn(e){return!0===(null==e?void 0:e.isMobXFlow)}function Mn(e){return function(e,t){return!!e&&(void 0!==t?!!hi(e)&&e[pe].values_.has(t):hi(e)||!!e[pe]||Ae(e)||Xt(e)||wt(e))}(e)}function En(e,t){void 0===t&&(t=void 0),Ut();try{return e.apply(t)}finally{Ft()}}function Sn(e){return e[pe]}bn.bound=ue(yn);var Tn={has:function(e,t){return Sn(e).has_(t)},get:function(e,t){return Sn(e).get_(t)},set:function(e,t,n){var i;return!!F(t)&&(null==(i=Sn(e).set_(t,n,!0))||i)},deleteProperty:function(e,t){var n;return!!F(t)&&(null==(n=Sn(e).delete_(t,!0))||n)},defineProperty:function(e,t,n){var i;return null==(i=Sn(e).defineProperty_(t,n))||i},ownKeys:function(e){return Sn(e).ownKeys_()},preventExtensions:function(e){T(13)}};function Cn(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function In(e,t){var n=e.interceptors_||(e.interceptors_=[]);return n.push(t),B((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function Ln(e,t){var n=It();try{for(var i=[].concat(e.interceptors_||[]),r=0,o=i.length;r<o&&((t=i[r](t))&&!t.type&&T(14),t);r++);return t}finally{Lt(n)}}function Dn(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function On(e,t){var n=e.changeListeners_||(e.changeListeners_=[]);return n.push(t),B((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function Nn(e,t){var n=It(),i=e.changeListeners_;if(i){for(var r=0,o=(i=i.slice()).length;r<o;r++)i[r](t);Lt(n)}}var Pn=Symbol("mobx-keys");function kn(e,t,n){return H(e)?fn(e,e,t,n):(Ci((function(){var i=li(e,n)[pe];if(!e[Pn]){var r=Object.getPrototypeOf(e),o=new Set([].concat(J(e),J(r)));o.delete("constructor"),o.delete(pe),W(r,Pn,o)}e[Pn].forEach((function(e){return i.make_(e,!t||!(e in t)||t[e])}))})),e)}var Rn="splice",zn="update",_n={get:function(e,t){var n=e[pe];return t===pe?n:"length"===t?n.getArrayLength_():"string"!=typeof t||isNaN(t)?$(Un,t)?Un[t]:e[t]:n.get_(parseInt(t))},set:function(e,t,n){var i=e[pe];return"length"===t&&i.setArrayLength_(n),"symbol"==typeof t||isNaN(t)?e[t]=n:i.set_(parseInt(t),n),!0},preventExtensions:function(){T(15)}},Bn=function(){function e(e,t,n,i){void 0===e&&(e="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=i,this.atom_=new fe(e),this.enhancer_=function(e,n){return t(e,n,"ObservableArray[..]")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return In(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),On(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&T("Out of range: "+e);var t=this.values_.length;if(e!==t)if(e>t){for(var n=new Array(e-t),i=0;i<e-t;i++)n[i]=void 0;this.spliceWithArray_(t,0,n)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&T(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&xi(e+t+1)},t.spliceWithArray_=function(e,t,n){var i=this;this.atom_;var r=this.values_.length;if(void 0===e?e=0:e>r?e=r:e<0&&(e=Math.max(0,r+e)),t=1===arguments.length?r-e:null==t?0:Math.max(0,Math.min(t,r-e)),void 0===n&&(n=P),Cn(this)){var o=Ln(this,{object:this.proxy_,type:Rn,index:e,removedCount:t,added:n});if(!o)return P;t=o.removedCount,n=o.added}if(n=0===n.length?n:n.map((function(e){return i.enhancer_(e,void 0)})),this.legacyMode_){var a=n.length-t;this.updateArrayLength_(r,a)}var s=this.spliceItemsIntoValues_(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){var i;if(n.length<1e4)return(i=this.values_).splice.apply(i,[e,t].concat(n));var r=this.values_.slice(e,e+t),o=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var a=0;a<n.length;a++)this.values_[e+a]=n[a];for(var s=0;s<o.length;s++)this.values_[e+n.length+s]=o[s];return r},t.notifyArrayChildUpdate_=function(e,t,n){var i=!this.owned_&&!1,r=Dn(this),o=r||i?{observableKind:"array",object:this.proxy_,type:zn,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;this.atom_.reportChanged(),r&&Nn(this,o)},t.notifyArraySplice_=function(e,t,n){var i=!this.owned_&&!1,r=Dn(this),o=r||i?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:Rn,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.atom_.reportChanged(),r&&Nn(this,o)},t.get_=function(e){if(!(this.legacyMode_&&e>=this.values_.length))return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e]);console.warn("[mobx] Out of bounds read: "+e)},t.set_=function(e,t){var n=this.values_;if(this.legacyMode_&&e>n.length&&T(17,e,n.length),e<n.length){this.atom_;var i=n[e];if(Cn(this)){var r=Ln(this,{type:zn,object:this.proxy_,index:e,newValue:t});if(!r)return;t=r.newValue}(t=this.enhancer_(t,i))!==i&&(n[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=new Array(e+1-n.length),a=0;a<o.length-1;a++)o[a]=void 0;o[o.length-1]=t,this.spliceWithArray_(n.length,0,o)}},e}();function jn(e,t,n,i){return void 0===n&&(n="ObservableArray"),void 0===i&&(i=!1),_(),Ci((function(){var r=new Bn(n,t,i,!1);G(r.values_,pe,r);var o=new Proxy(r.values_,_n);return r.proxy_=o,e&&e.length&&r.spliceWithArray_(0,0,e),o}))}var Un={clear:function(){return this.splice(0)},replace:function(e){var t=this[pe];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),r=2;r<n;r++)i[r-2]=arguments[r];var o=this[pe];switch(arguments.length){case 0:return[];case 1:return o.spliceWithArray_(e);case 2:return o.spliceWithArray_(e,t)}return o.spliceWithArray_(e,t,i)},spliceWithArray:function(e,t,n){return this[pe].spliceWithArray_(e,t,n)},push:function(){for(var e=this[pe],t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e.spliceWithArray_(e.values_.length,0,n),e.values_.length},pop:function(){return this.splice(Math.max(this[pe].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[pe],t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e.spliceWithArray_(0,0,n),e.values_.length},reverse:function(){return zt.trackingDerivation&&T(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){zt.trackingDerivation&&T(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[pe],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};function Fn(e,t){"function"==typeof Array.prototype[e]&&(Un[e]=t(e))}function Vn(e){return function(){var t=this[pe];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Hn(e){return function(t,n){var i=this,r=this[pe];return r.atom_.reportObserved(),r.dehanceValues_(r.values_)[e]((function(e,r){return t.call(n,e,r,i)}))}}function Qn(e){return function(){var t=this,n=this[pe];n.atom_.reportObserved();var i=n.dehanceValues_(n.values_),r=arguments[0];return arguments[0]=function(e,n,i){return r(e,n,i,t)},i[e].apply(i,arguments)}}Fn("at",Vn),Fn("concat",Vn),Fn("flat",Vn),Fn("includes",Vn),Fn("indexOf",Vn),Fn("join",Vn),Fn("lastIndexOf",Vn),Fn("slice",Vn),Fn("toString",Vn),Fn("toLocaleString",Vn),Fn("toSorted",Vn),Fn("toSpliced",Vn),Fn("with",Vn),Fn("every",Hn),Fn("filter",Hn),Fn("find",Hn),Fn("findIndex",Hn),Fn("findLast",Hn),Fn("findLastIndex",Hn),Fn("flatMap",Hn),Fn("forEach",Hn),Fn("map",Hn),Fn("some",Hn),Fn("toReversed",Hn),Fn("reduce",Qn),Fn("reduceRight",Qn);var Wn,Gn,Yn=Y("ObservableArrayAdministration",Bn);function qn(e){return V(e)&&Yn(e[pe])}var Xn={},Zn="add",Jn="delete";Wn=Symbol.iterator,Gn=Symbol.toStringTag;var Kn,$n,ei=function(){function e(e,t,n){var i=this;void 0===t&&(t=ve),void 0===n&&(n="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[pe]=Xn,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=n,U(Map)||T(18),Ci((function(){i.keysAtom_=me("ObservableMap.keys()"),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)}))}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!zt.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var i=n=new gt(this.has_(e),ye,"ObservableMap.key?",!1);this.hasMap_.set(e,i),un(i,(function(){return t.hasMap_.delete(e)}))}return n.get()},t.set=function(e,t){var n=this.has_(e);if(Cn(this)){var i=Ln(this,{type:n?zn:Zn,object:this,newValue:t,name:e});if(!i)return this;t=i.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,Cn(this)&&!Ln(this,{type:Jn,object:this,name:e}))return!1;if(this.has_(e)){var n=Dn(this),i=n?{observableKind:"map",debugObjectName:this.name_,type:Jn,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return En((function(){var n;t.keysAtom_.reportChanged(),null==(n=t.hasMap_.get(e))||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)})),n&&Nn(this,i),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if((t=n.prepareNewValue_(t))!==zt.UNCHANGED){var i=Dn(this),r=i?{observableKind:"map",debugObjectName:this.name_,type:zn,object:this,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),i&&Nn(this,r)}},t.addValue_=function(e,t){var n=this;this.keysAtom_,En((function(){var i,r=new gt(t,n.enhancer_,"ObservableMap.key",!1);n.data_.set(e,r),t=r.value_,null==(i=n.hasMap_.get(e))||i.setNewValue_(!0),n.keysAtom_.reportChanged()}));var i=Dn(this),r=i?{observableKind:"map",debugObjectName:this.name_,type:Zn,object:this,name:e,newValue:t}:null;i&&Nn(this,r)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Ni({next:function(){var n=t.next(),i=n.done,r=n.value;return{done:i,value:i?void 0:e.get(r)}}})},t.entries=function(){var e=this,t=this.keys();return Ni({next:function(){var n=t.next(),i=n.done,r=n.value;return{done:i,value:i?void 0:[r,e.get(r)]}}})},t[Wn]=function(){return this.entries()},t.forEach=function(e,t){for(var n,i=le(this);!(n=i()).done;){var r=n.value,o=r[0],a=r[1];e.call(t,a,o,this)}},t.merge=function(e){var t=this;return ti(e)&&(e=new Map(e)),En((function(){H(e)?function(e){var t=Object.keys(e);if(!Z)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return N.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(n){return t.set(n,e[n])})):Array.isArray(e)?e.forEach((function(e){var n=e[0],i=e[1];return t.set(n,i)})):q(e)?(e.constructor!==Map&&T(19,e),e.forEach((function(e,n){return t.set(n,e)}))):null!=e&&T(20,e)})),this},t.clear=function(){var e=this;En((function(){Ct((function(){for(var t,n=le(e.keys());!(t=n()).done;){var i=t.value;e.delete(i)}}))}))},t.replace=function(e){var t=this;return En((function(){for(var n,i=function(e){if(q(e)||ti(e))return e;if(Array.isArray(e))return new Map(e);if(H(e)){var t=new Map;for(var n in e)t.set(n,e[n]);return t}return T(21,e)}(e),r=new Map,o=!1,a=le(t.data_.keys());!(n=a()).done;){var s=n.value;if(!i.has(s))if(t.delete(s))o=!0;else{var l=t.data_.get(s);r.set(s,l)}}for(var c,u=le(i.entries());!(c=u()).done;){var h=c.value,d=h[0],p=h[1],f=t.data_.has(d);if(t.set(d,p),t.data_.has(d)){var A=t.data_.get(d);r.set(d,A),f||(o=!0)}}if(!o)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var m=t.data_.keys(),g=r.keys(),v=m.next(),y=g.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=m.next(),y=g.next()}t.data_=r})),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return On(this,e)},t.intercept_=function(e){return In(this,e)},ne(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Gn,get:function(){return"Map"}}]),e}(),ti=Y("ObservableMap",ei),ni={};Kn=Symbol.iterator,$n=Symbol.toStringTag;var ii=function(){function e(e,t,n){var i=this;void 0===t&&(t=ve),void 0===n&&(n="ObservableSet"),this.name_=void 0,this[pe]=ni,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=n,U(Set)||T(22),this.enhancer_=function(e,i){return t(e,i,n)},Ci((function(){i.atom_=me(i.name_),e&&i.replace(e)}))}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;En((function(){Ct((function(){for(var t,n=le(e.data_.values());!(t=n()).done;){var i=t.value;e.delete(i)}}))}))},t.forEach=function(e,t){for(var n,i=le(this);!(n=i()).done;){var r=n.value;e.call(t,r,r,this)}},t.add=function(e){var t=this;if(this.atom_,Cn(this)&&!Ln(this,{type:Zn,object:this,newValue:e}))return this;if(!this.has(e)){En((function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()}));var n=Dn(this),i=n?{observableKind:"set",debugObjectName:this.name_,type:Zn,object:this,newValue:e}:null;n&&Nn(this,i)}return this},t.delete=function(e){var t=this;if(Cn(this)&&!Ln(this,{type:Jn,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Dn(this),i=n?{observableKind:"set",debugObjectName:this.name_,type:Jn,object:this,oldValue:e}:null;return En((function(){t.atom_.reportChanged(),t.data_.delete(e)})),n&&Nn(this,i),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=0,t=Array.from(this.keys()),n=Array.from(this.values());return Ni({next:function(){var i=e;return e+=1,i<n.length?{value:[t[i],n[i]],done:!1}:{done:!0}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=0,n=Array.from(this.data_.values());return Ni({next:function(){return t<n.length?{value:e.dehanceValue_(n[t++]),done:!1}:{done:!0}}})},t.replace=function(e){var t=this;return ri(e)&&(e=new Set(e)),En((function(){Array.isArray(e)||X(e)?(t.clear(),e.forEach((function(e){return t.add(e)}))):null!=e&&T("Cannot initialize set from "+e)})),this},t.observe_=function(e,t){return On(this,e)},t.intercept_=function(e){return In(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[Kn]=function(){return this.values()},ne(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:$n,get:function(){return"Set"}}]),e}(),ri=Y("ObservableSet",ii),oi=Object.create(null),ai="remove",si=function(){function e(e,t,n,i){void 0===t&&(t=new Map),void 0===i&&(i=Ue),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=n,this.defaultAnnotation_=i,this.keysAtom_=new fe("ObservableObject.keys"),this.isPlainObject_=H(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof bt)return n.set(t),!0;if(Cn(this)){var i=Ln(this,{type:zn,object:this.proxy_||this.target_,name:e,newValue:t});if(!i)return null;t=i.newValue}if((t=n.prepareNewValue_(t))!==zt.UNCHANGED){var r=Dn(this),o=r?{type:zn,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),r&&Nn(this,o)}return!0},t.get_=function(e){return zt.trackingDerivation&&!$(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return void 0===n&&(n=!1),$(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!zt.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new gt(e in this.target_,ye,"ObservableObject.key?",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(!(e in this.target_)){var n;if(null!=(n=this.target_[ce])&&n[e])return;T(1,t.annotationType_,this.name_+"."+e.toString())}for(var i=this.target_;i&&i!==N;){var r=D(i,e);if(r){var o=t.make_(this,e,r,i);if(0===o)return;if(1===o)break}i=Object.getPrototypeOf(i)}di(this,0,e)}},t.extend_=function(e,t,n,i){if(void 0===i&&(i=!1),!0===n&&(n=this.defaultAnnotation_),!1===n)return this.defineProperty_(e,t,i);var r=n.extend_(this,e,t,i);return r&&di(this,0,e),r},t.defineProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{Ut();var i=this.delete_(e);if(!i)return i;if(Cn(this)){var r=Ln(this,{object:this.proxy_||this.target_,name:e,type:Zn,newValue:t.value});if(!r)return null;var o=r.newValue;t.value!==o&&(t=ie({},t,{value:o}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else O(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{Ft()}return!0},t.defineObservableProperty_=function(e,t,n,i){void 0===i&&(i=!1),this.keysAtom_;try{Ut();var r=this.delete_(e);if(!r)return r;if(Cn(this)){var o=Ln(this,{object:this.proxy_||this.target_,name:e,type:Zn,newValue:t});if(!o)return null;t=o.newValue}var a=ui(e),s={configurable:!zt.safeDescriptors||this.isPlainObject_,enumerable:!0,get:a.get,set:a.set};if(i){if(!Reflect.defineProperty(this.target_,e,s))return!1}else O(this.target_,e,s);var l=new gt(t,n,"ObservableObject.key",!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{Ft()}return!0},t.defineComputedProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{Ut();var i=this.delete_(e);if(!i)return i;if(Cn(this)&&!Ln(this,{object:this.proxy_||this.target_,name:e,type:Zn,newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.proxy_||this.target_;var r=ui(e),o={configurable:!zt.safeDescriptors||this.isPlainObject_,enumerable:!1,get:r.get,set:r.set};if(n){if(!Reflect.defineProperty(this.target_,e,o))return!1}else O(this.target_,e,o);this.values_.set(e,new bt(t)),this.notifyPropertyAddition_(e,void 0)}finally{Ft()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),this.keysAtom_,!$(this.target_,e))return!0;if(Cn(this)&&!Ln(this,{object:this.proxy_||this.target_,name:e,type:ai}))return null;try{var n,i;Ut();var r,o=Dn(this),a=this.values_.get(e),s=void 0;if(!a&&o&&(s=null==(r=D(this.target_,e))?void 0:r.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(a&&(this.values_.delete(e),a instanceof gt&&(s=a.value_),Ht(a)),this.keysAtom_.reportChanged(),null==(n=this.pendingKeys_)||null==(i=n.get(e))||i.set(e in this.target_),o){var l={type:ai,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};o&&Nn(this,l)}}finally{Ft()}return!0},t.observe_=function(e,t){return On(this,e)},t.intercept_=function(e){return In(this,e)},t.notifyPropertyAddition_=function(e,t){var n,i,r=Dn(this);if(r){var o=r?{type:Zn,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;r&&Nn(this,o)}null==(n=this.pendingKeys_)||null==(i=n.get(e))||i.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),J(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function li(e,t){var n;if($(e,pe))return e;var i=null!=(n=null==t?void 0:t.name)?n:"ObservableObject",r=new si(e,new Map,String(i),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:Fe(e):void 0}(t));return W(e,pe,r),e}var ci=Y("ObservableObjectAdministration",si);function ui(e){return oi[e]||(oi[e]={get:function(){return this[pe].getObservablePropValue_(e)},set:function(t){return this[pe].setObservablePropValue_(e,t)}})}function hi(e){return!!V(e)&&ci(e[pe])}function di(e,t,n){var i;null==(i=e.target_[ce])||delete i[n]}var pi,fi,Ai=bi(0),mi=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),gi=0,vi=function(){};pi=vi,fi=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(pi.prototype,fi):void 0!==pi.prototype.__proto__?pi.prototype.__proto__=fi:pi.prototype=fi;var yi=function(e,t,n){function i(t,n,i,r){var o;return void 0===i&&(i="ObservableArray"),void 0===r&&(r=!1),o=e.call(this)||this,Ci((function(){var e=new Bn(i,n,r,!0);e.proxy_=ae(o),G(ae(o),pe,e),t&&t.length&&o.spliceWithArray(0,0,t),mi&&Object.defineProperty(ae(o),"0",Ai)})),o}re(i,e);var r=i.prototype;return r.concat=function(){this[pe].atom_.reportObserved();for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Array.prototype.concat.apply(this.slice(),t.map((function(e){return qn(e)?e.slice():e})))},r[n]=function(){var e=this,t=0;return Ni({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},ne(i,[{key:"length",get:function(){return this[pe].getArrayLength_()},set:function(e){this[pe].setArrayLength_(e)}},{key:t,get:function(){return"Array"}}]),i}(vi,Symbol.toStringTag,Symbol.iterator);function bi(e){return{enumerable:!1,configurable:!0,get:function(){return this[pe].get_(e)},set:function(t){this[pe].set_(e,t)}}}function wi(e){O(yi.prototype,""+e,bi(e))}function xi(e){if(e>gi){for(var t=gi;t<e+100;t++)wi(t);gi=e}}function Mi(e,t,n){return new yi(e,t,n)}function Ei(e,t){if("object"==typeof e&&null!==e){if(qn(e))return void 0!==t&&T(23),e[pe].atom_;if(ri(e))return e.atom_;if(ti(e)){if(void 0===t)return e.keysAtom_;var n=e.data_.get(t)||e.hasMap_.get(t);return n||T(25,t,Ti(e)),n}if(hi(e)){if(!t)return T(26);var i=e[pe].values_.get(t);return i||T(27,t,Ti(e)),i}if(Ae(e)||wt(e)||Xt(e))return e}else if(U(e)&&Xt(e[pe]))return e[pe];T(28)}function Si(e,t){return e||T(29),void 0!==t?Si(Ei(e,t)):Ae(e)||wt(e)||Xt(e)||ti(e)||ri(e)?e:e[pe]?e[pe]:void T(24,e)}function Ti(e,t){var n;if(void 0!==t)n=Ei(e,t);else{if(an(e))return e.name;n=hi(e)||ti(e)||ri(e)?Si(e):Ei(e)}return n.name_}function Ci(e){var t=It(),n=ft(!0);Ut();try{return e()}finally{Ft(),At(n),Lt(t)}}Object.entries(Un).forEach((function(e){var t=e[0],n=e[1];"concat"!==t&&W(yi.prototype,t,n)})),xi(1e3);var Ii=N.toString;function Li(e,t,n){return void 0===n&&(n=-1),Di(e,t,n)}function Di(e,t,n,i,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var o=typeof e;if("function"!==o&&"object"!==o&&"object"!=typeof t)return!1;var a=Ii.call(e);if(a!==Ii.call(t))return!1;switch(a){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0==+e?1/+e==1/t:+e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case"[object Map]":case"[object Set]":n>=0&&n++}e=Oi(e),t=Oi(t);var s="[object Array]"===a;if(!s){if("object"!=typeof e||"object"!=typeof t)return!1;var l=e.constructor,c=t.constructor;if(l!==c&&!(U(l)&&l instanceof l&&U(c)&&c instanceof c)&&"constructor"in e&&"constructor"in t)return!1}if(0===n)return!1;n<0&&(n=-1),r=r||[];for(var u=(i=i||[]).length;u--;)if(i[u]===e)return r[u]===t;if(i.push(e),r.push(t),s){if((u=e.length)!==t.length)return!1;for(;u--;)if(!Di(e[u],t[u],n-1,i,r))return!1}else{var h,d=Object.keys(e);if(u=d.length,Object.keys(t).length!==u)return!1;for(;u--;)if(!$(t,h=d[u])||!Di(e[h],t[h],n-1,i,r))return!1}return i.pop(),r.pop(),!0}function Oi(e){return qn(e)?e.slice():q(e)||ti(e)||X(e)||ri(e)?Array.from(e.entries()):e}function Ni(e){return e[Symbol.iterator]=Pi,e}function Pi(){return this}function ki(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}["Symbol","Map","Set"].forEach((function(e){void 0===I()[e]&&T("MobX requires global '"+e+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:Ti},$mobx:pe});const Ri=new class{constructor(){ki(this,"currentFloorIndex",0),ki(this,"currentFloorNumber",null),ki(this,"originalPlan",null),ki(this,"styledPlan",null),ki(this,"topViewData",null),ki(this,"rotationData",[]),ki(this,"panoramaData",[]),ki(this,"floors",[]),ki(this,"setFloors",(e=>{this.floors=e,this.currentFloorIndex=0,this.changeFloor(this.currentFloorIndex)})),ki(this,"changeFloor",(e=>{this.currentFloorIndex=e,this.currentFloorNumber=e+1,this.originalPlan=this.floors[e].original_plan_img,this.styledPlan=this.floors[e].styled_plan_img,this.topViewData=this.floors[e].top_view_img,this.rotationData=this.floors[e].rotate,this.panoramaData=this.floors[e].panorama})),kn(this)}get planImage(){return this.styledPlan||this.originalPlan}};function zi(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}pn({useProxies:"never"});const _i=class{constructor(e){zi(this,"API_URL",null),zi(this,"getBrandingData",(e=>e?{name:e.company_name,url:e.company_url}:null)),zi(this,"getParsedData",(async e=>{var t,n;Ri.setFloors(e.floors);const i=await this.loadJson(e.json.value),r=Ri.styledPlan||Ri.originalPlan,o=this.getBrandingData(e.widget_branding);return{raw:e,parsed:{planImage:r,json:i,logo:(null===(t=e.widget_branding)||void 0===t?void 0:t.logo_path)||null,locale:(null===(n=e.widget_branding)||void 0===n?void 0:n.widget_language)||"en",topViewImage:Ri.topView||null,panoramaData:Ri.panoramaData,rotationData:Ri.rotationData,branding:o}}})),zi(this,"loadFurnitureData",(async()=>{const e="".concat(this.API_URL,"/api/furniture"),t=await fetch(e);return await t.json()})),zi(this,"loadCrmWidgetData",(async e=>{const t="".concat(this.API_URL,"/api/crm/plans/").concat(e,"/widget"),n=await fetch(t),i=await n.json();return this.getParsedData(i)})),zi(this,"loadWidgetData",(async e=>{const t="".concat(this.API_URL,"/api/plans/").concat(e,"/v2/widget"),n=await fetch(t),i=await n.json();return this.getParsedData(i)})),zi(this,"loadEditorData",(async(e,t)=>{const n="".concat(this.API_URL,"/api/plans/").concat(e,"/editor?token=").concat(t),i=await fetch(n);return await i.json()})),zi(this,"loadPanoramaData",(async e=>{const t="".concat(this.API_URL,"/api/plans/").concat(e,"/panorama"),n=await fetch(t);return await n.json()})),zi(this,"loadJson",(async e=>{const t=await fetch(e);return await t.json()})),kn(this),this.API_URL=e}};var Bi=r(935);const ji=JSON.parse('{"research-plan":"Исследовать планировку","rotate-plan":"Вращать планировку","rotate":"Старт","stop":"Стоп","plan":"Планировка","off":"Выкл","on":"Вкл","ok":"Ок","menu":"Меню","wasd":"WASD","view-from-above":"Обзор сверху","free-camera":"Свободный обзор","shadows":"Тени","hide-walls":"Скрыть стены","show-walls":"Показать стены","hide-doors":"Скрыть двери","show-doors":"Показать двери","material":"Материал","texture":"Текстура","color":"Цвет","wall-color":"Цвет стен","wall-texture":"Текстура стен","upload-wall-texture":"Загрузить текстуру стен","made-by-link":"https://hart-estate.ru/","made-by-text":"hart-estate.ru","floor":"этаж"}'),Ui=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://getfloorplan.com/","made-by-text":"getfloorplan.com","floor":"floor"}'),Fi=JSON.parse('{"research-plan":"klicken","rotate-plan":"drehen","rotate":"Drehen","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"Sicht von oben","free-camera":"Kostenlose Kamera","shadows":"Schatten","hide-walls":"Wände verstecken","show-walls":"Wände anzeigen","hide-doors":"Türen verstecken","show-doors":"Türen anzeigen","material":"Material","texture":"Textur","color":"Farbe","wall-color":"Wandfarbe","wall-texture":"Wandstruktur","upload-wall-texture":"Wandtextur hochladen","made-by-link":"","made-by-text":"","floor":"boden"}'),Vi=JSON.parse('{"research-plan":"Explora el diseño","rotate-plan":"Girar diseño","rotate":"Comenzar","stop":"Detener","plan":"Disposición","off":"Apagar","on":"Encender","ok":"Ok","menu":"Menú","wasd":"WASD","view-from-above":"Vista desde arriba","free-camera":"Revisión gratuita","shadows":"Oscuridad","hide-walls":"Ocultar paredes","show-walls":"Mostrar paredes","hide-doors":"Ocultar puertas","show-doors":"Mostrar puertas","material":"Material","texture":"Textura","color":"Color","wall-color":"Color de la pared","wall-texture":"Textura de la pared","upload-wall-texture":"Textura de la pared de carga","made-by-link":"","made-by-text":"","floor":"piso"}'),Hi=JSON.parse('{"research-plan":"klicken","rotate-plan":"drehen","rotate":"Drehen","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://treuco.nrw/","made-by-text":"treuco.nrw","floor":"floor"}'),Qi=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":" https://www.jetfueldesign.com/","made-by-text":"jetfueldesign.сom","floor":"floor"}'),Wi=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":" https://www.neotechture.com/","made-by-text":"neotechture.сom","floor":"floor"}'),Gi=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.99.co/","made-by-text":"99.со","floor":"floor"}'),Yi=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"http://www.cleverestates.de/","made-by-text":"cleverestates.de","floor":"floor"}'),qi=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://orionvisio.com/","made-by-text":"orionvisio.com","floor":"floor"}'),Xi=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://samolet.ru/","made-by-text":"samolet.ru","floor":"floor"}'),Zi=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.etalongroup.com/ru/","made-by-text":"etalongroup.com","floor":"floor"}'),Ji=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"http://up-vs.online/","made-by-text":"up-vs.online","floor":"floor"}'),Ki=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.aixx.ai/","made-by-text":"aixx.ai","floor":"floor"}'),$i=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://biege.io/","made-by-text":"biege.io","floor":"floor"}'),er=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://presale3d.com/","made-by-text":"presale 3d.com","floor":"floor"}'),tr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://getfloorplan.com/","made-by-text":"getfloorplan.com","floor":"floor","instructions-hint-text":"Apartments serve illustrational purpose only, design may vary"}'),nr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://nvisionfloorplan.com/","made-by-text":"nvisionfloorplan.com","floor":"floor"}'),ir=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.tpm-homes.es/","made-by-text":"tpm-homes.es","floor":"floor"}'),rr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.beforeafter.co.il/","made-by-text":"beforeafter.co.il","floor":"floor"}'),or=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.ohadarc.com/","made-by-text":"ohadarc.com","floor":"floor"}'),ar=JSON.parse('{"research-plan":"Исследовать планировку","rotate-plan":"Вращать планировку","rotate":"Старт","stop":"Стоп","plan":"Планировка","off":"Выкл","on":"Вкл","ok":"Ок","menu":"Меню","wasd":"WASD","view-from-above":"Обзор сверху","free-camera":"Свободный обзор","shadows":"Тени","hide-walls":"Скрыть стены","show-walls":"Показать стены","hide-doors":"Скрыть двери","show-doors":"Показать двери","material":"Материал","texture":"Текстура","color":"Цвет","wall-color":"Цвет стен","wall-texture":"Текстура стен","upload-wall-texture":"Загрузить текстуру стен","made-by-link":"https://тюмень.талан.рф/apartment-complex/botanika","made-by-text":"тюмень.талан.рф","floor":"этаж"}'),sr=JSON.parse('{"research-plan":"Исследовать планировку","rotate-plan":"Вращать планировку","rotate":"Старт","stop":"Стоп","plan":"Планировка","off":"Выкл","on":"Вкл","ok":"Ок","menu":"Меню","wasd":"WASD","view-from-above":"Обзор сверху","free-camera":"Свободный обзор","shadows":"Тени","hide-walls":"Скрыть стены","show-walls":"Показать стены","hide-doors":"Скрыть двери","show-doors":"Показать двери","material":"Материал","texture":"Текстура","color":"Цвет","wall-color":"Цвет стен","wall-texture":"Текстура стен","upload-wall-texture":"Загрузить текстуру стен","made-by-link":"https://gkatmosfera.ru/","made-by-text":"gkatmosfera.ru","floor":"этаж"}'),lr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"http://www.geotopo.gr/","made-by-text":"geotopo.gr","floor":"floor"}'),cr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.homestratosphere.com/","made-by-text":"homestratosphere.com","floor":"floor"}'),ur=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.inmperson.es/","made-by-text":"inmperson.es","floor":"floor"}'),hr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.reysus.ch/vente","made-by-text":"reysus.ch","floor":"floor"}'),dr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://sedo.com/search/details/?partnerid=324561&language=e&domain=yourcompany.com&origin=sales_lander_4&utm_medium=Parking&utm_campaign=offerpage","made-by-text":"yourcompany.com","floor":"floor"}'),pr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.eloforteimob.com.br/","made-by-text":"eloforteimob.com","floor":"floor"}'),fr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://merkaz-nadlan.co.il/","made-by-text":"merkaz-nadlan.co.il","floor":"floor"}'),Ar=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.larastudio.pl/","made-by-text":"larastudio.pl","floor":"floor"}'),mr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://comfortandinterior.com/","made-by-text":"comfortandinterior.com","floor":"floor"}'),gr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.inmobiliariamonpas.com/","made-by-text":"inmobiliariamonpas.com","floor":"floor"}'),vr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://arcasl.es/","made-by-text":"arcasl.es","floor":"floor"}'),yr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"","made-by-text":"MQC","floor":"floor"}'),br=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://chadnelson.book.live/","made-by-text":"kprbrokers.com","floor":"floor"}'),wr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"","made-by-text":"iotci.co.uk","floor":"floor"}'),xr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://www.propflo.ai/","made-by-text":"propflo.ai","floor":"floor"}'),Mr=JSON.parse('{"research-plan":"Research plan","rotate-plan":"Rotate plan","rotate":"Rotate","stop":"Stop","plan":"Plan","off":"Off","on":"On","ok":"Ok","menu":"Menu","wasd":"WASD","view-from-above":"View from above","free-camera":"Free camera","shadows":"Shadows","hide-walls":"Hide walls","show-walls":"Show walls","hide-doors":"Hide doors","show-doors":"Show doors","material":"Material","texture":"Texture","color":"Color","wall-color":"Wall color","wall-texture":"Wall texture","upload-wall-texture":"Upload wall texture","made-by-link":"https://propvr.ai/","made-by-text":"propvr.ai","floor":"floor"}'),Er={talan_1:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2232.4%22,%22max%22:%2293.8%22}&complex=2322376&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%229126800%22,%22max%22:%2217650400%22}&floor_range={%22min%22:%221%22,%22max%22:%2224%22}&group_layout=false&hypotec_range={%22min%22:%2236420%22,%22max%22:%2270434%22}&not_first=false&not_last=false&range_type=price&queue=1",talan_2:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2232.4%22,%22max%22:%2293.8%22}&complex=2322376&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%229126800%22,%22max%22:%2217650400%22}&floor_range={%22min%22:%221%22,%22max%22:%2224%22}&group_layout=false&hypotec_range={%22min%22:%2254545%22,%22max%22:%22102240%22}&not_first=false&not_last=false&range_type=price&queue=2",talan_3:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2232.4%22,%22max%22:%2293.8%22}&complex=2322227&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%229126800%22,%22max%22:%2217650400%22}&floor_range={%22min%22:%221%22,%22max%22:%2224%22}&group_layout=false&hypotec_range={%22min%22:%2236420%22,%22max%22:%2270434%22}&not_first=false&not_last=false&range_type=price",talan_4:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2232.4%22,%22max%22:%2293.8%22}&complex=99984&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%229126800%22,%22max%22:%2217650400%22}&entrance=1&floor_range={%22min%22:%221%22,%22max%22:%2224%22}&group_layout=false&house=4&hypotec_range={%22min%22:%2236420%22,%22max%22:%2270434%22}&not_first=false&not_last=false&range_type=price",talan_5:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2232.4%22,%22max%22:%2293.8%22}&complex=99984&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%229126800%22,%22max%22:%2217650400%22}&entrance=1&floor_range={%22min%22:%221%22,%22max%22:%2224%22}&group_layout=false&house=1&hypotec_range={%22min%22:%2236420%22,%22max%22:%2270434%22}&not_first=false&not_last=false&range_type=price",talan_6:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2238.1%22,%22max%22:%2285.9%22}&complex=2322380&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%227301200%22,%22max%22:%2212447900%22}&entrance=1&floor_range={%22min%22:%222%22,%22max%22:%2221%22}&group_layout=false&house=1&hypotec_range={%22min%22:%2229135%22,%22max%22:%2249673%22}&not_first=false&not_last=false&range_type=price",talan_7:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2238.1%22,%22max%22:%2285.9%22}&complex=2322380&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%227301200%22,%22max%22:%2212447900%22}&entrance=2&floor_range={%22min%22:%222%22,%22max%22:%2221%22}&group_layout=false&house=1&hypotec_range={%22min%22:%2229135%22,%22max%22:%2249673%22}&not_first=false&not_last=false&range_type=price",talan_8:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2226.3%22,%22max%22:%2279.1%22}&complex=2322378&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%224667400%22,%22max%22:%2210745700%22}&floor_range={%22min%22:%221%22,%22max%22:%2220%22}&group_layout=false&house=1&hypotec_range={%22min%22:%2218625%22,%22max%22:%2242881%2",talan_9:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2226.3%22,%22max%22:%2279.1%22}&complex=2322378&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%224667400%22,%22max%22:%2210745700%22}&floor_range={%22min%22:%221%22,%22max%22:%2220%22}&group_layout=false&house=2&hypotec_range={%22min%22:%2218625%22,%22max%22:%2242881%22}&not_first=false&not_last=false&range_type=price",talan_10:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2226.3%22,%22max%22:%2279.1%22}&complex=2322378&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%224667400%22,%22max%22:%2210745700%22}&floor_range={%22min%22:%221%22,%22max%22:%2220%22}&group_layout=false&house=3&hypotec_range={%22min%22:%2218625%22,%22max%22:%2242881%22}&not_first=false&not_last=false&range_type=price",talan_11:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2226.3%22,%22max%22:%2279.1%22}&complex=2322378&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%224667400%22,%22max%22:%2210745700%22}&floor_range={%22min%22:%221%22,%22max%22:%2220%22}&group_layout=false&house=4&hypotec_range={%22min%22:%2218625%22,%22max%22:%2242881%22}&not_first=false&not_last=false&range_type=price",talan_12:"https://xn--80aacf4bwnk3a.xn--80aa6ajv.xn--p1ai/apartments/flats?area_range={%22min%22:%2226.3%22,%22max%22:%2279.1%22}&complex=2322378&cost_filter=sale,+booked&cost_filter=presale&cost_range={%22min%22:%220%22,%22max%22:%220%22}&floor_range={%22min%22:%221%22,%22max%22:%2220%22}&group_layout=false&hypotec_range={%22min%22:%2218625%22,%22max%22:%2242881%22}&not_first=false&not_last=false&range_type=price"},Sr=["ru","en","de","es","treuco","giorgos","neotechture","99.co","cleverEstates","orionvisio","samolet","etalongroup","up-vs","aixx","biege","presale3d","evometa","nvisionhome","tpm-homes","beforeafter","ohadarc","talant","atmosfera","geotopo","homestratosphere","inmperson","reysus","yourcompany","eloforteimob","merkaz","lara","comfort","inmobiliariamonpas","arcasl","mqc","kprbrokers","iotci","propflo","propvr",...Object.keys(Er)],Tr={};Object.entries(Er).forEach((e=>{let[t,n]=e;Tr[t]={"research-plan":"Исследовать планировку","rotate-plan":"Вращать планировку",rotate:"Старт",stop:"Стоп",plan:"Планировка",off:"Выкл",on:"Вкл",ok:"Ок",menu:"Меню",wasd:"WASD","view-from-above":"Обзор сверху","free-camera":"Свободный обзор",shadows:"Тени","hide-walls":"Скрыть стены","show-walls":"Показать стены","hide-doors":"Скрыть двери","show-doors":"Показать двери",material:"Материал",texture:"Текстура",color:"Цвет","wall-color":"Цвет стен","wall-texture":"Текстура стен","upload-wall-texture":"Загрузить текстуру стен","made-by-link":n,"made-by-text":"хабаровск.талан.рф",floor:"этаж"}}));const Cr={...Tr,ru:ji,en:Ui,de:Fi,es:Vi,treuco:Hi,giorgos:Qi,neotechture:Wi,"99.co":Gi,cleverEstates:Yi,orionvisio:qi,samolet:Xi,etalongroup:Zi,"up-vs":Ji,aixx:Ki,biege:$i,presale3d:er,evometa:tr,nvisionhome:nr,"tpm-homes":ir,beforeafter:rr,ohadarc:or,talant:ar,atmosfera:sr,geotopo:lr,homestratosphere:cr,inmperson:ur,reysus:hr,yourcompany:dr,eloforteimob:pr,merkaz:fr,lara:Ar,comfort:mr,inmobiliariamonpas:gr,arcasl:vr,mqc:yr,kprbrokers:br,iotci:wr,propflo:xr,propvr:Mr};function Ir(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}pn({useProxies:"never"});const Lr=new class{constructor(){Ir(this,"availableLocales",[...Sr]),Ir(this,"locales",{...Cr}),Ir(this,"currentLocale","en"),Ir(this,"getLocaleText",(e=>this.localeData[e])),Ir(this,"setCurrentLocale",(e=>{this.availableLocales.some((t=>t===e))&&(this.currentLocale=e)})),kn(this)}get localeData(){return this.locales[this.currentLocale]}};function Dr(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}pn({useProxies:"never"});const Or=new class{constructor(){Dr(this,"config",null),Dr(this,"listeners",{resize:[]}),Dr(this,"controlsVisible",!0),kn(this)}get initialPanoramaRoomId(){const{json:e}=this.config;if(!e)return null;const{Rooms:t}=e.Floors[Ri.currentFloorIndex].Units[0],n=[...t].sort(((e,t)=>t.Area-e.Area)),i=n.find((e=>{let{Type:t}=e;return"Living"===t})),r=n[0];return(null==i?void 0:i.ID)||(null==r?void 0:r.ID)||null}isTabIncluded(e){return this.config.tabs.find((t=>t===e))}setConfig(e){this.config=e,Lr.setCurrentLocale(e.locale),this.dispatchEvent("resize",{width:e.width,height:e.height})}hideControls(){this.controlsVisible=!1}showControls(){this.controlsVisible=!0}addEventListener(e,t){this.listeners[e]&&this.listeners[e].push(t)}dispatchEvent(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.listeners[e]&&this.listeners[e].forEach((e=>e(t)))}},Nr=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],Pr=(()=>{if("undefined"==typeof document)return!1;const e=Nr[0],t={};for(const n of Nr){const i=n?.[1];if(i in document){for(const[i,r]of n.entries())t[e[i]]=r;return t}}return!1})(),kr={change:Pr.fullscreenchange,error:Pr.fullscreenerror};let Rr={request:(e=document.documentElement,t)=>new Promise(((n,i)=>{const r=()=>{Rr.off("change",r),n()};Rr.on("change",r);const o=e[Pr.requestFullscreen](t);o instanceof Promise&&o.then(r).catch(i)})),exit:()=>new Promise(((e,t)=>{if(!Rr.isFullscreen)return void e();const n=()=>{Rr.off("change",n),e()};Rr.on("change",n);const i=document[Pr.exitFullscreen]();i instanceof Promise&&i.then(n).catch(t)})),toggle:(e,t)=>Rr.isFullscreen?Rr.exit():Rr.request(e,t),onchange(e){Rr.on("change",e)},onerror(e){Rr.on("error",e)},on(e,t){const n=kr[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=kr[e];n&&document.removeEventListener(n,t,!1)},raw:Pr};Object.defineProperties(Rr,{isFullscreen:{get:()=>Boolean(document[Pr.fullscreenElement])},element:{enumerable:!0,get:()=>document[Pr.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[Pr.fullscreenEnabled])}}),Pr||(Rr={isEnabled:!1});const zr=Rr;function _r(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}pn({useProxies:"never"});const Br=new class{constructor(){_r(this,"enabled",zr.isEnabled),_r(this,"active",!1),_r(this,"element",null),_r(this,"width",null),_r(this,"height",null),kn(this)}init(){this.element=document.querySelector("#widget-application"),this.enabled&&(this.resize(Or.config),zr.on("change",(()=>{setTimeout((()=>{this.active=zr.isFullscreen,this.active?Or.setConfig({...Or.config,width:window.innerWidth,height:window.innerHeight}):Or.setConfig({...Or.config,width:this.width,height:this.height})}),100)})))}async enter(){return await zr.request(this.element)}async exit(){return await zr.exit()}resize(e){let{width:t,height:n}=e;this.width=t,this.height=n}};if(!e.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!function(e,t,n){return Ci((function(){var i=li(e,n)[pe];null!=t||(t=function(e){return $(e,ce)||W(e,ce,ie({},e[ce])),e[ce]}(e)),J(t).forEach((function(e){return i.make_(e,t[e])}))})),e})throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");function jr(e){e()}function Ur(e){return An(Ei(e,t));var t}var Fr=function(){function e(e){var t=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=1e4),clearTimeout(t.sweepTimeout),t.sweepTimeout=void 0;var n=Date.now();t.registrations.forEach((function(i,r){n-i.registeredAt>=e&&(t.finalize(i.value),t.registrations.delete(r))})),t.registrations.size>0&&t.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,n){this.registrations.set(n,{value:t,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.registrations.delete(e)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){void 0===this.sweepTimeout&&(this.sweepTimeout=setTimeout(this.sweep,1e4))}}),e}(),Vr=new("undefined"!=typeof FinalizationRegistry?FinalizationRegistry:Fr)((function(e){var t;null===(t=e.reaction)||void 0===t||t.dispose(),e.reaction=null})),Hr=!1;function Qr(){return Hr}var Wr=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return a};function Gr(e){return"observer".concat(e)}var Yr=function(){};function qr(){return new Yr}var Xr="function"==typeof Symbol&&Symbol.for,Zr=Xr?Symbol.for("react.forward_ref"):"function"==typeof e.forwardRef&&(0,e.forwardRef)((function(e){return null})).$$typeof,Jr=Xr?Symbol.for("react.memo"):"function"==typeof e.memo&&(0,e.memo)((function(e){return null})).$$typeof;function Kr(t,n){var i;if(Jr&&t.$$typeof===Jr)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");if(Qr())return t;var r=null!==(i=null==n?void 0:n.forwardRef)&&void 0!==i&&i,o=t,a=t.displayName||t.name;if(Zr&&t.$$typeof===Zr&&(r=!0,"function"!=typeof(o=t.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var s,l,c=function(t,n){return function(t,n){if(void 0===n&&(n="observed"),Qr())return t();var i=Wr(e.useState(qr),1)[0],r=Wr(e.useState(),2)[1],o=function(){return r([])},a=e.useRef(null);a.current||(a.current={reaction:null,mounted:!1,changedBeforeMount:!1});var s,l,c=a.current;if(c.reaction||(c.reaction=new Qt(Gr(n),(function(){c.mounted?o():c.changedBeforeMount=!0})),Vr.register(i,c,c)),e.useDebugValue(c.reaction,Ur),e.useEffect((function(){return Vr.unregister(c),c.mounted=!0,c.reaction?c.changedBeforeMount&&(c.changedBeforeMount=!1,o()):(c.reaction=new Qt(Gr(n),(function(){o()})),o()),function(){c.reaction.dispose(),c.reaction=null,c.mounted=!1,c.changedBeforeMount=!1}}),[]),c.reaction.track((function(){try{s=t()}catch(e){l=e}})),l)throw l;return s}((function(){return o(t,n)}),a)};return""!==a&&(c.displayName=a),t.contextTypes&&(c.contextTypes=t.contextTypes),r&&(c=(0,e.forwardRef)(c)),c=(0,e.memo)(c),s=t,l=c,Object.keys(s).forEach((function(e){$r[e]||Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(s,e))})),c}var $r={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};!function(e){e||(e=jr),pn({reactionScheduler:e})}(Bi.unstable_batchedUpdates),Vr.finalizeAllImmediately;const eo={smallMobile:374,mobile:670,tablet:1100,laptop:1440};var to=r(874),no=r.n(to);function io(e,t,n){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,n)}function ro(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,ao(e,t,"get"))}function oo(e,t,n){return function(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}(e,ao(e,t,"set"),n),n}function ao(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}var so=new WeakMap,lo=new WeakMap,co=new WeakMap;const uo=class{constructor(e,t){io(this,so,{writable:!0,value:null}),io(this,lo,{writable:!0,value:null}),io(this,co,{writable:!0,value:null}),oo(this,lo,t),oo(this,co,{container:{mousedown:e=>{0===e.button&&oo(this,so,e.pageX)},touchstart:e=>oo(this,so,e.touches[0].clientX),touchend:()=>oo(this,so,null)},prev:{mousedown:t=>{t.preventDefault(),e.play(!0)},mouseup:t=>{t.preventDefault(),e.stop()},touchstart:t=>{t.preventDefault(),e.prev()}},next:{mousedown:t=>{t.preventDefault(),e.play()},mouseup:t=>{t.preventDefault(),e.stop()},touchstart:t=>{t.preventDefault(),e.next()}},global:{mouseup:()=>oo(this,so,null),mousemove:t=>{ro(this,so)&&Math.abs(ro(this,so)-t.pageX)>ro(this,lo).dragTolerance&&(e.stop(),ro(this,so)>t.pageX?e.prev():e.next(),oo(this,so,t.pageX))},touchmove:t=>{2!==t.touches.length&&(1===t.touches.length&&t.stopPropagation(),ro(this,so)&&Math.abs(ro(this,so)-t.touches[0].clientX)>ro(this,lo).swipeTolerance&&(e.stop(),ro(this,so)>t.touches[0].clientX?e.prev():e.next(),oo(this,so,t.touches[0].clientX)))},keydown:t=>{[37,39].includes(t.keyCode)&&e.play(37===t.keyCode)},keyup:t=>{[37,39].includes(t.keyCode)&&e.stop()}}}),this._initEvents()}destroy(){ro(this,lo).swipeTarget.removeEventListener("mousedown",ro(this,co).container.mousedown),ro(this,lo).swipeTarget.removeEventListener("touchstart",ro(this,co).container.touchstart),ro(this,lo).swipeTarget.removeEventListener("touchend",ro(this,co).container.touchend),r.g.removeEventListener("mouseup",ro(this,co).global.mouseup),r.g.removeEventListener("mousemove",ro(this,co).global.mousemove),ro(this,lo).parentElement.removeEventListener("touchmove",ro(this,co).global.touchmove),r.g.removeEventListener("keydown",ro(this,co).global.keydown),r.g.removeEventListener("keyup",ro(this,co).global.keyup),ro(this,lo).prev&&(ro(this,lo).prev.removeEventListener("mousedown",ro(this,co).prev.mousedown),ro(this,lo).prev.removeEventListener("mouseup",ro(this,co).prev.mouseup),ro(this,lo).prev.removeEventListener("touchstart",ro(this,co).prev.touchstart)),ro(this,lo).next&&(ro(this,lo).next.removeEventListener("mousedown",ro(this,co).next.mousedown),ro(this,lo).next.removeEventListener("mouseup",ro(this,co).next.mouseup),ro(this,lo).next.removeEventListener("touchstart",ro(this,co).next.touchstart))}_initEvents(){ro(this,lo).draggable&&(ro(this,lo).swipeTarget.addEventListener("mousedown",ro(this,co).container.mousedown),r.g.addEventListener("mouseup",ro(this,co).global.mouseup),r.g.addEventListener("mousemove",ro(this,co).global.mousemove)),ro(this,lo).swipeable&&(ro(this,lo).swipeTarget.addEventListener("touchstart",ro(this,co).container.touchstart),ro(this,lo).swipeTarget.addEventListener("touchend",ro(this,co).container.touchend),ro(this,lo).parentElement.addEventListener("touchmove",ro(this,co).global.touchmove)),ro(this,lo).keys&&(r.g.addEventListener("keydown",ro(this,co).global.keydown),r.g.addEventListener("keyup",ro(this,co).global.keyup)),ro(this,lo).prev&&(ro(this,lo).prev.addEventListener("mousedown",ro(this,co).prev.mousedown),ro(this,lo).prev.addEventListener("mouseup",ro(this,co).prev.mouseup),ro(this,lo).prev.addEventListener("touchstart",ro(this,co).prev.touchstart)),ro(this,lo).next&&(ro(this,lo).next.addEventListener("mousedown",ro(this,co).next.mousedown),ro(this,lo).next.addEventListener("mouseup",ro(this,co).next.mouseup),ro(this,lo).next.addEventListener("touchstart",ro(this,co).next.touchstart))}};function ho(e,t,n){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,n)}function po(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,Ao(e,t,"get"))}function fo(e,t,n){return function(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}(e,Ao(e,t,"set"),n),n}function Ao(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}var mo=new WeakMap,go=new WeakMap,vo=new WeakMap,yo=new WeakMap,bo=new WeakMap,wo=new WeakMap;const xo=class{constructor(e,t){ho(this,mo,{writable:!0,value:null}),ho(this,go,{writable:!0,value:0}),ho(this,vo,{writable:!0,value:null}),ho(this,yo,{writable:!0,value:!1}),ho(this,bo,{writable:!0,value:null}),ho(this,wo,{writable:!0,value:!1}),this.container=e,fo(this,mo,Object.assign({width:300,height:300,aspectRatio:0,count:0,perRow:0,speed:100,dragTolerance:10,swipeTolerance:10,draggable:!0,swipeable:!0,keys:!0,inverted:!1},t)),po(this,mo).swipeTarget=po(this,mo).swipeTarget||this.container,fo(this,wo,!Array.isArray(po(this,mo).image)),this.sprite||(po(this,mo).count=po(this,mo).image.length),Object.freeze(po(this,mo)),fo(this,bo,new uo(this,po(this,mo))),this._windowResizeListener=this._windowResizeListener.bind(this),this._initContainer()}get isResponsive(){return po(this,mo).aspectRatio>0}get containerWidth(){return this.isResponsive?this.container.clientWidth:po(this,mo).width}get containerHeight(){return this.isResponsive?this.container.clientWidth*po(this,mo).aspectRatio:po(this,mo).height}get index(){return po(this,go)}get looping(){return po(this,yo)}get sprite(){return po(this,wo)}next(){this.goto(po(this,mo).inverted?po(this,go)-1:po(this,go)+1)}prev(){this.goto(po(this,mo).inverted?po(this,go)+1:po(this,go)-1)}goto(e){fo(this,go,(po(this,mo).count+e)%po(this,mo).count),this._update()}play(e){this.looping||(this._loop(e),fo(this,yo,!0))}stop(){this.looping&&(r.g.clearTimeout(po(this,vo)),fo(this,yo,!1))}toggle(e){this.looping?this.stop():this.play(e)}destroy(){this.stop(),po(this,bo).destroy(),this.container.style.width="",this.container.style.height="",this.container.style.backgroundImage="",this.container.style.backgroundPositionX="",this.container.style.backgroundPositionY="",this.container.style.backgroundSize="",this.isResponsive&&window.removeEventListener("resize",this._windowResizeListener)}_loop(e){e?this.prev():this.next(),fo(this,vo,r.g.setTimeout((()=>{this._loop(e)}),po(this,mo).speed))}_update(){this.sprite?(this.container.style.backgroundPositionX=-po(this,go)%po(this,mo).perRow*this.containerWidth+"px",this.container.style.backgroundPositionY=-Math.floor(po(this,go)/po(this,mo).perRow)*this.containerHeight+"px"):this.container.style.backgroundImage='url("'.concat(po(this,mo).image[po(this,go)],'")')}_windowResizeListener(){this.container.style.height=this.containerHeight+"px",this._update()}_initContainer(){if(this.isResponsive||(this.container.style.width=this.containerWidth+"px"),this.container.style.height=this.containerHeight+"px",this.sprite){this.container.style.backgroundImage='url("'.concat(po(this,mo).image,'")');const e=po(this,mo).perRow,t=Math.ceil(po(this,mo).count/po(this,mo).perRow);this.container.style.backgroundSize=100*e+"% "+100*t+"%"}this.isResponsive&&window.addEventListener("resize",this._windowResizeListener),this._update()}},Mo={DEFAULT:0,THREESIXTY:1},Eo=e=>{e.preventDefault()},So=t=>{let{initialized:n,images:i,activeIndex:r}=t;return e.createElement(e.Fragment,null,e.createElement("div",{className:"widget-tab__threesixty ".concat(n?"widget-tab__threesixty--active":"")},e.createElement("div",{className:"widget-tab__threesixty-container",onTouchMove:e=>{e.touches.length>1||n||e.stopPropagation()}},i.map(((t,n)=>e.createElement("img",{className:r===n?"active":"",alt:"rotation-view-".concat(n),key:n,src:t}))))))},To=t=>{let{steps:n=[],disabled:i=!1,onClick:r=(()=>{})}=t;const o=Lr.getLocaleText("instructions-hint-text");return e.createElement("div",{className:"widget-instructions",onClick:()=>{i||r()}},e.createElement("div",{className:"widget-instructions__content",onClick:e=>e.stopPropagation()},e.createElement("div",{className:"widget-instructions__steps"},n.map(((t,n)=>{let{text:i,icon:r}=t;return e.createElement("div",{className:"widget-instructions__step",key:n},e.createElement("img",{src:r,alt:"step-icon"}),e.createElement("p",null,i))}))),e.createElement("button",{disabled:i,onClick:r,type:"button"},Lr.getLocaleText("ok")),Boolean(o)&&e.createElement("div",{className:"widget-instructions__hint"},e.createElement("p",null,o))))},Co=t=>{let{topViewImage:n,activeIndex:i,currentStep:r,planImage:o,images:a,steps:s,setCurrentStep:l,setActiveIndex:c}=t;const u=()=>{const e=s.findIndex((e=>e===r));return s[e+1]||s[0]},h=()=>{const e=i+1;a[e]?c(e):c(0)},d=()=>{const e=i-1;a[e]?c(e):c(a.length-1)};let p={x:0,y:0};const f=()=>p={x:0,y:0};return e.createElement(e.Fragment,null,e.createElement("div",{className:"widget-tab__isometry"},e.createElement("div",{className:"widget-tab__isometry-container",onTouchStart:e=>{if(e.touches.length>1)return;const t=e.touches[0];p={x:t.screenX}},onTouchMove:e=>{if(e.touches.length>1)return;e.stopPropagation();const t=e.touches[0],n=p.x-t.screenX;"carousel"===r&&0!==p.x&&(n>=100?(h(),f()):n<=-100&&(d(),f()))},onTouchEnd:f},e.createElement("img",{className:"widget-tab__isometry--plan ".concat("plan"===r?"active":""),src:o,alt:"plan-view"}),e.createElement("img",{className:"widget-tab__isometry--top-view ".concat("topView"===r?"active":""),src:n,alt:"top-view"}),a.map(((t,n)=>e.createElement("img",{className:"carousel"===r&&i===n?"active":"",alt:"rotation-view-".concat(n),key:n,src:t}))))),"carousel"===r&&e.createElement("div",{className:"widget-tab__isometry-arrows"},e.createElement("button",{className:"widget-tab__isometry-arrow widget-tab__isometry-arrow--prev",onClick:d},e.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI3IDE2SDUiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE0IDdMNSAxNkwxNCAyNSIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",alt:"arrow-left"})),e.createElement("span",null,i+1,"/",a.length),e.createElement("button",{className:"widget-tab__isometry-arrow widget-tab__isometry-arrow--next",onClick:h},e.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTZIMjciIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE4IDdMMjcgMTZMMTggMjUiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==",alt:"arrow-right"}))),e.createElement("div",{className:"widget-tab__isometry-buttons"},s.length>1&&e.createElement("button",{className:"widget-tab__isometry-button",onClick:()=>l(u())},e.createElement("img",{src:(()=>{switch(u()){case"carousel":return"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMTY5OTIgMzUuODU1N0wyNC44MzcgNDMuMTc3TDQxLjg0OTcgMzUuODU1NyIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUyNzEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjYuMzMwMSA0My4xOTQ2TDguODMwMDggMzUuNjk0NkwyNS44MzAxIDI4LjE5NDZMNDIuODMwMSAzNS42OTQ2TDI2LjMzMDEgNDMuMTk0NloiIGZpbGw9IiNDNEM0QzQiLz4KPHBhdGggZD0iTTcuMTY5OTIgMzUuODE5NlYxMy44NTU3TDI0LjgzNyA2LjUzNDQyTDQxLjg0OTcgMTMuODU1N1YzNS44MTk2IiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNTI3MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yNC44MzU5IDYuNjk0NThWMjguMTU4NSIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUyNzEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNNy4xNjk5MiAzNi41MTU5TDI0LjgzNyAyOS4xOTQ2TDQxLjg0OTcgMzYuNTE1OUwyNC44MzcgNDMuODM3Mkw3LjE2OTkyIDM2LjUxNTlaIiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNTI3MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=";case"plan":return"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjUxNDcgMzlMNy41IDMxLjVMMTYuMjUgMjcuNzVMMjAuNjI1IDI1Ljg3NUwyNSAyNy43NUwyOS4zNzUgMjUuODc1TDMzLjc1IDI3Ljc1TDQyLjUgMzEuNUwyNS41MTQ3IDM5WiIgZmlsbD0iI0M0QzRDNCIvPgo8cGF0aCBkPSJNMzAuMTUwOSAyNS4xMjVMMzQuOTM0IDI3LjI1TDQ0LjUgMzEuNUwyNS4zNjc5IDQwTDUuNSAzMS41TDE1LjQzNCAyNy4yNUwyMC40MDA5IDI1LjEyNSIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUyNzEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNNS41IDE4LjVMMjUuMzY3OSAxMEw0NC41IDE4LjVMMjUuMzY3OSAyN0w1LjUgMTguNVoiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==";default:return"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNDkiIHZpZXdCb3g9IjAgMCA1MCA0OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM4Ljk5NzIgMzguODk5NEgxMS4wMDM2QzEwLjc4MjcgMzguODk5NCAxMC42MDM2IDM4LjcyMDMgMTAuNjAzNiAzOC40OTk0TDEwLjYwMzUgMTAuOTk4OUMxMC42MDM1IDEwLjc3OCAxMC43ODI2IDEwLjU5ODkgMTEuMDAzNSAxMC41OTg5SDM4Ljk5NzJDMzkuMjE4MSAxMC41OTg5IDM5LjM5NzIgMTAuNzc4IDM5LjM5NzIgMTAuOTk4OVYzOC40OTk0QzM5LjM5NzIgMzguNzIwMyAzOS4yMTgxIDM4Ljg5OTQgMzguOTk3MiAzOC44OTk0WiIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUyNzEiLz4KPHBhdGggZD0iTTEyLjE2OTkgMTkuMTk0NkgyNC4xMzQxQzI0LjM1NTEgMTkuMTk0NiAyNC41MzQxIDE5LjM3MzcgMjQuNTM0MSAxOS41OTQ2VjM3LjMyMTQiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0zNy44MjA2IDIwLjU5NDVIMzAuOTg0QzMwLjc2MzEgMjAuNTk0NSAzMC41ODQgMjAuNDE1NCAzMC41ODQgMjAuMTk0NVYxMi4xNjg3IiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4K"}})(),alt:"".concat(r,"-icon")}))))},Io="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTIiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA1MiA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzg1NF84MjcyKSI+CjxwYXRoIGQ9Ik0zOC44OTIgNy43NDQ2M0w0NS41Nzk5IDE0LjQzMjVMMzguODkyIDIxLjEyMDQiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTI5Ljk3NDggMTQuNDMyNUw0NS41Nzk5IDE0LjQzMjUiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTguNjgxNjQgMjEuMTIwNEwxLjk5MzczIDE0LjQzMjVMOC42ODE2NCA3Ljc0NDYzIiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNTI3MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNy41OTg5IDE0LjQzMjVMMS45OTM4MyAxNC40MzI1IiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNTI3MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yOC42MDMzIDQzLjE5NzhWMjQuNzc0MkMyOC42MDMzIDIzLjMzNzEgMjguMDMyNCAyMS45NTg4IDI3LjAxNjIgMjAuOTQyNkMyNiAxOS45MjY0IDI0LjYyMTcgMTkuMzU1NSAyMy4xODQ1IDE5LjM1NTVDMjEuNzQ3NCAxOS4zNTU1IDIwLjM2OTEgMTkuOTI2NCAxOS4zNTI5IDIwLjk0MjZDMTguMzM2NyAyMS45NTg4IDE3Ljc2NTggMjMuMzM3MSAxNy43NjU4IDI0Ljc3NDJWNTcuNjI5NUwxMS44MjQ5IDQ3LjMzOTVDMTEuNDY5NCA0Ni43MjI2IDEwLjk5NTggNDYuMTgxOCAxMC40MzEzIDQ1Ljc0OEM5Ljg2NjY4IDQ1LjMxNDMgOS4yMjIxNiA0NC45OTYgOC41MzQ1MSA0NC44MTE0QzcuODQ2ODcgNDQuNjI2OSA3LjEyOTYgNDQuNTc5NiA2LjQyMzcgNDQuNjcyNEM1LjcxNzc5IDQ0Ljc2NTIgNS4wMzcwOSA0NC45OTYyIDQuNDIwNSA0NS4zNTIyQzMuODAzOTEgNDUuNzA4MiAzLjI2MzUyIDQ2LjE4MjIgMi44MzAyMSA0Ni43NDcxQzIuMzk2OSA0Ny4zMTIxIDIuMDc5MTggNDcuOTU2OSAxLjg5NTE5IDQ4LjY0NDdDMS43MTEyMSA0OS4zMzI1IDEuNjY0NTcgNTAuMDQ5OCAxLjc1Nzk0IDUwLjc1NTZDMS44NTEzMiA1MS40NjE0IDIuMDgyODcgNTIuMTQxOSAyLjQzOTM4IDUyLjc1ODJDMTEuMjYzNCA3MS4zNzUyIDE2LjYzMjYgNzcuODc3NiAyOC42MDMzIDc3Ljg3NzZDMzEuNDQ5NyA3Ny44Nzc2IDM0LjI2ODIgNzcuMzE3IDM2Ljg5NzkgNzYuMjI3N0MzOS41Mjc2IDc1LjEzODUgNDEuOTE3IDczLjU0MTkgNDMuOTI5NyA3MS41MjkyQzQ1Ljk0MjQgNjkuNTE2NSA0Ny41MzkgNjcuMTI3MSA0OC42MjgyIDY0LjQ5NzRDNDkuNzE3NSA2MS44Njc3IDUwLjI3ODEgNTkuMDQ5MSA1MC4yNzgxIDU2LjIwMjhWNDUuMzY1M0M1MC4yNzgxIDQzLjkyODIgNDkuNzA3MiA0Mi41NDk5IDQ4LjY5MSA0MS41MzM3QzQ3LjY3NDggNDAuNTE3NSA0Ni4yOTY2IDM5Ljk0NjYgNDQuODU5NCAzOS45NDY2QzQzLjQyMjMgMzkuOTQ2NiA0Mi4wNDQgNDAuNTE3NSA0MS4wMjc4IDQxLjUzMzdDNDAuMDExNiA0Mi41NDk5IDM5LjQ0MDcgNDMuOTI4MiAzOS40NDA3IDQ1LjM2NTMiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTM5LjQ0MDcgNDUuMzY1M1Y0Mi4xMTQxQzM5LjQ0MDcgNDAuNjc3IDM4Ljg2OTggMzkuMjk4NyAzNy44NTM2IDM4LjI4MjVDMzYuODM3NCAzNy4yNjYzIDM1LjQ1OTEgMzYuNjk1NCAzNC4wMjIgMzYuNjk1NEMzMi41ODQ5IDM2LjY5NTQgMzEuMjA2NiAzNy4yNjYzIDMwLjE5MDQgMzguMjgyNUMyOS4xNzQyIDM5LjI5ODcgMjguNjAzMyA0MC42NzcgMjguNjAzMyA0Mi4xMTQxVjQzLjE5NzgiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF84NTRfODI3MiI+CjxyZWN0IHdpZHRoPSI1MiIgaGVpZ2h0PSI4MCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K",Lo=t=>{let{planImage:n,topViewImage:i,images:r,mode:o,disabled:a=!1}=t;const s=[{icon:Io,text:Lr.getLocaleText("rotate-plan")}],[l,c]=(0,e.useState)(!1),[u,h]=(0,e.useState)(null),[d,p]=(0,e.useState)(0),[f,A]=(0,e.useState)(null),[m]=(0,e.useState)((()=>{const e=[];return r&&r.length>0&&e.push("carousel"),n&&e.push("plan"),i&&e.push("topView"),e})()),[g,v]=(0,e.useState)(m[0]);function y(){p(this.index)}return(0,e.useEffect)((()=>{const e=document.querySelector(".widget-tab__threesixty-container"),t=document.querySelector(".widget-tab__isometry-container"),n=o===Mo.THREESIXTY?e:t,i=no()(n,{beforeMouseDown:()=>!0,onTouch:()=>!1,zoomDoubleClickSpeed:1,minZoom:.5,maxZoom:3});h(i)}),[]),e.createElement("div",{className:"widget-tab__rotation",onContextMenu:Eo},o===Mo.THREESIXTY&&e.createElement(So,{initialized:l,activeIndex:d,images:r}),o===Mo.DEFAULT&&e.createElement(Co,{setActiveIndex:p,setCurrentStep:e=>{const{scale:t}=u.getTransform();u.pause(),u.zoomTo(0,0,1/t),u.moveTo(0,0),u.resume(),v(e)},topViewImage:i,activeIndex:d,currentStep:g,planImage:n,images:r,steps:m}),o===Mo.THREESIXTY&&!l&&e.createElement(To,{onClick:()=>{c(!0);const e=document.querySelector(".widget-tab__threesixty-container"),t=document.querySelector(".widget-tab__rotation"),n=new xo(e,{image:[...r],parentElement:t,inverted:!0,speed:300});n._update=y,u.on("panstart",(()=>{n.stop(),n._update=()=>{}})),u.on("panend",(()=>{n.goto(n.index),n._update=y})),A(n)},steps:s,disabled:a}))};var Do=r(238),Oo=r.n(Do);function No(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}pn({useProxies:"never"});const Po="granted",ko=new class{constructor(){No(this,"parser",null),No(this,"deviceOrientationStatus","denied"),No(this,"setDeviceOrientationStatus",(e=>(this.deviceOrientationStatus=e,e))),No(this,"requestDeviceOrientation",(async()=>{try{return DeviceOrientationEvent.requestPermission?await DeviceOrientationEvent.requestPermission().then((e=>this.setDeviceOrientationStatus(e))):this.setDeviceOrientationStatus(Po)}catch(e){console.log(e)}})),kn(this),this.parser=new(Oo())}get device(){return this.parser.getDevice()}get isMobile(){return"mobile"===this.device.type}get isTablet(){return"tablet"===this.device.type}get deviceOrientationGranted(){return this.deviceOrientationStatus===Po}};function Ro(){}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}),void 0===Math.sign&&(Math.sign=function(e){return e<0?-1:e>0?1:+e}),"name"in Function.prototype==0&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(null!=i)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}),Object.assign(Ro.prototype,{addEventListener:function(e,t){void 0===this._listeners&&(this._listeners={});var n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)},hasEventListener:function(e,t){if(void 0===this._listeners)return!1;var n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)},removeEventListener:function(e,t){if(void 0!==this._listeners){var n=this._listeners[e];if(void 0!==n){var i=n.indexOf(t);-1!==i&&n.splice(i,1)}}},dispatchEvent:function(e){if(void 0!==this._listeners){var t=this._listeners[e.type];if(void 0!==t){e.target=this;for(var n=t.slice(0),i=0,r=n.length;i<r;i++)n[i].call(this,e)}}}});var zo,_o,Bo,jo="105",Uo={LEFT:0,MIDDLE:1,RIGHT:2},Fo=0,Vo=1,Ho=2,Qo=1,Wo=2,Go=0,Yo=1,qo=2,Xo=0,Zo=0,Jo=1,Ko=2,$o=3,ea=4,ta=5,na=100,ia=101,ra=102,oa=103,aa=104,sa=200,la=201,ca=202,ua=203,ha=204,da=205,pa=206,fa=207,Aa=208,ma=209,ga=210,va=0,ya=1,ba=2,wa=3,xa=4,Ma=5,Ea=6,Sa=7,Ta=0,Ca=1,Ia=2,La=0,Da=1,Oa=2,Na=3,Pa=4,ka=5,Ra=301,za=302,_a=303,Ba=304,ja=305,Ua=306,Fa=307,Va=1e3,Ha=1001,Qa=1002,Wa=1003,Ga=1004,Ya=1005,qa=1006,Xa=1007,Za=1008,Ja=1009,Ka=1010,$a=1011,es=1012,ts=1013,ns=1014,is=1015,rs=1016,os=1017,as=1018,ss=1019,ls=1020,cs=1021,us=1022,hs=1023,ds=1024,ps=1025,fs=1026,As=1027,ms=1028,gs=33776,vs=33777,ys=33778,bs=33779,ws=35840,xs=35841,Ms=35842,Es=35843,Ss=36196,Ts=37808,Cs=37809,Is=37810,Ls=37811,Ds=37812,Os=37813,Ns=37814,Ps=37815,ks=37816,Rs=37817,zs=37818,_s=37819,Bs=37820,js=37821,Us=2300,Fs=2301,Vs=2302,Hs=2400,Qs=2401,Ws=2402,Gs=0,Ys=1,qs=2,Xs=3e3,Zs=3001,Js=3007,Ks=3002,$s=3004,el=3005,tl=3006,nl=3200,il=3201,rl=0,ol=1,al={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){for(var e=[],t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return function(){var t=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]+"-"+e[255&n]+e[n>>8&255]+"-"+e[n>>16&15|64]+e[n>>24&255]+"-"+e[63&i|128]+e[i>>8&255]+"-"+e[i>>16&255]+e[i>>24&255]+e[255&r]+e[r>>8&255]+e[r>>16&255]+e[r>>24&255]).toUpperCase()}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},euclideanModulo:function(e,t){return(e%t+t)%t},mapLinear:function(e,t,n,i,r){return i+(e-t)*(r-i)/(n-t)},lerp:function(e,t,n){return(1-n)*e+n*t},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},degToRad:function(e){return e*al.DEG2RAD},radToDeg:function(e){return e*al.RAD2DEG},isPowerOfTwo:function(e){return 0==(e&e-1)&&0!==e},ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:function(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}};function sl(e,t){this.x=e||0,this.y=t||0}function ll(e,t,n,i){this._x=e||0,this._y=t||0,this._z=n||0,this._w=void 0!==i?i:1}function cl(e,t,n){this.x=e||0,this.y=t||0,this.z=n||0}function ul(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}Object.defineProperties(sl.prototype,{width:{get:function(){return this.x},set:function(e){this.x=e}},height:{get:function(){return this.y},set:function(e){this.y=e}}}),Object.assign(sl.prototype,{isVector2:!0,set:function(e,t){return this.x=e,this.y=t,this},setScalar:function(e){return this.x=e,this.y=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(e){return this.x=e.x,this.y=e.y,this},add:function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)},addScalar:function(e){return this.x+=e,this.y+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this},sub:function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)},subScalar:function(e){return this.x-=e,this.y-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this},multiply:function(e){return this.x*=e.x,this.y*=e.y,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this},divide:function(e){return this.x/=e.x,this.y/=e.y,this},divideScalar:function(e){return this.multiplyScalar(1/e)},applyMatrix3:function(e){var t=this.x,n=this.y,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6],this.y=i[1]*t+i[4]*n+i[7],this},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this},clampScalar:function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this},clampLength:function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(e){return this.x*e.x+this.y*e.y},cross:function(e){return this.x*e.y-this.y*e.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var e=Math.atan2(this.y,this.x);return e<0&&(e+=2*Math.PI),e},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y;return t*t+n*n},manhattanDistanceTo:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this},rotateAround:function(e,t){var n=Math.cos(t),i=Math.sin(t),r=this.x-e.x,o=this.y-e.y;return this.x=r*n-o*i+e.x,this.y=r*i+o*n+e.y,this}}),Object.assign(ll,{slerp:function(e,t,n,i){return n.copy(e).slerp(t,i)},slerpFlat:function(e,t,n,i,r,o,a){var s=n[i+0],l=n[i+1],c=n[i+2],u=n[i+3],h=r[o+0],d=r[o+1],p=r[o+2],f=r[o+3];if(u!==f||s!==h||l!==d||c!==p){var A=1-a,m=s*h+l*d+c*p+u*f,g=m>=0?1:-1,v=1-m*m;if(v>Number.EPSILON){var y=Math.sqrt(v),b=Math.atan2(y,m*g);A=Math.sin(A*b)/y,a=Math.sin(a*b)/y}var w=a*g;if(s=s*A+h*w,l=l*A+d*w,c=c*A+p*w,u=u*A+f*w,A===1-a){var x=1/Math.sqrt(s*s+l*l+c*c+u*u);s*=x,l*=x,c*=x,u*=x}}e[t]=s,e[t+1]=l,e[t+2]=c,e[t+3]=u}}),Object.defineProperties(ll.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(e){this._y=e,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(e){this._z=e,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(e){this._w=e,this.onChangeCallback()}}}),Object.assign(ll.prototype,{isQuaternion:!0,set:function(e,t,n,i){return this._x=e,this._y=t,this._z=n,this._w=i,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this.onChangeCallback(),this},setFromEuler:function(e,t){if(!e||!e.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=e._x,i=e._y,r=e._z,o=e.order,a=Math.cos,s=Math.sin,l=a(n/2),c=a(i/2),u=a(r/2),h=s(n/2),d=s(i/2),p=s(r/2);return"XYZ"===o?(this._x=h*c*u+l*d*p,this._y=l*d*u-h*c*p,this._z=l*c*p+h*d*u,this._w=l*c*u-h*d*p):"YXZ"===o?(this._x=h*c*u+l*d*p,this._y=l*d*u-h*c*p,this._z=l*c*p-h*d*u,this._w=l*c*u+h*d*p):"ZXY"===o?(this._x=h*c*u-l*d*p,this._y=l*d*u+h*c*p,this._z=l*c*p+h*d*u,this._w=l*c*u-h*d*p):"ZYX"===o?(this._x=h*c*u-l*d*p,this._y=l*d*u+h*c*p,this._z=l*c*p-h*d*u,this._w=l*c*u+h*d*p):"YZX"===o?(this._x=h*c*u+l*d*p,this._y=l*d*u+h*c*p,this._z=l*c*p-h*d*u,this._w=l*c*u-h*d*p):"XZY"===o&&(this._x=h*c*u-l*d*p,this._y=l*d*u-h*c*p,this._z=l*c*p+h*d*u,this._w=l*c*u+h*d*p),!1!==t&&this.onChangeCallback(),this},setFromAxisAngle:function(e,t){var n=t/2,i=Math.sin(n);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(n),this.onChangeCallback(),this},setFromRotationMatrix:function(e){var t,n=e.elements,i=n[0],r=n[4],o=n[8],a=n[1],s=n[5],l=n[9],c=n[2],u=n[6],h=n[10],d=i+s+h;return d>0?(t=.5/Math.sqrt(d+1),this._w=.25/t,this._x=(u-l)*t,this._y=(o-c)*t,this._z=(a-r)*t):i>s&&i>h?(t=2*Math.sqrt(1+i-s-h),this._w=(u-l)/t,this._x=.25*t,this._y=(r+a)/t,this._z=(o+c)/t):s>h?(t=2*Math.sqrt(1+s-i-h),this._w=(o-c)/t,this._x=(r+a)/t,this._y=.25*t,this._z=(l+u)/t):(t=2*Math.sqrt(1+h-i-s),this._w=(a-r)/t,this._x=(o+c)/t,this._y=(l+u)/t,this._z=.25*t),this.onChangeCallback(),this},setFromUnitVectors:function(e,t){var n=e.dot(t)+1;return n<1e-6?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()},angleTo:function(e){return 2*Math.acos(Math.abs(al.clamp(this.dot(e),-1,1)))},rotateTowards:function(e,t){var n=this.angleTo(e);if(0===n)return this;var i=Math.min(1,t/n);return this.slerp(e,i),this},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this.onChangeCallback(),this},multiply:function(e,t){return void 0!==t?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)},premultiply:function(e){return this.multiplyQuaternions(e,this)},multiplyQuaternions:function(e,t){var n=e._x,i=e._y,r=e._z,o=e._w,a=t._x,s=t._y,l=t._z,c=t._w;return this._x=n*c+o*a+i*l-r*s,this._y=i*c+o*s+r*a-n*l,this._z=r*c+o*l+n*s-i*a,this._w=o*c-n*a-i*s-r*l,this.onChangeCallback(),this},slerp:function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var n=this._x,i=this._y,r=this._z,o=this._w,a=o*e._w+n*e._x+i*e._y+r*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=n,this._y=i,this._z=r,this;var s=1-a*a;if(s<=Number.EPSILON){var l=1-t;return this._w=l*o+t*this._w,this._x=l*n+t*this._x,this._y=l*i+t*this._y,this._z=l*r+t*this._z,this.normalize()}var c=Math.sqrt(s),u=Math.atan2(c,a),h=Math.sin((1-t)*u)/c,d=Math.sin(t*u)/c;return this._w=o*h+this._w*d,this._x=n*h+this._x*d,this._y=i*h+this._y*d,this._z=r*h+this._z*d,this.onChangeCallback(),this},equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w},fromArray:function(e,t){return void 0===t&&(t=0),this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}}),Object.assign(cl.prototype,{isVector3:!0,set:function(e,t,n){return this.x=e,this.y=t,this.z=n,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},add:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this},sub:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},multiply:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this},multiplyVectors:function(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this},applyEuler:(_o=new ll,function(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(_o.setFromEuler(e))}),applyAxisAngle:function(){var e=new ll;return function(t,n){return this.applyQuaternion(e.setFromAxisAngle(t,n))}}(),applyMatrix3:function(e){var t=this.x,n=this.y,i=this.z,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6]*i,this.y=r[1]*t+r[4]*n+r[7]*i,this.z=r[2]*t+r[5]*n+r[8]*i,this},applyMatrix4:function(e){var t=this.x,n=this.y,i=this.z,r=e.elements,o=1/(r[3]*t+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*t+r[4]*n+r[8]*i+r[12])*o,this.y=(r[1]*t+r[5]*n+r[9]*i+r[13])*o,this.z=(r[2]*t+r[6]*n+r[10]*i+r[14])*o,this},applyQuaternion:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z,s=e.w,l=s*t+o*i-a*n,c=s*n+a*t-r*i,u=s*i+r*n-o*t,h=-r*t-o*n-a*i;return this.x=l*s+h*-r+c*-a-u*-o,this.y=c*s+h*-o+u*-r-l*-a,this.z=u*s+h*-a+l*-o-c*-r,this},project:function(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)},unproject:function(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)},transformDirection:function(e){var t=this.x,n=this.y,i=this.z,r=e.elements;return this.x=r[0]*t+r[4]*n+r[8]*i,this.y=r[1]*t+r[5]*n+r[9]*i,this.z=r[2]*t+r[6]*n+r[10]*i,this.normalize()},divide:function(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this},clampScalar:function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this},clampLength:function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},cross:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)},crossVectors:function(e,t){var n=e.x,i=e.y,r=e.z,o=t.x,a=t.y,s=t.z;return this.x=i*s-r*a,this.y=r*o-n*s,this.z=n*a-i*o,this},projectOnVector:function(e){var t=e.dot(this)/e.lengthSq();return this.copy(e).multiplyScalar(t)},projectOnPlane:(zo=new cl,function(e){return zo.copy(this).projectOnVector(e),this.sub(zo)}),reflect:function(){var e=new cl;return function(t){return this.sub(e.copy(t).multiplyScalar(2*this.dot(t)))}}(),angleTo:function(e){var t=this.dot(e)/Math.sqrt(this.lengthSq()*e.lengthSq());return Math.acos(al.clamp(t,-1,1))},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return t*t+n*n+i*i},manhattanDistanceTo:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)},setFromSpherical:function(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)},setFromSphericalCoords:function(e,t,n){var i=Math.sin(t)*e;return this.x=i*Math.sin(n),this.y=Math.cos(t)*e,this.z=i*Math.cos(n),this},setFromCylindrical:function(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)},setFromCylindricalCoords:function(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this},setFromMatrixPosition:function(e){var t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this},setFromMatrixScale:function(e){var t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=i,this},setFromMatrixColumn:function(e,t){return this.fromArray(e.elements,4*t)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}}),Object.assign(ul.prototype,{isMatrix3:!0,set:function(e,t,n,i,r,o,a,s,l){var c=this.elements;return c[0]=e,c[1]=i,c[2]=a,c[3]=t,c[4]=r,c[5]=s,c[6]=n,c[7]=o,c[8]=l,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(e){var t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this},setFromMatrix4:function(e){var t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},applyToBufferAttribute:function(){var e=new cl;return function(t){for(var n=0,i=t.count;n<i;n++)e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.applyMatrix3(this),t.setXYZ(n,e.x,e.y,e.z);return t}}(),multiply:function(e){return this.multiplyMatrices(this,e)},premultiply:function(e){return this.multiplyMatrices(e,this)},multiplyMatrices:function(e,t){var n=e.elements,i=t.elements,r=this.elements,o=n[0],a=n[3],s=n[6],l=n[1],c=n[4],u=n[7],h=n[2],d=n[5],p=n[8],f=i[0],A=i[3],m=i[6],g=i[1],v=i[4],y=i[7],b=i[2],w=i[5],x=i[8];return r[0]=o*f+a*g+s*b,r[3]=o*A+a*v+s*w,r[6]=o*m+a*y+s*x,r[1]=l*f+c*g+u*b,r[4]=l*A+c*v+u*w,r[7]=l*m+c*y+u*x,r[2]=h*f+d*g+p*b,r[5]=h*A+d*v+p*w,r[8]=h*m+d*y+p*x,this},multiplyScalar:function(e){var t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this},determinant:function(){var e=this.elements,t=e[0],n=e[1],i=e[2],r=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8];return t*o*c-t*a*l-n*r*c+n*a*s+i*r*l-i*o*s},getInverse:function(e,t){e&&e.isMatrix4&&console.error("THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument.");var n=e.elements,i=this.elements,r=n[0],o=n[1],a=n[2],s=n[3],l=n[4],c=n[5],u=n[6],h=n[7],d=n[8],p=d*l-c*h,f=c*u-d*s,A=h*s-l*u,m=r*p+o*f+a*A;if(0===m){var g="THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0";if(!0===t)throw new Error(g);return console.warn(g),this.identity()}var v=1/m;return i[0]=p*v,i[1]=(a*h-d*o)*v,i[2]=(c*o-a*l)*v,i[3]=f*v,i[4]=(d*r-a*u)*v,i[5]=(a*s-c*r)*v,i[6]=A*v,i[7]=(o*u-h*r)*v,i[8]=(l*r-o*s)*v,this},transpose:function(){var e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this},getNormalMatrix:function(e){return this.setFromMatrix4(e).getInverse(this).transpose()},transposeIntoArray:function(e){var t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this},setUvTransform:function(e,t,n,i,r,o,a){var s=Math.cos(r),l=Math.sin(r);this.set(n*s,n*l,-n*(s*o+l*a)+o+e,-i*l,i*s,-i*(-l*o+s*a)+a+t,0,0,1)},scale:function(e,t){var n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=t,n[4]*=t,n[7]*=t,this},rotate:function(e){var t=Math.cos(e),n=Math.sin(e),i=this.elements,r=i[0],o=i[3],a=i[6],s=i[1],l=i[4],c=i[7];return i[0]=t*r+n*s,i[3]=t*o+n*l,i[6]=t*a+n*c,i[1]=-n*r+t*s,i[4]=-n*o+t*l,i[7]=-n*a+t*c,this},translate:function(e,t){var n=this.elements;return n[0]+=e*n[2],n[3]+=e*n[5],n[6]+=e*n[8],n[1]+=t*n[2],n[4]+=t*n[5],n[7]+=t*n[8],this},equals:function(e){for(var t=this.elements,n=e.elements,i=0;i<9;i++)if(t[i]!==n[i])return!1;return!0},fromArray:function(e,t){void 0===t&&(t=0);for(var n=0;n<9;n++)this.elements[n]=e[n+t];return this},toArray:function(e,t){void 0===e&&(e=[]),void 0===t&&(t=0);var n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}});var hl,dl,pl,fl,Al,ml,gl,vl,yl,bl,wl,xl,Ml={getDataURL:function(e){var t;if("undefined"==typeof HTMLCanvasElement)return e.src;if(e instanceof HTMLCanvasElement)t=e;else{void 0===Bo&&(Bo=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),Bo.width=e.width,Bo.height=e.height;var n=Bo.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=Bo}return t.width>2048||t.height>2048?t.toDataURL("image/jpeg",.6):t.toDataURL("image/png")}},El=0;function Sl(e,t,n,i,r,o,a,s,l,c){Object.defineProperty(this,"id",{value:El++}),this.uuid=al.generateUUID(),this.name="",this.image=void 0!==e?e:Sl.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==t?t:Sl.DEFAULT_MAPPING,this.wrapS=void 0!==n?n:Ha,this.wrapT=void 0!==i?i:Ha,this.magFilter=void 0!==r?r:qa,this.minFilter=void 0!==o?o:Za,this.anisotropy=void 0!==l?l:1,this.format=void 0!==a?a:hs,this.type=void 0!==s?s:Ja,this.offset=new sl(0,0),this.repeat=new sl(1,1),this.center=new sl(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new ul,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==c?c:Xs,this.version=0,this.onUpdate=null}function Tl(e,t,n,i){this.x=e||0,this.y=t||0,this.z=n||0,this.w=void 0!==i?i:1}function Cl(e,t,n){this.width=e,this.height=t,this.scissor=new Tl(0,0,e,t),this.scissorTest=!1,this.viewport=new Tl(0,0,e,t),n=n||{},this.texture=new Sl(void 0,void 0,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps,this.texture.minFilter=void 0!==n.minFilter?n.minFilter:qa,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}function Il(e,t,n){Cl.call(this,e,t,n),this.samples=4}function Ll(e,t,n){Cl.call(this,e,t,n)}function Dl(e,t,n,i,r,o,a,s,l,c,u,h){Sl.call(this,null,o,a,s,l,c,i,r,u,h),this.image={data:e,width:t,height:n},this.magFilter=void 0!==l?l:Wa,this.minFilter=void 0!==c?c:Wa,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}function Ol(e,t){this.min=void 0!==e?e:new cl(1/0,1/0,1/0),this.max=void 0!==t?t:new cl(-1/0,-1/0,-1/0)}function Nl(e,t){this.center=void 0!==e?e:new cl,this.radius=void 0!==t?t:0}function Pl(e,t){this.normal=void 0!==e?e:new cl(1,0,0),this.constant=void 0!==t?t:0}function kl(e,t,n,i,r,o){this.planes=[void 0!==e?e:new Pl,void 0!==t?t:new Pl,void 0!==n?n:new Pl,void 0!==i?i:new Pl,void 0!==r?r:new Pl,void 0!==o?o:new Pl]}function Rl(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}Sl.DEFAULT_IMAGE=void 0,Sl.DEFAULT_MAPPING=300,Sl.prototype=Object.assign(Object.create(Ro.prototype),{constructor:Sl,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this},toJSON:function(e){var t=void 0===e||"string"==typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];var n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,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,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){var i=this.image;if(void 0===i.uuid&&(i.uuid=al.generateUUID()),!t&&void 0===e.images[i.uuid]){var r;if(Array.isArray(i)){r=[];for(var o=0,a=i.length;o<a;o++)r.push(Ml.getDataURL(i[o]))}else r=Ml.getDataURL(i);e.images[i.uuid]={uuid:i.uuid,url:r}}n.image=i.uuid}return t||(e.textures[this.uuid]=n),n},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(e){if(300!==this.mapping)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Va:e.x=e.x-Math.floor(e.x);break;case Ha:e.x=e.x<0?0:1;break;case Qa:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case Va:e.y=e.y-Math.floor(e.y);break;case Ha:e.y=e.y<0?0:1;break;case Qa:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}}),Object.defineProperty(Sl.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(Tl.prototype,{isVector4:!0,set:function(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this.w=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setW:function(e){return this.w=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){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: "+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this},add:function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this},sub:function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this},applyMatrix4:function(e){var t=this.x,n=this.y,i=this.z,r=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*i+o[12]*r,this.y=o[1]*t+o[5]*n+o[9]*i+o[13]*r,this.z=o[2]*t+o[6]*n+o[10]*i+o[14]*r,this.w=o[3]*t+o[7]*n+o[11]*i+o[15]*r,this},divideScalar:function(e){return this.multiplyScalar(1/e)},setAxisAngleFromQuaternion:function(e){this.w=2*Math.acos(e.w);var t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this},setAxisAngleFromRotationMatrix:function(e){var t,n,i,r,o=.01,a=.1,s=e.elements,l=s[0],c=s[4],u=s[8],h=s[1],d=s[5],p=s[9],f=s[2],A=s[6],m=s[10];if(Math.abs(c-h)<o&&Math.abs(u-f)<o&&Math.abs(p-A)<o){if(Math.abs(c+h)<a&&Math.abs(u+f)<a&&Math.abs(p+A)<a&&Math.abs(l+d+m-3)<a)return this.set(1,0,0,0),this;t=Math.PI;var g=(l+1)/2,v=(d+1)/2,y=(m+1)/2,b=(c+h)/4,w=(u+f)/4,x=(p+A)/4;return g>v&&g>y?g<o?(n=0,i=.707106781,r=.707106781):(i=b/(n=Math.sqrt(g)),r=w/n):v>y?v<o?(n=.707106781,i=0,r=.707106781):(n=b/(i=Math.sqrt(v)),r=x/i):y<o?(n=.707106781,i=.707106781,r=0):(n=w/(r=Math.sqrt(y)),i=x/r),this.set(n,i,r,t),this}var M=Math.sqrt((A-p)*(A-p)+(u-f)*(u-f)+(h-c)*(h-c));return Math.abs(M)<.001&&(M=1),this.x=(A-p)/M,this.y=(u-f)/M,this.z=(h-c)/M,this.w=Math.acos((l+d+m-1)/2),this},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this},clampScalar:function(){var e,t;return function(n,i){return void 0===e&&(e=new Tl,t=new Tl),e.set(n,n,n,n),t.set(i,i,i,i),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},floor:function(){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:function(){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:function(){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:function(){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:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}}),Cl.prototype=Object.assign(Object.create(Ro.prototype),{constructor:Cl,isWebGLRenderTarget:!0,setSize:function(e,t){this.width===e&&this.height===t||(this.width=e,this.height=t,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.width=e.width,this.height=e.height,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Il.prototype=Object.assign(Object.create(Cl.prototype),{constructor:Il,isWebGLMultisampleRenderTarget:!0,copy:function(e){return Cl.prototype.copy.call(this,e),this.samples=e.samples,this}}),Ll.prototype=Object.create(Cl.prototype),Ll.prototype.constructor=Ll,Ll.prototype.isWebGLRenderTargetCube=!0,Dl.prototype=Object.create(Sl.prototype),Dl.prototype.constructor=Dl,Dl.prototype.isDataTexture=!0,Object.assign(Ol.prototype,{isBox3:!0,set:function(e,t){return this.min.copy(e),this.max.copy(t),this},setFromArray:function(e){for(var t=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=0,l=e.length;s<l;s+=3){var c=e[s],u=e[s+1],h=e[s+2];c<t&&(t=c),u<n&&(n=u),h<i&&(i=h),c>r&&(r=c),u>o&&(o=u),h>a&&(a=h)}return this.min.set(t,n,i),this.max.set(r,o,a),this},setFromBufferAttribute:function(e){for(var t=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=0,l=e.count;s<l;s++){var c=e.getX(s),u=e.getY(s),h=e.getZ(s);c<t&&(t=c),u<n&&(n=u),h<i&&(i=h),c>r&&(r=c),u>o&&(o=u),h>a&&(a=h)}return this.min.set(t,n,i),this.max.set(r,o,a),this},setFromPoints:function(e){this.makeEmpty();for(var t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this},setFromCenterAndSize:function(){var e=new cl;return function(t,n){var i=e.copy(n).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this}}(),setFromObject:function(e){return this.makeEmpty(),this.expandByObject(e)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.min.copy(e.min),this.max.copy(e.max),this},makeEmpty:function(){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:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(e){return void 0===e&&(console.warn("THREE.Box3: .getCenter() target is now required"),e=new cl),this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(e){return void 0===e&&(console.warn("THREE.Box3: .getSize() target is now required"),e=new cl),this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)},expandByPoint:function(e){return this.min.min(e),this.max.max(e),this},expandByVector:function(e){return this.min.sub(e),this.max.add(e),this},expandByScalar:function(e){return this.min.addScalar(-e),this.max.addScalar(e),this},expandByObject:function(){var e,t,n,i=new cl;function r(r){var o=r.geometry;if(void 0!==o)if(o.isGeometry){var a=o.vertices;for(t=0,n=a.length;t<n;t++)i.copy(a[t]),i.applyMatrix4(r.matrixWorld),e.expandByPoint(i)}else if(o.isBufferGeometry){var s=o.attributes.position;if(void 0!==s)for(t=0,n=s.count;t<n;t++)i.fromBufferAttribute(s,t).applyMatrix4(r.matrixWorld),e.expandByPoint(i)}}return function(t){return e=this,t.updateMatrixWorld(!0),t.traverse(r),this}}(),containsPoint:function(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z},getParameter:function(e,t){return void 0===t&&(console.warn("THREE.Box3: .getParameter() target is now required"),t=new cl),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)},intersectsSphere:(dl=new cl,function(e){return this.clampPoint(e.center,dl),dl.distanceToSquared(e.center)<=e.radius*e.radius}),intersectsPlane:function(e){var t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant},intersectsTriangle:function(){var e=new cl,t=new cl,n=new cl,i=new cl,r=new cl,o=new cl,a=new cl,s=new cl,l=new cl,c=new cl;function u(i){var r,o;for(r=0,o=i.length-3;r<=o;r+=3){a.fromArray(i,r);var s=l.x*Math.abs(a.x)+l.y*Math.abs(a.y)+l.z*Math.abs(a.z),c=e.dot(a),u=t.dot(a),h=n.dot(a);if(Math.max(-Math.max(c,u,h),Math.min(c,u,h))>s)return!1}return!0}return function(a){if(this.isEmpty())return!1;this.getCenter(s),l.subVectors(this.max,s),e.subVectors(a.a,s),t.subVectors(a.b,s),n.subVectors(a.c,s),i.subVectors(t,e),r.subVectors(n,t),o.subVectors(e,n);var h=[0,-i.z,i.y,0,-r.z,r.y,0,-o.z,o.y,i.z,0,-i.x,r.z,0,-r.x,o.z,0,-o.x,-i.y,i.x,0,-r.y,r.x,0,-o.y,o.x,0];return!!u(h)&&!!u(h=[1,0,0,0,1,0,0,0,1])&&(c.crossVectors(i,r),u(h=[c.x,c.y,c.z]))}}(),clampPoint:function(e,t){return void 0===t&&(console.warn("THREE.Box3: .clampPoint() target is now required"),t=new cl),t.copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new cl;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),getBoundingSphere:function(){var e=new cl;return function(t){return void 0===t&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(t.center),t.radius=.5*this.getSize(e).length(),t}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},applyMatrix4:(hl=[new cl,new cl,new cl,new cl,new cl,new cl,new cl,new cl],function(e){return this.isEmpty()||(hl[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),hl[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),hl[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),hl[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),hl[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),hl[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),hl[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),hl[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(hl)),this}),translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}),Object.assign(Nl.prototype,{set:function(e,t){return this.center.copy(e),this.radius=t,this},setFromPoints:(pl=new Ol,function(e,t){var n=this.center;void 0!==t?n.copy(t):pl.setFromPoints(e).getCenter(n);for(var i=0,r=0,o=e.length;r<o;r++)i=Math.max(i,n.distanceToSquared(e[r]));return this.radius=Math.sqrt(i),this}),clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.center.copy(e.center),this.radius=e.radius,this},empty:function(){return this.radius<=0},containsPoint:function(e){return e.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(e){return e.distanceTo(this.center)-this.radius},intersectsSphere:function(e){var t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t},intersectsBox:function(e){return e.intersectsSphere(this)},intersectsPlane:function(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius},clampPoint:function(e,t){var n=this.center.distanceToSquared(e);return void 0===t&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),t=new cl),t.copy(e),n>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t},getBoundingBox:function(e){return void 0===e&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),e=new Ol),e.set(this.center,this.center),e.expandByScalar(this.radius),e},applyMatrix4:function(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this},translate:function(e){return this.center.add(e),this},equals:function(e){return e.center.equals(this.center)&&e.radius===this.radius}}),Object.assign(Pl.prototype,{set:function(e,t){return this.normal.copy(e),this.constant=t,this},setComponents:function(e,t,n,i){return this.normal.set(e,t,n),this.constant=i,this},setFromNormalAndCoplanarPoint:function(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this},setFromCoplanarPoints:function(){var e=new cl,t=new cl;return function(n,i,r){var o=e.subVectors(r,i).cross(t.subVectors(n,i)).normalize();return this.setFromNormalAndCoplanarPoint(o,n),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.normal.copy(e.normal),this.constant=e.constant,this},normalize:function(){var e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(e){return this.normal.dot(e)+this.constant},distanceToSphere:function(e){return this.distanceToPoint(e.center)-e.radius},projectPoint:function(e,t){return void 0===t&&(console.warn("THREE.Plane: .projectPoint() target is now required"),t=new cl),t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)},intersectLine:function(){var e=new cl;return function(t,n){void 0===n&&(console.warn("THREE.Plane: .intersectLine() target is now required"),n=new cl);var i=t.delta(e),r=this.normal.dot(i);if(0===r)return 0===this.distanceToPoint(t.start)?n.copy(t.start):void 0;var o=-(t.start.dot(this.normal)+this.constant)/r;return o<0||o>1?void 0:n.copy(i).multiplyScalar(o).add(t.start)}}(),intersectsLine:function(e){var t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0},intersectsBox:function(e){return e.intersectsPlane(this)},intersectsSphere:function(e){return e.intersectsPlane(this)},coplanarPoint:function(e){return void 0===e&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),e=new cl),e.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var e=new cl,t=new ul;return function(n,i){var r=i||t.getNormalMatrix(n),o=this.coplanarPoint(e).applyMatrix4(n),a=this.normal.applyMatrix3(r).normalize();return this.constant=-o.dot(a),this}}(),translate:function(e){return this.constant-=e.dot(this.normal),this},equals:function(e){return e.normal.equals(this.normal)&&e.constant===this.constant}}),Object.assign(kl.prototype,{set:function(e,t,n,i,r,o){var a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){for(var t=this.planes,n=0;n<6;n++)t[n].copy(e.planes[n]);return this},setFromMatrix:function(e){var t=this.planes,n=e.elements,i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],l=n[5],c=n[6],u=n[7],h=n[8],d=n[9],p=n[10],f=n[11],A=n[12],m=n[13],g=n[14],v=n[15];return t[0].setComponents(a-i,u-s,f-h,v-A).normalize(),t[1].setComponents(a+i,u+s,f+h,v+A).normalize(),t[2].setComponents(a+r,u+l,f+d,v+m).normalize(),t[3].setComponents(a-r,u-l,f-d,v-m).normalize(),t[4].setComponents(a-o,u-c,f-p,v-g).normalize(),t[5].setComponents(a+o,u+c,f+p,v+g).normalize(),this},intersectsObject:(Al=new Nl,function(e){var t=e.geometry;return null===t.boundingSphere&&t.computeBoundingSphere(),Al.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(Al)}),intersectsSprite:function(){var e=new Nl;return function(t){return e.center.set(0,0,0),e.radius=.7071067811865476,e.applyMatrix4(t.matrixWorld),this.intersectsSphere(e)}}(),intersectsSphere:function(e){for(var t=this.planes,n=e.center,i=-e.radius,r=0;r<6;r++)if(t[r].distanceToPoint(n)<i)return!1;return!0},intersectsBox:(fl=new cl,function(e){for(var t=this.planes,n=0;n<6;n++){var i=t[n];if(fl.x=i.normal.x>0?e.max.x:e.min.x,fl.y=i.normal.y>0?e.max.y:e.min.y,fl.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(fl)<0)return!1}return!0}),containsPoint:function(e){for(var t=this.planes,n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}}),Object.assign(Rl.prototype,{isMatrix4:!0,set:function(e,t,n,i,r,o,a,s,l,c,u,h,d,p,f,A){var m=this.elements;return m[0]=e,m[4]=t,m[8]=n,m[12]=i,m[1]=r,m[5]=o,m[9]=a,m[13]=s,m[2]=l,m[6]=c,m[10]=u,m[14]=h,m[3]=d,m[7]=p,m[11]=f,m[15]=A,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new Rl).fromArray(this.elements)},copy:function(e){var t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this},copyPosition:function(e){var t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this},extractBasis:function(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this},extractRotation:function(){var e=new cl;return function(t){var n=this.elements,i=t.elements,r=1/e.setFromMatrixColumn(t,0).length(),o=1/e.setFromMatrixColumn(t,1).length(),a=1/e.setFromMatrixColumn(t,2).length();return n[0]=i[0]*r,n[1]=i[1]*r,n[2]=i[2]*r,n[3]=0,n[4]=i[4]*o,n[5]=i[5]*o,n[6]=i[6]*o,n[7]=0,n[8]=i[8]*a,n[9]=i[9]*a,n[10]=i[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}}(),makeRotationFromEuler:function(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var t=this.elements,n=e.x,i=e.y,r=e.z,o=Math.cos(n),a=Math.sin(n),s=Math.cos(i),l=Math.sin(i),c=Math.cos(r),u=Math.sin(r);if("XYZ"===e.order){var h=o*c,d=o*u,p=a*c,f=a*u;t[0]=s*c,t[4]=-s*u,t[8]=l,t[1]=d+p*l,t[5]=h-f*l,t[9]=-a*s,t[2]=f-h*l,t[6]=p+d*l,t[10]=o*s}else if("YXZ"===e.order){var A=s*c,m=s*u,g=l*c,v=l*u;t[0]=A+v*a,t[4]=g*a-m,t[8]=o*l,t[1]=o*u,t[5]=o*c,t[9]=-a,t[2]=m*a-g,t[6]=v+A*a,t[10]=o*s}else if("ZXY"===e.order)A=s*c,m=s*u,g=l*c,v=l*u,t[0]=A-v*a,t[4]=-o*u,t[8]=g+m*a,t[1]=m+g*a,t[5]=o*c,t[9]=v-A*a,t[2]=-o*l,t[6]=a,t[10]=o*s;else if("ZYX"===e.order)h=o*c,d=o*u,p=a*c,f=a*u,t[0]=s*c,t[4]=p*l-d,t[8]=h*l+f,t[1]=s*u,t[5]=f*l+h,t[9]=d*l-p,t[2]=-l,t[6]=a*s,t[10]=o*s;else if("YZX"===e.order){var y=o*s,b=o*l,w=a*s,x=a*l;t[0]=s*c,t[4]=x-y*u,t[8]=w*u+b,t[1]=u,t[5]=o*c,t[9]=-a*c,t[2]=-l*c,t[6]=b*u+w,t[10]=y-x*u}else"XZY"===e.order&&(y=o*s,b=o*l,w=a*s,x=a*l,t[0]=s*c,t[4]=-u,t[8]=l*c,t[1]=y*u+x,t[5]=o*c,t[9]=b*u-w,t[2]=w*u-b,t[6]=a*c,t[10]=x*u+y);return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},makeRotationFromQuaternion:(wl=new cl(0,0,0),xl=new cl(1,1,1),function(e){return this.compose(wl,e,xl)}),lookAt:(vl=new cl,yl=new cl,bl=new cl,function(e,t,n){var i=this.elements;return bl.subVectors(e,t),0===bl.lengthSq()&&(bl.z=1),bl.normalize(),vl.crossVectors(n,bl),0===vl.lengthSq()&&(1===Math.abs(n.z)?bl.x+=1e-4:bl.z+=1e-4,bl.normalize(),vl.crossVectors(n,bl)),vl.normalize(),yl.crossVectors(bl,vl),i[0]=vl.x,i[4]=yl.x,i[8]=bl.x,i[1]=vl.y,i[5]=yl.y,i[9]=bl.y,i[2]=vl.z,i[6]=yl.z,i[10]=bl.z,this}),multiply:function(e,t){return void 0!==t?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)},premultiply:function(e){return this.multiplyMatrices(e,this)},multiplyMatrices:function(e,t){var n=e.elements,i=t.elements,r=this.elements,o=n[0],a=n[4],s=n[8],l=n[12],c=n[1],u=n[5],h=n[9],d=n[13],p=n[2],f=n[6],A=n[10],m=n[14],g=n[3],v=n[7],y=n[11],b=n[15],w=i[0],x=i[4],M=i[8],E=i[12],S=i[1],T=i[5],C=i[9],I=i[13],L=i[2],D=i[6],O=i[10],N=i[14],P=i[3],k=i[7],R=i[11],z=i[15];return r[0]=o*w+a*S+s*L+l*P,r[4]=o*x+a*T+s*D+l*k,r[8]=o*M+a*C+s*O+l*R,r[12]=o*E+a*I+s*N+l*z,r[1]=c*w+u*S+h*L+d*P,r[5]=c*x+u*T+h*D+d*k,r[9]=c*M+u*C+h*O+d*R,r[13]=c*E+u*I+h*N+d*z,r[2]=p*w+f*S+A*L+m*P,r[6]=p*x+f*T+A*D+m*k,r[10]=p*M+f*C+A*O+m*R,r[14]=p*E+f*I+A*N+m*z,r[3]=g*w+v*S+y*L+b*P,r[7]=g*x+v*T+y*D+b*k,r[11]=g*M+v*C+y*O+b*R,r[15]=g*E+v*I+y*N+b*z,this},multiplyScalar:function(e){var t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this},applyToBufferAttribute:function(){var e=new cl;return function(t){for(var n=0,i=t.count;n<i;n++)e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.applyMatrix4(this),t.setXYZ(n,e.x,e.y,e.z);return t}}(),determinant:function(){var e=this.elements,t=e[0],n=e[4],i=e[8],r=e[12],o=e[1],a=e[5],s=e[9],l=e[13],c=e[2],u=e[6],h=e[10],d=e[14];return e[3]*(+r*s*u-i*l*u-r*a*h+n*l*h+i*a*d-n*s*d)+e[7]*(+t*s*d-t*l*h+r*o*h-i*o*d+i*l*c-r*s*c)+e[11]*(+t*l*u-t*a*d-r*o*u+n*o*d+r*a*c-n*l*c)+e[15]*(-i*a*c-t*s*u+t*a*h+i*o*u-n*o*h+n*s*c)},transpose:function(){var e,t=this.elements;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:function(e,t,n){var i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=t,i[14]=n),this},getInverse:function(e,t){var n=this.elements,i=e.elements,r=i[0],o=i[1],a=i[2],s=i[3],l=i[4],c=i[5],u=i[6],h=i[7],d=i[8],p=i[9],f=i[10],A=i[11],m=i[12],g=i[13],v=i[14],y=i[15],b=p*v*h-g*f*h+g*u*A-c*v*A-p*u*y+c*f*y,w=m*f*h-d*v*h-m*u*A+l*v*A+d*u*y-l*f*y,x=d*g*h-m*p*h+m*c*A-l*g*A-d*c*y+l*p*y,M=m*p*u-d*g*u-m*c*f+l*g*f+d*c*v-l*p*v,E=r*b+o*w+a*x+s*M;if(0===E){var S="THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0";if(!0===t)throw new Error(S);return console.warn(S),this.identity()}var T=1/E;return n[0]=b*T,n[1]=(g*f*s-p*v*s-g*a*A+o*v*A+p*a*y-o*f*y)*T,n[2]=(c*v*s-g*u*s+g*a*h-o*v*h-c*a*y+o*u*y)*T,n[3]=(p*u*s-c*f*s-p*a*h+o*f*h+c*a*A-o*u*A)*T,n[4]=w*T,n[5]=(d*v*s-m*f*s+m*a*A-r*v*A-d*a*y+r*f*y)*T,n[6]=(m*u*s-l*v*s-m*a*h+r*v*h+l*a*y-r*u*y)*T,n[7]=(l*f*s-d*u*s+d*a*h-r*f*h-l*a*A+r*u*A)*T,n[8]=x*T,n[9]=(m*p*s-d*g*s-m*o*A+r*g*A+d*o*y-r*p*y)*T,n[10]=(l*g*s-m*c*s+m*o*h-r*g*h-l*o*y+r*c*y)*T,n[11]=(d*c*s-l*p*s-d*o*h+r*p*h+l*o*A-r*c*A)*T,n[12]=M*T,n[13]=(d*g*a-m*p*a+m*o*f-r*g*f-d*o*v+r*p*v)*T,n[14]=(m*c*a-l*g*a-m*o*u+r*g*u+l*o*v-r*c*v)*T,n[15]=(l*p*a-d*c*a+d*o*u-r*p*u-l*o*f+r*c*f)*T,this},scale:function(e){var t=this.elements,n=e.x,i=e.y,r=e.z;return t[0]*=n,t[4]*=i,t[8]*=r,t[1]*=n,t[5]*=i,t[9]*=r,t[2]*=n,t[6]*=i,t[10]*=r,t[3]*=n,t[7]*=i,t[11]*=r,this},getMaxScaleOnAxis:function(){var e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,i))},makeTranslation:function(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this},makeRotationX:function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this},makeRotationY:function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this},makeRotationZ:function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(e,t){var n=Math.cos(t),i=Math.sin(t),r=1-n,o=e.x,a=e.y,s=e.z,l=r*o,c=r*a;return this.set(l*o+n,l*a-i*s,l*s+i*a,0,l*a+i*s,c*a+n,c*s-i*o,0,l*s-i*a,c*s+i*o,r*s*s+n,0,0,0,0,1),this},makeScale:function(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this},makeShear:function(e,t,n){return this.set(1,t,n,0,e,1,n,0,e,t,1,0,0,0,0,1),this},compose:function(e,t,n){var i=this.elements,r=t._x,o=t._y,a=t._z,s=t._w,l=r+r,c=o+o,u=a+a,h=r*l,d=r*c,p=r*u,f=o*c,A=o*u,m=a*u,g=s*l,v=s*c,y=s*u,b=n.x,w=n.y,x=n.z;return i[0]=(1-(f+m))*b,i[1]=(d+y)*b,i[2]=(p-v)*b,i[3]=0,i[4]=(d-y)*w,i[5]=(1-(h+m))*w,i[6]=(A+g)*w,i[7]=0,i[8]=(p+v)*x,i[9]=(A-g)*x,i[10]=(1-(h+f))*x,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this},decompose:(ml=new cl,gl=new Rl,function(e,t,n){var i=this.elements,r=ml.set(i[0],i[1],i[2]).length(),o=ml.set(i[4],i[5],i[6]).length(),a=ml.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],gl.copy(this);var s=1/r,l=1/o,c=1/a;return gl.elements[0]*=s,gl.elements[1]*=s,gl.elements[2]*=s,gl.elements[4]*=l,gl.elements[5]*=l,gl.elements[6]*=l,gl.elements[8]*=c,gl.elements[9]*=c,gl.elements[10]*=c,t.setFromRotationMatrix(gl),n.x=r,n.y=o,n.z=a,this}),makePerspective:function(e,t,n,i,r,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var a=this.elements,s=2*r/(t-e),l=2*r/(n-i),c=(t+e)/(t-e),u=(n+i)/(n-i),h=-(o+r)/(o-r),d=-2*o*r/(o-r);return a[0]=s,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=u,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this},makeOrthographic:function(e,t,n,i,r,o){var a=this.elements,s=1/(t-e),l=1/(n-i),c=1/(o-r),u=(t+e)*s,h=(n+i)*l,d=(o+r)*c;return a[0]=2*s,a[4]=0,a[8]=0,a[12]=-u,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-h,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:function(e){for(var t=this.elements,n=e.elements,i=0;i<16;i++)if(t[i]!==n[i])return!1;return!0},fromArray:function(e,t){void 0===t&&(t=0);for(var n=0;n<16;n++)this.elements[n]=e[n+t];return this},toArray:function(e,t){void 0===e&&(e=[]),void 0===t&&(t=0);var n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}});var zl={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\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:"vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\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\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_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}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * 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}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat 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_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\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 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvarying vec3 vViewPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float 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 average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\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}\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};\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}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\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 linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = normalMatrix * objectTangent;\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, uv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\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:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\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}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, 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#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\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_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\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 )\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 ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\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\tfogDepth = -mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\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 fogDepth;\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 TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif",lights_pars_begin:"uniform 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 GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.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\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.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\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.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 GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif",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;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, 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_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\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.specularRoughness;\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#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#endif\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#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\tfloat clearCoatInv = 1.0 - clearCoatDHR;\n\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec3 singleScattering = vec3( 0.0 );\n\t\tvec3 multiScattering = vec3( 0.0 );\n\t\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\t\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * singleScattering;\n\t\treflectedLight.indirectDiffuse += multiScattering * cosineWeightedIrradiance;\n\t\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n\t#else\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#endif\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\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\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\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 = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\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#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\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\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\n\t#ifndef STANDARD\n\t\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\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, irradiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = 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#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\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#else\n\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\tgl_Position.z *= gl_Position.w;\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t#endif\n#endif",normal_fragment_maps:"#ifdef USE_NORMALMAP\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t#ifdef FLIP_SIDED\n\t\t\tnormal = - normal;\n\t\t#endif\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tnormal = normalize( normalMatrix * normal );\n\t#else\n\t\t#ifdef USE_TANGENT\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy = normalScale * mapN.xy;\n\t\t\tnormal = normalize( vTBN * mapN );\n\t\t#else\n\t\t\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n\t\t#endif\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tuniform mat3 normalMatrix;\n\t#else\n\t\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\t\tvec2 st0 = dFdx( vUv.st );\n\t\t\tvec2 st1 = dFdy( vUv.st );\n\t\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\t\tvec3 N = normalize( surf_norm );\n\t\t\tmat3 tsn = mat3( S, T, N );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy *= normalScale;\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\treturn normalize( tsn * mapN );\n\t\t}\n\t#endif\n#endif",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}\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 linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( 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 invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#if defined( DITHERING )\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#if defined( 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, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\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\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\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\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( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, 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( 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 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\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\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\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 )\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:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\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\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\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, vUv );\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\t#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\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}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\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 ACESFilmicToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );\n}",uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",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}",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 = mapTexelToLinear( texColor );\n\tgl_FragColor.a *= opacity;\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}",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 <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\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\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\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>\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}",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 <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}",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}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\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}",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 <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 <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_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 <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_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\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_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 <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\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 <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_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 <emissivemap_fragment>\n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_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 <uv2_vertex>\n\t#include <color_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 <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 <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_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 <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\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_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 <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\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\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\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 <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_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 <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_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#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#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\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#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\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_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 <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 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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 PHYSICAL\nvarying vec3 vViewPosition;\n#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\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_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 <uv2_vertex>\n\t#include <color_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#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\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}",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#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\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\nvoid main() {\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}",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#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\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>\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#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\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#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvViewPosition = - mvPosition.xyz;\n#endif\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 <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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_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>\nvoid main() {\n\t#include <color_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 = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\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}",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 <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <fog_fragment>\n}",shadow_vert:"#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_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 <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 <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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 = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\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}"};function _l(e){var t={};for(var n in e)for(var i in t[n]={},e[n]){var r=e[n][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture)?t[n][i]=r.clone():Array.isArray(r)?t[n][i]=r.slice():t[n][i]=r}return t}function Bl(e){for(var t={},n=0;n<e.length;n++){var i=_l(e[n]);for(var r in i)t[r]=i[r]}return t}var jl,Ul,Fl,Vl={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};function Hl(e,t,n){return void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}Object.assign(Hl.prototype,{isColor:!0,r:1,g:1,b:1,set:function(e){return e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e),this},setScalar:function(e){return this.r=e,this.g=e,this.b=e,this},setHex:function(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this},setRGB:function(e,t,n){return this.r=e,this.g=t,this.b=n,this},setHSL:function(){function e(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}return function(t,n,i){if(t=al.euclideanModulo(t,1),n=al.clamp(n,0,1),i=al.clamp(i,0,1),0===n)this.r=this.g=this.b=i;else{var r=i<=.5?i*(1+n):i+n-i*n,o=2*i-r;this.r=e(o,r,t+1/3),this.g=e(o,r,t),this.b=e(o,r,t-1/3)}return this}}(),setStyle:function(e){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}var n;if(n=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(e)){var i,r=n[1],o=n[2];switch(r){case"rgb":case"rgba":if(i=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(i[1],10))/255,this.g=Math.min(255,parseInt(i[2],10))/255,this.b=Math.min(255,parseInt(i[3],10))/255,t(i[5]),this;if(i=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(i[1],10))/100,this.g=Math.min(100,parseInt(i[2],10))/100,this.b=Math.min(100,parseInt(i[3],10))/100,t(i[5]),this;break;case"hsl":case"hsla":if(i=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o)){var a=parseFloat(i[1])/360,s=parseInt(i[2],10)/100,l=parseInt(i[3],10)/100;return t(i[5]),this.setHSL(a,s,l)}}}else if(n=/^\#([A-Fa-f0-9]+)$/.exec(e)){var c,u=(c=n[1]).length;if(3===u)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2),16)/255,this;if(6===u)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}return e&&e.length>0&&(void 0!==(c=Vl[e])?this.setHex(c):console.warn("THREE.Color: Unknown color "+e)),this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this},copyGammaToLinear:function(e,t){return void 0===t&&(t=2),this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this},copyLinearToGamma:function(e,t){void 0===t&&(t=2);var n=t>0?1/t:1;return this.r=Math.pow(e.r,n),this.g=Math.pow(e.g,n),this.b=Math.pow(e.b,n),this},convertGammaToLinear:function(e){return this.copyGammaToLinear(this,e),this},convertLinearToGamma:function(e){return this.copyLinearToGamma(this,e),this},copySRGBToLinear:function(){function e(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}return function(t){return this.r=e(t.r),this.g=e(t.g),this.b=e(t.b),this}}(),copyLinearToSRGB:function(){function e(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}return function(t){return this.r=e(t.r),this.g=e(t.g),this.b=e(t.b),this}}(),convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(e){void 0===e&&(console.warn("THREE.Color: .getHSL() target is now required"),e={h:0,s:0,l:0});var t,n,i=this.r,r=this.g,o=this.b,a=Math.max(i,r,o),s=Math.min(i,r,o),l=(s+a)/2;if(s===a)t=0,n=0;else{var c=a-s;switch(n=l<=.5?c/(a+s):c/(2-a-s),a){case i:t=(r-o)/c+(r<o?6:0);break;case r:t=(o-i)/c+2;break;case o:t=(i-r)/c+4}t/=6}return e.h=t,e.s=n,e.l=l,e},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:(Fl={},function(e,t,n){return this.getHSL(Fl),Fl.h+=e,Fl.s+=t,Fl.l+=n,this.setHSL(Fl.h,Fl.s,Fl.l),this}),add:function(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this},addColors:function(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this},addScalar:function(e){return this.r+=e,this.g+=e,this.b+=e,this},sub:function(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this},multiply:function(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this},multiplyScalar:function(e){return this.r*=e,this.g*=e,this.b*=e,this},lerp:function(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this},lerpHSL:(jl={h:0,s:0,l:0},Ul={h:0,s:0,l:0},function(e,t){this.getHSL(jl),e.getHSL(Ul);var n=al.lerp(jl.h,Ul.h,t),i=al.lerp(jl.s,Ul.s,t),r=al.lerp(jl.l,Ul.l,t);return this.setHSL(n,i,r),this}),equals:function(e){return e.r===this.r&&e.g===this.g&&e.b===this.b},fromArray:function(e,t){return void 0===t&&(t=0),this.r=e[t],this.g=e[t+1],this.b=e[t+2],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e},toJSON:function(){return this.getHex()}});var Ql,Wl={common:{diffuse:{value:new Hl(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new ul},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new sl(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Hl(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new Hl(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},uvTransform:{value:new ul}},sprite:{diffuse:{value:new Hl(15658734)},opacity:{value:1},center:{value:new sl(.5,.5)},rotation:{value:0},map:{value:null},uvTransform:{value:new ul}}},Gl={basic:{uniforms:Bl([Wl.common,Wl.specularmap,Wl.envmap,Wl.aomap,Wl.lightmap,Wl.fog]),vertexShader:zl.meshbasic_vert,fragmentShader:zl.meshbasic_frag},lambert:{uniforms:Bl([Wl.common,Wl.specularmap,Wl.envmap,Wl.aomap,Wl.lightmap,Wl.emissivemap,Wl.fog,Wl.lights,{emissive:{value:new Hl(0)}}]),vertexShader:zl.meshlambert_vert,fragmentShader:zl.meshlambert_frag},phong:{uniforms:Bl([Wl.common,Wl.specularmap,Wl.envmap,Wl.aomap,Wl.lightmap,Wl.emissivemap,Wl.bumpmap,Wl.normalmap,Wl.displacementmap,Wl.gradientmap,Wl.fog,Wl.lights,{emissive:{value:new Hl(0)},specular:{value:new Hl(1118481)},shininess:{value:30}}]),vertexShader:zl.meshphong_vert,fragmentShader:zl.meshphong_frag},standard:{uniforms:Bl([Wl.common,Wl.envmap,Wl.aomap,Wl.lightmap,Wl.emissivemap,Wl.bumpmap,Wl.normalmap,Wl.displacementmap,Wl.roughnessmap,Wl.metalnessmap,Wl.fog,Wl.lights,{emissive:{value:new Hl(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:zl.meshphysical_vert,fragmentShader:zl.meshphysical_frag},matcap:{uniforms:Bl([Wl.common,Wl.bumpmap,Wl.normalmap,Wl.displacementmap,Wl.fog,{matcap:{value:null}}]),vertexShader:zl.meshmatcap_vert,fragmentShader:zl.meshmatcap_frag},points:{uniforms:Bl([Wl.points,Wl.fog]),vertexShader:zl.points_vert,fragmentShader:zl.points_frag},dashed:{uniforms:Bl([Wl.common,Wl.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:zl.linedashed_vert,fragmentShader:zl.linedashed_frag},depth:{uniforms:Bl([Wl.common,Wl.displacementmap]),vertexShader:zl.depth_vert,fragmentShader:zl.depth_frag},normal:{uniforms:Bl([Wl.common,Wl.bumpmap,Wl.normalmap,Wl.displacementmap,{opacity:{value:1}}]),vertexShader:zl.normal_vert,fragmentShader:zl.normal_frag},sprite:{uniforms:Bl([Wl.sprite,Wl.fog]),vertexShader:zl.sprite_vert,fragmentShader:zl.sprite_frag},background:{uniforms:{uvTransform:{value:new ul},t2D:{value:null}},vertexShader:zl.background_vert,fragmentShader:zl.background_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:zl.cube_vert,fragmentShader:zl.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:zl.equirect_vert,fragmentShader:zl.equirect_frag},distanceRGBA:{uniforms:Bl([Wl.common,Wl.displacementmap,{referencePosition:{value:new cl},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:zl.distanceRGBA_vert,fragmentShader:zl.distanceRGBA_frag},shadow:{uniforms:Bl([Wl.lights,Wl.fog,{color:{value:new Hl(0)},opacity:{value:1}}]),vertexShader:zl.shadow_vert,fragmentShader:zl.shadow_frag}};function Yl(){var e=null,t=!1,n=null;function i(r,o){!1!==t&&(n(r,o),e.requestAnimationFrame(i))}return{start:function(){!0!==t&&null!==n&&(e.requestAnimationFrame(i),t=!0)},stop:function(){t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function ql(e){var t=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),t.get(e)},remove:function(n){n.isInterleavedBufferAttribute&&(n=n.data);var i=t.get(n);i&&(e.deleteBuffer(i.buffer),t.delete(n))},update:function(n,i){n.isInterleavedBufferAttribute&&(n=n.data);var r=t.get(n);void 0===r?t.set(n,function(t,n){var i=t.array,r=t.dynamic?35048:35044,o=e.createBuffer();e.bindBuffer(n,o),e.bufferData(n,i,r),t.onUploadCallback();var a=5126;return i instanceof Float32Array?a=5126:i instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):i instanceof Uint16Array?a=5123:i instanceof Int16Array?a=5122:i instanceof Uint32Array?a=5125:i instanceof Int32Array?a=5124:i instanceof Int8Array?a=5120:i instanceof Uint8Array&&(a=5121),{buffer:o,type:a,bytesPerElement:i.BYTES_PER_ELEMENT,version:t.version}}(n,i)):r.version<n.version&&(function(t,n,i){var r=n.array,o=n.updateRange;e.bindBuffer(i,t),!1===n.dynamic?e.bufferData(i,r,35044):-1===o.count?e.bufferSubData(i,0,r):0===o.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):(e.bufferSubData(i,o.offset*r.BYTES_PER_ELEMENT,r.subarray(o.offset,o.offset+o.count)),o.count=-1)}(r.buffer,n,i),r.version=n.version)}}}function Xl(e,t,n,i,r,o){this.a=e,this.b=t,this.c=n,this.normal=i&&i.isVector3?i:new cl,this.vertexNormals=Array.isArray(i)?i:[],this.color=r&&r.isColor?r:new Hl,this.vertexColors=Array.isArray(r)?r:[],this.materialIndex=void 0!==o?o:0}function Zl(e,t,n,i){this._x=e||0,this._y=t||0,this._z=n||0,this._order=i||Zl.DefaultOrder}function Jl(){this.mask=1}Gl.physical={uniforms:Bl([Gl.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:zl.meshphysical_vert,fragmentShader:zl.meshphysical_frag},Object.assign(Xl.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(e){this.a=e.a,this.b=e.b,this.c=e.c,this.normal.copy(e.normal),this.color.copy(e.color),this.materialIndex=e.materialIndex;for(var t=0,n=e.vertexNormals.length;t<n;t++)this.vertexNormals[t]=e.vertexNormals[t].clone();for(t=0,n=e.vertexColors.length;t<n;t++)this.vertexColors[t]=e.vertexColors[t].clone();return this}}),Zl.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],Zl.DefaultOrder="XYZ",Object.defineProperties(Zl.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(e){this._y=e,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(e){this._z=e,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(e){this._order=e,this.onChangeCallback()}}}),Object.assign(Zl.prototype,{isEuler:!0,set:function(e,t,n,i){return this._x=e,this._y=t,this._z=n,this._order=i||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this.onChangeCallback(),this},setFromRotationMatrix:function(e,t,n){var i=al.clamp,r=e.elements,o=r[0],a=r[4],s=r[8],l=r[1],c=r[5],u=r[9],h=r[2],d=r[6],p=r[10];return"XYZ"===(t=t||this._order)?(this._y=Math.asin(i(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(d,c),this._z=0)):"YXZ"===t?(this._x=Math.asin(-i(u,-1,1)),Math.abs(u)<.99999?(this._y=Math.atan2(s,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-h,o),this._z=0)):"ZXY"===t?(this._x=Math.asin(i(d,-1,1)),Math.abs(d)<.99999?(this._y=Math.atan2(-h,p),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(l,o))):"ZYX"===t?(this._y=Math.asin(-i(h,-1,1)),Math.abs(h)<.99999?(this._x=Math.atan2(d,p),this._z=Math.atan2(l,o)):(this._x=0,this._z=Math.atan2(-a,c))):"YZX"===t?(this._z=Math.asin(i(l,-1,1)),Math.abs(l)<.99999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-h,o)):(this._x=0,this._y=Math.atan2(s,p))):"XZY"===t?(this._z=Math.asin(-i(a,-1,1)),Math.abs(a)<.99999?(this._x=Math.atan2(d,c),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-u,p),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+t),this._order=t,!1!==n&&this.onChangeCallback(),this},setFromQuaternion:function(){var e=new Rl;return function(t,n,i){return e.makeRotationFromQuaternion(t),this.setFromRotationMatrix(e,n,i)}}(),setFromVector3:function(e,t){return this.set(e.x,e.y,e.z,t||this._order)},reorder:(Ql=new ll,function(e){return Ql.setFromEuler(this),this.setFromQuaternion(Ql,e)}),equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order},fromArray:function(e){return this._x=e[0],this._y=e[1],this._z=e[2],void 0!==e[3]&&(this._order=e[3]),this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e},toVector3:function(e){return e?e.set(this._x,this._y,this._z):new cl(this._x,this._y,this._z)},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}}),Object.assign(Jl.prototype,{set:function(e){this.mask=1<<e|0},enable:function(e){this.mask|=1<<e|0},toggle:function(e){this.mask^=1<<e|0},disable:function(e){this.mask&=~(1<<e|0)},test:function(e){return 0!=(this.mask&e.mask)}});var Kl,$l,ec,tc=0;function nc(){Object.defineProperty(this,"id",{value:tc++}),this.uuid=al.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=nc.DefaultUp.clone();var e=new cl,t=new Zl,n=new ll,i=new cl(1,1,1);t.onChange((function(){n.setFromEuler(t,!1)})),n.onChange((function(){t.setFromQuaternion(n,void 0,!1)})),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new Rl},normalMatrix:{value:new ul}}),this.matrix=new Rl,this.matrixWorld=new Rl,this.matrixAutoUpdate=nc.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new Jl,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={}}nc.DefaultUp=new cl(0,1,0),nc.DefaultMatrixAutoUpdate=!0,nc.prototype=Object.assign(Object.create(Ro.prototype),{constructor:nc,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix:function(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(e){return this.quaternion.premultiply(e),this},setRotationFromAxisAngle:function(e,t){this.quaternion.setFromAxisAngle(e,t)},setRotationFromEuler:function(e){this.quaternion.setFromEuler(e,!0)},setRotationFromMatrix:function(e){this.quaternion.setFromRotationMatrix(e)},setRotationFromQuaternion:function(e){this.quaternion.copy(e)},rotateOnAxis:(ec=new ll,function(e,t){return ec.setFromAxisAngle(e,t),this.quaternion.multiply(ec),this}),rotateOnWorldAxis:function(){var e=new ll;return function(t,n){return e.setFromAxisAngle(t,n),this.quaternion.premultiply(e),this}}(),rotateX:function(){var e=new cl(1,0,0);return function(t){return this.rotateOnAxis(e,t)}}(),rotateY:function(){var e=new cl(0,1,0);return function(t){return this.rotateOnAxis(e,t)}}(),rotateZ:function(){var e=new cl(0,0,1);return function(t){return this.rotateOnAxis(e,t)}}(),translateOnAxis:function(){var e=new cl;return function(t,n){return e.copy(t).applyQuaternion(this.quaternion),this.position.add(e.multiplyScalar(n)),this}}(),translateX:function(){var e=new cl(1,0,0);return function(t){return this.translateOnAxis(e,t)}}(),translateY:function(){var e=new cl(0,1,0);return function(t){return this.translateOnAxis(e,t)}}(),translateZ:function(){var e=new cl(0,0,1);return function(t){return this.translateOnAxis(e,t)}}(),localToWorld:function(e){return e.applyMatrix4(this.matrixWorld)},worldToLocal:($l=new Rl,function(e){return e.applyMatrix4($l.getInverse(this.matrixWorld))}),lookAt:function(){var e=new ll,t=new Rl,n=new cl,i=new cl;return function(r,o,a){r.isVector3?n.copy(r):n.set(r,o,a);var s=this.parent;this.updateWorldMatrix(!0,!1),i.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?t.lookAt(i,n,this.up):t.lookAt(n,i,this.up),this.quaternion.setFromRotationMatrix(t),s&&(t.extractRotation(s.matrixWorld),e.setFromRotationMatrix(t),this.quaternion.premultiply(e.inverse()))}}(),add:function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(null!==e.parent&&e.parent.remove(e),e.parent=this,e.dispatchEvent({type:"added"}),this.children.push(e)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)},remove:function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}var n=this.children.indexOf(e);return-1!==n&&(e.parent=null,e.dispatchEvent({type:"removed"}),this.children.splice(n,1)),this},attach:(Kl=new Rl,function(e){return this.updateWorldMatrix(!0,!1),Kl.getInverse(this.matrixWorld),null!==e.parent&&(e.parent.updateWorldMatrix(!0,!1),Kl.multiply(e.parent.matrixWorld)),e.applyMatrix(Kl),e.updateWorldMatrix(!1,!1),this.add(e),this}),getObjectById:function(e){return this.getObjectByProperty("id",e)},getObjectByName:function(e){return this.getObjectByProperty("name",e)},getObjectByProperty:function(e,t){if(this[e]===t)return this;for(var n=0,i=this.children.length;n<i;n++){var r=this.children[n].getObjectByProperty(e,t);if(void 0!==r)return r}},getWorldPosition:function(e){return void 0===e&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),e=new cl),this.updateMatrixWorld(!0),e.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var e=new cl,t=new cl;return function(n){return void 0===n&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),n=new ll),this.updateMatrixWorld(!0),this.matrixWorld.decompose(e,n,t),n}}(),getWorldScale:function(){var e=new cl,t=new ll;return function(n){return void 0===n&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),n=new cl),this.updateMatrixWorld(!0),this.matrixWorld.decompose(e,t,n),n}}(),getWorldDirection:function(e){void 0===e&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),e=new cl),this.updateMatrixWorld(!0);var t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()},raycast:function(){},traverse:function(e){e(this);for(var t=this.children,n=0,i=t.length;n<i;n++)t[n].traverse(e)},traverseVisible:function(e){if(!1!==this.visible){e(this);for(var t=this.children,n=0,i=t.length;n<i;n++)t[n].traverseVisible(e)}},traverseAncestors:function(e){var t=this.parent;null!==t&&(e(t),t.traverseAncestors(e))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);for(var t=this.children,n=0,i=t.length;n<i;n++)t[n].updateMatrixWorld(e)},updateWorldMatrix:function(e,t){var n=this.parent;if(!0===e&&null!==n&&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===t)for(var i=this.children,r=0,o=i.length;r<o;r++)i[r].updateWorldMatrix(!1,!0)},toJSON:function(e){var t=void 0===e||"string"==typeof e,n={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var i={};function r(t,n){return void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e)),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),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isMesh&&this.drawMode!==Gs&&(i.drawMode=this.drawMode),this.isMesh||this.isLine||this.isPoints){i.geometry=r(e.geometries,this.geometry);var o=this.geometry.parameters;if(void 0!==o&&void 0!==o.shapes){var a=o.shapes;if(Array.isArray(a))for(var s=0,l=a.length;s<l;s++){var c=a[s];r(e.shapes,c)}else r(e.shapes,a)}}if(void 0!==this.material)if(Array.isArray(this.material)){var u=[];for(s=0,l=this.material.length;s<l;s++)u.push(r(e.materials,this.material[s]));i.material=u}else i.material=r(e.materials,this.material);if(this.children.length>0)for(i.children=[],s=0;s<this.children.length;s++)i.children.push(this.children[s].toJSON(e).object);if(t){var h=A(e.geometries),d=A(e.materials),p=A(e.textures),f=A(e.images);a=A(e.shapes),h.length>0&&(n.geometries=h),d.length>0&&(n.materials=d),p.length>0&&(n.textures=p),f.length>0&&(n.images=f),a.length>0&&(n.shapes=a)}return n.object=i,n;function A(e){var t=[];for(var n in e){var i=e[n];delete i.metadata,t.push(i)}return t}},clone:function(e){return(new this.constructor).copy(this,e)},copy:function(e,t){if(void 0===t&&(t=!0),this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(var n=0;n<e.children.length;n++){var i=e.children[n];this.add(i.clone())}return this}});var ic,rc,oc=0;function ac(){Object.defineProperty(this,"id",{value:oc+=2}),this.uuid=al.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=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}function sc(e,t,n){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=e,this.itemSize=t,this.count=void 0!==e?e.length/t:0,this.normalized=!0===n,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.version=0}function lc(e,t,n){sc.call(this,new Int8Array(e),t,n)}function cc(e,t,n){sc.call(this,new Uint8Array(e),t,n)}function uc(e,t,n){sc.call(this,new Uint8ClampedArray(e),t,n)}function hc(e,t,n){sc.call(this,new Int16Array(e),t,n)}function dc(e,t,n){sc.call(this,new Uint16Array(e),t,n)}function pc(e,t,n){sc.call(this,new Int32Array(e),t,n)}function fc(e,t,n){sc.call(this,new Uint32Array(e),t,n)}function Ac(e,t,n){sc.call(this,new Float32Array(e),t,n)}function mc(e,t,n){sc.call(this,new Float64Array(e),t,n)}function gc(){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=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}function vc(e){if(0===e.length)return-1/0;for(var t=e[0],n=1,i=e.length;n<i;++n)e[n]>t&&(t=e[n]);return t}ac.prototype=Object.assign(Object.create(Ro.prototype),{constructor:ac,isGeometry:!0,applyMatrix:function(e){for(var t=(new ul).getNormalMatrix(e),n=0,i=this.vertices.length;n<i;n++)this.vertices[n].applyMatrix4(e);for(n=0,i=this.faces.length;n<i;n++){var r=this.faces[n];r.normal.applyMatrix3(t).normalize();for(var o=0,a=r.vertexNormals.length;o<a;o++)r.vertexNormals[o].applyMatrix3(t).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this},rotateX:function(){var e=new Rl;return function(t){return e.makeRotationX(t),this.applyMatrix(e),this}}(),rotateY:function(){var e=new Rl;return function(t){return e.makeRotationY(t),this.applyMatrix(e),this}}(),rotateZ:function(){var e=new Rl;return function(t){return e.makeRotationZ(t),this.applyMatrix(e),this}}(),translate:function(){var e=new Rl;return function(t,n,i){return e.makeTranslation(t,n,i),this.applyMatrix(e),this}}(),scale:function(){var e=new Rl;return function(t,n,i){return e.makeScale(t,n,i),this.applyMatrix(e),this}}(),lookAt:(rc=new nc,function(e){rc.lookAt(e),rc.updateMatrix(),this.applyMatrix(rc.matrix)}),fromBufferGeometry:function(e){var t=this,n=null!==e.index?e.index.array:void 0,i=e.attributes,r=i.position.array,o=void 0!==i.normal?i.normal.array:void 0,a=void 0!==i.color?i.color.array:void 0,s=void 0!==i.uv?i.uv.array:void 0,l=void 0!==i.uv2?i.uv2.array:void 0;void 0!==l&&(this.faceVertexUvs[1]=[]);for(var c=0;c<r.length;c+=3)t.vertices.push((new cl).fromArray(r,c)),void 0!==a&&t.colors.push((new Hl).fromArray(a,c));function u(e,n,i,r){var c=void 0===a?[]:[t.colors[e].clone(),t.colors[n].clone(),t.colors[i].clone()],u=new Xl(e,n,i,void 0===o?[]:[(new cl).fromArray(o,3*e),(new cl).fromArray(o,3*n),(new cl).fromArray(o,3*i)],c,r);t.faces.push(u),void 0!==s&&t.faceVertexUvs[0].push([(new sl).fromArray(s,2*e),(new sl).fromArray(s,2*n),(new sl).fromArray(s,2*i)]),void 0!==l&&t.faceVertexUvs[1].push([(new sl).fromArray(l,2*e),(new sl).fromArray(l,2*n),(new sl).fromArray(l,2*i)])}var h=e.groups;if(h.length>0)for(c=0;c<h.length;c++)for(var d=h[c],p=d.start,f=p,A=p+d.count;f<A;f+=3)void 0!==n?u(n[f],n[f+1],n[f+2],d.materialIndex):u(f,f+1,f+2,d.materialIndex);else if(void 0!==n)for(c=0;c<n.length;c+=3)u(n[c],n[c+1],n[c+2]);else for(c=0;c<r.length/3;c+=3)u(c,c+1,c+2);return this.computeFaceNormals(),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),this},center:(ic=new cl,function(){return this.computeBoundingBox(),this.boundingBox.getCenter(ic).negate(),this.translate(ic.x,ic.y,ic.z),this}),normalize:function(){this.computeBoundingSphere();var e=this.boundingSphere.center,t=this.boundingSphere.radius,n=0===t?1:1/t,i=new Rl;return i.set(n,0,0,-n*e.x,0,n,0,-n*e.y,0,0,n,-n*e.z,0,0,0,1),this.applyMatrix(i),this},computeFaceNormals:function(){for(var e=new cl,t=new cl,n=0,i=this.faces.length;n<i;n++){var r=this.faces[n],o=this.vertices[r.a],a=this.vertices[r.b],s=this.vertices[r.c];e.subVectors(s,a),t.subVectors(o,a),e.cross(t),e.normalize(),r.normal.copy(e)}},computeVertexNormals:function(e){var t,n,i,r,o,a;for(void 0===e&&(e=!0),a=new Array(this.vertices.length),t=0,n=this.vertices.length;t<n;t++)a[t]=new cl;if(e){var s,l,c,u=new cl,h=new cl;for(i=0,r=this.faces.length;i<r;i++)o=this.faces[i],s=this.vertices[o.a],l=this.vertices[o.b],c=this.vertices[o.c],u.subVectors(c,l),h.subVectors(s,l),u.cross(h),a[o.a].add(u),a[o.b].add(u),a[o.c].add(u)}else for(this.computeFaceNormals(),i=0,r=this.faces.length;i<r;i++)a[(o=this.faces[i]).a].add(o.normal),a[o.b].add(o.normal),a[o.c].add(o.normal);for(t=0,n=this.vertices.length;t<n;t++)a[t].normalize();for(i=0,r=this.faces.length;i<r;i++){var d=(o=this.faces[i]).vertexNormals;3===d.length?(d[0].copy(a[o.a]),d[1].copy(a[o.b]),d[2].copy(a[o.c])):(d[0]=a[o.a].clone(),d[1]=a[o.b].clone(),d[2]=a[o.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var e,t,n;for(this.computeFaceNormals(),e=0,t=this.faces.length;e<t;e++){var i=(n=this.faces[e]).vertexNormals;3===i.length?(i[0].copy(n.normal),i[1].copy(n.normal),i[2].copy(n.normal)):(i[0]=n.normal.clone(),i[1]=n.normal.clone(),i[2]=n.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var e,t,n,i,r;for(n=0,i=this.faces.length;n<i;n++)for((r=this.faces[n]).__originalFaceNormal?r.__originalFaceNormal.copy(r.normal):r.__originalFaceNormal=r.normal.clone(),r.__originalVertexNormals||(r.__originalVertexNormals=[]),e=0,t=r.vertexNormals.length;e<t;e++)r.__originalVertexNormals[e]?r.__originalVertexNormals[e].copy(r.vertexNormals[e]):r.__originalVertexNormals[e]=r.vertexNormals[e].clone();var o=new ac;for(o.faces=this.faces,e=0,t=this.morphTargets.length;e<t;e++){if(!this.morphNormals[e]){this.morphNormals[e]={},this.morphNormals[e].faceNormals=[],this.morphNormals[e].vertexNormals=[];var a=this.morphNormals[e].faceNormals,s=this.morphNormals[e].vertexNormals;for(n=0,i=this.faces.length;n<i;n++)l=new cl,c={a:new cl,b:new cl,c:new cl},a.push(l),s.push(c)}var l,c,u=this.morphNormals[e];for(o.vertices=this.morphTargets[e].vertices,o.computeFaceNormals(),o.computeVertexNormals(),n=0,i=this.faces.length;n<i;n++)r=this.faces[n],l=u.faceNormals[n],c=u.vertexNormals[n],l.copy(r.normal),c.a.copy(r.vertexNormals[0]),c.b.copy(r.vertexNormals[1]),c.c.copy(r.vertexNormals[2])}for(n=0,i=this.faces.length;n<i;n++)(r=this.faces[n]).normal=r.__originalFaceNormal,r.vertexNormals=r.__originalVertexNormals},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Ol),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new Nl),this.boundingSphere.setFromPoints(this.vertices)},merge:function(e,t,n){if(e&&e.isGeometry){var i,r=this.vertices.length,o=this.vertices,a=e.vertices,s=this.faces,l=e.faces,c=this.faceVertexUvs[0],u=e.faceVertexUvs[0],h=this.colors,d=e.colors;void 0===n&&(n=0),void 0!==t&&(i=(new ul).getNormalMatrix(t));for(var p=0,f=a.length;p<f;p++){var A=a[p].clone();void 0!==t&&A.applyMatrix4(t),o.push(A)}for(p=0,f=d.length;p<f;p++)h.push(d[p].clone());for(p=0,f=l.length;p<f;p++){var m,g,v,y=l[p],b=y.vertexNormals,w=y.vertexColors;(m=new Xl(y.a+r,y.b+r,y.c+r)).normal.copy(y.normal),void 0!==i&&m.normal.applyMatrix3(i).normalize();for(var x=0,M=b.length;x<M;x++)g=b[x].clone(),void 0!==i&&g.applyMatrix3(i).normalize(),m.vertexNormals.push(g);for(m.color.copy(y.color),x=0,M=w.length;x<M;x++)v=w[x],m.vertexColors.push(v.clone());m.materialIndex=y.materialIndex+n,s.push(m)}for(p=0,f=u.length;p<f;p++){var E=u[p],S=[];if(void 0!==E){for(x=0,M=E.length;x<M;x++)S.push(E[x].clone());c.push(S)}}}else console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",e)},mergeMesh:function(e){e&&e.isMesh?(e.matrixAutoUpdate&&e.updateMatrix(),this.merge(e.geometry,e.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",e)},mergeVertices:function(){var e,t,n,i,r,o,a,s,l={},c=[],u=[],h=Math.pow(10,4);for(n=0,i=this.vertices.length;n<i;n++)e=this.vertices[n],void 0===l[t=Math.round(e.x*h)+"_"+Math.round(e.y*h)+"_"+Math.round(e.z*h)]?(l[t]=n,c.push(this.vertices[n]),u[n]=c.length-1):u[n]=u[l[t]];var d=[];for(n=0,i=this.faces.length;n<i;n++){(r=this.faces[n]).a=u[r.a],r.b=u[r.b],r.c=u[r.c],o=[r.a,r.b,r.c];for(var p=0;p<3;p++)if(o[p]===o[(p+1)%3]){d.push(n);break}}for(n=d.length-1;n>=0;n--){var f=d[n];for(this.faces.splice(f,1),a=0,s=this.faceVertexUvs.length;a<s;a++)this.faceVertexUvs[a].splice(f,1)}var A=this.vertices.length-c.length;return this.vertices=c,A},setFromPoints:function(e){this.vertices=[];for(var t=0,n=e.length;t<n;t++){var i=e[t];this.vertices.push(new cl(i.x,i.y,i.z||0))}return this},sortFacesByMaterialIndex:function(){for(var e=this.faces,t=e.length,n=0;n<t;n++)e[n]._id=n;e.sort((function(e,t){return e.materialIndex-t.materialIndex}));var i,r,o=this.faceVertexUvs[0],a=this.faceVertexUvs[1];for(o&&o.length===t&&(i=[]),a&&a.length===t&&(r=[]),n=0;n<t;n++){var s=e[n]._id;i&&i.push(o[s]),r&&r.push(a[s])}i&&(this.faceVertexUvs[0]=i),r&&(this.faceVertexUvs[1]=r)},toJSON:function(){var e={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),void 0!==this.parameters){var t=this.parameters;for(var n in t)void 0!==t[n]&&(e[n]=t[n]);return e}for(var i=[],r=0;r<this.vertices.length;r++){var o=this.vertices[r];i.push(o.x,o.y,o.z)}var a=[],s=[],l={},c=[],u={},h=[],d={};for(r=0;r<this.faces.length;r++){var p=this.faces[r],f=void 0!==this.faceVertexUvs[0][r],A=p.normal.length()>0,m=p.vertexNormals.length>0,g=1!==p.color.r||1!==p.color.g||1!==p.color.b,v=p.vertexColors.length>0,y=0;if(y=M(y,0,0),y=M(y,1,!0),y=M(y,2,!1),y=M(y,3,f),y=M(y,4,A),y=M(y,5,m),y=M(y,6,g),y=M(y,7,v),a.push(y),a.push(p.a,p.b,p.c),a.push(p.materialIndex),f){var b=this.faceVertexUvs[0][r];a.push(T(b[0]),T(b[1]),T(b[2]))}if(A&&a.push(E(p.normal)),m){var w=p.vertexNormals;a.push(E(w[0]),E(w[1]),E(w[2]))}if(g&&a.push(S(p.color)),v){var x=p.vertexColors;a.push(S(x[0]),S(x[1]),S(x[2]))}}function M(e,t,n){return n?e|1<<t:e&~(1<<t)}function E(e){var t=e.x.toString()+e.y.toString()+e.z.toString();return void 0!==l[t]||(l[t]=s.length/3,s.push(e.x,e.y,e.z)),l[t]}function S(e){var t=e.r.toString()+e.g.toString()+e.b.toString();return void 0!==u[t]||(u[t]=c.length,c.push(e.getHex())),u[t]}function T(e){var t=e.x.toString()+e.y.toString();return void 0!==d[t]||(d[t]=h.length/2,h.push(e.x,e.y)),d[t]}return e.data={},e.data.vertices=i,e.data.normals=s,c.length>0&&(e.data.colors=c),h.length>0&&(e.data.uvs=[h]),e.data.faces=a,e},clone:function(){return(new ac).copy(this)},copy:function(e){var t,n,i,r,o,a;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=e.name;var s=e.vertices;for(t=0,n=s.length;t<n;t++)this.vertices.push(s[t].clone());var l=e.colors;for(t=0,n=l.length;t<n;t++)this.colors.push(l[t].clone());var c=e.faces;for(t=0,n=c.length;t<n;t++)this.faces.push(c[t].clone());for(t=0,n=e.faceVertexUvs.length;t<n;t++){var u=e.faceVertexUvs[t];for(void 0===this.faceVertexUvs[t]&&(this.faceVertexUvs[t]=[]),i=0,r=u.length;i<r;i++){var h=u[i],d=[];for(o=0,a=h.length;o<a;o++){var p=h[o];d.push(p.clone())}this.faceVertexUvs[t].push(d)}}var f=e.morphTargets;for(t=0,n=f.length;t<n;t++){var A={};if(A.name=f[t].name,void 0!==f[t].vertices)for(A.vertices=[],i=0,r=f[t].vertices.length;i<r;i++)A.vertices.push(f[t].vertices[i].clone());if(void 0!==f[t].normals)for(A.normals=[],i=0,r=f[t].normals.length;i<r;i++)A.normals.push(f[t].normals[i].clone());this.morphTargets.push(A)}var m=e.morphNormals;for(t=0,n=m.length;t<n;t++){var g={};if(void 0!==m[t].vertexNormals)for(g.vertexNormals=[],i=0,r=m[t].vertexNormals.length;i<r;i++){var v=m[t].vertexNormals[i],y={};y.a=v.a.clone(),y.b=v.b.clone(),y.c=v.c.clone(),g.vertexNormals.push(y)}if(void 0!==m[t].faceNormals)for(g.faceNormals=[],i=0,r=m[t].faceNormals.length;i<r;i++)g.faceNormals.push(m[t].faceNormals[i].clone());this.morphNormals.push(g)}var b=e.skinWeights;for(t=0,n=b.length;t<n;t++)this.skinWeights.push(b[t].clone());var w=e.skinIndices;for(t=0,n=w.length;t<n;t++)this.skinIndices.push(w[t].clone());var x=e.lineDistances;for(t=0,n=x.length;t<n;t++)this.lineDistances.push(x[t]);var M=e.boundingBox;null!==M&&(this.boundingBox=M.clone());var E=e.boundingSphere;return null!==E&&(this.boundingSphere=E.clone()),this.elementsNeedUpdate=e.elementsNeedUpdate,this.verticesNeedUpdate=e.verticesNeedUpdate,this.uvsNeedUpdate=e.uvsNeedUpdate,this.normalsNeedUpdate=e.normalsNeedUpdate,this.colorsNeedUpdate=e.colorsNeedUpdate,this.lineDistancesNeedUpdate=e.lineDistancesNeedUpdate,this.groupsNeedUpdate=e.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(sc.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(sc.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setArray:function(e){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=void 0!==e?e.length/this.itemSize:0,this.array=e,this},setDynamic:function(e){return this.dynamic=e,this},copy:function(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.dynamic=e.dynamic,this},copyAt:function(e,t,n){e*=this.itemSize,n*=t.itemSize;for(var i=0,r=this.itemSize;i<r;i++)this.array[e+i]=t.array[n+i];return this},copyArray:function(e){return this.array.set(e),this},copyColorsArray:function(e){for(var t=this.array,n=0,i=0,r=e.length;i<r;i++){var o=e[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i),o=new Hl),t[n++]=o.r,t[n++]=o.g,t[n++]=o.b}return this},copyVector2sArray:function(e){for(var t=this.array,n=0,i=0,r=e.length;i<r;i++){var o=e[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",i),o=new sl),t[n++]=o.x,t[n++]=o.y}return this},copyVector3sArray:function(e){for(var t=this.array,n=0,i=0,r=e.length;i<r;i++){var o=e[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i),o=new cl),t[n++]=o.x,t[n++]=o.y,t[n++]=o.z}return this},copyVector4sArray:function(e){for(var t=this.array,n=0,i=0,r=e.length;i<r;i++){var o=e[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i),o=new Tl),t[n++]=o.x,t[n++]=o.y,t[n++]=o.z,t[n++]=o.w}return this},set:function(e,t){return void 0===t&&(t=0),this.array.set(e,t),this},getX:function(e){return this.array[e*this.itemSize]},setX:function(e,t){return this.array[e*this.itemSize]=t,this},getY:function(e){return this.array[e*this.itemSize+1]},setY:function(e,t){return this.array[e*this.itemSize+1]=t,this},getZ:function(e){return this.array[e*this.itemSize+2]},setZ:function(e,t){return this.array[e*this.itemSize+2]=t,this},getW:function(e){return this.array[e*this.itemSize+3]},setW:function(e,t){return this.array[e*this.itemSize+3]=t,this},setXY:function(e,t,n){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this},setXYZ:function(e,t,n,i){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=i,this},setXYZW:function(e,t,n,i,r){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=i,this.array[e+3]=r,this},onUpload:function(e){return this.onUploadCallback=e,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)},toJSON:function(){return{itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized}}}),lc.prototype=Object.create(sc.prototype),lc.prototype.constructor=lc,cc.prototype=Object.create(sc.prototype),cc.prototype.constructor=cc,uc.prototype=Object.create(sc.prototype),uc.prototype.constructor=uc,hc.prototype=Object.create(sc.prototype),hc.prototype.constructor=hc,dc.prototype=Object.create(sc.prototype),dc.prototype.constructor=dc,pc.prototype=Object.create(sc.prototype),pc.prototype.constructor=pc,fc.prototype=Object.create(sc.prototype),fc.prototype.constructor=fc,Ac.prototype=Object.create(sc.prototype),Ac.prototype.constructor=Ac,mc.prototype=Object.create(sc.prototype),mc.prototype.constructor=mc,Object.assign(gc.prototype,{computeGroups:function(e){for(var t,n=[],i=void 0,r=e.faces,o=0;o<r.length;o++){var a=r[o];a.materialIndex!==i&&(i=a.materialIndex,void 0!==t&&(t.count=3*o-t.start,n.push(t)),t={start:3*o,materialIndex:i})}void 0!==t&&(t.count=3*o-t.start,n.push(t)),this.groups=n},fromGeometry:function(e){var t,n=e.faces,i=e.vertices,r=e.faceVertexUvs,o=r[0]&&r[0].length>0,a=r[1]&&r[1].length>0,s=e.morphTargets,l=s.length;if(l>0){t=[];for(var c=0;c<l;c++)t[c]={name:s[c].name,data:[]};this.morphTargets.position=t}var u,h=e.morphNormals,d=h.length;if(d>0){for(u=[],c=0;c<d;c++)u[c]={name:h[c].name,data:[]};this.morphTargets.normal=u}var p=e.skinIndices,f=e.skinWeights,A=p.length===i.length,m=f.length===i.length;for(i.length>0&&0===n.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported."),c=0;c<n.length;c++){var g=n[c];this.vertices.push(i[g.a],i[g.b],i[g.c]);var v=g.vertexNormals;if(3===v.length)this.normals.push(v[0],v[1],v[2]);else{var y=g.normal;this.normals.push(y,y,y)}var b,w=g.vertexColors;if(3===w.length)this.colors.push(w[0],w[1],w[2]);else{var x=g.color;this.colors.push(x,x,x)}!0===o&&(void 0!==(b=r[0][c])?this.uvs.push(b[0],b[1],b[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",c),this.uvs.push(new sl,new sl,new sl))),!0===a&&(void 0!==(b=r[1][c])?this.uvs2.push(b[0],b[1],b[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",c),this.uvs2.push(new sl,new sl,new sl)));for(var M=0;M<l;M++){var E=s[M].vertices;t[M].data.push(E[g.a],E[g.b],E[g.c])}for(M=0;M<d;M++){var S=h[M].vertexNormals[c];u[M].data.push(S.a,S.b,S.c)}A&&this.skinIndices.push(p[g.a],p[g.b],p[g.c]),m&&this.skinWeights.push(f[g.a],f[g.b],f[g.c])}return this.computeGroups(e),this.verticesNeedUpdate=e.verticesNeedUpdate,this.normalsNeedUpdate=e.normalsNeedUpdate,this.colorsNeedUpdate=e.colorsNeedUpdate,this.uvsNeedUpdate=e.uvsNeedUpdate,this.groupsNeedUpdate=e.groupsNeedUpdate,this}});var yc=1;function bc(){Object.defineProperty(this,"id",{value:yc+=2}),this.uuid=al.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}function wc(e,t,n,i,r,o){ac.call(this),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:i,heightSegments:r,depthSegments:o},this.fromBufferGeometry(new xc(e,t,n,i,r,o)),this.mergeVertices()}function xc(e,t,n,i,r,o){bc.call(this),this.type="BoxBufferGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:i,heightSegments:r,depthSegments:o};var a=this;e=e||1,t=t||1,n=n||1,i=Math.floor(i)||1,r=Math.floor(r)||1,o=Math.floor(o)||1;var s=[],l=[],c=[],u=[],h=0,d=0;function p(e,t,n,i,r,o,p,f,A,m,g){var v,y,b=o/A,w=p/m,x=o/2,M=p/2,E=f/2,S=A+1,T=m+1,C=0,I=0,L=new cl;for(y=0;y<T;y++){var D=y*w-M;for(v=0;v<S;v++){var O=v*b-x;L[e]=O*i,L[t]=D*r,L[n]=E,l.push(L.x,L.y,L.z),L[e]=0,L[t]=0,L[n]=f>0?1:-1,c.push(L.x,L.y,L.z),u.push(v/A),u.push(1-y/m),C+=1}}for(y=0;y<m;y++)for(v=0;v<A;v++){var N=h+v+S*y,P=h+v+S*(y+1),k=h+(v+1)+S*(y+1),R=h+(v+1)+S*y;s.push(N,P,R),s.push(P,k,R),I+=6}a.addGroup(d,I,g),d+=I,h+=C}p("z","y","x",-1,-1,n,t,e,o,r,0),p("z","y","x",1,-1,n,t,-e,o,r,1),p("x","z","y",1,1,e,n,t,i,o,2),p("x","z","y",1,-1,e,n,-t,i,o,3),p("x","y","z",1,-1,e,t,n,i,r,4),p("x","y","z",-1,-1,e,t,-n,i,r,5),this.setIndex(s),this.addAttribute("position",new Ac(l,3)),this.addAttribute("normal",new Ac(c,3)),this.addAttribute("uv",new Ac(u,2))}function Mc(e,t,n,i){ac.call(this),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:i},this.fromBufferGeometry(new Ec(e,t,n,i)),this.mergeVertices()}function Ec(e,t,n,i){bc.call(this),this.type="PlaneBufferGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:i};var r,o,a=(e=e||1)/2,s=(t=t||1)/2,l=Math.floor(n)||1,c=Math.floor(i)||1,u=l+1,h=c+1,d=e/l,p=t/c,f=[],A=[],m=[],g=[];for(o=0;o<h;o++){var v=o*p-s;for(r=0;r<u;r++){var y=r*d-a;A.push(y,-v,0),m.push(0,0,1),g.push(r/l),g.push(1-o/c)}}for(o=0;o<c;o++)for(r=0;r<l;r++){var b=r+u*o,w=r+u*(o+1),x=r+1+u*(o+1),M=r+1+u*o;f.push(b,w,M),f.push(w,x,M)}this.setIndex(f),this.addAttribute("position",new Ac(A,3)),this.addAttribute("normal",new Ac(m,3)),this.addAttribute("uv",new Ac(g,2))}bc.prototype=Object.assign(Object.create(Ro.prototype),{constructor:bc,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(e){Array.isArray(e)?this.index=new(vc(e)>65535?fc:dc)(e,1):this.index=e},addAttribute:function(e,t){return t&&t.isBufferAttribute||t&&t.isInterleavedBufferAttribute?"index"===e?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(t),this):(this.attributes[e]=t,this):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.addAttribute(e,new sc(arguments[1],arguments[2])))},getAttribute:function(e){return this.attributes[e]},removeAttribute:function(e){return delete this.attributes[e],this},addGroup:function(e,t,n){this.groups.push({start:e,count:t,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(e,t){this.drawRange.start=e,this.drawRange.count=t},applyMatrix:function(e){var t=this.attributes.position;void 0!==t&&(e.applyToBufferAttribute(t),t.needsUpdate=!0);var n=this.attributes.normal;void 0!==n&&((new ul).getNormalMatrix(e).applyToBufferAttribute(n),n.needsUpdate=!0);var i=this.attributes.tangent;return void 0!==i&&((new ul).getNormalMatrix(e).applyToBufferAttribute(i),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var e=new Rl;return function(t){return e.makeRotationX(t),this.applyMatrix(e),this}}(),rotateY:function(){var e=new Rl;return function(t){return e.makeRotationY(t),this.applyMatrix(e),this}}(),rotateZ:function(){var e=new Rl;return function(t){return e.makeRotationZ(t),this.applyMatrix(e),this}}(),translate:function(){var e=new Rl;return function(t,n,i){return e.makeTranslation(t,n,i),this.applyMatrix(e),this}}(),scale:function(){var e=new Rl;return function(t,n,i){return e.makeScale(t,n,i),this.applyMatrix(e),this}}(),lookAt:function(){var e=new nc;return function(t){e.lookAt(t),e.updateMatrix(),this.applyMatrix(e.matrix)}}(),center:function(){var e=new cl;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(e).negate(),this.translate(e.x,e.y,e.z),this}}(),setFromObject:function(e){var t=e.geometry;if(e.isPoints||e.isLine){var n=new Ac(3*t.vertices.length,3),i=new Ac(3*t.colors.length,3);if(this.addAttribute("position",n.copyVector3sArray(t.vertices)),this.addAttribute("color",i.copyColorsArray(t.colors)),t.lineDistances&&t.lineDistances.length===t.vertices.length){var r=new Ac(t.lineDistances.length,1);this.addAttribute("lineDistance",r.copyArray(t.lineDistances))}null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone())}else e.isMesh&&t&&t.isGeometry&&this.fromGeometry(t);return this},setFromPoints:function(e){for(var t=[],n=0,i=e.length;n<i;n++){var r=e[n];t.push(r.x,r.y,r.z||0)}return this.addAttribute("position",new Ac(t,3)),this},updateFromObject:function(e){var t,n=e.geometry;if(e.isMesh){var i=n.__directGeometry;if(!0===n.elementsNeedUpdate&&(i=void 0,n.elementsNeedUpdate=!1),void 0===i)return this.fromGeometry(n);i.verticesNeedUpdate=n.verticesNeedUpdate,i.normalsNeedUpdate=n.normalsNeedUpdate,i.colorsNeedUpdate=n.colorsNeedUpdate,i.uvsNeedUpdate=n.uvsNeedUpdate,i.groupsNeedUpdate=n.groupsNeedUpdate,n.verticesNeedUpdate=!1,n.normalsNeedUpdate=!1,n.colorsNeedUpdate=!1,n.uvsNeedUpdate=!1,n.groupsNeedUpdate=!1,n=i}return!0===n.verticesNeedUpdate&&(void 0!==(t=this.attributes.position)&&(t.copyVector3sArray(n.vertices),t.needsUpdate=!0),n.verticesNeedUpdate=!1),!0===n.normalsNeedUpdate&&(void 0!==(t=this.attributes.normal)&&(t.copyVector3sArray(n.normals),t.needsUpdate=!0),n.normalsNeedUpdate=!1),!0===n.colorsNeedUpdate&&(void 0!==(t=this.attributes.color)&&(t.copyColorsArray(n.colors),t.needsUpdate=!0),n.colorsNeedUpdate=!1),n.uvsNeedUpdate&&(void 0!==(t=this.attributes.uv)&&(t.copyVector2sArray(n.uvs),t.needsUpdate=!0),n.uvsNeedUpdate=!1),n.lineDistancesNeedUpdate&&(void 0!==(t=this.attributes.lineDistance)&&(t.copyArray(n.lineDistances),t.needsUpdate=!0),n.lineDistancesNeedUpdate=!1),n.groupsNeedUpdate&&(n.computeGroups(e.geometry),this.groups=n.groups,n.groupsNeedUpdate=!1),this},fromGeometry:function(e){return e.__directGeometry=(new gc).fromGeometry(e),this.fromDirectGeometry(e.__directGeometry)},fromDirectGeometry:function(e){var t=new Float32Array(3*e.vertices.length);if(this.addAttribute("position",new sc(t,3).copyVector3sArray(e.vertices)),e.normals.length>0){var n=new Float32Array(3*e.normals.length);this.addAttribute("normal",new sc(n,3).copyVector3sArray(e.normals))}if(e.colors.length>0){var i=new Float32Array(3*e.colors.length);this.addAttribute("color",new sc(i,3).copyColorsArray(e.colors))}if(e.uvs.length>0){var r=new Float32Array(2*e.uvs.length);this.addAttribute("uv",new sc(r,2).copyVector2sArray(e.uvs))}if(e.uvs2.length>0){var o=new Float32Array(2*e.uvs2.length);this.addAttribute("uv2",new sc(o,2).copyVector2sArray(e.uvs2))}for(var a in this.groups=e.groups,e.morphTargets){for(var s=[],l=e.morphTargets[a],c=0,u=l.length;c<u;c++){var h=l[c],d=new Ac(3*h.data.length,3);d.name=h.name,s.push(d.copyVector3sArray(h.data))}this.morphAttributes[a]=s}if(e.skinIndices.length>0){var p=new Ac(4*e.skinIndices.length,4);this.addAttribute("skinIndex",p.copyVector4sArray(e.skinIndices))}if(e.skinWeights.length>0){var f=new Ac(4*e.skinWeights.length,4);this.addAttribute("skinWeight",f.copyVector4sArray(e.skinWeights))}return null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),this},computeBoundingBox:function(){var e=new Ol;return function(){null===this.boundingBox&&(this.boundingBox=new Ol);var t=this.attributes.position,n=this.morphAttributes.position;if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),n)for(var i=0,r=n.length;i<r;i++){var o=n[i];e.setFromBufferAttribute(o),this.boundingBox.expandByPoint(e.min),this.boundingBox.expandByPoint(e.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:function(){var e=new Ol,t=new Ol,n=new cl;return function(){null===this.boundingSphere&&(this.boundingSphere=new Nl);var i=this.attributes.position,r=this.morphAttributes.position;if(i){var o=this.boundingSphere.center;if(e.setFromBufferAttribute(i),r)for(var a=0,s=r.length;a<s;a++){var l=r[a];t.setFromBufferAttribute(l),e.expandByPoint(t.min),e.expandByPoint(t.max)}e.getCenter(o);var c=0;for(a=0,s=i.count;a<s;a++)n.fromBufferAttribute(i,a),c=Math.max(c,o.distanceToSquared(n));if(r)for(a=0,s=r.length;a<s;a++)for(var u=0,h=(l=r[a]).count;u<h;u++)n.fromBufferAttribute(l,u),c=Math.max(c,o.distanceToSquared(n));this.boundingSphere.radius=Math.sqrt(c),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var e=this.index,t=this.attributes;if(t.position){var n=t.position.array;if(void 0===t.normal)this.addAttribute("normal",new sc(new Float32Array(n.length),3));else for(var i=t.normal.array,r=0,o=i.length;r<o;r++)i[r]=0;var a,s,l,c=t.normal.array,u=new cl,h=new cl,d=new cl,p=new cl,f=new cl;if(e){var A=e.array;for(r=0,o=e.count;r<o;r+=3)a=3*A[r+0],s=3*A[r+1],l=3*A[r+2],u.fromArray(n,a),h.fromArray(n,s),d.fromArray(n,l),p.subVectors(d,h),f.subVectors(u,h),p.cross(f),c[a]+=p.x,c[a+1]+=p.y,c[a+2]+=p.z,c[s]+=p.x,c[s+1]+=p.y,c[s+2]+=p.z,c[l]+=p.x,c[l+1]+=p.y,c[l+2]+=p.z}else for(r=0,o=n.length;r<o;r+=9)u.fromArray(n,r),h.fromArray(n,r+3),d.fromArray(n,r+6),p.subVectors(d,h),f.subVectors(u,h),p.cross(f),c[r]=p.x,c[r+1]=p.y,c[r+2]=p.z,c[r+3]=p.x,c[r+4]=p.y,c[r+5]=p.z,c[r+6]=p.x,c[r+7]=p.y,c[r+8]=p.z;this.normalizeNormals(),t.normal.needsUpdate=!0}},merge:function(e,t){if(e&&e.isBufferGeometry){void 0===t&&(t=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));var n=this.attributes;for(var i in n)if(void 0!==e.attributes[i])for(var r=n[i].array,o=e.attributes[i],a=o.array,s=o.itemSize*t,l=Math.min(a.length,r.length-s),c=0,u=s;c<l;c++,u++)r[u]=a[c];return this}console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",e)},normalizeNormals:function(){var e=new cl;return function(){for(var t=this.attributes.normal,n=0,i=t.count;n<i;n++)e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.normalize(),t.setXYZ(n,e.x,e.y,e.z)}}(),toNonIndexed:function(){function e(e,t){for(var n=e.array,i=e.itemSize,r=new n.constructor(t.length*i),o=0,a=0,s=0,l=t.length;s<l;s++){o=t[s]*i;for(var c=0;c<i;c++)r[a++]=n[o++]}return new sc(r,i)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var t=new bc,n=this.index.array,i=this.attributes;for(var r in i){var o=e(i[r],n);t.addAttribute(r,o)}var a=this.morphAttributes;for(r in a){for(var s=[],l=a[r],c=0,u=l.length;c<u;c++)o=e(l[c],n),s.push(o);t.morphAttributes[r]=s}for(var h=this.groups,d=(c=0,h.length);c<d;c++){var p=h[c];t.addGroup(p.start,p.count,p.materialIndex)}return t},toJSON:function(){var e={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),void 0!==this.parameters){var t=this.parameters;for(var n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};var i=this.index;null!==i&&(e.data.index={type:i.array.constructor.name,array:Array.prototype.slice.call(i.array)});var r=this.attributes;for(var n in r){var o=(d=r[n]).toJSON();""!==d.name&&(o.name=d.name),e.data.attributes[n]=o}var a={},s=!1;for(var n in this.morphAttributes){for(var l=this.morphAttributes[n],c=[],u=0,h=l.length;u<h;u++){var d;o=(d=l[u]).toJSON(),""!==d.name&&(o.name=d.name),c.push(o)}c.length>0&&(a[n]=c,s=!0)}s&&(e.data.morphAttributes=a);var p=this.groups;p.length>0&&(e.data.groups=JSON.parse(JSON.stringify(p)));var f=this.boundingSphere;return null!==f&&(e.data.boundingSphere={center:f.center.toArray(),radius:f.radius}),e},clone:function(){return(new bc).copy(this)},copy:function(e){var t,n,i;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;var r=e.index;null!==r&&this.setIndex(r.clone());var o=e.attributes;for(t in o){var a=o[t];this.addAttribute(t,a.clone())}var s=e.morphAttributes;for(t in s){var l=[],c=s[t];for(n=0,i=c.length;n<i;n++)l.push(c[n].clone());this.morphAttributes[t]=l}var u=e.groups;for(n=0,i=u.length;n<i;n++){var h=u[n];this.addGroup(h.start,h.count,h.materialIndex)}var d=e.boundingBox;null!==d&&(this.boundingBox=d.clone());var p=e.boundingSphere;return null!==p&&(this.boundingSphere=p.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),wc.prototype=Object.create(ac.prototype),wc.prototype.constructor=wc,xc.prototype=Object.create(bc.prototype),xc.prototype.constructor=xc,Mc.prototype=Object.create(ac.prototype),Mc.prototype.constructor=Mc,Ec.prototype=Object.create(bc.prototype),Ec.prototype.constructor=Ec;var Sc=0;function Tc(){Object.defineProperty(this,"id",{value:Sc++}),this.uuid=al.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.lights=!0,this.blending=Jo,this.side=Go,this.flatShading=!1,this.vertexTangents=!1,this.vertexColors=Xo,this.opacity=1,this.transparent=!1,this.blendSrc=ha,this.blendDst=da,this.blendEquation=na,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=wa,this.depthTest=!0,this.depthWrite=!0,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.alphaTest=0,this.premultipliedAlpha=!1,this.visible=!0,this.userData={},this.needsUpdate=!0}Tc.prototype=Object.assign(Object.create(Ro.prototype),{constructor:Tc,isMaterial:!0,onBeforeCompile:function(){},setValues:function(e){if(void 0!==e)for(var t in e){var n=e[t];if(void 0!==n)if("shading"!==t){var i=this[t];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[t]=n:console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.")}else console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===n;else console.warn("THREE.Material: '"+t+"' parameter is undefined.")}},toJSON:function(e){var t=void 0===e||"string"==typeof e;t&&(e={textures:{},images:{}});var n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(e){var t=[];for(var n in e){var i=e[n];delete i.metadata,t.push(i)}return t}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),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.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.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,n.reflectivity=this.reflectivity,void 0!==this.combine&&(n.combine=this.combine),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.size&&(n.size=this.size),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Jo&&(n.blending=this.blending),!0===this.flatShading&&(n.flatShading=this.flatShading),this.side!==Go&&(n.side=this.side),this.vertexColors!==Xo&&(n.vertexColors=this.vertexColors),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,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),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.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!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.morphTargets&&(n.morphTargets=!0),!0===this.skinning&&(n.skinning=!0),!1===this.visible&&(n.visible=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),t){var r=i(e.textures),o=i(e.images);r.length>0&&(n.textures=r),o.length>0&&(n.images=o)}return n},clone:function(){return(new this.constructor).copy(this)},copy:function(e){this.name=e.name,this.fog=e.fog,this.lights=e.lights,this.blending=e.blending,this.side=e.side,this.flatShading=e.flatShading,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.userData=JSON.parse(JSON.stringify(e.userData)),this.clipShadows=e.clipShadows,this.clipIntersection=e.clipIntersection;var t=e.clippingPlanes,n=null;if(null!==t){var i=t.length;n=new Array(i);for(var r=0;r!==i;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.shadowSide=e.shadowSide,this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var Cc,Ic,Lc,Dc,Oc,Nc,Pc,kc,Rc,zc,_c,Bc,jc="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",Uc="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}";function Fc(e){Tc.call(this),this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader=jc,this.fragmentShader=Uc,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,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,void 0!==e&&(void 0!==e.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(e))}function Vc(e,t){this.origin=void 0!==e?e:new cl,this.direction=void 0!==t?t:new cl}function Hc(e,t,n){this.a=void 0!==e?e:new cl,this.b=void 0!==t?t:new cl,this.c=void 0!==n?n:new cl}function Qc(e){Tc.call(this),this.type="MeshBasicMaterial",this.color=new Hl(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=Ta,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.lights=!1,this.setValues(e)}function Wc(e,t){nc.call(this),this.type="Mesh",this.geometry=void 0!==e?e:new bc,this.material=void 0!==t?t:new Qc({color:16777215*Math.random()}),this.drawMode=Gs,this.updateMorphTargets()}function Gc(e,t,n,i){var r,o,a=new Hl(0),s=0,l=null,c=0;function u(e,n){t.buffers.color.setClear(e.r,e.g,e.b,n,i)}return{getClearColor:function(){return a},setClearColor:function(e,t){a.set(e),u(a,s=void 0!==t?t:1)},getClearAlpha:function(){return s},setClearAlpha:function(e){u(a,s=e)},render:function(t,i,h,d){var p=i.background,f=e.vr,A=f.getSession&&f.getSession();if(A&&"additive"===A.environmentBlendMode&&(p=null),null===p?(u(a,s),l=null,c=0):p&&p.isColor&&(u(p,1),d=!0,l=null,c=0),(e.autoClear||d)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),p&&(p.isCubeTexture||p.isWebGLRenderTargetCube)){void 0===o&&((o=new Wc(new xc(1,1,1),new Fc({type:"BackgroundCubeMaterial",uniforms:_l(Gl.cube.uniforms),vertexShader:Gl.cube.vertexShader,fragmentShader:Gl.cube.fragmentShader,side:Yo,depthTest:!1,depthWrite:!1,fog:!1}))).geometry.removeAttribute("normal"),o.geometry.removeAttribute("uv"),o.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.tCube.value}}),n.update(o));var m=p.isWebGLRenderTargetCube?p.texture:p;o.material.uniforms.tCube.value=m,o.material.uniforms.tFlip.value=p.isWebGLRenderTargetCube?1:-1,l===p&&c===m.version||(o.material.needsUpdate=!0,l=p,c=m.version),t.unshift(o,o.geometry,o.material,0,0,null)}else p&&p.isTexture&&(void 0===r&&((r=new Wc(new Ec(2,2),new Fc({type:"BackgroundMaterial",uniforms:_l(Gl.background.uniforms),vertexShader:Gl.background.vertexShader,fragmentShader:Gl.background.fragmentShader,side:Go,depthTest:!1,depthWrite:!1,fog:!1}))).geometry.removeAttribute("normal"),Object.defineProperty(r.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(r)),r.material.uniforms.t2D.value=p,!0===p.matrixAutoUpdate&&p.updateMatrix(),r.material.uniforms.uvTransform.value.copy(p.matrix),l===p&&c===p.version||(r.material.needsUpdate=!0,l=p,c=p.version),t.unshift(r,r.geometry,r.material,0,0,null))}}}function Yc(e,t,n,i){var r;this.setMode=function(e){r=e},this.render=function(t,i){e.drawArrays(r,t,i),n.update(i,r)},this.renderInstances=function(o,a,s){var l;if(i.isWebGL2)l=e;else if(null===(l=t.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[i.isWebGL2?"drawArraysInstanced":"drawArraysInstancedANGLE"](r,a,s,o.maxInstancedCount),n.update(s,r,o.maxInstancedCount)}}function qc(e,t,n){var i;function r(t){if("highp"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}var o="undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext,a=void 0!==n.precision?n.precision:"highp",s=r(a);s!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",s,"instead."),a=s);var l=!0===n.logarithmicDepthBuffer,c=e.getParameter(34930),u=e.getParameter(35660),h=e.getParameter(3379),d=e.getParameter(34076),p=e.getParameter(34921),f=e.getParameter(36347),A=e.getParameter(36348),m=e.getParameter(36349),g=u>0,v=o||!!t.get("OES_texture_float");return{isWebGL2:o,getMaxAnisotropy:function(){if(void 0!==i)return i;var n=t.get("EXT_texture_filter_anisotropic");return i=null!==n?e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:l,maxTextures:c,maxVertexTextures:u,maxTextureSize:h,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:f,maxVaryings:A,maxFragmentUniforms:m,vertexTextures:g,floatFragmentTextures:v,floatVertexTextures:g&&v,maxSamples:o?e.getParameter(36183):0}}function Xc(){var e=this,t=null,n=0,i=!1,r=!1,o=new Pl,a=new ul,s={value:null,needsUpdate:!1};function l(){s.value!==t&&(s.value=t,s.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function c(t,n,i,r){var l=null!==t?t.length:0,c=null;if(0!==l){if(c=s.value,!0!==r||null===c){var u=i+4*l,h=n.matrixWorldInverse;a.getNormalMatrix(h),(null===c||c.length<u)&&(c=new Float32Array(u));for(var d=0,p=i;d!==l;++d,p+=4)o.copy(t[d]).applyMatrix4(h,a),o.normal.toArray(c,p),c[p+3]=o.constant}s.value=c,s.needsUpdate=!0}return e.numPlanes=l,c}this.uniform=s,this.numPlanes=0,this.numIntersection=0,this.init=function(e,r,o){var a=0!==e.length||r||0!==n||i;return i=r,t=c(e,o,0),n=e.length,a},this.beginShadows=function(){r=!0,c(null)},this.endShadows=function(){r=!1,l()},this.setState=function(e,o,a,u,h,d){if(!i||null===e||0===e.length||r&&!a)r?c(null):l();else{var p=r?0:n,f=4*p,A=h.clippingState||null;s.value=A,A=c(e,u,f,d);for(var m=0;m!==f;++m)A[m]=t[m];h.clippingState=A,this.numIntersection=o?this.numPlanes:0,this.numPlanes+=p}}}function Zc(e){var t={};return{get:function(n){if(void 0!==t[n])return t[n];var i;switch(n){case"WEBGL_depth_texture":i=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=e.getExtension(n)}return null===i&&console.warn("THREE.WebGLRenderer: "+n+" extension not supported."),t[n]=i,i}}}function Jc(e,t,n){var i={},r={};function o(e){var a=e.target,s=i[a.id];for(var l in null!==s.index&&t.remove(s.index),s.attributes)t.remove(s.attributes[l]);a.removeEventListener("dispose",o),delete i[a.id];var c=r[s.id];c&&(t.remove(c),delete r[s.id]),n.memory.geometries--}return{get:function(e,t){var r=i[t.id];return r||(t.addEventListener("dispose",o),t.isBufferGeometry?r=t:t.isGeometry&&(void 0===t._bufferGeometry&&(t._bufferGeometry=(new bc).setFromObject(e)),r=t._bufferGeometry),i[t.id]=r,n.memory.geometries++,r)},update:function(e){var n=e.index,i=e.attributes;for(var r in null!==n&&t.update(n,34963),i)t.update(i[r],34962);var o=e.morphAttributes;for(var r in o)for(var a=o[r],s=0,l=a.length;s<l;s++)t.update(a[s],34962)},getWireframeAttribute:function(e){var n=r[e.id];if(n)return n;var i,o=[],a=e.index,s=e.attributes;if(null!==a)for(var l=0,c=(i=a.array).length;l<c;l+=3){var u=i[l+0],h=i[l+1],d=i[l+2];o.push(u,h,h,d,d,u)}else for(l=0,c=(i=s.position.array).length/3-1;l<c;l+=3)u=l+0,h=l+1,d=l+2,o.push(u,h,h,d,d,u);return n=new(vc(o)>65535?fc:dc)(o,1),t.update(n,34963),r[e.id]=n,n}}}function Kc(e,t,n,i){var r,o,a;this.setMode=function(e){r=e},this.setIndex=function(e){o=e.type,a=e.bytesPerElement},this.render=function(t,i){e.drawElements(r,i,o,t*a),n.update(i,r)},this.renderInstances=function(s,l,c){var u;if(i.isWebGL2)u=e;else if(null===(u=t.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");u[i.isWebGL2?"drawElementsInstanced":"drawElementsInstancedANGLE"](r,c,o,l*a,s.maxInstancedCount),n.update(c,r,s.maxInstancedCount)}}function $c(e){var t={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:t,programs:null,autoReset:!0,reset:function(){t.frame++,t.calls=0,t.triangles=0,t.points=0,t.lines=0},update:function(e,n,i){switch(i=i||1,t.calls++,n){case 4:t.triangles+=i*(e/3);break;case 5:case 6:t.triangles+=i*(e-2);break;case 1:t.lines+=i*(e/2);break;case 3:t.lines+=i*(e-1);break;case 2:t.lines+=i*e;break;case 0:t.points+=i*e;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}}}function eu(e,t){return Math.abs(t[1])-Math.abs(e[1])}function tu(e){var t={},n=new Float32Array(8);return{update:function(i,r,o,a){var s=i.morphTargetInfluences,l=s.length,c=t[r.id];if(void 0===c){c=[];for(var u=0;u<l;u++)c[u]=[u,0];t[r.id]=c}var h=o.morphTargets&&r.morphAttributes.position,d=o.morphNormals&&r.morphAttributes.normal;for(u=0;u<l;u++)0!==(p=c[u])[1]&&(h&&r.removeAttribute("morphTarget"+u),d&&r.removeAttribute("morphNormal"+u));for(u=0;u<l;u++)(p=c[u])[0]=u,p[1]=s[u];for(c.sort(eu),u=0;u<8;u++){var p;if(p=c[u]){var f=p[0],A=p[1];if(A){h&&r.addAttribute("morphTarget"+u,h[f]),d&&r.addAttribute("morphNormal"+u,d[f]),n[u]=A;continue}}n[u]=0}a.getUniforms().setValue(e,"morphTargetInfluences",n)}}}function nu(e,t){var n={};return{update:function(i){var r=t.render.frame,o=i.geometry,a=e.get(i,o);return n[a.id]!==r&&(o.isGeometry&&a.updateFromObject(i),e.update(a),n[a.id]=r),a},dispose:function(){n={}}}}function iu(e,t,n,i,r,o,a,s,l,c){e=void 0!==e?e:[],t=void 0!==t?t:Ra,a=void 0!==a?a:us,Sl.call(this,e,t,n,i,r,o,a,s,l,c),this.flipY=!1}function ru(e,t,n,i){Sl.call(this,null),this.image={data:e,width:t,height:n,depth:i},this.magFilter=Wa,this.minFilter=Wa,this.wrapR=Ha,this.generateMipmaps=!1,this.flipY=!1}function ou(e,t,n,i){Sl.call(this,null),this.image={data:e,width:t,height:n,depth:i},this.magFilter=Wa,this.minFilter=Wa,this.wrapR=Ha,this.generateMipmaps=!1,this.flipY=!1}Fc.prototype=Object.create(Tc.prototype),Fc.prototype.constructor=Fc,Fc.prototype.isShaderMaterial=!0,Fc.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=_l(e.uniforms),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.extensions=e.extensions,this},Fc.prototype.toJSON=function(e){var t=Tc.prototype.toJSON.call(this,e);for(var n in t.uniforms={},this.uniforms){var i=this.uniforms[n].value;i&&i.isTexture?t.uniforms[n]={type:"t",value:i.toJSON(e).uuid}:i&&i.isColor?t.uniforms[n]={type:"c",value:i.getHex()}:i&&i.isVector2?t.uniforms[n]={type:"v2",value:i.toArray()}:i&&i.isVector3?t.uniforms[n]={type:"v3",value:i.toArray()}:i&&i.isVector4?t.uniforms[n]={type:"v4",value:i.toArray()}:i&&i.isMatrix3?t.uniforms[n]={type:"m3",value:i.toArray()}:i&&i.isMatrix4?t.uniforms[n]={type:"m4",value:i.toArray()}:t.uniforms[n]={value:i}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;var r={};for(var o in this.extensions)!0===this.extensions[o]&&(r[o]=!0);return Object.keys(r).length>0&&(t.extensions=r),t},Object.assign(Vc.prototype,{set:function(e,t){return this.origin.copy(e),this.direction.copy(t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this},at:function(e,t){return void 0===t&&(console.warn("THREE.Ray: .at() target is now required"),t=new cl),t.copy(this.direction).multiplyScalar(e).add(this.origin)},lookAt:function(e){return this.direction.copy(e).sub(this.origin).normalize(),this},recast:function(){var e=new cl;return function(t){return this.origin.copy(this.at(t,e)),this}}(),closestPointToPoint:function(e,t){void 0===t&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),t=new cl),t.subVectors(e,this.origin);var n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)},distanceToPoint:function(e){return Math.sqrt(this.distanceSqToPoint(e))},distanceSqToPoint:function(){var e=new cl;return function(t){var n=e.subVectors(t,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(t):(e.copy(this.direction).multiplyScalar(n).add(this.origin),e.distanceToSquared(t))}}(),distanceSqToSegment:(Ic=new cl,Lc=new cl,Dc=new cl,function(e,t,n,i){Ic.copy(e).add(t).multiplyScalar(.5),Lc.copy(t).sub(e).normalize(),Dc.copy(this.origin).sub(Ic);var r,o,a,s,l=.5*e.distanceTo(t),c=-this.direction.dot(Lc),u=Dc.dot(this.direction),h=-Dc.dot(Lc),d=Dc.lengthSq(),p=Math.abs(1-c*c);if(p>0)if(o=c*u-h,s=l*p,(r=c*h-u)>=0)if(o>=-s)if(o<=s){var f=1/p;a=(r*=f)*(r+c*(o*=f)+2*u)+o*(c*r+o+2*h)+d}else o=l,a=-(r=Math.max(0,-(c*o+u)))*r+o*(o+2*h)+d;else o=-l,a=-(r=Math.max(0,-(c*o+u)))*r+o*(o+2*h)+d;else o<=-s?a=-(r=Math.max(0,-(-c*l+u)))*r+(o=r>0?-l:Math.min(Math.max(-l,-h),l))*(o+2*h)+d:o<=s?(r=0,a=(o=Math.min(Math.max(-l,-h),l))*(o+2*h)+d):a=-(r=Math.max(0,-(c*l+u)))*r+(o=r>0?l:Math.min(Math.max(-l,-h),l))*(o+2*h)+d;else o=c>0?-l:l,a=-(r=Math.max(0,-(c*o+u)))*r+o*(o+2*h)+d;return n&&n.copy(this.direction).multiplyScalar(r).add(this.origin),i&&i.copy(Lc).multiplyScalar(o).add(Ic),a}),intersectSphere:function(){var e=new cl;return function(t,n){e.subVectors(t.center,this.origin);var i=e.dot(this.direction),r=e.dot(e)-i*i,o=t.radius*t.radius;if(r>o)return null;var a=Math.sqrt(o-r),s=i-a,l=i+a;return s<0&&l<0?null:s<0?this.at(l,n):this.at(s,n)}}(),intersectsSphere:function(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius},distanceToPlane:function(e){var t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;var n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null},intersectPlane:function(e,t){var n=this.distanceToPlane(e);return null===n?null:this.at(n,t)},intersectsPlane:function(e){var t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0},intersectBox:function(e,t){var n,i,r,o,a,s,l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,h=this.origin;return l>=0?(n=(e.min.x-h.x)*l,i=(e.max.x-h.x)*l):(n=(e.max.x-h.x)*l,i=(e.min.x-h.x)*l),c>=0?(r=(e.min.y-h.y)*c,o=(e.max.y-h.y)*c):(r=(e.max.y-h.y)*c,o=(e.min.y-h.y)*c),n>o||r>i?null:((r>n||n!=n)&&(n=r),(o<i||i!=i)&&(i=o),u>=0?(a=(e.min.z-h.z)*u,s=(e.max.z-h.z)*u):(a=(e.max.z-h.z)*u,s=(e.min.z-h.z)*u),n>s||a>i?null:((a>n||n!=n)&&(n=a),(s<i||i!=i)&&(i=s),i<0?null:this.at(n>=0?n:i,t)))},intersectsBox:(Cc=new cl,function(e){return null!==this.intersectBox(e,Cc)}),intersectTriangle:function(){var e=new cl,t=new cl,n=new cl,i=new cl;return function(r,o,a,s,l){t.subVectors(o,r),n.subVectors(a,r),i.crossVectors(t,n);var c,u=this.direction.dot(i);if(u>0){if(s)return null;c=1}else{if(!(u<0))return null;c=-1,u=-u}e.subVectors(this.origin,r);var h=c*this.direction.dot(n.crossVectors(e,n));if(h<0)return null;var d=c*this.direction.dot(t.cross(e));if(d<0)return null;if(h+d>u)return null;var p=-c*e.dot(i);return p<0?null:this.at(p/u,l)}}(),applyMatrix4:function(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this},equals:function(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}}),Object.assign(Hc,{getNormal:(Nc=new cl,function(e,t,n,i){void 0===i&&(console.warn("THREE.Triangle: .getNormal() target is now required"),i=new cl),i.subVectors(n,t),Nc.subVectors(e,t),i.cross(Nc);var r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}),getBarycoord:function(){var e=new cl,t=new cl,n=new cl;return function(i,r,o,a,s){e.subVectors(a,r),t.subVectors(o,r),n.subVectors(i,r);var l=e.dot(e),c=e.dot(t),u=e.dot(n),h=t.dot(t),d=t.dot(n),p=l*h-c*c;if(void 0===s&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),s=new cl),0===p)return s.set(-2,-1,-1);var f=1/p,A=(h*u-c*d)*f,m=(l*d-c*u)*f;return s.set(1-A-m,m,A)}}(),containsPoint:function(){var e=new cl;return function(t,n,i,r){return Hc.getBarycoord(t,n,i,r,e),e.x>=0&&e.y>=0&&e.x+e.y<=1}}(),getUV:(Oc=new cl,function(e,t,n,i,r,o,a,s){return this.getBarycoord(e,t,n,i,Oc),s.set(0,0),s.addScaledVector(r,Oc.x),s.addScaledVector(o,Oc.y),s.addScaledVector(a,Oc.z),s}),isFrontFacing:function(){var e=new cl,t=new cl;return function(n,i,r,o){return e.subVectors(r,i),t.subVectors(n,i),e.cross(t).dot(o)<0}}()}),Object.assign(Hc.prototype,{set:function(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this},setFromPointsAndIndices:function(e,t,n,i){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[i]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this},getArea:function(){var e=new cl,t=new cl;return function(){return e.subVectors(this.c,this.b),t.subVectors(this.a,this.b),.5*e.cross(t).length()}}(),getMidpoint:function(e){return void 0===e&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),e=new cl),e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(e){return Hc.getNormal(this.a,this.b,this.c,e)},getPlane:function(e){return void 0===e&&(console.warn("THREE.Triangle: .getPlane() target is now required"),e=new cl),e.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(e,t){return Hc.getBarycoord(e,this.a,this.b,this.c,t)},getUV:function(e,t,n,i,r){return Hc.getUV(e,this.a,this.b,this.c,t,n,i,r)},containsPoint:function(e){return Hc.containsPoint(e,this.a,this.b,this.c)},isFrontFacing:function(e){return Hc.isFrontFacing(this.a,this.b,this.c,e)},intersectsBox:function(e){return e.intersectsTriangle(this)},closestPointToPoint:(Pc=new cl,kc=new cl,Rc=new cl,zc=new cl,_c=new cl,Bc=new cl,function(e,t){void 0===t&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),t=new cl);var n,i,r=this.a,o=this.b,a=this.c;Pc.subVectors(o,r),kc.subVectors(a,r),zc.subVectors(e,r);var s=Pc.dot(zc),l=kc.dot(zc);if(s<=0&&l<=0)return t.copy(r);_c.subVectors(e,o);var c=Pc.dot(_c),u=kc.dot(_c);if(c>=0&&u<=c)return t.copy(o);var h=s*u-c*l;if(h<=0&&s>=0&&c<=0)return n=s/(s-c),t.copy(r).addScaledVector(Pc,n);Bc.subVectors(e,a);var d=Pc.dot(Bc),p=kc.dot(Bc);if(p>=0&&d<=p)return t.copy(a);var f=d*l-s*p;if(f<=0&&l>=0&&p<=0)return i=l/(l-p),t.copy(r).addScaledVector(kc,i);var A=c*p-d*u;if(A<=0&&u-c>=0&&d-p>=0)return Rc.subVectors(a,o),i=(u-c)/(u-c+(d-p)),t.copy(o).addScaledVector(Rc,i);var m=1/(A+f+h);return n=f*m,i=h*m,t.copy(r).addScaledVector(Pc,n).addScaledVector(kc,i)}),equals:function(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}),Qc.prototype=Object.create(Tc.prototype),Qc.prototype.constructor=Qc,Qc.prototype.isMeshBasicMaterial=!0,Qc.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this},Wc.prototype=Object.assign(Object.create(nc.prototype),{constructor:Wc,isMesh:!0,setDrawMode:function(e){this.drawMode=e},copy:function(e){return nc.prototype.copy.call(this,e),this.drawMode=e.drawMode,void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this},updateMorphTargets:function(){var e,t,n,i=this.geometry;if(i.isBufferGeometry){var r=i.morphAttributes,o=Object.keys(r);if(o.length>0){var a=r[o[0]];if(void 0!==a)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},e=0,t=a.length;e<t;e++)n=a[e].name||String(e),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=e}}else{var s=i.morphTargets;void 0!==s&&s.length>0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},raycast:function(){var e=new Rl,t=new Vc,n=new Nl,i=new cl,r=new cl,o=new cl,a=new cl,s=new cl,l=new cl,c=new cl,u=new cl,h=new cl,d=new sl,p=new sl,f=new sl,A=new cl,m=new cl;function g(e,t,n,i,r,o,a,s){if(null===(t.side===Yo?i.intersectTriangle(a,o,r,!0,s):i.intersectTriangle(r,o,a,t.side!==qo,s)))return null;m.copy(s),m.applyMatrix4(e.matrixWorld);var l=n.ray.origin.distanceTo(m);return l<n.near||l>n.far?null:{distance:l,point:m.clone(),object:e}}function v(e,t,n,m,v,y,b,w,x,M){i.fromBufferAttribute(v,w),r.fromBufferAttribute(v,x),o.fromBufferAttribute(v,M);var E=e.morphTargetInfluences;if(t.morphTargets&&y&&E){c.set(0,0,0),u.set(0,0,0),h.set(0,0,0);for(var S=0,T=y.length;S<T;S++){var C=E[S],I=y[S];0!==C&&(a.fromBufferAttribute(I,w),s.fromBufferAttribute(I,x),l.fromBufferAttribute(I,M),c.addScaledVector(a.sub(i),C),u.addScaledVector(s.sub(r),C),h.addScaledVector(l.sub(o),C))}i.add(c),r.add(u),o.add(h)}var L=g(e,t,n,m,i,r,o,A);if(L){b&&(d.fromBufferAttribute(b,w),p.fromBufferAttribute(b,x),f.fromBufferAttribute(b,M),L.uv=Hc.getUV(A,i,r,o,d,p,f,new sl));var D=new Xl(w,x,M);Hc.getNormal(i,r,o,D.normal),L.face=D}return L}return function(i,r){var o,a=this.geometry,s=this.material,l=this.matrixWorld;if(void 0!==s&&(null===a.boundingSphere&&a.computeBoundingSphere(),n.copy(a.boundingSphere),n.applyMatrix4(l),!1!==i.ray.intersectsSphere(n)&&(e.getInverse(l),t.copy(i.ray).applyMatrix4(e),null===a.boundingBox||!1!==t.intersectsBox(a.boundingBox))))if(a.isBufferGeometry){var c,u,h,m,y,b,w,x,M,E=a.index,S=a.attributes.position,T=a.morphAttributes.position,C=a.attributes.uv,I=a.groups,L=a.drawRange;if(null!==E)if(Array.isArray(s))for(m=0,b=I.length;m<b;m++)for(M=s[(x=I[m]).materialIndex],y=Math.max(x.start,L.start),w=Math.min(x.start+x.count,L.start+L.count);y<w;y+=3)c=E.getX(y),u=E.getX(y+1),h=E.getX(y+2),(o=v(this,M,i,t,S,T,C,c,u,h))&&(o.faceIndex=Math.floor(y/3),o.face.materialIndex=x.materialIndex,r.push(o));else for(m=Math.max(0,L.start),b=Math.min(E.count,L.start+L.count);m<b;m+=3)c=E.getX(m),u=E.getX(m+1),h=E.getX(m+2),(o=v(this,s,i,t,S,T,C,c,u,h))&&(o.faceIndex=Math.floor(m/3),r.push(o));else if(void 0!==S)if(Array.isArray(s))for(m=0,b=I.length;m<b;m++)for(M=s[(x=I[m]).materialIndex],y=Math.max(x.start,L.start),w=Math.min(x.start+x.count,L.start+L.count);y<w;y+=3)(o=v(this,M,i,t,S,T,C,c=y,u=y+1,h=y+2))&&(o.faceIndex=Math.floor(y/3),o.face.materialIndex=x.materialIndex,r.push(o));else for(m=Math.max(0,L.start),b=Math.min(S.count,L.start+L.count);m<b;m+=3)(o=v(this,s,i,t,S,T,C,c=m,u=m+1,h=m+2))&&(o.faceIndex=Math.floor(m/3),r.push(o))}else if(a.isGeometry){var D,O,N,P,k=Array.isArray(s),R=a.vertices,z=a.faces,_=a.faceVertexUvs[0];_.length>0&&(P=_);for(var B=0,j=z.length;B<j;B++){var U=z[B],F=k?s[U.materialIndex]:s;if(void 0!==F&&(D=R[U.a],O=R[U.b],N=R[U.c],o=g(this,F,i,t,D,O,N,A))){if(P&&P[B]){var V=P[B];d.copy(V[0]),p.copy(V[1]),f.copy(V[2]),o.uv=Hc.getUV(A,D,O,N,d,p,f,new sl)}o.face=U,o.faceIndex=B,r.push(o)}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),iu.prototype=Object.create(Sl.prototype),iu.prototype.constructor=iu,iu.prototype.isCubeTexture=!0,Object.defineProperty(iu.prototype,"images",{get:function(){return this.image},set:function(e){this.image=e}}),ru.prototype=Object.create(Sl.prototype),ru.prototype.constructor=ru,ru.prototype.isDataTexture2DArray=!0,ou.prototype=Object.create(Sl.prototype),ou.prototype.constructor=ou,ou.prototype.isDataTexture3D=!0;var au=new Sl,su=new ru,lu=new ou,cu=new iu,uu=[],hu=[],du=new Float32Array(16),pu=new Float32Array(9),fu=new Float32Array(4);function Au(e,t,n){var i=e[0];if(i<=0||i>0)return e;var r=t*n,o=uu[r];if(void 0===o&&(o=new Float32Array(r),uu[r]=o),0!==t){i.toArray(o,0);for(var a=1,s=0;a!==t;++a)s+=n,e[a].toArray(o,s)}return o}function mu(e,t){if(e.length!==t.length)return!1;for(var n=0,i=e.length;n<i;n++)if(e[n]!==t[n])return!1;return!0}function gu(e,t){for(var n=0,i=t.length;n<i;n++)e[n]=t[n]}function vu(e,t){var n=hu[t];void 0===n&&(n=new Int32Array(t),hu[t]=n);for(var i=0;i!==t;++i)n[i]=e.allocateTextureUnit();return n}function yu(e,t){var n=this.cache;n[0]!==t&&(e.uniform1f(this.addr,t),n[0]=t)}function bu(e,t){var n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y||(e.uniform2f(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(mu(n,t))return;e.uniform2fv(this.addr,t),gu(n,t)}}function wu(e,t){var n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z||(e.uniform3f(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else if(void 0!==t.r)n[0]===t.r&&n[1]===t.g&&n[2]===t.b||(e.uniform3f(this.addr,t.r,t.g,t.b),n[0]=t.r,n[1]=t.g,n[2]=t.b);else{if(mu(n,t))return;e.uniform3fv(this.addr,t),gu(n,t)}}function xu(e,t){var n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z&&n[3]===t.w||(e.uniform4f(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(mu(n,t))return;e.uniform4fv(this.addr,t),gu(n,t)}}function Mu(e,t){var n=this.cache,i=t.elements;if(void 0===i){if(mu(n,t))return;e.uniformMatrix2fv(this.addr,!1,t),gu(n,t)}else{if(mu(n,i))return;fu.set(i),e.uniformMatrix2fv(this.addr,!1,fu),gu(n,i)}}function Eu(e,t){var n=this.cache,i=t.elements;if(void 0===i){if(mu(n,t))return;e.uniformMatrix3fv(this.addr,!1,t),gu(n,t)}else{if(mu(n,i))return;pu.set(i),e.uniformMatrix3fv(this.addr,!1,pu),gu(n,i)}}function Su(e,t){var n=this.cache,i=t.elements;if(void 0===i){if(mu(n,t))return;e.uniformMatrix4fv(this.addr,!1,t),gu(n,t)}else{if(mu(n,i))return;du.set(i),e.uniformMatrix4fv(this.addr,!1,du),gu(n,i)}}function Tu(e,t,n){var i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(e.uniform1i(this.addr,r),i[0]=r),n.safeSetTexture2D(t||au,r)}function Cu(e,t,n){var i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(e.uniform1i(this.addr,r),i[0]=r),n.setTexture2DArray(t||su,r)}function Iu(e,t,n){var i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(e.uniform1i(this.addr,r),i[0]=r),n.setTexture3D(t||lu,r)}function Lu(e,t,n){var i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(e.uniform1i(this.addr,r),i[0]=r),n.safeSetTextureCube(t||cu,r)}function Du(e,t){var n=this.cache;n[0]!==t&&(e.uniform1i(this.addr,t),n[0]=t)}function Ou(e,t){var n=this.cache;mu(n,t)||(e.uniform2iv(this.addr,t),gu(n,t))}function Nu(e,t){var n=this.cache;mu(n,t)||(e.uniform3iv(this.addr,t),gu(n,t))}function Pu(e,t){var n=this.cache;mu(n,t)||(e.uniform4iv(this.addr,t),gu(n,t))}function ku(e,t){e.uniform1fv(this.addr,t)}function Ru(e,t){e.uniform1iv(this.addr,t)}function zu(e,t){e.uniform2iv(this.addr,t)}function _u(e,t){e.uniform3iv(this.addr,t)}function Bu(e,t){e.uniform4iv(this.addr,t)}function ju(e,t){var n=Au(t,this.size,2);e.uniform2fv(this.addr,n)}function Uu(e,t){var n=Au(t,this.size,3);e.uniform3fv(this.addr,n)}function Fu(e,t){var n=Au(t,this.size,4);e.uniform4fv(this.addr,n)}function Vu(e,t){var n=Au(t,this.size,4);e.uniformMatrix2fv(this.addr,!1,n)}function Hu(e,t){var n=Au(t,this.size,9);e.uniformMatrix3fv(this.addr,!1,n)}function Qu(e,t){var n=Au(t,this.size,16);e.uniformMatrix4fv(this.addr,!1,n)}function Wu(e,t,n){var i=t.length,r=vu(n,i);e.uniform1iv(this.addr,r);for(var o=0;o!==i;++o)n.safeSetTexture2D(t[o]||au,r[o])}function Gu(e,t,n){var i=t.length,r=vu(n,i);e.uniform1iv(this.addr,r);for(var o=0;o!==i;++o)n.safeSetTextureCube(t[o]||cu,r[o])}function Yu(e,t,n){this.id=e,this.addr=n,this.cache=[],this.setValue=function(e){switch(e){case 5126:return yu;case 35664:return bu;case 35665:return wu;case 35666:return xu;case 35674:return Mu;case 35675:return Eu;case 35676:return Su;case 35678:case 36198:return Tu;case 35679:return Iu;case 35680:return Lu;case 36289:return Cu;case 5124:case 35670:return Du;case 35667:case 35671:return Ou;case 35668:case 35672:return Nu;case 35669:case 35673:return Pu}}(t.type)}function qu(e,t,n){this.id=e,this.addr=n,this.cache=[],this.size=t.size,this.setValue=function(e){switch(e){case 5126:return ku;case 35664:return ju;case 35665:return Uu;case 35666:return Fu;case 35674:return Vu;case 35675:return Hu;case 35676:return Qu;case 35678:return Wu;case 35680:return Gu;case 5124:case 35670:return Ru;case 35667:case 35671:return zu;case 35668:case 35672:return _u;case 35669:case 35673:return Bu}}(t.type)}function Xu(e){this.id=e,this.seq=[],this.map={}}qu.prototype.updateCache=function(e){var t=this.cache;e instanceof Float32Array&&t.length!==e.length&&(this.cache=new Float32Array(e.length)),gu(t,e)},Xu.prototype.setValue=function(e,t,n){for(var i=this.seq,r=0,o=i.length;r!==o;++r){var a=i[r];a.setValue(e,t[a.id],n)}};var Zu=/([\w\d_]+)(\])?(\[|\.)?/g;function Ju(e,t){e.seq.push(t),e.map[t.id]=t}function Ku(e,t,n){var i=e.name,r=i.length;for(Zu.lastIndex=0;;){var o=Zu.exec(i),a=Zu.lastIndex,s=o[1],l="]"===o[2],c=o[3];if(l&&(s|=0),void 0===c||"["===c&&a+2===r){Ju(n,void 0===c?new Yu(s,e,t):new qu(s,e,t));break}var u=n.map[s];void 0===u&&Ju(n,u=new Xu(s)),n=u}}function $u(e,t){this.seq=[],this.map={};for(var n=e.getProgramParameter(t,35718),i=0;i<n;++i){var r=e.getActiveUniform(t,i);Ku(r,e.getUniformLocation(t,r.name),this)}}function eh(e,t,n,i){var r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),!0===i&&(!1===e.getShaderParameter(r,35713)&&console.error("THREE.WebGLShader: Shader couldn't compile."),""!==e.getShaderInfoLog(r)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",35633===t?"vertex":"fragment",e.getShaderInfoLog(r),function(e){for(var t=e.split("\n"),n=0;n<t.length;n++)t[n]=n+1+": "+t[n];return t.join("\n")}(n))),r}$u.prototype.setValue=function(e,t,n,i){var r=this.map[t];void 0!==r&&r.setValue(e,n,i)},$u.prototype.setOptional=function(e,t,n){var i=t[n];void 0!==i&&this.setValue(e,n,i)},$u.upload=function(e,t,n,i){for(var r=0,o=t.length;r!==o;++r){var a=t[r],s=n[a.id];!1!==s.needsUpdate&&a.setValue(e,s.value,i)}},$u.seqWithValue=function(e,t){for(var n=[],i=0,r=e.length;i!==r;++i){var o=e[i];o.id in t&&n.push(o)}return n};var th=0;function nh(e){switch(e){case Xs:return["Linear","( value )"];case Zs:return["sRGB","( value )"];case Ks:return["RGBE","( value )"];case $s:return["RGBM","( value, 7.0 )"];case el:return["RGBM","( value, 16.0 )"];case tl:return["RGBD","( value, 256.0 )"];case Js:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw new Error("unsupported encoding: "+e)}}function ih(e,t){var n=nh(t);return"vec4 "+e+"( vec4 value ) { return "+n[0]+"ToLinear"+n[1]+"; }"}function rh(e,t){var n=nh(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function oh(e,t){var n;switch(t){case Da:n="Linear";break;case Oa:n="Reinhard";break;case Na:n="Uncharted2";break;case Pa:n="OptimizedCineon";break;case ka:n="ACESFilmic";break;default:throw new Error("unsupported toneMapping: "+t)}return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function ah(e){return""!==e}function sh(e,t){return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights)}function lh(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}function ch(e){return e.replace(/^[ \t]*#include +<([\w\d./]+)>/gm,(function(e,t){var n=zl[t];if(void 0===n)throw new Error("Can not resolve #include <"+t+">");return ch(n)}))}function uh(e){return e.replace(/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,(function(e,t,n,i){for(var r="",o=parseInt(t);o<parseInt(n);o++)r+=i.replace(/\[ i \]/g,"[ "+o+" ]");return r}))}function hh(e,t,n,i,r,o,a,s){var l=e.context,c=i.defines,u=r.vertexShader,h=r.fragmentShader,d="SHADOWMAP_TYPE_BASIC";o.shadowMapType===Qo?d="SHADOWMAP_TYPE_PCF":o.shadowMapType===Wo&&(d="SHADOWMAP_TYPE_PCF_SOFT");var p="ENVMAP_TYPE_CUBE",f="ENVMAP_MODE_REFLECTION",A="ENVMAP_BLENDING_MULTIPLY";if(o.envMap){switch(i.envMap.mapping){case Ra:case za:p="ENVMAP_TYPE_CUBE";break;case Ua:case Fa:p="ENVMAP_TYPE_CUBE_UV";break;case _a:case Ba:p="ENVMAP_TYPE_EQUIREC";break;case ja:p="ENVMAP_TYPE_SPHERE"}switch(i.envMap.mapping){case za:case Ba:f="ENVMAP_MODE_REFRACTION"}switch(i.combine){case Ta:A="ENVMAP_BLENDING_MULTIPLY";break;case Ca:A="ENVMAP_BLENDING_MIX";break;case Ia:A="ENVMAP_BLENDING_ADD"}}var m,g,v=e.gammaFactor>0?e.gammaFactor:1,y=a.isWebGL2?"":function(e,t,n){return[(e=e||{}).derivatives||t.envMapCubeUV||t.bumpMap||t.normalMap&&!t.objectSpaceNormalMap||t.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(e.fragDepth||t.logarithmicDepthBuffer)&&n.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",e.drawBuffers&&n.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(e.shaderTextureLOD||t.envMap)&&n.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(ah).join("\n")}(i.extensions,o,t),b=function(e){var t=[];for(var n in e){var i=e[n];!1!==i&&t.push("#define "+n+" "+i)}return t.join("\n")}(c),w=l.createProgram();if(i.isRawShaderMaterial?((m=[b].filter(ah).join("\n")).length>0&&(m+="\n"),(g=[y,b].filter(ah).join("\n")).length>0&&(g+="\n")):(m=["precision "+o.precision+" float;","precision "+o.precision+" int;","#define SHADER_NAME "+r.name,b,o.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+v,"#define MAX_BONES "+o.maxBones,o.useFog&&o.fog?"#define USE_FOG":"",o.useFog&&o.fogExp?"#define FOG_EXP2":"",o.map?"#define USE_MAP":"",o.envMap?"#define USE_ENVMAP":"",o.envMap?"#define "+f:"",o.lightMap?"#define USE_LIGHTMAP":"",o.aoMap?"#define USE_AOMAP":"",o.emissiveMap?"#define USE_EMISSIVEMAP":"",o.bumpMap?"#define USE_BUMPMAP":"",o.normalMap?"#define USE_NORMALMAP":"",o.normalMap&&o.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",o.displacementMap&&o.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",o.specularMap?"#define USE_SPECULARMAP":"",o.roughnessMap?"#define USE_ROUGHNESSMAP":"",o.metalnessMap?"#define USE_METALNESSMAP":"",o.alphaMap?"#define USE_ALPHAMAP":"",o.vertexTangents?"#define USE_TANGENT":"",o.vertexColors?"#define USE_COLOR":"",o.flatShading?"#define FLAT_SHADED":"",o.skinning?"#define USE_SKINNING":"",o.useVertexTexture?"#define BONE_TEXTURE":"",o.morphTargets?"#define USE_MORPHTARGETS":"",o.morphNormals&&!1===o.flatShading?"#define USE_MORPHNORMALS":"",o.doubleSided?"#define DOUBLE_SIDED":"",o.flipSided?"#define FLIP_SIDED":"",o.shadowMapEnabled?"#define USE_SHADOWMAP":"",o.shadowMapEnabled?"#define "+d:"",o.sizeAttenuation?"#define USE_SIZEATTENUATION":"",o.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",o.logarithmicDepthBuffer&&(a.isWebGL2||t.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\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(ah).join("\n"),g=[y,"precision "+o.precision+" float;","precision "+o.precision+" int;","#define SHADER_NAME "+r.name,b,o.alphaTest?"#define ALPHATEST "+o.alphaTest+(o.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+v,o.useFog&&o.fog?"#define USE_FOG":"",o.useFog&&o.fogExp?"#define FOG_EXP2":"",o.map?"#define USE_MAP":"",o.matcap?"#define USE_MATCAP":"",o.envMap?"#define USE_ENVMAP":"",o.envMap?"#define "+p:"",o.envMap?"#define "+f:"",o.envMap?"#define "+A:"",o.lightMap?"#define USE_LIGHTMAP":"",o.aoMap?"#define USE_AOMAP":"",o.emissiveMap?"#define USE_EMISSIVEMAP":"",o.bumpMap?"#define USE_BUMPMAP":"",o.normalMap?"#define USE_NORMALMAP":"",o.normalMap&&o.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",o.specularMap?"#define USE_SPECULARMAP":"",o.roughnessMap?"#define USE_ROUGHNESSMAP":"",o.metalnessMap?"#define USE_METALNESSMAP":"",o.alphaMap?"#define USE_ALPHAMAP":"",o.vertexTangents?"#define USE_TANGENT":"",o.vertexColors?"#define USE_COLOR":"",o.gradientMap?"#define USE_GRADIENTMAP":"",o.flatShading?"#define FLAT_SHADED":"",o.doubleSided?"#define DOUBLE_SIDED":"",o.flipSided?"#define FLIP_SIDED":"",o.shadowMapEnabled?"#define USE_SHADOWMAP":"",o.shadowMapEnabled?"#define "+d:"",o.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",o.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",o.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",o.logarithmicDepthBuffer&&(a.isWebGL2||t.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"",o.envMap&&(a.isWebGL2||t.get("EXT_shader_texture_lod"))?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;",o.toneMapping!==La?"#define TONE_MAPPING":"",o.toneMapping!==La?zl.tonemapping_pars_fragment:"",o.toneMapping!==La?oh("toneMapping",o.toneMapping):"",o.dithering?"#define DITHERING":"",o.outputEncoding||o.mapEncoding||o.matcapEncoding||o.envMapEncoding||o.emissiveMapEncoding?zl.encodings_pars_fragment:"",o.mapEncoding?ih("mapTexelToLinear",o.mapEncoding):"",o.matcapEncoding?ih("matcapTexelToLinear",o.matcapEncoding):"",o.envMapEncoding?ih("envMapTexelToLinear",o.envMapEncoding):"",o.emissiveMapEncoding?ih("emissiveMapTexelToLinear",o.emissiveMapEncoding):"",o.outputEncoding?rh("linearToOutputTexel",o.outputEncoding):"",o.depthPacking?"#define DEPTH_PACKING "+i.depthPacking:"","\n"].filter(ah).join("\n")),u=lh(u=sh(u=ch(u),o),o),h=lh(h=sh(h=ch(h),o),o),u=uh(u),h=uh(h),a.isWebGL2&&!i.isRawShaderMaterial){var x=!1,M=/^\s*#version\s+300\s+es\s*\n/;i.isShaderMaterial&&null!==u.match(M)&&null!==h.match(M)&&(x=!0,u=u.replace(M,""),h=h.replace(M,"")),m=["#version 300 es\n","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+m,g=["#version 300 es\n","#define varying in",x?"":"out highp vec4 pc_fragColor;",x?"":"#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"+g}var E,S,T=g+h,C=eh(l,35633,m+u,e.debug.checkShaderErrors),I=eh(l,35632,T,e.debug.checkShaderErrors);if(l.attachShader(w,C),l.attachShader(w,I),void 0!==i.index0AttributeName?l.bindAttribLocation(w,0,i.index0AttributeName):!0===o.morphTargets&&l.bindAttribLocation(w,0,"position"),l.linkProgram(w),e.debug.checkShaderErrors){var L=l.getProgramInfoLog(w).trim(),D=l.getShaderInfoLog(C).trim(),O=l.getShaderInfoLog(I).trim(),N=!0,P=!0;!1===l.getProgramParameter(w,35714)?(N=!1,console.error("THREE.WebGLProgram: shader error: ",l.getError(),"35715",l.getProgramParameter(w,35715),"gl.getProgramInfoLog",L,D,O)):""!==L?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",L):""!==D&&""!==O||(P=!1),P&&(this.diagnostics={runnable:N,material:i,programLog:L,vertexShader:{log:D,prefix:m},fragmentShader:{log:O,prefix:g}})}return l.deleteShader(C),l.deleteShader(I),this.getUniforms=function(){return void 0===E&&(E=new $u(l,w,s)),E},this.getAttributes=function(){return void 0===S&&(S=function(e,t){for(var n={},i=e.getProgramParameter(t,35721),r=0;r<i;r++){var o=e.getActiveAttrib(t,r).name;n[o]=e.getAttribLocation(t,o)}return n}(l,w)),S},this.destroy=function(){l.deleteProgram(w),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn("THREE.WebGLProgram: .uniforms is now .getUniforms()."),this.getUniforms()}},attributes:{get:function(){return console.warn("THREE.WebGLProgram: .attributes is now .getAttributes()."),this.getAttributes()}}}),this.name=r.name,this.id=th++,this.code=n,this.usedTimes=1,this.program=w,this.vertexShader=C,this.fragmentShader=I,this}function dh(e,t,n,i){var r=[],o={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"phong",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},a=["precision","supportsVertexTextures","map","mapEncoding","matcap","matcapEncoding","envMap","envMapMode","envMapEncoding","lightMap","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","vertexTangents","fog","useFog","fogExp","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","maxMorphTargets","maxMorphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering"];function s(e,t){var n;return e?e.isTexture?n=e.encoding:e.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),n=e.texture.encoding):n=Xs,n===Xs&&t&&(n=Js),n}this.getParameters=function(t,i,r,a,l,c,u){var h=o[t.type],d=u.isSkinnedMesh?function(e){var t=e.skeleton.bones;if(n.floatVertexTextures)return 1024;var i=n.maxVertexUniforms,r=Math.floor((i-20)/4),o=Math.min(r,t.length);return o<t.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+t.length+" bones. This GPU supports "+o+"."),0):o}(u):0,p=n.precision;null!==t.precision&&(p=n.getMaxPrecision(t.precision))!==t.precision&&console.warn("THREE.WebGLProgram.getParameters:",t.precision,"not supported, using",p,"instead.");var f=e.getRenderTarget();return{shaderID:h,precision:p,supportsVertexTextures:n.vertexTextures,outputEncoding:s(f?f.texture:null,e.gammaOutput),map:!!t.map,mapEncoding:s(t.map,e.gammaInput),matcap:!!t.matcap,matcapEncoding:s(t.matcap,e.gammaInput),envMap:!!t.envMap,envMapMode:t.envMap&&t.envMap.mapping,envMapEncoding:s(t.envMap,e.gammaInput),envMapCubeUV:!!t.envMap&&(t.envMap.mapping===Ua||t.envMap.mapping===Fa),lightMap:!!t.lightMap,aoMap:!!t.aoMap,emissiveMap:!!t.emissiveMap,emissiveMapEncoding:s(t.emissiveMap,e.gammaInput),bumpMap:!!t.bumpMap,normalMap:!!t.normalMap,objectSpaceNormalMap:t.normalMapType===ol,displacementMap:!!t.displacementMap,roughnessMap:!!t.roughnessMap,metalnessMap:!!t.metalnessMap,specularMap:!!t.specularMap,alphaMap:!!t.alphaMap,gradientMap:!!t.gradientMap,combine:t.combine,vertexTangents:t.normalMap&&t.vertexTangents,vertexColors:t.vertexColors,fog:!!a,useFog:t.fog,fogExp:a&&a.isFogExp2,flatShading:t.flatShading,sizeAttenuation:t.sizeAttenuation,logarithmicDepthBuffer:n.logarithmicDepthBuffer,skinning:t.skinning&&d>0,maxBones:d,useVertexTexture:n.floatVertexTextures,morphTargets:t.morphTargets,morphNormals:t.morphNormals,maxMorphTargets:e.maxMorphTargets,maxMorphNormals:e.maxMorphNormals,numDirLights:i.directional.length,numPointLights:i.point.length,numSpotLights:i.spot.length,numRectAreaLights:i.rectArea.length,numHemiLights:i.hemi.length,numClippingPlanes:l,numClipIntersection:c,dithering:t.dithering,shadowMapEnabled:e.shadowMap.enabled&&u.receiveShadow&&r.length>0,shadowMapType:e.shadowMap.type,toneMapping:e.toneMapping,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:t.premultipliedAlpha,alphaTest:t.alphaTest,doubleSided:t.side===qo,flipSided:t.side===Yo,depthPacking:void 0!==t.depthPacking&&t.depthPacking}},this.getProgramCode=function(t,n){var i=[];if(n.shaderID?i.push(n.shaderID):(i.push(t.fragmentShader),i.push(t.vertexShader)),void 0!==t.defines)for(var r in t.defines)i.push(r),i.push(t.defines[r]);for(var o=0;o<a.length;o++)i.push(n[a[o]]);return i.push(t.onBeforeCompile.toString()),i.push(e.gammaOutput),i.push(e.gammaFactor),i.join()},this.acquireProgram=function(o,a,s,l){for(var c,u=0,h=r.length;u<h;u++){var d=r[u];if(d.code===l){++(c=d).usedTimes;break}}return void 0===c&&(c=new hh(e,t,l,o,a,s,n,i),r.push(c)),c},this.releaseProgram=function(e){if(0==--e.usedTimes){var t=r.indexOf(e);r[t]=r[r.length-1],r.pop(),e.destroy()}},this.programs=r}function ph(){var e=new WeakMap;return{get:function(t){var n=e.get(t);return void 0===n&&(n={},e.set(t,n)),n},remove:function(t){e.delete(t)},update:function(t,n,i){e.get(t)[n]=i},dispose:function(){e=new WeakMap}}}function fh(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.program!==t.program?e.program.id-t.program.id:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function Ah(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function mh(){var e=[],t=0,n=[],i=[],r={id:-1};function o(n,i,o,a,s,l){var c=e[t];return void 0===c?(c={id:n.id,object:n,geometry:i,material:o,program:o.program||r,groupOrder:a,renderOrder:n.renderOrder,z:s,group:l},e[t]=c):(c.id=n.id,c.object=n,c.geometry=i,c.material=o,c.program=o.program||r,c.groupOrder=a,c.renderOrder=n.renderOrder,c.z=s,c.group=l),t++,c}return{opaque:n,transparent:i,init:function(){t=0,n.length=0,i.length=0},push:function(e,t,r,a,s,l){var c=o(e,t,r,a,s,l);(!0===r.transparent?i:n).push(c)},unshift:function(e,t,r,a,s,l){var c=o(e,t,r,a,s,l);(!0===r.transparent?i:n).unshift(c)},sort:function(){n.length>1&&n.sort(fh),i.length>1&&i.sort(Ah)}}}function gh(){var e={};function t(n){var i=n.target;i.removeEventListener("dispose",t),delete e[i.id]}return{get:function(n,i){var r,o=e[n.id];return void 0===o?(r=new mh,e[n.id]={},e[n.id][i.id]=r,n.addEventListener("dispose",t)):void 0===(r=o[i.id])&&(r=new mh,o[i.id]=r),r},dispose:function(){e={}}}}function vh(){var e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];var n;switch(t.type){case"DirectionalLight":n={direction:new cl,color:new Hl,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new sl};break;case"SpotLight":n={position:new cl,direction:new cl,color:new Hl,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new sl};break;case"PointLight":n={position:new cl,color:new Hl,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new sl,shadowCameraNear:1,shadowCameraFar:1e3};break;case"HemisphereLight":n={direction:new cl,skyColor:new Hl,groundColor:new Hl};break;case"RectAreaLight":n={color:new Hl,position:new cl,halfWidth:new cl,halfHeight:new cl}}return e[t.id]=n,n}}}var yh=0;function bh(){for(var e=new vh,t={id:yh++,hash:{stateID:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,shadowsLength:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},n=0;n<9;n++)t.probe.push(new cl);var i=new cl,r=new Rl,o=new Rl;return{setup:function(n,a,s){for(var l=0,c=0,u=0,h=0;h<9;h++)t.probe[h].set(0,0,0);for(var d=0,p=0,f=0,A=0,m=0,g=s.matrixWorldInverse,v=(h=0,n.length);h<v;h++){var y=n[h],b=y.color,w=y.intensity,x=y.distance,M=y.shadow&&y.shadow.map?y.shadow.map.texture:null;if(y.isAmbientLight)l+=b.r*w,c+=b.g*w,u+=b.b*w;else if(y.isLightProbe)for(var E=0;E<9;E++)t.probe[E].addScaledVector(y.sh.coefficients[E],w);else if(y.isDirectionalLight){if((T=e.get(y)).color.copy(y.color).multiplyScalar(y.intensity),T.direction.setFromMatrixPosition(y.matrixWorld),i.setFromMatrixPosition(y.target.matrixWorld),T.direction.sub(i),T.direction.transformDirection(g),T.shadow=y.castShadow,y.castShadow){var S=y.shadow;T.shadowBias=S.bias,T.shadowRadius=S.radius,T.shadowMapSize=S.mapSize}t.directionalShadowMap[d]=M,t.directionalShadowMatrix[d]=y.shadow.matrix,t.directional[d]=T,d++}else if(y.isSpotLight)(T=e.get(y)).position.setFromMatrixPosition(y.matrixWorld),T.position.applyMatrix4(g),T.color.copy(b).multiplyScalar(w),T.distance=x,T.direction.setFromMatrixPosition(y.matrixWorld),i.setFromMatrixPosition(y.target.matrixWorld),T.direction.sub(i),T.direction.transformDirection(g),T.coneCos=Math.cos(y.angle),T.penumbraCos=Math.cos(y.angle*(1-y.penumbra)),T.decay=y.decay,T.shadow=y.castShadow,y.castShadow&&(S=y.shadow,T.shadowBias=S.bias,T.shadowRadius=S.radius,T.shadowMapSize=S.mapSize),t.spotShadowMap[f]=M,t.spotShadowMatrix[f]=y.shadow.matrix,t.spot[f]=T,f++;else if(y.isRectAreaLight)(T=e.get(y)).color.copy(b).multiplyScalar(w),T.position.setFromMatrixPosition(y.matrixWorld),T.position.applyMatrix4(g),o.identity(),r.copy(y.matrixWorld),r.premultiply(g),o.extractRotation(r),T.halfWidth.set(.5*y.width,0,0),T.halfHeight.set(0,.5*y.height,0),T.halfWidth.applyMatrix4(o),T.halfHeight.applyMatrix4(o),t.rectArea[A]=T,A++;else if(y.isPointLight)(T=e.get(y)).position.setFromMatrixPosition(y.matrixWorld),T.position.applyMatrix4(g),T.color.copy(y.color).multiplyScalar(y.intensity),T.distance=y.distance,T.decay=y.decay,T.shadow=y.castShadow,y.castShadow&&(S=y.shadow,T.shadowBias=S.bias,T.shadowRadius=S.radius,T.shadowMapSize=S.mapSize,T.shadowCameraNear=S.camera.near,T.shadowCameraFar=S.camera.far),t.pointShadowMap[p]=M,t.pointShadowMatrix[p]=y.shadow.matrix,t.point[p]=T,p++;else if(y.isHemisphereLight){var T;(T=e.get(y)).direction.setFromMatrixPosition(y.matrixWorld),T.direction.transformDirection(g),T.direction.normalize(),T.skyColor.copy(y.color).multiplyScalar(w),T.groundColor.copy(y.groundColor).multiplyScalar(w),t.hemi[m]=T,m++}}t.ambient[0]=l,t.ambient[1]=c,t.ambient[2]=u,t.directional.length=d,t.spot.length=f,t.rectArea.length=A,t.point.length=p,t.hemi.length=m,t.hash.stateID=t.id,t.hash.directionalLength=d,t.hash.pointLength=p,t.hash.spotLength=f,t.hash.rectAreaLength=A,t.hash.hemiLength=m,t.hash.shadowsLength=a.length},state:t}}function wh(){var e=new bh,t=[],n=[];return{init:function(){t.length=0,n.length=0},state:{lightsArray:t,shadowsArray:n,lights:e},setupLights:function(i){e.setup(t,n,i)},pushLight:function(e){t.push(e)},pushShadow:function(e){n.push(e)}}}function xh(){var e={};function t(n){var i=n.target;i.removeEventListener("dispose",t),delete e[i.id]}return{get:function(n,i){var r;return void 0===e[n.id]?(r=new wh,e[n.id]={},e[n.id][i.id]=r,n.addEventListener("dispose",t)):void 0===e[n.id][i.id]?(r=new wh,e[n.id][i.id]=r):r=e[n.id][i.id],r},dispose:function(){e={}}}}function Mh(e){Tc.call(this),this.type="MeshDepthMaterial",this.depthPacking=nl,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(e)}function Eh(e){Tc.call(this),this.type="MeshDistanceMaterial",this.referencePosition=new cl,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.lights=!1,this.setValues(e)}function Sh(e,t,n){for(var i=new kl,r=new Rl,o=new sl,a=new sl(n,n),s=new cl,l=new cl,c=1,u=2,h=1+(c|u),d=new Array(h),p=new Array(h),f={},A={0:Yo,1:Go,2:qo},m=[new cl(1,0,0),new cl(-1,0,0),new cl(0,0,1),new cl(0,0,-1),new cl(0,1,0),new cl(0,-1,0)],g=[new cl(0,1,0),new cl(0,1,0),new cl(0,1,0),new cl(0,1,0),new cl(0,0,1),new cl(0,0,-1)],v=[new Tl,new Tl,new Tl,new Tl,new Tl,new Tl],y=0;y!==h;++y){var b=0!=(y&c),w=0!=(y&u),x=new Mh({depthPacking:il,morphTargets:b,skinning:w});d[y]=x;var M=new Eh({morphTargets:b,skinning:w});p[y]=M}var E=this;function S(t,n,i,r,o,a){var s=t.geometry,l=null,h=d,m=t.customDepthMaterial;if(i&&(h=p,m=t.customDistanceMaterial),m)l=m;else{var g=!1;n.morphTargets&&(s&&s.isBufferGeometry?g=s.morphAttributes&&s.morphAttributes.position&&s.morphAttributes.position.length>0:s&&s.isGeometry&&(g=s.morphTargets&&s.morphTargets.length>0)),t.isSkinnedMesh&&!1===n.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",t);var v=t.isSkinnedMesh&&n.skinning,y=0;g&&(y|=c),v&&(y|=u),l=h[y]}if(e.localClippingEnabled&&!0===n.clipShadows&&0!==n.clippingPlanes.length){var b=l.uuid,w=n.uuid,x=f[b];void 0===x&&(x={},f[b]=x);var M=x[w];void 0===M&&(M=l.clone(),x[w]=M),l=M}return l.visible=n.visible,l.wireframe=n.wireframe,l.side=null!=n.shadowSide?n.shadowSide:A[n.side],l.clipShadows=n.clipShadows,l.clippingPlanes=n.clippingPlanes,l.clipIntersection=n.clipIntersection,l.wireframeLinewidth=n.wireframeLinewidth,l.linewidth=n.linewidth,i&&l.isMeshDistanceMaterial&&(l.referencePosition.copy(r),l.nearDistance=o,l.farDistance=a),l}function T(n,r,o,a){if(!1!==n.visible){if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&n.castShadow&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,n.matrixWorld);var s=t.update(n),c=n.material;if(Array.isArray(c))for(var u=s.groups,h=0,d=u.length;h<d;h++){var p=u[h],f=c[p.materialIndex];if(f&&f.visible){var A=S(n,f,a,l,o.near,o.far);e.renderBufferDirect(o,null,s,A,n,p)}}else c.visible&&(A=S(n,c,a,l,o.near,o.far),e.renderBufferDirect(o,null,s,A,n,null))}for(var m=n.children,g=0,v=m.length;g<v;g++)T(m[g],r,o,a)}}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Qo,this.render=function(t,n,c){if(!1!==E.enabled&&(!1!==E.autoUpdate||!1!==E.needsUpdate)&&0!==t.length){var u,h=e.getRenderTarget(),d=e.getActiveCubeFace(),p=e.getActiveMipMapLevel(),f=e.state;f.setBlending(Zo),f.buffers.color.setClear(1,1,1,1),f.buffers.depth.setTest(!0),f.setScissorTest(!1);for(var A=0,y=t.length;A<y;A++){var b=t[A],w=b.shadow,x=b&&b.isPointLight;if(void 0!==w){var M=w.camera;if(o.copy(w.mapSize),o.min(a),x){var S=o.x,C=o.y;v[0].set(2*S,C,S,C),v[1].set(0,C,S,C),v[2].set(3*S,C,S,C),v[3].set(S,C,S,C),v[4].set(3*S,0,S,C),v[5].set(S,0,S,C),o.x*=4,o.y*=2}if(null===w.map){var I={minFilter:Wa,magFilter:Wa,format:hs};w.map=new Cl(o.x,o.y,I),w.map.texture.name=b.name+".shadowMap",M.updateProjectionMatrix()}w.isSpotLightShadow&&w.update(b);var L=w.map,D=w.matrix;l.setFromMatrixPosition(b.matrixWorld),M.position.copy(l),x?(u=6,D.makeTranslation(-l.x,-l.y,-l.z)):(u=1,s.setFromMatrixPosition(b.target.matrixWorld),M.lookAt(s),M.updateMatrixWorld(),D.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),D.multiply(M.projectionMatrix),D.multiply(M.matrixWorldInverse)),e.setRenderTarget(L),e.clear();for(var O=0;O<u;O++){if(x){s.copy(M.position),s.add(m[O]),M.up.copy(g[O]),M.lookAt(s),M.updateMatrixWorld();var N=v[O];f.viewport(N)}r.multiplyMatrices(M.projectionMatrix,M.matrixWorldInverse),i.setFromMatrix(r),T(n,c,M,x)}}else console.warn("THREE.WebGLShadowMap:",b,"has no shadow.")}E.needsUpdate=!1,e.setRenderTarget(h,d,p)}}}function Th(e,t,n,i){var r=new function(){var t=!1,n=new Tl,i=null,r=new Tl(0,0,0,0);return{setMask:function(n){i===n||t||(e.colorMask(n,n,n,n),i=n)},setLocked:function(e){t=e},setClear:function(t,i,o,a,s){!0===s&&(t*=a,i*=a,o*=a),n.set(t,i,o,a),!1===r.equals(n)&&(e.clearColor(t,i,o,a),r.copy(n))},reset:function(){t=!1,i=null,r.set(-1,0,0,0)}}},o=new function(){var t=!1,n=null,i=null,r=null;return{setTest:function(e){e?j(2929):U(2929)},setMask:function(i){n===i||t||(e.depthMask(i),n=i)},setFunc:function(t){if(i!==t){if(t)switch(t){case va:e.depthFunc(512);break;case ya:e.depthFunc(519);break;case ba:e.depthFunc(513);break;case wa:e.depthFunc(515);break;case xa:e.depthFunc(514);break;case Ma:e.depthFunc(518);break;case Ea:e.depthFunc(516);break;case Sa:e.depthFunc(517);break;default:e.depthFunc(515)}else e.depthFunc(515);i=t}},setLocked:function(e){t=e},setClear:function(t){r!==t&&(e.clearDepth(t),r=t)},reset:function(){t=!1,n=null,i=null,r=null}}},a=new function(){var t=!1,n=null,i=null,r=null,o=null,a=null,s=null,l=null,c=null;return{setTest:function(e){e?j(2960):U(2960)},setMask:function(i){n===i||t||(e.stencilMask(i),n=i)},setFunc:function(t,n,a){i===t&&r===n&&o===a||(e.stencilFunc(t,n,a),i=t,r=n,o=a)},setOp:function(t,n,i){a===t&&s===n&&l===i||(e.stencilOp(t,n,i),a=t,s=n,l=i)},setLocked:function(e){t=e},setClear:function(t){c!==t&&(e.clearStencil(t),c=t)},reset:function(){t=!1,n=null,i=null,r=null,o=null,a=null,s=null,l=null,c=null}}},s=e.getParameter(34921),l=new Uint8Array(s),c=new Uint8Array(s),u=new Uint8Array(s),h={},d=null,p=null,f=null,A=null,m=null,g=null,v=null,y=null,b=null,w=null,x=!1,M=null,E=null,S=null,T=null,C=null,I=e.getParameter(35661),L=!1,D=0,O=e.getParameter(7938);-1!==O.indexOf("WebGL")?(D=parseFloat(/^WebGL\ ([0-9])/.exec(O)[1]),L=D>=1):-1!==O.indexOf("OpenGL ES")&&(D=parseFloat(/^OpenGL\ ES\ ([0-9])/.exec(O)[1]),L=D>=2);var N=null,P={},k=new Tl,R=new Tl;function z(t,n,i){var r=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,10241,9728),e.texParameteri(t,10240,9728);for(var a=0;a<i;a++)e.texImage2D(n+a,0,6408,1,1,0,6408,5121,r);return o}var _={};function B(n,r){l[n]=1,0===c[n]&&(e.enableVertexAttribArray(n),c[n]=1),u[n]!==r&&((i.isWebGL2?e:t.get("ANGLE_instanced_arrays"))[i.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,r),u[n]=r)}function j(t){!0!==h[t]&&(e.enable(t),h[t]=!0)}function U(t){!1!==h[t]&&(e.disable(t),h[t]=!1)}function F(t,i,r,o,a,s,l,c){if(t!==Zo){if(f||(j(3042),f=!0),t===ta)a=a||i,s=s||r,l=l||o,i===m&&a===y||(e.blendEquationSeparate(n.convert(i),n.convert(a)),m=i,y=a),r===g&&o===v&&s===b&&l===w||(e.blendFuncSeparate(n.convert(r),n.convert(o),n.convert(s),n.convert(l)),g=r,v=o,b=s,w=l),A=t,x=null;else if(t!==A||c!==x){if(m===na&&y===na||(e.blendEquation(32774),m=na,y=na),c)switch(t){case Jo:e.blendFuncSeparate(1,771,1,771);break;case Ko:e.blendFunc(1,1);break;case $o:e.blendFuncSeparate(0,0,769,771);break;case ea:e.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}else switch(t){case Jo:e.blendFuncSeparate(770,771,1,771);break;case Ko:e.blendFunc(770,1);break;case $o:e.blendFunc(0,769);break;case ea:e.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}g=null,v=null,b=null,w=null,A=t,x=c}}else f&&(U(3042),f=!1)}function V(t){M!==t&&(t?e.frontFace(2304):e.frontFace(2305),M=t)}function H(t){t!==Fo?(j(2884),t!==E&&(t===Vo?e.cullFace(1029):t===Ho?e.cullFace(1028):e.cullFace(1032))):U(2884),E=t}function Q(t,n,i){t?(j(32823),T===n&&C===i||(e.polygonOffset(n,i),T=n,C=i)):U(32823)}function W(t){void 0===t&&(t=33984+I-1),N!==t&&(e.activeTexture(t),N=t)}return _[3553]=z(3553,3553,1),_[34067]=z(34067,34069,6),r.setClear(0,0,0,1),o.setClear(1),a.setClear(0),j(2929),o.setFunc(wa),V(!1),H(Vo),j(2884),F(Zo),{buffers:{color:r,depth:o,stencil:a},initAttributes:function(){for(var e=0,t=l.length;e<t;e++)l[e]=0},enableAttribute:function(e){B(e,0)},enableAttributeAndDivisor:B,disableUnusedAttributes:function(){for(var t=0,n=c.length;t!==n;++t)c[t]!==l[t]&&(e.disableVertexAttribArray(t),c[t]=0)},enable:j,disable:U,getCompressedTextureFormats:function(){if(null===d&&(d=[],t.get("WEBGL_compressed_texture_pvrtc")||t.get("WEBGL_compressed_texture_s3tc")||t.get("WEBGL_compressed_texture_etc1")||t.get("WEBGL_compressed_texture_astc")))for(var n=e.getParameter(34467),i=0;i<n.length;i++)d.push(n[i]);return d},useProgram:function(t){return p!==t&&(e.useProgram(t),p=t,!0)},setBlending:F,setMaterial:function(e,t){e.side===qo?U(2884):j(2884);var n=e.side===Yo;t&&(n=!n),V(n),e.blending===Jo&&!1===e.transparent?F(Zo):F(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha),o.setFunc(e.depthFunc),o.setTest(e.depthTest),o.setMask(e.depthWrite),r.setMask(e.colorWrite),Q(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits)},setFlipSided:V,setCullFace:H,setLineWidth:function(t){t!==S&&(L&&e.lineWidth(t),S=t)},setPolygonOffset:Q,setScissorTest:function(e){e?j(3089):U(3089)},activeTexture:W,bindTexture:function(t,n){null===N&&W();var i=P[N];void 0===i&&(i={type:void 0,texture:void 0},P[N]=i),i.type===t&&i.texture===n||(e.bindTexture(t,n||_[t]),i.type=t,i.texture=n)},compressedTexImage2D:function(){try{e.compressedTexImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage2D:function(){try{e.texImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage3D:function(){try{e.texImage3D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},scissor:function(t){!1===k.equals(t)&&(e.scissor(t.x,t.y,t.z,t.w),k.copy(t))},viewport:function(t){!1===R.equals(t)&&(e.viewport(t.x,t.y,t.z,t.w),R.copy(t))},reset:function(){for(var t=0;t<c.length;t++)1===c[t]&&(e.disableVertexAttribArray(t),c[t]=0);h={},d=null,N=null,P={},p=null,A=null,M=null,E=null,r.reset(),o.reset(),a.reset()}}}function Ch(e,t,n,i,r,o,a){var s,l={},c="undefined"!=typeof OffscreenCanvas;function u(e,t){return c?new OffscreenCanvas(e,t):document.createElementNS("http://www.w3.org/1999/xhtml","canvas")}function h(e,t,n,i){var r=1;if((e.width>i||e.height>i)&&(r=i/Math.max(e.width,e.height)),r<1||!0===t){if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap){var o=t?al.floorPowerOfTwo:Math.floor,a=o(r*e.width),l=o(r*e.height);void 0===s&&(s=u(a,l));var c=n?u(a,l):s;return c.width=a,c.height=l,c.getContext("2d").drawImage(e,0,0,a,l),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+a+"x"+l+")."),c}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function d(e){return al.isPowerOfTwo(e.width)&&al.isPowerOfTwo(e.height)}function p(e,t){return e.generateMipmaps&&t&&e.minFilter!==Wa&&e.minFilter!==qa}function f(t,n,r,o){e.generateMipmap(t),i.get(n).__maxMipLevel=Math.log(Math.max(r,o))*Math.LOG2E}function A(e,n){if(!r.isWebGL2)return e;var i=e;return 6403===e&&(5126===n&&(i=33326),5131===n&&(i=33325),5121===n&&(i=33321)),6407===e&&(5126===n&&(i=34837),5131===n&&(i=34843),5121===n&&(i=32849)),6408===e&&(5126===n&&(i=34836),5131===n&&(i=34842),5121===n&&(i=32856)),33325===i||33326===i||34842===i||34836===i?t.get("EXT_color_buffer_float"):34843!==i&&34837!==i||console.warn("THREE.WebGLRenderer: Floating point textures with RGB format not supported. Please use RGBA instead."),i}function m(e){return e===Wa||e===Ga||e===Ya?9728:9729}function g(t){var n=t.target;n.removeEventListener("dispose",g),function(t){var n=i.get(t);void 0!==n.__webglInit&&(e.deleteTexture(n.__webglTexture),i.remove(t))}(n),n.isVideoTexture&&delete l[n.id],a.memory.textures--}function v(t){var n=t.target;n.removeEventListener("dispose",v),function(t){var n=i.get(t),r=i.get(t.texture);if(t){if(void 0!==r.__webglTexture&&e.deleteTexture(r.__webglTexture),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLRenderTargetCube)for(var o=0;o<6;o++)e.deleteFramebuffer(n.__webglFramebuffer[o]),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer[o]);else e.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer);i.remove(t.texture),i.remove(t)}}(n),a.memory.textures--}var y=0;function b(e,t){var r=i.get(e);if(e.isVideoTexture&&function(e){var t=e.id,n=a.render.frame;l[t]!==n&&(l[t]=n,e.update())}(e),e.version>0&&r.__version!==e.version){var o=e.image;if(void 0===o)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==o.complete)return void S(r,e,t);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+t),n.bindTexture(3553,r.__webglTexture)}function w(t,a){var s=i.get(t);if(6===t.image.length)if(t.version>0&&s.__version!==t.version){E(s,t),n.activeTexture(33984+a),n.bindTexture(34067,s.__webglTexture),e.pixelStorei(37440,t.flipY);for(var l=t&&t.isCompressedTexture,c=t.image[0]&&t.image[0].isDataTexture,u=[],m=0;m<6;m++)u[m]=l||c?c?t.image[m].image:t.image[m]:h(t.image[m],!1,!0,r.maxCubemapSize);var g=u[0],v=d(g)||r.isWebGL2,y=o.convert(t.format),b=o.convert(t.type),w=A(y,b);for(M(34067,t,v),m=0;m<6;m++)if(l)for(var x,S=u[m].mipmaps,T=0,C=S.length;T<C;T++)x=S[T],t.format!==hs&&t.format!==us?n.getCompressedTextureFormats().indexOf(y)>-1?n.compressedTexImage2D(34069+m,T,w,x.width,x.height,0,x.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):n.texImage2D(34069+m,T,w,x.width,x.height,0,y,b,x.data);else c?n.texImage2D(34069+m,0,w,u[m].width,u[m].height,0,y,b,u[m].data):n.texImage2D(34069+m,0,w,y,b,u[m]);s.__maxMipLevel=l?S.length-1:0,p(t,v)&&f(34067,t,g.width,g.height),s.__version=t.version,t.onUpdate&&t.onUpdate(t)}else n.activeTexture(33984+a),n.bindTexture(34067,s.__webglTexture)}function x(e,t){n.activeTexture(33984+t),n.bindTexture(34067,i.get(e).__webglTexture)}function M(n,a,s){var l;if(s?(e.texParameteri(n,10242,o.convert(a.wrapS)),e.texParameteri(n,10243,o.convert(a.wrapT)),32879!==n&&35866!==n||e.texParameteri(n,32882,o.convert(a.wrapR)),e.texParameteri(n,10240,o.convert(a.magFilter)),e.texParameteri(n,10241,o.convert(a.minFilter))):(e.texParameteri(n,10242,33071),e.texParameteri(n,10243,33071),32879!==n&&35866!==n||e.texParameteri(n,32882,33071),a.wrapS===Ha&&a.wrapT===Ha||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(n,10240,m(a.magFilter)),e.texParameteri(n,10241,m(a.minFilter)),a.minFilter!==Wa&&a.minFilter!==qa&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),l=t.get("EXT_texture_filter_anisotropic")){if(a.type===is&&null===t.get("OES_texture_float_linear"))return;if(a.type===rs&&null===(r.isWebGL2||t.get("OES_texture_half_float_linear")))return;(a.anisotropy>1||i.get(a).__currentAnisotropy)&&(e.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,r.getMaxAnisotropy())),i.get(a).__currentAnisotropy=a.anisotropy)}}function E(t,n){void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener("dispose",g),t.__webglTexture=e.createTexture(),a.memory.textures++)}function S(t,i,a){var s=3553;i.isDataTexture2DArray&&(s=35866),i.isDataTexture3D&&(s=32879),E(t,i),n.activeTexture(33984+a),n.bindTexture(s,t.__webglTexture),e.pixelStorei(37440,i.flipY),e.pixelStorei(37441,i.premultiplyAlpha),e.pixelStorei(3317,i.unpackAlignment);var l=function(e){return!r.isWebGL2&&(e.wrapS!==Ha||e.wrapT!==Ha||e.minFilter!==Wa&&e.minFilter!==qa)}(i)&&!1===d(i.image),c=h(i.image,l,!1,r.maxTextureSize),u=d(c)||r.isWebGL2,m=o.convert(i.format),g=o.convert(i.type),v=A(m,g);M(s,i,u);var y,b=i.mipmaps;if(i.isDepthTexture){if(v=6402,i.type===is){if(!r.isWebGL2)throw new Error("Float Depth Texture only supported in WebGL2.0");v=36012}else r.isWebGL2&&(v=33189);i.format===fs&&6402===v&&i.type!==es&&i.type!==ns&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=es,g=o.convert(i.type)),i.format===As&&(v=34041,i.type!==ls&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=ls,g=o.convert(i.type))),n.texImage2D(3553,0,v,c.width,c.height,0,m,g,null)}else if(i.isDataTexture)if(b.length>0&&u){for(var w=0,x=b.length;w<x;w++)y=b[w],n.texImage2D(3553,w,v,y.width,y.height,0,m,g,y.data);i.generateMipmaps=!1,t.__maxMipLevel=b.length-1}else n.texImage2D(3553,0,v,c.width,c.height,0,m,g,c.data),t.__maxMipLevel=0;else if(i.isCompressedTexture){for(w=0,x=b.length;w<x;w++)y=b[w],i.format!==hs&&i.format!==us?n.getCompressedTextureFormats().indexOf(m)>-1?n.compressedTexImage2D(3553,w,v,y.width,y.height,0,y.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):n.texImage2D(3553,w,v,y.width,y.height,0,m,g,y.data);t.__maxMipLevel=b.length-1}else if(i.isDataTexture2DArray)n.texImage3D(35866,0,v,c.width,c.height,c.depth,0,m,g,c.data),t.__maxMipLevel=0;else if(i.isDataTexture3D)n.texImage3D(32879,0,v,c.width,c.height,c.depth,0,m,g,c.data),t.__maxMipLevel=0;else if(b.length>0&&u){for(w=0,x=b.length;w<x;w++)y=b[w],n.texImage2D(3553,w,v,m,g,y);i.generateMipmaps=!1,t.__maxMipLevel=b.length-1}else n.texImage2D(3553,0,v,m,g,c),t.__maxMipLevel=0;p(i,u)&&f(3553,i,c.width,c.height),t.__version=i.version,i.onUpdate&&i.onUpdate(i)}function T(t,r,a,s){var l=o.convert(r.texture.format),c=o.convert(r.texture.type),u=A(l,c);n.texImage2D(s,0,u,r.width,r.height,0,l,c,null),e.bindFramebuffer(36160,t),e.framebufferTexture2D(36160,a,s,i.get(r.texture).__webglTexture,0),e.bindFramebuffer(36160,null)}function C(t,n,i){if(e.bindRenderbuffer(36161,t),n.depthBuffer&&!n.stencilBuffer){if(i){var r=I(n);e.renderbufferStorageMultisample(36161,r,33189,n.width,n.height)}else e.renderbufferStorage(36161,33189,n.width,n.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(n.depthBuffer&&n.stencilBuffer)i?(r=I(n),e.renderbufferStorageMultisample(36161,r,34041,n.width,n.height)):e.renderbufferStorage(36161,34041,n.width,n.height),e.framebufferRenderbuffer(36160,33306,36161,t);else{var a=A(o.convert(n.texture.format),o.convert(n.texture.type));i?(r=I(n),e.renderbufferStorageMultisample(36161,r,a,n.width,n.height)):e.renderbufferStorage(36161,a,n.width,n.height)}e.bindRenderbuffer(36161,null)}function I(e){return r.isWebGL2&&e.isWebGLMultisampleRenderTarget?Math.min(r.maxSamples,e.samples):0}var L=!1,D=!1;this.allocateTextureUnit=function(){var e=y;return e>=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+r.maxTextures),y+=1,e},this.resetTextureUnits=function(){y=0},this.setTexture2D=b,this.setTexture2DArray=function(e,t){var r=i.get(e);e.version>0&&r.__version!==e.version?S(r,e,t):(n.activeTexture(33984+t),n.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(e,t){var r=i.get(e);e.version>0&&r.__version!==e.version?S(r,e,t):(n.activeTexture(33984+t),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=w,this.setTextureCubeDynamic=x,this.setupRenderTarget=function(t){var s=i.get(t),l=i.get(t.texture);t.addEventListener("dispose",v),l.__webglTexture=e.createTexture(),a.memory.textures++;var c=!0===t.isWebGLRenderTargetCube,u=!0===t.isWebGLMultisampleRenderTarget,h=d(t)||r.isWebGL2;if(c){s.__webglFramebuffer=[];for(var m=0;m<6;m++)s.__webglFramebuffer[m]=e.createFramebuffer()}else if(s.__webglFramebuffer=e.createFramebuffer(),u)if(r.isWebGL2){s.__webglMultisampledFramebuffer=e.createFramebuffer(),s.__webglColorRenderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,s.__webglColorRenderbuffer);var g=A(o.convert(t.texture.format),o.convert(t.texture.type)),y=I(t);e.renderbufferStorageMultisample(36161,y,g,t.width,t.height),e.bindFramebuffer(36160,s.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(36160,36064,36161,s.__webglColorRenderbuffer),e.bindRenderbuffer(36161,null),t.depthBuffer&&(s.__webglDepthRenderbuffer=e.createRenderbuffer(),C(s.__webglDepthRenderbuffer,t,!0)),e.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(c){for(n.bindTexture(34067,l.__webglTexture),M(34067,t.texture,h),m=0;m<6;m++)T(s.__webglFramebuffer[m],t,36064,34069+m);p(t.texture,h)&&f(34067,t.texture,t.width,t.height),n.bindTexture(34067,null)}else n.bindTexture(3553,l.__webglTexture),M(3553,t.texture,h),T(s.__webglFramebuffer,t,36064,3553),p(t.texture,h)&&f(3553,t.texture,t.width,t.height),n.bindTexture(3553,null);t.depthBuffer&&function(t){var n=i.get(t),r=!0===t.isWebGLRenderTargetCube;if(t.depthTexture){if(r)throw new Error("target.depthTexture not supported in Cube render targets");!function(t,n){if(n&&n.isWebGLRenderTargetCube)throw new Error("Depth Texture with cube render targets is not supported");if(e.bindFramebuffer(36160,t),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),b(n.depthTexture,0);var r=i.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===fs)e.framebufferTexture2D(36160,36096,3553,r,0);else{if(n.depthTexture.format!==As)throw new Error("Unknown depthTexture format");e.framebufferTexture2D(36160,33306,3553,r,0)}}(n.__webglFramebuffer,t)}else if(r){n.__webglDepthbuffer=[];for(var o=0;o<6;o++)e.bindFramebuffer(36160,n.__webglFramebuffer[o]),n.__webglDepthbuffer[o]=e.createRenderbuffer(),C(n.__webglDepthbuffer[o],t)}else e.bindFramebuffer(36160,n.__webglFramebuffer),n.__webglDepthbuffer=e.createRenderbuffer(),C(n.__webglDepthbuffer,t);e.bindFramebuffer(36160,null)}(t)},this.updateRenderTargetMipmap=function(e){var t=e.texture;if(p(t,d(e)||r.isWebGL2)){var o=e.isWebGLRenderTargetCube?34067:3553,a=i.get(t).__webglTexture;n.bindTexture(o,a),f(o,t,e.width,e.height),n.bindTexture(o,null)}},this.updateMultisampleRenderTarget=function(t){if(t.isWebGLMultisampleRenderTarget)if(r.isWebGL2){var n=i.get(t);e.bindFramebuffer(36008,n.__webglMultisampledFramebuffer),e.bindFramebuffer(36009,n.__webglFramebuffer);var o=t.width,a=t.height,s=16384;t.depthBuffer&&(s|=256),t.stencilBuffer&&(s|=1024),e.blitFramebuffer(0,0,o,a,0,0,o,a,s,9728)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")},this.safeSetTexture2D=function(e,t){e&&e.isWebGLRenderTarget&&(!1===L&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),L=!0),e=e.texture),b(e,t)},this.safeSetTextureCube=function(e,t){e&&e.isWebGLRenderTargetCube&&(!1===D&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),D=!0),e=e.texture),e&&e.isCubeTexture||Array.isArray(e.image)&&6===e.image.length?w(e,t):x(e,t)}}function Ih(e,t,n){return{convert:function(e){var i;if(e===Va)return 10497;if(e===Ha)return 33071;if(e===Qa)return 33648;if(e===Wa)return 9728;if(e===Ga)return 9984;if(e===Ya)return 9986;if(e===qa)return 9729;if(e===Xa)return 9985;if(e===Za)return 9987;if(e===Ja)return 5121;if(e===os)return 32819;if(e===as)return 32820;if(e===ss)return 33635;if(e===Ka)return 5120;if(e===$a)return 5122;if(e===es)return 5123;if(e===ts)return 5124;if(e===ns)return 5125;if(e===is)return 5126;if(e===rs){if(n.isWebGL2)return 5131;if(null!==(i=t.get("OES_texture_half_float")))return i.HALF_FLOAT_OES}if(e===cs)return 6406;if(e===us)return 6407;if(e===hs)return 6408;if(e===ds)return 6409;if(e===ps)return 6410;if(e===fs)return 6402;if(e===As)return 34041;if(e===ms)return 6403;if(e===na)return 32774;if(e===ia)return 32778;if(e===ra)return 32779;if(e===sa)return 0;if(e===la)return 1;if(e===ca)return 768;if(e===ua)return 769;if(e===ha)return 770;if(e===da)return 771;if(e===pa)return 772;if(e===fa)return 773;if(e===Aa)return 774;if(e===ma)return 775;if(e===ga)return 776;if((e===gs||e===vs||e===ys||e===bs)&&null!==(i=t.get("WEBGL_compressed_texture_s3tc"))){if(e===gs)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===vs)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===ys)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===bs)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}if((e===ws||e===xs||e===Ms||e===Es)&&null!==(i=t.get("WEBGL_compressed_texture_pvrtc"))){if(e===ws)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===xs)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===Ms)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===Es)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e===Ss&&null!==(i=t.get("WEBGL_compressed_texture_etc1")))return i.COMPRESSED_RGB_ETC1_WEBGL;if((e===Ts||e===Cs||e===Is||e===Ls||e===Ds||e===Os||e===Ns||e===Ps||e===ks||e===Rs||e===zs||e===_s||e===Bs||e===js)&&null!==(i=t.get("WEBGL_compressed_texture_astc")))return e;if(e===oa||e===aa){if(n.isWebGL2){if(e===oa)return 32775;if(e===aa)return 32776}if(null!==(i=t.get("EXT_blend_minmax"))){if(e===oa)return i.MIN_EXT;if(e===aa)return i.MAX_EXT}}if(e===ls){if(n.isWebGL2)return 34042;if(null!==(i=t.get("WEBGL_depth_texture")))return i.UNSIGNED_INT_24_8_WEBGL}return 0}}}function Lh(){nc.call(this),this.type="Group"}function Dh(){nc.call(this),this.type="Camera",this.matrixWorldInverse=new Rl,this.projectionMatrix=new Rl,this.projectionMatrixInverse=new Rl}function Oh(e,t,n,i){Dh.call(this),this.type="PerspectiveCamera",this.fov=void 0!==e?e:50,this.zoom=1,this.near=void 0!==n?n:.1,this.far=void 0!==i?i:2e3,this.focus=10,this.aspect=void 0!==t?t:1,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}function Nh(e){Oh.call(this),this.cameras=e||[]}Mh.prototype=Object.create(Tc.prototype),Mh.prototype.constructor=Mh,Mh.prototype.isMeshDepthMaterial=!0,Mh.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.depthPacking=e.depthPacking,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this},Eh.prototype=Object.create(Tc.prototype),Eh.prototype.constructor=Eh,Eh.prototype.isMeshDistanceMaterial=!0,Eh.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this},Lh.prototype=Object.assign(Object.create(nc.prototype),{constructor:Lh,isGroup:!0}),Dh.prototype=Object.assign(Object.create(nc.prototype),{constructor:Dh,isCamera:!0,copy:function(e,t){return nc.prototype.copy.call(this,e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this},getWorldDirection:function(e){void 0===e&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),e=new cl),this.updateMatrixWorld(!0);var t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()},updateMatrixWorld:function(e){nc.prototype.updateMatrixWorld.call(this,e),this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return(new this.constructor).copy(this)}}),Oh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Oh,isPerspectiveCamera:!0,copy:function(e,t){return Dh.prototype.copy.call(this,e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this},setFocalLength:function(e){var t=.5*this.getFilmHeight()/e;this.fov=2*al.RAD2DEG*Math.atan(t),this.updateProjectionMatrix()},getFocalLength:function(){var e=Math.tan(.5*al.DEG2RAD*this.fov);return.5*this.getFilmHeight()/e},getEffectiveFOV:function(){return 2*al.RAD2DEG*Math.atan(Math.tan(.5*al.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(e,t,n,i,r,o){this.aspect=e/t,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=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var e=this.near,t=e*Math.tan(.5*al.DEG2RAD*this.fov)/this.zoom,n=2*t,i=this.aspect*n,r=-.5*i,o=this.view;if(null!==this.view&&this.view.enabled){var a=o.fullWidth,s=o.fullHeight;r+=o.offsetX*i/a,t-=o.offsetY*n/s,i*=o.width/a,n*=o.height/s}var l=this.filmOffset;0!==l&&(r+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,t,t-n,e,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(e){var t=nc.prototype.toJSON.call(this,e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}),Nh.prototype=Object.assign(Object.create(Oh.prototype),{constructor:Nh,isArrayCamera:!0});var Ph,kh,Rh,zh,_h,Bh,jh=new cl,Uh=new cl;function Fh(e,t,n){jh.setFromMatrixPosition(t.matrixWorld),Uh.setFromMatrixPosition(n.matrixWorld);var i=jh.distanceTo(Uh),r=t.projectionMatrix.elements,o=n.projectionMatrix.elements,a=r[14]/(r[10]-1),s=r[14]/(r[10]+1),l=(r[9]+1)/r[5],c=(r[9]-1)/r[5],u=(r[8]-1)/r[0],h=(o[8]+1)/o[0],d=a*u,p=a*h,f=i/(-u+h),A=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(A),e.translateZ(f),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.getInverse(e.matrixWorld);var m=a+f,g=s+f,v=d-A,y=p+(i-A),b=l*s/g*m,w=c*s/g*m;e.projectionMatrix.makePerspective(v,y,b,w,m,g)}function Vh(e){var t,n,i=this,r=null,o=null,a=null,s=[],l=new Rl,c=new Rl,u=1,h="local-floor";"undefined"!=typeof window&&"VRFrameData"in window&&(o=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",w,!1));var d=new Rl,p=new ll,f=new cl,A=new Oh;A.viewport=new Tl,A.layers.enable(1);var m=new Oh;m.viewport=new Tl,m.layers.enable(2);var g=new Nh([A,m]);function v(){return null!==r&&!0===r.isPresenting}g.layers.enable(1),g.layers.enable(2);var y,b=new sl;function w(){if(v()){var o=r.getEyeParameters("left");t=2*o.renderWidth*u,n=o.renderHeight*u,y=e.getPixelRatio(),e.getSize(b),e.setDrawingBufferSize(t,n,1),A.viewport.set(0,0,t/2,n),m.viewport.set(t/2,0,t/2,n),S.start()}else i.enabled&&e.setDrawingBufferSize(b.width,b.height,y),S.stop()}var x=[];function M(e){for(var t=navigator.getGamepads&&navigator.getGamepads(),n=0,i=0,r=t.length;n<r;n++){var o=t[n];if(o&&("Daydream Controller"===o.id||"Gear VR Controller"===o.id||"Oculus Go Controller"===o.id||"OpenVR Gamepad"===o.id||o.id.startsWith("Oculus Touch")||o.id.startsWith("Spatial Controller"))){if(i===e)return o;i++}}}function E(e,i){null!==i&&4===i.length&&e.set(i[0]*t,i[1]*n,i[2]*t,i[3]*n)}this.enabled=!1,this.getController=function(e){var t=s[e];return void 0===t&&((t=new Lh).matrixAutoUpdate=!1,t.visible=!1,s[e]=t),t},this.getDevice=function(){return r},this.setDevice=function(e){void 0!==e&&(r=e),S.setContext(e)},this.setFramebufferScaleFactor=function(e){u=e},this.setReferenceSpaceType=function(e){h=e},this.setPoseTarget=function(e){void 0!==e&&(a=e)},this.getCamera=function(e){var t="local-floor"===h?1.6:0;if(!1===v())return e.position.set(0,t,0),e.rotation.set(0,0,0),e;if(r.depthNear=e.near,r.depthFar=e.far,r.getFrameData(o),"local-floor"===h){var n=r.stageParameters;n?l.fromArray(n.sittingToStandingTransform):l.makeTranslation(0,t,0)}var i=o.pose,u=null!==a?a:e;u.matrix.copy(l),u.matrix.decompose(u.position,u.quaternion,u.scale),null!==i.orientation&&(p.fromArray(i.orientation),u.quaternion.multiply(p)),null!==i.position&&(p.setFromRotationMatrix(l),f.fromArray(i.position),f.applyQuaternion(p),u.position.add(f)),u.updateMatrixWorld(),A.near=e.near,m.near=e.near,A.far=e.far,m.far=e.far,A.matrixWorldInverse.fromArray(o.leftViewMatrix),m.matrixWorldInverse.fromArray(o.rightViewMatrix),c.getInverse(l),"local-floor"===h&&(A.matrixWorldInverse.multiply(c),m.matrixWorldInverse.multiply(c));var y=u.parent;null!==y&&(d.getInverse(y.matrixWorld),A.matrixWorldInverse.multiply(d),m.matrixWorldInverse.multiply(d)),A.matrixWorld.getInverse(A.matrixWorldInverse),m.matrixWorld.getInverse(m.matrixWorldInverse),A.projectionMatrix.fromArray(o.leftProjectionMatrix),m.projectionMatrix.fromArray(o.rightProjectionMatrix),Fh(g,A,m);var b=r.getLayers();if(b.length){var w=b[0];E(A.viewport,w.leftBounds),E(m.viewport,w.rightBounds)}return function(){for(var e=0;e<s.length;e++){var t=s[e],n=M(e);if(void 0!==n&&void 0!==n.pose){if(null===n.pose)return;var i=n.pose;!1===i.hasPosition&&t.position.set(.2,-.6,-.05),null!==i.position&&t.position.fromArray(i.position),null!==i.orientation&&t.quaternion.fromArray(i.orientation),t.matrix.compose(t.position,t.quaternion,t.scale),t.matrix.premultiply(l),t.matrix.decompose(t.position,t.quaternion,t.scale),t.matrixWorldNeedsUpdate=!0,t.visible=!0;var r="Daydream Controller"===n.id?0:1;void 0===x[e]&&(x[e]=!1),x[e]!==n.buttons[r].pressed&&(x[e]=n.buttons[r].pressed,!0===x[e]?t.dispatchEvent({type:"selectstart"}):(t.dispatchEvent({type:"selectend"}),t.dispatchEvent({type:"select"})))}else t.visible=!1}}(),g},this.getStandingMatrix=function(){return l},this.isPresenting=v;var S=new Yl;this.setAnimationLoop=function(e){S.setAnimationLoop(e),v()&&S.start()},this.submitFrame=function(){v()&&r.submitFrame()},this.dispose=function(){"undefined"!=typeof window&&window.removeEventListener("vrdisplaypresentchange",w)},this.setFrameOfReferenceType=function(){console.warn("THREE.WebVRManager: setFrameOfReferenceType() has been deprecated.")}}function Hh(e){var t=e.context,n=null,i=null,r="local-floor",o=null,a=[],s=[];function l(){return null!==n&&null!==i}var c=new Oh;c.layers.enable(1),c.viewport=new Tl;var u=new Oh;u.layers.enable(2),u.viewport=new Tl;var h=new Nh([c,u]);function d(e){for(var t=0;t<a.length;t++)s[t]===e.inputSource&&a[t].dispatchEvent({type:e.type})}function p(){e.setFramebuffer(null),e.setRenderTarget(e.getRenderTarget()),g.stop()}function f(e){i=e,g.setContext(n),g.start()}function A(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.getInverse(e.matrixWorld)}h.layers.enable(1),h.layers.enable(2),this.enabled=!1,this.getController=function(e){var t=a[e];return void 0===t&&((t=new Lh).matrixAutoUpdate=!1,t.visible=!1,a[e]=t),t},this.setFramebufferScaleFactor=function(e){},this.setReferenceSpaceType=function(e){r=e},this.getSession=function(){return n},this.setSession=function(e){null!==(n=e)&&(n.addEventListener("select",d),n.addEventListener("selectstart",d),n.addEventListener("selectend",d),n.addEventListener("end",p),n.updateRenderState({baseLayer:new XRWebGLLayer(n,t)}),n.requestReferenceSpace(r).then(f),s=n.inputSources,n.addEventListener("inputsourceschange",(function(){s=n.inputSources,console.log(s);for(var e=0;e<a.length;e++)a[e].userData.inputSource=s[e]})))},this.getCamera=function(e){if(l()){var t=e.parent,n=h.cameras;A(h,t);for(var i=0;i<n.length;i++)A(n[i],t);e.matrixWorld.copy(h.matrixWorld);for(var r=e.children,o=(i=0,r.length);i<o;i++)r[i].updateMatrixWorld(!0);return Fh(h,c,u),h}return e},this.isPresenting=l;var m=null,g=new Yl;g.setAnimationLoop((function(t,r){if(null!==(o=r.getViewerPose(i))){var l=o.views,c=n.renderState.baseLayer;e.setFramebuffer(c.framebuffer);for(var u=0;u<l.length;u++){var d=l[u],p=c.getViewport(d),f=d.transform.inverse.matrix,A=h.cameras[u];A.matrix.fromArray(f).getInverse(A.matrix),A.projectionMatrix.fromArray(d.projectionMatrix),A.viewport.set(p.x,p.y,p.width,p.height),0===u&&h.matrix.copy(A.matrix)}}for(u=0;u<a.length;u++){var g=a[u],v=s[u];if(v){var y=r.getPose(v.targetRaySpace,i);if(null!==y){g.matrix.fromArray(y.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.visible=!0;continue}}g.visible=!1}m&&m(t)})),this.setAnimationLoop=function(e){m=e},this.dispose=function(){},this.getStandingMatrix=function(){return console.warn("THREE.WebXRManager: getStandingMatrix() is no longer needed."),new Rl},this.getDevice=function(){console.warn("THREE.WebXRManager: getDevice() has been deprecated.")},this.setDevice=function(){console.warn("THREE.WebXRManager: setDevice() has been deprecated.")},this.setFrameOfReferenceType=function(){console.warn("THREE.WebXRManager: setFrameOfReferenceType() has been deprecated.")},this.submitFrame=function(){}}function Qh(e){console.log("THREE.WebGLRenderer",jo);var t=void 0!==(e=e||{}).canvas?e.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),n=void 0!==e.context?e.context:null,i=void 0!==e.alpha&&e.alpha,r=void 0===e.depth||e.depth,o=void 0===e.stencil||e.stencil,a=void 0!==e.antialias&&e.antialias,s=void 0===e.premultipliedAlpha||e.premultipliedAlpha,l=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,c=void 0!==e.powerPreference?e.powerPreference:"default",u=void 0!==e.failIfMajorPerformanceCaveat&&e.failIfMajorPerformanceCaveat,h=null,d=null;this.domElement=t,this.context=null,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=Da,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var p,f,A,m,g,v,y,b,w,x,M,E,S,T,C,I,L,D,O=this,N=!1,P=null,k=0,R=0,z=null,_=null,B=-1,j={geometry:null,program:null,wireframe:!1},U=null,F=null,V=new Tl,H=new Tl,Q=null,W=t.width,G=t.height,Y=1,q=new Tl(0,0,W,G),X=new Tl(0,0,W,G),Z=!1,J=new kl,K=new Xc,$=!1,ee=!1,te=new Rl,ne=new cl;function ie(){return null===z?Y:1}try{var re={alpha:i,depth:r,stencil:o,antialias:a,premultipliedAlpha:s,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:u,xrCompatible:!0};if(t.addEventListener("webglcontextlost",le,!1),t.addEventListener("webglcontextrestored",ce,!1),null===(p=n||t.getContext("webgl",re)||t.getContext("experimental-webgl",re)))throw null!==t.getContext("webgl")?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.");void 0===p.getShaderPrecisionFormat&&(p.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(e){throw console.error("THREE.WebGLRenderer: "+e.message),e}function oe(){f=new Zc(p),(A=new qc(p,f,e)).isWebGL2||(f.get("WEBGL_depth_texture"),f.get("OES_texture_float"),f.get("OES_texture_half_float"),f.get("OES_texture_half_float_linear"),f.get("OES_standard_derivatives"),f.get("OES_element_index_uint"),f.get("ANGLE_instanced_arrays")),f.get("OES_texture_float_linear"),D=new Ih(p,f,A),(m=new Th(p,f,D,A)).scissor(H.copy(X).multiplyScalar(Y)),m.viewport(V.copy(q).multiplyScalar(Y)),g=new $c(p),v=new ph,y=new Ch(p,f,m,v,A,D,g),b=new ql(p),w=new Jc(p,b,g),x=new nu(w,g),C=new tu(p),M=new dh(O,f,A,y),E=new gh,S=new xh,T=new Gc(O,m,x,s),I=new Yc(p,f,g,A),L=new Kc(p,f,g,A),g.programs=M.programs,O.context=p,O.capabilities=A,O.extensions=f,O.properties=v,O.renderLists=E,O.state=m,O.info=g}oe();var ae="undefined"!=typeof navigator&&"xr"in navigator&&"supportsSession"in navigator.xr?new Hh(O):new Vh(O);this.vr=ae;var se=new Sh(O,x,A.maxTextureSize);function le(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),N=!0}function ce(){console.log("THREE.WebGLRenderer: Context Restored."),N=!1,oe()}function ue(e){var t=e.target;t.removeEventListener("dispose",ue),function(e){he(e),v.remove(e)}(t)}function he(e){var t=v.get(e).program;e.program=void 0,void 0!==t&&M.releaseProgram(t)}this.shadowMap=se,this.getContext=function(){return p},this.getContextAttributes=function(){return p.getContextAttributes()},this.forceContextLoss=function(){var e=f.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){var e=f.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return Y},this.setPixelRatio=function(e){void 0!==e&&(Y=e,this.setSize(W,G,!1))},this.getSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),e=new sl),e.set(W,G)},this.setSize=function(e,n,i){ae.isPresenting()?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(W=e,G=n,t.width=e*Y,t.height=n*Y,!1!==i&&(t.style.width=e+"px",t.style.height=n+"px"),this.setViewport(0,0,e,n))},this.getDrawingBufferSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),e=new sl),e.set(W*Y,G*Y)},this.setDrawingBufferSize=function(e,n,i){W=e,G=n,Y=i,t.width=e*i,t.height=n*i,this.setViewport(0,0,e,n)},this.getCurrentViewport=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),e=new Tl),e.copy(V)},this.getViewport=function(e){return e.copy(q)},this.setViewport=function(e,t,n,i){e.isVector4?q.set(e.x,e.y,e.z,e.w):q.set(e,t,n,i),m.viewport(V.copy(q).multiplyScalar(Y))},this.getScissor=function(e){return e.copy(X)},this.setScissor=function(e,t,n,i){e.isVector4?X.set(e.x,e.y,e.z,e.w):X.set(e,t,n,i),m.scissor(H.copy(X).multiplyScalar(Y))},this.getScissorTest=function(){return Z},this.setScissorTest=function(e){m.setScissorTest(Z=e)},this.getClearColor=function(){return T.getClearColor()},this.setClearColor=function(){T.setClearColor.apply(T,arguments)},this.getClearAlpha=function(){return T.getClearAlpha()},this.setClearAlpha=function(){T.setClearAlpha.apply(T,arguments)},this.clear=function(e,t,n){var i=0;(void 0===e||e)&&(i|=16384),(void 0===t||t)&&(i|=256),(void 0===n||n)&&(i|=1024),p.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(){t.removeEventListener("webglcontextlost",le,!1),t.removeEventListener("webglcontextrestored",ce,!1),E.dispose(),S.dispose(),v.dispose(),x.dispose(),ae.dispose(),pe.stop()},this.renderBufferImmediate=function(e,t){m.initAttributes();var n=v.get(e);e.hasPositions&&!n.position&&(n.position=p.createBuffer()),e.hasNormals&&!n.normal&&(n.normal=p.createBuffer()),e.hasUvs&&!n.uv&&(n.uv=p.createBuffer()),e.hasColors&&!n.color&&(n.color=p.createBuffer());var i=t.getAttributes();e.hasPositions&&(p.bindBuffer(34962,n.position),p.bufferData(34962,e.positionArray,35048),m.enableAttribute(i.position),p.vertexAttribPointer(i.position,3,5126,!1,0,0)),e.hasNormals&&(p.bindBuffer(34962,n.normal),p.bufferData(34962,e.normalArray,35048),m.enableAttribute(i.normal),p.vertexAttribPointer(i.normal,3,5126,!1,0,0)),e.hasUvs&&(p.bindBuffer(34962,n.uv),p.bufferData(34962,e.uvArray,35048),m.enableAttribute(i.uv),p.vertexAttribPointer(i.uv,2,5126,!1,0,0)),e.hasColors&&(p.bindBuffer(34962,n.color),p.bufferData(34962,e.colorArray,35048),m.enableAttribute(i.color),p.vertexAttribPointer(i.color,3,5126,!1,0,0)),m.disableUnusedAttributes(),p.drawArrays(4,0,e.count),e.count=0},this.renderBufferDirect=function(e,t,n,i,r,o){var a=r.isMesh&&r.matrixWorld.determinant()<0;m.setMaterial(i,a);var s=ve(e,t,i,r),l=!1;j.geometry===n.id&&j.program===s.id&&j.wireframe===(!0===i.wireframe)||(j.geometry=n.id,j.program=s.id,j.wireframe=!0===i.wireframe,l=!0),r.morphTargetInfluences&&(C.update(r,n,i,s),l=!0);var c,u=n.index,h=n.attributes.position,d=1;!0===i.wireframe&&(u=w.getWireframeAttribute(n),d=2);var g=I;null!==u&&(c=b.get(u),(g=L).setIndex(c)),l&&(function(e,t,n){if(n&&n.isInstancedBufferGeometry&&!A.isWebGL2&&null===f.get("ANGLE_instanced_arrays"))console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");else{m.initAttributes();var i=n.attributes,r=t.getAttributes(),o=e.defaultAttributeValues;for(var a in r){var s=r[a];if(s>=0){var l=i[a];if(void 0!==l){var c=l.normalized,u=l.itemSize,h=b.get(l);if(void 0===h)continue;var d=h.buffer,g=h.type,v=h.bytesPerElement;if(l.isInterleavedBufferAttribute){var y=l.data,w=y.stride,x=l.offset;y&&y.isInstancedInterleavedBuffer?(m.enableAttributeAndDivisor(s,y.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=y.meshPerAttribute*y.count)):m.enableAttribute(s),p.bindBuffer(34962,d),p.vertexAttribPointer(s,u,g,c,w*v,x*v)}else l.isInstancedBufferAttribute?(m.enableAttributeAndDivisor(s,l.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=l.meshPerAttribute*l.count)):m.enableAttribute(s),p.bindBuffer(34962,d),p.vertexAttribPointer(s,u,g,c,0,0)}else if(void 0!==o){var M=o[a];if(void 0!==M)switch(M.length){case 2:p.vertexAttrib2fv(s,M);break;case 3:p.vertexAttrib3fv(s,M);break;case 4:p.vertexAttrib4fv(s,M);break;default:p.vertexAttrib1fv(s,M)}}}}m.disableUnusedAttributes()}}(i,s,n),null!==u&&p.bindBuffer(34963,c.buffer));var v=1/0;null!==u?v=u.count:void 0!==h&&(v=h.count);var y=n.drawRange.start*d,x=n.drawRange.count*d,M=null!==o?o.start*d:0,E=null!==o?o.count*d:1/0,S=Math.max(y,M),T=Math.min(v,y+x,M+E)-1,D=Math.max(0,T-S+1);if(0!==D){if(r.isMesh)if(!0===i.wireframe)m.setLineWidth(i.wireframeLinewidth*ie()),g.setMode(1);else switch(r.drawMode){case Gs:g.setMode(4);break;case Ys:g.setMode(5);break;case qs:g.setMode(6)}else if(r.isLine){var O=i.linewidth;void 0===O&&(O=1),m.setLineWidth(O*ie()),r.isLineSegments?g.setMode(1):r.isLineLoop?g.setMode(2):g.setMode(3)}else r.isPoints?g.setMode(0):r.isSprite&&g.setMode(4);n&&n.isInstancedBufferGeometry?n.maxInstancedCount>0&&g.renderInstances(n,S,D):g.render(S,D)}},this.compile=function(e,t){(d=S.get(e,t)).init(),e.traverse((function(e){e.isLight&&(d.pushLight(e),e.castShadow&&d.pushShadow(e))})),d.setupLights(t),e.traverse((function(t){if(t.material)if(Array.isArray(t.material))for(var n=0;n<t.material.length;n++)ge(t.material[n],e.fog,t);else ge(t.material,e.fog,t)}))};var de=null,pe=new Yl;function fe(e,t,n,i){if(!1!==e.visible){if(e.layers.test(t.layers))if(e.isGroup)n=e.renderOrder;else if(e.isLight)d.pushLight(e),e.castShadow&&d.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||J.intersectsSprite(e)){i&&ne.setFromMatrixPosition(e.matrixWorld).applyMatrix4(te);var r=x.update(e);(o=e.material).visible&&h.push(e,r,o,n,ne.z,null)}}else if(e.isImmediateRenderObject)i&&ne.setFromMatrixPosition(e.matrixWorld).applyMatrix4(te),h.push(e,null,e.material,n,ne.z,null);else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.update(),!e.frustumCulled||J.intersectsObject(e))){i&&ne.setFromMatrixPosition(e.matrixWorld).applyMatrix4(te),r=x.update(e);var o=e.material;if(Array.isArray(o))for(var a=r.groups,s=0,l=a.length;s<l;s++){var c=a[s],u=o[c.materialIndex];u&&u.visible&&h.push(e,r,u,n,ne.z,c)}else o.visible&&h.push(e,r,o,n,ne.z,null)}var p=e.children;for(s=0,l=p.length;s<l;s++)fe(p[s],t,n,i)}}function Ae(e,t,n,i){for(var r=0,o=e.length;r<o;r++){var a=e[r],s=a.object,l=a.geometry,c=void 0===i?a.material:i,u=a.group;if(n.isArrayCamera){F=n;for(var h=n.cameras,p=0,f=h.length;p<f;p++){var A=h[p];s.layers.test(A.layers)&&(m.viewport(V.copy(A.viewport)),d.setupLights(A),me(s,t,A,l,c,u))}}else F=null,me(s,t,n,l,c,u)}}function me(e,t,n,i,r,o){if(e.onBeforeRender(O,t,n,i,r,o),d=S.get(t,F||n),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),e.isImmediateRenderObject){m.setMaterial(r);var a=ve(n,t.fog,r,e);j.geometry=null,j.program=null,j.wireframe=!1,function(e,t){e.render((function(e){O.renderBufferImmediate(e,t)}))}(e,a)}else O.renderBufferDirect(n,t.fog,i,r,e,o);e.onAfterRender(O,t,n,i,r,o),d=S.get(t,F||n)}function ge(e,t,n){var i=v.get(e),r=d.state.lights,o=d.state.shadowsArray,a=i.lightsHash,s=r.state.hash,l=M.getParameters(e,r.state,o,t,K.numPlanes,K.numIntersection,n),c=M.getProgramCode(e,l),u=i.program,h=!0;if(void 0===u)e.addEventListener("dispose",ue);else if(u.code!==c)he(e);else if(a.stateID!==s.stateID||a.directionalLength!==s.directionalLength||a.pointLength!==s.pointLength||a.spotLength!==s.spotLength||a.rectAreaLength!==s.rectAreaLength||a.hemiLength!==s.hemiLength||a.shadowsLength!==s.shadowsLength)a.stateID=s.stateID,a.directionalLength=s.directionalLength,a.pointLength=s.pointLength,a.spotLength=s.spotLength,a.rectAreaLength=s.rectAreaLength,a.hemiLength=s.hemiLength,a.shadowsLength=s.shadowsLength,h=!1;else{if(void 0!==l.shaderID)return;h=!1}if(h){if(l.shaderID){var p=Gl[l.shaderID];i.shader={name:e.type,uniforms:_l(p.uniforms),vertexShader:p.vertexShader,fragmentShader:p.fragmentShader}}else i.shader={name:e.type,uniforms:e.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader};e.onBeforeCompile(i.shader,O),c=M.getProgramCode(e,l),u=M.acquireProgram(e,i.shader,l,c),i.program=u,e.program=u}var f=u.getAttributes();if(e.morphTargets){e.numSupportedMorphTargets=0;for(var A=0;A<O.maxMorphTargets;A++)f["morphTarget"+A]>=0&&e.numSupportedMorphTargets++}if(e.morphNormals)for(e.numSupportedMorphNormals=0,A=0;A<O.maxMorphNormals;A++)f["morphNormal"+A]>=0&&e.numSupportedMorphNormals++;var m=i.shader.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(i.numClippingPlanes=K.numPlanes,i.numIntersection=K.numIntersection,m.clippingPlanes=K.uniform),i.fog=t,void 0===a&&(i.lightsHash=a={}),a.stateID=s.stateID,a.directionalLength=s.directionalLength,a.pointLength=s.pointLength,a.spotLength=s.spotLength,a.rectAreaLength=s.rectAreaLength,a.hemiLength=s.hemiLength,a.shadowsLength=s.shadowsLength,e.lights&&(m.ambientLightColor.value=r.state.ambient,m.lightProbe.value=r.state.probe,m.directionalLights.value=r.state.directional,m.spotLights.value=r.state.spot,m.rectAreaLights.value=r.state.rectArea,m.pointLights.value=r.state.point,m.hemisphereLights.value=r.state.hemi,m.directionalShadowMap.value=r.state.directionalShadowMap,m.directionalShadowMatrix.value=r.state.directionalShadowMatrix,m.spotShadowMap.value=r.state.spotShadowMap,m.spotShadowMatrix.value=r.state.spotShadowMatrix,m.pointShadowMap.value=r.state.pointShadowMap,m.pointShadowMatrix.value=r.state.pointShadowMatrix);var g=i.program.getUniforms(),y=$u.seqWithValue(g.seq,m);i.uniformsList=y}function ve(e,t,n,i){y.resetTextureUnits();var r=v.get(n),o=d.state.lights,a=r.lightsHash,s=o.state.hash;if($&&(ee||e!==U)){var l=e===U&&n.id===B;K.setState(n.clippingPlanes,n.clipIntersection,n.clipShadows,e,r,l)}!1===n.needsUpdate&&(void 0===r.program||n.fog&&r.fog!==t?n.needsUpdate=!0:(!n.lights||a.stateID===s.stateID&&a.directionalLength===s.directionalLength&&a.pointLength===s.pointLength&&a.spotLength===s.spotLength&&a.rectAreaLength===s.rectAreaLength&&a.hemiLength===s.hemiLength&&a.shadowsLength===s.shadowsLength)&&(void 0===r.numClippingPlanes||r.numClippingPlanes===K.numPlanes&&r.numIntersection===K.numIntersection)||(n.needsUpdate=!0)),n.needsUpdate&&(ge(n,t,i),n.needsUpdate=!1);var c,u,h=!1,f=!1,g=!1,b=r.program,w=b.getUniforms(),x=r.shader.uniforms;if(m.useProgram(b.program)&&(h=!0,f=!0,g=!0),n.id!==B&&(B=n.id,f=!0),h||U!==e){if(w.setValue(p,"projectionMatrix",e.projectionMatrix),A.logarithmicDepthBuffer&&w.setValue(p,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),U!==e&&(U=e,f=!0,g=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.envMap){var M=w.map.cameraPosition;void 0!==M&&M.setValue(p,ne.setFromMatrixPosition(e.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.skinning)&&w.setValue(p,"viewMatrix",e.matrixWorldInverse)}if(n.skinning){w.setOptional(p,i,"bindMatrix"),w.setOptional(p,i,"bindMatrixInverse");var E=i.skeleton;if(E){var S=E.bones;if(A.floatVertexTextures){if(void 0===E.boneTexture){var T=Math.sqrt(4*S.length);T=al.ceilPowerOfTwo(T),T=Math.max(T,4);var C=new Float32Array(T*T*4);C.set(E.boneMatrices);var I=new Dl(C,T,T,hs,is);I.needsUpdate=!0,E.boneMatrices=C,E.boneTexture=I,E.boneTextureSize=T}w.setValue(p,"boneTexture",E.boneTexture,y),w.setValue(p,"boneTextureSize",E.boneTextureSize)}else w.setOptional(p,E,"boneMatrices")}}return f&&(w.setValue(p,"toneMappingExposure",O.toneMappingExposure),w.setValue(p,"toneMappingWhitePoint",O.toneMappingWhitePoint),n.lights&&(u=g,(c=x).ambientLightColor.needsUpdate=u,c.lightProbe.needsUpdate=u,c.directionalLights.needsUpdate=u,c.pointLights.needsUpdate=u,c.spotLights.needsUpdate=u,c.rectAreaLights.needsUpdate=u,c.hemisphereLights.needsUpdate=u),t&&n.fog&&function(e,t){e.fogColor.value.copy(t.color),t.isFog?(e.fogNear.value=t.near,e.fogFar.value=t.far):t.isFogExp2&&(e.fogDensity.value=t.density)}(x,t),n.isMeshBasicMaterial?ye(x,n):n.isMeshLambertMaterial?(ye(x,n),function(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}(x,n)):n.isMeshPhongMaterial?(ye(x,n),n.isMeshToonMaterial?function(e,t){be(e,t),t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(x,n):be(x,n)):n.isMeshStandardMaterial?(ye(x,n),n.isMeshPhysicalMaterial?function(e,t){we(e,t),e.reflectivity.value=t.reflectivity,e.clearCoat.value=t.clearCoat,e.clearCoatRoughness.value=t.clearCoatRoughness}(x,n):we(x,n)):n.isMeshMatcapMaterial?(ye(x,n),function(e,t){t.matcap&&(e.matcap.value=t.matcap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===Yo&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===Yo&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(x,n)):n.isMeshDepthMaterial?(ye(x,n),function(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(x,n)):n.isMeshDistanceMaterial?(ye(x,n),function(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias),e.referencePosition.value.copy(t.referencePosition),e.nearDistance.value=t.nearDistance,e.farDistance.value=t.farDistance}(x,n)):n.isMeshNormalMaterial?(ye(x,n),function(e,t){t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===Yo&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===Yo&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(x,n)):n.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity}(x,n),n.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(x,n)):n.isPointsMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*Y,e.scale.value=.5*G,e.map.value=t.map,null!==t.map&&(!0===t.map.matrixAutoUpdate&&t.map.updateMatrix(),e.uvTransform.value.copy(t.map.matrix))}(x,n):n.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,e.map.value=t.map,null!==t.map&&(!0===t.map.matrixAutoUpdate&&t.map.updateMatrix(),e.uvTransform.value.copy(t.map.matrix))}(x,n):n.isShadowMaterial&&(x.color.value.copy(n.color),x.opacity.value=n.opacity),void 0!==x.ltc_1&&(x.ltc_1.value=Wl.LTC_1),void 0!==x.ltc_2&&(x.ltc_2.value=Wl.LTC_2),$u.upload(p,r.uniformsList,x,y)),n.isShaderMaterial&&!0===n.uniformsNeedUpdate&&($u.upload(p,r.uniformsList,x,y),n.uniformsNeedUpdate=!1),n.isSpriteMaterial&&w.setValue(p,"center",i.center),w.setValue(p,"modelViewMatrix",i.modelViewMatrix),w.setValue(p,"normalMatrix",i.normalMatrix),w.setValue(p,"modelMatrix",i.matrixWorld),b}function ye(e,t){var n;e.opacity.value=t.opacity,t.color&&e.diffuse.value.copy(t.color),t.emissive&&e.emissive.value.copy(t.emissive).multiplyScalar(t.emissiveIntensity),t.map&&(e.map.value=t.map),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.specularMap&&(e.specularMap.value=t.specularMap),t.envMap&&(e.envMap.value=t.envMap,e.flipEnvMap.value=t.envMap.isCubeTexture?-1:1,e.reflectivity.value=t.reflectivity,e.refractionRatio.value=t.refractionRatio,e.maxMipLevel.value=v.get(t.envMap).__maxMipLevel),t.lightMap&&(e.lightMap.value=t.lightMap,e.lightMapIntensity.value=t.lightMapIntensity),t.aoMap&&(e.aoMap.value=t.aoMap,e.aoMapIntensity.value=t.aoMapIntensity),t.map?n=t.map:t.specularMap?n=t.specularMap:t.displacementMap?n=t.displacementMap:t.normalMap?n=t.normalMap:t.bumpMap?n=t.bumpMap:t.roughnessMap?n=t.roughnessMap:t.metalnessMap?n=t.metalnessMap:t.alphaMap?n=t.alphaMap:t.emissiveMap&&(n=t.emissiveMap),void 0!==n&&(n.isWebGLRenderTarget&&(n=n.texture),!0===n.matrixAutoUpdate&&n.updateMatrix(),e.uvTransform.value.copy(n.matrix))}function be(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===Yo&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===Yo&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function we(e,t){e.roughness.value=t.roughness,e.metalness.value=t.metalness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap),t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===Yo&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===Yo&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}pe.setAnimationLoop((function(e){ae.isPresenting()||de&&de(e)})),"undefined"!=typeof window&&pe.setContext(window),this.setAnimationLoop=function(e){de=e,ae.setAnimationLoop(e),pe.start()},this.render=function(e,t){var n,i;if(void 0!==arguments[2]&&(console.warn("THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead."),n=arguments[2]),void 0!==arguments[3]&&(console.warn("THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead."),i=arguments[3]),t&&t.isCamera){if(!N){j.geometry=null,j.program=null,j.wireframe=!1,B=-1,U=null,!0===e.autoUpdate&&e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),ae.enabled&&(t=ae.getCamera(t)),(d=S.get(e,t)).init(),e.onBeforeRender(O,e,t,n||z),te.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),J.setFromMatrix(te),ee=this.localClippingEnabled,$=K.init(this.clippingPlanes,ee,t),(h=E.get(e,t)).init(),fe(e,t,0,O.sortObjects),!0===O.sortObjects&&h.sort(),$&&K.beginShadows();var r=d.state.shadowsArray;se.render(r,e,t),d.setupLights(t),$&&K.endShadows(),this.info.autoReset&&this.info.reset(),void 0!==n&&this.setRenderTarget(n),T.render(h,e,t,i);var o=h.opaque,a=h.transparent;if(e.overrideMaterial){var s=e.overrideMaterial;o.length&&Ae(o,e,t,s),a.length&&Ae(a,e,t,s)}else o.length&&Ae(o,e,t),a.length&&Ae(a,e,t);e.onAfterRender(O,e,t),null!==z&&(y.updateRenderTargetMipmap(z),y.updateMultisampleRenderTarget(z)),m.buffers.depth.setTest(!0),m.buffers.depth.setMask(!0),m.buffers.color.setMask(!0),m.setPolygonOffset(!1),ae.enabled&&ae.submitFrame(),h=null,d=null}}else console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.")},this.setFramebuffer=function(e){P!==e&&p.bindFramebuffer(36160,e),P=e},this.getActiveCubeFace=function(){return k},this.getActiveMipMapLevel=function(){return R},this.getRenderTarget=function(){return z},this.setRenderTarget=function(e,t,n){z=e,k=t,R=n,e&&void 0===v.get(e).__webglFramebuffer&&y.setupRenderTarget(e);var i=P,r=!1;if(e){var o=v.get(e).__webglFramebuffer;e.isWebGLRenderTargetCube?(i=o[t||0],r=!0):i=e.isWebGLMultisampleRenderTarget?v.get(e).__webglMultisampledFramebuffer:o,V.copy(e.viewport),H.copy(e.scissor),Q=e.scissorTest}else V.copy(q).multiplyScalar(Y),H.copy(X).multiplyScalar(Y),Q=Z;if(_!==i&&(p.bindFramebuffer(36160,i),_=i),m.viewport(V),m.scissor(H),m.setScissorTest(Q),r){var a=v.get(e.texture);p.framebufferTexture2D(36160,36064,34069+(t||0),a.__webglTexture,n||0)}},this.readRenderTargetPixels=function(e,t,n,i,r,o,a){if(e&&e.isWebGLRenderTarget){var s=v.get(e).__webglFramebuffer;if(e.isWebGLRenderTargetCube&&void 0!==a&&(s=s[a]),s){var l=!1;s!==_&&(p.bindFramebuffer(36160,s),l=!0);try{var c=e.texture,u=c.format,h=c.type;if(u!==hs&&D.convert(u)!==p.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");if(!(h===Ja||D.convert(h)===p.getParameter(35738)||h===is&&(A.isWebGL2||f.get("OES_texture_float")||f.get("WEBGL_color_buffer_float"))||h===rs&&(A.isWebGL2?f.get("EXT_color_buffer_float"):f.get("EXT_color_buffer_half_float"))))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===p.checkFramebufferStatus(36160)?t>=0&&t<=e.width-i&&n>=0&&n<=e.height-r&&p.readPixels(t,n,i,r,D.convert(u),D.convert(h),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{l&&p.bindFramebuffer(36160,_)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")},this.copyFramebufferToTexture=function(e,t,n){var i=t.image.width,r=t.image.height,o=D.convert(t.format);y.setTexture2D(t,0),p.copyTexImage2D(3553,n||0,o,e.x,e.y,i,r,0)},this.copyTextureToTexture=function(e,t,n,i){var r=t.image.width,o=t.image.height,a=D.convert(n.format),s=D.convert(n.type);y.setTexture2D(n,0),t.isDataTexture?p.texSubImage2D(3553,i||0,e.x,e.y,r,o,a,s,t.image.data):p.texSubImage2D(3553,i||0,e.x,e.y,a,s,t.image)}}function Wh(e,t){this.name="",this.color=new Hl(e),this.density=void 0!==t?t:25e-5}function Gh(e,t,n){this.name="",this.color=new Hl(e),this.near=void 0!==t?t:1,this.far=void 0!==n?n:1e3}function Yh(){nc.call(this),this.type="Scene",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function qh(e,t){this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.version=0}function Xh(e,t,n,i){this.data=e,this.itemSize=t,this.offset=n,this.normalized=!0===i}function Zh(e){Tc.call(this),this.type="SpriteMaterial",this.color=new Hl(16777215),this.map=null,this.rotation=0,this.sizeAttenuation=!0,this.lights=!1,this.transparent=!0,this.setValues(e)}function Jh(e){if(nc.call(this),this.type="Sprite",void 0===Ph){Ph=new bc;var t=new qh(new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),5);Ph.setIndex([0,1,2,0,2,3]),Ph.addAttribute("position",new Xh(t,3,0,!1)),Ph.addAttribute("uv",new Xh(t,2,3,!1))}this.geometry=Ph,this.material=void 0!==e?e:new Zh,this.center=new sl(.5,.5)}function Kh(){nc.call(this),this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function $h(e,t){e&&e.isGeometry&&console.error("THREE.SkinnedMesh no longer supports THREE.Geometry. Use THREE.BufferGeometry instead."),Wc.call(this,e,t),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Rl,this.bindMatrixInverse=new Rl}function ed(e,t){if(e=e||[],this.bones=e.slice(0),this.boneMatrices=new Float32Array(16*this.bones.length),void 0===t)this.calculateInverses();else if(this.bones.length===t.length)this.boneInverses=t.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length."),this.boneInverses=[];for(var n=0,i=this.bones.length;n<i;n++)this.boneInverses.push(new Rl)}}function td(){nc.call(this),this.type="Bone"}function nd(e){Tc.call(this),this.type="LineBasicMaterial",this.color=new Hl(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.lights=!1,this.setValues(e)}function id(e,t,n){1===n&&console.error("THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead."),nc.call(this),this.type="Line",this.geometry=void 0!==e?e:new bc,this.material=void 0!==t?t:new nd({color:16777215*Math.random()})}function rd(e,t){id.call(this,e,t),this.type="LineSegments"}function od(e,t){id.call(this,e,t),this.type="LineLoop"}function ad(e){Tc.call(this),this.type="PointsMaterial",this.color=new Hl(16777215),this.map=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.lights=!1,this.setValues(e)}function sd(e,t){nc.call(this),this.type="Points",this.geometry=void 0!==e?e:new bc,this.material=void 0!==t?t:new ad({color:16777215*Math.random()})}function ld(e,t,n,i,r,o,a,s,l){Sl.call(this,e,t,n,i,r,o,a,s,l),this.format=void 0!==a?a:us,this.minFilter=void 0!==o?o:qa,this.magFilter=void 0!==r?r:qa,this.generateMipmaps=!1}function cd(e,t,n,i,r,o,a,s,l,c,u,h){Sl.call(this,null,o,a,s,l,c,i,r,u,h),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}function ud(e,t,n,i,r,o,a,s,l){Sl.call(this,e,t,n,i,r,o,a,s,l),this.needsUpdate=!0}function hd(e,t,n,i,r,o,a,s,l,c){if((c=void 0!==c?c:fs)!==fs&&c!==As)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===fs&&(n=es),void 0===n&&c===As&&(n=ls),Sl.call(this,null,i,r,o,a,s,c,n,l),this.image={width:e,height:t},this.magFilter=void 0!==a?a:Wa,this.minFilter=void 0!==s?s:Wa,this.flipY=!1,this.generateMipmaps=!1}function dd(e){bc.call(this),this.type="WireframeGeometry";var t,n,i,r,o,a,s,l,c,u,h=[],d=[0,0],p={},f=["a","b","c"];if(e&&e.isGeometry){var A=e.faces;for(t=0,i=A.length;t<i;t++){var m=A[t];for(n=0;n<3;n++)s=m[f[n]],l=m[f[(n+1)%3]],d[0]=Math.min(s,l),d[1]=Math.max(s,l),void 0===p[c=d[0]+","+d[1]]&&(p[c]={index1:d[0],index2:d[1]})}for(c in p)a=p[c],u=e.vertices[a.index1],h.push(u.x,u.y,u.z),u=e.vertices[a.index2],h.push(u.x,u.y,u.z)}else if(e&&e.isBufferGeometry){var g,v,y,b,w,x,M;if(u=new cl,null!==e.index){for(g=e.attributes.position,v=e.index,0===(y=e.groups).length&&(y=[{start:0,count:v.count,materialIndex:0}]),r=0,o=y.length;r<o;++r)for(t=w=(b=y[r]).start,i=w+b.count;t<i;t+=3)for(n=0;n<3;n++)s=v.getX(t+n),l=v.getX(t+(n+1)%3),d[0]=Math.min(s,l),d[1]=Math.max(s,l),void 0===p[c=d[0]+","+d[1]]&&(p[c]={index1:d[0],index2:d[1]});for(c in p)a=p[c],u.fromBufferAttribute(g,a.index1),h.push(u.x,u.y,u.z),u.fromBufferAttribute(g,a.index2),h.push(u.x,u.y,u.z)}else for(t=0,i=(g=e.attributes.position).count/3;t<i;t++)for(n=0;n<3;n++)x=3*t+n,u.fromBufferAttribute(g,x),h.push(u.x,u.y,u.z),M=3*t+(n+1)%3,u.fromBufferAttribute(g,M),h.push(u.x,u.y,u.z)}this.addAttribute("position",new Ac(h,3))}function pd(e,t,n){ac.call(this),this.type="ParametricGeometry",this.parameters={func:e,slices:t,stacks:n},this.fromBufferGeometry(new fd(e,t,n)),this.mergeVertices()}function fd(e,t,n){bc.call(this),this.type="ParametricBufferGeometry",this.parameters={func:e,slices:t,stacks:n};var i,r,o=[],a=[],s=[],l=[],c=1e-5,u=new cl,h=new cl,d=new cl,p=new cl,f=new cl;e.length<3&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");var A=t+1;for(i=0;i<=n;i++){var m=i/n;for(r=0;r<=t;r++){var g=r/t;e(g,m,h),a.push(h.x,h.y,h.z),g-c>=0?(e(g-c,m,d),p.subVectors(h,d)):(e(g+c,m,d),p.subVectors(d,h)),m-c>=0?(e(g,m-c,d),f.subVectors(h,d)):(e(g,m+c,d),f.subVectors(d,h)),u.crossVectors(p,f).normalize(),s.push(u.x,u.y,u.z),l.push(g,m)}}for(i=0;i<n;i++)for(r=0;r<t;r++){var v=i*A+r,y=i*A+r+1,b=(i+1)*A+r+1,w=(i+1)*A+r;o.push(v,y,w),o.push(y,b,w)}this.setIndex(o),this.addAttribute("position",new Ac(a,3)),this.addAttribute("normal",new Ac(s,3)),this.addAttribute("uv",new Ac(l,2))}function Ad(e,t,n,i){ac.call(this),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:i},this.fromBufferGeometry(new md(e,t,n,i)),this.mergeVertices()}function md(e,t,n,i){bc.call(this),this.type="PolyhedronBufferGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:i},n=n||1;var r=[],o=[];function a(e,t,n,i){var r,o,a=Math.pow(2,i),l=[];for(r=0;r<=a;r++){l[r]=[];var c=e.clone().lerp(n,r/a),u=t.clone().lerp(n,r/a),h=a-r;for(o=0;o<=h;o++)l[r][o]=0===o&&r===a?c:c.clone().lerp(u,o/h)}for(r=0;r<a;r++)for(o=0;o<2*(a-r)-1;o++){var d=Math.floor(o/2);o%2==0?(s(l[r][d+1]),s(l[r+1][d]),s(l[r][d])):(s(l[r][d+1]),s(l[r+1][d+1]),s(l[r+1][d]))}}function s(e){r.push(e.x,e.y,e.z)}function l(t,n){var i=3*t;n.x=e[i+0],n.y=e[i+1],n.z=e[i+2]}function c(e,t,n,i){i<0&&1===e.x&&(o[t]=e.x-1),0===n.x&&0===n.z&&(o[t]=i/2/Math.PI+.5)}function u(e){return Math.atan2(e.z,-e.x)}function h(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}!function(e){for(var n=new cl,i=new cl,r=new cl,o=0;o<t.length;o+=3)l(t[o+0],n),l(t[o+1],i),l(t[o+2],r),a(n,i,r,e)}(i=i||0),function(e){for(var t=new cl,n=0;n<r.length;n+=3)t.x=r[n+0],t.y=r[n+1],t.z=r[n+2],t.normalize().multiplyScalar(e),r[n+0]=t.x,r[n+1]=t.y,r[n+2]=t.z}(n),function(){for(var e=new cl,t=0;t<r.length;t+=3){e.x=r[t+0],e.y=r[t+1],e.z=r[t+2];var n=u(e)/2/Math.PI+.5,i=h(e)/Math.PI+.5;o.push(n,1-i)}(function(){for(var e=new cl,t=new cl,n=new cl,i=new cl,a=new sl,s=new sl,l=new sl,h=0,d=0;h<r.length;h+=9,d+=6){e.set(r[h+0],r[h+1],r[h+2]),t.set(r[h+3],r[h+4],r[h+5]),n.set(r[h+6],r[h+7],r[h+8]),a.set(o[d+0],o[d+1]),s.set(o[d+2],o[d+3]),l.set(o[d+4],o[d+5]),i.copy(e).add(t).add(n).divideScalar(3);var p=u(i);c(a,d+0,e,p),c(s,d+2,t,p),c(l,d+4,n,p)}})(),function(){for(var e=0;e<o.length;e+=6){var t=o[e+0],n=o[e+2],i=o[e+4],r=Math.max(t,n,i),a=Math.min(t,n,i);r>.9&&a<.1&&(t<.2&&(o[e+0]+=1),n<.2&&(o[e+2]+=1),i<.2&&(o[e+4]+=1))}}()}(),this.addAttribute("position",new Ac(r,3)),this.addAttribute("normal",new Ac(r.slice(),3)),this.addAttribute("uv",new Ac(o,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}function gd(e,t){ac.call(this),this.type="TetrahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new vd(e,t)),this.mergeVertices()}function vd(e,t){md.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],e,t),this.type="TetrahedronBufferGeometry",this.parameters={radius:e,detail:t}}function yd(e,t){ac.call(this),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new bd(e,t)),this.mergeVertices()}function bd(e,t){md.call(this,[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],e,t),this.type="OctahedronBufferGeometry",this.parameters={radius:e,detail:t}}function wd(e,t){ac.call(this),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new xd(e,t)),this.mergeVertices()}function xd(e,t){var n=(1+Math.sqrt(5))/2,i=[-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];md.call(this,i,[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],e,t),this.type="IcosahedronBufferGeometry",this.parameters={radius:e,detail:t}}function Md(e,t){ac.call(this),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new Ed(e,t)),this.mergeVertices()}function Ed(e,t){var n=(1+Math.sqrt(5))/2,i=1/n,r=[-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];md.call(this,r,[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],e,t),this.type="DodecahedronBufferGeometry",this.parameters={radius:e,detail:t}}function Sd(e,t,n,i,r,o){ac.call(this),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:i,closed:r},void 0!==o&&console.warn("THREE.TubeGeometry: taper has been removed.");var a=new Td(e,t,n,i,r);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals,this.fromBufferGeometry(a),this.mergeVertices()}function Td(e,t,n,i,r){bc.call(this),this.type="TubeBufferGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:i,closed:r},t=t||64,n=n||1,i=i||8,r=r||!1;var o=e.computeFrenetFrames(t,r);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals;var a,s,l=new cl,c=new cl,u=new sl,h=new cl,d=[],p=[],f=[],A=[];function m(r){h=e.getPointAt(r/t,h);var a=o.normals[r],u=o.binormals[r];for(s=0;s<=i;s++){var f=s/i*Math.PI*2,A=Math.sin(f),m=-Math.cos(f);c.x=m*a.x+A*u.x,c.y=m*a.y+A*u.y,c.z=m*a.z+A*u.z,c.normalize(),p.push(c.x,c.y,c.z),l.x=h.x+n*c.x,l.y=h.y+n*c.y,l.z=h.z+n*c.z,d.push(l.x,l.y,l.z)}}!function(){for(a=0;a<t;a++)m(a);m(!1===r?t:0),function(){for(a=0;a<=t;a++)for(s=0;s<=i;s++)u.x=a/t,u.y=s/i,f.push(u.x,u.y)}(),function(){for(s=1;s<=t;s++)for(a=1;a<=i;a++){var e=(i+1)*(s-1)+(a-1),n=(i+1)*s+(a-1),r=(i+1)*s+a,o=(i+1)*(s-1)+a;A.push(e,n,o),A.push(n,r,o)}}()}(),this.setIndex(A),this.addAttribute("position",new Ac(d,3)),this.addAttribute("normal",new Ac(p,3)),this.addAttribute("uv",new Ac(f,2))}function Cd(e,t,n,i,r,o,a){ac.call(this),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:i,p:r,q:o},void 0!==a&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead."),this.fromBufferGeometry(new Id(e,t,n,i,r,o)),this.mergeVertices()}function Id(e,t,n,i,r,o){bc.call(this),this.type="TorusKnotBufferGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:i,p:r,q:o},e=e||1,t=t||.4,n=Math.floor(n)||64,i=Math.floor(i)||8,r=r||2,o=o||3;var a,s,l=[],c=[],u=[],h=[],d=new cl,p=new cl,f=new cl,A=new cl,m=new cl,g=new cl,v=new cl;for(a=0;a<=n;++a){var y=a/n*r*Math.PI*2;for(C(y,r,o,e,f),C(y+.01,r,o,e,A),g.subVectors(A,f),v.addVectors(A,f),m.crossVectors(g,v),v.crossVectors(m,g),m.normalize(),v.normalize(),s=0;s<=i;++s){var b=s/i*Math.PI*2,w=-t*Math.cos(b),x=t*Math.sin(b);d.x=f.x+(w*v.x+x*m.x),d.y=f.y+(w*v.y+x*m.y),d.z=f.z+(w*v.z+x*m.z),c.push(d.x,d.y,d.z),p.subVectors(d,f).normalize(),u.push(p.x,p.y,p.z),h.push(a/n),h.push(s/i)}}for(s=1;s<=n;s++)for(a=1;a<=i;a++){var M=(i+1)*(s-1)+(a-1),E=(i+1)*s+(a-1),S=(i+1)*s+a,T=(i+1)*(s-1)+a;l.push(M,E,T),l.push(E,S,T)}function C(e,t,n,i,r){var o=Math.cos(e),a=Math.sin(e),s=n/t*e,l=Math.cos(s);r.x=i*(2+l)*.5*o,r.y=i*(2+l)*a*.5,r.z=i*Math.sin(s)*.5}this.setIndex(l),this.addAttribute("position",new Ac(c,3)),this.addAttribute("normal",new Ac(u,3)),this.addAttribute("uv",new Ac(h,2))}function Ld(e,t,n,i,r){ac.call(this),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:i,arc:r},this.fromBufferGeometry(new Dd(e,t,n,i,r)),this.mergeVertices()}function Dd(e,t,n,i,r){bc.call(this),this.type="TorusBufferGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:i,arc:r},e=e||1,t=t||.4,n=Math.floor(n)||8,i=Math.floor(i)||6,r=r||2*Math.PI;var o,a,s=[],l=[],c=[],u=[],h=new cl,d=new cl,p=new cl;for(o=0;o<=n;o++)for(a=0;a<=i;a++){var f=a/i*r,A=o/n*Math.PI*2;d.x=(e+t*Math.cos(A))*Math.cos(f),d.y=(e+t*Math.cos(A))*Math.sin(f),d.z=t*Math.sin(A),l.push(d.x,d.y,d.z),h.x=e*Math.cos(f),h.y=e*Math.sin(f),p.subVectors(d,h).normalize(),c.push(p.x,p.y,p.z),u.push(a/i),u.push(o/n)}for(o=1;o<=n;o++)for(a=1;a<=i;a++){var m=(i+1)*o+a-1,g=(i+1)*(o-1)+a-1,v=(i+1)*(o-1)+a,y=(i+1)*o+a;s.push(m,g,y),s.push(g,v,y)}this.setIndex(s),this.addAttribute("position",new Ac(l,3)),this.addAttribute("normal",new Ac(c,3)),this.addAttribute("uv",new Ac(u,2))}Object.assign(Wh.prototype,{isFogExp2:!0,clone:function(){return new Wh(this.color,this.density)},toJSON:function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}),Object.assign(Gh.prototype,{isFog:!0,clone:function(){return new Gh(this.color,this.near,this.far)},toJSON:function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}),Yh.prototype=Object.assign(Object.create(nc.prototype),{constructor:Yh,isScene:!0,copy:function(e,t){return nc.prototype.copy.call(this,e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.fog&&(this.fog=e.fog.clone()),null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this},toJSON:function(e){var t=nc.prototype.toJSON.call(this,e);return null!==this.background&&(t.object.background=this.background.toJSON(e)),null!==this.fog&&(t.object.fog=this.fog.toJSON()),t},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(qh.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(qh.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setArray:function(e){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=void 0!==e?e.length/this.stride:0,this.array=e,this},setDynamic:function(e){return this.dynamic=e,this},copy:function(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.dynamic=e.dynamic,this},copyAt:function(e,t,n){e*=this.stride,n*=t.stride;for(var i=0,r=this.stride;i<r;i++)this.array[e+i]=t.array[n+i];return this},set:function(e,t){return void 0===t&&(t=0),this.array.set(e,t),this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(e){return this.onUploadCallback=e,this}}),Object.defineProperties(Xh.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(Xh.prototype,{isInterleavedBufferAttribute:!0,setX:function(e,t){return this.data.array[e*this.data.stride+this.offset]=t,this},setY:function(e,t){return this.data.array[e*this.data.stride+this.offset+1]=t,this},setZ:function(e,t){return this.data.array[e*this.data.stride+this.offset+2]=t,this},setW:function(e,t){return this.data.array[e*this.data.stride+this.offset+3]=t,this},getX:function(e){return this.data.array[e*this.data.stride+this.offset]},getY:function(e){return this.data.array[e*this.data.stride+this.offset+1]},getZ:function(e){return this.data.array[e*this.data.stride+this.offset+2]},getW:function(e){return this.data.array[e*this.data.stride+this.offset+3]},setXY:function(e,t,n){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this},setXYZ:function(e,t,n,i){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this},setXYZW:function(e,t,n,i,r){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this.data.array[e+3]=r,this}}),Zh.prototype=Object.create(Tc.prototype),Zh.prototype.constructor=Zh,Zh.prototype.isSpriteMaterial=!0,Zh.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this},Jh.prototype=Object.assign(Object.create(nc.prototype),{constructor:Jh,isSprite:!0,raycast:function(){var e=new cl,t=new cl,n=new cl,i=new sl,r=new sl,o=new Rl,a=new cl,s=new cl,l=new cl,c=new sl,u=new sl,h=new sl;function d(e,t,n,a,s,l){i.subVectors(e,n).addScalar(.5).multiply(a),void 0!==s?(r.x=l*i.x-s*i.y,r.y=s*i.x+l*i.y):r.copy(i),e.copy(t),e.x+=r.x,e.y+=r.y,e.applyMatrix4(o)}return function(i,r){t.setFromMatrixScale(this.matrixWorld),o.getInverse(this.modelViewMatrix).premultiply(this.matrixWorld),n.setFromMatrixPosition(this.modelViewMatrix);var p,f,A=this.material.rotation;0!==A&&(f=Math.cos(A),p=Math.sin(A));var m=this.center;d(a.set(-.5,-.5,0),n,m,t,p,f),d(s.set(.5,-.5,0),n,m,t,p,f),d(l.set(.5,.5,0),n,m,t,p,f),c.set(0,0),u.set(1,0),h.set(1,1);var g=i.ray.intersectTriangle(a,s,l,!1,e);if(null!==g||(d(s.set(-.5,.5,0),n,m,t,p,f),u.set(0,1),null!==(g=i.ray.intersectTriangle(a,l,s,!1,e)))){var v=i.ray.origin.distanceTo(e);v<i.near||v>i.far||r.push({distance:v,point:e.clone(),uv:Hc.getUV(e,a,s,l,c,u,h,new sl),face:null,object:this})}}}(),clone:function(){return new this.constructor(this.material).copy(this)},copy:function(e){return nc.prototype.copy.call(this,e),void 0!==e.center&&this.center.copy(e.center),this}}),Kh.prototype=Object.assign(Object.create(nc.prototype),{constructor:Kh,isLOD:!0,copy:function(e){nc.prototype.copy.call(this,e,!1);for(var t=e.levels,n=0,i=t.length;n<i;n++){var r=t[n];this.addLevel(r.object.clone(),r.distance)}return this},addLevel:function(e,t){void 0===t&&(t=0),t=Math.abs(t);for(var n=this.levels,i=0;i<n.length&&!(t<n[i].distance);i++);return n.splice(i,0,{distance:t,object:e}),this.add(e),this},getObjectForDistance:function(e){for(var t=this.levels,n=1,i=t.length;n<i&&!(e<t[n].distance);n++);return t[n-1].object},raycast:(kh=new cl,function(e,t){kh.setFromMatrixPosition(this.matrixWorld);var n=e.ray.origin.distanceTo(kh);this.getObjectForDistance(n).raycast(e,t)}),update:function(){var e=new cl,t=new cl;return function(n){var i=this.levels;if(i.length>1){e.setFromMatrixPosition(n.matrixWorld),t.setFromMatrixPosition(this.matrixWorld);var r=e.distanceTo(t);i[0].object.visible=!0;for(var o=1,a=i.length;o<a&&r>=i[o].distance;o++)i[o-1].object.visible=!1,i[o].object.visible=!0;for(;o<a;o++)i[o].object.visible=!1}}}(),toJSON:function(e){var t=nc.prototype.toJSON.call(this,e);t.object.levels=[];for(var n=this.levels,i=0,r=n.length;i<r;i++){var o=n[i];t.object.levels.push({object:o.object.uuid,distance:o.distance})}return t}}),$h.prototype=Object.assign(Object.create(Wc.prototype),{constructor:$h,isSkinnedMesh:!0,bind:function(e,t){this.skeleton=e,void 0===t&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.getInverse(t)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){for(var e=new Tl,t=this.geometry.attributes.skinWeight,n=0,i=t.count;n<i;n++){e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.w=t.getW(n);var r=1/e.manhattanLength();r!==1/0?e.multiplyScalar(r):e.set(1,0,0,0),t.setXYZW(n,e.x,e.y,e.z,e.w)}},updateMatrixWorld:function(e){Wc.prototype.updateMatrixWorld.call(this,e),"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Object.assign(ed.prototype,{calculateInverses:function(){this.boneInverses=[];for(var e=0,t=this.bones.length;e<t;e++){var n=new Rl;this.bones[e]&&n.getInverse(this.bones[e].matrixWorld),this.boneInverses.push(n)}},pose:function(){var e,t,n;for(t=0,n=this.bones.length;t<n;t++)(e=this.bones[t])&&e.matrixWorld.getInverse(this.boneInverses[t]);for(t=0,n=this.bones.length;t<n;t++)(e=this.bones[t])&&(e.parent&&e.parent.isBone?(e.matrix.getInverse(e.parent.matrixWorld),e.matrix.multiply(e.matrixWorld)):e.matrix.copy(e.matrixWorld),e.matrix.decompose(e.position,e.quaternion,e.scale))},update:(Rh=new Rl,zh=new Rl,function(){for(var e=this.bones,t=this.boneInverses,n=this.boneMatrices,i=this.boneTexture,r=0,o=e.length;r<o;r++){var a=e[r]?e[r].matrixWorld:zh;Rh.multiplyMatrices(a,t[r]),Rh.toArray(n,16*r)}void 0!==i&&(i.needsUpdate=!0)}),clone:function(){return new ed(this.bones,this.boneInverses)},getBoneByName:function(e){for(var t=0,n=this.bones.length;t<n;t++){var i=this.bones[t];if(i.name===e)return i}}}),td.prototype=Object.assign(Object.create(nc.prototype),{constructor:td,isBone:!0}),nd.prototype=Object.create(Tc.prototype),nd.prototype.constructor=nd,nd.prototype.isLineBasicMaterial=!0,nd.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.color.copy(e.color),this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this},id.prototype=Object.assign(Object.create(nc.prototype),{constructor:id,isLine:!0,computeLineDistances:(_h=new cl,Bh=new cl,function(){var e=this.geometry;if(e.isBufferGeometry)if(null===e.index){for(var t=e.attributes.position,n=[0],i=1,r=t.count;i<r;i++)_h.fromBufferAttribute(t,i-1),Bh.fromBufferAttribute(t,i),n[i]=n[i-1],n[i]+=_h.distanceTo(Bh);e.addAttribute("lineDistance",new Ac(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(e.isGeometry){var o=e.vertices;for((n=e.lineDistances)[0]=0,i=1,r=o.length;i<r;i++)n[i]=n[i-1],n[i]+=o[i-1].distanceTo(o[i])}return this}),raycast:function(){var e=new Rl,t=new Vc,n=new Nl;return function(i,r){var o=i.linePrecision,a=this.geometry,s=this.matrixWorld;if(null===a.boundingSphere&&a.computeBoundingSphere(),n.copy(a.boundingSphere),n.applyMatrix4(s),n.radius+=o,!1!==i.ray.intersectsSphere(n)){e.getInverse(s),t.copy(i.ray).applyMatrix4(e);var l=o/((this.scale.x+this.scale.y+this.scale.z)/3),c=l*l,u=new cl,h=new cl,d=new cl,p=new cl,f=this&&this.isLineSegments?2:1;if(a.isBufferGeometry){var A=a.index,m=a.attributes.position.array;if(null!==A)for(var g=A.array,v=0,y=g.length-1;v<y;v+=f){var b=g[v],w=g[v+1];u.fromArray(m,3*b),h.fromArray(m,3*w),t.distanceSqToSegment(u,h,p,d)>c||(p.applyMatrix4(this.matrixWorld),(E=i.ray.origin.distanceTo(p))<i.near||E>i.far||r.push({distance:E,point:d.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this}))}else for(v=0,y=m.length/3-1;v<y;v+=f)u.fromArray(m,3*v),h.fromArray(m,3*v+3),t.distanceSqToSegment(u,h,p,d)>c||(p.applyMatrix4(this.matrixWorld),(E=i.ray.origin.distanceTo(p))<i.near||E>i.far||r.push({distance:E,point:d.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this}))}else if(a.isGeometry){var x=a.vertices,M=x.length;for(v=0;v<M-1;v+=f){var E;t.distanceSqToSegment(x[v],x[v+1],p,d)>c||(p.applyMatrix4(this.matrixWorld),(E=i.ray.origin.distanceTo(p))<i.near||E>i.far||r.push({distance:E,point:d.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this}))}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),rd.prototype=Object.assign(Object.create(id.prototype),{constructor:rd,isLineSegments:!0,computeLineDistances:function(){var e=new cl,t=new cl;return function(){var n=this.geometry;if(n.isBufferGeometry)if(null===n.index){for(var i=n.attributes.position,r=[],o=0,a=i.count;o<a;o+=2)e.fromBufferAttribute(i,o),t.fromBufferAttribute(i,o+1),r[o]=0===o?0:r[o-1],r[o+1]=r[o]+e.distanceTo(t);n.addAttribute("lineDistance",new Ac(r,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(n.isGeometry){var s=n.vertices;for(r=n.lineDistances,o=0,a=s.length;o<a;o+=2)e.copy(s[o]),t.copy(s[o+1]),r[o]=0===o?0:r[o-1],r[o+1]=r[o]+e.distanceTo(t)}return this}}()}),od.prototype=Object.assign(Object.create(id.prototype),{constructor:od,isLineLoop:!0}),ad.prototype=Object.create(Tc.prototype),ad.prototype.constructor=ad,ad.prototype.isPointsMaterial=!0,ad.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.morphTargets=e.morphTargets,this},sd.prototype=Object.assign(Object.create(nc.prototype),{constructor:sd,isPoints:!0,raycast:function(){var e=new Rl,t=new Vc,n=new Nl;return function(i,r){var o=this,a=this.geometry,s=this.matrixWorld,l=i.params.Points.threshold;if(null===a.boundingSphere&&a.computeBoundingSphere(),n.copy(a.boundingSphere),n.applyMatrix4(s),n.radius+=l,!1!==i.ray.intersectsSphere(n)){e.getInverse(s),t.copy(i.ray).applyMatrix4(e);var c=l/((this.scale.x+this.scale.y+this.scale.z)/3),u=c*c,h=new cl,d=new cl;if(a.isBufferGeometry){var p=a.index,f=a.attributes.position.array;if(null!==p)for(var A=p.array,m=0,g=A.length;m<g;m++){var v=A[m];h.fromArray(f,3*v),w(h,v)}else{m=0;for(var y=f.length/3;m<y;m++)h.fromArray(f,3*m),w(h,m)}}else{var b=a.vertices;for(m=0,y=b.length;m<y;m++)w(b[m],m)}}function w(e,n){var a=t.distanceSqToPoint(e);if(a<u){t.closestPointToPoint(e,d),d.applyMatrix4(s);var l=i.ray.origin.distanceTo(d);if(l<i.near||l>i.far)return;r.push({distance:l,distanceToRay:Math.sqrt(a),point:d.clone(),index:n,face:null,object:o})}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),ld.prototype=Object.assign(Object.create(Sl.prototype),{constructor:ld,isVideoTexture:!0,update:function(){var e=this.image;e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),cd.prototype=Object.create(Sl.prototype),cd.prototype.constructor=cd,cd.prototype.isCompressedTexture=!0,ud.prototype=Object.create(Sl.prototype),ud.prototype.constructor=ud,ud.prototype.isCanvasTexture=!0,hd.prototype=Object.create(Sl.prototype),hd.prototype.constructor=hd,hd.prototype.isDepthTexture=!0,dd.prototype=Object.create(bc.prototype),dd.prototype.constructor=dd,pd.prototype=Object.create(ac.prototype),pd.prototype.constructor=pd,fd.prototype=Object.create(bc.prototype),fd.prototype.constructor=fd,Ad.prototype=Object.create(ac.prototype),Ad.prototype.constructor=Ad,md.prototype=Object.create(bc.prototype),md.prototype.constructor=md,gd.prototype=Object.create(ac.prototype),gd.prototype.constructor=gd,vd.prototype=Object.create(md.prototype),vd.prototype.constructor=vd,yd.prototype=Object.create(ac.prototype),yd.prototype.constructor=yd,bd.prototype=Object.create(md.prototype),bd.prototype.constructor=bd,wd.prototype=Object.create(ac.prototype),wd.prototype.constructor=wd,xd.prototype=Object.create(md.prototype),xd.prototype.constructor=xd,Md.prototype=Object.create(ac.prototype),Md.prototype.constructor=Md,Ed.prototype=Object.create(md.prototype),Ed.prototype.constructor=Ed,Sd.prototype=Object.create(ac.prototype),Sd.prototype.constructor=Sd,Td.prototype=Object.create(bc.prototype),Td.prototype.constructor=Td,Td.prototype.toJSON=function(){var e=bc.prototype.toJSON.call(this);return e.path=this.parameters.path.toJSON(),e},Cd.prototype=Object.create(ac.prototype),Cd.prototype.constructor=Cd,Id.prototype=Object.create(bc.prototype),Id.prototype.constructor=Id,Ld.prototype=Object.create(ac.prototype),Ld.prototype.constructor=Ld,Dd.prototype=Object.create(bc.prototype),Dd.prototype.constructor=Dd;function Od(e,t,n,i,r){var o,a;if(r===function(e,t,n,i){for(var r=0,o=t,a=n-i;o<n;o+=i)r+=(e[a]-e[o])*(e[o+1]+e[a+1]),a=o;return r}(e,t,n,i)>0)for(o=t;o<n;o+=i)a=Xd(o,e[o],e[o+1],a);else for(o=n-i;o>=t;o-=i)a=Xd(o,e[o],e[o+1],a);return a&&Wd(a,a.next)&&(Zd(a),a=a.next),a}function Nd(e,t){if(!e)return e;t||(t=e);var n,i=e;do{if(n=!1,i.steiner||!Wd(i,i.next)&&0!==Qd(i.prev,i,i.next))i=i.next;else{if(Zd(i),(i=t=i.prev)===i.next)break;n=!0}}while(n||i!==t);return t}function Pd(e,t,n,i,r,o,a){if(e){!a&&o&&function(e,t,n,i){var r=e;do{null===r.z&&(r.z=Ud(r.x,r.y,t,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==e);r.prevZ.nextZ=null,r.prevZ=null,function(e){var t,n,i,r,o,a,s,l,c=1;do{for(n=e,e=null,o=null,a=0;n;){for(a++,i=n,s=0,t=0;t<c&&(s++,i=i.nextZ);t++);for(l=c;s>0||l>0&&i;)0!==s&&(0===l||!i||n.z<=i.z)?(r=n,n=n.nextZ,s--):(r=i,i=i.nextZ,l--),o?o.nextZ=r:e=r,r.prevZ=o,o=r;n=i}o.nextZ=null,c*=2}while(a>1)}(r)}(e,i,r,o);for(var s,l,c=e;e.prev!==e.next;)if(s=e.prev,l=e.next,o?Rd(e,i,r,o):kd(e))t.push(s.i/n),t.push(e.i/n),t.push(l.i/n),Zd(e),e=l.next,c=l.next;else if((e=l)===c){a?1===a?Pd(e=zd(e,t,n),t,n,i,r,o,2):2===a&&_d(e,t,n,i,r,o):Pd(Nd(e),t,n,i,r,o,1);break}}}function kd(e){var t=e.prev,n=e,i=e.next;if(Qd(t,n,i)>=0)return!1;for(var r=e.next.next;r!==e.prev;){if(Vd(t.x,t.y,n.x,n.y,i.x,i.y,r.x,r.y)&&Qd(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function Rd(e,t,n,i){var r=e.prev,o=e,a=e.next;if(Qd(r,o,a)>=0)return!1;for(var s=r.x<o.x?r.x<a.x?r.x:a.x:o.x<a.x?o.x:a.x,l=r.y<o.y?r.y<a.y?r.y:a.y:o.y<a.y?o.y:a.y,c=r.x>o.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,h=Ud(s,l,t,n,i),d=Ud(c,u,t,n,i),p=e.nextZ;p&&p.z<=d;){if(p!==e.prev&&p!==e.next&&Vd(r.x,r.y,o.x,o.y,a.x,a.y,p.x,p.y)&&Qd(p.prev,p,p.next)>=0)return!1;p=p.nextZ}for(p=e.prevZ;p&&p.z>=h;){if(p!==e.prev&&p!==e.next&&Vd(r.x,r.y,o.x,o.y,a.x,a.y,p.x,p.y)&&Qd(p.prev,p,p.next)>=0)return!1;p=p.prevZ}return!0}function zd(e,t,n){var i=e;do{var r=i.prev,o=i.next.next;!Wd(r,o)&&Gd(r,i,i.next,o)&&Yd(r,o)&&Yd(o,r)&&(t.push(r.i/n),t.push(i.i/n),t.push(o.i/n),Zd(i),Zd(i.next),i=e=o),i=i.next}while(i!==e);return i}function _d(e,t,n,i,r,o){var a=e;do{for(var s=a.next.next;s!==a.prev;){if(a.i!==s.i&&Hd(a,s)){var l=qd(a,s);return a=Nd(a,a.next),l=Nd(l,l.next),Pd(a,t,n,i,r,o),void Pd(l,t,n,i,r,o)}s=s.next}a=a.next}while(a!==e)}function Bd(e,t){return e.x-t.x}function jd(e,t){if(t=function(e,t){var n,i=t,r=e.x,o=e.y,a=-1/0;do{if(o<=i.y&&o>=i.next.y&&i.next.y!==i.y){var s=i.x+(o-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(s<=r&&s>a){if(a=s,s===r){if(o===i.y)return i;if(o===i.next.y)return i.next}n=i.x<i.next.x?i:i.next}}i=i.next}while(i!==t);if(!n)return null;if(r===a)return n.prev;var l,c=n,u=n.x,h=n.y,d=1/0;for(i=n.next;i!==c;)r>=i.x&&i.x>=u&&r!==i.x&&Vd(o<h?r:a,o,u,h,o<h?a:r,o,i.x,i.y)&&((l=Math.abs(o-i.y)/(r-i.x))<d||l===d&&i.x>n.x)&&Yd(i,e)&&(n=i,d=l),i=i.next;return n}(e,t),t){var n=qd(t,e);Nd(n,n.next)}}function Ud(e,t,n,i,r){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*r)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*r)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Fd(e){var t=e,n=e;do{t.x<n.x&&(n=t),t=t.next}while(t!==e);return n}function Vd(e,t,n,i,r,o,a,s){return(r-a)*(t-s)-(e-a)*(o-s)>=0&&(e-a)*(i-s)-(n-a)*(t-s)>=0&&(n-a)*(o-s)-(r-a)*(i-s)>=0}function Hd(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&Gd(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&Yd(e,t)&&Yd(t,e)&&function(e,t){var n=e,i=!1,r=(e.x+t.x)/2,o=(e.y+t.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&r<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==e);return i}(e,t)}function Qd(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function Wd(e,t){return e.x===t.x&&e.y===t.y}function Gd(e,t,n,i){return!!(Wd(e,t)&&Wd(n,i)||Wd(e,i)&&Wd(n,t))||Qd(e,t,n)>0!=Qd(e,t,i)>0&&Qd(n,i,e)>0!=Qd(n,i,t)>0}function Yd(e,t){return Qd(e.prev,e,e.next)<0?Qd(e,t,e.next)>=0&&Qd(e,e.prev,t)>=0:Qd(e,t,e.prev)<0||Qd(e,e.next,t)<0}function qd(e,t){var n=new Jd(e.i,e.x,e.y),i=new Jd(t.i,t.x,t.y),r=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=r,r.prev=n,i.next=n,n.prev=i,o.next=i,i.prev=o,i}function Xd(e,t,n,i){var r=new Jd(e,t,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 Zd(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Jd(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var Kd={area:function(e){for(var t=e.length,n=0,i=t-1,r=0;r<t;i=r++)n+=e[i].x*e[r].y-e[r].x*e[i].y;return.5*n},isClockWise:function(e){return Kd.area(e)<0},triangulateShape:function(e,t){var n=[],i=[],r=[];$d(e),ep(n,e);var o=e.length;t.forEach($d);for(var a=0;a<t.length;a++)i.push(o),o+=t[a].length,ep(n,t[a]);var s=function(e,t,n){n=n||2;var i,r,o,a,s,l,c,u=t&&t.length,h=u?t[0]*n:e.length,d=Od(e,0,h,n,!0),p=[];if(!d)return p;if(u&&(d=function(e,t,n,i){var r,o,a,s=[];for(r=0,o=t.length;r<o;r++)(a=Od(e,t[r]*i,r<o-1?t[r+1]*i:e.length,i,!1))===a.next&&(a.steiner=!0),s.push(Fd(a));for(s.sort(Bd),r=0;r<s.length;r++)jd(s[r],n),n=Nd(n,n.next);return n}(e,t,d,n)),e.length>80*n){i=o=e[0],r=a=e[1];for(var f=n;f<h;f+=n)(s=e[f])<i&&(i=s),(l=e[f+1])<r&&(r=l),s>o&&(o=s),l>a&&(a=l);c=0!==(c=Math.max(o-i,a-r))?1/c:0}return Pd(d,p,n,i,r,c),p}(n,i);for(a=0;a<s.length;a+=3)r.push(s.slice(a,a+3));return r}};function $d(e){var t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function ep(e,t){for(var n=0;n<t.length;n++)e.push(t[n].x),e.push(t[n].y)}function tp(e,t){ac.call(this),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},this.fromBufferGeometry(new np(e,t)),this.mergeVertices()}function np(e,t){bc.call(this),this.type="ExtrudeBufferGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];for(var n=this,i=[],r=[],o=0,a=e.length;o<a;o++)s(e[o]);function s(e){var o=[],a=void 0!==t.curveSegments?t.curveSegments:12,s=void 0!==t.steps?t.steps:1,l=void 0!==t.depth?t.depth:100,c=void 0===t.bevelEnabled||t.bevelEnabled,u=void 0!==t.bevelThickness?t.bevelThickness:6,h=void 0!==t.bevelSize?t.bevelSize:u-2,d=void 0!==t.bevelOffset?t.bevelOffset:0,p=void 0!==t.bevelSegments?t.bevelSegments:3,f=t.extrudePath,A=void 0!==t.UVGenerator?t.UVGenerator:ip;void 0!==t.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),l=t.amount);var m,g,v,y,b,w,x,M,E=!1;f&&(m=f.getSpacedPoints(s),E=!0,c=!1,g=f.computeFrenetFrames(s,!1),v=new cl,y=new cl,b=new cl),c||(p=0,u=0,h=0,d=0);var S=e.extractPoints(a),T=S.shape,C=S.holes;if(!Kd.isClockWise(T))for(T=T.reverse(),x=0,M=C.length;x<M;x++)w=C[x],Kd.isClockWise(w)&&(C[x]=w.reverse());var I=Kd.triangulateShape(T,C),L=T;for(x=0,M=C.length;x<M;x++)w=C[x],T=T.concat(w);function D(e,t,n){return t||console.error("THREE.ExtrudeGeometry: vec does not exist"),t.clone().multiplyScalar(n).add(e)}var O,N,P,k,R,z,_=T.length,B=I.length;function j(e,t,n){var i,r,o,a=e.x-t.x,s=e.y-t.y,l=n.x-e.x,c=n.y-e.y,u=a*a+s*s,h=a*c-s*l;if(Math.abs(h)>Number.EPSILON){var d=Math.sqrt(u),p=Math.sqrt(l*l+c*c),f=t.x-s/d,A=t.y+a/d,m=((n.x-c/p-f)*c-(n.y+l/p-A)*l)/(a*c-s*l),g=(i=f+a*m-e.x)*i+(r=A+s*m-e.y)*r;if(g<=2)return new sl(i,r);o=Math.sqrt(g/2)}else{var v=!1;a>Number.EPSILON?l>Number.EPSILON&&(v=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(v=!0):Math.sign(s)===Math.sign(c)&&(v=!0),v?(i=-s,r=a,o=Math.sqrt(u)):(i=a,r=s,o=Math.sqrt(u/2))}return new sl(i/o,r/o)}for(var U=[],F=0,V=L.length,H=V-1,Q=F+1;F<V;F++,H++,Q++)H===V&&(H=0),Q===V&&(Q=0),U[F]=j(L[F],L[H],L[Q]);var W,G,Y=[],q=U.concat();for(x=0,M=C.length;x<M;x++){for(w=C[x],W=[],F=0,H=(V=w.length)-1,Q=F+1;F<V;F++,H++,Q++)H===V&&(H=0),Q===V&&(Q=0),W[F]=j(w[F],w[H],w[Q]);Y.push(W),q=q.concat(W)}for(O=0;O<p;O++){for(P=O/p,k=u*Math.cos(P*Math.PI/2),N=h*Math.sin(P*Math.PI/2)+d,F=0,V=L.length;F<V;F++)Z((R=D(L[F],U[F],N)).x,R.y,-k);for(x=0,M=C.length;x<M;x++)for(w=C[x],W=Y[x],F=0,V=w.length;F<V;F++)Z((R=D(w[F],W[F],N)).x,R.y,-k)}for(N=h+d,F=0;F<_;F++)R=c?D(T[F],q[F],N):T[F],E?(y.copy(g.normals[0]).multiplyScalar(R.x),v.copy(g.binormals[0]).multiplyScalar(R.y),b.copy(m[0]).add(y).add(v),Z(b.x,b.y,b.z)):Z(R.x,R.y,0);for(G=1;G<=s;G++)for(F=0;F<_;F++)R=c?D(T[F],q[F],N):T[F],E?(y.copy(g.normals[G]).multiplyScalar(R.x),v.copy(g.binormals[G]).multiplyScalar(R.y),b.copy(m[G]).add(y).add(v),Z(b.x,b.y,b.z)):Z(R.x,R.y,l/s*G);for(O=p-1;O>=0;O--){for(P=O/p,k=u*Math.cos(P*Math.PI/2),N=h*Math.sin(P*Math.PI/2)+d,F=0,V=L.length;F<V;F++)Z((R=D(L[F],U[F],N)).x,R.y,l+k);for(x=0,M=C.length;x<M;x++)for(w=C[x],W=Y[x],F=0,V=w.length;F<V;F++)R=D(w[F],W[F],N),E?Z(R.x,R.y+m[s-1].y,m[s-1].x+k):Z(R.x,R.y,l+k)}function X(e,t){var n,i;for(F=e.length;--F>=0;){n=F,(i=F-1)<0&&(i=e.length-1);var r=0,o=s+2*p;for(r=0;r<o;r++){var a=_*r,l=_*(r+1);K(t+n+a,t+i+a,t+i+l,t+n+l)}}}function Z(e,t,n){o.push(e),o.push(t),o.push(n)}function J(e,t,r){$(e),$(t),$(r);var o=i.length/3,a=A.generateTopUV(n,i,o-3,o-2,o-1);ee(a[0]),ee(a[1]),ee(a[2])}function K(e,t,r,o){$(e),$(t),$(o),$(t),$(r),$(o);var a=i.length/3,s=A.generateSideWallUV(n,i,a-6,a-3,a-2,a-1);ee(s[0]),ee(s[1]),ee(s[3]),ee(s[1]),ee(s[2]),ee(s[3])}function $(e){i.push(o[3*e+0]),i.push(o[3*e+1]),i.push(o[3*e+2])}function ee(e){r.push(e.x),r.push(e.y)}!function(){var e=i.length/3;if(c){var t=0,r=_*t;for(F=0;F<B;F++)J((z=I[F])[2]+r,z[1]+r,z[0]+r);for(r=_*(t=s+2*p),F=0;F<B;F++)J((z=I[F])[0]+r,z[1]+r,z[2]+r)}else{for(F=0;F<B;F++)J((z=I[F])[2],z[1],z[0]);for(F=0;F<B;F++)J((z=I[F])[0]+_*s,z[1]+_*s,z[2]+_*s)}n.addGroup(e,i.length/3-e,0)}(),function(){var e=i.length/3,t=0;for(X(L,t),t+=L.length,x=0,M=C.length;x<M;x++)X(w=C[x],t),t+=w.length;n.addGroup(e,i.length/3-e,1)}()}this.addAttribute("position",new Ac(i,3)),this.addAttribute("uv",new Ac(r,2)),this.computeVertexNormals()}tp.prototype=Object.create(ac.prototype),tp.prototype.constructor=tp,tp.prototype.toJSON=function(){var e=ac.prototype.toJSON.call(this);return rp(this.parameters.shapes,this.parameters.options,e)},np.prototype=Object.create(bc.prototype),np.prototype.constructor=np,np.prototype.toJSON=function(){var e=bc.prototype.toJSON.call(this);return rp(this.parameters.shapes,this.parameters.options,e)};var ip={generateTopUV:function(e,t,n,i,r){var o=t[3*n],a=t[3*n+1],s=t[3*i],l=t[3*i+1],c=t[3*r],u=t[3*r+1];return[new sl(o,a),new sl(s,l),new sl(c,u)]},generateSideWallUV:function(e,t,n,i,r,o){var a=t[3*n],s=t[3*n+1],l=t[3*n+2],c=t[3*i],u=t[3*i+1],h=t[3*i+2],d=t[3*r],p=t[3*r+1],f=t[3*r+2],A=t[3*o],m=t[3*o+1],g=t[3*o+2];return Math.abs(s-u)<.01?[new sl(a,1-l),new sl(c,1-h),new sl(d,1-f),new sl(A,1-g)]:[new sl(s,1-l),new sl(u,1-h),new sl(p,1-f),new sl(m,1-g)]}};function rp(e,t,n){if(n.shapes=[],Array.isArray(e))for(var i=0,r=e.length;i<r;i++){var o=e[i];n.shapes.push(o.uuid)}else n.shapes.push(e.uuid);return void 0!==t.extrudePath&&(n.options.extrudePath=t.extrudePath.toJSON()),n}function op(e,t){ac.call(this),this.type="TextGeometry",this.parameters={text:e,parameters:t},this.fromBufferGeometry(new ap(e,t)),this.mergeVertices()}function ap(e,t){var n=(t=t||{}).font;if(!n||!n.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new ac;var i=n.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),np.call(this,i,t),this.type="TextBufferGeometry"}function sp(e,t,n,i,r,o,a){ac.call(this),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:i,phiLength:r,thetaStart:o,thetaLength:a},this.fromBufferGeometry(new lp(e,t,n,i,r,o,a)),this.mergeVertices()}function lp(e,t,n,i,r,o,a){bc.call(this),this.type="SphereBufferGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:i,phiLength:r,thetaStart:o,thetaLength:a},e=e||1,t=Math.max(3,Math.floor(t)||8),n=Math.max(2,Math.floor(n)||6),i=void 0!==i?i:0,r=void 0!==r?r:2*Math.PI,o=void 0!==o?o:0,a=void 0!==a?a:Math.PI;var s,l,c=Math.min(o+a,Math.PI),u=0,h=[],d=new cl,p=new cl,f=[],A=[],m=[],g=[];for(l=0;l<=n;l++){var v=[],y=l/n,b=0;for(0==l&&0==o?b=.5/t:l==n&&c==Math.PI&&(b=-.5/t),s=0;s<=t;s++){var w=s/t;d.x=-e*Math.cos(i+w*r)*Math.sin(o+y*a),d.y=e*Math.cos(o+y*a),d.z=e*Math.sin(i+w*r)*Math.sin(o+y*a),A.push(d.x,d.y,d.z),p.copy(d).normalize(),m.push(p.x,p.y,p.z),g.push(w+b,1-y),v.push(u++)}h.push(v)}for(l=0;l<n;l++)for(s=0;s<t;s++){var x=h[l][s+1],M=h[l][s],E=h[l+1][s],S=h[l+1][s+1];(0!==l||o>0)&&f.push(x,M,S),(l!==n-1||c<Math.PI)&&f.push(M,E,S)}this.setIndex(f),this.addAttribute("position",new Ac(A,3)),this.addAttribute("normal",new Ac(m,3)),this.addAttribute("uv",new Ac(g,2))}function cp(e,t,n,i,r,o){ac.call(this),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:o},this.fromBufferGeometry(new up(e,t,n,i,r,o)),this.mergeVertices()}function up(e,t,n,i,r,o){bc.call(this),this.type="RingBufferGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:o},e=e||.5,t=t||1,r=void 0!==r?r:0,o=void 0!==o?o:2*Math.PI,n=void 0!==n?Math.max(3,n):8;var a,s,l,c=[],u=[],h=[],d=[],p=e,f=(t-e)/(i=void 0!==i?Math.max(1,i):1),A=new cl,m=new sl;for(s=0;s<=i;s++){for(l=0;l<=n;l++)a=r+l/n*o,A.x=p*Math.cos(a),A.y=p*Math.sin(a),u.push(A.x,A.y,A.z),h.push(0,0,1),m.x=(A.x/t+1)/2,m.y=(A.y/t+1)/2,d.push(m.x,m.y);p+=f}for(s=0;s<i;s++){var g=s*(n+1);for(l=0;l<n;l++){var v=a=l+g,y=a+n+1,b=a+n+2,w=a+1;c.push(v,y,w),c.push(y,b,w)}}this.setIndex(c),this.addAttribute("position",new Ac(u,3)),this.addAttribute("normal",new Ac(h,3)),this.addAttribute("uv",new Ac(d,2))}function hp(e,t,n,i){ac.call(this),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:i},this.fromBufferGeometry(new dp(e,t,n,i)),this.mergeVertices()}function dp(e,t,n,i){bc.call(this),this.type="LatheBufferGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:i},t=Math.floor(t)||12,n=n||0,i=i||2*Math.PI,i=al.clamp(i,0,2*Math.PI);var r,o,a,s=[],l=[],c=[],u=1/t,h=new cl,d=new sl;for(o=0;o<=t;o++){var p=n+o*u*i,f=Math.sin(p),A=Math.cos(p);for(a=0;a<=e.length-1;a++)h.x=e[a].x*f,h.y=e[a].y,h.z=e[a].x*A,l.push(h.x,h.y,h.z),d.x=o/t,d.y=a/(e.length-1),c.push(d.x,d.y)}for(o=0;o<t;o++)for(a=0;a<e.length-1;a++){var m=r=a+o*e.length,g=r+e.length,v=r+e.length+1,y=r+1;s.push(m,g,y),s.push(g,v,y)}if(this.setIndex(s),this.addAttribute("position",new Ac(l,3)),this.addAttribute("uv",new Ac(c,2)),this.computeVertexNormals(),i===2*Math.PI){var b=this.attributes.normal.array,w=new cl,x=new cl,M=new cl;for(r=t*e.length*3,o=0,a=0;o<e.length;o++,a+=3)w.x=b[a+0],w.y=b[a+1],w.z=b[a+2],x.x=b[r+a+0],x.y=b[r+a+1],x.z=b[r+a+2],M.addVectors(w,x).normalize(),b[a+0]=b[r+a+0]=M.x,b[a+1]=b[r+a+1]=M.y,b[a+2]=b[r+a+2]=M.z}}function pp(e,t){ac.call(this),this.type="ShapeGeometry","object"==typeof t&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),t=t.curveSegments),this.parameters={shapes:e,curveSegments:t},this.fromBufferGeometry(new fp(e,t)),this.mergeVertices()}function fp(e,t){bc.call(this),this.type="ShapeBufferGeometry",this.parameters={shapes:e,curveSegments:t},t=t||12;var n=[],i=[],r=[],o=[],a=0,s=0;if(!1===Array.isArray(e))c(e);else for(var l=0;l<e.length;l++)c(e[l]),this.addGroup(a,s,l),a+=s,s=0;function c(e){var a,l,c,u=i.length/3,h=e.extractPoints(t),d=h.shape,p=h.holes;for(!1===Kd.isClockWise(d)&&(d=d.reverse()),a=0,l=p.length;a<l;a++)c=p[a],!0===Kd.isClockWise(c)&&(p[a]=c.reverse());var f=Kd.triangulateShape(d,p);for(a=0,l=p.length;a<l;a++)c=p[a],d=d.concat(c);for(a=0,l=d.length;a<l;a++){var A=d[a];i.push(A.x,A.y,0),r.push(0,0,1),o.push(A.x,A.y)}for(a=0,l=f.length;a<l;a++){var m=f[a],g=m[0]+u,v=m[1]+u,y=m[2]+u;n.push(g,v,y),s+=3}}this.setIndex(n),this.addAttribute("position",new Ac(i,3)),this.addAttribute("normal",new Ac(r,3)),this.addAttribute("uv",new Ac(o,2))}function Ap(e,t){if(t.shapes=[],Array.isArray(e))for(var n=0,i=e.length;n<i;n++){var r=e[n];t.shapes.push(r.uuid)}else t.shapes.push(e.uuid);return t}function mp(e,t){bc.call(this),this.type="EdgesGeometry",this.parameters={thresholdAngle:t},t=void 0!==t?t:1;var n,i,r,o,a=[],s=Math.cos(al.DEG2RAD*t),l=[0,0],c={},u=["a","b","c"];e.isBufferGeometry?(o=new ac).fromBufferGeometry(e):o=e.clone(),o.mergeVertices(),o.computeFaceNormals();for(var h=o.vertices,d=o.faces,p=0,f=d.length;p<f;p++)for(var A=d[p],m=0;m<3;m++)n=A[u[m]],i=A[u[(m+1)%3]],l[0]=Math.min(n,i),l[1]=Math.max(n,i),void 0===c[r=l[0]+","+l[1]]?c[r]={index1:l[0],index2:l[1],face1:p,face2:void 0}:c[r].face2=p;for(r in c){var g=c[r];if(void 0===g.face2||d[g.face1].normal.dot(d[g.face2].normal)<=s){var v=h[g.index1];a.push(v.x,v.y,v.z),v=h[g.index2],a.push(v.x,v.y,v.z)}}this.addAttribute("position",new Ac(a,3))}function gp(e,t,n,i,r,o,a,s){ac.call(this),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:a,thetaLength:s},this.fromBufferGeometry(new vp(e,t,n,i,r,o,a,s)),this.mergeVertices()}function vp(e,t,n,i,r,o,a,s){bc.call(this),this.type="CylinderBufferGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:a,thetaLength:s};var l=this;e=void 0!==e?e:1,t=void 0!==t?t:1,n=n||1,i=Math.floor(i)||8,r=Math.floor(r)||1,o=void 0!==o&&o,a=void 0!==a?a:0,s=void 0!==s?s:2*Math.PI;var c=[],u=[],h=[],d=[],p=0,f=[],A=n/2,m=0;function g(n){var r,o,f,g=new sl,v=new cl,y=0,b=!0===n?e:t,w=!0===n?1:-1;for(o=p,r=1;r<=i;r++)u.push(0,A*w,0),h.push(0,w,0),d.push(.5,.5),p++;for(f=p,r=0;r<=i;r++){var x=r/i*s+a,M=Math.cos(x),E=Math.sin(x);v.x=b*E,v.y=A*w,v.z=b*M,u.push(v.x,v.y,v.z),h.push(0,w,0),g.x=.5*M+.5,g.y=.5*E*w+.5,d.push(g.x,g.y),p++}for(r=0;r<i;r++){var S=o+r,T=f+r;!0===n?c.push(T,T+1,S):c.push(T+1,T,S),y+=3}l.addGroup(m,y,!0===n?1:2),m+=y}!function(){var o,g,v=new cl,y=new cl,b=0,w=(t-e)/n;for(g=0;g<=r;g++){var x=[],M=g/r,E=M*(t-e)+e;for(o=0;o<=i;o++){var S=o/i,T=S*s+a,C=Math.sin(T),I=Math.cos(T);y.x=E*C,y.y=-M*n+A,y.z=E*I,u.push(y.x,y.y,y.z),v.set(C,w,I).normalize(),h.push(v.x,v.y,v.z),d.push(S,1-M),x.push(p++)}f.push(x)}for(o=0;o<i;o++)for(g=0;g<r;g++){var L=f[g][o],D=f[g+1][o],O=f[g+1][o+1],N=f[g][o+1];c.push(L,D,N),c.push(D,O,N),b+=6}l.addGroup(m,b,0),m+=b}(),!1===o&&(e>0&&g(!0),t>0&&g(!1)),this.setIndex(c),this.addAttribute("position",new Ac(u,3)),this.addAttribute("normal",new Ac(h,3)),this.addAttribute("uv",new Ac(d,2))}function yp(e,t,n,i,r,o,a){gp.call(this,0,e,t,n,i,r,o,a),this.type="ConeGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:a}}function bp(e,t,n,i,r,o,a){vp.call(this,0,e,t,n,i,r,o,a),this.type="ConeBufferGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:a}}function wp(e,t,n,i){ac.call(this),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:i},this.fromBufferGeometry(new xp(e,t,n,i)),this.mergeVertices()}function xp(e,t,n,i){bc.call(this),this.type="CircleBufferGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:i},e=e||1,t=void 0!==t?Math.max(3,t):8,n=void 0!==n?n:0,i=void 0!==i?i:2*Math.PI;var r,o,a=[],s=[],l=[],c=[],u=new cl,h=new sl;for(s.push(0,0,0),l.push(0,0,1),c.push(.5,.5),o=0,r=3;o<=t;o++,r+=3){var d=n+o/t*i;u.x=e*Math.cos(d),u.y=e*Math.sin(d),s.push(u.x,u.y,u.z),l.push(0,0,1),h.x=(s[r]/e+1)/2,h.y=(s[r+1]/e+1)/2,c.push(h.x,h.y)}for(r=1;r<=t;r++)a.push(r,r+1,0);this.setIndex(a),this.addAttribute("position",new Ac(s,3)),this.addAttribute("normal",new Ac(l,3)),this.addAttribute("uv",new Ac(c,2))}op.prototype=Object.create(ac.prototype),op.prototype.constructor=op,ap.prototype=Object.create(np.prototype),ap.prototype.constructor=ap,sp.prototype=Object.create(ac.prototype),sp.prototype.constructor=sp,lp.prototype=Object.create(bc.prototype),lp.prototype.constructor=lp,cp.prototype=Object.create(ac.prototype),cp.prototype.constructor=cp,up.prototype=Object.create(bc.prototype),up.prototype.constructor=up,hp.prototype=Object.create(ac.prototype),hp.prototype.constructor=hp,dp.prototype=Object.create(bc.prototype),dp.prototype.constructor=dp,pp.prototype=Object.create(ac.prototype),pp.prototype.constructor=pp,pp.prototype.toJSON=function(){var e=ac.prototype.toJSON.call(this);return Ap(this.parameters.shapes,e)},fp.prototype=Object.create(bc.prototype),fp.prototype.constructor=fp,fp.prototype.toJSON=function(){var e=bc.prototype.toJSON.call(this);return Ap(this.parameters.shapes,e)},mp.prototype=Object.create(bc.prototype),mp.prototype.constructor=mp,gp.prototype=Object.create(ac.prototype),gp.prototype.constructor=gp,vp.prototype=Object.create(bc.prototype),vp.prototype.constructor=vp,yp.prototype=Object.create(gp.prototype),yp.prototype.constructor=yp,bp.prototype=Object.create(vp.prototype),bp.prototype.constructor=bp,wp.prototype=Object.create(ac.prototype),wp.prototype.constructor=wp,xp.prototype=Object.create(bc.prototype),xp.prototype.constructor=xp;var Mp=Object.freeze({WireframeGeometry:dd,ParametricGeometry:pd,ParametricBufferGeometry:fd,TetrahedronGeometry:gd,TetrahedronBufferGeometry:vd,OctahedronGeometry:yd,OctahedronBufferGeometry:bd,IcosahedronGeometry:wd,IcosahedronBufferGeometry:xd,DodecahedronGeometry:Md,DodecahedronBufferGeometry:Ed,PolyhedronGeometry:Ad,PolyhedronBufferGeometry:md,TubeGeometry:Sd,TubeBufferGeometry:Td,TorusKnotGeometry:Cd,TorusKnotBufferGeometry:Id,TorusGeometry:Ld,TorusBufferGeometry:Dd,TextGeometry:op,TextBufferGeometry:ap,SphereGeometry:sp,SphereBufferGeometry:lp,RingGeometry:cp,RingBufferGeometry:up,PlaneGeometry:Mc,PlaneBufferGeometry:Ec,LatheGeometry:hp,LatheBufferGeometry:dp,ShapeGeometry:pp,ShapeBufferGeometry:fp,ExtrudeGeometry:tp,ExtrudeBufferGeometry:np,EdgesGeometry:mp,ConeGeometry:yp,ConeBufferGeometry:bp,CylinderGeometry:gp,CylinderBufferGeometry:vp,CircleGeometry:wp,CircleBufferGeometry:xp,BoxGeometry:wc,BoxBufferGeometry:xc});function Ep(e){Tc.call(this),this.type="ShadowMaterial",this.color=new Hl(0),this.transparent=!0,this.setValues(e)}function Sp(e){Fc.call(this,e),this.type="RawShaderMaterial"}function Tp(e){Tc.call(this),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Hl(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Hl(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rl,this.normalScale=new sl(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.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Cp(e){Tp.call(this),this.defines={PHYSICAL:""},this.type="MeshPhysicalMaterial",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(e)}function Ip(e){Tc.call(this),this.type="MeshPhongMaterial",this.color=new Hl(16777215),this.specular=new Hl(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Hl(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rl,this.normalScale=new sl(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ta,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Lp(e){Ip.call(this),this.defines={TOON:""},this.type="MeshToonMaterial",this.gradientMap=null,this.setValues(e)}function Dp(e){Tc.call(this),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rl,this.normalScale=new sl(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Op(e){Tc.call(this),this.type="MeshLambertMaterial",this.color=new Hl(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Hl(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ta,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Np(e){Tc.call(this),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Hl(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rl,this.normalScale=new sl(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.lights=!1,this.setValues(e)}function Pp(e){nd.call(this),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}Ep.prototype=Object.create(Tc.prototype),Ep.prototype.constructor=Ep,Ep.prototype.isShadowMaterial=!0,Ep.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.color.copy(e.color),this},Sp.prototype=Object.create(Fc.prototype),Sp.prototype.constructor=Sp,Sp.prototype.isRawShaderMaterial=!0,Tp.prototype=Object.create(Tc.prototype),Tp.prototype.constructor=Tp,Tp.prototype.isMeshStandardMaterial=!0,Tp.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Cp.prototype=Object.create(Tp.prototype),Cp.prototype.constructor=Cp,Cp.prototype.isMeshPhysicalMaterial=!0,Cp.prototype.copy=function(e){return Tp.prototype.copy.call(this,e),this.defines={PHYSICAL:""},this.reflectivity=e.reflectivity,this.clearCoat=e.clearCoat,this.clearCoatRoughness=e.clearCoatRoughness,this},Ip.prototype=Object.create(Tc.prototype),Ip.prototype.constructor=Ip,Ip.prototype.isMeshPhongMaterial=!0,Ip.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Lp.prototype=Object.create(Ip.prototype),Lp.prototype.constructor=Lp,Lp.prototype.isMeshToonMaterial=!0,Lp.prototype.copy=function(e){return Ip.prototype.copy.call(this,e),this.gradientMap=e.gradientMap,this},Dp.prototype=Object.create(Tc.prototype),Dp.prototype.constructor=Dp,Dp.prototype.isMeshNormalMaterial=!0,Dp.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Op.prototype=Object.create(Tc.prototype),Op.prototype.constructor=Op,Op.prototype.isMeshLambertMaterial=!0,Op.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Np.prototype=Object.create(Tc.prototype),Np.prototype.constructor=Np,Np.prototype.isMeshMatcapMaterial=!0,Np.prototype.copy=function(e){return Tc.prototype.copy.call(this,e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Pp.prototype=Object.create(nd.prototype),Pp.prototype.constructor=Pp,Pp.prototype.isLineDashedMaterial=!0,Pp.prototype.copy=function(e){return nd.prototype.copy.call(this,e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this};var kp=Object.freeze({ShadowMaterial:Ep,SpriteMaterial:Zh,RawShaderMaterial:Sp,ShaderMaterial:Fc,PointsMaterial:ad,MeshPhysicalMaterial:Cp,MeshStandardMaterial:Tp,MeshPhongMaterial:Ip,MeshToonMaterial:Lp,MeshNormalMaterial:Dp,MeshLambertMaterial:Op,MeshDepthMaterial:Mh,MeshDistanceMaterial:Eh,MeshBasicMaterial:Qc,MeshMatcapMaterial:Np,LineDashedMaterial:Pp,LineBasicMaterial:nd,Material:Tc}),Rp={arraySlice:function(e,t,n){return Rp.isTypedArray(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:"number"==typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){for(var t=e.length,n=new Array(t),i=0;i!==t;++i)n[i]=i;return n.sort((function(t,n){return e[t]-e[n]})),n},sortedArray:function(e,t,n){for(var i=e.length,r=new e.constructor(i),o=0,a=0;a!==i;++o)for(var s=n[o]*t,l=0;l!==t;++l)r[a++]=e[s+l];return r},flattenJSON:function(e,t,n,i){for(var r=1,o=e[0];void 0!==o&&void 0===o[i];)o=e[r++];if(void 0!==o){var a=o[i];if(void 0!==a)if(Array.isArray(a))do{void 0!==(a=o[i])&&(t.push(o.time),n.push.apply(n,a)),o=e[r++]}while(void 0!==o);else if(void 0!==a.toArray)do{void 0!==(a=o[i])&&(t.push(o.time),a.toArray(n,n.length)),o=e[r++]}while(void 0!==o);else do{void 0!==(a=o[i])&&(t.push(o.time),n.push(a)),o=e[r++]}while(void 0!==o)}}};function zp(e,t,n,i){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new t.constructor(n),this.sampleValues=t,this.valueSize=n}function _p(e,t,n,i){zp.call(this,e,t,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function Bp(e,t,n,i){zp.call(this,e,t,n,i)}function jp(e,t,n,i){zp.call(this,e,t,n,i)}function Up(e,t,n,i){if(void 0===e)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===t||0===t.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=Rp.convertArray(t,this.TimeBufferType),this.values=Rp.convertArray(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation)}function Fp(e,t,n){Up.call(this,e,t,n)}function Vp(e,t,n,i){Up.call(this,e,t,n,i)}function Hp(e,t,n,i){Up.call(this,e,t,n,i)}function Qp(e,t,n,i){zp.call(this,e,t,n,i)}function Wp(e,t,n,i){Up.call(this,e,t,n,i)}function Gp(e,t,n,i){Up.call(this,e,t,n,i)}function Yp(e,t,n,i){Up.call(this,e,t,n,i)}function qp(e,t,n){this.name=e,this.tracks=n,this.duration=void 0!==t?t:-1,this.uuid=al.generateUUID(),this.duration<0&&this.resetDuration()}function Xp(e){if(void 0===e.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");var t=function(e){switch(e.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Hp;case"vector":case"vector2":case"vector3":case"vector4":return Yp;case"color":return Vp;case"quaternion":return Wp;case"bool":case"boolean":return Fp;case"string":return Gp}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+e)}(e.type);if(void 0===e.times){var n=[],i=[];Rp.flattenJSON(e.keys,n,i,"value"),e.times=n,e.values=i}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}Object.assign(zp.prototype,{evaluate:function(e){var t=this.parameterPositions,n=this._cachedIndex,i=t[n],r=t[n-1];e:{t:{var o;n:{i:if(!(e<i)){for(var a=n+2;;){if(void 0===i){if(e<r)break i;return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,e,r)}if(n===a)break;if(r=i,e<(i=t[++n]))break t}o=t.length;break n}if(e>=r)break e;var s=t[1];for(e<s&&(n=2,r=s),a=n-2;;){if(void 0===r)return this._cachedIndex=0,this.beforeStart_(0,e,i);if(n===a)break;if(i=r,e>=(r=t[--n-1]))break t}o=n,n=0}for(;n<o;){var l=n+o>>>1;e<t[l]?o=l:n=l+1}if(i=t[n],void 0===(r=t[n-1]))return this._cachedIndex=0,this.beforeStart_(0,e,i);if(void 0===i)return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,r,e)}this._cachedIndex=n,this.intervalChanged_(n,r,i)}return this.interpolate_(n,r,e,i)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(e){for(var t=this.resultBuffer,n=this.sampleValues,i=this.valueSize,r=e*i,o=0;o!==i;++o)t[o]=n[r+o];return t},interpolate_:function(){throw new Error("call to abstract method")},intervalChanged_:function(){}}),Object.assign(zp.prototype,{beforeStart_:zp.prototype.copySampleValue_,afterEnd_:zp.prototype.copySampleValue_}),_p.prototype=Object.assign(Object.create(zp.prototype),{constructor:_p,DefaultSettings_:{endingStart:Hs,endingEnd:Hs},intervalChanged_:function(e,t,n){var i=this.parameterPositions,r=e-2,o=e+1,a=i[r],s=i[o];if(void 0===a)switch(this.getSettings_().endingStart){case Qs:r=e,a=2*t-n;break;case Ws:a=t+i[r=i.length-2]-i[r+1];break;default:r=e,a=n}if(void 0===s)switch(this.getSettings_().endingEnd){case Qs:o=e,s=2*n-t;break;case Ws:o=1,s=n+i[1]-i[0];break;default:o=e-1,s=t}var l=.5*(n-t),c=this.valueSize;this._weightPrev=l/(t-a),this._weightNext=l/(s-n),this._offsetPrev=r*c,this._offsetNext=o*c},interpolate_:function(e,t,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=s-a,c=this._offsetPrev,u=this._offsetNext,h=this._weightPrev,d=this._weightNext,p=(n-t)/(i-t),f=p*p,A=f*p,m=-h*A+2*h*f-h*p,g=(1+h)*A+(-1.5-2*h)*f+(-.5+h)*p+1,v=(-1-d)*A+(1.5+d)*f+.5*p,y=d*A-d*f,b=0;b!==a;++b)r[b]=m*o[c+b]+g*o[l+b]+v*o[s+b]+y*o[u+b];return r}}),Bp.prototype=Object.assign(Object.create(zp.prototype),{constructor:Bp,interpolate_:function(e,t,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=s-a,c=(n-t)/(i-t),u=1-c,h=0;h!==a;++h)r[h]=o[l+h]*u+o[s+h]*c;return r}}),jp.prototype=Object.assign(Object.create(zp.prototype),{constructor:jp,interpolate_:function(e){return this.copySampleValue_(e-1)}}),Object.assign(Up,{toJSON:function(e){var t,n=e.constructor;if(void 0!==n.toJSON)t=n.toJSON(e);else{t={name:e.name,times:Rp.convertArray(e.times,Array),values:Rp.convertArray(e.values,Array)};var i=e.getInterpolation();i!==e.DefaultInterpolation&&(t.interpolation=i)}return t.type=e.ValueTypeName,t}}),Object.assign(Up.prototype,{constructor:Up,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:Fs,InterpolantFactoryMethodDiscrete:function(e){return new jp(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodLinear:function(e){return new Bp(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:function(e){return new _p(this.times,this.values,this.getValueSize(),e)},setInterpolation:function(e){var t;switch(e){case Us:t=this.InterpolantFactoryMethodDiscrete;break;case Fs:t=this.InterpolantFactoryMethodLinear;break;case Vs:t=this.InterpolantFactoryMethodSmooth}if(void 0===t){var n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(n);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",n),this}return this.createInterpolant=t,this},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Us;case this.InterpolantFactoryMethodLinear:return Fs;case this.InterpolantFactoryMethodSmooth:return Vs}},getValueSize:function(){return this.values.length/this.times.length},shift:function(e){if(0!==e)for(var t=this.times,n=0,i=t.length;n!==i;++n)t[n]+=e;return this},scale:function(e){if(1!==e)for(var t=this.times,n=0,i=t.length;n!==i;++n)t[n]*=e;return this},trim:function(e,t){for(var n=this.times,i=n.length,r=0,o=i-1;r!==i&&n[r]<e;)++r;for(;-1!==o&&n[o]>t;)--o;if(++o,0!==r||o!==i){r>=o&&(r=(o=Math.max(o,1))-1);var a=this.getValueSize();this.times=Rp.arraySlice(n,r,o),this.values=Rp.arraySlice(this.values,r*a,o*a)}return this},validate:function(){var e=!0,t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);var n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);for(var o=null,a=0;a!==r;a++){var s=n[a];if("number"==typeof s&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,s),e=!1;break}if(null!==o&&o>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,s,o),e=!1;break}o=s}if(void 0!==i&&Rp.isTypedArray(i)){a=0;for(var l=i.length;a!==l;++a){var c=i[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),e=!1;break}}}return e},optimize:function(){for(var e=this.times,t=this.values,n=this.getValueSize(),i=this.getInterpolation()===Vs,r=1,o=e.length-1,a=1;a<o;++a){var s=!1,l=e[a];if(l!==e[a+1]&&(1!==a||l!==l[0]))if(i)s=!0;else for(var c=a*n,u=c-n,h=c+n,d=0;d!==n;++d){var p=t[c+d];if(p!==t[u+d]||p!==t[h+d]){s=!0;break}}if(s){if(a!==r){e[r]=e[a];var f=a*n,A=r*n;for(d=0;d!==n;++d)t[A+d]=t[f+d]}++r}}if(o>0){for(e[r]=e[o],f=o*n,A=r*n,d=0;d!==n;++d)t[A+d]=t[f+d];++r}return r!==e.length&&(this.times=Rp.arraySlice(e,0,r),this.values=Rp.arraySlice(t,0,r*n)),this},clone:function(){var e=Rp.arraySlice(this.times,0),t=Rp.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}}),Fp.prototype=Object.assign(Object.create(Up.prototype),{constructor:Fp,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:Us,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Vp.prototype=Object.assign(Object.create(Up.prototype),{constructor:Vp,ValueTypeName:"color"}),Hp.prototype=Object.assign(Object.create(Up.prototype),{constructor:Hp,ValueTypeName:"number"}),Qp.prototype=Object.assign(Object.create(zp.prototype),{constructor:Qp,interpolate_:function(e,t,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=(n-t)/(i-t),c=s+a;s!==c;s+=4)ll.slerpFlat(r,0,o,s-a,o,s,l);return r}}),Wp.prototype=Object.assign(Object.create(Up.prototype),{constructor:Wp,ValueTypeName:"quaternion",DefaultInterpolation:Fs,InterpolantFactoryMethodLinear:function(e){return new Qp(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:void 0}),Gp.prototype=Object.assign(Object.create(Up.prototype),{constructor:Gp,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:Us,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Yp.prototype=Object.assign(Object.create(Up.prototype),{constructor:Yp,ValueTypeName:"vector"}),Object.assign(qp,{parse:function(e){for(var t=[],n=e.tracks,i=1/(e.fps||1),r=0,o=n.length;r!==o;++r)t.push(Xp(n[r]).scale(i));return new qp(e.name,e.duration,t)},toJSON:function(e){for(var t=[],n=e.tracks,i={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid},r=0,o=n.length;r!==o;++r)t.push(Up.toJSON(n[r]));return i},CreateFromMorphTargetSequence:function(e,t,n,i){for(var r=t.length,o=[],a=0;a<r;a++){var s=[],l=[];s.push((a+r-1)%r,a,(a+1)%r),l.push(0,1,0);var c=Rp.getKeyframeOrder(s);s=Rp.sortedArray(s,1,c),l=Rp.sortedArray(l,1,c),i||0!==s[0]||(s.push(r),l.push(l[0])),o.push(new Hp(".morphTargetInfluences["+t[a].name+"]",s,l).scale(1/n))}return new qp(e,-1,o)},findByName:function(e,t){var n=e;if(!Array.isArray(e)){var i=e;n=i.geometry&&i.geometry.animations||i.animations}for(var r=0;r<n.length;r++)if(n[r].name===t)return n[r];return null},CreateClipsFromMorphTargetSequences:function(e,t,n){for(var i={},r=/^([\w-]*?)([\d]+)$/,o=0,a=e.length;o<a;o++){var s=e[o],l=s.name.match(r);if(l&&l.length>1){var c=i[h=l[1]];c||(i[h]=c=[]),c.push(s)}}var u=[];for(var h in i)u.push(qp.CreateFromMorphTargetSequence(h,i[h],t,n));return u},parseAnimation:function(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;for(var n=function(e,t,n,i,r){if(0!==n.length){var o=[],a=[];Rp.flattenJSON(n,o,a,i),0!==o.length&&r.push(new e(t,o,a))}},i=[],r=e.name||"default",o=e.length||-1,a=e.fps||30,s=e.hierarchy||[],l=0;l<s.length;l++){var c=s[l].keys;if(c&&0!==c.length)if(c[0].morphTargets){for(var u={},h=0;h<c.length;h++)if(c[h].morphTargets)for(var d=0;d<c[h].morphTargets.length;d++)u[c[h].morphTargets[d]]=-1;for(var p in u){var f=[],A=[];for(d=0;d!==c[h].morphTargets.length;++d){var m=c[h];f.push(m.time),A.push(m.morphTarget===p?1:0)}i.push(new Hp(".morphTargetInfluence["+p+"]",f,A))}o=u.length*(a||1)}else{var g=".bones["+t[l].name+"]";n(Yp,g+".position",c,"pos",i),n(Wp,g+".quaternion",c,"rot",i),n(Yp,g+".scale",c,"scl",i)}}return 0===i.length?null:new qp(r,o,i)}}),Object.assign(qp.prototype,{resetDuration:function(){for(var e=0,t=0,n=this.tracks.length;t!==n;++t){var i=this.tracks[t];e=Math.max(e,i.times[i.times.length-1])}return this.duration=e,this},trim:function(){for(var e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this},validate:function(){for(var e=!0,t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e},optimize:function(){for(var e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this},clone:function(){for(var e=[],t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new qp(this.name,this.duration,e)}});var Zp={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};function Jp(e,t,n){var i=this,r=!1,o=0,a=0,s=void 0;this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){a++,!1===r&&void 0!==i.onStart&&i.onStart(e,o,a),r=!0},this.itemEnd=function(e){o++,void 0!==i.onProgress&&i.onProgress(e,o,a),o===a&&(r=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(e){void 0!==i.onError&&i.onError(e)},this.resolveURL=function(e){return s?s(e):e},this.setURLModifier=function(e){return s=e,this}}var Kp=new Jp,$p={};function ef(e){this.manager=void 0!==e?e:Kp}function tf(e){this.manager=void 0!==e?e:Kp}function nf(e){this.manager=void 0!==e?e:Kp}function rf(e){this.manager=void 0!==e?e:Kp}function of(){this.type="Curve",this.arcLengthDivisions=200}function af(e,t,n,i,r,o,a,s){of.call(this),this.type="EllipseCurve",this.aX=e||0,this.aY=t||0,this.xRadius=n||1,this.yRadius=i||1,this.aStartAngle=r||0,this.aEndAngle=o||2*Math.PI,this.aClockwise=a||!1,this.aRotation=s||0}function sf(e,t,n,i,r,o){af.call(this,e,t,n,n,i,r,o),this.type="ArcCurve"}function lf(){var e=0,t=0,n=0,i=0;function r(r,o,a,s){e=r,t=a,n=-3*r+3*o-2*a-s,i=2*r-2*o+a+s}return{initCatmullRom:function(e,t,n,i,o){r(t,n,o*(n-e),o*(i-t))},initNonuniformCatmullRom:function(e,t,n,i,o,a,s){var l=(t-e)/o-(n-e)/(o+a)+(n-t)/a,c=(n-t)/a-(i-t)/(a+s)+(i-n)/s;r(t,n,l*=a,c*=a)},calc:function(r){var o=r*r;return e+t*r+n*o+i*(o*r)}}}Object.assign(ef.prototype,{load:function(e,t,n,i){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);var r=this,o=Zp.get(e);if(void 0!==o)return r.manager.itemStart(e),setTimeout((function(){t&&t(o),r.manager.itemEnd(e)}),0),o;if(void 0===$p[e]){var a=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(a){var s=a[1],l=!!a[2],c=a[3];c=decodeURIComponent(c),l&&(c=atob(c));try{var u,h=(this.responseType||"").toLowerCase();switch(h){case"arraybuffer":case"blob":for(var d=new Uint8Array(c.length),p=0;p<c.length;p++)d[p]=c.charCodeAt(p);u="blob"===h?new Blob([d.buffer],{type:s}):d.buffer;break;case"document":var f=new DOMParser;u=f.parseFromString(c,s);break;case"json":u=JSON.parse(c);break;default:u=c}setTimeout((function(){t&&t(u),r.manager.itemEnd(e)}),0)}catch(t){setTimeout((function(){i&&i(t),r.manager.itemError(e),r.manager.itemEnd(e)}),0)}}else{$p[e]=[],$p[e].push({onLoad:t,onProgress:n,onError:i});var A=new XMLHttpRequest;for(var m in A.open("GET",e,!0),A.addEventListener("load",(function(t){var n=this.response;Zp.add(e,n);var i=$p[e];if(delete $p[e],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received.");for(var o=0,a=i.length;o<a;o++)(s=i[o]).onLoad&&s.onLoad(n);r.manager.itemEnd(e)}else{for(o=0,a=i.length;o<a;o++){var s;(s=i[o]).onError&&s.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}}),!1),A.addEventListener("progress",(function(t){for(var n=$p[e],i=0,r=n.length;i<r;i++){var o=n[i];o.onProgress&&o.onProgress(t)}}),!1),A.addEventListener("error",(function(t){var n=$p[e];delete $p[e];for(var i=0,o=n.length;i<o;i++){var a=n[i];a.onError&&a.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}),!1),A.addEventListener("abort",(function(t){var n=$p[e];delete $p[e];for(var i=0,o=n.length;i<o;i++){var a=n[i];a.onError&&a.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}),!1),void 0!==this.responseType&&(A.responseType=this.responseType),void 0!==this.withCredentials&&(A.withCredentials=this.withCredentials),A.overrideMimeType&&A.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain"),this.requestHeader)A.setRequestHeader(m,this.requestHeader[m]);A.send(null)}return r.manager.itemStart(e),A}$p[e].push({onLoad:t,onProgress:n,onError:i})},setPath:function(e){return this.path=e,this},setResponseType:function(e){return this.responseType=e,this},setWithCredentials:function(e){return this.withCredentials=e,this},setMimeType:function(e){return this.mimeType=e,this},setRequestHeader:function(e){return this.requestHeader=e,this}}),Object.assign(function(e){this.manager=void 0!==e?e:Kp}.prototype,{load:function(e,t,n,i){var r=this,o=new ef(r.manager);o.setPath(r.path),o.load(e,(function(e){t(r.parse(JSON.parse(e)))}),n,i)},parse:function(e){for(var t=[],n=0;n<e.length;n++){var i=qp.parse(e[n]);t.push(i)}return t},setPath:function(e){return this.path=e,this}}),Object.assign(function(e){this.manager=void 0!==e?e:Kp,this._parser=null}.prototype,{load:function(e,t,n,i){var r=this,o=[],a=new cd;a.image=o;var s=new ef(this.manager);function l(l){s.load(e[l],(function(e){var n=r._parser(e,!0);o[l]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},6===(c+=1)&&(1===n.mipmapCount&&(a.minFilter=qa),a.format=n.format,a.needsUpdate=!0,t&&t(a))}),n,i)}if(s.setPath(this.path),s.setResponseType("arraybuffer"),Array.isArray(e))for(var c=0,u=0,h=e.length;u<h;++u)l(u);else s.load(e,(function(e){var n=r._parser(e,!0);if(n.isCubemap)for(var i=n.mipmaps.length/n.mipmapCount,s=0;s<i;s++){o[s]={mipmaps:[]};for(var l=0;l<n.mipmapCount;l++)o[s].mipmaps.push(n.mipmaps[s*n.mipmapCount+l]),o[s].format=n.format,o[s].width=n.width,o[s].height=n.height}else a.image.width=n.width,a.image.height=n.height,a.mipmaps=n.mipmaps;1===n.mipmapCount&&(a.minFilter=qa),a.format=n.format,a.needsUpdate=!0,t&&t(a)}),n,i);return a},setPath:function(e){return this.path=e,this}}),Object.assign(function(e){this.manager=void 0!==e?e:Kp,this._parser=null}.prototype,{load:function(e,t,n,i){var r=this,o=new Dl,a=new ef(this.manager);return a.setResponseType("arraybuffer"),a.setPath(this.path),a.load(e,(function(e){var n=r._parser(e);n&&(void 0!==n.image?o.image=n.image:void 0!==n.data&&(o.image.width=n.width,o.image.height=n.height,o.image.data=n.data),o.wrapS=void 0!==n.wrapS?n.wrapS:Ha,o.wrapT=void 0!==n.wrapT?n.wrapT:Ha,o.magFilter=void 0!==n.magFilter?n.magFilter:qa,o.minFilter=void 0!==n.minFilter?n.minFilter:Za,o.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.format&&(o.format=n.format),void 0!==n.type&&(o.type=n.type),void 0!==n.mipmaps&&(o.mipmaps=n.mipmaps),1===n.mipmapCount&&(o.minFilter=qa),o.needsUpdate=!0,t&&t(o,n))}),n,i),o},setPath:function(e){return this.path=e,this}}),Object.assign(tf.prototype,{crossOrigin:"anonymous",load:function(e,t,n,i){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);var r=this,o=Zp.get(e);if(void 0!==o)return r.manager.itemStart(e),setTimeout((function(){t&&t(o),r.manager.itemEnd(e)}),0),o;var a=document.createElementNS("http://www.w3.org/1999/xhtml","img");function s(){a.removeEventListener("load",s,!1),a.removeEventListener("error",l,!1),Zp.add(e,this),t&&t(this),r.manager.itemEnd(e)}function l(t){a.removeEventListener("load",s,!1),a.removeEventListener("error",l,!1),i&&i(t),r.manager.itemError(e),r.manager.itemEnd(e)}return a.addEventListener("load",s,!1),a.addEventListener("error",l,!1),"data:"!==e.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(e),a.src=e,a},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),Object.assign(nf.prototype,{crossOrigin:"anonymous",load:function(e,t,n,i){var r=new iu,o=new tf(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);var a=0;function s(n){o.load(e[n],(function(e){r.images[n]=e,6==++a&&(r.needsUpdate=!0,t&&t(r))}),void 0,i)}for(var l=0;l<e.length;++l)s(l);return r},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),Object.assign(rf.prototype,{crossOrigin:"anonymous",load:function(e,t,n,i){var r=new Sl,o=new tf(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,(function(n){r.image=n;var i=e.search(/\.jpe?g($|\?)/i)>0||0===e.search(/^data\:image\/jpeg/);r.format=i?us:hs,r.needsUpdate=!0,void 0!==t&&t(r)}),n,i),r},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),Object.assign(of.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(e,t){var n=this.getUtoTmapping(e);return this.getPoint(n,t)},getPoints:function(e){void 0===e&&(e=5);for(var t=[],n=0;n<=e;n++)t.push(this.getPoint(n/e));return t},getSpacedPoints:function(e){void 0===e&&(e=5);for(var t=[],n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t},getLength:function(){var e=this.getLengths();return e[e.length-1]},getLengths:function(e){if(void 0===e&&(e=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,n,i=[],r=this.getPoint(0),o=0;for(i.push(0),n=1;n<=e;n++)o+=(t=this.getPoint(n/e)).distanceTo(r),i.push(o),r=t;return this.cacheArcLengths=i,i},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(e,t){var n,i=this.getLengths(),r=0,o=i.length;n=t||e*i[o-1];for(var a,s=0,l=o-1;s<=l;)if((a=i[r=Math.floor(s+(l-s)/2)]-n)<0)s=r+1;else{if(!(a>0)){l=r;break}l=r-1}if(i[r=l]===n)return r/(o-1);var c=i[r];return(r+(n-c)/(i[r+1]-c))/(o-1)},getTangent:function(e){var t=1e-4,n=e-t,i=e+t;n<0&&(n=0),i>1&&(i=1);var r=this.getPoint(n);return this.getPoint(i).clone().sub(r).normalize()},getTangentAt:function(e){var t=this.getUtoTmapping(e);return this.getTangent(t)},computeFrenetFrames:function(e,t){var n,i,r,o=new cl,a=[],s=[],l=[],c=new cl,u=new Rl;for(n=0;n<=e;n++)i=n/e,a[n]=this.getTangentAt(i),a[n].normalize();s[0]=new cl,l[0]=new cl;var h=Number.MAX_VALUE,d=Math.abs(a[0].x),p=Math.abs(a[0].y),f=Math.abs(a[0].z);for(d<=h&&(h=d,o.set(1,0,0)),p<=h&&(h=p,o.set(0,1,0)),f<=h&&o.set(0,0,1),c.crossVectors(a[0],o).normalize(),s[0].crossVectors(a[0],c),l[0].crossVectors(a[0],s[0]),n=1;n<=e;n++)s[n]=s[n-1].clone(),l[n]=l[n-1].clone(),c.crossVectors(a[n-1],a[n]),c.length()>Number.EPSILON&&(c.normalize(),r=Math.acos(al.clamp(a[n-1].dot(a[n]),-1,1)),s[n].applyMatrix4(u.makeRotationAxis(c,r))),l[n].crossVectors(a[n],s[n]);if(!0===t)for(r=Math.acos(al.clamp(s[0].dot(s[e]),-1,1)),r/=e,a[0].dot(c.crossVectors(s[0],s[e]))>0&&(r=-r),n=1;n<=e;n++)s[n].applyMatrix4(u.makeRotationAxis(a[n],r*n)),l[n].crossVectors(a[n],s[n]);return{tangents:a,normals:s,binormals:l}},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.arcLengthDivisions=e.arcLengthDivisions,this},toJSON:function(){var e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e},fromJSON:function(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}),af.prototype=Object.create(of.prototype),af.prototype.constructor=af,af.prototype.isEllipseCurve=!0,af.prototype.getPoint=function(e,t){for(var n=t||new sl,i=2*Math.PI,r=this.aEndAngle-this.aStartAngle,o=Math.abs(r)<Number.EPSILON;r<0;)r+=i;for(;r>i;)r-=i;r<Number.EPSILON&&(r=o?0:i),!0!==this.aClockwise||o||(r===i?r=-i:r-=i);var a=this.aStartAngle+e*r,s=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){var c=Math.cos(this.aRotation),u=Math.sin(this.aRotation),h=s-this.aX,d=l-this.aY;s=h*c-d*u+this.aX,l=h*u+d*c+this.aY}return n.set(s,l)},af.prototype.copy=function(e){return of.prototype.copy.call(this,e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this},af.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e},af.prototype.fromJSON=function(e){return of.prototype.fromJSON.call(this,e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this},sf.prototype=Object.create(af.prototype),sf.prototype.constructor=sf,sf.prototype.isArcCurve=!0;var cf=new cl,uf=new lf,hf=new lf,df=new lf;function pf(e,t,n,i){of.call(this),this.type="CatmullRomCurve3",this.points=e||[],this.closed=t||!1,this.curveType=n||"centripetal",this.tension=i||.5}function ff(e,t,n,i,r){var o=.5*(i-t),a=.5*(r-n),s=e*e;return(2*n-2*i+o+a)*(e*s)+(-3*n+3*i-2*o-a)*s+o*e+n}function Af(e,t,n,i){return function(e,t){var n=1-e;return n*n*t}(e,t)+function(e,t){return 2*(1-e)*e*t}(e,n)+function(e,t){return e*e*t}(e,i)}function mf(e,t,n,i,r){return function(e,t){var n=1-e;return n*n*n*t}(e,t)+function(e,t){var n=1-e;return 3*n*n*e*t}(e,n)+function(e,t){return 3*(1-e)*e*e*t}(e,i)+function(e,t){return e*e*e*t}(e,r)}function gf(e,t,n,i){of.call(this),this.type="CubicBezierCurve",this.v0=e||new sl,this.v1=t||new sl,this.v2=n||new sl,this.v3=i||new sl}function vf(e,t,n,i){of.call(this),this.type="CubicBezierCurve3",this.v0=e||new cl,this.v1=t||new cl,this.v2=n||new cl,this.v3=i||new cl}function yf(e,t){of.call(this),this.type="LineCurve",this.v1=e||new sl,this.v2=t||new sl}function bf(e,t){of.call(this),this.type="LineCurve3",this.v1=e||new cl,this.v2=t||new cl}function wf(e,t,n){of.call(this),this.type="QuadraticBezierCurve",this.v0=e||new sl,this.v1=t||new sl,this.v2=n||new sl}function xf(e,t,n){of.call(this),this.type="QuadraticBezierCurve3",this.v0=e||new cl,this.v1=t||new cl,this.v2=n||new cl}function Mf(e){of.call(this),this.type="SplineCurve",this.points=e||[]}pf.prototype=Object.create(of.prototype),pf.prototype.constructor=pf,pf.prototype.isCatmullRomCurve3=!0,pf.prototype.getPoint=function(e,t){var n,i,r,o,a=t||new cl,s=this.points,l=s.length,c=(l-(this.closed?0:1))*e,u=Math.floor(c),h=c-u;if(this.closed?u+=u>0?0:(Math.floor(Math.abs(u)/l)+1)*l:0===h&&u===l-1&&(u=l-2,h=1),this.closed||u>0?n=s[(u-1)%l]:(cf.subVectors(s[0],s[1]).add(s[0]),n=cf),i=s[u%l],r=s[(u+1)%l],this.closed||u+2<l?o=s[(u+2)%l]:(cf.subVectors(s[l-1],s[l-2]).add(s[l-1]),o=cf),"centripetal"===this.curveType||"chordal"===this.curveType){var d="chordal"===this.curveType?.5:.25,p=Math.pow(n.distanceToSquared(i),d),f=Math.pow(i.distanceToSquared(r),d),A=Math.pow(r.distanceToSquared(o),d);f<1e-4&&(f=1),p<1e-4&&(p=f),A<1e-4&&(A=f),uf.initNonuniformCatmullRom(n.x,i.x,r.x,o.x,p,f,A),hf.initNonuniformCatmullRom(n.y,i.y,r.y,o.y,p,f,A),df.initNonuniformCatmullRom(n.z,i.z,r.z,o.z,p,f,A)}else"catmullrom"===this.curveType&&(uf.initCatmullRom(n.x,i.x,r.x,o.x,this.tension),hf.initCatmullRom(n.y,i.y,r.y,o.y,this.tension),df.initCatmullRom(n.z,i.z,r.z,o.z,this.tension));return a.set(uf.calc(h),hf.calc(h),df.calc(h)),a},pf.prototype.copy=function(e){of.prototype.copy.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var i=e.points[t];this.points.push(i.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this},pf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);e.points=[];for(var t=0,n=this.points.length;t<n;t++){var i=this.points[t];e.points.push(i.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e},pf.prototype.fromJSON=function(e){of.prototype.fromJSON.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var i=e.points[t];this.points.push((new cl).fromArray(i))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this},gf.prototype=Object.create(of.prototype),gf.prototype.constructor=gf,gf.prototype.isCubicBezierCurve=!0,gf.prototype.getPoint=function(e,t){var n=t||new sl,i=this.v0,r=this.v1,o=this.v2,a=this.v3;return n.set(mf(e,i.x,r.x,o.x,a.x),mf(e,i.y,r.y,o.y,a.y)),n},gf.prototype.copy=function(e){return of.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this},gf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e},gf.prototype.fromJSON=function(e){return of.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this},vf.prototype=Object.create(of.prototype),vf.prototype.constructor=vf,vf.prototype.isCubicBezierCurve3=!0,vf.prototype.getPoint=function(e,t){var n=t||new cl,i=this.v0,r=this.v1,o=this.v2,a=this.v3;return n.set(mf(e,i.x,r.x,o.x,a.x),mf(e,i.y,r.y,o.y,a.y),mf(e,i.z,r.z,o.z,a.z)),n},vf.prototype.copy=function(e){return of.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this},vf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e},vf.prototype.fromJSON=function(e){return of.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this},yf.prototype=Object.create(of.prototype),yf.prototype.constructor=yf,yf.prototype.isLineCurve=!0,yf.prototype.getPoint=function(e,t){var n=t||new sl;return 1===e?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n},yf.prototype.getPointAt=function(e,t){return this.getPoint(e,t)},yf.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()},yf.prototype.copy=function(e){return of.prototype.copy.call(this,e),this.v1.copy(e.v1),this.v2.copy(e.v2),this},yf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},yf.prototype.fromJSON=function(e){return of.prototype.fromJSON.call(this,e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},bf.prototype=Object.create(of.prototype),bf.prototype.constructor=bf,bf.prototype.isLineCurve3=!0,bf.prototype.getPoint=function(e,t){var n=t||new cl;return 1===e?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n},bf.prototype.getPointAt=function(e,t){return this.getPoint(e,t)},bf.prototype.copy=function(e){return of.prototype.copy.call(this,e),this.v1.copy(e.v1),this.v2.copy(e.v2),this},bf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},bf.prototype.fromJSON=function(e){return of.prototype.fromJSON.call(this,e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},wf.prototype=Object.create(of.prototype),wf.prototype.constructor=wf,wf.prototype.isQuadraticBezierCurve=!0,wf.prototype.getPoint=function(e,t){var n=t||new sl,i=this.v0,r=this.v1,o=this.v2;return n.set(Af(e,i.x,r.x,o.x),Af(e,i.y,r.y,o.y)),n},wf.prototype.copy=function(e){return of.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this},wf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},wf.prototype.fromJSON=function(e){return of.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},xf.prototype=Object.create(of.prototype),xf.prototype.constructor=xf,xf.prototype.isQuadraticBezierCurve3=!0,xf.prototype.getPoint=function(e,t){var n=t||new cl,i=this.v0,r=this.v1,o=this.v2;return n.set(Af(e,i.x,r.x,o.x),Af(e,i.y,r.y,o.y),Af(e,i.z,r.z,o.z)),n},xf.prototype.copy=function(e){return of.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this},xf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},xf.prototype.fromJSON=function(e){return of.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},Mf.prototype=Object.create(of.prototype),Mf.prototype.constructor=Mf,Mf.prototype.isSplineCurve=!0,Mf.prototype.getPoint=function(e,t){var n=t||new sl,i=this.points,r=(i.length-1)*e,o=Math.floor(r),a=r-o,s=i[0===o?o:o-1],l=i[o],c=i[o>i.length-2?i.length-1:o+1],u=i[o>i.length-3?i.length-1:o+2];return n.set(ff(a,s.x,l.x,c.x,u.x),ff(a,s.y,l.y,c.y,u.y)),n},Mf.prototype.copy=function(e){of.prototype.copy.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var i=e.points[t];this.points.push(i.clone())}return this},Mf.prototype.toJSON=function(){var e=of.prototype.toJSON.call(this);e.points=[];for(var t=0,n=this.points.length;t<n;t++){var i=this.points[t];e.points.push(i.toArray())}return e},Mf.prototype.fromJSON=function(e){of.prototype.fromJSON.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var i=e.points[t];this.points.push((new sl).fromArray(i))}return this};var Ef=Object.freeze({ArcCurve:sf,CatmullRomCurve3:pf,CubicBezierCurve:gf,CubicBezierCurve3:vf,EllipseCurve:af,LineCurve:yf,LineCurve3:bf,QuadraticBezierCurve:wf,QuadraticBezierCurve3:xf,SplineCurve:Mf});function Sf(){of.call(this),this.type="CurvePath",this.curves=[],this.autoClose=!1}function Tf(e){Sf.call(this),this.type="Path",this.currentPoint=new sl,e&&this.setFromPoints(e)}function Cf(e){Tf.call(this,e),this.uuid=al.generateUUID(),this.type="Shape",this.holes=[]}function If(e,t){nc.call(this),this.type="Light",this.color=new Hl(e),this.intensity=void 0!==t?t:1,this.receiveShadow=void 0}function Lf(e,t,n){If.call(this,e,n),this.type="HemisphereLight",this.castShadow=void 0,this.position.copy(nc.DefaultUp),this.updateMatrix(),this.groundColor=new Hl(t)}function Df(e){this.camera=e,this.bias=0,this.radius=1,this.mapSize=new sl(512,512),this.map=null,this.matrix=new Rl}function Of(){Df.call(this,new Oh(50,1,.5,500))}function Nf(e,t,n,i,r,o){If.call(this,e,t),this.type="SpotLight",this.position.copy(nc.DefaultUp),this.updateMatrix(),this.target=new nc,Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(e){this.intensity=e/Math.PI}}),this.distance=void 0!==n?n:0,this.angle=void 0!==i?i:Math.PI/3,this.penumbra=void 0!==r?r:0,this.decay=void 0!==o?o:1,this.shadow=new Of}function Pf(e,t,n,i){If.call(this,e,t),this.type="PointLight",Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(e){this.intensity=e/(4*Math.PI)}}),this.distance=void 0!==n?n:0,this.decay=void 0!==i?i:1,this.shadow=new Df(new Oh(90,1,.5,500))}function kf(e,t,n,i,r,o){Dh.call(this),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=void 0!==e?e:-1,this.right=void 0!==t?t:1,this.top=void 0!==n?n:1,this.bottom=void 0!==i?i:-1,this.near=void 0!==r?r:.1,this.far=void 0!==o?o:2e3,this.updateProjectionMatrix()}function Rf(){Df.call(this,new kf(-5,5,5,-5,.5,500))}function zf(e,t){If.call(this,e,t),this.type="DirectionalLight",this.position.copy(nc.DefaultUp),this.updateMatrix(),this.target=new nc,this.shadow=new Rf}function _f(e,t){If.call(this,e,t),this.type="AmbientLight",this.castShadow=void 0}function Bf(e,t,n,i){If.call(this,e,t),this.type="RectAreaLight",this.width=void 0!==n?n:10,this.height=void 0!==i?i:10}function jf(e){this.manager=void 0!==e?e:Kp,this.textures={}}Sf.prototype=Object.assign(Object.create(of.prototype),{constructor:Sf,add:function(e){this.curves.push(e)},closePath:function(){var e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new yf(t,e))},getPoint:function(e){for(var t=e*this.getLength(),n=this.getCurveLengths(),i=0;i<n.length;){if(n[i]>=t){var r=n[i]-t,o=this.curves[i],a=o.getLength(),s=0===a?0:1-r/a;return o.getPointAt(s)}i++}return null},getLength:function(){var e=this.getCurveLengths();return e[e.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var e=[],t=0,n=0,i=this.curves.length;n<i;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e},getSpacedPoints:function(e){void 0===e&&(e=40);for(var t=[],n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t},getPoints:function(e){e=e||12;for(var t,n=[],i=0,r=this.curves;i<r.length;i++)for(var o=r[i],a=o&&o.isEllipseCurve?2*e:o&&(o.isLineCurve||o.isLineCurve3)?1:o&&o.isSplineCurve?e*o.points.length:e,s=o.getPoints(a),l=0;l<s.length;l++){var c=s[l];t&&t.equals(c)||(n.push(c),t=c)}return this.autoClose&&n.length>1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n},copy:function(e){of.prototype.copy.call(this,e),this.curves=[];for(var t=0,n=e.curves.length;t<n;t++){var i=e.curves[t];this.curves.push(i.clone())}return this.autoClose=e.autoClose,this},toJSON:function(){var e=of.prototype.toJSON.call(this);e.autoClose=this.autoClose,e.curves=[];for(var t=0,n=this.curves.length;t<n;t++){var i=this.curves[t];e.curves.push(i.toJSON())}return e},fromJSON:function(e){of.prototype.fromJSON.call(this,e),this.autoClose=e.autoClose,this.curves=[];for(var t=0,n=e.curves.length;t<n;t++){var i=e.curves[t];this.curves.push((new Ef[i.type]).fromJSON(i))}return this}}),Tf.prototype=Object.assign(Object.create(Sf.prototype),{constructor:Tf,setFromPoints:function(e){this.moveTo(e[0].x,e[0].y);for(var t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y)},moveTo:function(e,t){this.currentPoint.set(e,t)},lineTo:function(e,t){var n=new yf(this.currentPoint.clone(),new sl(e,t));this.curves.push(n),this.currentPoint.set(e,t)},quadraticCurveTo:function(e,t,n,i){var r=new wf(this.currentPoint.clone(),new sl(e,t),new sl(n,i));this.curves.push(r),this.currentPoint.set(n,i)},bezierCurveTo:function(e,t,n,i,r,o){var a=new gf(this.currentPoint.clone(),new sl(e,t),new sl(n,i),new sl(r,o));this.curves.push(a),this.currentPoint.set(r,o)},splineThru:function(e){var t=new Mf([this.currentPoint.clone()].concat(e));this.curves.push(t),this.currentPoint.copy(e[e.length-1])},arc:function(e,t,n,i,r,o){var a=this.currentPoint.x,s=this.currentPoint.y;this.absarc(e+a,t+s,n,i,r,o)},absarc:function(e,t,n,i,r,o){this.absellipse(e,t,n,n,i,r,o)},ellipse:function(e,t,n,i,r,o,a,s){var l=this.currentPoint.x,c=this.currentPoint.y;this.absellipse(e+l,t+c,n,i,r,o,a,s)},absellipse:function(e,t,n,i,r,o,a,s){var l=new af(e,t,n,i,r,o,a,s);if(this.curves.length>0){var c=l.getPoint(0);c.equals(this.currentPoint)||this.lineTo(c.x,c.y)}this.curves.push(l);var u=l.getPoint(1);this.currentPoint.copy(u)},copy:function(e){return Sf.prototype.copy.call(this,e),this.currentPoint.copy(e.currentPoint),this},toJSON:function(){var e=Sf.prototype.toJSON.call(this);return e.currentPoint=this.currentPoint.toArray(),e},fromJSON:function(e){return Sf.prototype.fromJSON.call(this,e),this.currentPoint.fromArray(e.currentPoint),this}}),Cf.prototype=Object.assign(Object.create(Tf.prototype),{constructor:Cf,getPointsHoles:function(e){for(var t=[],n=0,i=this.holes.length;n<i;n++)t[n]=this.holes[n].getPoints(e);return t},extractPoints:function(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}},copy:function(e){Tf.prototype.copy.call(this,e),this.holes=[];for(var t=0,n=e.holes.length;t<n;t++){var i=e.holes[t];this.holes.push(i.clone())}return this},toJSON:function(){var e=Tf.prototype.toJSON.call(this);e.uuid=this.uuid,e.holes=[];for(var t=0,n=this.holes.length;t<n;t++){var i=this.holes[t];e.holes.push(i.toJSON())}return e},fromJSON:function(e){Tf.prototype.fromJSON.call(this,e),this.uuid=e.uuid,this.holes=[];for(var t=0,n=e.holes.length;t<n;t++){var i=e.holes[t];this.holes.push((new Tf).fromJSON(i))}return this}}),If.prototype=Object.assign(Object.create(nc.prototype),{constructor:If,isLight:!0,copy:function(e){return nc.prototype.copy.call(this,e),this.color.copy(e.color),this.intensity=e.intensity,this},toJSON:function(e){var t=nc.prototype.toJSON.call(this,e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}),Lf.prototype=Object.assign(Object.create(If.prototype),{constructor:Lf,isHemisphereLight:!0,copy:function(e){return If.prototype.copy.call(this,e),this.groundColor.copy(e.groundColor),this}}),Object.assign(Df.prototype,{copy:function(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var e={};return 0!==this.bias&&(e.bias=this.bias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}),Of.prototype=Object.assign(Object.create(Df.prototype),{constructor:Of,isSpotLightShadow:!0,update:function(e){var t=this.camera,n=2*al.RAD2DEG*e.angle,i=this.mapSize.width/this.mapSize.height,r=e.distance||t.far;n===t.fov&&i===t.aspect&&r===t.far||(t.fov=n,t.aspect=i,t.far=r,t.updateProjectionMatrix())}}),Nf.prototype=Object.assign(Object.create(If.prototype),{constructor:Nf,isSpotLight:!0,copy:function(e){return If.prototype.copy.call(this,e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),Pf.prototype=Object.assign(Object.create(If.prototype),{constructor:Pf,isPointLight:!0,copy:function(e){return If.prototype.copy.call(this,e),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}),kf.prototype=Object.assign(Object.create(Dh.prototype),{constructor:kf,isOrthographicCamera:!0,copy:function(e,t){return Dh.prototype.copy.call(this,e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this},setViewOffset:function(e,t,n,i,r,o){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=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2,r=n-e,o=n+e,a=i+t,s=i-t;if(null!==this.view&&this.view.enabled){var l=this.zoom/(this.view.width/this.view.fullWidth),c=this.zoom/(this.view.height/this.view.fullHeight),u=(this.right-this.left)/this.view.width,h=(this.top-this.bottom)/this.view.height;o=(r+=u*(this.view.offsetX/l))+u*(this.view.width/l),s=(a-=h*(this.view.offsetY/c))-h*(this.view.height/c)}this.projectionMatrix.makeOrthographic(r,o,a,s,this.near,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(e){var t=nc.prototype.toJSON.call(this,e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}),Rf.prototype=Object.assign(Object.create(Df.prototype),{constructor:Rf}),zf.prototype=Object.assign(Object.create(If.prototype),{constructor:zf,isDirectionalLight:!0,copy:function(e){return If.prototype.copy.call(this,e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),_f.prototype=Object.assign(Object.create(If.prototype),{constructor:_f,isAmbientLight:!0}),Bf.prototype=Object.assign(Object.create(If.prototype),{constructor:Bf,isRectAreaLight:!0,copy:function(e){return If.prototype.copy.call(this,e),this.width=e.width,this.height=e.height,this},toJSON:function(e){var t=If.prototype.toJSON.call(this,e);return t.object.width=this.width,t.object.height=this.height,t}}),Object.assign(jf.prototype,{load:function(e,t,n,i){var r=this,o=new ef(r.manager);o.setPath(r.path),o.load(e,(function(e){t(r.parse(JSON.parse(e)))}),n,i)},parse:function(e){var t=this.textures;function n(e){return void 0===t[e]&&console.warn("THREE.MaterialLoader: Undefined texture",e),t[e]}var i=new kp[e.type];if(void 0!==e.uuid&&(i.uuid=e.uuid),void 0!==e.name&&(i.name=e.name),void 0!==e.color&&i.color.setHex(e.color),void 0!==e.roughness&&(i.roughness=e.roughness),void 0!==e.metalness&&(i.metalness=e.metalness),void 0!==e.emissive&&i.emissive.setHex(e.emissive),void 0!==e.specular&&i.specular.setHex(e.specular),void 0!==e.shininess&&(i.shininess=e.shininess),void 0!==e.clearCoat&&(i.clearCoat=e.clearCoat),void 0!==e.clearCoatRoughness&&(i.clearCoatRoughness=e.clearCoatRoughness),void 0!==e.vertexColors&&(i.vertexColors=e.vertexColors),void 0!==e.fog&&(i.fog=e.fog),void 0!==e.flatShading&&(i.flatShading=e.flatShading),void 0!==e.blending&&(i.blending=e.blending),void 0!==e.combine&&(i.combine=e.combine),void 0!==e.side&&(i.side=e.side),void 0!==e.opacity&&(i.opacity=e.opacity),void 0!==e.transparent&&(i.transparent=e.transparent),void 0!==e.alphaTest&&(i.alphaTest=e.alphaTest),void 0!==e.depthTest&&(i.depthTest=e.depthTest),void 0!==e.depthWrite&&(i.depthWrite=e.depthWrite),void 0!==e.colorWrite&&(i.colorWrite=e.colorWrite),void 0!==e.wireframe&&(i.wireframe=e.wireframe),void 0!==e.wireframeLinewidth&&(i.wireframeLinewidth=e.wireframeLinewidth),void 0!==e.wireframeLinecap&&(i.wireframeLinecap=e.wireframeLinecap),void 0!==e.wireframeLinejoin&&(i.wireframeLinejoin=e.wireframeLinejoin),void 0!==e.rotation&&(i.rotation=e.rotation),1!==e.linewidth&&(i.linewidth=e.linewidth),void 0!==e.dashSize&&(i.dashSize=e.dashSize),void 0!==e.gapSize&&(i.gapSize=e.gapSize),void 0!==e.scale&&(i.scale=e.scale),void 0!==e.polygonOffset&&(i.polygonOffset=e.polygonOffset),void 0!==e.polygonOffsetFactor&&(i.polygonOffsetFactor=e.polygonOffsetFactor),void 0!==e.polygonOffsetUnits&&(i.polygonOffsetUnits=e.polygonOffsetUnits),void 0!==e.skinning&&(i.skinning=e.skinning),void 0!==e.morphTargets&&(i.morphTargets=e.morphTargets),void 0!==e.dithering&&(i.dithering=e.dithering),void 0!==e.visible&&(i.visible=e.visible),void 0!==e.userData&&(i.userData=e.userData),void 0!==e.uniforms)for(var r in e.uniforms){var o=e.uniforms[r];switch(i.uniforms[r]={},o.type){case"t":i.uniforms[r].value=n(o.value);break;case"c":i.uniforms[r].value=(new Hl).setHex(o.value);break;case"v2":i.uniforms[r].value=(new sl).fromArray(o.value);break;case"v3":i.uniforms[r].value=(new cl).fromArray(o.value);break;case"v4":i.uniforms[r].value=(new Tl).fromArray(o.value);break;case"m3":i.uniforms[r].value=(new ul).fromArray(o.value);case"m4":i.uniforms[r].value=(new Rl).fromArray(o.value);break;default:i.uniforms[r].value=o.value}}if(void 0!==e.defines&&(i.defines=e.defines),void 0!==e.vertexShader&&(i.vertexShader=e.vertexShader),void 0!==e.fragmentShader&&(i.fragmentShader=e.fragmentShader),void 0!==e.extensions)for(var a in e.extensions)i.extensions[a]=e.extensions[a];if(void 0!==e.shading&&(i.flatShading=1===e.shading),void 0!==e.size&&(i.size=e.size),void 0!==e.sizeAttenuation&&(i.sizeAttenuation=e.sizeAttenuation),void 0!==e.map&&(i.map=n(e.map)),void 0!==e.matcap&&(i.matcap=n(e.matcap)),void 0!==e.alphaMap&&(i.alphaMap=n(e.alphaMap),i.transparent=!0),void 0!==e.bumpMap&&(i.bumpMap=n(e.bumpMap)),void 0!==e.bumpScale&&(i.bumpScale=e.bumpScale),void 0!==e.normalMap&&(i.normalMap=n(e.normalMap)),void 0!==e.normalMapType&&(i.normalMapType=e.normalMapType),void 0!==e.normalScale){var s=e.normalScale;!1===Array.isArray(s)&&(s=[s,s]),i.normalScale=(new sl).fromArray(s)}return void 0!==e.displacementMap&&(i.displacementMap=n(e.displacementMap)),void 0!==e.displacementScale&&(i.displacementScale=e.displacementScale),void 0!==e.displacementBias&&(i.displacementBias=e.displacementBias),void 0!==e.roughnessMap&&(i.roughnessMap=n(e.roughnessMap)),void 0!==e.metalnessMap&&(i.metalnessMap=n(e.metalnessMap)),void 0!==e.emissiveMap&&(i.emissiveMap=n(e.emissiveMap)),void 0!==e.emissiveIntensity&&(i.emissiveIntensity=e.emissiveIntensity),void 0!==e.specularMap&&(i.specularMap=n(e.specularMap)),void 0!==e.envMap&&(i.envMap=n(e.envMap)),void 0!==e.envMapIntensity&&(i.envMapIntensity=e.envMapIntensity),void 0!==e.reflectivity&&(i.reflectivity=e.reflectivity),void 0!==e.lightMap&&(i.lightMap=n(e.lightMap)),void 0!==e.lightMapIntensity&&(i.lightMapIntensity=e.lightMapIntensity),void 0!==e.aoMap&&(i.aoMap=n(e.aoMap)),void 0!==e.aoMapIntensity&&(i.aoMapIntensity=e.aoMapIntensity),void 0!==e.gradientMap&&(i.gradientMap=n(e.gradientMap)),i},setPath:function(e){return this.path=e,this},setTextures:function(e){return this.textures=e,this}});var Uf=function(e){var t=e.lastIndexOf("/");return-1===t?"./":e.substr(0,t+1)};function Ff(){bc.call(this),this.type="InstancedBufferGeometry",this.maxInstancedCount=void 0}function Vf(e,t,n,i){"number"==typeof n&&(i=n,n=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),sc.call(this,e,t,n),this.meshPerAttribute=i||1}function Hf(e){this.manager=void 0!==e?e:Kp}Ff.prototype=Object.assign(Object.create(bc.prototype),{constructor:Ff,isInstancedBufferGeometry:!0,copy:function(e){return bc.prototype.copy.call(this,e),this.maxInstancedCount=e.maxInstancedCount,this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var e=bc.prototype.toJSON.call(this);return e.maxInstancedCount=this.maxInstancedCount,e.isInstancedBufferGeometry=!0,e}}),Vf.prototype=Object.assign(Object.create(sc.prototype),{constructor:Vf,isInstancedBufferAttribute:!0,copy:function(e){return sc.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this},toJSON:function(){var e=sc.prototype.toJSON.call(this);return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}),Object.assign(Hf.prototype,{load:function(e,t,n,i){var r=this,o=new ef(r.manager);o.setPath(r.path),o.load(e,(function(e){t(r.parse(JSON.parse(e)))}),n,i)},parse:function(e){var t=e.isInstancedBufferGeometry?new Ff:new bc,n=e.data.index;if(void 0!==n){var i=new Qf[n.type](n.array);t.setIndex(new sc(i,1))}var r=e.data.attributes;for(var o in r){var a=r[o],s=(i=new Qf[a.type](a.array),new(a.isInstancedBufferAttribute?Vf:sc)(i,a.itemSize,a.normalized));void 0!==a.name&&(s.name=a.name),t.addAttribute(o,s)}var l=e.data.morphAttributes;if(l)for(var o in l){for(var c=l[o],u=[],h=0,d=c.length;h<d;h++)a=c[h],s=new sc(i=new Qf[a.type](a.array),a.itemSize,a.normalized),void 0!==a.name&&(s.name=a.name),u.push(s);t.morphAttributes[o]=u}var p=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==p){h=0;for(var f=p.length;h!==f;++h){var A=p[h];t.addGroup(A.start,A.count,A.materialIndex)}}var m=e.data.boundingSphere;if(void 0!==m){var g=new cl;void 0!==m.center&&g.fromArray(m.center),t.boundingSphere=new Nl(g,m.radius)}return e.name&&(t.name=e.name),e.userData&&(t.userData=e.userData),t},setPath:function(e){return this.path=e,this}});var Qf={Int8Array,Uint8Array,Uint8ClampedArray:"undefined"!=typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Wf(e){this.manager=void 0!==e?e:Kp,this.resourcePath=""}Object.assign(Wf.prototype,{crossOrigin:"anonymous",load:function(e,t,n,i){var r=this,o=void 0===this.path?Uf(e):this.path;this.resourcePath=this.resourcePath||o;var a=new ef(r.manager);a.setPath(this.path),a.load(e,(function(n){var o=null;try{o=JSON.parse(n)}catch(t){return void 0!==i&&i(t),void console.error("THREE:ObjectLoader: Can't parse "+e+".",t.message)}var a=o.metadata;void 0!==a&&void 0!==a.type&&"geometry"!==a.type.toLowerCase()?r.parse(o,t):console.error("THREE.ObjectLoader: Can't load "+e)}),n,i)},setPath:function(e){return this.path=e,this},setResourcePath:function(e){return this.resourcePath=e,this},setCrossOrigin:function(e){return this.crossOrigin=e,this},parse:function(e,t){var n=this.parseShape(e.shapes),i=this.parseGeometries(e.geometries,n),r=this.parseImages(e.images,(function(){void 0!==t&&t(s)})),o=this.parseTextures(e.textures,r),a=this.parseMaterials(e.materials,o),s=this.parseObject(e.object,i,a);return e.animations&&(s.animations=this.parseAnimations(e.animations)),void 0!==e.images&&0!==e.images.length||void 0!==t&&t(s),s},parseShape:function(e){var t={};if(void 0!==e)for(var n=0,i=e.length;n<i;n++){var r=(new Cf).fromJSON(e[n]);t[r.uuid]=r}return t},parseGeometries:function(e,t){var n={};if(void 0!==e)for(var i=new Hf,r=0,o=e.length;r<o;r++){var a,s=e[r];switch(s.type){case"PlaneGeometry":case"PlaneBufferGeometry":a=new Mp[s.type](s.width,s.height,s.widthSegments,s.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":a=new Mp[s.type](s.width,s.height,s.depth,s.widthSegments,s.heightSegments,s.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":a=new Mp[s.type](s.radius,s.segments,s.thetaStart,s.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":a=new Mp[s.type](s.radiusTop,s.radiusBottom,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":a=new Mp[s.type](s.radius,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":a=new Mp[s.type](s.radius,s.widthSegments,s.heightSegments,s.phiStart,s.phiLength,s.thetaStart,s.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":a=new Mp[s.type](s.radius,s.detail);break;case"RingGeometry":case"RingBufferGeometry":a=new Mp[s.type](s.innerRadius,s.outerRadius,s.thetaSegments,s.phiSegments,s.thetaStart,s.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":a=new Mp[s.type](s.radius,s.tube,s.radialSegments,s.tubularSegments,s.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":a=new Mp[s.type](s.radius,s.tube,s.tubularSegments,s.radialSegments,s.p,s.q);break;case"TubeGeometry":case"TubeBufferGeometry":a=new Mp[s.type]((new Ef[s.path.type]).fromJSON(s.path),s.tubularSegments,s.radius,s.radialSegments,s.closed);break;case"LatheGeometry":case"LatheBufferGeometry":a=new Mp[s.type](s.points,s.segments,s.phiStart,s.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":a=new Mp[s.type](s.vertices,s.indices,s.radius,s.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":for(var l=[],c=0,u=s.shapes.length;c<u;c++){var h=t[s.shapes[c]];l.push(h)}a=new Mp[s.type](l,s.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":for(l=[],c=0,u=s.shapes.length;c<u;c++)h=t[s.shapes[c]],l.push(h);var d=s.options.extrudePath;void 0!==d&&(s.options.extrudePath=(new Ef[d.type]).fromJSON(d)),a=new Mp[s.type](l,s.options);break;case"BufferGeometry":case"InstancedBufferGeometry":a=i.parse(s);break;case"Geometry":"THREE"in window&&"LegacyJSONLoader"in THREE?a=(new THREE.LegacyJSONLoader).parse(s,this.resourcePath).geometry:console.error('THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".');break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+s.type+'"');continue}a.uuid=s.uuid,void 0!==s.name&&(a.name=s.name),!0===a.isBufferGeometry&&void 0!==s.userData&&(a.userData=s.userData),n[s.uuid]=a}return n},parseMaterials:function(e,t){var n={},i={};if(void 0!==e){var r=new jf;r.setTextures(t);for(var o=0,a=e.length;o<a;o++){var s=e[o];if("MultiMaterial"===s.type){for(var l=[],c=0;c<s.materials.length;c++){var u=s.materials[c];void 0===n[u.uuid]&&(n[u.uuid]=r.parse(u)),l.push(n[u.uuid])}i[s.uuid]=l}else void 0===n[s.uuid]&&(n[s.uuid]=r.parse(s)),i[s.uuid]=n[s.uuid]}}return i},parseAnimations:function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n],r=qp.parse(i);void 0!==i.uuid&&(r.uuid=i.uuid),t.push(r)}return t},parseImages:function(e,t){var n=this,i={};function r(e){return n.manager.itemStart(e),o.load(e,(function(){n.manager.itemEnd(e)}),void 0,(function(){n.manager.itemError(e),n.manager.itemEnd(e)}))}if(void 0!==e&&e.length>0){var o=new tf(new Jp(t));o.setCrossOrigin(this.crossOrigin);for(var a=0,s=e.length;a<s;a++){var l=e[a],c=l.url;if(Array.isArray(c)){i[l.uuid]=[];for(var u=0,h=c.length;u<h;u++){var d=c[u],p=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(d)?d:n.resourcePath+d;i[l.uuid].push(r(p))}}else p=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(l.url)?l.url:n.resourcePath+l.url,i[l.uuid]=r(p)}}return i},parseTextures:function(e,t){function n(e,t){return"number"==typeof e?e:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",e),t[e])}var i={};if(void 0!==e)for(var r=0,o=e.length;r<o;r++){var a,s=e[r];void 0===s.image&&console.warn('THREE.ObjectLoader: No "image" specified for',s.uuid),void 0===t[s.image]&&console.warn("THREE.ObjectLoader: Undefined image",s.image),(a=Array.isArray(t[s.image])?new iu(t[s.image]):new Sl(t[s.image])).needsUpdate=!0,a.uuid=s.uuid,void 0!==s.name&&(a.name=s.name),void 0!==s.mapping&&(a.mapping=n(s.mapping,Jf)),void 0!==s.offset&&a.offset.fromArray(s.offset),void 0!==s.repeat&&a.repeat.fromArray(s.repeat),void 0!==s.center&&a.center.fromArray(s.center),void 0!==s.rotation&&(a.rotation=s.rotation),void 0!==s.wrap&&(a.wrapS=n(s.wrap[0],Kf),a.wrapT=n(s.wrap[1],Kf)),void 0!==s.format&&(a.format=s.format),void 0!==s.type&&(a.type=s.type),void 0!==s.encoding&&(a.encoding=s.encoding),void 0!==s.minFilter&&(a.minFilter=n(s.minFilter,$f)),void 0!==s.magFilter&&(a.magFilter=n(s.magFilter,$f)),void 0!==s.anisotropy&&(a.anisotropy=s.anisotropy),void 0!==s.flipY&&(a.flipY=s.flipY),void 0!==s.premultiplyAlpha&&(a.premultiplyAlpha=s.premultiplyAlpha),void 0!==s.unpackAlignment&&(a.unpackAlignment=s.unpackAlignment),i[s.uuid]=a}return i},parseObject:function(e,t,n){var i;function r(e){return void 0===t[e]&&console.warn("THREE.ObjectLoader: Undefined geometry",e),t[e]}function o(e){if(void 0!==e){if(Array.isArray(e)){for(var t=[],i=0,r=e.length;i<r;i++){var o=e[i];void 0===n[o]&&console.warn("THREE.ObjectLoader: Undefined material",o),t.push(n[o])}return t}return void 0===n[e]&&console.warn("THREE.ObjectLoader: Undefined material",e),n[e]}}switch(e.type){case"Scene":i=new Yh,void 0!==e.background&&Number.isInteger(e.background)&&(i.background=new Hl(e.background)),void 0!==e.fog&&("Fog"===e.fog.type?i.fog=new Gh(e.fog.color,e.fog.near,e.fog.far):"FogExp2"===e.fog.type&&(i.fog=new Wh(e.fog.color,e.fog.density)));break;case"PerspectiveCamera":i=new Oh(e.fov,e.aspect,e.near,e.far),void 0!==e.focus&&(i.focus=e.focus),void 0!==e.zoom&&(i.zoom=e.zoom),void 0!==e.filmGauge&&(i.filmGauge=e.filmGauge),void 0!==e.filmOffset&&(i.filmOffset=e.filmOffset),void 0!==e.view&&(i.view=Object.assign({},e.view));break;case"OrthographicCamera":i=new kf(e.left,e.right,e.top,e.bottom,e.near,e.far),void 0!==e.zoom&&(i.zoom=e.zoom),void 0!==e.view&&(i.view=Object.assign({},e.view));break;case"AmbientLight":i=new _f(e.color,e.intensity);break;case"DirectionalLight":i=new zf(e.color,e.intensity);break;case"PointLight":i=new Pf(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":i=new Bf(e.color,e.intensity,e.width,e.height);break;case"SpotLight":i=new Nf(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case"HemisphereLight":i=new Lf(e.color,e.groundColor,e.intensity);break;case"SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case"Mesh":var a=r(e.geometry),s=o(e.material);i=a.bones&&a.bones.length>0?new $h(a,s):new Wc(a,s),void 0!==e.drawMode&&i.setDrawMode(e.drawMode);break;case"LOD":i=new Kh;break;case"Line":i=new id(r(e.geometry),o(e.material),e.mode);break;case"LineLoop":i=new od(r(e.geometry),o(e.material));break;case"LineSegments":i=new rd(r(e.geometry),o(e.material));break;case"PointCloud":case"Points":i=new sd(r(e.geometry),o(e.material));break;case"Sprite":i=new Jh(o(e.material));break;case"Group":i=new Lh;break;default:i=new nc}if(i.uuid=e.uuid,void 0!==e.name&&(i.name=e.name),void 0!==e.matrix?(i.matrix.fromArray(e.matrix),void 0!==e.matrixAutoUpdate&&(i.matrixAutoUpdate=e.matrixAutoUpdate),i.matrixAutoUpdate&&i.matrix.decompose(i.position,i.quaternion,i.scale)):(void 0!==e.position&&i.position.fromArray(e.position),void 0!==e.rotation&&i.rotation.fromArray(e.rotation),void 0!==e.quaternion&&i.quaternion.fromArray(e.quaternion),void 0!==e.scale&&i.scale.fromArray(e.scale)),void 0!==e.castShadow&&(i.castShadow=e.castShadow),void 0!==e.receiveShadow&&(i.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(i.shadow.bias=e.shadow.bias),void 0!==e.shadow.radius&&(i.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&i.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(i.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(i.visible=e.visible),void 0!==e.frustumCulled&&(i.frustumCulled=e.frustumCulled),void 0!==e.renderOrder&&(i.renderOrder=e.renderOrder),void 0!==e.userData&&(i.userData=e.userData),void 0!==e.layers&&(i.layers.mask=e.layers),void 0!==e.children)for(var l=e.children,c=0;c<l.length;c++)i.add(this.parseObject(l[c],t,n));if("LOD"===e.type)for(var u=e.levels,h=0;h<u.length;h++){var d=u[h],p=i.getObjectByProperty("uuid",d.object);void 0!==p&&i.addLevel(p,d.distance)}return i}});var Gf,Yf,qf,Xf,Zf,Jf={UVMapping:300,CubeReflectionMapping:Ra,CubeRefractionMapping:za,EquirectangularReflectionMapping:_a,EquirectangularRefractionMapping:Ba,SphericalReflectionMapping:ja,CubeUVReflectionMapping:Ua,CubeUVRefractionMapping:Fa},Kf={RepeatWrapping:Va,ClampToEdgeWrapping:Ha,MirroredRepeatWrapping:Qa},$f={NearestFilter:Wa,NearestMipMapNearestFilter:Ga,NearestMipMapLinearFilter:Ya,LinearFilter:qa,LinearMipMapNearestFilter:Xa,LinearMipMapLinearFilter:Za};function eA(e){"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.manager=void 0!==e?e:Kp,this.options=void 0}function tA(){this.type="ShapePath",this.color=new Hl,this.subPaths=[],this.currentPath=null}function nA(e){this.type="Font",this.data=e}function iA(e,t,n,i,r){var o=r.glyphs[e]||r.glyphs["?"];if(o){var a,s,l,c,u,h,d,p,f=new tA;if(o.o)for(var A=o._cachedOutline||(o._cachedOutline=o.o.split(" ")),m=0,g=A.length;m<g;)switch(A[m++]){case"m":a=A[m++]*t+n,s=A[m++]*t+i,f.moveTo(a,s);break;case"l":a=A[m++]*t+n,s=A[m++]*t+i,f.lineTo(a,s);break;case"q":l=A[m++]*t+n,c=A[m++]*t+i,u=A[m++]*t+n,h=A[m++]*t+i,f.quadraticCurveTo(u,h,l,c);break;case"b":l=A[m++]*t+n,c=A[m++]*t+i,u=A[m++]*t+n,h=A[m++]*t+i,d=A[m++]*t+n,p=A[m++]*t+i,f.bezierCurveTo(u,h,d,p,l,c)}return{offsetX:o.ha*t,path:f}}}function rA(){}eA.prototype={constructor:eA,setOptions:function(e){return this.options=e,this},load:function(e,t,n,i){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);var r=this,o=Zp.get(e);if(void 0!==o)return r.manager.itemStart(e),setTimeout((function(){t&&t(o),r.manager.itemEnd(e)}),0),o;fetch(e).then((function(e){return e.blob()})).then((function(e){return void 0===r.options?createImageBitmap(e):createImageBitmap(e,r.options)})).then((function(n){Zp.add(e,n),t&&t(n),r.manager.itemEnd(e)})).catch((function(t){i&&i(t),r.manager.itemError(e),r.manager.itemEnd(e)})),r.manager.itemStart(e)},setCrossOrigin:function(){return this},setPath:function(e){return this.path=e,this}},Object.assign(tA.prototype,{moveTo:function(e,t){this.currentPath=new Tf,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t)},lineTo:function(e,t){this.currentPath.lineTo(e,t)},quadraticCurveTo:function(e,t,n,i){this.currentPath.quadraticCurveTo(e,t,n,i)},bezierCurveTo:function(e,t,n,i,r,o){this.currentPath.bezierCurveTo(e,t,n,i,r,o)},splineThru:function(e){this.currentPath.splineThru(e)},toShapes:function(e,t){function n(e){for(var t=[],n=0,i=e.length;n<i;n++){var r=e[n],o=new Cf;o.curves=r.curves,t.push(o)}return t}function i(e,t){for(var n=t.length,i=!1,r=n-1,o=0;o<n;r=o++){var a=t[r],s=t[o],l=s.x-a.x,c=s.y-a.y;if(Math.abs(c)>Number.EPSILON){if(c<0&&(a=t[o],l=-l,s=t[r],c=-c),e.y<a.y||e.y>s.y)continue;if(e.y===a.y){if(e.x===a.x)return!0}else{var u=c*(e.x-a.x)-l*(e.y-a.y);if(0===u)return!0;if(u<0)continue;i=!i}}else{if(e.y!==a.y)continue;if(s.x<=e.x&&e.x<=a.x||a.x<=e.x&&e.x<=s.x)return!0}}return i}var r=Kd.isClockWise,o=this.subPaths;if(0===o.length)return[];if(!0===t)return n(o);var a,s,l,c=[];if(1===o.length)return s=o[0],(l=new Cf).curves=s.curves,c.push(l),c;var u=!r(o[0].getPoints());u=e?!u:u;var h,d,p=[],f=[],A=[],m=0;f[m]=void 0,A[m]=[];for(var g=0,v=o.length;g<v;g++)a=r(h=(s=o[g]).getPoints()),(a=e?!a:a)?(!u&&f[m]&&m++,f[m]={s:new Cf,p:h},f[m].s.curves=s.curves,u&&m++,A[m]=[]):A[m].push({h:s,p:h[0]});if(!f[0])return n(o);if(f.length>1){for(var y=!1,b=[],w=0,x=f.length;w<x;w++)p[w]=[];for(w=0,x=f.length;w<x;w++)for(var M=A[w],E=0;E<M.length;E++){for(var S=M[E],T=!0,C=0;C<f.length;C++)i(S.p,f[C].p)&&(w!==C&&b.push({froms:w,tos:C,hole:E}),T?(T=!1,p[C].push(S)):y=!0);T&&p[w].push(S)}b.length>0&&(y||(A=p))}g=0;for(var I=f.length;g<I;g++){l=f[g].s,c.push(l);for(var L=0,D=(d=A[g]).length;L<D;L++)l.holes.push(d[L].h)}return c}}),Object.assign(nA.prototype,{isFont:!0,generateShapes:function(e,t){void 0===t&&(t=100);for(var n=[],i=function(e,t,n){for(var i=Array.from?Array.from(e):String(e).split(""),r=t/n.resolution,o=(n.boundingBox.yMax-n.boundingBox.yMin+n.underlineThickness)*r,a=[],s=0,l=0,c=0;c<i.length;c++){var u=i[c];if("\n"===u)s=0,l-=o;else{var h=iA(u,r,s,l,n);s+=h.offsetX,a.push(h.path)}}return a}(e,t,this.data),r=0,o=i.length;r<o;r++)Array.prototype.push.apply(n,i[r].toShapes());return n}}),Object.assign(function(e){this.manager=void 0!==e?e:Kp}.prototype,{load:function(e,t,n,i){var r=this,o=new ef(this.manager);o.setPath(this.path),o.load(e,(function(e){var n;try{n=JSON.parse(e)}catch(t){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),n=JSON.parse(e.substring(65,e.length-2))}var i=r.parse(n);t&&t(i)}),n,i)},parse:function(e){return new nA(e)},setPath:function(e){return this.path=e,this}}),rA.Handlers={handlers:[],add:function(e,t){this.handlers.push(e,t)},get:function(e){for(var t=this.handlers,n=0,i=t.length;n<i;n+=2){var r=t[n],o=t[n+1];if(r.test(e))return o}return null}},Object.assign(rA.prototype,{crossOrigin:"anonymous",onLoadStart:function(){},onLoadProgress:function(){},onLoadComplete:function(){},initMaterials:function(e,t,n){for(var i=[],r=0;r<e.length;++r)i[r]=this.createMaterial(e[r],t,n);return i},createMaterial:(Gf={NoBlending:Zo,NormalBlending:Jo,AdditiveBlending:Ko,SubtractiveBlending:$o,MultiplyBlending:ea,CustomBlending:ta},Yf=new Hl,qf=new rf,Xf=new jf,function(e,t,n){var i={};function r(e,r,o,a,s){var l,c=t+e,u=rA.Handlers.get(c);null!==u?l=u.load(c):(qf.setCrossOrigin(n),l=qf.load(c)),void 0!==r&&(l.repeat.fromArray(r),1!==r[0]&&(l.wrapS=Va),1!==r[1]&&(l.wrapT=Va)),void 0!==o&&l.offset.fromArray(o),void 0!==a&&("repeat"===a[0]&&(l.wrapS=Va),"mirror"===a[0]&&(l.wrapS=Qa),"repeat"===a[1]&&(l.wrapT=Va),"mirror"===a[1]&&(l.wrapT=Qa)),void 0!==s&&(l.anisotropy=s);var h=al.generateUUID();return i[h]=l,h}var o={uuid:al.generateUUID(),type:"MeshLambertMaterial"};for(var a in e){var s=e[a];switch(a){case"DbgColor":case"DbgIndex":case"opticalDensity":case"illumination":case"mapDiffuseRepeat":case"mapDiffuseOffset":case"mapDiffuseWrap":case"mapDiffuseAnisotropy":case"mapEmissiveRepeat":case"mapEmissiveOffset":case"mapEmissiveWrap":case"mapEmissiveAnisotropy":case"mapLightRepeat":case"mapLightOffset":case"mapLightWrap":case"mapLightAnisotropy":case"mapAORepeat":case"mapAOOffset":case"mapAOWrap":case"mapAOAnisotropy":case"mapBumpRepeat":case"mapBumpOffset":case"mapBumpWrap":case"mapBumpAnisotropy":case"mapNormalRepeat":case"mapNormalOffset":case"mapNormalWrap":case"mapNormalAnisotropy":case"mapSpecularRepeat":case"mapSpecularOffset":case"mapSpecularWrap":case"mapSpecularAnisotropy":case"mapMetalnessRepeat":case"mapMetalnessOffset":case"mapMetalnessWrap":case"mapMetalnessAnisotropy":case"mapRoughnessRepeat":case"mapRoughnessOffset":case"mapRoughnessWrap":case"mapRoughnessAnisotropy":case"mapAlphaRepeat":case"mapAlphaOffset":case"mapAlphaWrap":case"mapAlphaAnisotropy":break;case"DbgName":o.name=s;break;case"blending":o.blending=Gf[s];break;case"colorAmbient":case"mapAmbient":console.warn("THREE.Loader.createMaterial:",a,"is no longer supported.");break;case"colorDiffuse":o.color=Yf.fromArray(s).getHex();break;case"colorSpecular":o.specular=Yf.fromArray(s).getHex();break;case"colorEmissive":o.emissive=Yf.fromArray(s).getHex();break;case"specularCoef":o.shininess=s;break;case"shading":"basic"===s.toLowerCase()&&(o.type="MeshBasicMaterial"),"phong"===s.toLowerCase()&&(o.type="MeshPhongMaterial"),"standard"===s.toLowerCase()&&(o.type="MeshStandardMaterial");break;case"mapDiffuse":o.map=r(s,e.mapDiffuseRepeat,e.mapDiffuseOffset,e.mapDiffuseWrap,e.mapDiffuseAnisotropy);break;case"mapEmissive":o.emissiveMap=r(s,e.mapEmissiveRepeat,e.mapEmissiveOffset,e.mapEmissiveWrap,e.mapEmissiveAnisotropy);break;case"mapLight":o.lightMap=r(s,e.mapLightRepeat,e.mapLightOffset,e.mapLightWrap,e.mapLightAnisotropy);break;case"mapAO":o.aoMap=r(s,e.mapAORepeat,e.mapAOOffset,e.mapAOWrap,e.mapAOAnisotropy);break;case"mapBump":o.bumpMap=r(s,e.mapBumpRepeat,e.mapBumpOffset,e.mapBumpWrap,e.mapBumpAnisotropy);break;case"mapBumpScale":o.bumpScale=s;break;case"mapNormal":o.normalMap=r(s,e.mapNormalRepeat,e.mapNormalOffset,e.mapNormalWrap,e.mapNormalAnisotropy);break;case"mapNormalFactor":o.normalScale=s;break;case"mapSpecular":o.specularMap=r(s,e.mapSpecularRepeat,e.mapSpecularOffset,e.mapSpecularWrap,e.mapSpecularAnisotropy);break;case"mapMetalness":o.metalnessMap=r(s,e.mapMetalnessRepeat,e.mapMetalnessOffset,e.mapMetalnessWrap,e.mapMetalnessAnisotropy);break;case"mapRoughness":o.roughnessMap=r(s,e.mapRoughnessRepeat,e.mapRoughnessOffset,e.mapRoughnessWrap,e.mapRoughnessAnisotropy);break;case"mapAlpha":o.alphaMap=r(s,e.mapAlphaRepeat,e.mapAlphaOffset,e.mapAlphaWrap,e.mapAlphaAnisotropy);break;case"flipSided":o.side=Yo;break;case"doubleSided":o.side=qo;break;case"transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity"),o.opacity=s;break;case"depthTest":case"depthWrite":case"colorWrite":case"opacity":case"reflectivity":case"transparent":case"visible":case"wireframe":o[a]=s;break;case"vertexColors":!0===s&&(o.vertexColors=2),"face"===s&&(o.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",a,s)}}return"MeshBasicMaterial"===o.type&&delete o.emissive,"MeshPhongMaterial"!==o.type&&delete o.specular,o.opacity<1&&(o.transparent=!0),Xf.setTextures(i),Xf.parse(o)})});var oA=function(){return void 0===Zf&&(Zf=new(window.AudioContext||window.webkitAudioContext)),Zf};function aA(e){this.manager=void 0!==e?e:Kp}function sA(){this.coefficients=[];for(var e=0;e<9;e++)this.coefficients.push(new cl)}function lA(e,t){If.call(this,void 0,t),this.sh=void 0!==e?e:new sA}function cA(e,t,n){lA.call(this,void 0,n);var i=(new Hl).set(e),r=(new Hl).set(t),o=new cl(i.r,i.g,i.b),a=new cl(r.r,r.g,r.b),s=Math.sqrt(Math.PI),l=s*Math.sqrt(.75);this.sh.coefficients[0].copy(o).add(a).multiplyScalar(s),this.sh.coefficients[1].copy(o).sub(a).multiplyScalar(l)}function uA(e,t){lA.call(this,void 0,t);var n=(new Hl).set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}function hA(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Oh,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Oh,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}Object.assign(aA.prototype,{load:function(e,t,n,i){var r=new ef(this.manager);r.setResponseType("arraybuffer"),r.setPath(this.path),r.load(e,(function(e){var n=e.slice(0);oA().decodeAudioData(n,(function(e){t(e)}))}),n,i)},setPath:function(e){return this.path=e,this}}),Object.assign(sA.prototype,{isSphericalHarmonics3:!0,set:function(e){for(var t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this},zero:function(){for(var e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this},getAt:function(e,t){var n=e.x,i=e.y,r=e.z,o=this.coefficients;return t=.282095*o[0],t+=.488603*o[1]*i,t+=.488603*o[2]*r,t+=.488603*o[3]*n,t+=1.092548*o[4]*(n*i),t+=1.092548*o[5]*(i*r),t+=.315392*o[6]*(3*r*r-1),(t+=1.092548*o[7]*(n*r))+.546274*o[8]*(n*n-i*i)},getIrradianceAt:function(e,t){var n=e.x,i=e.y,r=e.z,o=this.coefficients;return t=.886227*o[0],t+=2*o[1]*.511664*i,t+=2*o[2]*.511664*r,t+=2*o[3]*.511664*n,t+=2*o[4]*.429043*n*i,t+=2*o[5]*.429043*i*r,t+=o[6]*(.743125*r*r-.247708),(t+=2*o[7]*.429043*n*r)+.429043*o[8]*(n*n-i*i)},add:function(e){for(var t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this},scale:function(e){for(var t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this},lerp:function(e,t){for(var n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this},equals:function(e){for(var t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0},copy:function(e){return this.set(e.coefficients)},clone:function(){return(new this.constructor).copy(this)},fromArray:function(e){for(var t=this.coefficients,n=0;n<9;n++)t[n].fromArray(e,3*n);return this},toArray:function(){for(var e=[],t=this.coefficients,n=0;n<9;n++)t[n].toArray(e,3*n);return e}}),Object.assign(sA,{getBasisAt:function(e,t){var n=e.x,i=e.y,r=e.z;t[0]=.282095,t[1]=.488603*i,t[2]=.488603*r,t[3]=.488603*n,t[4]=1.092548*n*i,t[5]=1.092548*i*r,t[6]=.315392*(3*r*r-1),t[7]=1.092548*n*r,t[8]=.546274*(n*n-i*i)}}),lA.prototype=Object.assign(Object.create(If.prototype),{constructor:lA,isLightProbe:!0,copy:function(e){return If.prototype.copy.call(this,e),this.sh.copy(e.sh),this.intensity=e.intensity,this},toJSON:function(e){return If.prototype.toJSON.call(this,e)}}),cA.prototype=Object.assign(Object.create(lA.prototype),{constructor:cA,isHemisphereLightProbe:!0,copy:function(e){return lA.prototype.copy.call(this,e),this},toJSON:function(e){return lA.prototype.toJSON.call(this,e)}}),uA.prototype=Object.assign(Object.create(lA.prototype),{constructor:uA,isAmbientLightProbe:!0,copy:function(e){return lA.prototype.copy.call(this,e),this},toJSON:function(e){return lA.prototype.toJSON.call(this,e)}}),Object.assign(hA.prototype,{update:function(){var e,t,n,i,r,o,a,s,l=new Rl,c=new Rl;return function(u){if(e!==this||t!==u.focus||n!==u.fov||i!==u.aspect*this.aspect||r!==u.near||o!==u.far||a!==u.zoom||s!==this.eyeSep){e=this,t=u.focus,n=u.fov,i=u.aspect*this.aspect,r=u.near,o=u.far,a=u.zoom;var h,d,p=u.projectionMatrix.clone(),f=(s=this.eyeSep/2)*r/t,A=r*Math.tan(al.DEG2RAD*n*.5)/a;c.elements[12]=-s,l.elements[12]=s,h=-A*i+f,d=A*i+f,p.elements[0]=2*r/(d-h),p.elements[8]=(d+h)/(d-h),this.cameraL.projectionMatrix.copy(p),h=-A*i-f,d=A*i-f,p.elements[0]=2*r/(d-h),p.elements[8]=(d+h)/(d-h),this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(u.matrixWorld).multiply(c),this.cameraR.matrixWorld.copy(u.matrixWorld).multiply(l)}}()});var dA=90;function pA(e,t,n,i){nc.call(this),this.type="CubeCamera";var r=new Oh(dA,1,e,t);r.up.set(0,-1,0),r.lookAt(new cl(1,0,0)),this.add(r);var o=new Oh(dA,1,e,t);o.up.set(0,-1,0),o.lookAt(new cl(-1,0,0)),this.add(o);var a=new Oh(dA,1,e,t);a.up.set(0,0,1),a.lookAt(new cl(0,1,0)),this.add(a);var s=new Oh(dA,1,e,t);s.up.set(0,0,-1),s.lookAt(new cl(0,-1,0)),this.add(s);var l=new Oh(dA,1,e,t);l.up.set(0,-1,0),l.lookAt(new cl(0,0,1)),this.add(l);var c=new Oh(dA,1,e,t);c.up.set(0,-1,0),c.lookAt(new cl(0,0,-1)),this.add(c),i=i||{format:us,magFilter:qa,minFilter:qa},this.renderTarget=new Ll(n,n,i),this.renderTarget.texture.name="CubeCamera",this.update=function(e,t){null===this.parent&&this.updateMatrixWorld();var n=e.getRenderTarget(),i=this.renderTarget,u=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0),e.render(t,r),e.setRenderTarget(i,1),e.render(t,o),e.setRenderTarget(i,2),e.render(t,a),e.setRenderTarget(i,3),e.render(t,s),e.setRenderTarget(i,4),e.render(t,l),i.texture.generateMipmaps=u,e.setRenderTarget(i,5),e.render(t,c),e.setRenderTarget(n)},this.clear=function(e,t,n,i){for(var r=e.getRenderTarget(),o=this.renderTarget,a=0;a<6;a++)e.setRenderTarget(o,a),e.clear(t,n,i);e.setRenderTarget(r)}}function fA(e){this.autoStart=void 0===e||e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}function AA(){nc.call(this),this.type="AudioListener",this.context=oA(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0}function mA(e){nc.call(this),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.startTime=0,this.offset=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType="empty",this.filters=[]}function gA(e){mA.call(this,e),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}function vA(e,t){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=void 0!==t?t:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}function yA(e,t,n){this.binding=e,this.valueSize=n;var i,r=Float64Array;switch(t){case"quaternion":i=this._slerp;break;case"string":case"bool":r=Array,i=this._select;break;default:i=this._lerp}this.buffer=new r(4*n),this._mixBufferRegion=i,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}pA.prototype=Object.create(nc.prototype),pA.prototype.constructor=pA,Object.assign(fA.prototype,{start:function(){this.startTime=("undefined"==typeof performance?Date:performance).now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.running=!1,this.autoStart=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var t=("undefined"==typeof performance?Date:performance).now();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}),AA.prototype=Object.assign(Object.create(nc.prototype),{constructor:AA,getInput:function(){return this.gain},removeFilter:function(){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:function(){return this.filter},setFilter:function(e){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this},updateMatrixWorld:function(){var e=new cl,t=new ll,n=new cl,i=new cl,r=new fA;return function(o){nc.prototype.updateMatrixWorld.call(this,o);var a=this.context.listener,s=this.up;if(this.timeDelta=r.getDelta(),this.matrixWorld.decompose(e,t,n),i.set(0,0,-1).applyQuaternion(t),a.positionX){var l=this.context.currentTime+this.timeDelta;a.positionX.linearRampToValueAtTime(e.x,l),a.positionY.linearRampToValueAtTime(e.y,l),a.positionZ.linearRampToValueAtTime(e.z,l),a.forwardX.linearRampToValueAtTime(i.x,l),a.forwardY.linearRampToValueAtTime(i.y,l),a.forwardZ.linearRampToValueAtTime(i.z,l),a.upX.linearRampToValueAtTime(s.x,l),a.upY.linearRampToValueAtTime(s.y,l),a.upZ.linearRampToValueAtTime(s.z,l)}else a.setPosition(e.x,e.y,e.z),a.setOrientation(i.x,i.y,i.z,s.x,s.y,s.z)}}()}),mA.prototype=Object.assign(Object.create(nc.prototype),{constructor:mA,getOutput:function(){return this.gain},setNodeSource:function(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this},setMediaElementSource:function(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this},setBuffer:function(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(!0!==this.isPlaying){if(!1!==this.hasPlaybackControl){var e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.onended=this.onEnded.bind(this),this.startTime=this.context.currentTime,e.start(this.startTime,this.offset),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}console.warn("THREE.Audio: this Audio has no playback control.")}else console.warn("THREE.Audio: Audio is already playing.")},pause:function(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this.source.stop(),this.source.onended=null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")},stop:function(){if(!1!==this.hasPlaybackControl)return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")},connect:function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(var e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(e){return e||(e=[]),!0===this.isPlaying?(this.disconnect(),this.filters=e,this.connect()):this.filters=e,this},setDetune:function(e){if(this.detune=e,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this},getDetune:function(){return this.detune},getFilter:function(){return this.getFilters()[0]},setFilter:function(e){return this.setFilters(e?[e]:[])},setPlaybackRate:function(e){if(!1!==this.hasPlaybackControl)return this.playbackRate=e,!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:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(e){if(!1!==this.hasPlaybackControl)return this.loop=e,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")},getVolume:function(){return this.gain.gain.value},setVolume:function(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}}),gA.prototype=Object.assign(Object.create(mA.prototype),{constructor:gA,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(e){return this.panner.refDistance=e,this},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(e){return this.panner.rolloffFactor=e,this},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(e){return this.panner.distanceModel=e,this},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(e){return this.panner.maxDistance=e,this},setDirectionalCone:function(e,t,n){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=n,this},updateMatrixWorld:function(){var e=new cl,t=new ll,n=new cl,i=new cl;return function(r){if(nc.prototype.updateMatrixWorld.call(this,r),!0!==this.hasPlaybackControl||!1!==this.isPlaying){this.matrixWorld.decompose(e,t,n),i.set(0,0,1).applyQuaternion(t);var o=this.panner;if(o.positionX){var a=this.context.currentTime+this.listener.timeDelta;o.positionX.linearRampToValueAtTime(e.x,a),o.positionY.linearRampToValueAtTime(e.y,a),o.positionZ.linearRampToValueAtTime(e.z,a),o.orientationX.linearRampToValueAtTime(i.x,a),o.orientationY.linearRampToValueAtTime(i.y,a),o.orientationZ.linearRampToValueAtTime(i.z,a)}else o.setPosition(e.x,e.y,e.z),o.setOrientation(i.x,i.y,i.z)}}}()}),Object.assign(vA.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var e=0,t=this.getFrequencyData(),n=0;n<t.length;n++)e+=t[n];return e/t.length}}),Object.assign(yA.prototype,{accumulate:function(e,t){var n=this.buffer,i=this.valueSize,r=e*i+i,o=this.cumulativeWeight;if(0===o){for(var a=0;a!==i;++a)n[r+a]=n[a];o=t}else{var s=t/(o+=t);this._mixBufferRegion(n,r,0,s,i)}this.cumulativeWeight=o},apply:function(e){var t=this.valueSize,n=this.buffer,i=e*t+t,r=this.cumulativeWeight,o=this.binding;if(this.cumulativeWeight=0,r<1){var a=3*t;this._mixBufferRegion(n,i,a,1-r,t)}for(var s=t,l=t+t;s!==l;++s)if(n[s]!==n[s+t]){o.setValue(n,i);break}},saveOriginalState:function(){var e=this.binding,t=this.buffer,n=this.valueSize,i=3*n;e.getValue(t,i);for(var r=n,o=i;r!==o;++r)t[r]=t[i+r%n];this.cumulativeWeight=0},restoreOriginalState:function(){var e=3*this.valueSize;this.binding.setValue(this.buffer,e)},_select:function(e,t,n,i,r){if(i>=.5)for(var o=0;o!==r;++o)e[t+o]=e[n+o]},_slerp:function(e,t,n,i){ll.slerpFlat(e,t,e,t,e,n,i)},_lerp:function(e,t,n,i,r){for(var o=1-i,a=0;a!==r;++a){var s=t+a;e[s]=e[s]*o+e[n+a]*i}}});var bA,wA,xA,MA,EA,SA,TA,CA,IA,LA,DA,OA,NA,PA,kA,RA="\\[\\]\\.:\\/";function zA(e,t,n){var i=n||_A.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,i)}function _A(e,t,n){this.path=t,this.parsedPath=n||_A.parseTrackName(t),this.node=_A.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e}function BA(e,t,n){this._mixer=e,this._clip=t,this._localRoot=n||null;for(var i=t.tracks,r=i.length,o=new Array(r),a={endingStart:Hs,endingEnd:Hs},s=0;s!==r;++s){var l=i[s].createInterpolant(null);o[s]=l,l.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(r),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}function jA(e){this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function UA(e){"string"==typeof e&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),e=arguments[1]),this.value=e}function FA(e,t,n){qh.call(this,e,t),this.meshPerAttribute=n||1}function VA(e,t,n,i){this.ray=new Vc(e,t),this.near=n||0,this.far=i||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function HA(e,t){return e.distance-t.distance}function QA(e,t,n,i){if(!1!==e.visible&&(e.raycast(t,n),!0===i))for(var r=e.children,o=0,a=r.length;o<a;o++)QA(r[o],t,n,!0)}function WA(e,t){this.min=void 0!==e?e:new sl(1/0,1/0),this.max=void 0!==t?t:new sl(-1/0,-1/0)}function GA(e,t){this.start=void 0!==e?e:new cl,this.end=void 0!==t?t:new cl}function YA(e){nc.call(this),this.material=e,this.render=function(){}}function qA(e,t,n,i){this.object=e,this.size=void 0!==t?t:1;var r=void 0!==n?n:16711680,o=void 0!==i?i:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=3*s.faces.length:s&&s.isBufferGeometry&&(a=s.attributes.normal.count);var l=new bc,c=new Ac(2*a*3,3);l.addAttribute("position",c),rd.call(this,l,new nd({color:r,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function XA(e,t){nc.call(this),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;for(var n=new bc,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],r=0,o=1;r<32;r++,o++){var a=r/32*Math.PI*2,s=o/32*Math.PI*2;i.push(Math.cos(a),Math.sin(a),1,Math.cos(s),Math.sin(s),1)}n.addAttribute("position",new Ac(i,3));var l=new nd({fog:!1});this.cone=new rd(n,l),this.add(this.cone),this.update()}function ZA(e){var t=[];e&&e.isBone&&t.push(e);for(var n=0;n<e.children.length;n++)t.push.apply(t,ZA(e.children[n]));return t}function JA(e){for(var t=ZA(e),n=new bc,i=[],r=[],o=new Hl(0,0,1),a=new Hl(0,1,0),s=0;s<t.length;s++){var l=t[s];l.parent&&l.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),r.push(o.r,o.g,o.b),r.push(a.r,a.g,a.b))}n.addAttribute("position",new Ac(i,3)),n.addAttribute("color",new Ac(r,3));var c=new nd({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});rd.call(this,n,c),this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1}function KA(e,t,n){this.light=e,this.light.updateMatrixWorld(),this.color=n;var i=new lp(t,4,2),r=new Qc({wireframe:!0,fog:!1});Wc.call(this,i,r),this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}function $A(e,t){this.type="RectAreaLightHelper",this.light=e,this.color=t;var n=new bc;n.addAttribute("position",new Ac([1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],3)),n.computeBoundingSphere();var i=new nd({fog:!1});id.call(this,n,i);var r=new bc;r.addAttribute("position",new Ac([1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],3)),r.computeBoundingSphere(),this.add(new Wc(r,new Qc({side:Yo,fog:!1}))),this.update()}function em(e,t,n){nc.call(this),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n;var i=new bd(t);i.rotateY(.5*Math.PI),this.material=new Qc({wireframe:!0,fog:!1}),void 0===this.color&&(this.material.vertexColors=2);var r=i.getAttribute("position"),o=new Float32Array(3*r.count);i.addAttribute("color",new sc(o,3)),this.add(new Wc(i,this.material)),this.update()}function tm(e,t){this.lightProbe=e,this.size=t;var n=new Fc({defines:{GAMMA_OUTPUT:""},uniforms:{sh:{value:this.lightProbe.sh.coefficients},intensity:{value:this.lightProbe.intensity}},vertexShader:["varying vec3 vNormal;","void main() {","\tvNormal = normalize( normalMatrix * normal );","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["#define RECIPROCAL_PI 0.318309886","vec3 inverseTransformDirection( in vec3 normal, in mat4 matrix ) {","\t// matrix is assumed to be orthogonal","\treturn normalize( ( vec4( normal, 0.0 ) * matrix ).xyz );","}","vec3 linearToOutput( in vec3 a ) {","\t#ifdef GAMMA_OUTPUT","\t\treturn pow( a, vec3( 1.0 / float( GAMMA_FACTOR ) ) );","\t#else","\t\treturn a;","\t#endif","}","// source: https://graphics.stanford.edu/papers/envmap/envmap.pdf","vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {","\t// normal is assumed to have unit length","\tfloat x = normal.x, y = normal.y, z = normal.z;","\t// band 0","\tvec3 result = shCoefficients[ 0 ] * 0.886227;","\t// band 1","\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;","\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;","\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;","\t// band 2","\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;","\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;","\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );","\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;","\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );","\treturn result;","}","uniform vec3 sh[ 9 ]; // sh coefficients","uniform float intensity; // light probe intensity","varying vec3 vNormal;","void main() {","\tvec3 normal = normalize( vNormal );","\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );","\tvec3 irradiance = shGetIrradianceAt( worldNormal, sh );","\tvec3 outgoingLight = RECIPROCAL_PI * irradiance * intensity;","\toutgoingLight = linearToOutput( outgoingLight );","\tgl_FragColor = vec4( outgoingLight, 1.0 );","}"].join("\n")}),i=new lp(1,32,16);Wc.call(this,i,n),this.onBeforeRender()}function nm(e,t,n,i){e=e||10,t=t||10,n=new Hl(void 0!==n?n:4473924),i=new Hl(void 0!==i?i:8947848);for(var r=t/2,o=e/t,a=e/2,s=[],l=[],c=0,u=0,h=-a;c<=t;c++,h+=o){s.push(-a,0,h,a,0,h),s.push(h,0,-a,h,0,a);var d=c===r?n:i;d.toArray(l,u),u+=3,d.toArray(l,u),u+=3,d.toArray(l,u),u+=3,d.toArray(l,u),u+=3}var p=new bc;p.addAttribute("position",new Ac(s,3)),p.addAttribute("color",new Ac(l,3));var f=new nd({vertexColors:2});rd.call(this,p,f)}function im(e,t,n,i,r,o){e=e||10,t=t||16,n=n||8,i=i||64,r=new Hl(void 0!==r?r:4473924),o=new Hl(void 0!==o?o:8947848);var a,s,l,c,u,h,d,p=[],f=[];for(c=0;c<=t;c++)l=c/t*(2*Math.PI),a=Math.sin(l)*e,s=Math.cos(l)*e,p.push(0,0,0),p.push(a,0,s),d=1&c?r:o,f.push(d.r,d.g,d.b),f.push(d.r,d.g,d.b);for(c=0;c<=n;c++)for(d=1&c?r:o,h=e-e/n*c,u=0;u<i;u++)l=u/i*(2*Math.PI),a=Math.sin(l)*h,s=Math.cos(l)*h,p.push(a,0,s),f.push(d.r,d.g,d.b),l=(u+1)/i*(2*Math.PI),a=Math.sin(l)*h,s=Math.cos(l)*h,p.push(a,0,s),f.push(d.r,d.g,d.b);var A=new bc;A.addAttribute("position",new Ac(p,3)),A.addAttribute("color",new Ac(f,3));var m=new nd({vertexColors:2});rd.call(this,A,m)}function rm(e,t,n,i){this.audio=e,this.range=t||1,this.divisionsInnerAngle=n||16,this.divisionsOuterAngle=i||2;var r=new bc,o=this.divisionsInnerAngle+2*this.divisionsOuterAngle,a=new Float32Array(3*(3*o+3));r.addAttribute("position",new sc(a,3));var s=new nd({color:65280}),l=new nd({color:16776960});id.call(this,r,[l,s]),this.update()}function om(e,t,n,i){this.object=e,this.size=void 0!==t?t:1;var r=void 0!==n?n:16776960,o=void 0!==i?i:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=s.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");var l=new bc,c=new Ac(2*a*3,3);l.addAttribute("position",c),rd.call(this,l,new nd({color:r,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function am(e,t,n){nc.call(this),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,void 0===t&&(t=1);var i=new bc;i.addAttribute("position",new Ac([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));var r=new nd({fog:!1});this.lightPlane=new id(i,r),this.add(this.lightPlane),(i=new bc).addAttribute("position",new Ac([0,0,0,0,0,1],3)),this.targetLine=new id(i,r),this.add(this.targetLine),this.update()}function sm(e){var t=new bc,n=new nd({color:16777215,vertexColors:1}),i=[],r=[],o={},a=new Hl(16755200),s=new Hl(16711680),l=new Hl(43775),c=new Hl(16777215),u=new Hl(3355443);function h(e,t,n){d(e,n),d(t,n)}function d(e,t){i.push(0,0,0),r.push(t.r,t.g,t.b),void 0===o[e]&&(o[e]=[]),o[e].push(i.length/3-1)}h("n1","n2",a),h("n2","n4",a),h("n4","n3",a),h("n3","n1",a),h("f1","f2",a),h("f2","f4",a),h("f4","f3",a),h("f3","f1",a),h("n1","f1",a),h("n2","f2",a),h("n3","f3",a),h("n4","f4",a),h("p","n1",s),h("p","n2",s),h("p","n3",s),h("p","n4",s),h("u1","u2",l),h("u2","u3",l),h("u3","u1",l),h("c","t",c),h("p","c",u),h("cn1","cn2",u),h("cn3","cn4",u),h("cf1","cf2",u),h("cf3","cf4",u),t.addAttribute("position",new Ac(i,3)),t.addAttribute("color",new Ac(r,3)),rd.call(this,t,n),this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update()}function lm(e,t){this.object=e,void 0===t&&(t=16776960);var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new Float32Array(24),r=new bc;r.setIndex(new sc(n,1)),r.addAttribute("position",new sc(i,3)),rd.call(this,r,new nd({color:t})),this.matrixAutoUpdate=!1,this.update()}function cm(e,t){this.type="Box3Helper",this.box=e;var n=void 0!==t?t:16776960,i=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]),r=new bc;r.setIndex(new sc(i,1)),r.addAttribute("position",new Ac([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)),rd.call(this,r,new nd({color:n})),this.geometry.computeBoundingSphere()}function um(e,t,n){this.type="PlaneHelper",this.plane=e,this.size=void 0===t?1:t;var i=void 0!==n?n:16776960,r=new bc;r.addAttribute("position",new Ac([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,0,1,0,0,0],3)),r.computeBoundingSphere(),id.call(this,r,new nd({color:i}));var o=new bc;o.addAttribute("position",new Ac([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3)),o.computeBoundingSphere(),this.add(new Wc(o,new Qc({color:i,opacity:.2,transparent:!0,depthWrite:!1})))}function hm(e,t,n,i,r,o){nc.call(this),void 0===e&&(e=new cl(0,0,1)),void 0===t&&(t=new cl(0,0,0)),void 0===n&&(n=1),void 0===i&&(i=16776960),void 0===r&&(r=.2*n),void 0===o&&(o=.2*r),void 0===OA&&((OA=new bc).addAttribute("position",new Ac([0,0,0,0,1,0],3)),(NA=new vp(0,.5,1,5,1)).translate(0,-.5,0)),this.position.copy(t),this.line=new id(OA,new nd({color:i})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Wc(NA,new Qc({color:i})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,r,o)}function dm(e){var t=[0,0,0,e=e||1,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=new bc;n.addAttribute("position",new Ac(t,3)),n.addAttribute("color",new Ac([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));var i=new nd({vertexColors:2});rd.call(this,n,i)}function pm(e){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),pf.call(this,e),this.type="catmullrom"}Object.assign(zA.prototype,{getValue:function(e,t){this.bind();var n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(e,t)},setValue:function(e,t){for(var n=this._bindings,i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(e,t)},bind:function(){for(var e=this._bindings,t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()},unbind:function(){for(var e=this._bindings,t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}),Object.assign(_A,{Composite:zA,create:function(e,t,n){return e&&e.isAnimationObjectGroup?new _A.Composite(e,t,n):new _A(e,t,n)},sanitizeNodeName:(IA=new RegExp("["+RA+"]","g"),function(e){return e.replace(/\s/g,"_").replace(IA,"")}),parseTrackName:(bA="[^"+RA+"]",wA="[^"+RA.replace("\\.","")+"]",xA=/((?:WC+[\/:])*)/.source.replace("WC",bA),MA=/(WCOD+)?/.source.replace("WCOD",wA),EA=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",bA),SA=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",bA),TA=new RegExp("^"+xA+MA+EA+SA+"$"),CA=["material","materials","bones"],function(e){var t=TA.exec(e);if(!t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);var n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){var r=n.nodeName.substring(i+1);-1!==CA.indexOf(r)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=r)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}),findNode:function(e,t){if(!t||""===t||"root"===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){var n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){var i=function(e){for(var n=0;n<e.length;n++){var r=e[n];if(r.name===t||r.uuid===t)return r;var o=i(r.children);if(o)return o}return null},r=i(e.children);if(r)return r}return null}}),Object.assign(_A.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(e,t){e[t]=this.node[this.propertyName]},function(e,t){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)e[t++]=n[i]},function(e,t){e[t]=this.resolvedProperty[this.propertyIndex]},function(e,t){this.resolvedProperty.toArray(e,t)}],SetterByBindingTypeAndVersioning:[[function(e,t){this.targetObject[this.propertyName]=e[t]},function(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0},function(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=e[t++]},function(e,t){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=e[t++];this.targetObject.needsUpdate=!0},function(e,t){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){this.resolvedProperty[this.propertyIndex]=e[t]},function(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0},function(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){this.resolvedProperty.fromArray(e,t)},function(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0},function(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(e,t){this.bind(),this.getValue(e,t)},setValue:function(e,t){this.bind(),this.setValue(e,t)},bind:function(){var e=this.node,t=this.parsedPath,n=t.objectName,i=t.propertyName,r=t.propertyIndex;if(e||(e=_A.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,e){if(n){var o=t.objectIndex;switch(n){case"materials":if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!e.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);e=e.material.materials;break;case"bones":if(!e.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);e=e.skeleton.bones;for(var a=0;a<e.length;a++)if(e[a].name===o){o=a;break}break;default:if(void 0===e[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);e=e[n]}if(void 0!==o){if(void 0===e[o])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);e=e[o]}}var s=e[i];if(void 0!==s){var l=this.Versioning.None;this.targetObject=e,void 0!==e.needsUpdate?l=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(l=this.Versioning.MatrixWorldNeedsUpdate);var c=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===i){if(!e.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(e.geometry.isBufferGeometry){if(!e.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);for(a=0;a<this.node.geometry.morphAttributes.position.length;a++)if(e.geometry.morphAttributes.position[a].name===r){r=a;break}}else{if(!e.geometry.morphTargets)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.",this);for(a=0;a<this.node.geometry.morphTargets.length;a++)if(e.geometry.morphTargets[a].name===r){r=a;break}}}c=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(c=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(c=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=i;this.getValue=this.GetterByBindingType[c],this.setValue=this.SetterByBindingTypeAndVersioning[c][l]}else{var u=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+u+"."+i+" but it wasn't found.",e)}}else console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),Object.assign(_A.prototype,{_getValue_unbound:_A.prototype.getValue,_setValue_unbound:_A.prototype.setValue}),Object.assign(function(){this.uuid=al.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var e={};this._indicesByUUID=e;for(var t=0,n=arguments.length;t!==n;++t)e[arguments[t].uuid]=t;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var i=this;this.stats={objects:{get total(){return i._objects.length},get inUse(){return this.total-i.nCachedObjects_}},get bindingsPerObject(){return i._bindings.length}}}.prototype,{isAnimationObjectGroup:!0,add:function(){for(var e=this._objects,t=e.length,n=this.nCachedObjects_,i=this._indicesByUUID,r=this._paths,o=this._parsedPaths,a=this._bindings,s=a.length,l=void 0,c=0,u=arguments.length;c!==u;++c){var h=arguments[c],d=h.uuid,p=i[d];if(void 0===p){p=t++,i[d]=p,e.push(h);for(var f=0,A=s;f!==A;++f)a[f].push(new _A(h,r[f],o[f]))}else if(p<n){l=e[p];var m=--n,g=e[m];for(i[g.uuid]=p,e[p]=g,i[d]=m,e[m]=h,f=0,A=s;f!==A;++f){var v=a[f],y=v[m],b=v[p];v[p]=y,void 0===b&&(b=new _A(h,r[f],o[f])),v[m]=b}}else e[p]!==l&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=n},remove:function(){for(var e=this._objects,t=this.nCachedObjects_,n=this._indicesByUUID,i=this._bindings,r=i.length,o=0,a=arguments.length;o!==a;++o){var s=arguments[o],l=s.uuid,c=n[l];if(void 0!==c&&c>=t){var u=t++,h=e[u];n[h.uuid]=c,e[c]=h,n[l]=u,e[u]=s;for(var d=0,p=r;d!==p;++d){var f=i[d],A=f[u],m=f[c];f[c]=A,f[u]=m}}}this.nCachedObjects_=t},uncache:function(){for(var e=this._objects,t=e.length,n=this.nCachedObjects_,i=this._indicesByUUID,r=this._bindings,o=r.length,a=0,s=arguments.length;a!==s;++a){var l=arguments[a].uuid,c=i[l];if(void 0!==c)if(delete i[l],c<n){var u=--n,h=e[u],d=e[g=--t];i[h.uuid]=c,e[c]=h,i[d.uuid]=u,e[u]=d,e.pop();for(var p=0,f=o;p!==f;++p){var A=(v=r[p])[u],m=v[g];v[c]=A,v[u]=m,v.pop()}}else{var g;for(i[(d=e[g=--t]).uuid]=c,e[c]=d,e.pop(),p=0,f=o;p!==f;++p){var v;(v=r[p])[c]=v[g],v.pop()}}}this.nCachedObjects_=n},subscribe_:function(e,t){var n=this._bindingsIndicesByPath,i=n[e],r=this._bindings;if(void 0!==i)return r[i];var o=this._paths,a=this._parsedPaths,s=this._objects,l=s.length,c=this.nCachedObjects_,u=new Array(l);i=r.length,n[e]=i,o.push(e),a.push(t),r.push(u);for(var h=c,d=s.length;h!==d;++h){var p=s[h];u[h]=new _A(p,e,t)}return u},unsubscribe_:function(e){var t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){var i=this._paths,r=this._parsedPaths,o=this._bindings,a=o.length-1,s=o[a];t[e[a]]=n,o[n]=s,o.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}}),Object.assign(BA.prototype,{play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(e){return this._startTime=e,this},setLoop:function(e,t){return this.loop=e,this.repetitions=t,this},setEffectiveWeight:function(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(e){return this._scheduleFading(e,0,1)},fadeOut:function(e){return this._scheduleFading(e,1,0)},crossFadeFrom:function(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){var i=this._clip.duration,r=e._clip.duration,o=r/i,a=i/r;e.warp(1,o,t),this.warp(a,1,t)}return this},crossFadeTo:function(e,t,n){return e.crossFadeFrom(this,t,n)},stopFading:function(){var e=this._weightInterpolant;return null!==e&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},setEffectiveTimeScale:function(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(e){return this.timeScale=this._clip.duration/e,this.stopWarping()},syncWith:function(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()},halt:function(e){return this.warp(this._effectiveTimeScale,0,e)},warp:function(e,t,n){var i=this._mixer,r=i.time,o=this._timeScaleInterpolant,a=this.timeScale;null===o&&(o=i._lendControlInterpolant(),this._timeScaleInterpolant=o);var s=o.parameterPositions,l=o.sampleValues;return s[0]=r,s[1]=r+n,l[0]=e/a,l[1]=t/a,this},stopWarping:function(){var e=this._timeScaleInterpolant;return null!==e&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(e,t,n,i){if(this.enabled){var r=this._startTime;if(null!==r){var o=(e-r)*n;if(o<0||0===n)return;this._startTime=null,t=n*o}t*=this._updateTimeScale(e);var a=this._updateTime(t),s=this._updateWeight(e);if(s>0)for(var l=this._interpolants,c=this._propertyBindings,u=0,h=l.length;u!==h;++u)l[u].evaluate(a),c[u].accumulate(i,s)}else this._updateWeight(e)},_updateWeight:function(e){var t=0;if(this.enabled){t=this.weight;var n=this._weightInterpolant;if(null!==n){var i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=t,t},_updateTimeScale:function(e){var t=0;if(!this.paused){t=this.timeScale;var n=this._timeScaleInterpolant;null!==n&&(t*=n.evaluate(e)[0],e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t))}return this._effectiveTimeScale=t,t},_updateTime:function(e){var t=this.time+e,n=this._clip.duration,i=this.loop,r=this._loopCount,o=2202===i;if(0===e)return-1===r?t:o&&1==(1&r)?n-t:t;if(2200===i){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(t>=n)t=n;else{if(!(t<0)){this.time=t;break e}t=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=t,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(-1===r&&(e>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),t>=n||t<0){var a=Math.floor(t/n);t-=n*a,r+=Math.abs(a);var s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,t=e>0?n:0,this.time=t,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(1===s){var l=e<0;this._setEndings(l,!l,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this.time=t,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=t;if(o&&1==(1&r))return n-t}return t},_setEndings:function(e,t,n){var i=this._interpolantSettings;n?(i.endingStart=Qs,i.endingEnd=Qs):(i.endingStart=e?this.zeroSlopeAtStart?Qs:Hs:Ws,i.endingEnd=t?this.zeroSlopeAtEnd?Qs:Hs:Ws)},_scheduleFading:function(e,t,n){var i=this._mixer,r=i.time,o=this._weightInterpolant;null===o&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=r,s[0]=t,a[1]=r+e,s[1]=n,this}}),jA.prototype=Object.assign(Object.create(Ro.prototype),{constructor:jA,_bindAction:function(e,t){var n=e._localRoot||this._root,i=e._clip.tracks,r=i.length,o=e._propertyBindings,a=e._interpolants,s=n.uuid,l=this._bindingsByRootAndName,c=l[s];void 0===c&&(c={},l[s]=c);for(var u=0;u!==r;++u){var h=i[u],d=h.name,p=c[d];if(void 0!==p)o[u]=p;else{if(void 0!==(p=o[u])){null===p._cacheIndex&&(++p.referenceCount,this._addInactiveBinding(p,s,d));continue}var f=t&&t._propertyBindings[u].binding.parsedPath;++(p=new yA(_A.create(n,d,f),h.ValueTypeName,h.getValueSize())).referenceCount,this._addInactiveBinding(p,s,d),o[u]=p}a[u].resultBuffer=p.buffer}},_activateAction:function(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){var t=(e._localRoot||this._root).uuid,n=e._clip.uuid,i=this._actionsByClip[n];this._bindAction(e,i&&i.knownActions[0]),this._addInactiveAction(e,n,t)}for(var r=e._propertyBindings,o=0,a=r.length;o!==a;++o){var s=r[o];0==s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}},_deactivateAction:function(e){if(this._isActiveAction(e)){for(var t=e._propertyBindings,n=0,i=t.length;n!==i;++n){var r=t[n];0==--r.useCount&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(e)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}},_isActiveAction:function(e){var t=e._cacheIndex;return null!==t&&t<this._nActiveActions},_addInactiveAction:function(e,t,n){var i=this._actions,r=this._actionsByClip,o=r[t];if(void 0===o)o={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,r[t]=o;else{var a=o.knownActions;e._byClipCacheIndex=a.length,a.push(e)}e._cacheIndex=i.length,i.push(e),o.actionByRoot[n]=e},_removeInactiveAction:function(e){var t=this._actions,n=t[t.length-1],i=e._cacheIndex;n._cacheIndex=i,t[i]=n,t.pop(),e._cacheIndex=null;var r=e._clip.uuid,o=this._actionsByClip,a=o[r],s=a.knownActions,l=s[s.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c,s[c]=l,s.pop(),e._byClipCacheIndex=null,delete a.actionByRoot[(e._localRoot||this._root).uuid],0===s.length&&delete o[r],this._removeInactiveBindingsForAction(e)},_removeInactiveBindingsForAction:function(e){for(var t=e._propertyBindings,n=0,i=t.length;n!==i;++n){var r=t[n];0==--r.referenceCount&&this._removeInactiveBinding(r)}},_lendAction:function(e){var t=this._actions,n=e._cacheIndex,i=this._nActiveActions++,r=t[i];e._cacheIndex=i,t[i]=e,r._cacheIndex=n,t[n]=r},_takeBackAction:function(e){var t=this._actions,n=e._cacheIndex,i=--this._nActiveActions,r=t[i];e._cacheIndex=i,t[i]=e,r._cacheIndex=n,t[n]=r},_addInactiveBinding:function(e,t,n){var i=this._bindingsByRootAndName,r=i[t],o=this._bindings;void 0===r&&(r={},i[t]=r),r[n]=e,e._cacheIndex=o.length,o.push(e)},_removeInactiveBinding:function(e){var t=this._bindings,n=e.binding,i=n.rootNode.uuid,r=n.path,o=this._bindingsByRootAndName,a=o[i],s=t[t.length-1],l=e._cacheIndex;s._cacheIndex=l,t[l]=s,t.pop(),delete a[r];e:{for(var c in a)break e;delete o[i]}},_lendBinding:function(e){var t=this._bindings,n=e._cacheIndex,i=this._nActiveBindings++,r=t[i];e._cacheIndex=i,t[i]=e,r._cacheIndex=n,t[n]=r},_takeBackBinding:function(e){var t=this._bindings,n=e._cacheIndex,i=--this._nActiveBindings,r=t[i];e._cacheIndex=i,t[i]=e,r._cacheIndex=n,t[n]=r},_lendControlInterpolant:function(){var e=this._controlInterpolants,t=this._nActiveControlInterpolants++,n=e[t];return void 0===n&&((n=new Bp(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer)).__cacheIndex=t,e[t]=n),n},_takeBackControlInterpolant:function(e){var t=this._controlInterpolants,n=e.__cacheIndex,i=--this._nActiveControlInterpolants,r=t[i];e.__cacheIndex=i,t[i]=e,r.__cacheIndex=n,t[n]=r},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(e,t){var n=t||this._root,i=n.uuid,r="string"==typeof e?qp.findByName(n,e):e,o=null!==r?r.uuid:e,a=this._actionsByClip[o],s=null;if(void 0!==a){var l=a.actionByRoot[i];if(void 0!==l)return l;s=a.knownActions[0],null===r&&(r=s._clip)}if(null===r)return null;var c=new BA(this,r,t);return this._bindAction(c,s),this._addInactiveAction(c,o,i),c},existingAction:function(e,t){var n=t||this._root,i=n.uuid,r="string"==typeof e?qp.findByName(n,e):e,o=r?r.uuid:e,a=this._actionsByClip[o];return void 0!==a&&a.actionByRoot[i]||null},stopAllAction:function(){var e=this._actions,t=this._nActiveActions,n=this._bindings,i=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var r=0;r!==t;++r)e[r].reset();for(r=0;r!==i;++r)n[r].useCount=0;return this},update:function(e){e*=this.timeScale;for(var t=this._actions,n=this._nActiveActions,i=this.time+=e,r=Math.sign(e),o=this._accuIndex^=1,a=0;a!==n;++a)t[a]._update(i,e,r,o);var s=this._bindings,l=this._nActiveBindings;for(a=0;a!==l;++a)s[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(e){var t=this._actions,n=e.uuid,i=this._actionsByClip,r=i[n];if(void 0!==r){for(var o=r.knownActions,a=0,s=o.length;a!==s;++a){var l=o[a];this._deactivateAction(l);var c=l._cacheIndex,u=t[t.length-1];l._cacheIndex=null,l._byClipCacheIndex=null,u._cacheIndex=c,t[c]=u,t.pop(),this._removeInactiveBindingsForAction(l)}delete i[n]}},uncacheRoot:function(e){var t=e.uuid,n=this._actionsByClip;for(var i in n){var r=n[i].actionByRoot[t];void 0!==r&&(this._deactivateAction(r),this._removeInactiveAction(r))}var o=this._bindingsByRootAndName[t];if(void 0!==o)for(var a in o){var s=o[a];s.restoreOriginalState(),this._removeInactiveBinding(s)}},uncacheAction:function(e,t){var n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}}),UA.prototype.clone=function(){return new UA(void 0===this.value.clone?this.value:this.value.clone())},FA.prototype=Object.assign(Object.create(qh.prototype),{constructor:FA,isInstancedInterleavedBuffer:!0,copy:function(e){return qh.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this}}),Object.assign(VA.prototype,{linePrecision:1,set:function(e,t){this.ray.set(e,t)},setFromCamera:function(e,t){t&&t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize()):t&&t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(e,t,n){var i=n||[];return QA(e,this,i,t),i.sort(HA),i},intersectObjects:function(e,t,n){var i=n||[];if(!1===Array.isArray(e))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),i;for(var r=0,o=e.length;r<o;r++)QA(e[r],this,i,t);return i.sort(HA),i}}),Object.assign(function(e,t,n){return this.radius=void 0!==e?e:1,this.phi=void 0!==t?t:0,this.theta=void 0!==n?n:0,this}.prototype,{set:function(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this},makeSafe:function(){var e=1e-6;return this.phi=Math.max(e,Math.min(Math.PI-e,this.phi)),this},setFromVector3:function(e){return this.setFromCartesianCoords(e.x,e.y,e.z)},setFromCartesianCoords:function(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(al.clamp(t/this.radius,-1,1))),this}}),Object.assign(function(e,t,n){return this.radius=void 0!==e?e:1,this.theta=void 0!==t?t:0,this.y=void 0!==n?n:0,this}.prototype,{set:function(e,t,n){return this.radius=e,this.theta=t,this.y=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this},setFromVector3:function(e){return this.setFromCartesianCoords(e.x,e.y,e.z)},setFromCartesianCoords:function(e,t,n){return this.radius=Math.sqrt(e*e+n*n),this.theta=Math.atan2(e,n),this.y=t,this}}),Object.assign(WA.prototype,{set:function(e,t){return this.min.copy(e),this.max.copy(t),this},setFromPoints:function(e){this.makeEmpty();for(var t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this},setFromCenterAndSize:function(){var e=new sl;return function(t,n){var i=e.copy(n).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.min.copy(e.min),this.max.copy(e.max),this},makeEmpty:function(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(e){return void 0===e&&(console.warn("THREE.Box2: .getCenter() target is now required"),e=new sl),this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(e){return void 0===e&&(console.warn("THREE.Box2: .getSize() target is now required"),e=new sl),this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)},expandByPoint:function(e){return this.min.min(e),this.max.max(e),this},expandByVector:function(e){return this.min.sub(e),this.max.add(e),this},expandByScalar:function(e){return this.min.addScalar(-e),this.max.addScalar(e),this},containsPoint:function(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y},getParameter:function(e,t){return void 0===t&&(console.warn("THREE.Box2: .getParameter() target is now required"),t=new sl),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)},clampPoint:function(e,t){return void 0===t&&(console.warn("THREE.Box2: .clampPoint() target is now required"),t=new sl),t.copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new sl;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}),Object.assign(GA.prototype,{set:function(e,t){return this.start.copy(e),this.end.copy(t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.start.copy(e.start),this.end.copy(e.end),this},getCenter:function(e){return void 0===e&&(console.warn("THREE.Line3: .getCenter() target is now required"),e=new cl),e.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(e){return void 0===e&&(console.warn("THREE.Line3: .delta() target is now required"),e=new cl),e.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(e,t){return void 0===t&&(console.warn("THREE.Line3: .at() target is now required"),t=new cl),this.delta(t).multiplyScalar(e).add(this.start)},closestPointToPointParameter:(LA=new cl,DA=new cl,function(e,t){LA.subVectors(e,this.start),DA.subVectors(this.end,this.start);var n=DA.dot(DA),i=DA.dot(LA)/n;return t&&(i=al.clamp(i,0,1)),i}),closestPointToPoint:function(e,t,n){var i=this.closestPointToPointParameter(e,t);return void 0===n&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),n=new cl),this.delta(n).multiplyScalar(i).add(this.start)},applyMatrix4:function(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this},equals:function(e){return e.start.equals(this.start)&&e.end.equals(this.end)}}),YA.prototype=Object.create(nc.prototype),YA.prototype.constructor=YA,YA.prototype.isImmediateRenderObject=!0,qA.prototype=Object.create(rd.prototype),qA.prototype.constructor=qA,qA.prototype.update=function(){var e=new cl,t=new cl,n=new ul;return function(){var i=["a","b","c"];this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);var r=this.object.matrixWorld,o=this.geometry.attributes.position,a=this.object.geometry;if(a&&a.isGeometry)for(var s=a.vertices,l=a.faces,c=0,u=0,h=l.length;u<h;u++)for(var d=l[u],p=0,f=d.vertexNormals.length;p<f;p++){var A=s[d[i[p]]],m=d.vertexNormals[p];e.copy(A).applyMatrix4(r),t.copy(m).applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),o.setXYZ(c,e.x,e.y,e.z),c+=1,o.setXYZ(c,t.x,t.y,t.z),c+=1}else if(a&&a.isBufferGeometry){var g=a.attributes.position,v=a.attributes.normal;for(c=0,p=0,f=g.count;p<f;p++)e.set(g.getX(p),g.getY(p),g.getZ(p)).applyMatrix4(r),t.set(v.getX(p),v.getY(p),v.getZ(p)),t.applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),o.setXYZ(c,e.x,e.y,e.z),c+=1,o.setXYZ(c,t.x,t.y,t.z),c+=1}o.needsUpdate=!0}}(),XA.prototype=Object.create(nc.prototype),XA.prototype.constructor=XA,XA.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},XA.prototype.update=function(){var e=new cl;return function(){this.light.updateMatrixWorld();var t=this.light.distance?this.light.distance:1e3,n=t*Math.tan(this.light.angle);this.cone.scale.set(n,n,t),e.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(e),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}(),JA.prototype=Object.create(rd.prototype),JA.prototype.constructor=JA,JA.prototype.updateMatrixWorld=function(){var e=new cl,t=new Rl,n=new Rl;return function(i){var r=this.bones,o=this.geometry,a=o.getAttribute("position");n.getInverse(this.root.matrixWorld);for(var s=0,l=0;s<r.length;s++){var c=r[s];c.parent&&c.parent.isBone&&(t.multiplyMatrices(n,c.matrixWorld),e.setFromMatrixPosition(t),a.setXYZ(l,e.x,e.y,e.z),t.multiplyMatrices(n,c.parent.matrixWorld),e.setFromMatrixPosition(t),a.setXYZ(l+1,e.x,e.y,e.z),l+=2)}o.getAttribute("position").needsUpdate=!0,nc.prototype.updateMatrixWorld.call(this,i)}}(),KA.prototype=Object.create(Wc.prototype),KA.prototype.constructor=KA,KA.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},KA.prototype.update=function(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)},$A.prototype=Object.create(id.prototype),$A.prototype.constructor=$A,$A.prototype.update=function(){if(this.scale.set(.5*this.light.width,.5*this.light.height,1),void 0!==this.color)this.material.color.set(this.color),this.children[0].material.color.set(this.color);else{this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);var e=this.material.color,t=Math.max(e.r,e.g,e.b);t>1&&e.multiplyScalar(1/t),this.children[0].material.color.copy(this.material.color)}},$A.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()},em.prototype=Object.create(nc.prototype),em.prototype.constructor=em,em.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},em.prototype.update=function(){var e=new cl,t=new Hl,n=new Hl;return function(){var i=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{var r=i.geometry.getAttribute("color");t.copy(this.light.color),n.copy(this.light.groundColor);for(var o=0,a=r.count;o<a;o++){var s=o<a/2?t:n;r.setXYZ(o,s.r,s.g,s.b)}r.needsUpdate=!0}i.lookAt(e.setFromMatrixPosition(this.light.matrixWorld).negate())}}(),tm.prototype=Object.create(Wc.prototype),tm.prototype.constructor=tm,tm.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},tm.prototype.onBeforeRender=function(){this.position.copy(this.lightProbe.position),this.scale.set(1,1,1).multiplyScalar(this.size),this.material.uniforms.intensity.value=this.lightProbe.intensity},nm.prototype=Object.assign(Object.create(rd.prototype),{constructor:nm,copy:function(e){return rd.prototype.copy.call(this,e),this.geometry.copy(e.geometry),this.material.copy(e.material),this},clone:function(){return(new this.constructor).copy(this)}}),im.prototype=Object.create(rd.prototype),im.prototype.constructor=im,rm.prototype=Object.create(id.prototype),rm.prototype.constructor=rm,rm.prototype.update=function(){var e,t,n=this.audio,i=this.range,r=this.divisionsInnerAngle,o=this.divisionsOuterAngle,a=al.degToRad(n.panner.coneInnerAngle),s=al.degToRad(n.panner.coneOuterAngle),l=a/2,c=s/2,u=0,h=0,d=this.geometry,p=d.attributes.position;function f(n,r,o,a){var s=(r-n)/o;for(p.setXYZ(u,0,0,0),h++,e=n;e<r;e+=s)t=u+h,p.setXYZ(t,Math.sin(e)*i,0,Math.cos(e)*i),p.setXYZ(t+1,Math.sin(Math.min(e+s,r))*i,0,Math.cos(Math.min(e+s,r))*i),p.setXYZ(t+2,0,0,0),h+=3;d.addGroup(u,h,a),u+=h,h=0}d.clearGroups(),f(-c,-l,o,0),f(-l,l,r,1),f(l,c,o,0),p.needsUpdate=!0,a===s&&(this.material[0].visible=!1)},rm.prototype.dispose=function(){this.geometry.dispose(),this.material[0].dispose(),this.material[1].dispose()},om.prototype=Object.create(rd.prototype),om.prototype.constructor=om,om.prototype.update=function(){var e=new cl,t=new cl,n=new ul;return function(){this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);for(var i=this.object.matrixWorld,r=this.geometry.attributes.position,o=this.object.geometry,a=o.vertices,s=o.faces,l=0,c=0,u=s.length;c<u;c++){var h=s[c],d=h.normal;e.copy(a[h.a]).add(a[h.b]).add(a[h.c]).divideScalar(3).applyMatrix4(i),t.copy(d).applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),r.setXYZ(l,e.x,e.y,e.z),l+=1,r.setXYZ(l,t.x,t.y,t.z),l+=1}r.needsUpdate=!0}}(),am.prototype=Object.create(nc.prototype),am.prototype.constructor=am,am.prototype.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},am.prototype.update=function(){var e=new cl,t=new cl,n=new cl;return function(){e.setFromMatrixPosition(this.light.matrixWorld),t.setFromMatrixPosition(this.light.target.matrixWorld),n.subVectors(t,e),this.lightPlane.lookAt(t),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(t),this.targetLine.scale.z=n.length()}}(),sm.prototype=Object.create(rd.prototype),sm.prototype.constructor=sm,sm.prototype.update=function(){var e,t,n=new cl,i=new Dh;function r(r,o,a,s){n.set(o,a,s).unproject(i);var l=t[r];if(void 0!==l)for(var c=e.getAttribute("position"),u=0,h=l.length;u<h;u++)c.setXYZ(l[u],n.x,n.y,n.z)}return function(){e=this.geometry,t=this.pointMap,i.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),r("c",0,0,-1),r("t",0,0,1),r("n1",-1,-1,-1),r("n2",1,-1,-1),r("n3",-1,1,-1),r("n4",1,1,-1),r("f1",-1,-1,1),r("f2",1,-1,1),r("f3",-1,1,1),r("f4",1,1,1),r("u1",.7,1.1,-1),r("u2",-.7,1.1,-1),r("u3",0,2,-1),r("cf1",-1,0,1),r("cf2",1,0,1),r("cf3",0,-1,1),r("cf4",0,1,1),r("cn1",-1,0,-1),r("cn2",1,0,-1),r("cn3",0,-1,-1),r("cn4",0,1,-1),e.getAttribute("position").needsUpdate=!0}}(),lm.prototype=Object.create(rd.prototype),lm.prototype.constructor=lm,lm.prototype.update=function(){var e=new Ol;return function(t){if(void 0!==t&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&e.setFromObject(this.object),!e.isEmpty()){var n=e.min,i=e.max,r=this.geometry.attributes.position,o=r.array;o[0]=i.x,o[1]=i.y,o[2]=i.z,o[3]=n.x,o[4]=i.y,o[5]=i.z,o[6]=n.x,o[7]=n.y,o[8]=i.z,o[9]=i.x,o[10]=n.y,o[11]=i.z,o[12]=i.x,o[13]=i.y,o[14]=n.z,o[15]=n.x,o[16]=i.y,o[17]=n.z,o[18]=n.x,o[19]=n.y,o[20]=n.z,o[21]=i.x,o[22]=n.y,o[23]=n.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),lm.prototype.setFromObject=function(e){return this.object=e,this.update(),this},lm.prototype.copy=function(e){return rd.prototype.copy.call(this,e),this.object=e.object,this},lm.prototype.clone=function(){return(new this.constructor).copy(this)},cm.prototype=Object.create(rd.prototype),cm.prototype.constructor=cm,cm.prototype.updateMatrixWorld=function(e){var t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),nc.prototype.updateMatrixWorld.call(this,e))},um.prototype=Object.create(id.prototype),um.prototype.constructor=um,um.prototype.updateMatrixWorld=function(e){var t=-this.plane.constant;Math.abs(t)<1e-8&&(t=1e-8),this.scale.set(.5*this.size,.5*this.size,t),this.children[0].material.side=t<0?Yo:Go,this.lookAt(this.plane.normal),nc.prototype.updateMatrixWorld.call(this,e)},hm.prototype=Object.create(nc.prototype),hm.prototype.constructor=hm,hm.prototype.setDirection=(kA=new cl,function(e){e.y>.99999?this.quaternion.set(0,0,0,1):e.y<-.99999?this.quaternion.set(1,0,0,0):(kA.set(e.z,0,-e.x).normalize(),PA=Math.acos(e.y),this.quaternion.setFromAxisAngle(kA,PA))}),hm.prototype.setLength=function(e,t,n){void 0===t&&(t=.2*e),void 0===n&&(n=.2*t),this.line.scale.set(1,Math.max(0,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()},hm.prototype.setColor=function(e){this.line.material.color.copy(e),this.cone.material.color.copy(e)},hm.prototype.copy=function(e){return nc.prototype.copy.call(this,e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this},hm.prototype.clone=function(){return(new this.constructor).copy(this)},dm.prototype=Object.create(rd.prototype),dm.prototype.constructor=dm,of.create=function(e,t){return console.log("THREE.Curve.create() has been deprecated"),e.prototype=Object.create(of.prototype),e.prototype.constructor=e,e.prototype.getPoint=t,e},Object.assign(Sf.prototype,{createPointsGeometry:function(e){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var t=this.getPoints(e);return this.createGeometry(t)},createSpacedPointsGeometry:function(e){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var t=this.getSpacedPoints(e);return this.createGeometry(t)},createGeometry:function(e){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var t=new ac,n=0,i=e.length;n<i;n++){var r=e[n];t.vertices.push(new cl(r.x,r.y,r.z||0))}return t}}),Object.assign(Tf.prototype,{fromPoints:function(e){console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(e)}}),Object.create(pf.prototype),Object.create(pf.prototype),pm.prototype=Object.create(pf.prototype),Object.assign(pm.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),nm.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},JA.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Object.assign(rA.prototype,{extractUrlBase:function(e){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),Uf(e)}}),Object.assign(Wf.prototype,{setTexturePath:function(e){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(e)}}),Object.assign(WA.prototype,{center:function(e){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},size:function(e){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(e)}}),Object.assign(Ol.prototype,{center:function(e){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionSphere:function(e){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)},size:function(e){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(e)}}),GA.prototype.center=function(e){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(e)},Object.assign(al,{random16:function(){return console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."),Math.random()},nearestPowerOfTwo:function(e){return console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo()."),al.floorPowerOfTwo(e)},nextPowerOfTwo:function(e){return console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo()."),al.ceilPowerOfTwo(e)}}),Object.assign(ul.prototype,{flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},multiplyVector3:function(e){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),e.applyMatrix3(this)},multiplyVector3Array:function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBuffer:function(e){return console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(e)},applyToVector3Array:function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}),Object.assign(Rl.prototype,{extractPosition:function(e){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(e)},flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},getPosition:function(){var e;return function(){return void 0===e&&(e=new cl),console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),e.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(e){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(e)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(e){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},multiplyVector4:function(e){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},multiplyVector3Array:function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(e){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),e.transformDirection(this)},crossVector:function(e){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(e){return console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(e)},applyToVector3Array:function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(e,t,n,i,r,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(e,t,i,n,r,o)}}),Pl.prototype.isIntersectionLine=function(e){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(e)},ll.prototype.multiplyVector3=function(e){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),e.applyQuaternion(this)},Object.assign(Vc.prototype,{isIntersectionBox:function(e){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionPlane:function(e){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(e)},isIntersectionSphere:function(e){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)}}),Object.assign(Hc.prototype,{area:function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},barycoordFromPoint:function(e,t){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(e,t)},midpoint:function(e){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(e)},normal:function(e){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(e)},plane:function(e){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(e)}}),Object.assign(Hc,{barycoordFromPoint:function(e,t,n,i,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),Hc.getBarycoord(e,t,n,i,r)},normal:function(e,t,n,i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),Hc.getNormal(e,t,n,i)}}),Object.assign(Cf.prototype,{extractAllPoints:function(e){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(e)},extrude:function(e){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new tp(this,e)},makeGeometry:function(e){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new pp(this,e)}}),Object.assign(sl.prototype,{fromAttribute:function(e,t,n){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)},distanceToManhattan:function(e){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(e)},lengthManhattan:function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(cl.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(e){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(e)},getScaleFromMatrix:function(e){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(e)},getColumnFromMatrix:function(e,t){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(t,e)},applyProjection:function(e){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(e)},fromAttribute:function(e,t,n){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)},distanceToManhattan:function(e){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(e)},lengthManhattan:function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(Tl.prototype,{fromAttribute:function(e,t,n){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)},lengthManhattan:function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(ac.prototype,{computeTangents:function(){console.error("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}}),Object.assign(nc.prototype,{getChildByName:function(e){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(e)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(e,t){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(t,e)},getWorldRotation:function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")}}),Object.defineProperties(nc.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(e){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=e}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Object.defineProperties(Kh.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(ed.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),$h.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},Object.defineProperty(of.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(e){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=e}}),Oh.prototype.setLens=function(e,t){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==t&&(this.filmGauge=t),this.setFocalLength(e)},Object.defineProperties(If.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(e){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(e){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(e){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=e}}}),Object.defineProperties(sc.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},copyIndicesArray:function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")}}),Object.assign(bc.prototype,{addIndex:function(e){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(e)},addDrawCall:function(e,t,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(e,t)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}}),Object.defineProperties(bc.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.assign(np.prototype,{getArrays:function(){console.error("THREE.ExtrudeBufferGeometry: .getArrays() has been removed.")},addShapeList:function(){console.error("THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.")},addShape:function(){console.error("THREE.ExtrudeBufferGeometry: .addShape() has been removed.")}}),Object.defineProperties(UA.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(Tc.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new Hl}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===e}}}),Object.defineProperties(Ip.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(Fc.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(e){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=e}}}),Object.assign(Qh.prototype,{clearTarget:function(e,t,n,i){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(e),this.clear(t,n,i)},animate:function(e){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(e)},getCurrentRenderTarget:function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},getMaxAnisotropy:function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},getPrecision:function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},resetGLState:function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(e){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(e)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},setFaceCulling:function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},allocTextureUnit:function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},setTexture:function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},setTexture2D:function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},setTextureCube:function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")}}),Object.defineProperties(Qh.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=e}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(Sh.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(Ll.prototype,{activeCubeFace:{set:function(){console.warn("THREE.WebGLRenderTargetCube: .activeCubeFace has been removed. It is now the second parameter of WebGLRenderer.setRenderTarget().")}},activeMipMapLevel:{set:function(){console.warn("THREE.WebGLRenderTargetCube: .activeMipMapLevel has been removed. It is now the third parameter of WebGLRenderer.setRenderTarget().")}}}),Object.defineProperties(Cl.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=e}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=e}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=e}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=e}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(e){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=e}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(e){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=e}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(e){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=e}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(e){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=e}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(e){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=e}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(e){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=e}}}),Object.defineProperties(Vh.prototype,{standing:{set:function(){console.warn("THREE.WebVRManager: .standing has been removed.")}},userHeight:{set:function(){console.warn("THREE.WebVRManager: .userHeight has been removed.")}}}),mA.prototype.load=function(e){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var t=this;return(new aA).load(e,(function(e){t.setBuffer(e)})),this},vA.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},pA.prototype.updateCubeMap=function(e,t){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(e,t)},Ml.crossOrigin=void 0,Ml.loadTexture=function(e,t,n,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var r=new rf;r.setCrossOrigin(this.crossOrigin);var o=r.load(e,n,void 0,i);return t&&(o.mapping=t),o},Ml.loadTextureCube=function(e,t,n,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var r=new nf;r.setCrossOrigin(this.crossOrigin);var o=r.load(e,n,void 0,i);return t&&(o.mapping=t),o},Ml.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},Ml.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};var fm=r(155);const Am={three:"^0.105.2"},mm=("0.12.1".split(".")[1],Am.three.split(".")[1]),gm=(Am.three.replace(/[^0-9.]/g,""),{ORBIT:0,DEVICEORIENTATION:1}),vm={Info:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAABAAAAAQADq8/hgAAADBklEQVR42u2bP08UQRiHnzFaSYCI/xoksdBIqGwIiYWRUBISExpCQ0ej38FWOmlIKKhoMPEbaCxsrrHiYrQgOSlQEaICrT+LHSPZzNzt3s3c3Hn7lHvLzvv82L2dm30XKioqKgYY062BJF0HpoA7wARwBbhsPz4DjoEG8AnYNcZ8Sx1Op8IXJM1KWpdUV3nq9m9nJV1I7VNGfEzSM0mNNqR9NOwxx1L7NRMflbQm6SSgeJ4TO8Zoat+8/LKkg4jieQ4kLaf2RtKwpJ0uiufZkTScSn5S0l5C+b/sSZrstvyMpKPU5uc4kjTTjkvpeYCkaeA1/+7hvcIZMGuMqUULQNIU8Aa4ltrWwyHwyBizGzwASSPAe+B2assW7AH3jTE/i+xcZoa12Qfy2Bo3i+5cKABl99zF1GYlWFTBeULLS0DZrOsDcDNggTXgc27bLWA64BhfgHvGmB8dHUXZ1DM0S45xliKMs9bKr+klIOkqsBrwv9JtVq1DewEAT4Ch1BYdMGQdygeg7Df4SmqDAKyoyXpCszPgITCeuvoAjFuX0gE8jljUdv7bCtiOOJ7XpdUZ8L/gdXHOA5QtYH5NXXVgbrgWWn1nwFTqaiPgdPIFcDd1tRFwOl307DwRuZgXwLvctgfA04hjOp18AcReZ6sZY16e3yDpUuQxnU6+S2AkcjEpcDr1zxOXSPgCKLSa0mc4nXwB/EpdbQScTr4AGqmrjYDTyRfAx9TVRsDp5Aug8LJyH+F0cgZg58z11BUHpO5ruGh2G3ybuuqAeF2aBfAqddUB8bq0OgP2U1cegH3aOQOMMb+BrdTVB2DLupQLwLIOnKY26IBT6+ClaQDGmO/ARmqLDtiwDn7HVkcY+EdjNoTlCI+tYhO2iUppm6HKslPUq2qQKHpUe8AFsjaUXuUQWCgqXyoAG8IuME/WkNRrnAHzZfqDSgdgQ6gBc2Td3b3CMTBXtkOsIzTIjZLnQhjcVtlcEIPZLJ0LoVvt8s/Va+3yuSAG84UJRxB98cpM9dJURUVFxSDzBxKde4Lk3/h2AAAAAElFTkSuQmCC",Arrow:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAABAAAAAQADq8/hgAAADPklEQVR42u2bMUscQRiG30/SRaJEI1ZKUiRErNIELRUbQYSAnX8hpVUgkDYp0wgWVjYW+QcJaQzYpLojJIXhtDDEKBpj65ti58ixmdmb2ZvZ7+T2AUHudmfmeXf2bnb3O6CmpqZmgJGqOiI5AWAWwEMA0wDuArht3r4CcAagBeAbgIaI/NQOp1fhIZKLJN+SbDKcptl3keSQtk+I+BjJVyRbJaRdtEybY9p+ReKjJN+QvIwonufS9DGq7ZuXXyd5nFA8zzHJdW1vkLxDcrdC8Ty7JO9oyc+QPFCUb3NAcqZq+TmSp9rmHZySnCvjErwOIPkUwHv8+w7vF64ALIrIfrIASM4C+ADgnratgxMACyLSiB4AyREAnwE80LbswgGAJyJy4bNxyApr6wbIw4xxy3djrwCYfeeuaZsFsEbPdULXU4DZqusLgMkEA21P05EEbf8A8FhEzos28pkBLxLKL5s/r/M1kEkz9vKQHGeatf05yfmOfubNa7G5JDle5NhtBjwHMBz5yFwAWBaRT+0XzP8pZsKwcQiH2fX8Ycojb+kzxUw4ZJn7CSQXqpRPHMKCq7+iZJ71Mvdy/DftXSQ6HcJdSDaqPPKW/mPOBO+lcbvzCU35RCFM2PpwnQKzZQfdgfe0dxH5dLA6uQJ4pC2fIASrkyuA6X6QjxyC1ckVQNn7bNHlI4ZgdXIFUObiJJl8pBCsTjGfuIwA2Cv4FN7xbYjkjqsRAHuIePXoCiDF1Zk2VidXAL+1R5sAq5MrgJb2aBNgdXIF8FV7tAmwOrkCCFs73wysTtYATHFCU3vEEWm6Ci6KvgY/ao86Ik6XogDeaY86Ik6XbjPgSHvkEThCwQy45XpDRK5JbgN4GWkgUyR9H65MRQxgW0SunZ5FezK7pfwd8e8MV8UfAPdF5Jdrg8JrAbPjprZFD2wWyQP6j8ZSEufRmGlgQ9umBBvd5IOgbjFUKLu+XnWBhG+rpsFVZGUo/coJgFVf+aAATAgNACvICpL6jSsAKyH1QcEBmBD2ASwhq+7uF84ALIVWiPUEB7lQsiOEwS2VzQUxmMXSuRCqKpd/zX4rl88FMZg/mLAEcSN+MlP/aKqmpqZmkPkL0hSjwOpNKxwAAAAASUVORK5CYII=",FullscreenEnter:"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICAgIDxwYXRoIGQ9Ik03IDE0SDV2NWg1di0ySDd2LTN6bS0yLTRoMlY3aDNWNUg1djV6bTEyIDdoLTN2Mmg1di01aC0ydjN6TTE0IDV2MmgzdjNoMlY1aC01eiIvPgo8L3N2Zz4=",FullscreenLeave:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZiIgZD0iTTE0LDE0SDE5VjE2SDE2VjE5SDE0VjE0TTUsMTRIMTBWMTlIOFYxNkg1VjE0TTgsNUgxMFYxMEg1VjhIOFY1TTE5LDhWMTBIMTRWNUgxNlY4SDE5WiIgLz48L3N2Zz4=",VideoPlay:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZiIgZD0iTTgsNS4xNFYxOS4xNEwxOSwxMi4xNEw4LDUuMTRaIiAvPjwvc3ZnPg==",VideoPause:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZiIgZD0iTTE0LDE5LjE0SDE4VjUuMTRIMTRNNiwxOS4xNEgxMFY1LjE0SDZWMTkuMTRaIiAvPjwvc3ZnPg==",WhiteTile:"data:image/png;base64,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",Setting:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAABAAAAAQADq8/hgAAADn0lEQVR42u2bzUsVURjGnyO6CPzAMnTjppAo3LTwH1CqTfaxbeOiRS37A0wXtROFVi1aRBs3LWohSIGbQAQXViBGRhG0UIRKUCpK7q/FnOB2uc6cOXNmRnGe3eW+H8/7zLln3vNxpQoVKlQ4wjBFJAFOSRqX1O7osivpvjHmU1nChBZglvSYLYJbS0EanCvIJzWK+gnsyH34/8OuMaYjb265jwCgz6N4SWq3vodbAEmnS/KtBDgoAgyU5BteAOAkMAPcBroc7PskDWfgN+wyDwBdltMMcDI3tYBnde/pHeARMNTErgd4APzweP834oeN1dMkz5DlsFNn/yyv4kdiSK4At4AO4CqwGaDwRmza2B0210qM7YhrXU59ANAq6bWkwQTTn5KO5fIE0uVYlXTeGLOXFMx1DrjlULwKKN41x6DlnIjEEQCckPRe0okCiguJr5LOGGO+xhm5jICJQ1i8LOeJJKPYEQAMKvrtt5ZdjSf2FM0Fq/sZJI2A6UNcvCz36TiDfUcAcE1SPu/U6Mm8k/TFfu6XdFb5iX3dGPM8lQfwNod3+TowBnQ3yddtv1vPIe+b1JIBiwEJ1IAJ208k5W21trWA+V/5CHAcmAtU/A2P/DcCiTAHHE8tgCVhgLvAXgYCk17Jo/yTGfLuWe7Zd72AC8CWB4n3OAz7mLytNkZabAEXMhfeQKYfWEpJZCxA3rGUOZeA/qDF15FpAz47EvlNk9neI2e3jeWCz0BbmvipNkSMMX8kuSZYM8Z8zyqAjbHmaN5mOeYjgIXrU93MWrxHrNQjrqiDkQMLHwG+OdqF3NN3jeXKzU8AoF1SzdH8XKhJUO7HZDXLMbwAwICkJUULFxe0SbqSVQAbw3Xi7Ze0ZLmGAzAKbHs0JGU1QtvAaIjCW4B7ZOvJy2qFa5a730RPtBiaz0CgnkiZi6F5fBZDVMvho7EhcuS3xJJ2hV9IupgTqaLw0hhzab8vq23xOG/r+LDsKjLgYVzxUnU0ltwK2wDezUyJmEwqXgp/PL4rvxthaeCSI+zxuA10J8ZkWdJNSb2SLkvayKHwDRu71+ZajrG941J8agALDQ3GU/a/IvMkYCPzmCbtLNEVmacNtgs5iP9fYVNEV1Q6Hez7yNZSL+J2SarTcpqiyV2iUkG0IvPFvbz5FbEn+KEk3wMjwMeSfCsBXFBdly9CAPk9ydyffpECuB5tZfVJjaKWueOSfinln6YK4lahQoUKRxd/AcRPGTcQCAUQAAAAAElFTkSuQmCC",ChevronRight:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTguNTksMTYuNThMMTMuMTcsMTJMOC41OSw3LjQxTDEwLDZMMTYsMTJMMTAsMThMOC41OSwxNi41OFoiIC8+PC9zdmc+",Check:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIxLDdMOSwxOUwzLjUsMTMuNUw0LjkxLDEyLjA5TDksMTYuMTdMMTkuNTksNS41OUwyMSw3WiIgLz48L3N2Zz4=",ViewIndicator:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0idmlldy1pbmRpY2F0b3IiIGhlaWdodD0iMzAiIHdpZHRoPSIzMCIgdmlld0JveD0iLTIuNSAtMSAzMCAzMCI+Cgk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7ZmlsbDpub25lO30uc3Qxe3N0cm9rZS13aWR0aDo2O3N0cm9rZS1taXRlcmxpbWl0OjEwO30KCTwvc3R5bGU+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNIDEyLjUgMCBBIDEyLjUgMTIuNSAwIDAgMCAtMTIuNSAwIEEgMTIuNSAxMi41IDAgMCAwIDEyLjUgMCIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMywxNS41KSI+PC9wYXRoPgoJCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0gMTMgMCBMIDEwIDIgTCAxNiAyIFoiPjwvcGF0aD4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNIDIgMCBBIDIgMiAwIDAgMCAtMiAwIEEgMiAyIDAgMCAwIDIgMCIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxMywxNS41KSI+PC9wYXRoPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGlkPSJpbmRpY2F0b3IiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTMsMTUuNSkiPjwvcGF0aD4KCTwvZz4KPC9zdmc+"},ym={load:function(e,t=(()=>{}),n=(()=>{}),i=(()=>{})){let r,o,a,s,l,c,u;Zp.enabled=!0;for(let t in vm)vm.hasOwnProperty(t)&&e===vm[t]&&(u=t);if(r=Zp.get(u||e),void 0!==r)return t&&setTimeout((function(){n({loaded:1,total:1}),t(r)}),0),r;l=window.URL||window.webkitURL,c=document.createElementNS("http://www.w3.org/1999/xhtml","img"),Zp.add(u||e,c);const h=()=>{l.revokeObjectURL(c.src),t(c)};if(0===e.indexOf("data:"))return c.addEventListener("load",h,!1),c.src=e,c;c.crossOrigin=void 0!==this.crossOrigin?this.crossOrigin:"",o=new window.XMLHttpRequest,o.open("GET",e,!0),"test"!==fm.env.npm_lifecycle_event&&(o.onreadystatechange=function(){4===this.readyState&&this.status>=400&&i()}),o.responseType="arraybuffer",o.addEventListener("error",i),o.addEventListener("progress",(e=>{if(!e)return;const{loaded:t,total:i,lengthComputable:r}=e;r&&n({loaded:t,total:i})})),o.addEventListener("loadend",(e=>{if(!e)return;const{currentTarget:{response:t}}=e;a=new Uint8Array(t),s=new window.Blob([a]),c.addEventListener("load",h,!1),c.src=l.createObjectURL(s)})),o.send(null)}},bm=function(e,t=(()=>{}),n,i){var r=new Sl;return ym.load(e,(function(n){r.image=n;const i=e.search(/\.(jpg|jpeg)$/)>0||0===e.search(/^data\:image\/jpeg/);r.format=i?us:hs,r.needsUpdate=!0,t(r)}),n,i),r};function wm(e){this.constraints=Object.assign({video:{width:{ideal:1920},height:{ideal:1080},facingMode:{exact:"environment"}},audio:!1},e),this.container=null,this.scene=null,this.element=null,this.devices=[],this.stream=null,this.ratioScalar=1,this.videoDeviceIndex=0}function xm(e=16777215,t=!0,n=1500){this.dpr=window.devicePixelRatio;const{canvas:i,context:r}=this.createCanvas(),o=new Zh({color:e,map:this.createCanvasTexture(i)});Jh.call(this,o),this.canvasWidth=i.width,this.canvasHeight=i.height,this.context=r,this.color=e instanceof Hl?e:new Hl(e),this.autoSelect=t,this.dwellTime=n,this.rippleDuration=500,this.position.z=-10,this.center.set(.5,.5),this.scale.set(.5,.5,1),this.startTimestamp=null,this.timerId=null,this.callback=null,this.frustumCulled=!1,this.updateCanvasArcByProgress(0)}wm.prototype=Object.assign(Object.create(Ro.prototype),{setContainer:function(e){this.container=e},setScene:function(e){this.scene=e},enumerateDevices:function(){const e=this.devices,t=new Promise((t=>{t(e)}));return e.length>0?t:window.navigator.mediaDevices.enumerateDevices()},switchNextVideoDevice:function(){const e=this.stop.bind(this),t=this.start.bind(this),n=this.setVideDeviceIndex.bind(this);let i=this.videoDeviceIndex;this.getDevices("video").then((r=>{e(),i++,i>=r.length?(n(0),i--):n(i),t(r[i])}))},getDevices:function(e="video"){const t=this.devices;return this.enumerateDevices().then((e=>e.map((e=>(t.includes(e)||t.push(e),e))))).then((t=>{const n=new RegExp(e,"i");return t.filter((e=>n.test(e.kind)))}))},getUserMedia:function(e){const t=this.setMediaStream.bind(this),n=this.playVideo.bind(this);return window.navigator.mediaDevices.getUserMedia(e).then(t).then(n).catch((e=>{console.warn(`PANOLENS.Media: ${e}`)}))},setVideDeviceIndex:function(e){this.videoDeviceIndex=e},start:function(e){const t=this.constraints,n=this.getUserMedia.bind(this);return this.element=this.createVideoElement(),this.getDevices().then((i=>{if(!i||0===i.length)throw Error("no video device found");const r=e||i[0];return t.video.deviceId=r.deviceId,n(t)}))},stop:function(){const e=this.stream;e&&e.active&&(e.getTracks()[0].stop(),window.removeEventListener("resize",this.onWindowResize.bind(this)),this.element=null,this.stream=null)},setMediaStream:function(e){this.stream=e,this.element.srcObject=e,this.scene&&(this.scene.background=this.createVideoTexture()),window.addEventListener("resize",this.onWindowResize.bind(this))},playVideo:function(){const{element:e}=this;e&&(e.play(),this.dispatchEvent({type:"play"}))},pauseVideo:function(){const{element:e}=this;e&&(e.pause(),this.dispatchEvent({type:"pause"}))},createVideoTexture:function(){const e=this.element,t=new ld(e);return t.generateMipmaps=!1,t.minFilter=qa,t.magFilter=qa,t.format=us,t.center.set(.5,.5),e.addEventListener("canplay",this.onWindowResize.bind(this)),t},createVideoElement:function(){const e=this.dispatchEvent.bind(this),t=document.createElement("video");return t.setAttribute("autoplay",""),t.setAttribute("muted",""),t.setAttribute("playsinline",""),t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.width="100%",t.style.height="100%",t.style.objectPosition="center",t.style.objectFit="cover",t.style.display=this.scene?"none":"",t.addEventListener("canplay",(()=>e({type:"canplay"}))),t},onWindowResize:function(){if(this.element&&this.element.videoWidth&&this.element.videoHeight&&this.scene){const{clientWidth:e,clientHeight:t}=this.container,n=this.scene.background,{videoWidth:i,videoHeight:r}=this.element,o=r/i*(this.container?e/t:1)*this.ratioScalar;e>t?n.repeat.set(o,1):n.repeat.set(1,1/o)}}}),xm.prototype=Object.assign(Object.create(Jh.prototype),{constructor:xm,setColor:function(e){this.material.color.copy(e instanceof Hl?e:new Hl(e))},createCanvasTexture:function(e){const t=new ud(e);return t.minFilter=qa,t.magFilter=qa,t.generateMipmaps=!1,t},createCanvas:function(){const e=document.createElement("canvas"),t=e.getContext("2d"),n=this.dpr;return e.width=32*n,e.height=32*n,t.scale(n,n),t.shadowBlur=5,t.shadowColor="rgba(200,200,200,0.9)",{canvas:e,context:t}},updateCanvasArcByProgress:function(e){const t=this.context,{canvasWidth:n,canvasHeight:i,material:r}=this,o=this.dpr,a=e*Math.PI*2,s=this.color.getStyle(),l=.5*n/o,c=.5*i/o;t.clearRect(0,0,n,i),t.beginPath(),0===e?(t.arc(l,c,n/16,0,2*Math.PI),t.fillStyle=s,t.fill()):(t.arc(l,c,n/4-3,-Math.PI/2,-Math.PI/2+a),t.strokeStyle=s,t.lineWidth=3,t.stroke()),t.closePath(),r.map.needsUpdate=!0},ripple:function(){const e=this.context,{canvasWidth:t,canvasHeight:n,material:i}=this,r=this.rippleDuration,o=performance.now(),a=this.color,s=this.dpr,l=.5*t/s,c=.5*n/s,u=()=>{const h=window.requestAnimationFrame(u),d=(performance.now()-o)/r,p=1-d>0?1-d:0,f=d*t*.5/s;e.clearRect(0,0,t,n),e.beginPath(),e.arc(l,c,f,0,2*Math.PI),e.fillStyle=`rgba(${255*a.r}, ${255*a.g}, ${255*a.b}, ${p})`,e.fill(),e.closePath(),d>=1&&(window.cancelAnimationFrame(h),this.updateCanvasArcByProgress(0),this.dispatchEvent({type:"reticle-ripple-end"})),i.map.needsUpdate=!0};this.dispatchEvent({type:"reticle-ripple-start"}),u()},show:function(){this.visible=!0},hide:function(){this.visible=!1},start:function(e){this.autoSelect&&(this.dispatchEvent({type:"reticle-start"}),this.startTimestamp=performance.now(),this.callback=e,this.update())},end:function(){this.startTimestamp&&(window.cancelAnimationFrame(this.timerId),this.updateCanvasArcByProgress(0),this.callback=null,this.timerId=null,this.startTimestamp=null,this.dispatchEvent({type:"reticle-end"}))},update:function(){this.timerId=window.requestAnimationFrame(this.update.bind(this));const e=(performance.now()-this.startTimestamp)/this.dwellTime;this.updateCanvasArcByProgress(e),this.dispatchEvent({type:"reticle-update",progress:e}),e>=1&&(window.cancelAnimationFrame(this.timerId),this.callback&&this.callback(),this.end(),this.ripple())}});var Mm=function(e,t){return function(e,t){var n=function(){this._tweens={},this._tweensAddedDuringUpdate={}};n.prototype={getAll:function(){return Object.keys(this._tweens).map(function(e){return this._tweens[e]}.bind(this))},removeAll:function(){this._tweens={}},add:function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},remove:function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},update:function(e,t){var n=Object.keys(this._tweens);if(0===n.length)return!1;for(e=void 0!==e?e:r.now();n.length>0;){this._tweensAddedDuringUpdate={};for(var i=0;i<n.length;i++){var o=this._tweens[n[i]];o&&!1===o.update(e)&&(o._isPlaying=!1,t||delete this._tweens[n[i]])}n=Object.keys(this._tweensAddedDuringUpdate)}return!0}};var i,r=new n;r.Group=n,r._nextId=0,r.nextId=function(){return r._nextId++},"undefined"==typeof self&&void 0!==fm&&fm.hrtime?r.now=function(){var e=fm.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?r.now=self.performance.now.bind(self.performance):void 0!==Date.now?r.now=Date.now:r.now=function(){return(new Date).getTime()},r.Tween=function(e,t){this._object=e,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._repeat=0,this._repeatDelayTime=void 0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=null,this._easingFunction=r.Easing.Linear.None,this._interpolationFunction=r.Interpolation.Linear,this._chainedTweens=[],this._onStartCallback=null,this._onStartCallbackFired=!1,this._onUpdateCallback=null,this._onRepeatCallback=null,this._onCompleteCallback=null,this._onStopCallback=null,this._group=t||r,this._id=r.nextId()},r.Tween.prototype={getId:function(){return this._id},isPlaying:function(){return this._isPlaying},to:function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},duration:function(e){return this._duration=e,this},start:function(e){for(var t in this._group.add(this),this._isPlaying=!0,this._onStartCallbackFired=!1,this._startTime=void 0!==e?"string"==typeof e?r.now()+parseFloat(e):e:r.now(),this._startTime+=this._delayTime,this._valuesEnd){if(this._valuesEnd[t]instanceof Array){if(0===this._valuesEnd[t].length)continue;this._valuesEnd[t]=[this._object[t]].concat(this._valuesEnd[t])}void 0!==this._object[t]&&(this._valuesStart[t]=this._object[t],this._valuesStart[t]instanceof Array==0&&(this._valuesStart[t]*=1),this._valuesStartRepeat[t]=this._valuesStart[t]||0)}return this},stop:function(){return this._isPlaying?(this._group.remove(this),this._isPlaying=!1,null!==this._onStopCallback&&this._onStopCallback(this._object),this.stopChainedTweens(),this):this},end:function(){return this.update(1/0),this},stopChainedTweens:function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop()},group:function(e){return this._group=e,this},delay:function(e){return this._delayTime=e,this},repeat:function(e){return this._repeat=e,this},repeatDelay:function(e){return this._repeatDelayTime=e,this},yoyo:function(e){return this._yoyo=e,this},easing:function(e){return this._easingFunction=e,this},interpolation:function(e){return this._interpolationFunction=e,this},chain:function(){return this._chainedTweens=arguments,this},onStart:function(e){return this._onStartCallback=e,this},onUpdate:function(e){return this._onUpdateCallback=e,this},onRepeat:function(e){return this._onRepeatCallback=e,this},onComplete:function(e){return this._onCompleteCallback=e,this},onStop:function(e){return this._onStopCallback=e,this},update:function(e){var t,n,i;if(e<this._startTime)return!0;for(t in!1===this._onStartCallbackFired&&(null!==this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),n=(e-this._startTime)/this._duration,n=0===this._duration||n>1?1:n,i=this._easingFunction(n),this._valuesEnd)if(void 0!==this._valuesStart[t]){var r=this._valuesStart[t]||0,o=this._valuesEnd[t];o instanceof Array?this._object[t]=this._interpolationFunction(o,i):("string"==typeof o&&(o="+"===o.charAt(0)||"-"===o.charAt(0)?r+parseFloat(o):parseFloat(o)),"number"==typeof o&&(this._object[t]=r+(o-r)*i))}if(null!==this._onUpdateCallback&&this._onUpdateCallback(this._object,n),1===n){if(this._repeat>0){for(t in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat){if("string"==typeof this._valuesEnd[t]&&(this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(this._valuesEnd[t])),this._yoyo){var a=this._valuesStartRepeat[t];this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=a}this._valuesStart[t]=this._valuesStartRepeat[t]}return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,null!==this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}null!==this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var s=0,l=this._chainedTweens.length;s<l;s++)this._chainedTweens[s].start(this._startTime+this._duration);return!1}return!0}},r.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-r.Easing.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*r.Easing.Bounce.In(2*e):.5*r.Easing.Bounce.Out(2*e-1)+.5}}},r.Interpolation={Linear:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),a=r.Interpolation.Utils.Linear;return t<0?a(e[0],e[1],i):t>1?a(e[n],e[n-1],n-i):a(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,a=r.Interpolation.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*a(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),a=r.Interpolation.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),a(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(a(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(a(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):a(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],i-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=r.Interpolation.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:(i=[1],function(e){var t=1;if(i[e])return i[e];for(var n=e;n>1;n--)t*=n;return i[e]=t,t}),CatmullRom:function(e,t,n,i,r){var o=.5*(n-e),a=.5*(i-t),s=r*r;return(2*t-2*n+o+a)*(r*s)+(-3*t+3*n-2*o-a)*s+o*r+t}}},e.exports=r}(t={exports:{}}),t.exports}();function Em(e=300,t,n){const i=500;t=t||vm.Info,Jh.call(this),this.type="infospot",this.animated=void 0===n||n,this.isHovering=!1,this.frustumCulled=!1,this.element=null,this.toPanorama=null,this.cursorStyle=null,this.mode=1,this.scale.set(e,e,1),this.rotation.y=Math.PI,this.container=null,this.originalRaycast=this.raycast,this.HANDLER_FOCUS=null,this.material.side=qo,this.material.depthTest=!1,this.material.transparent=!0,this.material.opacity=0,this.scaleUpAnimation=new Mm.Tween,this.scaleDownAnimation=new Mm.Tween;const r=function(t){if(!this.material)return;const n=t.image.width/t.image.height,r=new cl;t.image.width=t.image.naturalWidth||64,t.image.height=t.image.naturalHeight||64,this.scale.set(n*e,e,1),r.copy(this.scale),this.scaleUpAnimation=new Mm.Tween(this.scale).to({x:1.3*r.x,y:1.3*r.y},i).easing(Mm.Easing.Elastic.Out),this.scaleDownAnimation=new Mm.Tween(this.scale).to({x:r.x,y:r.y},i).easing(Mm.Easing.Elastic.Out),this.material.map=t,this.material.needsUpdate=!0}.bind(this);this.showAnimation=new Mm.Tween(this.material).to({opacity:1},i).onStart(this.enableRaycast.bind(this,!0)).easing(Mm.Easing.Quartic.Out),this.hideAnimation=new Mm.Tween(this.material).to({opacity:0},i).onStart(this.enableRaycast.bind(this,!1)).easing(Mm.Easing.Quartic.Out),this.addEventListener("click",this.onClick),this.addEventListener("hover",this.onHover),this.addEventListener("hoverenter",this.onHoverStart),this.addEventListener("hoverleave",this.onHoverEnd),this.addEventListener("panolens-dual-eye-effect",this.onDualEyeEffect),this.addEventListener("panolens-container",this.setContainer.bind(this)),this.addEventListener("dismiss",this.onDismiss),this.addEventListener("panolens-infospot-focus",this.setFocusMethod),bm(t,r)}function Sm(e){e||console.warn("PANOLENS.Widget: No container specified"),Ro.call(this),this.DEFAULT_TRANSITION="all 0.27s ease",this.TOUCH_ENABLED=!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch),this.PREVENT_EVENT_HANDLER=function(e){e.preventDefault(),e.stopPropagation()},this.container=e,this.barElement=null,this.fullscreenElement=null,this.videoElement=null,this.settingElement=null,this.mainMenu=null,this.activeMainItem=null,this.activeSubMenu=null,this.mask=null}function Tm(e,t){Wc.call(this,e,t),this.type="panorama",this.ImageQualityLow=1,this.ImageQualityFair=2,this.ImageQualityMedium=3,this.ImageQualityHigh=4,this.ImageQualitySuperHigh=5,this.animationDuration=1e3,this.defaultInfospotSize=350,this.container=void 0,this.loaded=!1,this.linkedSpots=[],this.isInfospotVisible=!1,this.linkingImageURL=void 0,this.linkingImageScale=void 0,this.material.side=Yo,this.material.opacity=0,this.scale.x*=-1,this.renderOrder=-1,this.active=!1,this.infospotAnimation=new Mm.Tween(this).to({},this.animationDuration/2),this.addEventListener("load",this.fadeIn.bind(this)),this.addEventListener("panolens-container",this.setContainer.bind(this)),this.addEventListener("click",this.onClick.bind(this)),this.setupTransitions()}function Cm(e,t,n){const i=t||new lp(5e3,60,40),r=n||new Qc({opacity:0,transparent:!0});Tm.call(this,i,r),this.src=e,this.radius=5e3}function Im(){const e=new bc,t=new Qc({color:0,opacity:0,transparent:!0});e.addAttribute("position",new sc(new Float32Array,1)),Tm.call(this,e,t)}function Lm(e=[]){const t=1e4,n=Object.assign({},Gl.cube),i=new xc(t,t,t),r=new Fc({fragmentShader:n.fragmentShader,vertexShader:n.vertexShader,uniforms:n.uniforms,side:Yo,transparent:!0});Tm.call(this,i,r),this.images=e,this.edgeLength=t,this.material.uniforms.opacity.value=0}function Dm(){const e=[];for(let t=0;t<6;t++)e.push(vm.WhiteTile);Lm.call(this,e)}function Om(e,t={}){const n=new lp(5e3,60,40),i=new Qc({opacity:0,transparent:!0});Tm.call(this,n,i),this.src=e,this.options={videoElement:document.createElement("video"),loop:!0,muted:!0,autoplay:!1,playsinline:!0,crossOrigin:"anonymous"},Object.assign(this.options,t),this.videoElement=this.options.videoElement,this.videoProgress=0,this.radius=5e3,this.addEventListener("leave",this.pauseVideo.bind(this)),this.addEventListener("enter-fade-start",this.resumeVideoProgress.bind(this)),this.addEventListener("video-toggle",this.toggleVideo.bind(this)),this.addEventListener("video-time",this.setVideoCurrentTime.bind(this))}function Nm(e={}){let t;this._parameters=e,this._zoom=null,this._panoId=null,this._panoClient=new google.maps.StreetViewService,this._count=0,this._total=0,this._canvas=[],this._ctx=[],this._wc=0,this._hc=0,this.result=null,this.rotation=0,this.copyright="",this.onSizeChange=null,this.onPanoramaLoad=null,this.levelsW=[1,2,4,7,13,26],this.levelsH=[1,1,2,4,7,13],this.widths=[416,832,1664,3328,6656,13312],this.heights=[416,416,832,1664,3328,6656],this.maxW=6656,this.maxH=6656;try{const e=document.createElement("canvas");t=e.getContext("experimental-webgl"),t||(t=e.getContext("webgl"))}catch(e){}this.maxW=Math.max(t.getParameter(t.MAX_TEXTURE_SIZE),this.maxW),this.maxH=Math.max(t.getParameter(t.MAX_TEXTURE_SIZE),this.maxH)}function Pm(e,t){Cm.call(this),this.panoId=e,this.gsvLoader=null,this.loadRequested=!1,this.setupGoogleMapAPI(t)}Em.prototype=Object.assign(Object.create(Jh.prototype),{constructor:Em,setContainer:function(e){let t;e instanceof HTMLElement?t=e:e&&e.container&&(t=e.container),t&&this.element&&t.appendChild(this.element),this.container=t},getContainer:function(){return this.container},onClick:function(e){this.element&&this.getContainer()&&(this.onHoverStart(e),this.lockHoverElement())},onDismiss:function(){this.element&&(this.unlockHoverElement(),this.onHoverEnd())},onHover:function(){},onHoverStart:function(e){if(!this.getContainer())return;const t=this.cursorStyle||(1===this.mode?"pointer":"default"),{scaleDownAnimation:n,scaleUpAnimation:i,element:r}=this;if(this.isHovering=!0,this.container.style.cursor=t,this.animated&&(n.stop(),i.start()),r&&e.mouseEvent.clientX>=0&&e.mouseEvent.clientY>=0){const{left:e,right:t,style:n}=r;2===this.mode||3===this.mode?(n.display="none",e.style.display="block",t.style.display="block",r._width=e.clientWidth,r._height=e.clientHeight):(n.display="block",e&&(e.style.display="none"),t&&(t.style.display="none"),r._width=r.clientWidth,r._height=r.clientHeight)}},onHoverEnd:function(){if(!this.getContainer())return;const{scaleDownAnimation:e,scaleUpAnimation:t,element:n}=this;if(this.isHovering=!1,this.container.style.cursor="default",this.animated&&(t.stop(),e.start()),n&&!this.element.locked){const{left:e,right:t,style:i}=n;i.display="none",e&&(e.style.display="none"),t&&(t.style.display="none"),this.unlockHoverElement()}},onDualEyeEffect:function(e){if(!this.getContainer())return;let t,n,i;this.mode=e.mode,t=this.element,n=this.container.clientWidth/2,i=this.container.clientHeight/2,t&&(t.left||t.right||(t.left=t.cloneNode(!0),t.right=t.cloneNode(!0)),2===this.mode||3===this.mode?(t.left.style.display=t.style.display,t.right.style.display=t.style.display,t.style.display="none"):(t.style.display=t.left.style.display,t.left.style.display="none",t.right.style.display="none"),this.translateElement(n,i),this.container.appendChild(t.left),this.container.appendChild(t.right))},translateElement:function(e,t){if(!this.element._width||!this.element._height||!this.getContainer())return;let n,i,r,o,a,s,l;l=this.container,r=this.element,o=r._width/2,a=r._height/2,s=void 0!==r.verticalDelta?r.verticalDelta:40,n=e-o,i=t-a-s,2!==this.mode&&3!==this.mode||!r.left||!r.right||e===l.clientWidth/2&&t===l.clientHeight/2?this.setElementStyle("transform",r,"translate("+n+"px, "+i+"px)"):(n=l.clientWidth/4-o+(e-l.clientWidth/2),i=l.clientHeight/2-a-s+(t-l.clientHeight/2),this.setElementStyle("transform",r.left,"translate("+n+"px, "+i+"px)"),n+=l.clientWidth/2,this.setElementStyle("transform",r.right,"translate("+n+"px, "+i+"px)"))},setElementStyle:function(e,t,n){const i=t.style;"transform"===e&&(i.webkitTransform=i.msTransform=i.transform=n)},setText:function(e){this.element&&(this.element.textContent=e)},setCursorHoverStyle:function(e){this.cursorStyle=e},addHoverText:function(e,t=40){this.element||(this.element=document.createElement("div"),this.element.style.display="none",this.element.style.color="#fff",this.element.style.top=0,this.element.style.maxWidth="50%",this.element.style.maxHeight="50%",this.element.style.textShadow="0 0 3px #000000",this.element.style.fontFamily='"Trebuchet MS", Helvetica, sans-serif',this.element.style.position="absolute",this.element.classList.add("panolens-infospot"),this.element.verticalDelta=t),this.setText(e)},addHoverElement:function(e,t=40){this.element||(this.element=e.cloneNode(!0),this.element.style.display="none",this.element.style.top=0,this.element.style.position="absolute",this.element.classList.add("panolens-infospot"),this.element.verticalDelta=t)},removeHoverElement:function(){this.element&&(this.element.left&&(this.container.removeChild(this.element.left),this.element.left=null),this.element.right&&(this.container.removeChild(this.element.right),this.element.right=null),this.container.removeChild(this.element),this.element=null)},lockHoverElement:function(){this.element&&(this.element.locked=!0)},unlockHoverElement:function(){this.element&&(this.element.locked=!1)},enableRaycast:function(e=!0){this.raycast=e?this.originalRaycast:()=>{}},show:function(e=0){const{animated:t,hideAnimation:n,showAnimation:i,material:r}=this;t?(n.stop(),i.delay(e).start()):(this.enableRaycast(!0),r.opacity=1)},hide:function(e=0){const{animated:t,hideAnimation:n,showAnimation:i,material:r,element:o}=this;if(o){const{style:e}=o;e.display="none"}t?(i.stop(),n.delay(e).start()):(this.enableRaycast(!1),r.opacity=0)},setFocusMethod:function(e){e&&(this.HANDLER_FOCUS=e.method)},focus:function(e,t){this.HANDLER_FOCUS&&(this.HANDLER_FOCUS(this.position,e,t),this.onDismiss())},dispose:function(){const{geometry:e,material:t}=this,{map:n}=t;this.removeHoverElement(),this.parent&&this.parent.remove(this),n&&(n.dispose(),t.map=null),e&&(e.dispose(),this.geometry=null),t&&(t.dispose(),this.material=null)}}),Sm.prototype=Object.assign(Object.create(Ro.prototype),{constructor:Sm,addControlBar:function(){if(this.container){var e,t,n,i,r=this;i="linear-gradient(bottom, rgba(0,0,0,0.2), rgba(0,0,0,0))",(e=document.createElement("div")).style.width="100%",e.style.height="44px",e.style.float="left",e.style.transform=e.style.webkitTransform=e.style.msTransform="translateY(-100%)",e.style.background="-webkit-"+i,e.style.background="-moz-"+i,e.style.background="-o-"+i,e.style.background="-ms-"+i,e.style.background=i,e.style.transition=this.DEFAULT_TRANSITION,e.style.pointerEvents="none",e.isHidden=!1,e.toggle=function(){e.isHidden=!e.isHidden,t=e.isHidden?"translateY(0)":"translateY(-100%)",n=e.isHidden?0:1,e.style.transform=e.style.webkitTransform=e.style.msTransform=t,e.style.opacity=n};var o=this.createDefaultMenu();this.mainMenu=this.createMainMenu(o),e.appendChild(this.mainMenu);var a=this.createMask();this.mask=a,this.container.appendChild(a),e.dispose=function(){r.fullscreenElement&&(e.removeChild(r.fullscreenElement),r.fullscreenElement.dispose(),r.fullscreenElement=null),r.settingElement&&(e.removeChild(r.settingElement),r.settingElement.dispose(),r.settingElement=null),r.videoElement&&(e.removeChild(r.videoElement),r.videoElement.dispose(),r.videoElement=null)},this.container.appendChild(e),this.mask.addEventListener("mousemove",this.PREVENT_EVENT_HANDLER,!0),this.mask.addEventListener("mouseup",this.PREVENT_EVENT_HANDLER,!0),this.mask.addEventListener("mousedown",this.PREVENT_EVENT_HANDLER,!0),this.mask.addEventListener(r.TOUCH_ENABLED?"touchend":"click",(function(e){e.preventDefault(),e.stopPropagation(),r.mask.hide(),r.settingElement.deactivate()}),!1),this.addEventListener("control-bar-toggle",e.toggle),this.barElement=e}else console.warn("Widget container not set")},createDefaultMenu:function(){var e,t=this;return e=function(e,n){return function(){t.dispatchEvent({type:"panolens-viewer-handler",method:e,data:n})}},[{title:"Control",subMenu:[{title:this.TOUCH_ENABLED?"Touch":"Mouse",handler:e("enableControl",gm.ORBIT)},{title:"Sensor",handler:e("enableControl",gm.DEVICEORIENTATION)}]},{title:"Mode",subMenu:[{title:"Normal",handler:e("disableEffect")},{title:"Cardboard",handler:e("enableEffect",2)},{title:"Stereoscopic",handler:e("enableEffect",3)}]}]},addControlButton:function(e){let t;switch(e){case"fullscreen":t=this.createFullscreenButton(),this.fullscreenElement=t;break;case"setting":t=this.createSettingButton(),this.settingElement=t;break;case"video":t=this.createVideoControl(),this.videoElement=t;break;default:return}t&&this.barElement.appendChild(t)},createMask:function(){const e=document.createElement("div");return e.style.position="absolute",e.style.top=0,e.style.left=0,e.style.width="100%",e.style.height="100%",e.style.background="transparent",e.style.display="none",e.show=function(){this.style.display="block"},e.hide=function(){this.style.display="none"},e},createSettingButton:function(){let e,t=this;return e=this.createCustomItem({style:{backgroundImage:'url("'+vm.Setting+'")',webkitTransition:this.DEFAULT_TRANSITION,transition:this.DEFAULT_TRANSITION},onTap:function(e){e.preventDefault(),e.stopPropagation(),t.mainMenu.toggle(),this.activated?this.deactivate():this.activate()}}),e.activate=function(){this.style.transform="rotate3d(0,0,1,90deg)",this.activated=!0,t.mask.show()},e.deactivate=function(){this.style.transform="rotate3d(0,0,0,0)",this.activated=!1,t.mask.hide(),t.mainMenu&&t.mainMenu.visible&&t.mainMenu.hide(),t.activeSubMenu&&t.activeSubMenu.visible&&t.activeSubMenu.hide(),t.mainMenu&&t.mainMenu._width&&(t.mainMenu.changeSize(t.mainMenu._width),t.mainMenu.unslideAll())},e.activated=!1,e},createFullscreenButton:function(){let e,t,n=this,i=!1,r=!0;const{container:o}=this;if(t="panolens-style-addon",document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled){if(document.addEventListener("fullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1),e=this.createCustomItem({style:{backgroundImage:'url("'+vm.FullscreenEnter+'")'},onTap:function(e){e.preventDefault(),e.stopPropagation(),r=!1,i?(document.exitFullscreen&&document.exitFullscreen(),document.msExitFullscreen&&document.msExitFullscreen(),document.mozCancelFullScreen&&document.mozCancelFullScreen(),document.webkitExitFullscreen&&document.webkitExitFullscreen(),i=!1):(o.requestFullscreen&&o.requestFullscreen(),o.msRequestFullscreen&&o.msRequestFullscreen(),o.mozRequestFullScreen&&o.mozRequestFullScreen(),o.webkitRequestFullscreen&&o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT),i=!0),this.style.backgroundImage=i?'url("'+vm.FullscreenLeave+'")':'url("'+vm.FullscreenEnter+'")'}}),!document.querySelector(t)){const e=document.createElement("style");e.id=t,e.innerHTML=":-webkit-full-screen { width: 100% !important; height: 100% !important }",document.body.appendChild(e)}return e}function a(){r&&(i=!i,e.style.backgroundImage=i?'url("'+vm.FullscreenLeave+'")':'url("'+vm.FullscreenEnter+'")'),n.dispatchEvent({type:"panolens-viewer-handler",method:"onWindowResize"}),r=!0}},createVideoControl:function(){const e=document.createElement("span");return e.style.display="none",e.show=function(){e.style.display=""},e.hide=function(){e.style.display="none",e.controlButton.paused=!0,e.controlButton.update()},e.controlButton=this.createVideoControlButton(),e.seekBar=this.createVideoControlSeekbar(),e.appendChild(e.controlButton),e.appendChild(e.seekBar),e.dispose=function(){e.removeChild(e.controlButton),e.removeChild(e.seekBar),e.controlButton.dispose(),e.controlButton=null,e.seekBar.dispose(),e.seekBar=null},this.addEventListener("video-control-show",e.show),this.addEventListener("video-control-hide",e.hide),e},createVideoControlButton:function(){const e=this,t=this.createCustomItem({style:{float:"left",backgroundImage:'url("'+vm.VideoPlay+'")'},onTap:function(n){n.preventDefault(),n.stopPropagation(),e.dispatchEvent({type:"panolens-viewer-handler",method:"toggleVideoPlay",data:!this.paused}),this.paused=!this.paused,t.update()}});return t.paused=!0,t.update=function(e){this.paused=void 0!==e?e:this.paused,this.style.backgroundImage='url("'+(this.paused?vm.VideoPlay:vm.VideoPause)+'")'},t},createVideoControlSeekbar:function(){let e,t,n,i,r,o,a=this,s=!1;function l(e){e.stopPropagation(),s=!0,i=e.clientX||e.changedTouches&&e.changedTouches[0].clientX,r=parseInt(t.style.width)/100,a.container.addEventListener("mousemove",c,{passive:!0}),a.container.addEventListener("mouseup",u,{passive:!0}),a.container.addEventListener("touchmove",c,{passive:!0}),a.container.addEventListener("touchend",u,{passive:!0})}function c(t){if(s){const n=t.clientX||t.changedTouches&&t.changedTouches[0].clientX;o=(n-i)/e.clientWidth,o=r+o,o=o>1?1:o<0?0:o,e.setProgress(o),a.dispatchEvent({type:"panolens-viewer-handler",method:"setVideoCurrentTime",data:o})}}function u(e){e.stopPropagation(),s=!1,h()}function h(){a.container.removeEventListener("mousemove",c,!1),a.container.removeEventListener("mouseup",u,!1),a.container.removeEventListener("touchmove",c,!1),a.container.removeEventListener("touchend",u,!1)}return t=document.createElement("div"),t.style.width="0%",t.style.height="100%",t.style.backgroundColor="#fff",n=document.createElement("div"),n.style.float="right",n.style.width="14px",n.style.height="14px",n.style.transform="translate(7px, -5px)",n.style.borderRadius="50%",n.style.backgroundColor="#ddd",n.addEventListener("mousedown",l,{passive:!0}),n.addEventListener("touchstart",l,{passive:!0}),t.appendChild(n),e=this.createCustomItem({style:{float:"left",width:"30%",height:"4px",marginTop:"20px",backgroundColor:"rgba(188,188,188,0.8)"},onTap:function(t){if(t.preventDefault(),t.stopPropagation(),t.target===n)return;const i=t.changedTouches&&t.changedTouches.length>0?(t.changedTouches[0].pageX-t.target.getBoundingClientRect().left)/this.clientWidth:t.offsetX/this.clientWidth;a.dispatchEvent({type:"panolens-viewer-handler",method:"setVideoCurrentTime",data:i}),e.setProgress(t.offsetX/this.clientWidth)},onDispose:function(){h(),t=null,n=null}}),e.appendChild(t),e.setProgress=function(e){t.style.width=100*e+"%"},this.addEventListener("video-update",(function(t){e.setProgress(t.percentage)})),e.progressElement=t,e.progressElementControl=n,e},createMenuItem:function(e){const t=this,n=document.createElement("a");return n.textContent=e,n.style.display="block",n.style.padding="10px",n.style.textDecoration="none",n.style.cursor="pointer",n.style.pointerEvents="auto",n.style.transition=this.DEFAULT_TRANSITION,n.slide=function(e){this.style.transform="translateX("+(e?"":"-")+"100%)"},n.unslide=function(){this.style.transform="translateX(0)"},n.setIcon=function(e){this.icon&&(this.icon.style.backgroundImage="url("+e+")")},n.setSelectionTitle=function(e){this.selection&&(this.selection.textContent=e)},n.addSelection=function(e){const t=document.createElement("span");return t.style.fontSize="13px",t.style.fontWeight="300",t.style.float="right",this.selection=t,this.setSelectionTitle(e),this.appendChild(t),this},n.addIcon=function(e=vm.ChevronRight,t=!1,n=!1){const i=document.createElement("span");return i.style.float=t?"left":"right",i.style.width="17px",i.style.height="17px",i.style["margin"+(t?"Right":"Left")]="12px",i.style.backgroundSize="cover",n&&(i.style.transform="rotateZ(180deg)"),this.icon=i,this.setIcon(e),this.appendChild(i),this},n.addSubMenu=function(e,n){return this.subMenu=t.createSubMenu(e,n),this},n.addEventListener("mouseenter",(function(){this.style.backgroundColor="#e0e0e0"}),!1),n.addEventListener("mouseleave",(function(){this.style.backgroundColor="#fafafa"}),!1),n},createMenuItemHeader:function(e){const t=this.createMenuItem(e);return t.style.borderBottom="1px solid #333",t.style.paddingBottom="15px",t},createMainMenu:function(e){let t=this,n=this.createMenu();function i(e){e.preventDefault(),e.stopPropagation();let n=t.mainMenu,i=this.subMenu;n.hide(),n.slideAll(),n.parentElement.appendChild(i),t.activeMainItem=this,t.activeSubMenu=i,window.requestAnimationFrame((function(){n.changeSize(i.clientWidth),i.show(),i.unslideAll()}))}n._width=200,n.changeSize(n._width);for(var r=0;r<e.length;r++){var o=n.addItem(e[r].title);if(o.style.paddingLeft="20px",o.addIcon().addEventListener(t.TOUCH_ENABLED?"touchend":"click",i,!1),e[r].subMenu&&e[r].subMenu.length>0){var a=e[r].subMenu[0].title;o.addSelection(a).addSubMenu(e[r].title,e[r].subMenu)}}return n},createSubMenu:function(e,t){let n,i=this,r=this.createMenu();function o(e){e.preventDefault(),e.stopPropagation(),n=i.mainMenu,n.changeSize(n._width),n.unslideAll(),n.show(),r.slideAll(!0),r.hide(),"header"!==this.type&&(r.setActiveItem(this),i.activeMainItem.setSelectionTitle(this.textContent),this.handler&&this.handler())}r.items=t,r.activeItem=null,r.addHeader(e).addIcon(void 0,!0,!0).addEventListener(i.TOUCH_ENABLED?"touchend":"click",o,!1);for(let e=0;e<t.length;e++){const n=r.addItem(t[e].title);n.style.fontWeight=300,n.handler=t[e].handler,n.addIcon(" ",!0),n.addEventListener(i.TOUCH_ENABLED?"touchend":"click",o,!1),r.activeItem||r.setActiveItem(n)}return r.slideAll(!0),r},createMenu:function(){const e=this,t=document.createElement("span"),n=t.style;return n.padding="5px 0",n.position="fixed",n.bottom="100%",n.right="14px",n.backgroundColor="#fafafa",n.fontFamily="Helvetica Neue",n.fontSize="14px",n.visibility="hidden",n.opacity=0,n.boxShadow="0 0 12pt rgba(0,0,0,0.25)",n.borderRadius="2px",n.overflow="hidden",n.willChange="width, height, opacity",n.pointerEvents="auto",n.transition=this.DEFAULT_TRANSITION,t.visible=!1,t.changeSize=function(e,t){e&&(this.style.width=e+"px"),t&&(this.style.height=t+"px")},t.show=function(){this.style.opacity=1,this.style.visibility="visible",this.visible=!0},t.hide=function(){this.style.opacity=0,this.style.visibility="hidden",this.visible=!1},t.toggle=function(){this.visible?this.hide():this.show()},t.slideAll=function(e){for(let n=0;n<t.children.length;n++)t.children[n].slide&&t.children[n].slide(e)},t.unslideAll=function(){for(let e=0;e<t.children.length;e++)t.children[e].unslide&&t.children[e].unslide()},t.addHeader=function(t){const n=e.createMenuItemHeader(t);return n.type="header",this.appendChild(n),n},t.addItem=function(t){const n=e.createMenuItem(t);return n.type="item",this.appendChild(n),n},t.setActiveItem=function(e){this.activeItem&&this.activeItem.setIcon(" "),e.setIcon(vm.Check),this.activeItem=e},t.addEventListener("mousemove",this.PREVENT_EVENT_HANDLER,!0),t.addEventListener("mouseup",this.PREVENT_EVENT_HANDLER,!0),t.addEventListener("mousedown",this.PREVENT_EVENT_HANDLER,!0),t},createCustomItem:function(e={}){const t=this,n=e.element||document.createElement("span"),{onDispose:i}=e;return n.style.cursor="pointer",n.style.float="right",n.style.width="44px",n.style.height="100%",n.style.backgroundSize="60%",n.style.backgroundRepeat="no-repeat",n.style.backgroundPosition="center",n.style.webkitUserSelect=n.style.MozUserSelect=n.style.userSelect="none",n.style.position="relative",n.style.pointerEvents="auto",n.addEventListener(t.TOUCH_ENABLED?"touchstart":"mouseenter",(function(){n.style.filter=n.style.webkitFilter="drop-shadow(0 0 5px rgba(255,255,255,1))"}),{passive:!0}),n.addEventListener(t.TOUCH_ENABLED?"touchend":"mouseleave",(function(){n.style.filter=n.style.webkitFilter=""}),{passive:!0}),this.mergeStyleOptions(n,e.style),e.onTap&&n.addEventListener(t.TOUCH_ENABLED?"touchend":"click",e.onTap,!1),n.dispose=function(){n.removeEventListener(t.TOUCH_ENABLED?"touchend":"click",e.onTap,!1),i&&e.onDispose()},n},mergeStyleOptions:function(e,t={}){for(let n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n]);return e},dispose:function(){this.barElement&&(this.container.removeChild(this.barElement),this.barElement.dispose(),this.barElement=null)}}),Tm.prototype=Object.assign(Object.create(Wc.prototype),{constructor:Tm,add:function(e){let t;if(arguments.length>1){for(var n=0;n<arguments.length;n++)this.add(arguments[n]);return this}if(e instanceof Em){if(t=e,e.dispatchEvent){const{container:t}=this;t&&e.dispatchEvent({type:"panolens-container",container:t}),e.dispatchEvent({type:"panolens-infospot-focus",method:function(e,t,n){this.dispatchEvent({type:"panolens-viewer-handler",method:"tweenControlCenter",data:[e,t,n]})}.bind(this)})}}else t=new nc,t.scale.x=-1,t.scalePlaceHolder=!0,t.add(e);nc.prototype.add.call(this,t)},load:function(){this.onLoad()},onClick:function(e){e.intersects&&0===e.intersects.length&&this.traverse((function(e){e.dispatchEvent({type:"dismiss"})}))},setContainer:function(e){let t;e instanceof HTMLElement?t=e:e&&e.container&&(t=e.container),t&&(this.children.forEach((function(e){e instanceof Em&&e.dispatchEvent&&e.dispatchEvent({type:"panolens-container",container:t})})),this.container=t)},onLoad:function(){this.loaded=!0,this.dispatchEvent({type:"load"})},onProgress:function(e){this.dispatchEvent({type:"progress",progress:e})},onError:function(){this.dispatchEvent({type:"error"})},getZoomLevel:function(){let e;return e=window.innerWidth<=800?this.ImageQualityFair:window.innerWidth>800&&window.innerWidth<=1280?this.ImageQualityMedium:window.innerWidth>1280&&window.innerWidth<=1920?this.ImageQualityHigh:window.innerWidth>1920?this.ImageQualitySuperHigh:this.ImageQualityLow,e},updateTexture:function(e){this.material.map=e,this.material.needsUpdate=!0},toggleInfospotVisibility:function(e,t){t=void 0!==t?t:0;const n=void 0!==e?e:!this.isInfospotVisible;this.traverse((function(e){e instanceof Em&&(n?e.show(t):e.hide(t))})),this.isInfospotVisible=n,this.infospotAnimation.onComplete(function(){this.dispatchEvent({type:"infospot-animation-complete",visible:n})}.bind(this)).delay(t).start()},setLinkingImage:function(e,t){this.linkingImageURL=e,this.linkingImageScale=t},link:function(e,t,n,i){let r,o;if(this.visible=!0,!t)return void console.warn("Please specify infospot position for linking");r=void 0!==n?n:void 0!==e.linkingImageScale?e.linkingImageScale:300,o=i||(e.linkingImageURL?e.linkingImageURL:vm.Arrow);const a=new Em(r,o);a.position.copy(t),a.toPanorama=e,a.addEventListener("click",function(){this.dispatchEvent({type:"panolens-viewer-handler",method:"setPanorama",data:e})}.bind(this)),this.linkedSpots.push(a),this.add(a),this.visible=!1},reset:function(){this.children.length=0},setupTransitions:function(){this.fadeInAnimation=new Mm.Tween(this.material).easing(Mm.Easing.Quartic.Out).onStart(function(){this.visible=!0,this.dispatchEvent({type:"enter-fade-start"})}.bind(this)),this.fadeOutAnimation=new Mm.Tween(this.material).easing(Mm.Easing.Quartic.Out).onComplete(function(){this.visible=!1,this.dispatchEvent({type:"leave-complete"})}.bind(this)),this.enterTransition=new Mm.Tween(this).easing(Mm.Easing.Quartic.Out).onComplete(function(){this.dispatchEvent({type:"enter-complete"})}.bind(this)).start(),this.leaveTransition=new Mm.Tween(this).easing(Mm.Easing.Quartic.Out)},onFadeAnimationUpdate:function(){const e=this.material.opacity,{uniforms:t}=this.material;t&&t.opacity&&(t.opacity.value=e)},fadeIn:function(e){e=e>=0?e:this.animationDuration,this.fadeOutAnimation.stop(),this.fadeInAnimation.to({opacity:1},e).onUpdate(this.onFadeAnimationUpdate.bind(this)).onComplete(function(){this.toggleInfospotVisibility(!0,e/2),this.dispatchEvent({type:"enter-fade-complete"})}.bind(this)).start()},fadeOut:function(e){e=e>=0?e:this.animationDuration,this.fadeInAnimation.stop(),this.fadeOutAnimation.to({opacity:0},e).onUpdate(this.onFadeAnimationUpdate.bind(this)).start()},onEnter:function(){const e=this.animationDuration;this.leaveTransition.stop(),this.enterTransition.to({},e).onStart(function(){this.dispatchEvent({type:"enter-start"}),this.loaded?this.fadeIn(e):this.load()}.bind(this)).start(),this.dispatchEvent({type:"enter"}),this.children.forEach((e=>{e.dispatchEvent({type:"panorama-enter"})})),this.active=!0},onLeave:function(){const e=this.animationDuration;this.enterTransition.stop(),this.leaveTransition.to({},e).onStart(function(){this.dispatchEvent({type:"leave-start"}),this.fadeOut(e),this.toggleInfospotVisibility(!1)}.bind(this)).start(),this.dispatchEvent({type:"leave"}),this.children.forEach((e=>{e.dispatchEvent({type:"panorama-leave"})})),this.active=!1},dispose:function(){this.infospotAnimation.stop(),this.fadeInAnimation.stop(),this.fadeOutAnimation.stop(),this.enterTransition.stop(),this.leaveTransition.stop(),this.dispatchEvent({type:"panolens-viewer-handler",method:"onPanoramaDispose",data:this}),function e(t){const{geometry:n,material:i}=t;for(var r=t.children.length-1;r>=0;r--)e(t.children[r]),t.remove(t.children[r]);t instanceof Em&&t.dispose(),n&&(n.dispose(),t.geometry=null),i&&(i.dispose(),t.material=null)}(this),this.parent&&this.parent.remove(this)}}),Cm.prototype=Object.assign(Object.create(Tm.prototype),{constructor:Cm,load:function(e){(e=e||this.src)?"string"==typeof e?bm(e,this.onLoad.bind(this),this.onProgress.bind(this),this.onError.bind(this)):e instanceof HTMLImageElement&&this.onLoad(new Sl(e)):console.warn("Image source undefined")},onLoad:function(e){e.minFilter=e.magFilter=qa,e.needsUpdate=!0,this.updateTexture(e),window.requestAnimationFrame(Tm.prototype.onLoad.bind(this))},reset:function(){Tm.prototype.reset.call(this)},dispose:function(){const{material:{map:e}}=this;Zp.remove(this.src),e&&e.dispose(),Tm.prototype.dispose.call(this)}}),Im.prototype=Object.assign(Object.create(Tm.prototype),{constructor:Im}),Lm.prototype=Object.assign(Object.create(Tm.prototype),{constructor:Lm,load:function(){!function(e,t=(()=>{}),n=(()=>{}),i){var r,o,a,s,l;r=new iu([]),o=0,a={},s={},e.map((function(e,c){ym.load(e,(function(e){r.images[c]=e,6==++o&&(r.needsUpdate=!0,t(r))}),(function(e){for(var t in a[c]={loaded:e.loaded,total:e.total},s.loaded=0,s.total=0,l=0,a)l++,s.loaded+=a[t].loaded,s.total+=a[t].total;l<6&&(s.total=s.total/l*6),n(s)}),i)}))}(this.images,this.onLoad.bind(this),this.onProgress.bind(this),this.onError.bind(this))},onLoad:function(e){this.material.uniforms.tCube.value=e,Tm.prototype.onLoad.call(this)},dispose:function(){const{value:e}=this.material.uniforms.tCube;this.images.forEach((e=>{Zp.remove(e)})),e instanceof iu&&e.dispose(),Tm.prototype.dispose.call(this)}}),Dm.prototype=Object.assign(Object.create(Lm.prototype),{constructor:Dm}),Om.prototype=Object.assign(Object.create(Tm.prototype),{constructor:Om,isMobile:function(){let e=!1;var t;return t=window.navigator.userAgent||window.navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e},load:function(){const{muted:e,loop:t,autoplay:n,playsinline:i,crossOrigin:r}=this.options,o=this.videoElement,a=this.material,s=this.onProgress.bind(this),l=this.onLoad.bind(this);o.loop=t,o.autoplay=n,o.playsinline=i,o.crossOrigin=r,o.muted=e,i&&(o.setAttribute("playsinline",""),o.setAttribute("webkit-playsinline",""));const c=function(){this.setVideoTexture(o),n&&this.dispatchEvent({type:"panolens-viewer-handler",method:"updateVideoPlayButton",data:!1}),this.isMobile()&&(o.pause(),n&&e?this.dispatchEvent({type:"panolens-viewer-handler",method:"updateVideoPlayButton",data:!1}):this.dispatchEvent({type:"panolens-viewer-handler",method:"updateVideoPlayButton",data:!0})),window.requestAnimationFrame((()=>{a.map.needsUpdate=!0,s({loaded:1,total:1}),l()}))};if(o.readyState>2)c.call(this);else{if(0===o.querySelectorAll("source").length){const e=document.createElement("source");e.src=this.src,o.appendChild(e)}o.load()}o.addEventListener("loadeddata",c.bind(this)),o.addEventListener("timeupdate",function(){this.videoProgress=o.duration>=0?o.currentTime/o.duration:0,this.dispatchEvent({type:"panolens-viewer-handler",method:"onVideoUpdate",data:this.videoProgress})}.bind(this)),o.addEventListener("ended",function(){t||(this.resetVideo(),this.dispatchEvent({type:"panolens-viewer-handler",method:"updateVideoPlayButton",data:!0}))}.bind(this),!1)},setVideoTexture:function(e){if(!e)return;const t=new ld(e);t.minFilter=qa,t.magFilter=qa,t.format=us,this.updateTexture(t)},reset:function(){this.videoElement=void 0,Tm.prototype.reset.call(this)},isVideoPaused:function(){return this.videoElement.paused},toggleVideo:function(){const e=this.videoElement;e&&e[e.paused?"play":"pause"]()},setVideoCurrentTime:function({percentage:e}){const t=this.videoElement;t&&!Number.isNaN(e)&&1!==e&&(t.currentTime=t.duration*e,this.dispatchEvent({type:"panolens-viewer-handler",method:"onVideoUpdate",data:e}))},playVideo:function(){const e=this.videoElement,t=this.playVideo.bind(this),n=this.dispatchEvent.bind(this);e&&e.paused&&e.play().then((()=>{n({type:"play"})})).catch((e=>{window.requestAnimationFrame(t),n({type:"play-error",error:e})}))},pauseVideo:function(){const e=this.videoElement;e&&!e.paused&&e.pause(),this.dispatchEvent({type:"pause"})},resumeVideoProgress:function(){const e=this.videoElement;e.readyState>=4&&e.autoplay&&!this.isMobile()?(this.playVideo(),this.dispatchEvent({type:"panolens-viewer-handler",method:"updateVideoPlayButton",data:!1})):(this.pauseVideo(),this.dispatchEvent({type:"panolens-viewer-handler",method:"updateVideoPlayButton",data:!0})),this.setVideoCurrentTime({percentage:this.videoProgress})},resetVideo:function(){this.videoElement&&this.setVideoCurrentTime({percentage:0})},isVideoMuted:function(){return this.videoElement.muted},muteVideo:function(){const e=this.videoElement;e&&!e.muted&&(e.muted=!0),this.dispatchEvent({type:"volumechange"})},unmuteVideo:function(){const e=this.videoElement;e&&this.isVideoMuted()&&(e.muted=!1),this.dispatchEvent({type:"volumechange"})},getVideoElement:function(){return this.videoElement},dispose:function(){const{material:{map:e}}=this;this.pauseVideo(),this.removeEventListener("leave",this.pauseVideo.bind(this)),this.removeEventListener("enter-fade-start",this.resumeVideoProgress.bind(this)),this.removeEventListener("video-toggle",this.toggleVideo.bind(this)),this.removeEventListener("video-time",this.setVideoCurrentTime.bind(this)),e&&e.dispose(),Tm.prototype.dispose.call(this)}}),Object.assign(Nm.prototype,{constructor:Nm,setProgress:function(e,t){this.onProgress&&this.onProgress({loaded:e,total:t})},adaptTextureToZoom:function(){const e=this.widths[this._zoom],t=this.heights[this._zoom],n=this.maxW,i=this.maxH;this._wc=Math.ceil(e/n),this._hc=Math.ceil(t/i);for(let r=0;r<this._hc;r++)for(let o=0;o<this._wc;o++){const a=document.createElement("canvas");o<this._wc-1?a.width=n:a.width=e-n*o,r<this._hc-1?a.height=i:a.height=t-i*r,this._canvas.push(a),this._ctx.push(a.getContext("2d"))}},composeFromTile:function(e,t,n){const i=this.maxW,r=this.maxH;e*=512,t*=512;const o=Math.floor(e/i),a=Math.floor(t/r);e-=o*i,t-=a*r,this._ctx[a*this._wc+o].drawImage(n,0,0,n.width,n.height,e,t,512,512),this.progress()},progress:function(){this._count++,this.setProgress(this._count,this._total),this._count===this._total&&(this.canvas=this._canvas,this.panoId=this._panoId,this.zoom=this._zoom,this.onPanoramaLoad&&this.onPanoramaLoad(this._canvas[0]))},composePanorama:function(){this.setProgress(0,1);const e=this.levelsW[this._zoom],t=this.levelsH[this._zoom],n=this;this._count=0,this._total=e*t;const{useWebGL:i}=this._parameters;for(let r=0;r<t;r++)for(let t=0;t<e;t++){const e="https://geo0.ggpht.com/cbk?cb_client=maps_sv.tactile&authuser=0&hl=en&output=tile&zoom="+this._zoom+"&x="+t+"&y="+r+"&panoid="+this._panoId+"&nbt&fover=2";!function(t,r){if(i){const i=bm(e,null,(function(){n.composeFromTile(t,r,i)}))}else{const i=new Image;i.addEventListener("load",(function(){n.composeFromTile(t,r,this)})),i.crossOrigin="",i.src=e}}(t,r)}},load:function(e){this.loadPano(e)},loadPano:function(e){const t=this;this._panoClient.getPanoramaById(e,(function(e,n){n===google.maps.StreetViewStatus.OK&&(t.result=e,t.copyright=e.copyright,t._panoId=e.location.pano,t.composePanorama())}))},setZoom:function(e){this._zoom=e,this.adaptTextureToZoom()}}),Pm.prototype=Object.assign(Object.create(Cm.prototype),{constructor:Pm,load:function(e){this.loadRequested=!0,(e=e||this.panoId||{})&&this.gsvLoader&&this.loadGSVLoader(e)},setupGoogleMapAPI:function(e){const t=document.createElement("script");t.src="https://maps.googleapis.com/maps/api/js?",t.src+=e?"key="+e:"",t.onreadystatechange=this.setGSVLoader.bind(this),t.onload=this.setGSVLoader.bind(this),document.querySelector("head").appendChild(t)},setGSVLoader:function(){this.gsvLoader=new Nm,this.loadRequested&&this.load()},getGSVLoader:function(){return this.gsvLoader},loadGSVLoader:function(e){this.loadRequested=!1,this.gsvLoader.onProgress=this.onProgress.bind(this),this.gsvLoader.onPanoramaLoad=this.onLoad.bind(this),this.gsvLoader.setZoom(this.getZoomLevel()),this.gsvLoader.load(e),this.gsvLoader.loaded=!0},onLoad:function(e){Cm.prototype.onLoad.call(this,new Sl(e))},reset:function(){this.gsvLoader=void 0,Cm.prototype.reset.call(this)}});const km={uniforms:{tDiffuse:{value:new Sl},resolution:{value:1},transform:{value:new Rl},zoom:{value:1},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform float resolution;","uniform mat4 transform;","uniform float zoom;","uniform float opacity;","varying vec2 vUv;","const float PI = 3.141592653589793;","void main(){","vec2 position = -1.0 + 2.0 * vUv;","position *= vec2( zoom * resolution, zoom * 0.5 );","float x2y2 = position.x * position.x + position.y * position.y;","vec3 sphere_pnt = vec3( 2. * position, x2y2 - 1. ) / ( x2y2 + 1. );","sphere_pnt = vec3( transform * vec4( sphere_pnt, 1.0 ) );","vec2 sampleUV = vec2(","(atan(sphere_pnt.y, sphere_pnt.x) / PI + 1.0) * 0.5,","(asin(sphere_pnt.z) / PI + 0.5)",");","gl_FragColor = texture2D( tDiffuse, sampleUV );","gl_FragColor.a *= opacity;","}"].join("\n")};function Rm(e="image",t,n=1e4,i=.5){"image"===e&&Cm.call(this,t,this.createGeometry(n,i),this.createMaterial(n)),this.size=n,this.ratio=i,this.EPS=1e-6,this.frameId=null,this.dragging=!1,this.userMouse=new sl,this.quatA=new ll,this.quatB=new ll,this.quatCur=new ll,this.quatSlerp=new ll,this.vectorX=new cl(1,0,0),this.vectorY=new cl(0,1,0),this.addEventListener("window-resize",this.onWindowResize)}function zm(e,t,n){Rm.call(this,"image",e,t,n)}function _m(e){const t=new lp(5e3,60,40),n=new Qc({visible:!1});Tm.call(this,t,n),this.media=new wm(e),this.radius=5e3,this.addEventListener("enter",this.start.bind(this)),this.addEventListener("leave",this.stop.bind(this)),this.addEventListener("panolens-container",this.onPanolensContainer.bind(this)),this.addEventListener("panolens-scene",this.onPanolensScene.bind(this))}function Bm(e,t){this.object=e,this.domElement=void 0!==t?t:document,this.frameId=null,this.enabled=!0,this.target=new cl,this.center=this.target,this.noZoom=!1,this.zoomSpeed=1,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.noRotate=!1,this.rotateSpeed=-.15,this.noPan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.momentumDampingFactor=.9,this.momentumScalingFactor=-.005,this.momentumKeydownFactor=20,this.minFov=30,this.maxFov=120,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.noKeys=!1,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:Uo.LEFT,ZOOM:Uo.MIDDLE,PAN:Uo.RIGHT};var n,i,r,o,a,s=this,l=1e-7,c=1e-4,u=new sl,h=new sl,d=new sl,p=new sl,f=new sl,A=new sl,m=new cl,g=new cl,v=new sl,y=new sl,b=new sl,w=0,x=0,M=0,E=0,S=1,T=new cl,C=new cl,I=new ll,L=0,D=0,O=!1,N={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},P=N.NONE;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom;var k=(new ll).setFromUnitVectors(e.up,new cl(0,1,0)),R=k.clone().inverse(),z={type:"change"},_={type:"start"},B={type:"end"};function j(){return 2*Math.PI/60/60*s.autoRotateSpeed}function U(){return Math.pow(.95,s.zoomSpeed)}function F(e){if(O=!1,L=D=0,!1!==s.enabled){if(e.preventDefault(),e.button===s.mouseButtons.ORBIT){if(!0===s.noRotate)return;P=N.ROTATE,u.set(e.clientX,e.clientY)}else if(e.button===s.mouseButtons.ZOOM){if(!0===s.noZoom)return;P=N.DOLLY,v.set(e.clientX,e.clientY)}else if(e.button===s.mouseButtons.PAN){if(!0===s.noPan)return;P=N.PAN,p.set(e.clientX,e.clientY)}P!==N.NONE&&(document.addEventListener("mousemove",V,!1),document.addEventListener("mouseup",H,!1),s.dispatchEvent(_)),s.update()}}function V(e){if(!1!==s.enabled){e.preventDefault();var t=s.domElement===document?s.domElement.body:s.domElement;if(P===N.ROTATE){if(!0===s.noRotate)return;h.set(e.clientX,e.clientY),d.subVectors(h,u),s.rotateLeft(2*Math.PI*d.x/t.clientWidth*s.rotateSpeed),s.rotateUp(2*Math.PI*d.y/t.clientHeight*s.rotateSpeed),u.copy(h),n&&(L=e.clientX-n.clientX,D=e.clientY-n.clientY),n=e}else if(P===N.DOLLY){if(!0===s.noZoom)return;y.set(e.clientX,e.clientY),b.subVectors(y,v),b.y>0?s.dollyIn():b.y<0&&s.dollyOut(),v.copy(y)}else if(P===N.PAN){if(!0===s.noPan)return;f.set(e.clientX,e.clientY),A.subVectors(f,p),s.pan(A.x,A.y),p.copy(f)}P!==N.NONE&&s.update()}}function H(){O=!0,n=void 0,!1!==s.enabled&&(document.removeEventListener("mousemove",V,!1),document.removeEventListener("mouseup",H,!1),s.dispatchEvent(B),P=N.NONE)}function Q(e){if(!1!==s.enabled&&!0!==s.noZoom&&P===N.NONE){e.preventDefault(),e.stopPropagation();var t=0;void 0!==e.wheelDelta?t=e.wheelDelta:void 0!==e.detail&&(t=-e.detail),t>0?(s.object.fov=s.object.fov<s.maxFov?s.object.fov+1:s.maxFov,s.object.updateProjectionMatrix()):t<0&&(s.object.fov=s.object.fov>s.minFov?s.object.fov-1:s.minFov,s.object.updateProjectionMatrix()),s.update(),s.dispatchEvent(z),s.dispatchEvent(_),s.dispatchEvent(B)}}function W(e){switch(e.keyCode){case s.keys.UP:i=!1;break;case s.keys.BOTTOM:r=!1;break;case s.keys.LEFT:o=!1;break;case s.keys.RIGHT:a=!1}}function G(e){if(!1!==s.enabled&&!0!==s.noKeys&&!0!==s.noRotate){switch(e.keyCode){case s.keys.UP:i=!0;break;case s.keys.BOTTOM:r=!0;break;case s.keys.LEFT:o=!0;break;case s.keys.RIGHT:a=!0}(i||r||o||a)&&(O=!0,i&&(D=-s.rotateSpeed*s.momentumKeydownFactor),r&&(D=s.rotateSpeed*s.momentumKeydownFactor),o&&(L=-s.rotateSpeed*s.momentumKeydownFactor),a&&(L=s.rotateSpeed*s.momentumKeydownFactor))}}function Y(e){if(O=!1,L=D=0,!1!==s.enabled){switch(e.touches.length){case 1:if(!0===s.noRotate)return;P=N.TOUCH_ROTATE,u.set(e.touches[0].pageX,e.touches[0].pageY);break;case 2:if(!0===s.noZoom)return;P=N.TOUCH_DOLLY;var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,i=Math.sqrt(t*t+n*n);v.set(0,i);break;case 3:if(!0===s.noPan)return;P=N.TOUCH_PAN,p.set(e.touches[0].pageX,e.touches[0].pageY);break;default:P=N.NONE}P!==N.NONE&&s.dispatchEvent(_)}}function q(e){if(!1!==s.enabled){e.preventDefault(),e.stopPropagation();var t=s.domElement===document?s.domElement.body:s.domElement;switch(e.touches.length){case 1:if(!0===s.noRotate)return;if(P!==N.TOUCH_ROTATE)return;h.set(e.touches[0].pageX,e.touches[0].pageY),d.subVectors(h,u),s.rotateLeft(2*Math.PI*d.x/t.clientWidth*s.rotateSpeed),s.rotateUp(2*Math.PI*d.y/t.clientHeight*s.rotateSpeed),u.copy(h),n&&(L=e.touches[0].pageX-n.pageX,D=e.touches[0].pageY-n.pageY),n={pageX:e.touches[0].pageX,pageY:e.touches[0].pageY},s.update();break;case 2:if(!0===s.noZoom)return;if(P!==N.TOUCH_DOLLY)return;var i=e.touches[0].pageX-e.touches[1].pageX,r=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(i*i+r*r);y.set(0,o),b.subVectors(y,v),b.y<0?(s.object.fov=s.object.fov<s.maxFov?s.object.fov+1:s.maxFov,s.object.updateProjectionMatrix()):b.y>0&&(s.object.fov=s.object.fov>s.minFov?s.object.fov-1:s.minFov,s.object.updateProjectionMatrix()),v.copy(y),s.update(),s.dispatchEvent(z);break;case 3:if(!0===s.noPan)return;if(P!==N.TOUCH_PAN)return;f.set(e.touches[0].pageX,e.touches[0].pageY),A.subVectors(f,p),s.pan(A.x,A.y),p.copy(f),s.update();break;default:P=N.NONE}}}function X(){O=!0,n=void 0,!1!==s.enabled&&(s.dispatchEvent(B),P=N.NONE)}this.setLastQuaternion=function(e){I.copy(e),s.object.quaternion.copy(e)},this.getLastPosition=function(){return C},this.rotateLeft=function(e){void 0===e&&(e=j()),E-=e},this.rotateUp=function(e){void 0===e&&(e=j()),M-=e},this.panLeft=function(e){var t=this.object.matrix.elements;m.set(t[0],t[1],t[2]),m.multiplyScalar(-e),T.add(m)},this.panUp=function(e){var t=this.object.matrix.elements;m.set(t[4],t[5],t[6]),m.multiplyScalar(e),T.add(m)},this.pan=function(e,t){var n=s.domElement===document?s.domElement.body:s.domElement;if(s.object instanceof Oh){var i=s.object.position.clone().sub(s.target).length();i*=Math.tan(s.object.fov/2*Math.PI/180),s.panLeft(2*e*i/n.clientHeight),s.panUp(2*t*i/n.clientHeight)}else s.object instanceof kf?(s.panLeft(e*(s.object.right-s.object.left)/n.clientWidth),s.panUp(t*(s.object.top-s.object.bottom)/n.clientHeight)):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.")},this.momentum=function(){O&&(Math.abs(L)<c&&Math.abs(D)<c?O=!1:(D*=this.momentumDampingFactor,L*=this.momentumDampingFactor,E-=this.momentumScalingFactor*L,M-=this.momentumScalingFactor*D))},this.dollyIn=function(e){void 0===e&&(e=U()),s.object instanceof Oh?S/=e:s.object instanceof kf?(s.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom*e)),s.object.updateProjectionMatrix(),s.dispatchEvent(z)):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.")},this.dollyOut=function(e){void 0===e&&(e=U()),s.object instanceof Oh?S*=e:s.object instanceof kf?(s.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/e)),s.object.updateProjectionMatrix(),s.dispatchEvent(z)):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.")},this.update=function(e){var t=this.object.position;g.copy(t).sub(this.target),g.applyQuaternion(k),w=Math.atan2(g.x,g.z),x=Math.atan2(Math.sqrt(g.x*g.x+g.z*g.z),g.y),this.autoRotate&&P===N.NONE&&this.rotateLeft(j()),this.momentum(),w+=E,x+=M,w=Math.max(this.minAzimuthAngle,Math.min(this.maxAzimuthAngle,w)),x=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,x)),x=Math.max(l,Math.min(Math.PI-l,x));var n=g.length()*S;n=Math.max(this.minDistance,Math.min(this.maxDistance,n)),this.target.add(T),g.x=n*Math.sin(x)*Math.sin(w),g.y=n*Math.cos(x),g.z=n*Math.sin(x)*Math.cos(w),g.applyQuaternion(R),t.copy(this.target).add(g),this.object.lookAt(this.target),E=0,M=0,S=1,T.set(0,0,0),(C.distanceToSquared(this.object.position)>l||8*(1-I.dot(this.object.quaternion))>l)&&(!0!==e&&this.dispatchEvent(z),C.copy(this.object.position),I.copy(this.object.quaternion))},this.reset=function(){P=N.NONE,this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(z),this.update()},this.getPolarAngle=function(){return x},this.getAzimuthalAngle=function(){return w},this.dispose=function(){this.domElement.removeEventListener("mousedown",F),this.domElement.removeEventListener("mousewheel",Q),this.domElement.removeEventListener("DOMMouseScroll",Q),this.domElement.removeEventListener("touchstart",Y),this.domElement.removeEventListener("touchend",X),this.domElement.removeEventListener("touchmove",q),window.removeEventListener("keyup",W),window.removeEventListener("keydown",G)},this.domElement.addEventListener("mousedown",F,{passive:!1}),this.domElement.addEventListener("mousewheel",Q,{passive:!1}),this.domElement.addEventListener("DOMMouseScroll",Q,{passive:!1}),this.domElement.addEventListener("touchstart",Y,{passive:!1}),this.domElement.addEventListener("touchend",X,{passive:!1}),this.domElement.addEventListener("touchmove",q,{passive:!1}),window.addEventListener("keyup",W,{passive:!1}),window.addEventListener("keydown",G,{passive:!1}),this.update()}function jm(e,t){var n=this,i={type:"change"},r=0,o=0,a=0,s=0;this.camera=e,this.camera.rotation.reorder("YXZ"),this.domElement=void 0!==t?t:document,this.enabled=!0,this.deviceOrientation={},this.screenOrientation=0,this.alpha=0,this.alphaOffsetAngle=0;var l=function(e){n.deviceOrientation=e},c=function(){n.screenOrientation=window.orientation||0},u=function(e){e.preventDefault(),e.stopPropagation(),a=e.touches[0].pageX,s=e.touches[0].pageY},h=function(e){e.preventDefault(),e.stopPropagation(),r+=al.degToRad((e.touches[0].pageX-a)/4),o+=al.degToRad((s-e.touches[0].pageY)/4),n.updateAlphaOffsetAngle(r),a=e.touches[0].pageX,s=e.touches[0].pageY};this.connect=function(){c(),window.addEventListener("orientationchange",c,{passive:!0}),window.addEventListener("deviceorientation",l,{passive:!0}),window.addEventListener("deviceorientation",this.update.bind(this),{passive:!0}),n.domElement.addEventListener("touchstart",u,{passive:!1}),n.domElement.addEventListener("touchmove",h,{passive:!1}),n.enabled=!0},this.disconnect=function(){window.removeEventListener("orientationchange",c,!1),window.removeEventListener("deviceorientation",l,!1),window.removeEventListener("deviceorientation",this.update.bind(this),!1),n.domElement.removeEventListener("touchstart",u,!1),n.domElement.removeEventListener("touchmove",h,!1),n.enabled=!1},this.update=function(e){if(!1!==n.enabled){var t=n.deviceOrientation.alpha?al.degToRad(n.deviceOrientation.alpha)+n.alphaOffsetAngle:0,r=n.deviceOrientation.beta?al.degToRad(n.deviceOrientation.beta):0,a=n.deviceOrientation.gamma?al.degToRad(n.deviceOrientation.gamma):0,s=n.screenOrientation?al.degToRad(n.screenOrientation):0;!function(e,t,i,r,a){var s,l=new cl(0,0,1),c=new Zl,u=new ll,h=new ll(-Math.sqrt(.5),0,0,Math.sqrt(.5)),d=new ll,p=new ll;0==n.screenOrientation?(s=new cl(1,0,0),d.setFromAxisAngle(s,-o)):180==n.screenOrientation?(s=new cl(1,0,0),d.setFromAxisAngle(s,o)):90==n.screenOrientation?(s=new cl(0,1,0),d.setFromAxisAngle(s,o)):-90==n.screenOrientation&&(s=new cl(0,1,0),d.setFromAxisAngle(s,-o)),h.multiply(d),h.multiply(p),c.set(i,t,-r,"YXZ"),e.setFromEuler(c),e.multiply(h),e.multiply(u.setFromAxisAngle(l,-a))}(n.camera.quaternion,t,r,a,s),n.alpha=t,!0!==e&&n.dispatchEvent(i)}},this.updateAlphaOffsetAngle=function(e){this.alphaOffsetAngle=e,this.update()},this.dispose=function(){this.disconnect()},this.connect()}function Um(e){var t=new kf(-1,1,1,-1,0,1),n=new Yh,i=new hA;i.aspect=.5;var r=new Cl(512,512,{minFilter:qa,magFilter:Wa,format:hs});r.scissorTest=!0,r.texture.generateMipmaps=!1;var o=new sl(.441,.156),a=new Ec(1,1,10,20).removeAttribute("normal").toNonIndexed(),s=a.attributes.position.array,l=a.attributes.uv.array;a.attributes.position.count*=2,a.attributes.uv.count*=2;var c=new Float32Array(2*s.length);c.set(s),c.set(s,s.length);var u=new Float32Array(2*l.length);u.set(l),u.set(l,l.length);for(var h=new sl,d=s.length/3,p=0,f=c.length/3;p<f;p++){h.x=c[3*p+0],h.y=c[3*p+1];var A=h.dot(h),m=1.5+(o.x+o.y*A)*A,g=p<d?0:1;c[3*p+0]=h.x/m*1.5-.5+g,c[3*p+1]=h.y/m*3,u[2*p]=.5*(u[2*p]+g)}a.attributes.position.array=c,a.attributes.uv.array=u;var v=new Wc(a,new Qc({map:r.texture}));n.add(v),this.setSize=function(t,n){e.setSize(t,n);var i=e.getPixelRatio();r.setSize(t*i,n*i)},this.render=function(o,a){o.updateMatrixWorld(),null===a.parent&&a.updateMatrixWorld(),i.update(a);var s=r.width/2,l=r.height;e.autoClear&&e.clear(),r.scissor.set(0,0,s,l),r.viewport.set(0,0,s,l),e.setRenderTarget(r),e.render(o,i.cameraL),e.clearDepth(),r.scissor.set(s,0,s,l),r.viewport.set(s,0,s,l),e.setRenderTarget(r),e.render(o,i.cameraR),e.clearDepth(),e.setRenderTarget(null),e.render(n,t)}}Rm.prototype=Object.assign(Object.create(Cm.prototype),{constructor:Rm,add:function(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}e instanceof Em&&(e.material.depthTest=!1),Cm.prototype.add.call(this,e)},createGeometry:function(e,t){return new Ec(e,e*t)},createMaterial:function(e){const t=Object.assign({},km),n=t.uniforms;return n.zoom.value=e,n.opacity.value=0,new Fc({uniforms:n,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,side:Yo,transparent:!0})},registerMouseEvents:function(){this.container.addEventListener("mousedown",this.onMouseDown.bind(this),{passive:!0}),this.container.addEventListener("mousemove",this.onMouseMove.bind(this),{passive:!0}),this.container.addEventListener("mouseup",this.onMouseUp.bind(this),{passive:!0}),this.container.addEventListener("touchstart",this.onMouseDown.bind(this),{passive:!0}),this.container.addEventListener("touchmove",this.onMouseMove.bind(this),{passive:!0}),this.container.addEventListener("touchend",this.onMouseUp.bind(this),{passive:!0}),this.container.addEventListener("mousewheel",this.onMouseWheel.bind(this),{passive:!1}),this.container.addEventListener("DOMMouseScroll",this.onMouseWheel.bind(this),{passive:!1}),this.container.addEventListener("contextmenu",this.onContextMenu.bind(this),{passive:!0})},unregisterMouseEvents:function(){this.container.removeEventListener("mousedown",this.onMouseDown.bind(this),!1),this.container.removeEventListener("mousemove",this.onMouseMove.bind(this),!1),this.container.removeEventListener("mouseup",this.onMouseUp.bind(this),!1),this.container.removeEventListener("touchstart",this.onMouseDown.bind(this),!1),this.container.removeEventListener("touchmove",this.onMouseMove.bind(this),!1),this.container.removeEventListener("touchend",this.onMouseUp.bind(this),!1),this.container.removeEventListener("mousewheel",this.onMouseWheel.bind(this),!1),this.container.removeEventListener("DOMMouseScroll",this.onMouseWheel.bind(this),!1),this.container.removeEventListener("contextmenu",this.onContextMenu.bind(this),!1)},onMouseDown:function(e){switch(e.touches&&e.touches.length||1){case 1:const t=e.clientX>=0?e.clientX:e.touches[0].clientX,n=e.clientY>=0?e.clientY:e.touches[0].clientY;this.dragging=!0,this.userMouse.set(t,n);break;case 2:const i=e.touches[0].pageX-e.touches[1].pageX,r=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(i*i+r*r);this.userMouse.pinchDistance=o}this.onUpdateCallback()},onMouseMove:function(e){switch(e.touches&&e.touches.length||1){case 1:const t=e.clientX>=0?e.clientX:e.touches[0].clientX,n=e.clientY>=0?e.clientY:e.touches[0].clientY,i=.4*al.degToRad(t-this.userMouse.x),r=.4*al.degToRad(n-this.userMouse.y);this.dragging&&(this.quatA.setFromAxisAngle(this.vectorY,i),this.quatB.setFromAxisAngle(this.vectorX,r),this.quatCur.multiply(this.quatA).multiply(this.quatB),this.userMouse.set(t,n));break;case 2:const o=e.touches[0].pageX-e.touches[1].pageX,a=e.touches[0].pageY-e.touches[1].pageY,s=Math.sqrt(o*o+a*a);this.addZoomDelta(this.userMouse.pinchDistance-s)}},onMouseUp:function(){this.dragging=!1},onMouseWheel:function(e){e.preventDefault(),e.stopPropagation();let t=0;void 0!==e.wheelDelta?t=e.wheelDelta:void 0!==e.detail&&(t=-e.detail),this.addZoomDelta(t),this.onUpdateCallback()},addZoomDelta:function(e){const t=this.material.uniforms,n=.1*this.size,i=10*this.size;t.zoom.value+=e,t.zoom.value<=n?t.zoom.value=n:t.zoom.value>=i&&(t.zoom.value=i)},onUpdateCallback:function(){this.frameId=window.requestAnimationFrame(this.onUpdateCallback.bind(this)),this.quatSlerp.slerp(this.quatCur,.1),this.material&&this.material.uniforms.transform.value.makeRotationFromQuaternion(this.quatSlerp),!this.dragging&&1-this.quatSlerp.clone().dot(this.quatCur)<this.EPS&&window.cancelAnimationFrame(this.frameId)},reset:function(){this.quatCur.set(0,0,0,1),this.quatSlerp.set(0,0,0,1),this.onUpdateCallback()},onLoad:function(e){this.material.uniforms.resolution.value=this.container.clientWidth/this.container.clientHeight,this.registerMouseEvents(),this.onUpdateCallback(),this.dispatchEvent({type:"panolens-viewer-handler",method:"disableControl"}),Cm.prototype.onLoad.call(this,e)},onLeave:function(){this.unregisterMouseEvents(),this.dispatchEvent({type:"panolens-viewer-handler",method:"enableControl",data:gm.ORBIT}),window.cancelAnimationFrame(this.frameId),Cm.prototype.onLeave.call(this)},onWindowResize:function(){this.material.uniforms.resolution.value=this.container.clientWidth/this.container.clientHeight},onContextMenu:function(){this.dragging=!1},dispose:function(){this.unregisterMouseEvents(),Cm.prototype.dispose.call(this)}}),zm.prototype=Object.assign(Object.create(Rm.prototype),{constructor:zm,onLoad:function(e){this.updateTexture(e),Rm.prototype.onLoad.call(this,e)},updateTexture:function(e){e.minFilter=e.magFilter=qa,this.material.uniforms.tDiffuse.value=e},dispose:function(){const e=this.material.uniforms.tDiffuse;e&&e.value&&e.value.dispose(),Rm.prototype.dispose.call(this)}}),_m.prototype=Object.assign(Object.create(Tm.prototype),{constructor:_m,onPanolensContainer:function({container:e}){this.media.setContainer(e)},onPanolensScene:function({scene:e}){this.media.setScene(e)},start:function(){return this.media.start()},stop:function(){this.media.stop()}}),Bm.prototype=Object.assign(Object.create(Ro.prototype),{constructor:Bm}),jm.prototype=Object.assign(Object.create(Ro.prototype),{constructor:jm});const Fm=function(e){var t=new hA;t.aspect=.5;var n=new sl;this.setEyeSeparation=function(e){t.eyeSep=e},this.setSize=function(t,n){e.setSize(t,n)},this.render=function(i,r){i.updateMatrixWorld(),null===r.parent&&r.updateMatrixWorld(),t.update(r),e.getSize(n),e.autoClear&&e.clear(),e.setScissorTest(!0),e.setScissor(0,0,n.width/2,n.height),e.setViewport(0,0,n.width/2,n.height),e.render(i,t.cameraL),e.setScissor(n.width/2,0,n.width/2,n.height),e.setViewport(n.width/2,0,n.width/2,n.height),e.render(i,t.cameraR),e.setScissorTest(!1)}};function Vm(e){let t;(e=e||{}).controlBar=void 0===e.controlBar||e.controlBar,e.controlButtons=e.controlButtons||["fullscreen","setting","video"],e.autoHideControlBar=void 0!==e.autoHideControlBar&&e.autoHideControlBar,e.autoHideInfospot=void 0===e.autoHideInfospot||e.autoHideInfospot,e.horizontalView=void 0!==e.horizontalView&&e.horizontalView,e.clickTolerance=e.clickTolerance||10,e.cameraFov=e.cameraFov||60,e.reverseDragging=e.reverseDragging||!1,e.enableReticle=e.enableReticle||!1,e.dwellTime=e.dwellTime||1500,e.autoReticleSelect=void 0===e.autoReticleSelect||e.autoReticleSelect,e.viewIndicator=void 0!==e.viewIndicator&&e.viewIndicator,e.indicatorSize=e.indicatorSize||30,e.output=e.output?e.output:"none",e.autoRotate=e.autoRotate||!1,e.autoRotateSpeed=e.autoRotateSpeed||2,e.autoRotateActivationDuration=e.autoRotateActivationDuration||5e3,this.options=e,e.container?(t=e.container,t._width=t.clientWidth,t._height=t.clientHeight):(t=document.createElement("div"),t.classList.add("panolens-container"),t.style.width="100%",t.style.height="100%",t._width=window.innerWidth,t._height=window.innerHeight,document.body.appendChild(t)),this.container=t,this.camera=e.camera||new Oh(this.options.cameraFov,this.container.clientWidth/this.container.clientHeight,1,1e4),this.scene=e.scene||new Yh,this.renderer=e.renderer||new Qh({alpha:!0,antialias:!1}),this.sceneReticle=new Yh,this.viewIndicatorSize=this.options.indicatorSize,this.reticle={},this.tempEnableReticle=this.options.enableReticle,this.mode=1,this.panorama=null,this.widget=null,this.hoverObject=null,this.infospot=null,this.pressEntityObject=null,this.pressObject=null,this.raycaster=new VA,this.raycasterPoint=new sl,this.userMouse=new sl,this.updateCallbacks=[],this.requestAnimationId=null,this.cameraFrustum=new kl,this.cameraViewProjectionMatrix=new Rl,this.autoRotateRequestId=null,this.outputDivElement=null,this.touchSupported="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,this.HANDLER_MOUSE_DOWN=this.onMouseDown.bind(this),this.HANDLER_MOUSE_UP=this.onMouseUp.bind(this),this.HANDLER_MOUSE_MOVE=this.onMouseMove.bind(this),this.HANDLER_WINDOW_RESIZE=this.onWindowResize.bind(this),this.HANDLER_KEY_DOWN=this.onKeyDown.bind(this),this.HANDLER_KEY_UP=this.onKeyUp.bind(this),this.HANDLER_TAP=this.onTap.bind(this,{clientX:this.container.clientWidth/2,clientY:this.container.clientHeight/2}),this.OUTPUT_INFOSPOT=!1,this.tweenLeftAnimation=new Mm.Tween,this.tweenUpAnimation=new Mm.Tween,this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setSize(this.container.clientWidth,this.container.clientHeight),this.renderer.setClearColor(0,0),this.renderer.autoClear=!1,this.renderer.domElement.classList.add("panolens-canvas"),this.renderer.domElement.style.display="block",this.container.style.backgroundColor="#000",this.container.appendChild(this.renderer.domElement),this.OrbitControls=new Bm(this.camera,this.container),this.OrbitControls.id="orbit",this.OrbitControls.minDistance=1,this.OrbitControls.noPan=!0,this.OrbitControls.autoRotate=this.options.autoRotate,this.OrbitControls.autoRotateSpeed=this.options.autoRotateSpeed,this.DeviceOrientationControls=new jm(this.camera,this.container),this.DeviceOrientationControls.id="device-orientation",this.DeviceOrientationControls.enabled=!1,this.camera.position.z=1,this.options.passiveRendering&&console.warn("passiveRendering is now deprecated"),this.controls=[this.OrbitControls,this.DeviceOrientationControls],this.control=this.OrbitControls,this.CardboardEffect=new Um(this.renderer),this.CardboardEffect.setSize(this.container.clientWidth,this.container.clientHeight),this.StereoEffect=new Fm(this.renderer),this.StereoEffect.setSize(this.container.clientWidth,this.container.clientHeight),this.effect=this.CardboardEffect,this.addReticle(),this.options.horizontalView&&(this.OrbitControls.minPolarAngle=Math.PI/2,this.OrbitControls.maxPolarAngle=Math.PI/2),!1!==this.options.controlBar&&this.addDefaultControlBar(this.options.controlButtons),this.options.viewIndicator&&this.addViewIndicator(),this.options.reverseDragging&&this.reverseDraggingDirection(),this.options.enableReticle?this.enableReticleControl():this.registerMouseAndTouchEvents(),"overlay"===this.options.output&&this.addOutputElement(),this.registerEventListeners(),this.animate.call(this)}function Hm(e){return e/180*Math.PI}function Qm(e){return Math.sqrt(Math.pow(e[1][0]-e[0][0],2)+Math.pow(e[1][1]-e[0][1],2))}Vm.prototype=Object.assign(Object.create(Ro.prototype),{constructor:Vm,add:function(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}this.scene.add(e),e.addEventListener&&e.addEventListener("panolens-viewer-handler",this.eventHandler.bind(this)),e instanceof Tm&&e.dispatchEvent&&e.dispatchEvent({type:"panolens-container",container:this.container}),e instanceof _m&&e.dispatchEvent({type:"panolens-scene",scene:this.scene}),"panorama"===e.type&&(this.addPanoramaEventListener(e),this.panorama||this.setPanorama(e))},remove:function(e){e.removeEventListener&&e.removeEventListener("panolens-viewer-handler",this.eventHandler.bind(this)),this.scene.remove(e)},addDefaultControlBar:function(e){if(this.widget)return void console.warn("Default control bar exists");const t=new Sm(this.container);t.addEventListener("panolens-viewer-handler",this.eventHandler.bind(this)),t.addControlBar(),e.forEach((e=>{t.addControlButton(e)})),this.widget=t},setPanorama:function(e){const t=this.panorama;if("panorama"===e.type&&t!==e){this.hideInfospot();const n=function(){t&&t.onLeave(),e.removeEventListener("enter-fade-start",n)};e.addEventListener("enter-fade-start",n),(this.panorama=e).onEnter()}},eventHandler:function(e){e.method&&this[e.method]&&this[e.method](e.data)},dispatchEventToChildren:function(e){this.scene.traverse((function(t){t.dispatchEvent&&t.dispatchEvent(e)}))},activateWidgetItem:function(e,t){const n=this.widget.mainMenu,i=n.children[0],r=n.children[1];let o;if(void 0!==e){switch(e){case 0:default:o=i.subMenu.children[1];break;case 1:o=i.subMenu.children[2]}i.subMenu.setActiveItem(o),i.setSelectionTitle(o.textContent)}if(void 0!==t){switch(t){case 2:o=r.subMenu.children[2];break;case 3:o=r.subMenu.children[3];break;default:o=r.subMenu.children[1]}r.subMenu.setActiveItem(o),r.setSelectionTitle(o.textContent)}},enableEffect:function(e){if(this.mode===e)return;if(1===e)return void this.disableEffect();this.mode=e;const t=this.camera.fov;switch(e){case 2:this.effect=this.CardboardEffect,this.enableReticleControl();break;case 3:this.effect=this.StereoEffect,this.enableReticleControl();break;default:this.effect=null,this.disableReticleControl()}this.activateWidgetItem(void 0,this.mode),this.dispatchEventToChildren({type:"panolens-dual-eye-effect",mode:this.mode}),this.camera.fov=t+.01,this.effect.setSize(this.container.clientWidth,this.container.clientHeight),this.render(),this.camera.fov=t,this.dispatchEvent({type:"mode-change",mode:this.mode})},disableEffect:function(){1!==this.mode&&(this.mode=1,this.disableReticleControl(),this.activateWidgetItem(void 0,this.mode),this.dispatchEventToChildren({type:"panolens-dual-eye-effect",mode:this.mode}),this.renderer.setSize(this.container.clientWidth,this.container.clientHeight),this.render(),this.dispatchEvent({type:"mode-change",mode:this.mode}))},enableReticleControl:function(){this.reticle.visible||(this.tempEnableReticle=!0,this.unregisterMouseAndTouchEvents(),this.reticle.show(),this.registerReticleEvent(),this.updateReticleEvent())},disableReticleControl:function(){this.tempEnableReticle=!1,this.options.enableReticle?this.updateReticleEvent():(this.reticle.hide(),this.unregisterReticleEvent(),this.registerMouseAndTouchEvents())},enableAutoRate:function(){this.options.autoRotate=!0,this.OrbitControls.autoRotate=!0},disableAutoRate:function(){clearTimeout(this.autoRotateRequestId),this.options.autoRotate=!1,this.OrbitControls.autoRotate=!1},toggleVideoPlay:function(e){this.panorama instanceof Om&&this.panorama.dispatchEvent({type:"video-toggle",pause:e})},setVideoCurrentTime:function(e){this.panorama instanceof Om&&this.panorama.dispatchEvent({type:"video-time",percentage:e})},onVideoUpdate:function(e){const{widget:t}=this;t&&t.dispatchEvent({type:"video-update",percentage:e})},addUpdateCallback:function(e){e&&this.updateCallbacks.push(e)},removeUpdateCallback:function(e){const t=this.updateCallbacks.indexOf(e);e&&t>=0&&this.updateCallbacks.splice(t,1)},showVideoWidget:function(){const{widget:e}=this;e&&e.dispatchEvent({type:"video-control-show"})},hideVideoWidget:function(){const{widget:e}=this;e&&e.dispatchEvent({type:"video-control-hide"})},updateVideoPlayButton:function(e){const{widget:t}=this;t&&t.videoElement&&t.videoElement.controlButton&&t.videoElement.controlButton.update(e)},addPanoramaEventListener:function(e){e.addEventListener("enter-fade-start",this.setCameraControl.bind(this)),e instanceof Om&&(e.addEventListener("enter-fade-start",this.showVideoWidget.bind(this)),e.addEventListener("leave",function(){this.panorama instanceof Om||this.hideVideoWidget.call(this)}.bind(this)))},setCameraControl:function(){this.OrbitControls.target.copy(this.panorama.position)},getControl:function(){return this.control},getScene:function(){return this.scene},getCamera:function(){return this.camera},getRenderer:function(){return this.renderer},getContainer:function(){return this.container},getControlId:function(){return this.control.id},getNextControlId:function(){return this.controls[this.getNextControlIndex()].id},getNextControlIndex:function(){const e=this.controls,t=this.control,n=e.indexOf(t)+1;return n>=e.length?0:n},setCameraFov:function(e){this.camera.fov=e,this.camera.updateProjectionMatrix()},enableControl:function(e){switch(e=e>=0&&e<this.controls.length?e:0,this.control.enabled=!1,this.control=this.controls[e],this.control.enabled=!0,e){case gm.ORBIT:this.camera.position.copy(this.panorama.position),this.camera.position.z+=1;break;case gm.DEVICEORIENTATION:this.camera.position.copy(this.panorama.position)}this.control.update(),this.activateWidgetItem(e,void 0)},disableControl:function(){this.control.enabled=!1},toggleNextControl:function(){this.enableControl(this.getNextControlIndex())},getScreenVector:function(e){const t=e.clone(),n=this.container.clientWidth/2,i=this.container.clientHeight/2;return t.project(this.camera),t.x=t.x*n+n,t.y=-t.y*i+i,t.z=0,t},checkSpriteInViewport:function(e){return this.camera.matrixWorldInverse.getInverse(this.camera.matrixWorld),this.cameraViewProjectionMatrix.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),this.cameraFrustum.setFromMatrix(this.cameraViewProjectionMatrix),e.visible&&this.cameraFrustum.intersectsSprite(e)},reverseDraggingDirection:function(){this.OrbitControls.rotateSpeed*=-1,this.OrbitControls.momentumScalingFactor*=-1},addReticle:function(){this.reticle=new xm(16777215,!0,this.options.dwellTime),this.reticle.hide(),this.camera.add(this.reticle),this.sceneReticle.add(this.camera)},tweenControlCenter:function(e,t,n){if(this.control!==this.OrbitControls)return;let i,r,o,a,s,l,c,u,h,d;e instanceof Array&&(t=e[1],n=e[2],e=e[0]),t=void 0!==t?t:1e3,n=n||Mm.Easing.Exponential.Out,i=this,a=this.camera.getWorldDirection(new cl),s=a.clone(),u=this.panorama.getWorldPosition(new cl).sub(this.camera.getWorldPosition(new cl)),l=e.clone(),l.x*=-1,l.add(u).normalize(),c=l.clone(),a.y=0,l.y=0,r=Math.atan2(l.z,l.x)-Math.atan2(a.z,a.x),r=r>Math.PI?r-2*Math.PI:r,r=r<-Math.PI?r+2*Math.PI:r,o=Math.abs(s.angleTo(a)+(s.y*c.y<=0?c.angleTo(l):-c.angleTo(l))),o*=c.y<s.y?1:-1,h={left:0,up:0},d={left:0,up:0},this.tweenLeftAnimation.stop(),this.tweenUpAnimation.stop(),this.tweenLeftAnimation=new Mm.Tween(h).to({left:r},t).easing(n).onUpdate((function(e){i.control.rotateLeft(e.left-d.left),d.left=e.left})).start(),this.tweenUpAnimation=new Mm.Tween(h).to({up:o},t).easing(n).onUpdate((function(e){i.control.rotateUp(e.up-d.up),d.up=e.up})).start()},tweenControlCenterByObject:function(e,t,n){let i=!1;if(e.traverseAncestors((function(e){e.scalePlaceHolder&&(i=!0)})),i){const i=new cl(-1,1,1);this.tweenControlCenter(e.getWorldPosition(new cl).multiply(i),t,n)}else this.tweenControlCenter(e.getWorldPosition(new cl),t,n)},onWindowResize:function(e,t){let n,i;const r=this.container.classList.contains("panolens-container")||this.container.isFullscreen;if(void 0!==e&&void 0!==t)n=e,i=t,this.container._width=e,this.container._height=t;else{const e=/(android)/i.test(window.navigator.userAgent),t=e?Math.min(document.documentElement.clientWidth,window.innerWidth||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0),o=e?Math.min(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientHeight,window.innerHeight||0);n=r?t:this.container.clientWidth,i=r?o:this.container.clientHeight,this.container._width=n,this.container._height=i}this.camera.aspect=n/i,this.camera.updateProjectionMatrix(),this.renderer.setSize(n,i),(this.options.enableReticle||this.tempEnableReticle)&&this.updateReticleEvent(),this.dispatchEvent({type:"window-resize",width:n,height:i}),this.scene.traverse((function(e){e.dispatchEvent&&e.dispatchEvent({type:"window-resize",width:n,height:i})}))},addOutputElement:function(){const e=document.createElement("div");e.style.position="absolute",e.style.right="10px",e.style.top="10px",e.style.color="#fff",this.container.appendChild(e),this.outputDivElement=e},outputPosition:function(){const e=this.raycaster.intersectObject(this.panorama,!0);if(e.length>0){const t=e[0].point.clone(),n=new cl(-1,1,1),i=this.panorama.getWorldPosition(new cl);t.sub(i).multiply(n);const r={x:t.x.toFixed(2),y:t.y.toFixed(2),z:t.z.toFixed(2)},o=`${r.x}, ${r.y}, ${r.z}`;if(0===t.length())return;switch(this.options.output){case"event":this.dispatchEvent({type:"position-output",position:r});break;case"console":console.info(o);break;case"overlay":this.outputDivElement.textContent=o}}},onMouseDown:function(e){e.preventDefault(),this.userMouse.x=e.clientX>=0?e.clientX:e.touches[0].clientX,this.userMouse.y=e.clientY>=0?e.clientY:e.touches[0].clientY,this.userMouse.type="mousedown",this.onTap(e)},onMouseMove:function(e){e.preventDefault(),this.userMouse.type="mousemove",this.onTap(e)},onMouseUp:function(e){let t=!1;this.userMouse.type="mouseup";const n=this.userMouse.x>=e.clientX-this.options.clickTolerance&&this.userMouse.x<=e.clientX+this.options.clickTolerance&&this.userMouse.y>=e.clientY-this.options.clickTolerance&&this.userMouse.y<=e.clientY+this.options.clickTolerance||e.changedTouches&&this.userMouse.x>=e.changedTouches[0].clientX-this.options.clickTolerance&&this.userMouse.x<=e.changedTouches[0].clientX+this.options.clickTolerance&&this.userMouse.y>=e.changedTouches[0].clientY-this.options.clickTolerance&&this.userMouse.y<=e.changedTouches[0].clientY+this.options.clickTolerance?"click":void 0;if((!e||!e.target||e.target.classList.contains("panolens-canvas"))&&(e.preventDefault(),t=e.changedTouches&&1===e.changedTouches.length?this.onTap({clientX:e.changedTouches[0].clientX,clientY:e.changedTouches[0].clientY},n):this.onTap(e,n),this.userMouse.type="none",!t&&"click"===n)){const{options:{autoHideInfospot:e,autoHideControlBar:t},panorama:n,toggleControlBar:i}=this;e&&n&&n.toggleInfospotVisibility(),t&&i()}},onTap:function(e,t){const{left:n,top:i}=this.container.getBoundingClientRect(),{clientWidth:r,clientHeight:o}=this.container;if(this.raycasterPoint.x=(e.clientX-n)/r*2-1,this.raycasterPoint.y=-(e.clientY-i)/o*2+1,this.raycaster.setFromCamera(this.raycasterPoint,this.camera),!this.panorama)return;("mousedown"!==e.type&&this.touchSupported||this.OUTPUT_INFOSPOT)&&this.outputPosition();const a=this.raycaster.intersectObjects(this.panorama.children,!0),s=this.getConvertedIntersect(a),l=a.length>0?a[0].object:void 0;if("mouseup"===this.userMouse.type&&(s&&this.pressEntityObject===s&&this.pressEntityObject.dispatchEvent&&this.pressEntityObject.dispatchEvent({type:"pressstop-entity",mouseEvent:e}),this.pressEntityObject=void 0),"mouseup"===this.userMouse.type&&(l&&this.pressObject===l&&this.pressObject.dispatchEvent&&this.pressObject.dispatchEvent({type:"pressstop",mouseEvent:e}),this.pressObject=void 0),"click"===t?(this.panorama.dispatchEvent({type:"click",intersects:a,mouseEvent:e}),s&&s.dispatchEvent&&s.dispatchEvent({type:"click-entity",mouseEvent:e}),l&&l.dispatchEvent&&l.dispatchEvent({type:"click",mouseEvent:e})):(this.panorama.dispatchEvent({type:"hover",intersects:a,mouseEvent:e}),(this.hoverObject&&a.length>0&&this.hoverObject!==s||this.hoverObject&&0===a.length)&&(this.hoverObject.dispatchEvent&&(this.hoverObject.dispatchEvent({type:"hoverleave",mouseEvent:e}),this.reticle.end()),this.hoverObject=void 0),s&&a.length>0&&(this.hoverObject!==s&&(this.hoverObject=s,this.hoverObject.dispatchEvent&&(this.hoverObject.dispatchEvent({type:"hoverenter",mouseEvent:e}),(this.options.autoReticleSelect&&this.options.enableReticle||this.tempEnableReticle)&&this.reticle.start(this.onTap.bind(this,e,"click")))),"mousedown"===this.userMouse.type&&this.pressEntityObject!=s&&(this.pressEntityObject=s,this.pressEntityObject.dispatchEvent&&this.pressEntityObject.dispatchEvent({type:"pressstart-entity",mouseEvent:e})),"mousedown"===this.userMouse.type&&this.pressObject!=l&&(this.pressObject=l,this.pressObject.dispatchEvent&&this.pressObject.dispatchEvent({type:"pressstart",mouseEvent:e})),("mousemove"===this.userMouse.type||this.options.enableReticle)&&(l&&l.dispatchEvent&&l.dispatchEvent({type:"hover",mouseEvent:e}),this.pressEntityObject&&this.pressEntityObject.dispatchEvent&&this.pressEntityObject.dispatchEvent({type:"pressmove-entity",mouseEvent:e}),this.pressObject&&this.pressObject.dispatchEvent&&this.pressObject.dispatchEvent({type:"pressmove",mouseEvent:e}))),!s&&this.pressEntityObject&&this.pressEntityObject.dispatchEvent&&(this.pressEntityObject.dispatchEvent({type:"pressstop-entity",mouseEvent:e}),this.pressEntityObject=void 0),!l&&this.pressObject&&this.pressObject.dispatchEvent&&(this.pressObject.dispatchEvent({type:"pressstop",mouseEvent:e}),this.pressObject=void 0)),l&&l instanceof Em){if(this.infospot=l,"click"===t)return!0}else this.infospot&&this.hideInfospot();this.options.autoRotate&&"mousemove"!==this.userMouse.type&&(clearTimeout(this.autoRotateRequestId),this.control===this.OrbitControls&&(this.OrbitControls.autoRotate=!1,this.autoRotateRequestId=window.setTimeout(this.enableAutoRate.bind(this),this.options.autoRotateActivationDuration)))},getConvertedIntersect:function(e){let t;for(let n=0;n<e.length;n++)if(e[n].distance>=0&&e[n].object&&!e[n].object.passThrough){if(e[n].object.entity&&e[n].object.entity.passThrough)continue;if(e[n].object.entity&&!e[n].object.entity.passThrough){t=e[n].object.entity;break}t=e[n].object;break}return t},hideInfospot:function(){this.infospot&&(this.infospot.onHoverEnd(),this.infospot=void 0)},toggleControlBar:function(){const{widget:e}=this;e&&e.dispatchEvent({type:"control-bar-toggle"})},onKeyDown:function(e){this.options.output&&"none"!==this.options.output&&"Control"===e.key&&(this.OUTPUT_INFOSPOT=!0)},onKeyUp:function(){this.OUTPUT_INFOSPOT=!1},update:function(){Mm.update(),this.updateCallbacks.forEach((function(e){e()})),this.control.update(),this.scene.traverse(function(e){if(e instanceof Em&&e.element&&(this.hoverObject===e||"none"!==e.element.style.display||e.element.left&&"none"!==e.element.left.style.display||e.element.right&&"none"!==e.element.right.style.display))if(this.checkSpriteInViewport(e)){const{x:t,y:n}=this.getScreenVector(e.getWorldPosition(new cl));e.translateElement(t,n)}else e.onDismiss()}.bind(this))},render:function(){2===this.mode||3===this.mode?(this.renderer.clear(),this.effect.render(this.scene,this.camera),this.effect.render(this.sceneReticle,this.camera)):(this.renderer.clear(),this.renderer.render(this.scene,this.camera),this.renderer.clearDepth(),this.renderer.render(this.sceneReticle,this.camera))},animate:function(){this.requestAnimationId=window.requestAnimationFrame(this.animate.bind(this)),this.onChange()},onChange:function(){this.update(),this.render()},registerMouseAndTouchEvents:function(){const e={passive:!1};this.container.addEventListener("mousedown",this.HANDLER_MOUSE_DOWN,e),this.container.addEventListener("mousemove",this.HANDLER_MOUSE_MOVE,e),this.container.addEventListener("mouseup",this.HANDLER_MOUSE_UP,e),this.container.addEventListener("touchstart",this.HANDLER_MOUSE_DOWN,e),this.container.addEventListener("touchend",this.HANDLER_MOUSE_UP,e)},unregisterMouseAndTouchEvents:function(){this.container.removeEventListener("mousedown",this.HANDLER_MOUSE_DOWN,!1),this.container.removeEventListener("mousemove",this.HANDLER_MOUSE_MOVE,!1),this.container.removeEventListener("mouseup",this.HANDLER_MOUSE_UP,!1),this.container.removeEventListener("touchstart",this.HANDLER_MOUSE_DOWN,!1),this.container.removeEventListener("touchend",this.HANDLER_MOUSE_UP,!1)},registerReticleEvent:function(){this.addUpdateCallback(this.HANDLER_TAP)},unregisterReticleEvent:function(){this.removeUpdateCallback(this.HANDLER_TAP)},updateReticleEvent:function(){const e=this.container.clientWidth/2+this.container.offsetLeft,t=this.container.clientHeight/2;this.removeUpdateCallback(this.HANDLER_TAP),this.HANDLER_TAP=this.onTap.bind(this,{clientX:e,clientY:t}),this.addUpdateCallback(this.HANDLER_TAP)},registerEventListeners:function(){window.addEventListener("resize",this.HANDLER_WINDOW_RESIZE,!0),window.addEventListener("keydown",this.HANDLER_KEY_DOWN,!0),window.addEventListener("keyup",this.HANDLER_KEY_UP,!0)},unregisterEventListeners:function(){window.removeEventListener("resize",this.HANDLER_WINDOW_RESIZE,!0),window.removeEventListener("keydown",this.HANDLER_KEY_DOWN,!0),window.removeEventListener("keyup",this.HANDLER_KEY_UP,!0)},dispose:function(){this.tweenLeftAnimation.stop(),this.tweenUpAnimation.stop(),this.unregisterEventListeners(),function e(t){for(let n=t.children.length-1;n>=0;n--)e(t.children[n]),t.remove(t.children[n]);t instanceof Tm||t instanceof Em?(t.dispose(),t=null):t.dispatchEvent&&t.dispatchEvent("dispose")}(this.scene),this.widget&&(this.widget.dispose(),this.widget=null),Zp&&Zp.enabled&&Zp.clear()},destroy:function(){this.dispose(),this.render(),window.cancelAnimationFrame(this.requestAnimationId)},onPanoramaDispose:function(e){e instanceof Om&&this.hideVideoWidget(),e===this.panorama&&(this.panorama=null)},loadAsyncRequest:function(e,t=(()=>{})){const n=new window.XMLHttpRequest;n.onloadend=function(e){t(e)},n.open("GET",e,!0),n.send(null)},addViewIndicator:function(){const e=this;this.loadAsyncRequest(vm.ViewIndicator,(function(t){if(0===t.loaded)return;const n=t.target.responseXML.documentElement;n.style.width=e.viewIndicatorSize+"px",n.style.height=e.viewIndicatorSize+"px",n.style.position="absolute",n.style.top="10px",n.style.left="10px",n.style.opacity="0.5",n.style.cursor="pointer",n.id="panolens-view-indicator-container",e.container.appendChild(n);const i=n.querySelector("#indicator");e.addUpdateCallback((function(){e.radius=.225*e.viewIndicatorSize,e.currentPanoAngle=e.camera.rotation.y-al.degToRad(90),e.fovAngle=al.degToRad(e.camera.fov),e.leftAngle=-e.currentPanoAngle-e.fovAngle/2,e.rightAngle=-e.currentPanoAngle+e.fovAngle/2,e.leftX=e.radius*Math.cos(e.leftAngle),e.leftY=e.radius*Math.sin(e.leftAngle),e.rightX=e.radius*Math.cos(e.rightAngle),e.rightY=e.radius*Math.sin(e.rightAngle),e.indicatorD="M "+e.leftX+" "+e.leftY+" A "+e.radius+" "+e.radius+" 0 0 1 "+e.rightX+" "+e.rightY,e.leftX&&e.leftY&&e.rightX&&e.rightY&&e.radius&&i.setAttribute("d",e.indicatorD)})),n.addEventListener("mouseenter",(function(){this.style.opacity="1"})),n.addEventListener("mouseleave",(function(){this.style.opacity="0.5"}))}))},appendControlItem:function(e){const t=this.widget.createCustomItem(e);return"video"===e.group?this.widget.videoElement.appendChild(t):this.widget.barElement.appendChild(t),t},clearAllCache:function(){Zp.clear()}}),jo!=mm&&console.warn(`three.js version is not matched. Please consider use the target revision ${mm}`),window.TWEEN=Mm;const Wm=(e,t)=>{var n;return(null===(n=e.Floors[Ri.currentFloorIndex].CameraPoints)||void 0===n?void 0:n.find((e=>{let{ID:n}=e;return n===t})))||null},Gm=(e,t)=>t.reduce(((t,n)=>{const i=Qm([e,[n.userData.left,n.userData.top]]);return i<t.length?{panorama:n,length:i}:t}),{length:1/0,panorama:null}),Ym=(e,t)=>e.map((e=>{let[n,i]=e;return[n*t.X,i*t.Y]})).flat().filter((e=>!isNaN(e))).toString(),qm="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuMTYzMiAyNC45MDY3VjUuOTA2NjhIOC45NjI1N0wwLjQ4Mjg1NyA4Ljg5NVYxMi4wNTNMNS40MDQ4NCAxMC4zMzA0VjI0LjkwNjdIOS4xNjMyWiIgZmlsbD0iIzQxM0UzRSIvPgo8cGF0aCBkPSJNMjMuMTI2NiAxNS4xOTc5TDE5Ljk5NjkgMTAuNzg3MkgxNS45OTc4TDIwLjgzOTUgMTcuNzE2NEwxNS44MTA1IDI0LjkwNjdIMTkuODM2NEwyMy4xNCAyMC4yODcyTDI2LjQ3MDQgMjQuOTA2N0gzMC40ODI5TDI1LjQ1MzkgMTcuNzE2NEwzMC4zMDkgMTAuNzg3MkgyNi4zMDk5TDIzLjEyNjYgMTUuMTk3OVoiIGZpbGw9IiM0MTNFM0UiLz4KPC9zdmc+Cg==",Xm="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iMzgiIHZpZXdCb3g9IjAgMCAzOCAzOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIyLjc2IDI2LjQxNDNDMjUuNDIxIDI2LjA2NjYgMjcuOTA3NCAyNS4zMjI1IDI5Ljk2ODUgMjQuMjM4M0MzMi45MDcxIDIyLjY5MjYgMzQuNzc1MyAyMC41NjM5IDM1LjIxNjMgMTguMjU4OEMzNS42NTczIDE1Ljk1MzcgMzQuNjQwMSAxMy42MzM4IDMyLjM1OTEgMTEuNzQyMkMzMC4wNzgxIDkuODUwNTEgMjYuNjkzMSA4LjUxOTY4IDIyLjg1MDUgOC4wMDM4NUMxOS4wMDggNy40ODgwMiAxNC45NzczIDcuODIzMzQgMTEuNTI4MiA4Ljk0NTc3QzguMDc5MTEgMTAuMDY4MiA1LjQ1MzM5IDExLjg5OTEgNC4xNTI1MiAxNC4wODg3QzMuODE4MTEgMTQuNjUxNiAzLjU3NzI4IDE1LjIyOCAzLjQyOTY1IDE1LjgxMDMiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTI1LjI1MzYgMTkuNDMzM0wxOS45Njg3IDI2LjA4MzlMMjYuMDg3MyAzMC45NDYzIiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNTI3MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNC40Nzg1IDIwLjk2OTdMNS40MTAyMyAzMC4wMzgiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE0LjQ3ODUgMzAuMDM4TDUuNDEwMjMgMjAuOTY5NyIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",Zm={scandy:{kitchen:{id:"RoomId1652709667162",cameraRotation:0},living:{id:"RoomId1652709139622",cameraRotation:4.3},bathroom:{id:"RoomId4",cameraRotation:2},bedroom:{id:"RoomId2",cameraRotation:1.5}},england:{kitchen:{id:"RoomId1652709667162",cameraRotation:0},living:{id:"RoomId1652709139622",cameraRotation:4.3},bathroom:{id:"RoomId4",cameraRotation:2},bedroom:{id:"RoomId2",cameraRotation:1.5}},boho:{kitchen:{id:"RoomId1652709667162",cameraRotation:.5},living:{id:"RoomId1652709139622",cameraRotation:4.3},bathroom:{id:"RoomId4",cameraRotation:2},bedroom:{id:"RoomId2",cameraRotation:0}}};function Jm(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}pn({useProxies:"never"});const Km=class{constructor(e,t,n,i){Jm(this,"type","sphere"),Jm(this,"items",[]),Jm(this,"json",null),Jm(this,"viewer",null),Jm(this,"cameraFov",Or.config.panoramaFov),Jm(this,"panoramas",[]),Jm(this,"container",null),Jm(this,"loadingState",!1),Jm(this,"autoplayState",!1),Jm(this,"currentRoomIndex",null),Jm(this,"planScale",{X:1,Y:1}),Jm(this,"cameraFovValues",{x1:Or.config.panoramaFov,x2:Or.config.panoramaFov/2}),Jm(this,"controls",gm),Jm(this,"getOrientationAngle",(()=>{const{alpha:e,screenOrientation:t,deviceOrientation:n}=this.currentControl,{gamma:i}=n,r=e-Hm(t);return 0!==t?t>0?i<0?r:r+Hm(180):i>0?r:r+Hm(180):r+Hm(i)})),Jm(this,"getPanoramaIdFromIndex",(e=>e+1)),Jm(this,"getCubeImages",(e=>[e.right,e.left,e.top,e.bottom,e.front,e.back])),Jm(this,"animate",(()=>{window.requestAnimationFrame((()=>this.animate()));const e=document.querySelector(".widget-tab__panorama-map__fov");e&&(e.style.transform="translate(-50%, -50%) translate(8px, 8px) rotate(".concat(-this.currentViewAngle,"rad)"))})),Jm(this,"createViewer",(()=>{const e=new Vm({autoRotateActivationDuration:1e3,cameraFov:this.cameraFovValues.x1,container:this.container,autoHideInfospot:!1,controlButtons:[]});return e.getControl().rotateUp(.25),this.typeIsCube||(e.scene.rotation.y=Math.PI/2),e})),Jm(this,"createPanoramaByType",(e=>{if(this.typeIsCube)return new Lm(this.getCubeImages(e));const t=e.sphere||e[0],n=new lp(5e3,240,160);return t?new Cm(t,n):new Im})),Jm(this,"createPanorama",((e,t)=>{const n=this.createPanoramaByType(e);return n.userData=$m(),n.panorama_id=this.getPanoramaIdFromIndex(t),n.material=n.material.clone(),n.setupTransitions(),n.addEventListener("load",(()=>{this.setLoadingState(!1)})),n.addEventListener("enter",(e=>{let{target:t}=e;this.setCurrentRoomIndex(t.panorama_index),n.loaded||this.setLoadingState(!0)})),n})),Jm(this,"getPanoramas",(()=>{var e;const t=Wm(this.json,null===(e=this.json.Meta)||void 0===e?void 0:e.PrimaryCameraPointId);return this.items.reduce(((e,n,i)=>{let{camera_id:r,images:o,room_id:a}=n;const s=Wm(this.json,r),l=this.json.Floors[Ri.currentFloorIndex].Units[0].Rooms.find((e=>e.ID===a)),c=this.items.reduce(((e,t,n)=>t.room_id!==a?e:[...e,this.getPanoramaIdFromIndex(n)]),[]),u=this.createPanorama(o,i);u.room_panoramas=c,u.room_id=l.ID,u.camera_id=r;const h=((e,t,n)=>{const i=e.Walls.reduce(((e,i)=>{const r=t.find((e=>e.ID===i));return((e,t,n)=>e.find((e=>e.ID===t)).Vertices.map((e=>{const t=n.find((t=>t.ID===e));return[t.Location.X,t.Location.Y]})))(t,r.ID,n).forEach((t=>e.push(t))),e}),[]);return i})(l,this.json.Floors[Ri.currentFloorIndex].Walls,this.json.Vertices),[d,p]=s?[s.Location.X,s.Location.Y]:function(e){let t=0,n=0,i=e.length;for(let r=0;r<i;r++){const i=e[r];t+=i[0],n+=i[1]}return[t/i,n/i]}(h);return u.userData={left:d,top:p,points:h},t&&t.ID===s.ID?(e.unshift(u),e):t||l.ID!==Or.initialPanoramaRoomId?(e.push(u),e):(e.unshift(u),e)}),[])})),Jm(this,"createPanoramas",(()=>this.json?(this.panoramas=this.getPanoramas(),this.panoramas.map(((e,t)=>{if(e.panorama_index=t,e.linkedSpots.length)return e;const n=this.json.Floors[Ri.currentFloorIndex].Units[0].Rooms.find((t=>t.ID===e.room_id));return this.setPanoramaLinks(n,e)}))):this.items.map(((e,t)=>{let{images:n}=e;return this.createPanorama(n,t)})))),Jm(this,"setPanoramaLinks",((e,t)=>{const n=[t.userData.left,t.userData.top],i=this.json.Floors[Ri.currentFloorIndex].Apertures||[],r=this.json.Floors[Ri.currentFloorIndex].Doors;return t.room_panoramas.forEach((e=>{if(e===t.panorama_id)return;const i=this.panoramas.find((t=>{let{panorama_id:n}=t;return n===e})),r=Wm(this.json,null==i?void 0:i.camera_id);r&&this.connectPanorama(t,i,r.Location,n,!1)})),[...r,...i].forEach((i=>{let{Location:r,Walls:o}=i;if(!o.some((t=>e.Walls.some((e=>e===t)))))return;const a=this.json.Floors[Ri.currentFloorIndex].Units[0].Rooms.find((t=>{const n=t.Walls.some((e=>o.some((t=>e===t)))),i=t.ID===e.ID;return n&&!i}));if(!a)return;const s=this.panoramas.filter((e=>{let{room_id:t}=e;return t===a.ID})),{panorama:l}=Gm([r.X,r.Y],s);l&&this.connectPanorama(t,l,r,n,!0)})),t})),Jm(this,"connectPanorama",(function(e,t,n,i){let r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const o=n.Y-i[1],a=n.X-i[0],s=r?-10:-100,l=r?"data:image/png;base64,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AAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAAAAIIAAAAABBAAAAAAIAAAgAAAAAEEAAAAAAggAAAAAAAAQQAAAAACCAAAAAAQAABAAAA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AAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAAAQQAAAAACCAAAAAAAABBAAAAAAIIAAAAABAAAEAAAAAAggAAAAAEEAAAAAAgAACAAAAQMH8CQAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAAAAIIAAAAAAAAEEAAAAAAggAAAAAEAAAQAAAAACCAAAAAAQQAAAAACAAAIAAAAABBAAAACAfflLAQcjAAAAAPvypICDEQAAAICdu7i4eFrAQQkAAADAPiwLOCgBAAAA2IcXBRyUAAAAAOzDswIOSgAAAAB26uLi4qRsAYCDEwAAAIBde1XAwQkAAADAzrSn/334XxZwcAIAAACwE234X7aP0wImQQAAAAC2bhj+fy9gMgQAAABgq0bD/7KAyRAAAACArWnD/4v28c8y/MPkfFUAAABfaHjq/2tbqwImyRsAAADAo7Sh/0lbq7b66/7vy/APk+YNAACAMH1oq/Wg1j+XBQ/3f209rfWfP08KOAoCAABAgGHoP2nr2/KUFiCSAAAAMHNt+H/VPl6WJ7UA0QQAAICZGg5l+3utX9UGIJwAAAAwQ23470N/P5jNU38APnILAADAzBj+AbiOAAAAMCOj1/4N/wB8QgAAAJiX/uR/WQCwQQAAAJiJ9vT/pAz/ANxAAAAAmI9XBQA3EAAAAGagPf1/UZ7+A3ALAQAAYB5eFADcQgAAAJiHbwsAbiEAwHZ8KAA4kOHqP9f+AXArAQC2410BwOEsCwDuIADAdggAABySp/8A3EkAgC1YLBZ9C8BZAQAATJQAANvzSwHAYTiLBoA7CQCwJYvF4m37OC8A2L/zAm5juyaUAADb9n0BwJ61CH1e3gKA2/y7AAEAtqn9AHbWPn4rANi/fxRwk7cFCACwAy/Lq5gA7N+bAm5yVoAAANs23AjwvEQAAPZoeAvNNgD43JthmwzEEwBgB4YvmR4BzgoA9ufHAja9LuAjAQB2pEeAtnoE8KUDwF607503JT7D2GtP/+GKAAA71r50TtvH17U+HPC8AGC3+o00tgJA1bvh5zBgIADAHgxvA5y01UPA39r6pa1/FQBs2WgbmghAsvNa/8wFjHxVwF61H8z6NTQfr6K5uLh40j6etrUa1jdtPSkA+ALtu+Zd+47pEeD38r1CnvO2nnv1Hz4nAMABDTcGnNVov2b7gW1VV1HgWfnBDYBHGCLAX2sdAZYFGfqWy5fDz1jAhkUBk9Z+eOsx4DII9M9vCoDHep24J7h9l5y2j+9KCGC+ztv6frgOE7iBAABHpv0Qt6xPg8CzAuC+IgNAN3x/rNo6Kd8dzEN/yt/PVDo1+MP9CABw5JwjAPAgsQFgbPTd0ZfvDI7NeVvv+qdX/eFhBACYoWHbwKqugsCyAOgEAABiOQQQZqgf/FTrMv5z/+PRa599OUcAAAACCQAQYLgG582wLl/9XJVzBAAAIIYAAIGG/XJvh/XR6PrBF+UcAQAAmB0BAPhoOD23r8ttA5eHQ10GgWUBAABHSwAArjU6R+BN/+ON6wf7co4AAAAcEQEAuJfhHIG+Pm4buOb6QecIAADAhAkAwKMM5wicDeuj0TkC/bMHAecIAADARAgAwNbcco7Aqlw/CAAAByUAADtzxzkCrh8EAIA9EgCAvbnHOQKuHwQAgB0RAICDucc5Aq4fBACALREAgElxjgAAAOyGAABM2jXnCPQtAqtyjgAAADyIAAAclWHbwNthfTTaNvCinCMAAADXEgCAo3fDtoFVOUcAAAD+JAAAszPaNnAZBJZ19YaAcwQAAIgkAACzd8v1g5dBwDkCAADMngAAxLnH9YM9CDhHAACAWREAAOrO6wd7EFgWAAAcMQEA4BrXXD+4rKsg0JdzBAAAOCoCAMA93HKOwKqugoBtAwAATJYAAPAI9zhHwPWDAABMigAAsCV3nCPg+kEAAA5KAADYkWvOEehbBFZ1FQRcPwgAwN4IAAB7MmwbeFvOEQAA4AAEAIADueEcgc0gsCwAANgCAQBgQkbbBi7PEVjW+i2BF+UcAQAAvoAAADBhN1w/uCrnCAAA8EACAMAR2TxHoBtdP9jfEnCOAAAA1xIAAI7cLdcPXgaBZQEAEE8AAJiZa64fXNbntw0AABBGAACYuRvOERgHAecIAAAEEAAAwtxw/eCqrqJADwLOEQAAmBkBAIDbzhFYlesHAQBmQQAA4DN3nCPg+kEAgCMkAABwp3ucI+D6QQCAiRMAAHiwG84R2AwCywIAYDIEAAC2YrRt4PIcgWVdBQHnCAAAHJgAAMBODNsG3tTVOQJ9i8CqnCMAAHAQAgAAezFsG3g7rI9G1w++KOcIAADslAAAwMHccv3gZRBYFgAAWyEAADAZd1w/2JdzBAAAHkkAAGCybrl+8EU5RwAA4EEEAACOxg3XD67q6i2BHgScIwAAcA0BAICjdss5Aqty/SAAwJ8EAABmxTkCAADXEwAAmLVbzhFY1VUQsG0AAJg9AQCAKPc4R8D1gwDALAkAAMRzjgAAkEAAAIAN15wj0LcIrOoqCLh+EAA4OgIAANxh2DbwdlgfDdsGLpdzBACAyRMAAOARRtsGPhq2DazKOQIAwEQJAACwBaNtA5fnCCxrvV3gRTlHAACYAAEAAHbglusHL4OAcwQAgL0SAABgD+5x/WAPAs4RAAB2RgAAgAO54/rBHgSWBQCwJQIAAEzENdcPLusqCPTlHAEA4NEEAACYqFvOEViV6wcf60MBQKhFAQBHa+McAdcP3u1vLay8LQAIJAAAwIxsnCPg+sHP/XXYagEAcQQAAJixjXME0q8fPG/D/9cFAKEEAAAIEn6OwJsWAL4vAAglAABAuGHbwKrmf47A8+HqRQCIJAAAAJ8YbRt4UfM5R+CPNvyvCgCCCQAAwK2GbQOrOu5zBL4erlUEgFgCAADwYKPrB/tbAlM/R+B1G/5PCwDCCQAAwBcbXT94GQSWNQ3v2vD/1wIABAAAYPs2rh/s6xDnCLyr9cF/HwoAEAAAgN275vrBXZ8j8FtbLw3/AAAAcGD9HIG2Xrb1tq3/XGxH/31eFgAAADBN/RyBtk7aetPWu4uH6YP/6fCmAQBwDVsAAIBJ2jhHoH/2P/6/4V/+d1vntd7n/3axWJwVAAAAAAAAAAAAAAAAAAAAAAAAAAAATMH/A9LZxHhsGzQfAAAAAElFTkSuQmCC":"data:image/png;base64,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",c=Qm([[0,0],[o,a]])/120*15,u=c>40?40:c,h=r?u:u-15,d=new cl(o,s,a);e.link(t,d,h,l)})),Jm(this,"setCurrentPanorama",(e=>{this.viewer.setPanorama(e),this.setCurrentRoomIndex(e.panorama_index)})),Jm(this,"setCurrentRoomIndex",(e=>{this.currentRoomIndex=e})),Jm(this,"setLoadingState",(e=>{this.loadingState=e})),Jm(this,"setPlanScale",(e=>{this.planScale=e})),Jm(this,"setCameraFov",(e=>{this.cameraFov=e,this.viewer.camera.fov=e,this.viewer.control.maxFov=e,this.viewer.control.minFov=e,this.viewer.camera.updateProjectionMatrix()})),Jm(this,"toggleFov",(()=>{this.viewer.camera.fov!==this.cameraFovValues.x1?this.setCameraFov(this.cameraFovValues.x1):this.setCameraFov(this.cameraFovValues.x2)})),Jm(this,"setAutoplayState",(e=>{this.autoplayState=e})),Jm(this,"toggleAutoplay",(()=>{if(this.setAutoplayState(!this.autoplayState),!this.autoplayState)return this.viewer.disableAutoRate(),void(ko.deviceOrientationGranted&&this.viewer.enableControl(this.controls.DEVICEORIENTATION));"orbit"!==this.viewer.getControlId()&&this.viewer.enableControl(this.controls.ORBIT),this.viewer.enableAutoRate()})),Jm(this,"showViewForDemoWidget",(()=>{var e;const t=Or.config.demoRoomType,n=Or.config.demoRoomStyle,i=null===(e=Zm[n])||void 0===e?void 0:e[t],r=null==i?void 0:i.id,o=this.panoramas.find((e=>e.room_id===r));o&&(this.setCurrentPanorama(o),this.viewer.getControl().rotateLeft(i.cameraRotation))})),kn(this),this.type=i,this.json=e,this.items=n,this.container=t,this.panoramas=this.createPanoramas(),this.viewer=this.createViewer(),this.showViewForDemoWidget(),this.panoramas.length&&this.viewer.add(...this.panoramas),this.setCameraFov(this.cameraFovValues.x1),this.animate()}get typeIsCube(){return"cube"===this.type}get currentControl(){return this.viewer.getControl()}get currentViewAngle(){return(this.currentControl.alpha?this.getOrientationAngle():this.currentControl.getAzimuthalAngle())+(this.typeIsCube?Math.PI/2:0)}get currentPanorama(){return this.panoramas[this.currentRoomIndex]}get dotPosition(){var e;const{left:t,top:n}=(null===(e=this.currentPanorama)||void 0===e?void 0:e.userData)||$m();return{left:"".concat(t*this.planScale.X,"px"),top:"".concat(n*this.planScale.Y,"px")}}get currentFovIcon(){return this.cameraFov===this.cameraFovValues.x1?qm:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjcwNzYgMjQuOTA2N1YyMS45OTc5SDUuMTYyMTRMOC44MjY0MSAxOC4yMTUxQzkuNDU5NDEgMTcuNTgwMyAxMC4wMzQ1IDE2Ljk3NTkgMTAuNTUxNiAxNi40MDJDMTEuMDY4NyAxNS44MTkzIDExLjUxNDQgMTUuMjQ5NyAxMS44ODg5IDE0LjY5MzJDMTIuMjU0NCAxNC4xMzY3IDEyLjUzNTMgMTMuNTc1OCAxMi43MzE0IDEzLjAxMDVDMTIuOTM2NSAxMi40MzY2IDEzLjAzOSAxMS44MzY2IDEzLjAzOSAxMS4yMTA0QzEzLjAzOSAxMC4zODQzIDEyLjkwNTIgOS42MzIxMiAxMi42Mzc4IDguOTUzODNDMTIuMzcwMyA4LjI2Njg0IDExLjk4MjUgNy42Nzk4NiAxMS40NzQzIDcuMTkyODhDMTAuOTU3MiA2LjcwNTkxIDEwLjMxNTMgNi4zMjc2MyA5LjU0ODU2IDYuMDU4MDVDOC43OTA3NSA1Ljc4ODQ3IDcuOTE3MDMgNS42NTM2OSA2LjkyNzQxIDUuNjUzNjlDNS44OTMyMSA1LjY1MzY5IDQuOTQ4MTcgNS44MTg5MSA0LjA5MjI4IDYuMTQ5MzZDMy4yNDUzMSA2LjQ3MTExIDIuNTIzMTYgNi45MTQ2MSAxLjkyNTgyIDcuNDc5ODVDMS4zMTk1NiA4LjA0NTA5IDAuODUxNSA4LjcwNTk5IDAuNTIxNjI3IDkuNDYyNTVDMC4xOTE3NTQgMTAuMjEwNCAwLjAyNjgxNzMgMTEuMDA2MSAwLjAyNjgxNzMgMTEuODQ5NkgzLjc1Nzk1QzMuNzU3OTUgMTEuMzM2NSAzLjgyNDgyIDEwLjg4IDMuOTU4NTUgMTAuNDhDNC4wOTIyOCAxMC4wOCA0LjI4ODQyIDkuNzQ1MTcgNC41NDY5NyA5LjQ3NTU5QzQuNzk2NjEgOS4yMTQ3MSA1LjEwODY1IDkuMDE5MDUgNS40ODMxIDguODg4NjFDNS44NjY0NyA4Ljc0OTQ3IDYuMzA3NzggOC42Nzk5IDYuODA3MDUgOC42Nzk5QzcuMTkwNDIgOC42Nzk5IDcuNTM4MTIgOC43NDA3NyA3Ljg1MDE2IDguODYyNTJDOC4xNzExMiA4Ljk4NDI2IDguNDQ3NSA5LjE1ODE4IDguNjc5MyA5LjM4NDI4QzguOTAyMTkgOS42MTkwNyA5LjA3NjA0IDkuOTAxNjkgOS4yMDA4NiAxMC4yMzIxQzkuMzI1NjggMTAuNTYyNiA5LjM4ODA5IDEwLjk0MDkgOS4zODgwOSAxMS4zNjdDOS4zODgwOSAxMS42NTM5IDkuMzM5MDUgMTEuOTQ5NiA5LjI0MDk4IDEyLjI1NEM5LjE1MTgzIDEyLjU1ODMgOS4wMDQ3MiAxMi44ODQ0IDguNzk5NjYgMTMuMjMyM0M4LjU4NTY5IDEzLjU4ODggOC4zMDkzMSAxMy45ODAxIDcuOTcwNTIgMTQuNDA2MkM3LjYzMTczIDE0LjgzMjMgNy4yMTcxNiAxNS4zMDYzIDYuNzI2ODEgMTUuODI4TDAuNDI4MDE1IDIyLjQyODNWMjQuOTA2N0gxMy43MDc2WiIgZmlsbD0iIzQxM0UzRSIvPgo8cGF0aCBkPSJNMjQuMDQ1MiAxNS4yMDE5TDIwLjkxNTggMTAuNzkzSDE2LjkxNzJMMjEuNzU4MyAxNy43MTk0TDE2LjczIDI0LjkwNjdIMjAuNzU1M0wyNC4wNTg1IDIwLjI4OTFMMjcuMzg4NSAyNC45MDY3SDMxLjQwMDRMMjYuMzcyMSAxNy43MTk0TDMxLjIyNjYgMTAuNzkzSDI3LjIyOEwyNC4wNDUyIDE1LjIwMTlaIiBmaWxsPSIjNDEzRTNFIi8+Cjwvc3ZnPgo="}get currentAutoPlayIcon(){return this.autoplayState?Xm:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iMzgiIHZpZXdCb3g9IjAgMCAzOCAzOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI5Ljk2ODUgMjQuMjM4M0wyOS4yMzQ2IDIyLjg0MzJMMjkuOTY4NSAyNC4yMzgzWk0xMS45MDQ1IDI3LjIyMjFDMTIuNzQyMiAyNy40NTkzIDEzLjYxMzUgMjYuOTcyNiAxMy44NTA4IDI2LjEzNDlDMTQuMDg4IDI1LjI5NzMgMTMuNjAxMyAyNC40MjU5IDEyLjc2MzYgMjQuMTg4N0wxMS45MDQ1IDI3LjIyMjFaTTIyLjU1NTcgMjQuODUxM0MyMS42OTI1IDI0Ljk2NDEgMjEuMDg0MSAyNS43NTUzIDIxLjE5NjkgMjYuNjE4NkMyMS4zMDk3IDI3LjQ4MTggMjIuMTAxIDI4LjA5MDIgMjIuOTY0MiAyNy45Nzc0TDIyLjU1NTcgMjQuODUxM1pNMzAuNzAyMyAyNS42MzM1QzMzLjg4MDcgMjMuOTYxNiAzNi4yMDA0IDIxLjUwMzkgMzYuNzY0NiAxOC41NTVMMzMuNjY4IDE3Ljk2MjZDMzMuMzUwMiAxOS42MjM5IDMxLjkzMzUgMjEuNDIzNiAyOS4yMzQ2IDIyLjg0MzJMMzAuNzAyMyAyNS42MzM1Wk0zNi43NjQ2IDE4LjU1NUMzNy4zNDMxIDE1LjUzMSAzNS45NTI2IDEyLjY3NDQgMzMuMzY1NCAxMC41Mjg4TDMxLjM1MjkgMTIuOTU1NkMzMy4zMjc3IDE0LjU5MzMgMzMuOTcxNSAxNi4zNzY1IDMzLjY2OCAxNy45NjI2TDM2Ljc2NDYgMTguNTU1Wk0zMy4zNjU0IDEwLjUyODhDMzAuNzk2NyA4LjM5ODU2IDI3LjEwNzIgNi45ODQ4MSAyMy4wNjAzIDYuNDQxNTRMMjIuNjQwOCA5LjU2NjIyQzI2LjI3ODkgMTAuMDU0NiAyOS4zNTk1IDExLjMwMjUgMzEuMzUyOSAxMi45NTU2TDMzLjM2NTQgMTAuNTI4OFpNMjMuMDYwMyA2LjQ0MTU0QzE4Ljk5OTkgNS44OTY0NyAxNC43Mjk2IDYuMjQ2MjYgMTEuMDQwNCA3LjQ0NjgzTDEyLjAxNiAxMC40NDQ4QzE1LjIyNSA5LjQwMDQ5IDE5LjAxNjEgOS4wNzk2MyAyMi42NDA4IDkuNTY2MjJMMjMuMDYwMyA2LjQ0MTU0Wk0xMS4wNDA0IDcuNDQ2ODNDNy4zODAxOCA4LjYzNzk2IDQuMzYyMzQgMTAuNjQ5MyAyLjc5NzI5IDEzLjI4MzZMNS41MDc3NSAxNC44OTM5QzYuNTQ0NDQgMTMuMTQ4OSA4Ljc3ODA0IDExLjQ5ODUgMTIuMDE2IDEwLjQ0NDhMMTEuMDQwNCA3LjQ0NjgzWk0yLjc5NzI5IDEzLjI4MzZDMS4xNjczMSAxNi4wMjcyIDEuMzMzNzQgMTkuMDkyMiAzLjE4NzIxIDIxLjcyMzlMNS43NjQ4IDE5LjkwODVDNC41OTk4OSAxOC4yNTQ1IDQuNTM2MDEgMTYuNTI5NSA1LjUwNzc1IDE0Ljg5MzlMMi43OTcyOSAxMy4yODM2Wk0zLjE4NzIxIDIxLjcyMzlDNC45NzUwMSAyNC4yNjIzIDguMTQ0OTEgMjYuMTU3MyAxMS45MDQ1IDI3LjIyMjFMMTIuNzYzNiAyNC4xODg3QzkuNDIwMzcgMjMuMjQxOCA2Ljk5NTM3IDIxLjY1NTcgNS43NjQ4IDE5LjkwODVMMy4xODcyMSAyMS43MjM5Wk0yMi45NjQyIDI3Ljk3NzRDMjUuNzc4MyAyNy42MDk3IDI4LjQ0OTcgMjYuODE4NCAzMC43MDIzIDI1LjYzMzVMMjkuMjM0NiAyMi44NDMyQzI3LjM2NTEgMjMuODI2NiAyNS4wNjM3IDI0LjUyMzUgMjIuNTU1NyAyNC44NTEzTDIyLjk2NDIgMjcuOTc3NFoiIGZpbGw9IiM0MTNFM0UiLz4KPHBhdGggZD0iTTI1LjI1MzYgMTkuNDMzM0wxOS45Njg3IDI2LjA4MzlMMjYuMDg3MyAzMC45NDYzIiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNTI3MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo="}},$m=()=>({left:0,top:0,points:[]}),eg=t=>{let{absolute:n,size:i="lg"}=t;return e.createElement("div",{className:"widget-loader widget-loader--".concat(i," ").concat(n?"widget-loader--absolute":"")},e.createElement("div",null),e.createElement("div",null),e.createElement("div",null),e.createElement("div",null))},tg="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCA1MSA1MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM5LjQwODkgMTAuMjc2OUwxMS4wMzQ1IDM4LjY1MTMiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTM5LjQwODkgMzguNjUxM0wxMS4wMzQ1IDEwLjI3NjkiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==",ng=Kr((t=>{let{json:n,planImage:i,items:r,type:o,disabled:a}=t;const s=[{icon:Io,text:Lr.getLocaleText("rotate-plan")},{icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTIiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA1MiA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzg1NF84MjMzKSI+CjxwYXRoIGQ9Ik0zMS4xMjk4IDIzLjIwODNDMzAuNTE0MiAyMy44MjM5IDMwLjUxNDIgMjQuODIyIDMxLjEyOTggMjUuNDM3NkMzMS43NDU0IDI2LjA1MzMgMzIuNzQzNSAyNi4wNTMzIDMzLjM1OTEgMjUuNDM3NkwzMS4xMjk4IDIzLjIwODNaTTM1LjA5MjUgMTAuMDA1M0wzNi41NDg4IDkuNDAyMDJWOS40MDIwMkwzNS4wOTI1IDEwLjAwNTNaTTMwLjI1MzYgNC4xMDkwOEwyOS4zNzc4IDUuNDE5NzdMMzAuMjUzNiA0LjEwOTA4Wk0xNS42NTU0IDQuMTA5MDhMMTQuNzc5NiAyLjc5ODM5VjIuNzk4MzlMMTUuNjU1NCA0LjEwOTA4Wk0xMC44MTY1IDEwLjAwNTNMOS4zNjAxMyA5LjQwMjAySDkuMzYwMTNMMTAuODE2NSAxMC4wMDUzWk0xMi41NDk4IDI1LjQzNzZDMTMuMTY1NCAyNi4wNTMyIDE0LjE2MzUgMjYuMDUzMiAxNC43NzkxIDI1LjQzNzZDMTUuMzk0NyAyNC44MjIgMTUuMzk0NyAyMy44MjM5IDE0Ljc3OTEgMjMuMjA4M0wxMi41NDk4IDI1LjQzNzZaTTMzLjM1OTEgMjUuNDM3NkMzNS40MTcgMjMuMzc5OCAzNi44MTg0IDIwLjc1NzkgMzcuMzg2MiAxNy45MDM2TDM0LjI5NCAxNy4yODg2QzMzLjg0NzkgMTkuNTMxMyAzMi43NDY4IDIxLjU5MTQgMzEuMTI5OCAyMy4yMDgzTDMzLjM1OTEgMjUuNDM3NlpNMzcuMzg2MiAxNy45MDM2QzM3Ljk1MzkgMTUuMDQ5MyAzNy42NjI1IDEyLjA5MDcgMzYuNTQ4OCA5LjQwMjAyTDMzLjYzNjEgMTAuNjA4NUMzNC41MTEyIDEyLjcyMTEgMzQuNzQwMSAxNS4wNDU4IDM0LjI5NCAxNy4yODg2TDM3LjM4NjIgMTcuOTAzNlpNMzYuNTQ4OCA5LjQwMjAyQzM1LjQzNTEgNi43MTMzMSAzMy41NDkxIDQuNDE1MjMgMzEuMTI5NCAyLjc5ODM5TDI5LjM3NzggNS40MTk3N0MzMS4yNzkxIDYuNjkwMTkgMzIuNzYxIDguNDk1ODggMzMuNjM2MSAxMC42MDg1TDM2LjU0ODggOS40MDIwMlpNMzEuMTI5NCAyLjc5ODM5QzI4LjcwOTYgMS4xODE1NSAyNS44NjQ3IDAuMzE4NTY1IDIyLjk1NDUgMC4zMTg1NjVWMy40NzEyN0MyNS4yNDEyIDMuNDcxMjcgMjcuNDc2NSA0LjE0OTM2IDI5LjM3NzggNS40MTk3N0wzMS4xMjk0IDIuNzk4MzlaTTIyLjk1NDUgMC4zMTg1NjVDMjAuMDQ0MiAwLjMxODU2NSAxNy4xOTk0IDEuMTgxNTUgMTQuNzc5NiAyLjc5ODM5TDE2LjUzMTEgNS40MTk3N0MxOC40MzI0IDQuMTQ5MzYgMjAuNjY3OCAzLjQ3MTI3IDIyLjk1NDUgMy40NzEyN1YwLjMxODU2NVpNMTQuNzc5NiAyLjc5ODM5QzEyLjM1OTggNC40MTUyMyAxMC40NzM4IDYuNzEzMzEgOS4zNjAxMyA5LjQwMjAyTDEyLjI3MjggMTAuNjA4NUMxMy4xNDc5IDguNDk1ODggMTQuNjI5OCA2LjY5MDE5IDE2LjUzMTEgNS40MTk3N0wxNC43Nzk2IDIuNzk4MzlaTTkuMzYwMTMgOS40MDIwMkM4LjI0NjQzIDEyLjA5MDcgNy45NTUwMyAxNS4wNDkzIDguNTIyNzkgMTcuOTAzNkwxMS42MTQ5IDE3LjI4ODZDMTEuMTY4OCAxNS4wNDU4IDExLjM5NzggMTIuNzIxMSAxMi4yNzI4IDEwLjYwODVMOS4zNjAxMyA5LjQwMjAyWk04LjUyMjc5IDE3LjkwMzZDOS4wOTA1NSAyMC43NTc5IDEwLjQ5MiAyMy4zNzk4IDEyLjU0OTggMjUuNDM3NkwxNC43NzkxIDIzLjIwODNDMTMuMTYyMiAyMS41OTE0IDEyLjA2MSAxOS41MzEzIDExLjYxNDkgMTcuMjg4Nkw4LjUyMjc5IDE3LjkwMzZaIiBmaWxsPSIjNDEzRTNFIi8+CjxwYXRoIGQ9Ik0yOC41OTM0IDQzLjE5NzNWMjQuNzczNkMyOC41OTM0IDIzLjMzNjUgMjguMDIyNSAyMS45NTgyIDI3LjAwNjMgMjAuOTQyQzI1Ljk5MDEgMTkuOTI1OCAyNC42MTE4IDE5LjM1NDkgMjMuMTc0NyAxOS4zNTQ5QzIxLjczNzYgMTkuMzU0OSAyMC4zNTkzIDE5LjkyNTggMTkuMzQzMSAyMC45NDJDMTguMzI2OSAyMS45NTgyIDE3Ljc1NiAyMy4zMzY1IDE3Ljc1NiAyNC43NzM2VjU3LjYyOUwxMS44MTUgNDcuMzM4OUMxMS40NTk2IDQ2LjcyMiAxMC45ODYgNDYuMTgxMyAxMC40MjE0IDQ1Ljc0NzVDOS44NTY4NCA0NS4zMTM3IDkuMjEyMzEgNDQuOTk1NCA4LjUyNDY3IDQ0LjgxMDlDNy44MzcwMyA0NC42MjYzIDcuMTE5NzYgNDQuNTc5MSA2LjQxMzg1IDQ0LjY3MTlDNS43MDc5NSA0NC43NjQ2IDUuMDI3MjQgNDQuOTk1NiA0LjQxMDY1IDQ1LjM1MTZDMy43OTQwNiA0NS43MDc2IDMuMjUzNjcgNDYuMTgxNiAyLjgyMDM2IDQ2Ljc0NjZDMi4zODcwNiA0Ny4zMTE1IDIuMDY5MzMgNDcuOTU2MyAxLjg4NTM1IDQ4LjY0NDFDMS43MDEzNiA0OS4zMzE5IDEuNjU0NzIgNTAuMDQ5MiAxLjc0ODEgNTAuNzU1QzEuODQxNDcgNTEuNDYwOCAyLjA3MzAzIDUyLjE0MTQgMi40Mjk1MyA1Mi43NTc2QzExLjI1MzUgNzEuMzc0NiAxNi42MjI3IDc3Ljg3NzEgMjguNTkzNCA3Ny44NzcxQzMxLjQzOTggNzcuODc3MSAzNC4yNTgzIDc3LjMxNjQgMzYuODg4IDc2LjIyNzJDMzkuNTE3OCA3NS4xMzc5IDQxLjkwNzIgNzMuNTQxMyA0My45MTk5IDcxLjUyODZDNDUuOTMyNiA2OS41MTU5IDQ3LjUyOTEgNjcuMTI2NSA0OC42MTg0IDY0LjQ5NjhDNDkuNzA3NyA2MS44NjcxIDUwLjI2ODMgNTkuMDQ4NiA1MC4yNjgzIDU2LjIwMjJWNDUuMzY0OEM1MC4yNjgzIDQzLjkyNzYgNDkuNjk3NCA0Mi41NDkzIDQ4LjY4MTIgNDEuNTMzMUM0Ny42NjUgNDAuNTE2OSA0Ni4yODY3IDM5Ljk0NiA0NC44NDk2IDM5Ljk0NkM0My40MTI0IDM5Ljk0NiA0Mi4wMzQyIDQwLjUxNjkgNDEuMDE4IDQxLjUzMzFDNDAuMDAxOCA0Mi41NDkzIDM5LjQzMDkgNDMuOTI3NiAzOS40MzA5IDQ1LjM2NDgiIHN0cm9rZT0iIzQxM0UzRSIgc3Ryb2tlLXdpZHRoPSIzLjE1MjcxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTM5LjQzMDggNDUuMzY0N1Y0Mi4xMTM1QzM5LjQzMDggNDAuNjc2NCAzOC44NTk5IDM5LjI5ODEgMzcuODQzNyAzOC4yODE5QzM2LjgyNzUgMzcuMjY1NyAzNS40NDkyIDM2LjY5NDggMzQuMDEyMSAzNi42OTQ4QzMyLjU3NSAzNi42OTQ4IDMxLjE5NjcgMzcuMjY1NyAzMC4xODA1IDM4LjI4MTlDMjkuMTY0MyAzOS4yOTgxIDI4LjU5MzQgNDAuNjc2NCAyOC41OTM0IDQyLjExMzVWNDMuMTk3MyIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUyNzEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzg1NF84MjMzIj4KPHJlY3Qgd2lkdGg9IjUyIiBoZWlnaHQ9IjgwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC4wMDAzMzA0NDgpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==",text:Lr.getLocaleText("research-plan")}],[l,c]=(0,e.useState)(!0),[u,h]=(0,e.useState)({width:"200px",height:"auto"}),[d,p]=(0,e.useState)(!1),[f,A]=(0,e.useState)(!0),[m,g]=(0,e.useState)(null),v=()=>{if(null==m||!m.viewer)return;const e=document.querySelector(".widget-tab__panorama-map img"),t=e.naturalWidth/e.naturalHeight,i=Or.config.height-200;let r=200,o=r/t;o>=i&&(o=i,r=o*t),h({width:"".concat(r,"px"),height:"".concat(o,"px")}),m.setPlanScale(((e,t)=>{let{width:n,height:i}=e;if(!t)return{X:1,Y:1};const r=i*(1024/n);return{X:n/1024/t.Scale.X,Y:i/r/t.Scale.X}})({width:r,height:o},n)),m.viewer.onWindowResize(Or.config.width,Or.config.height)},y=()=>{Or.showControls(),p(!1)};return(0,e.useEffect)(v,[n,m,Or.config.width,Or.config.height]),(0,e.useEffect)((()=>{const e=document.querySelector(".widget-tab__panorama-overlay");g(new Km(n,e,r,o))}),[n,r]),e.createElement(e.Fragment,null,e.createElement("div",{className:"widget-tab__panorama"},e.createElement("div",{className:"widget-tab__panorama-overlay",onContextMenu:Eo}),(null==m?void 0:m.loadingState)&&e.createElement(eg,{absolute:!0}),d&&e.createElement("div",{className:"widget-tab__panorama-close-map",onClick:y},e.createElement("img",{src:tg,alt:"close-map"})),e.createElement("div",{className:(()=>{let e="widget-tab__panorama-map";return f&&(e+=" widget-tab__panorama-map--hidden"),d&&(e+=" widget-tab__panorama-map--scaled"),e})()},e.createElement("img",{src:i,style:u,alt:"plan",onLoad:()=>{v(),A(!n||a)}}),!f&&e.createElement(e.Fragment,null,e.createElement("div",{className:"widget-tab__panorama-map__fov",style:m.dotPosition},e.createElement("div",{className:"widget-tab__panorama-map__fov-direction"}),e.createElement("div",{className:"widget-tab__panorama-map__fov-dot"})),e.createElement("svg",{style:{width:u.width},key:"X-".concat(m.planScale.X,"-Y-").concat(m.planScale.Y),onClick:e=>{if(m.loadingState)return;if(Or.config.width<=eo.tablet&&!d)return Or.hideControls(),void p(!0);const t=document.querySelector(".widget-tab__panorama-map"),n=t.getBoundingClientRect().width/t.offsetWidth,i=document.querySelector(".widget-tab__panorama-map img").getBoundingClientRect(),{clientX:r,clientY:o}=e,a=(r-i.left)/n/m.planScale.X,s=(o-i.top)/n/m.planScale.Y,l=m.panoramas.filter((e=>{let{userData:t}=e;return function(e,t){let n=e[0],i=e[1],r=!1;for(let e=0,o=t.length-1;e<t.length;o=e++){const a=t[e][0],s=t[e][1],l=t[o][0],c=t[o][1];s>i!=c>i&&n<(l-a)*(i-s)/(c-s)+a&&(r=!r)}return r}([a,s],t.points)})),{panorama:c}=Gm([a,s],l);y(),c&&m.setCurrentPanorama(c)}},m.panoramas.map(((t,n)=>{let{userData:i}=t;return e.createElement("polygon",{key:n,points:Ym(i.points,m.planScale)})}))))),e.createElement("div",{className:"widget-tab__panorama-controls"},e.createElement("button",{className:"widget-tab__panorama-controls-button",onClick:null==m?void 0:m.toggleFov},e.createElement("img",{src:(null==m?void 0:m.currentFovIcon)||qm,alt:"scale-icon"})),e.createElement("button",{className:"widget-tab__panorama-controls-button",onClick:null==m?void 0:m.toggleAutoplay},e.createElement("img",{src:(null==m?void 0:m.currentAutoPlayIcon)||Xm,alt:"rotation-icon"})))),l&&e.createElement(To,{disabled:a,steps:s,onClick:async()=>{if(c(!1),v(),!ko.isMobile&&!ko.isTablet)return;if(await ko.requestDeviceOrientation()!==Po)return void m.viewer.enableControl(m.controls.ORBIT);const e=()=>{window.removeEventListener("deviceorientation",e),m.viewer.enableControl(m.controls.DEVICEORIENTATION)};window.addEventListener("deviceorientation",e)}}))})),ig=ng,rg=Kr((()=>Br.enabled?Br.active?e.createElement("button",{type:"button",className:"widget-exit-fullscreen",onClick:()=>Br.exit()},e.createElement("img",{src:tg,alt:"exit-fullscreen"})):e.createElement("button",{type:"button",className:"widget-enter-fullscreen",onClick:()=>Br.enter()},e.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCA1MCA1MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMxLjI1IDkuODc1SDQwLjYyNVYxOS4yNSIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjkuNjg3NSAyMC44MTI1TDQwLjYyNSA5Ljg3NSIgc3Ryb2tlPSIjNDEzRTNFIiBzdHJva2Utd2lkdGg9IjMuMTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTguNzUgNDEuMTI1SDkuMzc1VjMxLjc1IiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yMC4zMTI1IDMwLjE4NzVMOS4zNzUgNDEuMTI1IiBzdHJva2U9IiM0MTNFM0UiIHN0cm9rZS13aWR0aD0iMy4xNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=",alt:"enter-fullscreen"})):null)),og=t=>{let{active:n,text:i,onClick:r}=t;return e.createElement("button",{type:"button",className:"widget-tab-button ".concat(n?"widget-tab-button--active":""),onClick:r},i)},ag=t=>{let{href:n,text:i}=t;return e.createElement("a",{href:n,target:"_blank",rel:"noreferrer"},e.createElement("span",null,"made by")," ",i)};function sg(e){return sg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sg(e)}function lg(e){var t=function(e,t){if("object"!==sg(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!==sg(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===sg(t)?t:String(t)}function cg(e,t,n){return(t=lg(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ug(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function hg(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ug(Object(n),!0).forEach((function(t){cg(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ug(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function dg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function pg(e,t){if(e){if("string"==typeof e)return dg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dg(e,t):void 0}}function fg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,o,a,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){c=!0,r=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw r}}return s}}(e,t)||pg(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ag(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var mg=["defaultInputValue","defaultMenuIsOpen","defaultValue","inputValue","menuIsOpen","onChange","onInputChange","onMenuClose","onMenuOpen","value"];function gg(){return gg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},gg.apply(this,arguments)}function vg(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,lg(i.key),i)}}function yg(e,t){return yg=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},yg(e,t)}function bg(e){return bg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},bg(e)}function wg(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=bg(e);if(t){var r=bg(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return function(e,t){if(t&&("object"===sg(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function xg(e){return function(e){if(Array.isArray(e))return dg(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||pg(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Mg=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode&&e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),Eg=Math.abs,Sg=String.fromCharCode,Tg=Object.assign;function Cg(e){return e.trim()}function Ig(e,t,n){return e.replace(t,n)}function Lg(e,t){return e.indexOf(t)}function Dg(e,t){return 0|e.charCodeAt(t)}function Og(e,t,n){return e.slice(t,n)}function Ng(e){return e.length}function Pg(e){return e.length}function kg(e,t){return t.push(e),e}var Rg=1,zg=1,_g=0,Bg=0,jg=0,Ug="";function Fg(e,t,n,i,r,o,a){return{value:e,root:t,parent:n,type:i,props:r,children:o,line:Rg,column:zg,length:a,return:""}}function Vg(e,t){return Tg(Fg("",null,null,"",null,null,0),e,{length:-e.length},t)}function Hg(){return jg=Bg>0?Dg(Ug,--Bg):0,zg--,10===jg&&(zg=1,Rg--),jg}function Qg(){return jg=Bg<_g?Dg(Ug,Bg++):0,zg++,10===jg&&(zg=1,Rg++),jg}function Wg(){return Dg(Ug,Bg)}function Gg(){return Bg}function Yg(e,t){return Og(Ug,e,t)}function qg(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Xg(e){return Rg=zg=1,_g=Ng(Ug=e),Bg=0,[]}function Zg(e){return Ug="",e}function Jg(e){return Cg(Yg(Bg-1,ev(91===e?e+2:40===e?e+1:e)))}function Kg(e){for(;(jg=Wg())&&jg<33;)Qg();return qg(e)>2||qg(jg)>3?"":" "}function $g(e,t){for(;--t&&Qg()&&!(jg<48||jg>102||jg>57&&jg<65||jg>70&&jg<97););return Yg(e,Gg()+(t<6&&32==Wg()&&32==Qg()))}function ev(e){for(;Qg();)switch(jg){case e:return Bg;case 34:case 39:34!==e&&39!==e&&ev(jg);break;case 40:41===e&&ev(e);break;case 92:Qg()}return Bg}function tv(e,t){for(;Qg()&&e+jg!==57&&(e+jg!==84||47!==Wg()););return"/*"+Yg(t,Bg-1)+"*"+Sg(47===e?e:Qg())}function nv(e){for(;!qg(Wg());)Qg();return Yg(e,Bg)}var iv="-ms-",rv="-moz-",ov="-webkit-",av="comm",sv="rule",lv="decl",cv="@keyframes";function uv(e,t){for(var n="",i=Pg(e),r=0;r<i;r++)n+=t(e[r],r,e,t)||"";return n}function hv(e,t,n,i){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case lv:return e.return=e.return||e.value;case av:return"";case cv:return e.return=e.value+"{"+uv(e.children,i)+"}";case sv:e.value=e.props.join(",")}return Ng(n=uv(e.children,i))?e.return=e.value+"{"+n+"}":""}function dv(e){return Zg(pv("",null,null,null,[""],e=Xg(e),0,[0],e))}function pv(e,t,n,i,r,o,a,s,l){for(var c=0,u=0,h=a,d=0,p=0,f=0,A=1,m=1,g=1,v=0,y="",b=r,w=o,x=i,M=y;m;)switch(f=v,v=Qg()){case 40:if(108!=f&&58==Dg(M,h-1)){-1!=Lg(M+=Ig(Jg(v),"&","&\f"),"&\f")&&(g=-1);break}case 34:case 39:case 91:M+=Jg(v);break;case 9:case 10:case 13:case 32:M+=Kg(f);break;case 92:M+=$g(Gg()-1,7);continue;case 47:switch(Wg()){case 42:case 47:kg(Av(tv(Qg(),Gg()),t,n),l);break;default:M+="/"}break;case 123*A:s[c++]=Ng(M)*g;case 125*A:case 59:case 0:switch(v){case 0:case 125:m=0;case 59+u:-1==g&&(M=Ig(M,/\f/g,"")),p>0&&Ng(M)-h&&kg(p>32?mv(M+";",i,n,h-1):mv(Ig(M," ","")+";",i,n,h-2),l);break;case 59:M+=";";default:if(kg(x=fv(M,t,n,c,u,r,s,y,b=[],w=[],h),o),123===v)if(0===u)pv(M,t,x,x,b,o,h,s,w);else switch(99===d&&110===Dg(M,3)?100:d){case 100:case 108:case 109:case 115:pv(e,x,x,i&&kg(fv(e,x,x,0,0,r,s,y,r,b=[],h),w),r,w,h,s,i?b:w);break;default:pv(M,x,x,x,[""],w,0,s,w)}}c=u=p=0,A=g=1,y=M="",h=a;break;case 58:h=1+Ng(M),p=f;default:if(A<1)if(123==v)--A;else if(125==v&&0==A++&&125==Hg())continue;switch(M+=Sg(v),v*A){case 38:g=u>0?1:(M+="\f",-1);break;case 44:s[c++]=(Ng(M)-1)*g,g=1;break;case 64:45===Wg()&&(M+=Jg(Qg())),d=Wg(),u=h=Ng(y=M+=nv(Gg())),v++;break;case 45:45===f&&2==Ng(M)&&(A=0)}}return o}function fv(e,t,n,i,r,o,a,s,l,c,u){for(var h=r-1,d=0===r?o:[""],p=Pg(d),f=0,A=0,m=0;f<i;++f)for(var g=0,v=Og(e,h+1,h=Eg(A=a[f])),y=e;g<p;++g)(y=Cg(A>0?d[g]+" "+v:Ig(v,/&\f/g,d[g])))&&(l[m++]=y);return Fg(e,t,n,0===r?sv:s,l,c,u)}function Av(e,t,n){return Fg(e,t,n,av,Sg(jg),Og(e,2,-2),0)}function mv(e,t,n,i){return Fg(e,t,n,lv,Og(e,0,i),Og(e,i+1,-1),i)}var gv=function(e,t,n){for(var i=0,r=0;i=r,r=Wg(),38===i&&12===r&&(t[n]=1),!qg(r);)Qg();return Yg(e,Bg)},vv=new WeakMap,yv=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,i=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||vv.get(n))&&!i){vv.set(e,!0);for(var r=[],o=function(e,t){return Zg(function(e,t){var n=-1,i=44;do{switch(qg(i)){case 0:38===i&&12===Wg()&&(t[n]=1),e[n]+=gv(Bg-1,t,n);break;case 2:e[n]+=Jg(i);break;case 4:if(44===i){e[++n]=58===Wg()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=Sg(i)}}while(i=Qg());return e}(Xg(e),t))}(t,r),a=n.props,s=0,l=0;s<o.length;s++)for(var c=0;c<a.length;c++,l++)e.props[l]=r[s]?o[s].replace(/&\f/g,a[c]):a[c]+" "+o[s]}}},bv=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function wv(e,t){switch(function(e,t){return 45^Dg(e,0)?(((t<<2^Dg(e,0))<<2^Dg(e,1))<<2^Dg(e,2))<<2^Dg(e,3):0}(e,t)){case 5103:return ov+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ov+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return ov+e+rv+e+iv+e+e;case 6828:case 4268:return ov+e+iv+e+e;case 6165:return ov+e+iv+"flex-"+e+e;case 5187:return ov+e+Ig(e,/(\w+).+(:[^]+)/,ov+"box-$1$2"+iv+"flex-$1$2")+e;case 5443:return ov+e+iv+"flex-item-"+Ig(e,/flex-|-self/,"")+e;case 4675:return ov+e+iv+"flex-line-pack"+Ig(e,/align-content|flex-|-self/,"")+e;case 5548:return ov+e+iv+Ig(e,"shrink","negative")+e;case 5292:return ov+e+iv+Ig(e,"basis","preferred-size")+e;case 6060:return ov+"box-"+Ig(e,"-grow","")+ov+e+iv+Ig(e,"grow","positive")+e;case 4554:return ov+Ig(e,/([^-])(transform)/g,"$1"+ov+"$2")+e;case 6187:return Ig(Ig(Ig(e,/(zoom-|grab)/,ov+"$1"),/(image-set)/,ov+"$1"),e,"")+e;case 5495:case 3959:return Ig(e,/(image-set\([^]*)/,ov+"$1$`$1");case 4968:return Ig(Ig(e,/(.+:)(flex-)?(.*)/,ov+"box-pack:$3"+iv+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ov+e+e;case 4095:case 3583:case 4068:case 2532:return Ig(e,/(.+)-inline(.+)/,ov+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ng(e)-1-t>6)switch(Dg(e,t+1)){case 109:if(45!==Dg(e,t+4))break;case 102:return Ig(e,/(.+:)(.+)-([^]+)/,"$1"+ov+"$2-$3$1"+rv+(108==Dg(e,t+3)?"$3":"$2-$3"))+e;case 115:return~Lg(e,"stretch")?wv(Ig(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==Dg(e,t+1))break;case 6444:switch(Dg(e,Ng(e)-3-(~Lg(e,"!important")&&10))){case 107:return Ig(e,":",":"+ov)+e;case 101:return Ig(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ov+(45===Dg(e,14)?"inline-":"")+"box$3$1"+ov+"$2$3$1"+iv+"$2box$3")+e}break;case 5936:switch(Dg(e,t+11)){case 114:return ov+e+iv+Ig(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return ov+e+iv+Ig(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return ov+e+iv+Ig(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return ov+e+iv+e+e}return e}var xv=[function(e,t,n,i){if(e.length>-1&&!e.return)switch(e.type){case lv:e.return=wv(e.value,e.length);break;case cv:return uv([Vg(e,{value:Ig(e.value,"@","@"+ov)})],i);case sv:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return uv([Vg(e,{props:[Ig(t,/:(read-\w+)/,":-moz-$1")]})],i);case"::placeholder":return uv([Vg(e,{props:[Ig(t,/:(plac\w+)/,":"+ov+"input-$1")]}),Vg(e,{props:[Ig(t,/:(plac\w+)/,":-moz-$1")]}),Vg(e,{props:[Ig(t,/:(plac\w+)/,iv+"input-$1")]})],i)}return""}))}}],Mv=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var i,r,o=e.stylisPlugins||xv,a={},s=[];i=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)a[t[n]]=!0;s.push(e)}));var l,c,u,h,d=[hv,(h=function(e){l.insert(e)},function(e){e.root||(e=e.return)&&h(e)})],p=(c=[yv,bv].concat(o,d),u=Pg(c),function(e,t,n,i){for(var r="",o=0;o<u;o++)r+=c[o](e,t,n,i)||"";return r});r=function(e,t,n,i){l=n,uv(dv(e?e+"{"+t.styles+"}":t.styles),p),i&&(f.inserted[t.name]=!0)};var f={key:t,sheet:new Mg({key:t,container:i,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:a,registered:{},insert:r};return f.sheet.hydrate(s),f},Ev=function(e,t,n){var i=e.key+"-"+t.name;!1===n&&void 0===e.registered[i]&&(e.registered[i]=t.styles)},Sv={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function Tv(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var Cv=/[A-Z]|^ms/g,Iv=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Lv=function(e){return 45===e.charCodeAt(1)},Dv=function(e){return null!=e&&"boolean"!=typeof e},Ov=Tv((function(e){return Lv(e)?e:e.replace(Cv,"-$&").toLowerCase()})),Nv=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(Iv,(function(e,t,n){return kv={name:t,styles:n,next:kv},t}))}return 1===Sv[e]||Lv(e)||"number"!=typeof t||0===t?t:t+"px"};function Pv(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return kv={name:n.name,styles:n.styles,next:kv},n.name;if(void 0!==n.styles){var i=n.next;if(void 0!==i)for(;void 0!==i;)kv={name:i.name,styles:i.styles,next:kv},i=i.next;return n.styles+";"}return function(e,t,n){var i="";if(Array.isArray(n))for(var r=0;r<n.length;r++)i+=Pv(e,t,n[r])+";";else for(var o in n){var a=n[o];if("object"!=typeof a)null!=t&&void 0!==t[a]?i+=o+"{"+t[a]+"}":Dv(a)&&(i+=Ov(o)+":"+Nv(o,a)+";");else if(!Array.isArray(a)||"string"!=typeof a[0]||null!=t&&void 0!==t[a[0]]){var s=Pv(e,t,a);switch(o){case"animation":case"animationName":i+=Ov(o)+":"+s+";";break;default:i+=o+"{"+s+"}"}}else for(var l=0;l<a.length;l++)Dv(a[l])&&(i+=Ov(o)+":"+Nv(o,a[l])+";")}return i}(e,t,n);case"function":if(void 0!==e){var r=kv,o=n(e);return kv=r,Pv(e,t,o)}}if(null==t)return n;var a=t[n];return void 0!==a?a:n}var kv,Rv=/label:\s*([^\s;\n{]+)\s*(;|$)/g,zv=function(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var i=!0,r="";kv=void 0;var o=e[0];null==o||void 0===o.raw?(i=!1,r+=Pv(n,t,o)):r+=o[0];for(var a=1;a<e.length;a++)r+=Pv(n,t,e[a]),i&&(r+=o[a]);Rv.lastIndex=0;for(var s,l="";null!==(s=Rv.exec(r));)l+="-"+s[1];var c=function(e){for(var t,n=0,i=0,r=e.length;r>=4;++i,r-=4)t=1540483477*(65535&(t=255&e.charCodeAt(i)|(255&e.charCodeAt(++i))<<8|(255&e.charCodeAt(++i))<<16|(255&e.charCodeAt(++i))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(r){case 3:n^=(255&e.charCodeAt(i+2))<<16;case 2:n^=(255&e.charCodeAt(i+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(i)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(r)+l;return{name:c,styles:r,next:kv}},_v=!!t.useInsertionEffect&&t.useInsertionEffect,Bv=_v||function(e){return e()},jv=(_v||e.useLayoutEffect,{}.hasOwnProperty),Uv=e.createContext("undefined"!=typeof HTMLElement?Mv({key:"css"}):null);Uv.Provider;var Fv=function(t){return(0,e.forwardRef)((function(n,i){var r=(0,e.useContext)(Uv);return t(n,r,i)}))},Vv=e.createContext({}),Hv="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",Qv=function(e){var t=e.cache,n=e.serialized,i=e.isStringTag;return Ev(t,n,i),Bv((function(){return function(e,t,n){Ev(e,t,n);var i=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var r=t;do{e.insert(t===r?"."+i:"",r,e.sheet,!0),r=r.next}while(void 0!==r)}}(t,n,i)})),null},Wv=Fv((function(t,n,i){var r=t.css;"string"==typeof r&&void 0!==n.registered[r]&&(r=n.registered[r]);var o=t[Hv],a=[r],s="";"string"==typeof t.className?s=function(e,t,n){var i="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):i+=n+" "})),i}(n.registered,a,t.className):null!=t.className&&(s=t.className+" ");var l=zv(a,void 0,e.useContext(Vv));s+=n.key+"-"+l.name;var c={};for(var u in t)jv.call(t,u)&&"css"!==u&&u!==Hv&&(c[u]=t[u]);return c.ref=i,c.className=s,e.createElement(e.Fragment,null,e.createElement(Qv,{cache:n,serialized:l,isStringTag:"string"==typeof o}),e.createElement(o,c))})),Gv=Wv,Yv=(r(679),function(t,n){var i=arguments;if(null==n||!jv.call(n,"css"))return e.createElement.apply(void 0,i);var r=i.length,o=new Array(r);o[0]=Gv,o[1]=function(e,t){var n={};for(var i in t)jv.call(t,i)&&(n[i]=t[i]);return n[Hv]=e,n}(t,n);for(var a=2;a<r;a++)o[a]=i[a];return e.createElement.apply(null,o)});function qv(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return zv(t)}const Xv=Math.min,Zv=Math.max,Jv=Math.round,Kv=Math.floor,$v=e=>({x:e,y:e});function ey(e){return iy(e)?(e.nodeName||"").toLowerCase():"#document"}function ty(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function ny(e){var t;return null==(t=(iy(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function iy(e){return e instanceof Node||e instanceof ty(e).Node}function ry(e){return e instanceof Element||e instanceof ty(e).Element}function oy(e){return e instanceof HTMLElement||e instanceof ty(e).HTMLElement}function ay(e){return"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof ty(e).ShadowRoot)}function sy(e){const{overflow:t,overflowX:n,overflowY:i,display:r}=ly(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&!["inline","contents"].includes(r)}function ly(e){return ty(e).getComputedStyle(e)}function cy(e){const t=function(e){if("html"===ey(e))return e;const t=e.assignedSlot||e.parentNode||ay(e)&&e.host||ny(e);return ay(t)?t.host:t}(e);return function(e){return["html","body","#document"].includes(ey(e))}(t)?e.ownerDocument?e.ownerDocument.body:e.body:oy(t)&&sy(t)?t:cy(t)}function uy(e,t,n){var i;void 0===t&&(t=[]),void 0===n&&(n=!0);const r=cy(e),o=r===(null==(i=e.ownerDocument)?void 0:i.body),a=ty(r);return o?t.concat(a,a.visualViewport||[],sy(r)?r:[],a.frameElement&&n?uy(a.frameElement):[]):t.concat(r,uy(r,[],n))}function hy(e){return ry(e)?e:e.contextElement}function dy(e){const t=hy(e);if(!oy(t))return $v(1);const n=t.getBoundingClientRect(),{width:i,height:r,$:o}=function(e){const t=ly(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=oy(e),o=r?e.offsetWidth:n,a=r?e.offsetHeight:i,s=Jv(n)!==o||Jv(i)!==a;return s&&(n=o,i=a),{width:n,height:i,$:s}}(t);let a=(o?Jv(n.width):n.width)/i,s=(o?Jv(n.height):n.height)/r;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const py=$v(0);function fy(e){const t=ty(e);return"undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:py}function Ay(e,t,n,i){void 0===t&&(t=!1),void 0===n&&(n=!1);const r=e.getBoundingClientRect(),o=hy(e);let a=$v(1);t&&(i?ry(i)&&(a=dy(i)):a=dy(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==ty(e))&&t}(o,n,i)?fy(o):$v(0);let l=(r.left+s.x)/a.x,c=(r.top+s.y)/a.y,u=r.width/a.x,h=r.height/a.y;if(o){const e=ty(o),t=i&&ry(i)?ty(i):i;let n=e.frameElement;for(;n&&i&&t!==e;){const e=dy(n),t=n.getBoundingClientRect(),i=ly(n),r=t.left+(n.clientLeft+parseFloat(i.paddingLeft))*e.x,o=t.top+(n.clientTop+parseFloat(i.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,h*=e.y,l+=r,c+=o,n=ty(n).frameElement}}return d={width:u,height:h,x:l,y:c},{...d,top:d.y,left:d.x,right:d.x+d.width,bottom:d.y+d.height};var d}const my=e.useLayoutEffect;var gy=["className","clearValue","cx","getStyles","getClassNames","getValue","hasValue","isMulti","isRtl","options","selectOption","selectProps","setValue","theme"],vy=function(){};function yy(e,t){return t?"-"===t[0]?e+t:e+"__"+t:e}function by(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),r=2;r<n;r++)i[r-2]=arguments[r];var o=[].concat(i);if(t&&e)for(var a in t)t.hasOwnProperty(a)&&t[a]&&o.push("".concat(yy(e,a)));return o.filter((function(e){return e})).map((function(e){return String(e).trim()})).join(" ")}var wy=function(e){return t=e,Array.isArray(t)?e.filter(Boolean):"object"===sg(e)&&null!==e?[e]:[];var t},xy=function(e){return e.className,e.clearValue,e.cx,e.getStyles,e.getClassNames,e.getValue,e.hasValue,e.isMulti,e.isRtl,e.options,e.selectOption,e.selectProps,e.setValue,e.theme,hg({},Ag(e,gy))},My=function(e,t,n){var i=e.cx,r=e.getStyles,o=e.getClassNames,a=e.className;return{css:r(t,e),className:i(null!=n?n:{},o(t,e),a)}};function Ey(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function Sy(e){return Ey(e)?window.pageYOffset:e.scrollTop}function Ty(e,t){Ey(e)?window.scrollTo(0,t):e.scrollTop=t}function Cy(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:vy,r=Sy(e),o=t-r,a=0;!function t(){var s,l=o*((s=(s=a+=10)/n-1)*s*s+1)+r;Ty(e,l),a<n?window.requestAnimationFrame(t):i(e)}()}function Iy(e,t){var n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),r=t.offsetHeight/3;i.bottom+r>n.bottom?Ty(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+r,e.scrollHeight)):i.top-r<n.top&&Ty(e,Math.max(t.offsetTop-r,0))}function Ly(){try{return document.createEvent("TouchEvent"),!0}catch(e){return!1}}var Dy=!1,Oy={get passive(){return Dy=!0}},Ny="undefined"!=typeof window?window:{};Ny.addEventListener&&Ny.removeEventListener&&(Ny.addEventListener("p",vy,Oy),Ny.removeEventListener("p",vy,!1));var Py=Dy;function ky(e){return null!=e}function Ry(e,t,n){return e?t:n}var zy=["children","innerProps"],_y=["children","innerProps"];var By,jy,Uy,Fy=function(e){return"auto"===e?"bottom":e},Vy=(0,e.createContext)(null),Hy=function(t){var n=t.children,i=t.minMenuHeight,r=t.maxMenuHeight,o=t.menuPlacement,a=t.menuPosition,s=t.menuShouldScrollIntoView,l=t.theme,c=((0,e.useContext)(Vy)||{}).setPortalPlacement,u=(0,e.useRef)(null),h=fg((0,e.useState)(r),2),d=h[0],p=h[1],f=fg((0,e.useState)(null),2),A=f[0],m=f[1],g=l.spacing.controlHeight;return my((function(){var e=u.current;if(e){var t="fixed"===a,n=function(e){var t=e.maxHeight,n=e.menuEl,i=e.minHeight,r=e.placement,o=e.shouldScroll,a=e.isFixedPosition,s=e.controlHeight,l=function(e){var t=getComputedStyle(e),n="absolute"===t.position,i=/(auto|scroll)/;if("fixed"===t.position)return document.documentElement;for(var r=e;r=r.parentElement;)if(t=getComputedStyle(r),(!n||"static"!==t.position)&&i.test(t.overflow+t.overflowY+t.overflowX))return r;return document.documentElement}(n),c={placement:"bottom",maxHeight:t};if(!n||!n.offsetParent)return c;var u,h=l.getBoundingClientRect().height,d=n.getBoundingClientRect(),p=d.bottom,f=d.height,A=d.top,m=n.offsetParent.getBoundingClientRect().top,g=a||Ey(u=l)?window.innerHeight:u.clientHeight,v=Sy(l),y=parseInt(getComputedStyle(n).marginBottom,10),b=parseInt(getComputedStyle(n).marginTop,10),w=m-b,x=g-A,M=w+v,E=h-v-A,S=p-g+v+y,T=v+A-b,C=160;switch(r){case"auto":case"bottom":if(x>=f)return{placement:"bottom",maxHeight:t};if(E>=f&&!a)return o&&Cy(l,S,C),{placement:"bottom",maxHeight:t};if(!a&&E>=i||a&&x>=i)return o&&Cy(l,S,C),{placement:"bottom",maxHeight:a?x-y:E-y};if("auto"===r||a){var I=t,L=a?w:M;return L>=i&&(I=Math.min(L-y-s,t)),{placement:"top",maxHeight:I}}if("bottom"===r)return o&&Ty(l,S),{placement:"bottom",maxHeight:t};break;case"top":if(w>=f)return{placement:"top",maxHeight:t};if(M>=f&&!a)return o&&Cy(l,T,C),{placement:"top",maxHeight:t};if(!a&&M>=i||a&&w>=i){var D=t;return(!a&&M>=i||a&&w>=i)&&(D=a?w-b:M-b),o&&Cy(l,T,C),{placement:"top",maxHeight:D}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(r,'".'))}return c}({maxHeight:r,menuEl:e,minHeight:i,placement:o,shouldScroll:s&&!t,isFixedPosition:t,controlHeight:g});p(n.maxHeight),m(n.placement),null==c||c(n.placement)}}),[r,o,a,s,i,c,g]),n({ref:u,placerProps:hg(hg({},t),{},{placement:A||Fy(o),maxHeight:d})})},Qy=function(e,t){var n=e.theme,i=n.spacing.baseUnit,r=n.colors;return hg({textAlign:"center"},t?{}:{color:r.neutral40,padding:"".concat(2*i,"px ").concat(3*i,"px")})},Wy=Qy,Gy=Qy,Yy=["size"],qy=["innerProps","isRtl","size"],Xy={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},Zy=function(e){var t=e.size,n=Ag(e,Yy);return Yv("svg",gg({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:Xy},n))},Jy=function(e){return Yv(Zy,gg({size:20},e),Yv("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},Ky=function(e){return Yv(Zy,gg({size:20},e),Yv("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},$y=function(e,t){var n=e.isFocused,i=e.theme,r=i.spacing.baseUnit,o=i.colors;return hg({label:"indicatorContainer",display:"flex",transition:"color 150ms"},t?{}:{color:n?o.neutral60:o.neutral20,padding:2*r,":hover":{color:n?o.neutral80:o.neutral40}})},eb=$y,tb=$y,nb=function(){var e=qv.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(By||(jy=["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"],Uy||(Uy=jy.slice(0)),By=Object.freeze(Object.defineProperties(jy,{raw:{value:Object.freeze(Uy)}})))),ib=function(e){var t=e.delay,n=e.offset;return Yv("span",{css:qv({animation:"".concat(nb," 1s ease-in-out ").concat(t,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":void 0,height:"1em",verticalAlign:"top",width:"1em"},"","")})},rb=["data"],ob=["innerRef","isDisabled","isHidden","inputClassName"],ab={gridArea:"1 / 2",font:"inherit",minWidth:"2px",border:0,margin:0,outline:0,padding:0},sb={flex:"1 1 auto",display:"inline-grid",gridArea:"1 / 1 / 2 / 3",gridTemplateColumns:"0 min-content","&:after":hg({content:'attr(data-value) " "',visibility:"hidden",whiteSpace:"pre"},ab)},lb=function(e){return hg({label:"input",color:"inherit",background:0,opacity:e?0:1,width:"100%"},ab)},cb=function(e){var t=e.children,n=e.innerProps;return Yv("div",n,t)},ub={ClearIndicator:function(e){var t=e.children,n=e.innerProps;return Yv("div",gg({},My(e,"clearIndicator",{indicator:!0,"clear-indicator":!0}),n),t||Yv(Jy,null))},Control:function(e){var t=e.children,n=e.isDisabled,i=e.isFocused,r=e.innerRef,o=e.innerProps,a=e.menuIsOpen;return Yv("div",gg({ref:r},My(e,"control",{control:!0,"control--is-disabled":n,"control--is-focused":i,"control--menu-is-open":a}),o,{"aria-disabled":n||void 0}),t)},DropdownIndicator:function(e){var t=e.children,n=e.innerProps;return Yv("div",gg({},My(e,"dropdownIndicator",{indicator:!0,"dropdown-indicator":!0}),n),t||Yv(Ky,null))},DownChevron:Ky,CrossIcon:Jy,Group:function(e){var t=e.children,n=e.cx,i=e.getStyles,r=e.getClassNames,o=e.Heading,a=e.headingProps,s=e.innerProps,l=e.label,c=e.theme,u=e.selectProps;return Yv("div",gg({},My(e,"group",{group:!0}),s),Yv(o,gg({},a,{selectProps:u,theme:c,getStyles:i,getClassNames:r,cx:n}),l),Yv("div",null,t))},GroupHeading:function(e){var t=xy(e);t.data;var n=Ag(t,rb);return Yv("div",gg({},My(e,"groupHeading",{"group-heading":!0}),n))},IndicatorsContainer:function(e){var t=e.children,n=e.innerProps;return Yv("div",gg({},My(e,"indicatorsContainer",{indicators:!0}),n),t)},IndicatorSeparator:function(e){var t=e.innerProps;return Yv("span",gg({},t,My(e,"indicatorSeparator",{"indicator-separator":!0})))},Input:function(e){var t=e.cx,n=e.value,i=xy(e),r=i.innerRef,o=i.isDisabled,a=i.isHidden,s=i.inputClassName,l=Ag(i,ob);return Yv("div",gg({},My(e,"input",{"input-container":!0}),{"data-value":n||""}),Yv("input",gg({className:t({input:!0},s),ref:r,style:lb(a),disabled:o},l)))},LoadingIndicator:function(e){var t=e.innerProps,n=e.isRtl,i=e.size,r=void 0===i?4:i,o=Ag(e,qy);return Yv("div",gg({},My(hg(hg({},o),{},{innerProps:t,isRtl:n,size:r}),"loadingIndicator",{indicator:!0,"loading-indicator":!0}),t),Yv(ib,{delay:0,offset:n}),Yv(ib,{delay:160,offset:!0}),Yv(ib,{delay:320,offset:!n}))},Menu:function(e){var t=e.children,n=e.innerRef,i=e.innerProps;return Yv("div",gg({},My(e,"menu",{menu:!0}),{ref:n},i),t)},MenuList:function(e){var t=e.children,n=e.innerProps,i=e.innerRef,r=e.isMulti;return Yv("div",gg({},My(e,"menuList",{"menu-list":!0,"menu-list--is-multi":r}),{ref:i},n),t)},MenuPortal:function(t){var n=t.appendTo,i=t.children,r=t.controlElement,o=t.innerProps,a=t.menuPlacement,s=t.menuPosition,l=(0,e.useRef)(null),c=(0,e.useRef)(null),u=fg((0,e.useState)(Fy(a)),2),h=u[0],d=u[1],p=(0,e.useMemo)((function(){return{setPortalPlacement:d}}),[]),f=fg((0,e.useState)(null),2),A=f[0],m=f[1],g=(0,e.useCallback)((function(){if(r){var e=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(r),t="fixed"===s?0:window.pageYOffset,n=e[h]+t;n===(null==A?void 0:A.offset)&&e.left===(null==A?void 0:A.rect.left)&&e.width===(null==A?void 0:A.rect.width)||m({offset:n,rect:e})}}),[r,s,h,null==A?void 0:A.offset,null==A?void 0:A.rect.left,null==A?void 0:A.rect.width]);my((function(){g()}),[g]);var v=(0,e.useCallback)((function(){"function"==typeof c.current&&(c.current(),c.current=null),r&&l.current&&(c.current=function(e,t,n,i){void 0===i&&(i={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:l=!1}=i,c=hy(e),u=r||o?[...c?uy(c):[],...uy(t)]:[];u.forEach((e=>{r&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)}));const h=c&&s?function(e,t){let n,i=null;const r=ny(e);function o(){clearTimeout(n),i&&i.disconnect(),i=null}return function a(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),o();const{left:c,top:u,width:h,height:d}=e.getBoundingClientRect();if(s||t(),!h||!d)return;const p={rootMargin:-Kv(u)+"px "+-Kv(r.clientWidth-(c+h))+"px "+-Kv(r.clientHeight-(u+d))+"px "+-Kv(c)+"px",threshold:Zv(0,Xv(1,l))||1};let f=!0;function A(e){const t=e[0].intersectionRatio;if(t!==l){if(!f)return a();t?a(!1,t):n=setTimeout((()=>{a(!1,1e-7)}),100)}f=!1}try{i=new IntersectionObserver(A,{...p,root:r.ownerDocument})}catch(e){i=new IntersectionObserver(A,p)}i.observe(e)}(!0),o}(c,n):null;let d,p=-1,f=null;a&&(f=new ResizeObserver((e=>{let[i]=e;i&&i.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame((()=>{f&&f.observe(t)}))),n()})),c&&!l&&f.observe(c),f.observe(t));let A=l?Ay(e):null;return l&&function t(){const i=Ay(e);!A||i.x===A.x&&i.y===A.y&&i.width===A.width&&i.height===A.height||n(),A=i,d=requestAnimationFrame(t)}(),n(),()=>{u.forEach((e=>{r&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)})),h&&h(),f&&f.disconnect(),f=null,l&&cancelAnimationFrame(d)}}(r,l.current,g,{elementResize:"ResizeObserver"in window}))}),[r,g]);my((function(){v()}),[v]);var y=(0,e.useCallback)((function(e){l.current=e,v()}),[v]);if(!n&&"fixed"!==s||!A)return null;var b=Yv("div",gg({ref:y},My(hg(hg({},t),{},{offset:A.offset,position:s,rect:A.rect}),"menuPortal",{"menu-portal":!0}),o),i);return Yv(Vy.Provider,{value:p},n?(0,Bi.createPortal)(b,n):b)},LoadingMessage:function(e){var t=e.children,n=void 0===t?"Loading...":t,i=e.innerProps,r=Ag(e,_y);return Yv("div",gg({},My(hg(hg({},r),{},{children:n,innerProps:i}),"loadingMessage",{"menu-notice":!0,"menu-notice--loading":!0}),i),n)},NoOptionsMessage:function(e){var t=e.children,n=void 0===t?"No options":t,i=e.innerProps,r=Ag(e,zy);return Yv("div",gg({},My(hg(hg({},r),{},{children:n,innerProps:i}),"noOptionsMessage",{"menu-notice":!0,"menu-notice--no-options":!0}),i),n)},MultiValue:function(e){var t=e.children,n=e.components,i=e.data,r=e.innerProps,o=e.isDisabled,a=e.removeProps,s=e.selectProps,l=n.Container,c=n.Label,u=n.Remove;return Yv(l,{data:i,innerProps:hg(hg({},My(e,"multiValue",{"multi-value":!0,"multi-value--is-disabled":o})),r),selectProps:s},Yv(c,{data:i,innerProps:hg({},My(e,"multiValueLabel",{"multi-value__label":!0})),selectProps:s},t),Yv(u,{data:i,innerProps:hg(hg({},My(e,"multiValueRemove",{"multi-value__remove":!0})),{},{"aria-label":"Remove ".concat(t||"option")},a),selectProps:s}))},MultiValueContainer:cb,MultiValueLabel:cb,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return Yv("div",gg({role:"button"},n),t||Yv(Jy,{size:14}))},Option:function(e){var t=e.children,n=e.isDisabled,i=e.isFocused,r=e.isSelected,o=e.innerRef,a=e.innerProps;return Yv("div",gg({},My(e,"option",{option:!0,"option--is-disabled":n,"option--is-focused":i,"option--is-selected":r}),{ref:o,"aria-disabled":n},a),t)},Placeholder:function(e){var t=e.children,n=e.innerProps;return Yv("div",gg({},My(e,"placeholder",{placeholder:!0}),n),t)},SelectContainer:function(e){var t=e.children,n=e.innerProps,i=e.isDisabled,r=e.isRtl;return Yv("div",gg({},My(e,"container",{"--is-disabled":i,"--is-rtl":r}),n),t)},SingleValue:function(e){var t=e.children,n=e.isDisabled,i=e.innerProps;return Yv("div",gg({},My(e,"singleValue",{"single-value":!0,"single-value--is-disabled":n}),i),t)},ValueContainer:function(e){var t=e.children,n=e.innerProps,i=e.isMulti,r=e.hasValue;return Yv("div",gg({},My(e,"valueContainer",{"value-container":!0,"value-container--is-multi":i,"value-container--has-value":r}),n),t)}},hb=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function db(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!((i=e[n])===(r=t[n])||hb(i)&&hb(r)))return!1;var i,r;return!0}for(var pb={name:"7pg0cj-a11yText",styles:"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"},fb=function(e){return Yv("span",gg({css:pb},e))},Ab={guidance:function(e){var t=e.isSearchable,n=e.isMulti,i=e.tabSelectsValue,r=e.context,o=e.isInitialFocus;switch(r){case"menu":return"Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu".concat(i?", press Tab to select the option and exit the menu":"",".");case"input":return o?"".concat(e["aria-label"]||"Select"," is focused ").concat(t?",type to refine list":"",", press Down to open the menu, ").concat(n?" press left to focus selected values":""):"";case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value";default:return""}},onChange:function(e){var t=e.action,n=e.label,i=void 0===n?"":n,r=e.labels,o=e.isDisabled;switch(t){case"deselect-option":case"pop-value":case"remove-value":return"option ".concat(i,", deselected.");case"clear":return"All selected options have been cleared.";case"initial-input-focus":return"option".concat(r.length>1?"s":""," ").concat(r.join(","),", selected.");case"select-option":return"option ".concat(i,o?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t=e.context,n=e.focused,i=e.options,r=e.label,o=void 0===r?"":r,a=e.selectValue,s=e.isDisabled,l=e.isSelected,c=e.isAppleDevice,u=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};if("value"===t&&a)return"value ".concat(o," focused, ").concat(u(a,n),".");if("menu"===t&&c){var h=s?" disabled":"",d="".concat(l?" selected":"").concat(h);return"".concat(o).concat(d,", ").concat(u(i,n),".")}return""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},mb=function(t){var n=t.ariaSelection,i=t.focusedOption,r=t.focusedValue,o=t.focusableOptions,a=t.isFocused,s=t.selectValue,l=t.selectProps,c=t.id,u=t.isAppleDevice,h=l.ariaLiveMessages,d=l.getOptionLabel,p=l.inputValue,f=l.isMulti,A=l.isOptionDisabled,m=l.isSearchable,g=l.menuIsOpen,v=l.options,y=l.screenReaderStatus,b=l.tabSelectsValue,w=l.isLoading,x=l["aria-label"],M=l["aria-live"],E=(0,e.useMemo)((function(){return hg(hg({},Ab),h||{})}),[h]),S=(0,e.useMemo)((function(){var e,t="";if(n&&E.onChange){var i=n.option,r=n.options,o=n.removedValue,a=n.removedValues,l=n.value,c=o||i||(e=l,Array.isArray(e)?null:e),u=c?d(c):"",h=r||a||void 0,p=h?h.map(d):[],f=hg({isDisabled:c&&A(c,s),label:u,labels:p},n);t=E.onChange(f)}return t}),[n,E,A,s,d]),T=(0,e.useMemo)((function(){var e="",t=i||r,n=!!(i&&s&&s.includes(i));if(t&&E.onFocus){var a={focused:t,label:d(t),isDisabled:A(t,s),isSelected:n,options:o,context:t===i?"menu":"value",selectValue:s,isAppleDevice:u};e=E.onFocus(a)}return e}),[i,r,d,A,E,o,s,u]),C=(0,e.useMemo)((function(){var e="";if(g&&v.length&&!w&&E.onFilter){var t=y({count:o.length});e=E.onFilter({inputValue:p,resultsMessage:t})}return e}),[o,p,g,E,v,y,w]),I="initial-input-focus"===(null==n?void 0:n.action),L=(0,e.useMemo)((function(){var e="";if(E.guidance){var t=r?"value":g?"menu":"input";e=E.guidance({"aria-label":x,context:t,isDisabled:i&&A(i,s),isMulti:f,isSearchable:m,tabSelectsValue:b,isInitialFocus:I})}return e}),[x,i,r,f,A,m,g,E,s,b,I]),D=Yv(e.Fragment,null,Yv("span",{id:"aria-selection"},S),Yv("span",{id:"aria-focused"},T),Yv("span",{id:"aria-results"},C),Yv("span",{id:"aria-guidance"},L));return Yv(e.Fragment,null,Yv(fb,{id:c},I&&D),Yv(fb,{"aria-live":M,"aria-atomic":"false","aria-relevant":"additions text",role:"log"},a&&!I&&D))},gb=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],vb=new RegExp("["+gb.map((function(e){return e.letters})).join("")+"]","g"),yb={},bb=0;bb<gb.length;bb++)for(var wb=gb[bb],xb=0;xb<wb.letters.length;xb++)yb[wb.letters[xb]]=wb.base;var Mb=function(e){return e.replace(vb,(function(e){return yb[e]}))},Eb=function(e,t){void 0===t&&(t=db);var n=null;function i(){for(var i=[],r=0;r<arguments.length;r++)i[r]=arguments[r];if(n&&n.lastThis===this&&t(i,n.lastArgs))return n.lastResult;var o=e.apply(this,i);return n={lastResult:o,lastArgs:i,lastThis:this},o}return i.clear=function(){n=null},i}(Mb),Sb=function(e){return e.replace(/^\s+|\s+$/g,"")},Tb=function(e){return"".concat(e.label," ").concat(e.value)},Cb=["innerRef"];function Ib(e){var t=e.innerRef,n=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var r=Object.entries(e).filter((function(e){var t=fg(e,1)[0];return!n.includes(t)}));return r.reduce((function(e,t){var n=fg(t,2),i=n[0],r=n[1];return e[i]=r,e}),{})}(Ag(e,Cb),"onExited","in","enter","exit","appear");return Yv("input",gg({ref:t},n,{css:qv({label:"dummyInput",background:0,border:0,caretColor:"transparent",fontSize:"inherit",gridArea:"1 / 1 / 2 / 3",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(.01)"},"","")}))}var Lb=["boxSizing","height","overflow","paddingRight","position"],Db={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function Ob(e){e.preventDefault()}function Nb(e){e.stopPropagation()}function Pb(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function kb(){return"ontouchstart"in window||navigator.maxTouchPoints}var Rb=!("undefined"==typeof window||!window.document||!window.document.createElement),zb=0,_b={capture:!1,passive:!1},Bb=function(e){var t=e.target;return t.ownerDocument.activeElement&&t.ownerDocument.activeElement.blur()},jb={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function Ub(t){var n=t.children,i=t.lockEnabled,r=t.captureEnabled,o=function(t){var n=t.isEnabled,i=t.onBottomArrive,r=t.onBottomLeave,o=t.onTopArrive,a=t.onTopLeave,s=(0,e.useRef)(!1),l=(0,e.useRef)(!1),c=(0,e.useRef)(0),u=(0,e.useRef)(null),h=(0,e.useCallback)((function(e,t){if(null!==u.current){var n=u.current,c=n.scrollTop,h=n.scrollHeight,d=n.clientHeight,p=u.current,f=t>0,A=h-d-c,m=!1;A>t&&s.current&&(r&&r(e),s.current=!1),f&&l.current&&(a&&a(e),l.current=!1),f&&t>A?(i&&!s.current&&i(e),p.scrollTop=h,m=!0,s.current=!0):!f&&-t>c&&(o&&!l.current&&o(e),p.scrollTop=0,m=!0,l.current=!0),m&&function(e){e.cancelable&&e.preventDefault(),e.stopPropagation()}(e)}}),[i,r,o,a]),d=(0,e.useCallback)((function(e){h(e,e.deltaY)}),[h]),p=(0,e.useCallback)((function(e){c.current=e.changedTouches[0].clientY}),[]),f=(0,e.useCallback)((function(e){var t=c.current-e.changedTouches[0].clientY;h(e,t)}),[h]),A=(0,e.useCallback)((function(e){if(e){var t=!!Py&&{passive:!1};e.addEventListener("wheel",d,t),e.addEventListener("touchstart",p,t),e.addEventListener("touchmove",f,t)}}),[f,p,d]),m=(0,e.useCallback)((function(e){e&&(e.removeEventListener("wheel",d,!1),e.removeEventListener("touchstart",p,!1),e.removeEventListener("touchmove",f,!1))}),[f,p,d]);return(0,e.useEffect)((function(){if(n){var e=u.current;return A(e),function(){m(e)}}}),[n,A,m]),function(e){u.current=e}}({isEnabled:void 0===r||r,onBottomArrive:t.onBottomArrive,onBottomLeave:t.onBottomLeave,onTopArrive:t.onTopArrive,onTopLeave:t.onTopLeave}),a=function(t){var n=t.isEnabled,i=t.accountForScrollbars,r=void 0===i||i,o=(0,e.useRef)({}),a=(0,e.useRef)(null),s=(0,e.useCallback)((function(e){if(Rb){var t=document.body,n=t&&t.style;if(r&&Lb.forEach((function(e){var t=n&&n[e];o.current[e]=t})),r&&zb<1){var i=parseInt(o.current.paddingRight,10)||0,a=document.body?document.body.clientWidth:0,s=window.innerWidth-a+i||0;Object.keys(Db).forEach((function(e){var t=Db[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(s,"px"))}t&&kb()&&(t.addEventListener("touchmove",Ob,_b),e&&(e.addEventListener("touchstart",Pb,_b),e.addEventListener("touchmove",Nb,_b))),zb+=1}}),[r]),l=(0,e.useCallback)((function(e){if(Rb){var t=document.body,n=t&&t.style;zb=Math.max(zb-1,0),r&&zb<1&&Lb.forEach((function(e){var t=o.current[e];n&&(n[e]=t)})),t&&kb()&&(t.removeEventListener("touchmove",Ob,_b),e&&(e.removeEventListener("touchstart",Pb,_b),e.removeEventListener("touchmove",Nb,_b)))}}),[r]);return(0,e.useEffect)((function(){if(n){var e=a.current;return s(e),function(){l(e)}}}),[n,s,l]),function(e){a.current=e}}({isEnabled:i});return Yv(e.Fragment,null,i&&Yv("div",{onClick:Bb,css:jb}),n((function(e){o(e),a(e)})))}var Fb={name:"1a0ro4n-requiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%"},Vb=function(e){var t=e.name,n=e.onFocus;return Yv("input",{required:!0,name:t,tabIndex:-1,"aria-hidden":"true",onFocus:n,css:Fb,value:"",onChange:function(){}})};function Hb(e){var t;return"undefined"!=typeof window&&null!=window.navigator&&e.test((null===(t=window.navigator.userAgentData)||void 0===t?void 0:t.platform)||window.navigator.platform)}function Qb(){return Hb(/^Mac/i)}var Wb={clearIndicator:tb,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":void 0,pointerEvents:t?"none":void 0,position:"relative"}},control:function(e,t){var n=e.isDisabled,i=e.isFocused,r=e.theme,o=r.colors,a=r.borderRadius;return hg({label:"control",alignItems:"center",cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:r.spacing.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms"},t?{}:{backgroundColor:n?o.neutral5:o.neutral0,borderColor:n?o.neutral10:i?o.primary:o.neutral20,borderRadius:a,borderStyle:"solid",borderWidth:1,boxShadow:i?"0 0 0 1px ".concat(o.primary):void 0,"&:hover":{borderColor:i?o.primary:o.neutral30}})},dropdownIndicator:eb,group:function(e,t){var n=e.theme.spacing;return t?{}:{paddingBottom:2*n.baseUnit,paddingTop:2*n.baseUnit}},groupHeading:function(e,t){var n=e.theme,i=n.colors,r=n.spacing;return hg({label:"group",cursor:"default",display:"block"},t?{}:{color:i.neutral40,fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:3*r.baseUnit,paddingRight:3*r.baseUnit,textTransform:"uppercase"})},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e,t){var n=e.isDisabled,i=e.theme,r=i.spacing.baseUnit,o=i.colors;return hg({label:"indicatorSeparator",alignSelf:"stretch",width:1},t?{}:{backgroundColor:n?o.neutral10:o.neutral20,marginBottom:2*r,marginTop:2*r})},input:function(e,t){var n=e.isDisabled,i=e.value,r=e.theme,o=r.spacing,a=r.colors;return hg(hg({visibility:n?"hidden":"visible",transform:i?"translateZ(0)":""},sb),t?{}:{margin:o.baseUnit/2,paddingBottom:o.baseUnit/2,paddingTop:o.baseUnit/2,color:a.neutral80})},loadingIndicator:function(e,t){var n=e.isFocused,i=e.size,r=e.theme,o=r.colors,a=r.spacing.baseUnit;return hg({label:"loadingIndicator",display:"flex",transition:"color 150ms",alignSelf:"center",fontSize:i,lineHeight:1,marginRight:i,textAlign:"center",verticalAlign:"middle"},t?{}:{color:n?o.neutral60:o.neutral20,padding:2*a})},loadingMessage:Gy,menu:function(e,t){var n,i=e.placement,r=e.theme,o=r.borderRadius,a=r.spacing,s=r.colors;return hg((cg(n={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(i),"100%"),cg(n,"position","absolute"),cg(n,"width","100%"),cg(n,"zIndex",1),n),t?{}:{backgroundColor:s.neutral0,borderRadius:o,boxShadow:"0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",marginBottom:a.menuGutter,marginTop:a.menuGutter})},menuList:function(e,t){var n=e.maxHeight,i=e.theme.spacing.baseUnit;return hg({maxHeight:n,overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},t?{}:{paddingBottom:i,paddingTop:i})},menuPortal:function(e){var t=e.rect,n=e.offset,i=e.position;return{left:t.left,position:i,top:n,width:t.width,zIndex:1}},multiValue:function(e,t){var n=e.theme,i=n.spacing,r=n.borderRadius,o=n.colors;return hg({label:"multiValue",display:"flex",minWidth:0},t?{}:{backgroundColor:o.neutral10,borderRadius:r/2,margin:i.baseUnit/2})},multiValueLabel:function(e,t){var n=e.theme,i=n.borderRadius,r=n.colors,o=e.cropWithEllipsis;return hg({overflow:"hidden",textOverflow:o||void 0===o?"ellipsis":void 0,whiteSpace:"nowrap"},t?{}:{borderRadius:i/2,color:r.neutral80,fontSize:"85%",padding:3,paddingLeft:6})},multiValueRemove:function(e,t){var n=e.theme,i=n.spacing,r=n.borderRadius,o=n.colors,a=e.isFocused;return hg({alignItems:"center",display:"flex"},t?{}:{borderRadius:r/2,backgroundColor:a?o.dangerLight:void 0,paddingLeft:i.baseUnit,paddingRight:i.baseUnit,":hover":{backgroundColor:o.dangerLight,color:o.danger}})},noOptionsMessage:Wy,option:function(e,t){var n=e.isDisabled,i=e.isFocused,r=e.isSelected,o=e.theme,a=o.spacing,s=o.colors;return hg({label:"option",cursor:"default",display:"block",fontSize:"inherit",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)"},t?{}:{backgroundColor:r?s.primary:i?s.primary25:"transparent",color:n?s.neutral20:r?s.neutral0:"inherit",padding:"".concat(2*a.baseUnit,"px ").concat(3*a.baseUnit,"px"),":active":{backgroundColor:n?void 0:r?s.primary:s.primary50}})},placeholder:function(e,t){var n=e.theme,i=n.spacing,r=n.colors;return hg({label:"placeholder",gridArea:"1 / 1 / 2 / 3"},t?{}:{color:r.neutral50,marginLeft:i.baseUnit/2,marginRight:i.baseUnit/2})},singleValue:function(e,t){var n=e.isDisabled,i=e.theme,r=i.spacing,o=i.colors;return hg({label:"singleValue",gridArea:"1 / 1 / 2 / 3",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t?{}:{color:n?o.neutral40:o.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2})},valueContainer:function(e,t){var n=e.theme.spacing,i=e.isMulti,r=e.hasValue,o=e.selectProps.controlShouldRenderValue;return hg({alignItems:"center",display:i&&r&&o?"flex":"grid",flex:1,flexWrap:"wrap",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"},t?{}:{padding:"".concat(n.baseUnit/2,"px ").concat(2*n.baseUnit,"px")})}},Gb={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},Yb={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:Ly(),captureMenuScroll:!Ly(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){if(e.data.__isNew__)return!0;var n=hg({ignoreCase:!0,ignoreAccents:!0,stringify:Tb,trim:!0,matchFrom:"any"},undefined),i=n.ignoreCase,r=n.ignoreAccents,o=n.stringify,a=n.trim,s=n.matchFrom,l=a?Sb(t):t,c=a?Sb(o(e)):o(e);return i&&(l=l.toLowerCase(),c=c.toLowerCase()),r&&(l=Eb(l),c=Mb(c)),"start"===s?c.substr(0,l.length)===l:c.indexOf(l)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1};function qb(e,t,n,i){return{type:"option",data:t,isDisabled:nw(e,t,n),isSelected:iw(e,t,n),label:ew(e,t),value:tw(e,t),index:i}}function Xb(e,t){return e.options.map((function(n,i){if("options"in n){var r=n.options.map((function(n,i){return qb(e,n,t,i)})).filter((function(t){return Kb(e,t)}));return r.length>0?{type:"group",data:n,options:r,index:i}:void 0}var o=qb(e,n,t,i);return Kb(e,o)?o:void 0})).filter(ky)}function Zb(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,xg(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Jb(e,t){return e.reduce((function(e,n){return"group"===n.type?e.push.apply(e,xg(n.options.map((function(e){return{data:e.data,id:"".concat(t,"-").concat(n.index,"-").concat(e.index)}})))):e.push({data:n.data,id:"".concat(t,"-").concat(n.index)}),e}),[])}function Kb(e,t){var n=e.inputValue,i=void 0===n?"":n,r=t.data,o=t.isSelected,a=t.label,s=t.value;return(!ow(e)||!o)&&rw(e,{label:a,value:s,data:r},i)}var $b=function(e,t){var n;return(null===(n=e.find((function(e){return e.data===t})))||void 0===n?void 0:n.id)||null},ew=function(e,t){return e.getOptionLabel(t)},tw=function(e,t){return e.getOptionValue(t)};function nw(e,t,n){return"function"==typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function iw(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"==typeof e.isOptionSelected)return e.isOptionSelected(t,n);var i=tw(e,t);return n.some((function(t){return tw(e,t)===i}))}function rw(e,t,n){return!e.filterOption||e.filterOption(t,n)}var ow=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},aw=1,sw=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&yg(e,t)}(a,t);var n,i,r,o=wg(a);function a(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=o.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedOptionId:null,focusableOptionsWithIds:[],focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0,instancePrefix:""},t.blockOptionHover=!1,t.isComposing=!1,t.commonProps=void 0,t.initialTouchX=0,t.initialTouchY=0,t.openAfterFocus=!1,t.scrollToFocusedOptionOnUpdate=!1,t.userIsDragging=void 0,t.isAppleDevice=Qb()||Hb(/^iPhone/i)||Hb(/^iPad/i)||Qb()&&navigator.maxTouchPoints>1,t.controlRef=null,t.getControlRef=function(e){t.controlRef=e},t.focusedOptionRef=null,t.getFocusedOptionRef=function(e){t.focusedOptionRef=e},t.menuListRef=null,t.getMenuListRef=function(e){t.menuListRef=e},t.inputRef=null,t.getInputRef=function(e){t.inputRef=e},t.focus=t.focusInput,t.blur=t.blurInput,t.onChange=function(e,n){var i=t.props,r=i.onChange,o=i.name;n.name=o,t.ariaOnChange(e,n),r(e,n)},t.setValue=function(e,n,i){var r=t.props,o=r.closeMenuOnSelect,a=r.isMulti,s=r.inputValue;t.onInputChange("",{action:"set-value",prevInputValue:s}),o&&(t.setState({inputIsHiddenAfterUpdate:!a}),t.onMenuClose()),t.setState({clearFocusValueOnUpdate:!0}),t.onChange(e,{action:n,option:i})},t.selectOption=function(e){var n=t.props,i=n.blurInputOnSelect,r=n.isMulti,o=n.name,a=t.state.selectValue,s=r&&t.isOptionSelected(e,a),l=t.isOptionDisabled(e,a);if(s){var c=t.getOptionValue(e);t.setValue(a.filter((function(e){return t.getOptionValue(e)!==c})),"deselect-option",e)}else{if(l)return void t.ariaOnChange(e,{action:"select-option",option:e,name:o});r?t.setValue([].concat(xg(a),[e]),"select-option",e):t.setValue(e,"select-option")}i&&t.blurInput()},t.removeValue=function(e){var n=t.props.isMulti,i=t.state.selectValue,r=t.getOptionValue(e),o=i.filter((function(e){return t.getOptionValue(e)!==r})),a=Ry(n,o,o[0]||null);t.onChange(a,{action:"remove-value",removedValue:e}),t.focusInput()},t.clearValue=function(){var e=t.state.selectValue;t.onChange(Ry(t.props.isMulti,[],null),{action:"clear",removedValues:e})},t.popValue=function(){var e=t.props.isMulti,n=t.state.selectValue,i=n[n.length-1],r=n.slice(0,n.length-1),o=Ry(e,r,r[0]||null);t.onChange(o,{action:"pop-value",removedValue:i})},t.getFocusedOptionId=function(e){return $b(t.state.focusableOptionsWithIds,e)},t.getFocusableOptionsWithIds=function(){return Jb(Xb(t.props,t.state.selectValue),t.getElementId("option"))},t.getValue=function(){return t.state.selectValue},t.cx=function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return by.apply(void 0,[t.props.classNamePrefix].concat(n))},t.getOptionLabel=function(e){return ew(t.props,e)},t.getOptionValue=function(e){return tw(t.props,e)},t.getStyles=function(e,n){var i=t.props.unstyled,r=Wb[e](n,i);r.boxSizing="border-box";var o=t.props.styles[e];return o?o(r,n):r},t.getClassNames=function(e,n){var i,r;return null===(i=(r=t.props.classNames)[e])||void 0===i?void 0:i.call(r,n)},t.getElementId=function(e){return"".concat(t.state.instancePrefix,"-").concat(e)},t.getComponents=function(){return e=t.props,hg(hg({},ub),e.components);var e},t.buildCategorizedOptions=function(){return Xb(t.props,t.state.selectValue)},t.getCategorizedOptions=function(){return t.props.menuIsOpen?t.buildCategorizedOptions():[]},t.buildFocusableOptions=function(){return Zb(t.buildCategorizedOptions())},t.getFocusableOptions=function(){return t.props.menuIsOpen?t.buildFocusableOptions():[]},t.ariaOnChange=function(e,n){t.setState({ariaSelection:hg({value:e},n)})},t.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),t.focusInput())},t.onMenuMouseMove=function(e){t.blockOptionHover=!1},t.onControlMouseDown=function(e){if(!e.defaultPrevented){var n=t.props.openMenuOnClick;t.state.isFocused?t.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&t.onMenuClose():n&&t.openMenu("first"):(n&&(t.openAfterFocus=!0),t.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()}},t.onDropdownIndicatorMouseDown=function(e){if(!(e&&"mousedown"===e.type&&0!==e.button||t.props.isDisabled)){var n=t.props,i=n.isMulti,r=n.menuIsOpen;t.focusInput(),r?(t.setState({inputIsHiddenAfterUpdate:!i}),t.onMenuClose()):t.openMenu("first"),e.preventDefault()}},t.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(t.clearValue(),e.preventDefault(),t.openAfterFocus=!1,"touchend"===e.type?t.focusInput():setTimeout((function(){return t.focusInput()})))},t.onScroll=function(e){"boolean"==typeof t.props.closeMenuOnScroll?e.target instanceof HTMLElement&&Ey(e.target)&&t.props.onMenuClose():"function"==typeof t.props.closeMenuOnScroll&&t.props.closeMenuOnScroll(e)&&t.props.onMenuClose()},t.onCompositionStart=function(){t.isComposing=!0},t.onCompositionEnd=function(){t.isComposing=!1},t.onTouchStart=function(e){var n=e.touches,i=n&&n.item(0);i&&(t.initialTouchX=i.clientX,t.initialTouchY=i.clientY,t.userIsDragging=!1)},t.onTouchMove=function(e){var n=e.touches,i=n&&n.item(0);if(i){var r=Math.abs(i.clientX-t.initialTouchX),o=Math.abs(i.clientY-t.initialTouchY);t.userIsDragging=r>5||o>5}},t.onTouchEnd=function(e){t.userIsDragging||(t.controlRef&&!t.controlRef.contains(e.target)&&t.menuListRef&&!t.menuListRef.contains(e.target)&&t.blurInput(),t.initialTouchX=0,t.initialTouchY=0)},t.onControlTouchEnd=function(e){t.userIsDragging||t.onControlMouseDown(e)},t.onClearIndicatorTouchEnd=function(e){t.userIsDragging||t.onClearIndicatorMouseDown(e)},t.onDropdownIndicatorTouchEnd=function(e){t.userIsDragging||t.onDropdownIndicatorMouseDown(e)},t.handleInputChange=function(e){var n=t.props.inputValue,i=e.currentTarget.value;t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange(i,{action:"input-change",prevInputValue:n}),t.props.menuIsOpen||t.onMenuOpen()},t.onInputFocus=function(e){t.props.onFocus&&t.props.onFocus(e),t.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(t.openAfterFocus||t.props.openMenuOnFocus)&&t.openMenu("first"),t.openAfterFocus=!1},t.onInputBlur=function(e){var n=t.props.inputValue;t.menuListRef&&t.menuListRef.contains(document.activeElement)?t.inputRef.focus():(t.props.onBlur&&t.props.onBlur(e),t.onInputChange("",{action:"input-blur",prevInputValue:n}),t.onMenuClose(),t.setState({focusedValue:null,isFocused:!1}))},t.onOptionHover=function(e){if(!t.blockOptionHover&&t.state.focusedOption!==e){var n=t.getFocusableOptions().indexOf(e);t.setState({focusedOption:e,focusedOptionId:n>-1?t.getFocusedOptionId(e):null})}},t.shouldHideSelectedOptions=function(){return ow(t.props)},t.onValueInputFocus=function(e){e.preventDefault(),e.stopPropagation(),t.focus()},t.onKeyDown=function(e){var n=t.props,i=n.isMulti,r=n.backspaceRemovesValue,o=n.escapeClearsValue,a=n.inputValue,s=n.isClearable,l=n.isDisabled,c=n.menuIsOpen,u=n.onKeyDown,h=n.tabSelectsValue,d=n.openMenuOnFocus,p=t.state,f=p.focusedOption,A=p.focusedValue,m=p.selectValue;if(!(l||"function"==typeof u&&(u(e),e.defaultPrevented))){switch(t.blockOptionHover=!0,e.key){case"ArrowLeft":if(!i||a)return;t.focusValue("previous");break;case"ArrowRight":if(!i||a)return;t.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(A)t.removeValue(A);else{if(!r)return;i?t.popValue():s&&t.clearValue()}break;case"Tab":if(t.isComposing)return;if(e.shiftKey||!c||!h||!f||d&&t.isOptionSelected(f,m))return;t.selectOption(f);break;case"Enter":if(229===e.keyCode)break;if(c){if(!f)return;if(t.isComposing)return;t.selectOption(f);break}return;case"Escape":c?(t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange("",{action:"menu-close",prevInputValue:a}),t.onMenuClose()):s&&o&&t.clearValue();break;case" ":if(a)return;if(!c){t.openMenu("first");break}if(!f)return;t.selectOption(f);break;case"ArrowUp":c?t.focusOption("up"):t.openMenu("last");break;case"ArrowDown":c?t.focusOption("down"):t.openMenu("first");break;case"PageUp":if(!c)return;t.focusOption("pageup");break;case"PageDown":if(!c)return;t.focusOption("pagedown");break;case"Home":if(!c)return;t.focusOption("first");break;case"End":if(!c)return;t.focusOption("last");break;default:return}e.preventDefault()}},t.state.instancePrefix="react-select-"+(t.props.instanceId||++aw),t.state.selectValue=wy(e.value),e.menuIsOpen&&t.state.selectValue.length){var n=t.getFocusableOptionsWithIds(),i=t.buildFocusableOptions(),r=i.indexOf(t.state.selectValue[0]);t.state.focusableOptionsWithIds=n,t.state.focusedOption=i[r],t.state.focusedOptionId=$b(n,i[r])}return t}return n=a,i=[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&Iy(this.menuListRef,this.focusedOptionRef)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.isDisabled,i=t.menuIsOpen,r=this.state.isFocused;(r&&!n&&e.isDisabled||r&&i&&!e.menuIsOpen)&&this.focusInput(),r&&n&&!e.isDisabled?this.setState({isFocused:!1},this.onMenuClose):r||n||!e.isDisabled||this.inputRef!==document.activeElement||this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(Iy(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t=this,n=this.state,i=n.selectValue,r=n.isFocused,o=this.buildFocusableOptions(),a="first"===e?0:o.length-1;if(!this.props.isMulti){var s=o.indexOf(i[0]);s>-1&&(a=s)}this.scrollToFocusedOptionOnUpdate=!(r&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:o[a],focusedOptionId:this.getFocusedOptionId(o[a])},(function(){return t.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t=this.state,n=t.selectValue,i=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var r=n.indexOf(i);i||(r=-1);var o=n.length-1,a=-1;if(n.length){switch(e){case"previous":a=0===r?0:-1===r?o:r-1;break;case"next":r>-1&&r<o&&(a=r+1)}this.setState({inputIsHidden:-1!==a,focusedValue:n[a]})}}}},{key:"focusOption",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state.focusedOption,i=this.getFocusableOptions();if(i.length){var r=0,o=i.indexOf(n);n||(o=-1),"up"===e?r=o>0?o-1:i.length-1:"down"===e?r=(o+1)%i.length:"pageup"===e?(r=o-t)<0&&(r=0):"pagedown"===e?(r=o+t)>i.length-1&&(r=i.length-1):"last"===e&&(r=i.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:i[r],focusedValue:null,focusedOptionId:this.getFocusedOptionId(i[r])})}}},{key:"getTheme",value:function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(Gb):hg(hg({},Gb),this.props.theme):Gb}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,i=this.getClassNames,r=this.getValue,o=this.selectOption,a=this.setValue,s=this.props,l=s.isMulti,c=s.isRtl,u=s.options;return{clearValue:e,cx:t,getStyles:n,getClassNames:i,getValue:r,hasValue:this.hasValue(),isMulti:l,isRtl:c,options:u,selectOption:o,selectProps:s,setValue:a,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return nw(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return iw(this.props,e,t)}},{key:"filterOption",value:function(e,t){return rw(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,i=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:i})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var t=this.props,n=t.isDisabled,i=t.isSearchable,r=t.inputId,o=t.inputValue,a=t.tabIndex,s=t.form,l=t.menuIsOpen,c=t.required,u=this.getComponents().Input,h=this.state,d=h.inputIsHidden,p=h.ariaSelection,f=this.commonProps,A=r||this.getElementId("input"),m=hg(hg(hg({"aria-autocomplete":"list","aria-expanded":l,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-required":c,role:"combobox","aria-activedescendant":this.isAppleDevice?void 0:this.state.focusedOptionId||""},l&&{"aria-controls":this.getElementId("listbox")}),!i&&{"aria-readonly":!0}),this.hasValue()?"initial-input-focus"===(null==p?void 0:p.action)&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return i?e.createElement(u,gg({},f,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:A,innerRef:this.getInputRef,isDisabled:n,isHidden:d,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:a,form:s,type:"text",value:o},m)):e.createElement(Ib,gg({id:A,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:vy,onFocus:this.onInputFocus,disabled:n,tabIndex:a,inputMode:"none",form:s,value:""},m))}},{key:"renderPlaceholderOrValue",value:function(){var t=this,n=this.getComponents(),i=n.MultiValue,r=n.MultiValueContainer,o=n.MultiValueLabel,a=n.MultiValueRemove,s=n.SingleValue,l=n.Placeholder,c=this.commonProps,u=this.props,h=u.controlShouldRenderValue,d=u.isDisabled,p=u.isMulti,f=u.inputValue,A=u.placeholder,m=this.state,g=m.selectValue,v=m.focusedValue,y=m.isFocused;if(!this.hasValue()||!h)return f?null:e.createElement(l,gg({},c,{key:"placeholder",isDisabled:d,isFocused:y,innerProps:{id:this.getElementId("placeholder")}}),A);if(p)return g.map((function(n,s){var l=n===v,u="".concat(t.getOptionLabel(n),"-").concat(t.getOptionValue(n));return e.createElement(i,gg({},c,{components:{Container:r,Label:o,Remove:a},isFocused:l,isDisabled:d,key:u,index:s,removeProps:{onClick:function(){return t.removeValue(n)},onTouchEnd:function(){return t.removeValue(n)},onMouseDown:function(e){e.preventDefault()}},data:n}),t.formatOptionLabel(n,"value"))}));if(f)return null;var b=g[0];return e.createElement(s,gg({},c,{data:b,isDisabled:d}),this.formatOptionLabel(b,"value"))}},{key:"renderClearIndicator",value:function(){var t=this.getComponents().ClearIndicator,n=this.commonProps,i=this.props,r=i.isDisabled,o=i.isLoading,a=this.state.isFocused;if(!this.isClearable()||!t||r||!this.hasValue()||o)return null;var s={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return e.createElement(t,gg({},n,{innerProps:s,isFocused:a}))}},{key:"renderLoadingIndicator",value:function(){var t=this.getComponents().LoadingIndicator,n=this.commonProps,i=this.props,r=i.isDisabled,o=i.isLoading,a=this.state.isFocused;return t&&o?e.createElement(t,gg({},n,{innerProps:{"aria-hidden":"true"},isDisabled:r,isFocused:a})):null}},{key:"renderIndicatorSeparator",value:function(){var t=this.getComponents(),n=t.DropdownIndicator,i=t.IndicatorSeparator;if(!n||!i)return null;var r=this.commonProps,o=this.props.isDisabled,a=this.state.isFocused;return e.createElement(i,gg({},r,{isDisabled:o,isFocused:a}))}},{key:"renderDropdownIndicator",value:function(){var t=this.getComponents().DropdownIndicator;if(!t)return null;var n=this.commonProps,i=this.props.isDisabled,r=this.state.isFocused,o={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return e.createElement(t,gg({},n,{innerProps:o,isDisabled:i,isFocused:r}))}},{key:"renderMenu",value:function(){var t=this,n=this.getComponents(),i=n.Group,r=n.GroupHeading,o=n.Menu,a=n.MenuList,s=n.MenuPortal,l=n.LoadingMessage,c=n.NoOptionsMessage,u=n.Option,h=this.commonProps,d=this.state.focusedOption,p=this.props,f=p.captureMenuScroll,A=p.inputValue,m=p.isLoading,g=p.loadingMessage,v=p.minMenuHeight,y=p.maxMenuHeight,b=p.menuIsOpen,w=p.menuPlacement,x=p.menuPosition,M=p.menuPortalTarget,E=p.menuShouldBlockScroll,S=p.menuShouldScrollIntoView,T=p.noOptionsMessage,C=p.onMenuScrollToTop,I=p.onMenuScrollToBottom;if(!b)return null;var L,D=function(n,i){var r=n.type,o=n.data,a=n.isDisabled,s=n.isSelected,l=n.label,c=n.value,p=d===o,f=a?void 0:function(){return t.onOptionHover(o)},A=a?void 0:function(){return t.selectOption(o)},m="".concat(t.getElementId("option"),"-").concat(i),g={id:m,onClick:A,onMouseMove:f,onMouseOver:f,tabIndex:-1,role:"option","aria-selected":t.isAppleDevice?void 0:s};return e.createElement(u,gg({},h,{innerProps:g,data:o,isDisabled:a,isSelected:s,key:m,label:l,type:r,value:c,isFocused:p,innerRef:p?t.getFocusedOptionRef:void 0}),t.formatOptionLabel(n.data,"menu"))};if(this.hasOptions())L=this.getCategorizedOptions().map((function(n){if("group"===n.type){var o=n.data,a=n.options,s=n.index,l="".concat(t.getElementId("group"),"-").concat(s),c="".concat(l,"-heading");return e.createElement(i,gg({},h,{key:l,data:o,options:a,Heading:r,headingProps:{id:c,data:n.data},label:t.formatGroupLabel(n.data)}),n.options.map((function(e){return D(e,"".concat(s,"-").concat(e.index))})))}if("option"===n.type)return D(n,"".concat(n.index))}));else if(m){var O=g({inputValue:A});if(null===O)return null;L=e.createElement(l,h,O)}else{var N=T({inputValue:A});if(null===N)return null;L=e.createElement(c,h,N)}var P={minMenuHeight:v,maxMenuHeight:y,menuPlacement:w,menuPosition:x,menuShouldScrollIntoView:S},k=e.createElement(Hy,gg({},h,P),(function(n){var i=n.ref,r=n.placerProps,s=r.placement,l=r.maxHeight;return e.createElement(o,gg({},h,P,{innerRef:i,innerProps:{onMouseDown:t.onMenuMouseDown,onMouseMove:t.onMenuMouseMove},isLoading:m,placement:s}),e.createElement(Ub,{captureEnabled:f,onTopArrive:C,onBottomArrive:I,lockEnabled:E},(function(n){return e.createElement(a,gg({},h,{innerRef:function(e){t.getMenuListRef(e),n(e)},innerProps:{role:"listbox","aria-multiselectable":h.isMulti,id:t.getElementId("listbox")},isLoading:m,maxHeight:l,focusedOption:d}),L)})))}));return M||"fixed"===x?e.createElement(s,gg({},h,{appendTo:M,controlElement:this.controlRef,menuPlacement:w,menuPosition:x}),k):k}},{key:"renderFormField",value:function(){var t=this,n=this.props,i=n.delimiter,r=n.isDisabled,o=n.isMulti,a=n.name,s=n.required,l=this.state.selectValue;if(s&&!this.hasValue()&&!r)return e.createElement(Vb,{name:a,onFocus:this.onValueInputFocus});if(a&&!r){if(o){if(i){var c=l.map((function(e){return t.getOptionValue(e)})).join(i);return e.createElement("input",{name:a,type:"hidden",value:c})}var u=l.length>0?l.map((function(n,i){return e.createElement("input",{key:"i-".concat(i),name:a,type:"hidden",value:t.getOptionValue(n)})})):e.createElement("input",{name:a,type:"hidden",value:""});return e.createElement("div",null,u)}var h=l[0]?this.getOptionValue(l[0]):"";return e.createElement("input",{name:a,type:"hidden",value:h})}}},{key:"renderLiveRegion",value:function(){var t=this.commonProps,n=this.state,i=n.ariaSelection,r=n.focusedOption,o=n.focusedValue,a=n.isFocused,s=n.selectValue,l=this.getFocusableOptions();return e.createElement(mb,gg({},t,{id:this.getElementId("live-region"),ariaSelection:i,focusedOption:r,focusedValue:o,isFocused:a,selectValue:s,focusableOptions:l,isAppleDevice:this.isAppleDevice}))}},{key:"render",value:function(){var t=this.getComponents(),n=t.Control,i=t.IndicatorsContainer,r=t.SelectContainer,o=t.ValueContainer,a=this.props,s=a.className,l=a.id,c=a.isDisabled,u=a.menuIsOpen,h=this.state.isFocused,d=this.commonProps=this.getCommonProps();return e.createElement(r,gg({},d,{className:s,innerProps:{id:l,onKeyDown:this.onKeyDown},isDisabled:c,isFocused:h}),this.renderLiveRegion(),e.createElement(n,gg({},d,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:c,isFocused:h,menuIsOpen:u}),e.createElement(o,gg({},d,{isDisabled:c}),this.renderPlaceholderOrValue(),this.renderInput()),e.createElement(i,gg({},d,{isDisabled:c}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],r=[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,i=t.clearFocusValueOnUpdate,r=t.inputIsHiddenAfterUpdate,o=t.ariaSelection,a=t.isFocused,s=t.prevWasFocused,l=t.instancePrefix,c=e.options,u=e.value,h=e.menuIsOpen,d=e.inputValue,p=e.isMulti,f=wy(u),A={};if(n&&(u!==n.value||c!==n.options||h!==n.menuIsOpen||d!==n.inputValue)){var m=h?function(e,t){return Zb(Xb(e,t))}(e,f):[],g=h?Jb(Xb(e,f),"".concat(l,"-option")):[],v=i?function(e,t){var n=e.focusedValue,i=e.selectValue.indexOf(n);if(i>-1){if(t.indexOf(n)>-1)return n;if(i<t.length)return t[i]}return null}(t,f):null,y=function(e,t){var n=e.focusedOption;return n&&t.indexOf(n)>-1?n:t[0]}(t,m);A={selectValue:f,focusedOption:y,focusedOptionId:$b(g,y),focusableOptionsWithIds:g,focusedValue:v,clearFocusValueOnUpdate:!1}}var b=null!=r&&e!==n?{inputIsHidden:r,inputIsHiddenAfterUpdate:void 0}:{},w=o,x=a&&s;return a&&!x&&(w={value:Ry(p,f,f[0]||null),options:f,action:"initial-input-focus"},x=!s),"initial-input-focus"===(null==o?void 0:o.action)&&(w=null),hg(hg(hg({},A),b),{},{prevProps:e,ariaSelection:w,prevWasFocused:x})}}],i&&vg(n.prototype,i),r&&vg(n,r),Object.defineProperty(n,"prototype",{writable:!1}),a}(e.Component);sw.defaultProps=Yb;var lw=(0,e.forwardRef)((function(t,n){var i=function(t){var n=t.defaultInputValue,i=void 0===n?"":n,r=t.defaultMenuIsOpen,o=void 0!==r&&r,a=t.defaultValue,s=void 0===a?null:a,l=t.inputValue,c=t.menuIsOpen,u=t.onChange,h=t.onInputChange,d=t.onMenuClose,p=t.onMenuOpen,f=t.value,A=Ag(t,mg),m=fg((0,e.useState)(void 0!==l?l:i),2),g=m[0],v=m[1],y=fg((0,e.useState)(void 0!==c?c:o),2),b=y[0],w=y[1],x=fg((0,e.useState)(void 0!==f?f:s),2),M=x[0],E=x[1],S=(0,e.useCallback)((function(e,t){"function"==typeof u&&u(e,t),E(e)}),[u]),T=(0,e.useCallback)((function(e,t){var n;"function"==typeof h&&(n=h(e,t)),v(void 0!==n?n:e)}),[h]),C=(0,e.useCallback)((function(){"function"==typeof p&&p(),w(!0)}),[p]),I=(0,e.useCallback)((function(){"function"==typeof d&&d(),w(!1)}),[d]),L=void 0!==l?l:g,D=void 0!==c?c:b,O=void 0!==f?f:M;return hg(hg({},A),{},{inputValue:L,menuIsOpen:D,onChange:S,onInputChange:T,onMenuClose:I,onMenuOpen:C,value:O})}(t);return e.createElement(sw,gg({ref:n},i))})),cw=lw;const uw=Kr((()=>{const t=[],n=Lr.getLocaleText("floor");for(;t.length<Ri.floors.length;)t.push({value:t.length,label:"".concat(t.length+1," ").concat(n)});return e.createElement("div",{className:"floors-select ".concat(1===t.length?"":"floors-select--active")},e.createElement(cw,{classNamePrefix:"floors-select",options:t,styles:{option:(e,t)=>({...e,color:t.isSelected?"#ffffff":"#413E3E",backgroundColor:t.isSelected?"#FAC62D":"#ffffff"}),container:e=>({...e,maxHeight:"100%"})},placeholder:"".concat(Ri.currentFloorNumber," ").concat(n),components:{IndicatorSeparator:()=>null,IndicatorsContainer:()=>null},onChange:e=>{let{value:t}=e;Ri.changeFloor(t)},isSearchable:!1,theme:e=>({...e,borderRadius:0,colors:{...e.colors,primary25:"#ffcc66",primary:"#ffcc66",primary50:"#ffcc66",primary75:"#000"}})}))})),hw=uw,dw=Kr((()=>{var t,n,i,r,o;const{config:a}=Or,s={width:a.width,height:a.height,"--main-color":a.colors.main,"--main-text":a.colors.mainText},[l,c]=(0,e.useState)(a.tabs[0]),u={rotation:e.createElement(Lo,{disabled:!Ri.rotationData||!Ri.rotationData.items.length,topViewImage:Ri.topViewData,images:(null===(t=Ri.rotationData)||void 0===t?void 0:t.items)||[],type:(null===(n=Ri.rotationData)||void 0===n?void 0:n.type)||"top_down",planImage:Ri.planImage,mode:a.rotationMode}),panorama:e.createElement(ig,{key:Ri.currentFloorIndex,disabled:!Ri.panoramaData||!Ri.panoramaData.items.length,items:(null===(i=Ri.panoramaData)||void 0===i?void 0:i.items)||[],type:(null===(r=Ri.panoramaData)||void 0===r?void 0:r.type)||"sphere",planImage:Ri.planImage,json:a.json})};return(0,e.useEffect)((()=>{Br.init()}),[]),(0,e.useEffect)((()=>{a.tabs.some((e=>e===l))||c(a.tabs[0])}),[a,l]),e.createElement("main",{className:(h=a.width,Object.keys(eo).filter((e=>h<=eo[e]))).reduce(((e,t)=>e+" widget-application--".concat(t)),"widget-application"),id:"widget-application",style:s},e.createElement("section",{className:"widget-tab widget-tab--".concat(l)},u[l]),a.logo&&e.createElement("a",{className:"widget-logo",href:(null===(o=a.branding)||void 0===o?void 0:o.url)||a.logoUrl,target:"_blank",rel:"noreferrer"},e.createElement("img",{src:a.logo,alt:"logo"})),Or.controlsVisible&&e.createElement(rg,null),e.createElement("div",{className:"widget-tab-buttons"},[{tab:"rotation",text:"2D"},{tab:"panorama",text:"3D"}].map(((t,n)=>!Or.isTabIncluded(t.tab)||Or.config.tabs.length<2?null:Or.controlsVisible?e.createElement(og,{key:n,text:t.text,active:l===t.tab,onClick:()=>c(t.tab)}):null))),e.createElement("div",{className:"widget-watermark-button"},e.createElement(ag,{href:a.branding?a.branding.url:(()=>{const e=Lr.getLocaleText("made-by-link");return"en"===Lr.currentLocale?e+"?utm_source=widget&utm_medium=widget":e})(),text:a.branding?a.branding.name:Lr.getLocaleText("made-by-text")})),e.createElement(hw,null));var h})),pw=dw,fw={tabs:["rotation","panorama"],logo:null,logoUrl:null,width:1920,height:1080,resizable:!0,planImage:null,topViewImage:null,rotationMode:Mo.default,rotationData:null,panoramaData:null,panoramaFov:75,json:null,locale:"en",API_URL:"https://backend.estate.hart-digital.com",colors:{main:"#FAC62D",mainText:"#413E3E"},demoRoomType:null,demoRoomStyle:null,branding:null},Aw=class{constructor(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i={...fw,...n},r=document.querySelector(t);if(!r)throw new Error("Не удалось найти элемент: ".concat(t));r.addEventListener("wheel",(e=>e.preventDefault())),n.width||(i.width=r.offsetWidth),n.height||(i.height=r.offsetHeight),n.panoramaFov&&"number"==typeof n.panoramaFov||(i.panoramaFov=fw.panoramaFov),i.containerElement=r,Or.setConfig(i),Br.resize(i),i.resizable&&window.addEventListener("resize",(()=>this.onResize())),Bi.render(e.createElement(pw,null),r)}get options(){return Or.config}updateSize(e){const t={...this.options,...e};Or.setConfig(t),Br.resize(t)}onResize(){const{offsetWidth:e,offsetHeight:t}=this.options.containerElement;this.updateSize({width:e,height:t})}on(e,t){Or.addEventListener(e,t)}}})(),module.exports=o})();