@netless/window-manager 0.4.58 → 0.4.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";var og=Object.defineProperty,ag=Object.defineProperties;var lg=Object.getOwnPropertyDescriptors;var cu=Object.getOwnPropertySymbols;var ug=Object.prototype.hasOwnProperty,cg=Object.prototype.propertyIsEnumerable;var du=(e,t,i)=>t in e?og(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,q=(e,t)=>{for(var i in t||(t={}))ug.call(t,i)&&du(e,i,t[i]);if(cu)for(var i of cu(t))cg.call(t,i)&&du(e,i,t[i]);return e},Ye=(e,t)=>ag(e,lg(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var dg=require("p-retry"),hg=require("emittery"),E=require("lodash"),A=require("white-web-sdk"),pg=require("uuid"),$n=require("side-effect-manager"),fg=require("@juggle/resize-observer"),gg=require("video.js");function Va(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function mg(e){if(e&&e.__esModule)return e;var t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});return e&&Object.keys(e).forEach(function(i){if(i!=="default"){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}}),t.default=e,Object.freeze(t)}var vg=Va(dg),Fn=Va(hg),hu=Va(gg),J=(e=>(e.AppMove="AppMove",e.AppFocus="AppFocus",e.AppResize="AppResize",e.AppBoxStateChange="AppBoxStateChange",e.GetAttributes="GetAttributes",e.UpdateWindowManagerWrapper="UpdateWindowManagerWrapper",e.InitReplay="InitReplay",e.WindowCreated="WindowCreated",e.SetMainViewScenePath="SetMainViewScenePath",e.SetMainViewSceneIndex="SetMainViewSceneIndex",e.SetAppFocusIndex="SetAppFocusIndex",e.SwitchViewsToFreedom="SwitchViewsToFreedom",e.MoveCamera="MoveCamera",e.MoveCameraToContain="MoveCameraToContain",e.CursorMove="CursorMove",e.RootDirRemoved="RootDirRemoved",e.Refresh="Refresh",e.InitMainViewCamera="InitMainViewCamera",e))(J||{});const ko="__WindowManger",Ks="__WindowMangerEnsureReconnected__";var be=(e=>(e.Size="size",e.Position="position",e.SceneIndex="SceneIndex",e.ZIndex="zIndex",e))(be||{}),wd=(e=>(e.setBoxSize="setBoxSize",e.setBoxMinSize="setBoxMinSize",e.destroy="destroy",e))(wd||{}),No=(e=>(e.StartCreate="StartCreate",e))(No||{}),yd=(e=>(e.Leave="leave",e.Normal="normal",e))(yd||{});const pu="2.16.1",wg=340/720,yg=340/720,xg=9/16,De="/",xd="/init",Sd=50,se=new Fn.default;class Sg{constructor(){this.list=[],this.isEmit=!1,this.invoked=()=>{this.currentInvoker=void 0,this.list.length===0&&(this.clear(),this.emitReady())},this.clear=()=>{clearInterval(this.timer),this.timer=void 0}}initInterval(){return setInterval(()=>{this.invoke()},50)}push(t){this.list.push(t),this.invoke(),this.timer===void 0&&this.list.length>0&&(this.timer=this.initInterval())}invoke(){if(this.list.length===0||this.currentInvoker!==void 0)return;const t=this.list.shift();t&&(this.currentInvoker=t,t().then(()=>{this.invoked()}).catch(i=>{console.error(`[WindowManager]: create app error: ${i.message}`),this.invoked()}))}emitReady(){this.isEmit||setTimeout(()=>{se.emit("ready")},Sd),this.isEmit=!0}empty(){this.list=[],this.clear()}destroy(){this.timer&&this.clear()}}const _=new Fn.default,Cg="__WindowManagerAppCache";let kn,fu;const Mg=async()=>{kn=await Ag()},Ig=(e,t)=>{if(!!kn)return Tg(kn,{kind:e,sourceCode:t})},bg=async e=>kn?await Eg(kn,e):null;function Ag(){return new Promise((e,t)=>{const i=indexedDB.open(Cg,2);i.onerror=n=>{t(n)},i.onupgradeneeded=n=>{const r=n.target.result;r.objectStoreNames.contains("apps")||(fu=r.createObjectStore("apps",{keyPath:"kind"}),fu.createIndex("kind","kind",{unique:!0}))},i.onsuccess=()=>{const n=i.result;e(n)}})}function Eg(e,t){return new Promise((i,n)=>{const s=e.transaction(["apps"]).objectStore("apps").index("kind").get(t);s.onerror=o=>n(o),s.onsuccess=()=>{s.result?i(s.result):i(null)}})}function Tg(e,t){return new Promise((i,n)=>{const r=e.transaction(["apps"],"readwrite").objectStore("apps").add(t);r.onsuccess=()=>i(),r.onerror=()=>n()})}const kg="NetlessApp",Ng=1e4,Pg=async e=>{const t=await bg(e);if(t)return t.sourceCode;{const n=await(await Lg(e,{timeout:Ng})).text();return await Ig(e,n),n}},gu=(e,t)=>{let i=Function(e+`
2
- ;return ${t}`)();return typeof i=="undefined"&&(i=window[t]),i},zg=async(e,t,i)=>{const n=i||kg+t;se.emit("loadApp",{kind:t,status:"start"});let r;try{if(r=await Pg(e),!r||r.length===0)throw se.emit("loadApp",{kind:t,status:"failed",reason:"script is empty."}),new Error("[WindowManager]: script is empty.")}catch(s){throw se.emit("loadApp",{kind:t,status:"failed",reason:s.message}),s}return Dg(r,n,t)},Dg=(e,t,i)=>{try{const n=gu(e,t);return se.emit("loadApp",{kind:i,status:"success"}),n}catch(n){if(n.message.includes("Can only have one anonymous define call per script file")){const r=window.define;typeof r=="function"&&r.amd&&delete r.amd;const s=gu(e,t);return se.emit("loadApp",{kind:i,status:"success"}),s}throw se.emit("loadApp",{kind:i,status:"failed",reason:n.message}),n}};async function Lg(e,t){const{timeout:i=1e4}=t,n=new AbortController,r=setTimeout(()=>n.abort(),i),s=await fetch(e,Ye(q({},t),{signal:n.signal,headers:{"content-type":"text/plain"}}));return clearTimeout(r),s}class jg{constructor(){this.kindEmitters=new Map,this.registered=new Map,this.appClassesCache=new Map,this.appClasses=new Map,this.syncRegisterApp=null,this.onSyncRegisterAppChange=t=>{this.register({kind:t.kind,src:t.src})}}setSyncRegisterApp(t){this.syncRegisterApp=t}async register(t){this.appClassesCache.delete(t.kind),this.registered.set(t.kind,t);const i=t.src;let n;if(typeof i=="string"&&(n=async()=>{const r=await zg(i,t.kind,t.name);return r.__esModule?r.default:r},this.syncRegisterApp&&this.syncRegisterApp({kind:t.kind,src:i,name:t.name})),typeof i=="function"&&(n=async()=>{let r=await i();if(r)return(r.__esModule||r.default)&&(r=r.default),r;throw new Error(`[WindowManager]: load remote script failed, ${i}`)}),typeof i=="object"&&(n=async()=>i),this.appClasses.set(t.kind,async()=>{let r=this.appClassesCache.get(t.kind);return r||(r=n(),this.appClassesCache.set(t.kind,r)),r}),t.addHooks){const r=this.createKindEmitter(t.kind);r&&t.addHooks(r)}}unregister(t){this.appClasses.delete(t),this.appClassesCache.delete(t),this.registered.delete(t);const i=this.kindEmitters.get(t);i&&(i.clearListeners(),this.kindEmitters.delete(t))}async notifyApp(t,i,n){const r=this.kindEmitters.get(t);await(r==null?void 0:r.emit(i,n))}createKindEmitter(t){if(!this.kindEmitters.has(t)){const i=new Fn.default;this.kindEmitters.set(t,i)}return this.kindEmitters.get(t)}}const je=new jg,Bg=async e=>{var i,n;const t=await((i=je.appClasses.get(e))==null?void 0:i());return t&&((n=t.config)==null?void 0:n.singleton)?e:`${e}-${pg.v4().replace("-","").slice(0,8)}`},pi=(e,t)=>{if(e.focusScenePath!==t)return e.focusScenePath=t,e},Po=(e,t)=>{if(e&&e.isWritable&&e.state.sceneState.scenePath!==t){const i=t==="/"?"":t;e.setScenePath(i)}},Rg=(e,t,i)=>{var n;if(e&&t){const s=(n=Ri(e)[t])==null?void 0:n[i];if(s)return`${t}/${s.name}`}},zo=(e,t,i)=>{e&&e.scenePathType(t)!==A.ScenePathType.None&&e.removeScenes(t,i)},_g=(e,t)=>{_.once(e).then(t)};E.debounce((e,t)=>{e.emit("mainViewModeChange",t)},200);const Og=(e,t,i=0)=>{const n=Ri(e)[t];if(!n)return;const r=n[i];if(!r)return;const s=r.name;return t===De?`/${s}`:`${t}/${s}`},Ri=e=>e.entireScenes(),fn=(e,t,i,n)=>e==null?void 0:e.putScenes(t,i,n),Vg=e=>e.startsWith("/"),qs=e=>{const t=e.split("/");t.pop();let i=t.join("/");return i===""&&(i="/"),i},Ug=e=>e.endsWith("/")?e.slice(0,-1):e,mu=e=>{const t=e.split(".").map(i=>i.padStart(2,"0")).join("");return parseInt(t)},Yr=e=>new Promise(t=>setTimeout(t,e)),Wg=e=>e.split("").reduce((i,n)=>(n===De&&(i+=1),i),0)===1;class Hg{constructor(t){this.manager=t,this.displayer=this.manager.displayer,this.mainMagixEventListener=i=>{if(i.authorId!==this.displayer.observerId){const n=i.payload;switch(n.eventName){case J.AppMove:{this.appMoveHandler(n.payload);break}case J.AppResize:{this.appResizeHandler(n.payload);break}case J.AppBoxStateChange:{this.boxStateChangeHandler(n.payload);break}case J.SetMainViewScenePath:{this.setMainViewScenePathHandler(n.payload);break}case J.MoveCamera:{this.moveCameraHandler(n.payload);break}case J.MoveCameraToContain:{this.moveCameraToContainHandler(n.payload);break}case J.CursorMove:{this.cursorMoveHandler(n.payload);break}case J.RootDirRemoved:{this.rootDirRemovedHandler();break}case J.Refresh:{this.refreshHandler();break}case J.InitMainViewCamera:{this.initMainViewCameraHandler();break}case J.SetAppFocusIndex:{this.setAppFocusViewIndexHandler(n.payload);break}}}},this.appMoveHandler=i=>{var n;(n=this.boxManager)==null||n.moveBox(i)},this.appResizeHandler=i=>{var n,r;(n=this.boxManager)==null||n.resizeBox(Object.assign(i,{skipUpdate:!0})),(r=this.manager.room)==null||r.refreshViewSize()},this.boxStateChangeHandler=i=>{se.emit("boxStateChange",i)},this.setMainViewScenePathHandler=({nextScenePath:i})=>{pi(this.manager.mainView,i),se.emit("mainViewScenePathChange",i)},this.moveCameraHandler=i=>{E.isEqual(E.omit(i,["animationMode"]),q({},this.manager.mainView.camera))||this.manager.mainView.moveCamera(i)},this.moveCameraToContainHandler=i=>{this.manager.mainView.moveCameraToContain(i)},this.cursorMoveHandler=i=>{_.emit("cursorMove",i)},this.rootDirRemovedHandler=()=>{this.manager.createRootDirScenesCallback(),this.manager.mainViewProxy.rebind(),_.emit("rootDirRemoved")},this.refreshHandler=()=>{this.manager.windowManger._refresh()},this.initMainViewCameraHandler=()=>{this.manager.mainViewProxy.addCameraReaction()},this.setAppFocusViewIndexHandler=i=>{if(i.type==="main")this.manager.setSceneIndexWithoutSync(i.index);else if(i.type==="app"&&i.appID){const n=this.manager.appProxies.get(i.appID);n&&n.setSceneIndexWithoutSync(i.index)}}}get boxManager(){return this.manager.boxManager}addListeners(){this.displayer.addMagixEventListener(ko,this.mainMagixEventListener)}removeListeners(){this.displayer.removeMagixEventListener(ko,this.mainMagixEventListener)}}class Cd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: app duplicate exists and cannot be created again"}}class $g extends Error{constructor(t){super(`[WindowManager]: app ${t} need register or provide src`)}}class Xe extends Error{constructor(){super(...arguments);this.message="[WindowManager]: AppManager must be initialized"}}class Md extends Error{constructor(t){super(`[WindowManager]: white-web-sdk version must large than ${t}`)}}class Id extends Error{constructor(){super(...arguments);this.message="[WindowManager]: kind must be a valid string"}}class bd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: box need created"}}class Ad extends Error{constructor(){super(...arguments);this.message='[WindowManager]: ScenePath should start with "/"'}}class Ed extends Error{constructor(){super(...arguments);this.message="[WindowManager]: boxManager not found"}}class Td extends Error{constructor(){super(...arguments);this.message="[WindowManager]: room phase only Connected can be bindContainer"}}const kd=e=>(t,i)=>{if(t!==void 0)if(A.listenUpdated){const n=r=>{r.map(o=>o.kind).includes(e)&&i()};return A.listenUpdated(t,n),i(),()=>A.unlistenUpdated(t,n)}else return A.reaction(()=>t,()=>{i()},{fireImmediately:!0})},Nd=(e,t,i)=>{let n=null;const r=A.reaction(e,()=>{n&&(n(),n=null);const s=e();E.isObject(s)?(n=()=>A.unlistenUpdated(s,t),A.listenUpdated(s,t)):i==null||i(s)},{fireImmediately:!0});return()=>{n==null||n(),r()}},Fg=kd(A.UpdateEventKind.Removed);kd(A.UpdateEventKind.Inserted);const eo=Object.keys;function vu(e){return Boolean(E.has(e,"__isRef"))}function Qg(e){return{k:$n.genUID(),v:e,__isRef:!0}}class Zg{constructor(){this.listeners=new Set}get length(){return this.listeners.size}dispatch(t){this.listeners.forEach(i=>i(t))}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}}const Ge="_WM-STORAGE_";class wu{constructor(t,i,n){if(this._sideEffect=new $n.SideEffectManager,this._destroyed=!1,this._refMap=new WeakMap,this._lastValue=new Map,this.onStateChanged=new Zg,n&&!E.isObject(n))throw new Error(`Default state for Storage ${i} is not an object.`);this._context=t,this.id=i||null,this._state={};const r=this._getRawState(this._state);this._context.getIsWritable()&&(this.id===null?t.isAddApp&&n&&this.setState(n):(r===this._state||!E.isObject(r))&&(E.get(this._context.getAttributes(),[Ge])||this._context.updateAttributes([Ge],{}),this._context.updateAttributes([Ge,this.id],this._state),n&&this.setState(n))),eo(r).forEach(s=>{if(!(this.id===null&&s===Ge))try{const o=E.isObject(r[s])?JSON.parse(JSON.stringify(r[s])):r[s];vu(o)?(this._state[s]=o.v,E.isObject(o.v)&&this._refMap.set(o.v,o)):this._state[s]=o}catch(o){console.error(o)}}),this._sideEffect.addDisposer(Nd(()=>this.id===null?t.getAttributes():E.get(t.getAttributes(),[Ge,this.id]),this._updateProperties.bind(this),this.destroy.bind(this)))}get state(){return this._destroyed&&console.warn(`Accessing state on destroyed Storage "${this.id}"`),this._state}addStateChangedListener(t){return this.onStateChanged.addListener(t),()=>this.onStateChanged.removeListener(t)}ensureState(t){return this.setState(eo(t).reduce((i,n)=>(E.has(this._state,n)||(i[n]=t[n]),i),{}))}setState(t){if(this._destroyed){console.error(new Error(`Cannot call setState on destroyed Storage "${this.id}".`));return}if(!this._context.getIsWritable()){console.error(new Error(`Cannot setState on Storage "${this.id}" without writable access`),t);return}const i=eo(t);i.length>0&&i.forEach(n=>{const r=t[n];if(r!==this._state[n])if(r===void 0)this._lastValue.set(n,this._state[n]),delete this._state[n],this._setRawState(n,r);else{this._lastValue.set(n,this._state[n]),this._state[n]=r;let s=r;if(E.isObject(r)){let o=this._refMap.get(r);o||(o=Qg(r),this._refMap.set(r,o)),s=o}this._setRawState(n,s)}})}emptyStorage(){if(!(E.size(this._state)<=0)){if(this._destroyed){console.error(new Error(`Cannot empty destroyed Storage "${this.id}".`));return}if(!this._context.getIsWritable()){console.error(new Error(`Cannot empty Storage "${this.id}" without writable access.`));return}this.setState(E.mapValues(this._state,E.noop))}}deleteStorage(){if(this.id===null)throw new Error("Cannot delete main Storage");if(!this._context.getIsWritable()){console.error(new Error(`Cannot delete Storage "${this.id}" without writable access.`));return}this.destroy(),this._context.updateAttributes([Ge,this.id],void 0)}get destroyed(){return this._destroyed}destroy(){this._destroyed=!0,this._sideEffect.flushAll()}_getRawState(t){var i;return this.id===null?(i=this._context.getAttributes())!=null?i:t:E.get(this._context.getAttributes(),[Ge,this.id],t)}_setRawState(t,i){if(this.id===null){if(t===Ge)throw new Error(`Cannot set attribute internal filed "${Ge}"`);return this._context.updateAttributes([t],i)}else return this._context.updateAttributes([Ge,this.id,t],i)}_updateProperties(t){var i;if(this._destroyed){console.error(new Error(`Cannot call _updateProperties on destroyed Storage "${this.id}".`));return}if(t.length>0){const n={};for(let r=0;r<t.length;r++)try{const s=t[r],o=s.key;if(this.id===null&&o===Ge)continue;const a=E.isObject(s.value)?JSON.parse(JSON.stringify(s.value)):s.value;let l;switch(this._lastValue.has(o)&&(l=this._lastValue.get(o),this._lastValue.delete(o)),s.kind){case 2:{E.has(this._state,o)&&(l=this._state[o],delete this._state[o]),n[o]={oldValue:l};break}default:{let u=a;if(vu(a)){const{k:h,v:c}=a,m=this._state[o];E.isObject(m)&&((i=this._refMap.get(m))==null?void 0:i.k)===h?u=m:(u=c,E.isObject(c)&&this._refMap.set(c,a))}u!==this._state[o]&&(l=this._state[o],this._state[o]=u),n[o]={newValue:u,oldValue:l};break}}}catch(s){console.error(s)}this.onStateChanged.dispatch(n)}}}class Yg{constructor(t,i,n,r,s){this.manager=t,this.boxManager=i,this.appId=n,this.appProxy=r,this.appOptions=s,this.mobxUtils={autorun:A.autorun,reaction:A.reaction,toJS:A.toJS},this.objectUtils={listenUpdated:A.listenUpdated,unlistenUpdated:A.unlistenUpdated,listenDisposed:A.listenDisposed,unlistenDisposed:A.unlistenDisposed},this.store=this.manager.store,this.isReplay=this.manager.isReplay,this.getDisplayer=()=>this.manager.displayer,this.getAttributes=()=>this.appProxy.attributes,this.getScenes=()=>{const o=this.store.getAppAttributes(this.appId);return o!=null&&o.isDynamicPPT?this.appProxy.scenes:o==null?void 0:o.options.scenes},this.getView=()=>this.appProxy.view,this.mountView=o=>{const a=this.getView();a&&(a.divElement=o,setTimeout(()=>{var l;(l=this.getRoom())==null||l.refreshViewSize()},1e3))},this.getInitScenePath=()=>this.manager.getAppInitPath(this.appId),this.getIsWritable=()=>this.manager.canOperate,this.getBox=()=>{const o=this.boxManager.getBox(this.appId);if(o)return o;throw new bd},this.getRoom=()=>this.manager.room,this.setAttributes=o=>{this.manager.safeSetAttributes({[this.appId]:o})},this.updateAttributes=(o,a)=>{this.manager.attributes[this.appId]&&this.manager.safeUpdateAttributes([this.appId,...o],a)},this.setScenePath=async o=>{var a;!this.appProxy.box||(this.appProxy.setFullPath(o),(a=this.getRoom())==null||a.setScenePath(o))},this.getAppOptions=()=>typeof this.appOptions=="function"?this.appOptions():this.appOptions,this.createStorage=(o,a)=>{const l=new wu(this,o,a);return this.emitter.on("destroy",()=>{l.destroy()}),l},this.dispatchMagixEvent=(...o)=>{var l;const a=`${this.appId}:${o[0]}`;return(l=this.manager.room)==null?void 0:l.dispatchMagixEvent(a,o[1])},this.addMagixEventListener=(o,a,l)=>{const u=`${this.appId}:${o}`;return this.manager.displayer.addMagixEventListener(u,a,l),()=>this.manager.displayer.removeMagixEventListener(u,a)},this.removeMagixEventListener=this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer),this.nextPage=async()=>{const o=this.pageState.index+1;return o>this.pageState.length-1?(console.warn("[WindowManager] nextPage: index out of range"),!1):(this.appProxy.setSceneIndex(o),!0)},this.prevPage=async()=>{const o=this.pageState.index-1;return o<0?(console.warn("[WindowManager] prevPage: index out of range"),!1):(this.appProxy.setSceneIndex(o),!0)},this.addPage=async o=>{const a=o==null?void 0:o.after,l=o==null?void 0:o.scene,u=this.appProxy.scenePath;if(!!u)if(a){const h=this.pageState.index+1;fn(this.manager.room,u,[l||{}],h)}else fn(this.manager.room,u,[l||{}])},this.removePage=async o=>{const a=o===void 0?this.pageState.index:o;return this.pageState.length===1?(console.warn("[WindowManager]: can not remove the last page"),!1):a<0||a>=this.pageState.length?(console.warn(`[WindowManager]: page index ${o} out of range`),!1):this.appProxy.removeSceneByIndex(a)},this.emitter=r.appEmitter,this.isAddApp=r.isAddApp}get storage(){return this._storage||(this._storage=new wu(this)),this._storage}get pageState(){return this.appProxy.pageState}}class Gg{constructor(t){this.params=t,this.sceneNode=null,this.onSceneChange=r=>{this.sceneNode=r,this.params.notifyPageStateChange()};const{displayer:i,scenePath:n}=this.params;n&&(this.sceneNode=i.createScenesCallback(n,{onAddScene:this.onSceneChange,onRemoveScene:this.onSceneChange}))}getFullPath(t){var n;const i=(n=this.sceneNode)==null?void 0:n.scenes;if(this.params.scenePath&&i){const r=i[t];if(r)return`${this.params.scenePath}/${r}`}}toObject(){var t,i;return{index:((t=this.params.view)==null?void 0:t.focusSceneIndex)||0,length:((i=this.sceneNode)==null?void 0:i.scenes.length)||0}}destroy(){var t;(t=this.sceneNode)==null||t.dispose()}}var Ie=(e=>(e.Apps="apps",e.Focus="focus",e.State="state",e.BoxState="boxState",e.MainViewCamera="mainViewCamera",e.MainViewSize="mainViewSize",e.Broadcaster="broadcaster",e.Cursors="cursors",e.Position="position",e.CursorState="cursorState",e.FullPath="fullPath",e.Registered="registered",e))(Ie||{});class Xg{constructor(t){this.context=t,this.setAppFocus=(i,n)=>{n?this.context.safeSetAttributes({focus:i}):this.context.safeSetAttributes({focus:void 0})}}setContext(t){this.context=t}get attributes(){return this.context.getAttributes()}apps(){return E.get(this.attributes,["apps"])}get focus(){return E.get(this.attributes,["focus"])}getAppAttributes(t){return E.get(this.apps(),[t])}getAppState(t){return E.get(this.apps(),[t,"state"])}getMaximized(){return E.get(this.attributes,["maximized"])}getMinimized(){return E.get(this.attributes,["minimized"])}setupAppAttributes(t,i,n){this.attributes.apps||this.context.safeSetAttributes({apps:{}});const s=["scenePath","title"];n||s.push("scenes");const o=E.pick(t.options,s),a={kind:t.kind,options:o,isDynamicPPT:n};typeof t.src=="string"&&(a.src=t.src),a.createdAt=Date.now(),this.context.safeUpdateAttributes(["apps",i],a),this.context.safeUpdateAttributes(["apps",i,"state"],{[be.Size]:{},[be.Position]:{},[be.SceneIndex]:0})}updateAppState(t,i,n){E.get(this.attributes,["apps",t,"state"])&&this.context.safeUpdateAttributes(["apps",t,"state",i],n)}cleanAppAttributes(t){this.context.safeUpdateAttributes(["apps",t],void 0),this.context.safeSetAttributes({[t]:void 0}),this.attributes.focus===t&&this.cleanFocus()}cleanFocus(){this.context.safeSetAttributes({focus:void 0})}getAppSceneIndex(t){var i;return(i=this.getAppState(t))==null?void 0:i[be.SceneIndex]}getAppScenePath(t){var i,n;return(n=(i=this.getAppAttributes(t))==null?void 0:i.options)==null?void 0:n.scenePath}getMainViewScenePath(){return this.attributes._mainScenePath}getMainViewSceneIndex(){return this.attributes._mainSceneIndex}getBoxState(){return this.attributes.boxState}setMainViewScenePath(t){this.context.safeSetAttributes({_mainScenePath:t})}setMainViewSceneIndex(t){this.context.safeSetAttributes({_mainSceneIndex:t})}getMainViewCamera(){return E.get(this.attributes,["mainViewCamera"])}getMainViewSize(){return E.get(this.attributes,["mainViewSize"])}setMainViewCamera(t){this.context.safeSetAttributes({mainViewCamera:q({},t)})}setMainViewSize(t){this.context.safeSetAttributes({mainViewSize:q({},t)})}setMainViewCameraAndSize(t,i){this.context.safeSetAttributes({mainViewCamera:q({},t),mainViewSize:q({},i)})}updateCursor(t,i){E.get(this.attributes,["cursors"])||this.context.safeUpdateAttributes(["cursors"],{}),E.get(this.attributes,["cursors",t])||this.context.safeUpdateAttributes(["cursors",t],{}),this.context.safeUpdateAttributes(["cursors",t,"position"],i)}updateCursorState(t,i){E.get(this.attributes,["cursors",t])||this.context.safeUpdateAttributes(["cursors",t],{}),this.context.safeUpdateAttributes(["cursors",t,"cursorState"],i)}getCursorState(t){return E.get(this.attributes,["cursors",t,"cursorState"])}cleanCursor(t){this.context.safeUpdateAttributes(["cursors",t],void 0)}setMainViewFocusPath(t){const i=this.getMainViewScenePath();i&&pi(t,i)}}const Jg=new Xg({getAttributes:()=>{throw new Error("getAttributes not implemented")},safeSetAttributes:()=>{throw new Error("safeSetAttributes not implemented")},safeUpdateAttributes:()=>{throw new Error("safeUpdateAttributes not implemented")}}),Pt=(...e)=>{ie.debug&&console.log("[WindowManager]:",...e)},Ua=(e,t)=>{let i=0;const n=t.length-1;return e===t.index?e===n?i=e-1:i=t.index+1:i=t.index,i},vt=new Fn.default;class Wa{constructor(t,i,n,r){var s;this.params=t,this.manager=i,this.boxManager=this.manager.boxManager,this.appProxies=this.manager.appProxies,this.viewManager=this.manager.viewManager,this.store=this.manager.store,this.status="normal",this.getAppInitState=o=>{var d,p;const a=this.store.getAppState(o);if(!a)return;const l=a==null?void 0:a[be.Position],u=this.store.focus,h=a==null?void 0:a[be.Size],c=a==null?void 0:a[be.SceneIndex],m=(d=this.attributes)==null?void 0:d.maximized,v=(p=this.attributes)==null?void 0:p.minimized,y=a==null?void 0:a.zIndex;let S={maximized:m,minimized:v,zIndex:y};return l&&(S=Ye(q({},S),{id:o,x:l.x,y:l.y})),u===o&&(S=Ye(q({},S),{focus:!0})),h&&(S=Ye(q({},S),{width:h.width,height:h.height})),c&&(S=Ye(q({},S),{sceneIndex:c})),S},this.appAttributesUpdateListener=o=>{var a,l,u;(a=this.manager.refresher)==null||a.add(o,()=>A.autorun(()=>{const h=this.manager.attributes[o];h&&this.appEmitter.emit("attributesUpdate",h)})),(l=this.manager.refresher)==null||l.add(this.stateKey,()=>A.autorun(()=>{var c,m,v;const h=(c=this.appAttributes)==null?void 0:c.state;(h==null?void 0:h.zIndex)>0&&h.zIndex!==((m=this.box)==null?void 0:m.zIndex)&&((v=this.boxManager)==null||v.setZIndex(o,h.zIndex))})),(u=this.manager.refresher)==null||u.add(`${o}-fullPath`,()=>A.autorun(()=>{var c;const h=(c=this.appAttributes)==null?void 0:c.fullPath;this.setFocusScenePathHandler(h),this._prevFullPath!==h&&(this.notifyPageStateChange(),this._prevFullPath=h)}))},this.setFocusScenePathHandler=E.debounce(o=>{var a;this.view&&o&&o!==((a=this.view)==null?void 0:a.focusScenePath)&&pi(this.view,o)},50),this.notifyPageStateChange=E.debounce(()=>{this.appEmitter.emit("pageStateChange",this.pageState)},50),this.kind=t.kind,this.id=n,this.stateKey=`${this.id}_state`,this.appProxies.set(this.id,this),this.appEmitter=new Fn.default,this.appListener=this.makeAppEventListener(this.id),this.isAddApp=r,this.initScenes(),(s=this.params.options)!=null&&s.scenePath&&this.createView(),this._pageState=new Gg({displayer:this.manager.displayer,scenePath:this.scenePath,view:this.view,notifyPageStateChange:this.notifyPageStateChange})}initScenes(){var i;const t=this.params.options;t&&(this.scenePath=t.scenePath,((i=this.appAttributes)==null?void 0:i.isDynamicPPT)&&this.scenePath?this.scenes=Ri(this.manager.displayer)[this.scenePath]:this.scenes=t.scenes)}get view(){return this.manager.viewManager.getView(this.id)}get viewIndex(){var t;return(t=this.view)==null?void 0:t.focusSceneIndex}get isWritable(){var t;return this.manager.canOperate&&!((t=this.box)!=null&&t.readonly)}get attributes(){return this.manager.attributes[this.id]}get appAttributes(){return this.store.getAppAttributes(this.id)}getFullScenePath(){if(this.scenePath)return E.get(this.appAttributes,[Ie.FullPath])||this.getFullScenePathFromScenes()}getFullScenePathFromScenes(){const t=E.get(this.appAttributes,["state","SceneIndex"],0),i=Rg(this.manager.room,this.scenePath,t);return i&&this.setFullPath(i),i}setFullPath(t){this.manager.safeUpdateAttributes(["apps",this.id,Ie.FullPath],t)}async baseInsertApp(t=!1){var s;const i=this.params;if(!i.kind)throw new Error("[WindowManager]: kind require");const n=await((s=je.appClasses.get(i.kind))==null?void 0:s()),r=je.registered.get(i.kind);if(n)await this.setupApp(this.id,t,n,i.options,r==null?void 0:r.appOptions);else throw new Error(`[WindowManager]: app load failed ${i.kind} ${i.src}`);return _.emit("updateManagerRect"),{appId:this.id,app:n}}get box(){var t;return(t=this.boxManager)==null?void 0:t.getBox(this.id)}async setupApp(t,i,n,r,s){var a;if(Pt("setupApp",t,n,r),!this.boxManager)throw new Ed;const o=new Yg(this.manager,this.boxManager,t,this,s);this.appContext=o;try{_.once(`${t}${J.WindowCreated}`).then(async()=>{var u;let l;i||(l=this.getAppInitState(t),(u=this.boxManager)==null||u.updateBoxState(l)),this.appEmitter.onAny(this.appListener),this.appAttributesUpdateListener(t),this.setViewFocusScenePath(),setTimeout(async()=>{console.log("setup app",n);const h=await n.setup(o);this.appResult=h,je.notifyApp(this.kind,"created",{appId:t,result:h}),this.afterSetupApp(l),this.fixMobileSize()},Sd)}),(a=this.boxManager)==null||a.createBox({appId:t,app:n,options:r,canOperate:this.manager.canOperate,smartPosition:this.isAddApp}),this.isAddApp&&this.box&&(this.store.updateAppState(t,be.ZIndex,this.box.zIndex),this.store.updateAppState(t,be.Size,{width:this.box.intrinsicWidth,height:this.box.intrinsicHeight}),this.boxManager.focusBox({appId:t},!1))}catch(l){throw console.error(l),new Error(`[WindowManager]: app setup error: ${l.message}`)}}fixMobileSize(){var i,n;const t=(i=this.boxManager)==null?void 0:i.getBox(this.id);t&&((n=this.boxManager)==null||n.resizeBox({appId:this.id,width:t.intrinsicWidth+.001,height:t.intrinsicHeight+.001,skipUpdate:!0}))}afterSetupApp(t){var i;t&&(!(t!=null&&t.x)||!t.y)&&((i=this.boxManager)==null||i.setBoxInitState(this.id))}async onSeek(t){var n;this.appEmitter.emit("seek",t).catch(r=>{console.log(`[WindowManager]: emit seek error: ${r.message}`)});const i=this.getAppInitState(this.id);(n=this.boxManager)==null||n.updateBoxState(i)}async onReconnected(){var s;if(!Boolean(this.manager.attributes.apps[this.id])){await this.destroy(!0,!1,!0);return}this.appEmitter.emit("reconnected",void 0);const i=this.getAppInitState(this.id);await this.destroy(!0,!1,!0);const n=this.params;await new Wa(n,this.manager,this.id,this.isAddApp).baseInsertApp(!0),(s=this.boxManager)==null||s.updateBoxState(i)}async onRemoveScene(t){if(this.scenePath&&t.startsWith(this.scenePath+"/")){let i=this.pageState.index,n=this._pageState.getFullPath(i);n||(i=0,n=this._pageState.getFullPath(i)),n&&this.setFullPath(n),this.setViewFocusScenePath(),this.view&&(this.view.focusSceneIndex=i)}}emitAppSceneStateChange(t){this.appEmitter.emit("sceneStateChange",t)}emitAppIsWritableChange(){this.appEmitter.emit("writableChange",this.isWritable)}makeAppEventListener(t){return(i,n)=>{var r,s,o,a;if(!!this.manager.canOperate)switch(i){case"setBoxSize":{(r=this.boxManager)==null||r.resizeBox({appId:t,width:n.width,height:n.height,skipUpdate:!1});break}case"setBoxMinSize":{(s=this.boxManager)==null||s.setBoxMinSize({appId:t,minWidth:n.minwidth,minHeight:n.minheight});break}case"setBoxTitle":{(o=this.boxManager)==null||o.setBoxTitle({appId:t,title:n.title});break}case wd.destroy:{if(this.status==="destroyed")return;this.destroy(!0,!1,!0,n==null?void 0:n.error),n!=null&&n.error&&console.error(n==null?void 0:n.error);break}case"focus":{(a=this.boxManager)==null||a.focusBox({appId:this.id}),vt.emit("focus",{appId:this.id});break}}}}setScenePath(){if(!this.manager.canOperate)return;const t=this.getFullScenePath();this.manager.room&&t&&this.view&&Po(this.manager.room,t)}setViewFocusScenePath(){const t=this.getFullScenePath();return t&&this.view&&pi(this.view,t),t}async createView(){const t=await this.viewManager.createView(this.id);return this.setViewFocusScenePath(),t}get pageState(){return this._pageState.toObject()}async removeSceneByIndex(t){const i=this._pageState.getFullPath(t);if(i){const n=Ua(t,this.pageState);return this.setSceneIndexWithoutSync(n),this.manager.dispatchInternalEvent(J.SetAppFocusIndex,{type:"app",appID:this.id,index:n}),setTimeout(()=>{zo(this.manager.room,i,t)},100),!0}else return!1}setSceneIndexWithoutSync(t){this.view&&(this.view.focusSceneIndex=t)}setSceneIndex(t){if(this.view){this.view.focusSceneIndex=t;const i=this._pageState.getFullPath(t);i&&this.setFullPath(i)}}async destroy(t,i,n,r){var s,o,a,l;if(this.status!=="destroyed"){this.status="destroyed";try{await je.notifyApp(this.kind,"destroy",{appId:this.id}),await this.appEmitter.emit("destroy",{error:r})}catch(u){console.error("[WindowManager]: notifyApp error",u.message,u.stack)}this.appEmitter.clearListeners(),_.emit(`destroy-${this.id}`,{error:r}),t&&((s=this.boxManager)==null||s.closeBox(this.id,n)),i&&(this.store.cleanAppAttributes(this.id),this.scenePath&&zo(this.manager.room,this.scenePath)),this.appProxies.delete(this.id),this._pageState.destroy(),this.viewManager.destroyView(this.id),this.manager.appStatus.delete(this.id),(o=this.manager.refresher)==null||o.remove(this.id),(a=this.manager.refresher)==null||a.remove(this.stateKey),(l=this.manager.refresher)==null||l.remove(`${this.id}-fullPath`),this._prevFullPath=void 0}}close(){return this.destroy(!0,!0,!1)}}class Kg{constructor(t){this.displayer=t,this.views=new Map}createView(t){const i=Pd(this.displayer);return this.views.set(t,i),i}getView(t){return this.views.get(t)}destroyView(t){const i=this.views.get(t);if(i){try{i.release()}catch{}this.views.delete(t)}}setViewScenePath(t,i){const n=this.views.get(t);n&&(n.focusScenePath=i)}destroy(){this.views.forEach(t=>{try{t.release()}catch{}}),this.views.clear()}}const Pd=e=>{const t=e.views.createView();return qg(t),t},qg=e=>{e.setCameraBound({maxContentMode:()=>10,minContentMode:()=>.1})};class em{constructor(t){this.manager=t,this.started=!1,this.mainViewIsAddListener=!1,this.store=this.manager.store,this.viewMode=this.manager.windowManger.viewMode,this.sideEffectManager=new $n.SideEffectManager,this.startListenWritableChange=()=>{this.sideEffectManager.add(()=>_.on("writableChange",n=>{n&&this.ensureCameraAndSize()}))},this.addCameraReaction=()=>{var n;(n=this.manager.refresher)==null||n.add(Ie.MainViewCamera,this.cameraReaction)},this.cameraReaction=()=>A.reaction(()=>this.mainViewCamera,n=>{n&&n.id!==this.manager.uid&&(this.moveCameraToContian(this.mainViewSize),this.moveCamera(n))},{fireImmediately:!0}),this.sizeChangeHandler=E.debounce(n=>{n&&(this.moveCameraToContian(n),this.moveCamera(this.mainViewCamera))},30),this.onUpdateContainerSizeRatio=()=>{const n=this.store.getMainViewSize();this.sizeChangeHandler(n)},this.onCameraUpdatedByDevice=n=>{this.viewMode!==A.ViewMode.Follower&&(this.store.setMainViewCamera(Ye(q({},n),{id:this.manager.uid})),E.isEqual(this.mainViewSize,Ye(q({},this.mainView.size),{id:this.manager.uid}))||this.setMainViewSize(this.view.size))},this.mainViewClickListener=()=>{this.mainViewClickHandler()},this.setMainViewSize=E.debounce(n=>{this.store.setMainViewSize(Ye(q({},n),{id:this.manager.uid}))},50),this.onCameraOrSizeUpdated=()=>{se.emit("cameraStateChange",this.cameraState)},this.setViewMode=n=>{this.viewMode=n},this.mainView=this.createMainView(),this.moveCameraSizeByAttributes(),_.once("mainViewMounted").then(()=>{this.addMainViewListener(),this.start(),this.ensureCameraAndSize(),this.startListenWritableChange()});const i=()=>{this.sizeChangeHandler(this.mainViewSize)};this.sideEffectManager.add(()=>_.on("playgroundSizeChange",i)),this.sideEffectManager.add(()=>_.on("containerSizeRatioUpdate",this.onUpdateContainerSizeRatio)),this.sideEffectManager.add(()=>_.on("startReconnect",()=>{this.didRelease||this.mainView.release()}))}ensureCameraAndSize(){this.viewMode===A.ViewMode.Broadcaster&&(!this.mainViewCamera||!this.mainViewSize)&&(this.manager.dispatchInternalEvent(J.InitMainViewCamera),this.setCameraAndSize())}get mainViewCamera(){return this.store.getMainViewCamera()}get mainViewSize(){return this.store.getMainViewSize()}get didRelease(){return E.get(this.view,["didRelease"])}moveCameraSizeByAttributes(){this.moveCameraToContian(this.mainViewSize),this.moveCamera(this.mainViewCamera)}start(){this.sizeChangeHandler(this.mainViewSize),!this.started&&(this.addCameraListener(),this.addCameraReaction(),this.started=!0)}setCameraAndSize(){const t=Ye(q({},this.mainView.camera),{id:this.manager.uid}),i=Ye(q({},this.mainView.size),{id:this.manager.uid});this.store.setMainViewCameraAndSize(t,i)}get view(){return this.mainView}get cameraState(){return q(q({},this.view.camera),this.view.size)}createMainView(){const t=Pd(this.manager.displayer),i=this.store.getMainViewScenePath();return i&&pi(t,i),t}onReconnect(){if(this.didRelease)this.rebind();else{const t=this.store.getMainViewScenePath();this.setFocusScenePath(t)}}setFocusScenePath(t){if(t)return pi(this.view,t)}rebind(){const t=this.mainView.divElement,i=this.mainView.disableCameraTransform;this.stop(),this.didRelease||this.mainView.release(),this.removeMainViewListener(),this.mainView=this.createMainView(),this.mainView.disableCameraTransform=i,this.mainView.divElement=t,this.addMainViewListener(),this.start()}addMainViewListener(){this.mainViewIsAddListener||this.view.divElement&&(this.view.divElement.addEventListener("click",this.mainViewClickListener),this.view.divElement.addEventListener("touchend",this.mainViewClickListener),this.mainViewIsAddListener=!0)}removeMainViewListener(){this.view.divElement&&(this.view.divElement.removeEventListener("click",this.mainViewClickListener),this.view.divElement.removeEventListener("touchend",this.mainViewClickListener)),this.mainViewIsAddListener=!1}async mainViewClickHandler(){var t;!this.manager.canOperate||(this.store.cleanFocus(),(t=this.manager.boxManager)==null||t.blurAllBox())}addCameraListener(){this.view.callbacks.on("onCameraUpdatedByDevice",this.onCameraUpdatedByDevice),this.view.callbacks.on("onCameraUpdated",this.onCameraOrSizeUpdated),this.view.callbacks.on("onSizeUpdated",this.onCameraOrSizeUpdated)}removeCameraListener(){this.view.callbacks.off("onCameraUpdatedByDevice",this.onCameraUpdatedByDevice),this.view.callbacks.off("onCameraUpdated",this.onCameraOrSizeUpdated),this.view.callbacks.off("onSizeUpdated",this.onCameraOrSizeUpdated)}moveCameraToContian(t){E.isEmpty(t)||(this.view.moveCameraToContain({width:t.width,height:t.height,originX:-t.width/2,originY:-t.height/2,animationMode:A.AnimationMode.Immediately}),this.scale=this.view.camera.scale)}moveCamera(t){if(!E.isEmpty(t)){if(E.isEqual(t,this.view.camera))return;const{centerX:i,centerY:n,scale:r}=t,s=r*(this.scale||1);this.view.moveCamera({centerX:i,centerY:n,scale:s,animationMode:A.AnimationMode.Immediately})}}stop(){var t,i;this.removeCameraListener(),(t=this.manager.refresher)==null||t.remove(Ie.MainViewCamera),(i=this.manager.refresher)==null||i.remove(Ie.MainViewSize),this.started=!1}destroy(){this.removeMainViewListener(),this.stop(),this.sideEffectManager.flushAll()}}class tm{constructor(t){this.context=t,this.addRedoUndoListeners=i=>{if(i===void 0)this.addViewCallbacks(this.context.mainView(),this.onCanRedoStepsUpdate,this.onCanUndoStepsUpdate);else{const n=this.context.getAppProxy(i);n&&n.view&&this.addViewCallbacks(n.view,this.onCanRedoStepsUpdate,this.onCanUndoStepsUpdate)}},this.addViewCallbacks=(i,n,r)=>{n(i.canRedoSteps),r(i.canUndoSteps),i.callbacks.on("onCanRedoStepsUpdate",n),i.callbacks.on("onCanUndoStepsUpdate",r)},this.disposeViewCallbacks=i=>{i.callbacks.off("onCanRedoStepsUpdate",this.onCanRedoStepsUpdate),i.callbacks.off("onCanUndoStepsUpdate",this.onCanUndoStepsUpdate)},this.onCanRedoStepsUpdate=i=>{se.emit("canRedoStepsChange",i)},this.onCanUndoStepsUpdate=i=>{se.emit("canUndoStepsChange",i)},this.disposePrevFocusViewRedoUndoListeners=i=>{let n;if(i===void 0)n=this.context.mainView();else{const r=this.context.getAppProxy(i);r&&r.view&&(n=r.view)}n&&this.disposeViewCallbacks(n)},_.on("focusedChange",i=>{this.disposePrevFocusViewRedoUndoListeners(i.prev),setTimeout(()=>{this.addRedoUndoListeners(i.focused)},0)}),_.on("rootDirRemoved",()=>{this.disposePrevFocusViewRedoUndoListeners(t.focus()),this.addRedoUndoListeners(t.focus())}),this.addRedoUndoListeners(t.focus())}destroy(){this.disposePrevFocusViewRedoUndoListeners(this.context.focus())}}class im{constructor(t){this.windowManger=t,this.appProxies=new Map,this.appStatus=new Map,this.store=Jg,this.isReplay=this.windowManger.isReplay,this.mainViewScenesLength=0,this.callbacksNode=null,this.appCreateQueue=new Sg,this.sideEffectManager=new $n.SideEffectManager,this.sceneState=null,this.rootDirRemoving=!1,this.onRemoveScenes=async i=>{var r,s;const{scenePath:n}=i;if(n===De){await this.onRootDirRemoved(),this.dispatchInternalEvent(J.RootDirRemoved);return}if(Wg(n)){let o=this.mainView.focusSceneIndex||0,a=(r=this.callbacksNode)==null?void 0:r.scenes[o];a||(o=0,a=(s=this.callbacksNode)==null?void 0:s.scenes[o]),a&&this.setMainViewScenePath(`${De}${a}`),await this.setMainViewSceneIndex(o)}else this.appProxies.forEach(o=>{o.onRemoveScene(n)})},this.onReadonlyChanged=()=>{this.appProxies.forEach(i=>{i.emitAppIsWritableChange()})},this.onPlayerSeekStart=async()=>{await this.closeAll()},this.onPlayerSeekDone=async i=>{await this.attributesUpdateCallback(this.attributes.apps),this.appProxies.forEach(n=>{n.onSeek(i)})},this.createRootDirScenesCallback=()=>{let i=!1;this.callbacksNode&&(this.callbacksNode.dispose(),i=!0),this.callbacksNode=this.displayer.createScenesCallback(De,{onAddScene:this.onSceneChange,onRemoveScene:async(n,r)=>{await this.onSceneChange(n),_.emit("rootDirSceneRemoved",r)}}),this.callbacksNode&&(this.updateSceneState(this.callbacksNode),this.mainViewScenesLength=this.callbacksNode.scenes.length,i&&this.emitMainViewScenesChange(this.callbacksNode.scenes.length))},this.removeSceneByIndex=async i=>{var s;const n=Ua(i,this.windowManger.pageState);this.setSceneIndexWithoutSync(n),this.dispatchInternalEvent(J.SetAppFocusIndex,{type:"main",index:n});const r=(s=this.callbacksNode)==null?void 0:s.scenes[i];return setTimeout(()=>{r&&zo(this.room,`${De}${r}`,i)},100),new Promise((o,a)=>{_.once("rootDirSceneRemoved").then(l=>{l===r&&o(!0)}).catch(l=>{console.log(`[WindowManager]: removePage error: ${l}`),a(!1)})})},this.setSceneIndexWithoutSync=i=>{var r;const n=(r=this.callbacksNode)==null?void 0:r.scenes[i];n&&this.mainViewProxy.setFocusScenePath(`${De}${n}`)},this.onSceneChange=i=>(this.mainViewScenesLength=i.scenes.length,this.updateSceneState(i),this.emitMainViewScenesChange(this.mainViewScenesLength)),this.emitMainViewScenesChange=i=>Promise.all([se.emit("mainViewScenesLengthChange",i),_.emit("changePageState")]),this.updateSceneState=i=>{const n=this.store.getMainViewSceneIndex()||0;let r=i.scenes[n];r||(r=i.scenes[this.mainView.focusSceneIndex||0]),this.sceneState={scenePath:`${De}${r}`,contextPath:i.path,index:n,scenes:i.scenes.map(s=>({name:s})),sceneName:r},se.emit("sceneStateChange",this.sceneState)},this.onBoxMove=i=>{this.dispatchInternalEvent(J.AppMove,i),this.store.updateAppState(i.appId,be.Position,{x:i.x,y:i.y})},this.onBoxResize=i=>{i.width&&i.height&&(this.dispatchInternalEvent(J.AppResize,i),this.store.updateAppState(i.appId,be.Size,{width:i.width,height:i.height}))},this.onBoxFocus=i=>{this.windowManger.safeSetAttributes({focus:i.appId})},this.onBoxClose=i=>{const n=this.appProxies.get(i.appId);n&&n.destroy(!1,!0,!0,i.error)},this.onBoxStateChange=i=>{this.dispatchInternalEvent(J.AppBoxStateChange,i)},this.addAppsChangeListener=()=>{var i;(i=this.refresher)==null||i.add("apps",()=>Nd(()=>this.attributes.apps,()=>{this.attributesUpdateCallback(this.attributes.apps)}))},this.addAppCloseListener=()=>{var i;(i=this.refresher)==null||i.add("appsClose",()=>Fg(this.attributes.apps,()=>{this.onAppDelete(this.attributes.apps)}))},this.onMainViewIndexChange=i=>{i!==void 0&&this._prevSceneIndex!==i&&(se.emit("mainViewSceneIndexChange",i),_.emit("changePageState"),this.callbacksNode&&this.updateSceneState(this.callbacksNode),this._prevSceneIndex=i)},this.onFocusChange=i=>{var n;this._prevFocused!==i&&(se.emit("focusedChange",i),_.emit("focusedChange",{focused:i,prev:this._prevFocused}),this._prevFocused=i,i!==void 0&&((n=this.boxManager)==null||n.focusBox({appId:i}),setTimeout(()=>{const r=this.appProxies.get(i);r&&je.notifyApp(r.kind,"focus",{appId:i})},0)))},this.attributesUpdateCallback=E.debounce(i=>this._attributesUpdateCallback(i),100),this.onRegisteredChange=i=>{!i||Object.entries(i).forEach(([n,r])=>{je.appClasses.has(n)||je.register({kind:n,src:r.src,name:r.name})})},this.onMinimized=i=>{var n,r;((n=this.boxManager)==null?void 0:n.minimized)!==i&&(i===!0&&((r=this.boxManager)==null||r.blurAllBox()),setTimeout(()=>{var s;(s=this.boxManager)==null||s.setMinimized(Boolean(i))},0))},this.onAppDelete=async i=>{const n=Object.keys(i);for(const[r,s]of this.appProxies.entries())n.includes(r)||await s.destroy(!0,!1,!0)},this.closeAll=async()=>{for(const[i,n]of this.appProxies.entries())await n.destroy(!0,!1,!0)},this.displayerStateListener=i=>{const n=i.sceneState;if(n){const r=n.scenePath;this.appProxies.forEach(s=>{s.scenePath&&r.startsWith(s.scenePath)&&(s.emitAppSceneStateChange(n),s.setFullPath(r))})}this.appProxies.forEach(r=>{r.appEmitter.emit("roomStateChange",i)}),_.emit("observerIdChange",this.displayer.observerId)},this.displayerWritableListener=i=>{var s,o;const n=!i,r=this.windowManger.readonly===void 0||this.windowManger.readonly===!1;this.windowManger.readonly===void 0?(s=this.boxManager)==null||s.setReadonly(i):(o=this.boxManager)==null||o.setReadonly(!(n&&r)),this.appProxies.forEach(a=>{a.emitAppIsWritableChange()}),_.emit("writableChange",n)},this.updateSceneIndex=()=>{const i=this.store.getMainViewScenePath(),n=qs(i),r=Ri(this.displayer)[n];if(r.length){const s=i.replace(n,"").replace("/",""),o=r.findIndex(a=>a.name===s);E.isInteger(o)&&o>=0&&this.safeSetAttributes({_mainSceneIndex:o})}},this.updateRootDirRemoving=i=>{this.rootDirRemoving=i},this.displayer=t.displayer,this.store.setContext({getAttributes:()=>this.attributes,safeSetAttributes:i=>this.safeSetAttributes(i),safeUpdateAttributes:(i,n)=>this.safeUpdateAttributes(i,n)}),this.mainViewProxy=new em(this),this.viewManager=new Kg(this.displayer),this.appListeners=new Hg(this),this.displayer.callbacks.on(this.eventName,this.displayerStateListener),this.appListeners.addListeners(),this.refresher=ig,this.refresher.setRoom(this.room),this.refresher.setContext({emitter:_}),this.sideEffectManager.add(()=>()=>{var i,n,r;this.appCreateQueue.destroy(),this.mainViewProxy.destroy(),(i=this.refresher)==null||i.destroy(),this.viewManager.destroy(),(n=this.boxManager)==null||n.destroy(),(r=this.callbacksNode)==null||r.dispose()}),_.once("onCreated").then(()=>this.onCreated()),_.on("onReconnected",()=>this.onReconnected()),A.isPlayer(this.displayer)&&(_.on("seekStart",this.onPlayerSeekStart),_.on("seek",this.onPlayerSeekDone)),_.on("removeScenes",this.onRemoveScenes),_.on("setReadonly",this.onReadonlyChanged),this.createRootDirScenesCallback(),je.setSyncRegisterApp(i=>{this.safeUpdateAttributes([Ie.Registered,i.kind],i)})}async onRootDirRemoved(t=!0){this.setMainViewScenePath(xd),this.createRootDirScenesCallback();for(const[i,n]of this.appProxies.entries())n.view&&await this.closeApp(i,t);this.mainViewProxy.rebind(),_.emit("rootDirRemoved"),this.updateRootDirRemoving(!1)}get eventName(){return A.isRoom(this.displayer)?"onRoomStateChanged":"onPlayerStateChanged"}get attributes(){return this.windowManger.attributes}get canOperate(){return this.windowManger.canOperate}get room(){return A.isRoom(this.displayer)?this.displayer:void 0}get mainView(){return this.mainViewProxy.view}get focusApp(){if(this.store.focus)return this.appProxies.get(this.store.focus)}get uid(){var t;return((t=this.room)==null?void 0:t.uid)||""}getMainViewSceneDir(){const t=this.store.getMainViewScenePath();if(t)return qs(t);throw new Error("[WindowManager]: mainViewSceneDir not found")}async onCreated(){var t,i,n,r,s,o;if(await this.attributesUpdateCallback(this.attributes.apps),_.emit("updateManagerRect"),vt.on("move",this.onBoxMove),vt.on("resize",this.onBoxResize),vt.on("focus",this.onBoxFocus),vt.on("close",this.onBoxClose),vt.on("boxStateChange",this.onBoxStateChange),this.addAppsChangeListener(),this.addAppCloseListener(),(t=this.refresher)==null||t.add("maximized",()=>A.autorun(()=>{var l;const a=this.attributes.maximized;(l=this.boxManager)==null||l.setMaximized(Boolean(a))})),(i=this.refresher)==null||i.add("minimized",()=>A.autorun(()=>{const a=this.attributes.minimized;this.onMinimized(a)})),(n=this.refresher)==null||n.add("mainViewIndex",()=>A.autorun(()=>{const a=E.get(this.attributes,"_mainSceneIndex");this.onMainViewIndexChange(a)})),(r=this.refresher)==null||r.add("focusedChange",()=>A.autorun(()=>{const a=E.get(this.attributes,"focus");this.onFocusChange(a)})),(s=this.refresher)==null||s.add("registeredChange",()=>A.autorun(()=>{const a=E.get(this.attributes,Ie.Registered);this.onRegisteredChange(a)})),!this.attributes.apps||Object.keys(this.attributes.apps).length===0){const a=this.store.getMainViewScenePath();if(!a)return;this.resetScenePath(a)}this.displayerWritableListener(!((o=this.room)!=null&&o.isWritable)),this.displayer.callbacks.on("onEnableWriteNowChanged",this.displayerWritableListener),this._prevFocused=this.attributes.focus,this.sideEffectManager.add(()=>{const a=new tm({mainView:()=>this.mainViewProxy.view,focus:()=>this.attributes.focus,getAppProxy:l=>this.appProxies.get(l)});return()=>a.destroy()})}async _attributesUpdateCallback(t){if(t&&ie.container){const i=Object.keys(t);i.length===0&&this.appCreateQueue.emitReady();const n=i.map(r=>({id:r,createdAt:t[r].createdAt}));for(const{id:r}of E.orderBy(n,"createdAt","asc"))if(!this.appProxies.has(r)&&!this.appStatus.has(r)){const s=t[r];try{if(!this.attributes[r])throw new Error("appAttributes is undefined");this.appCreateQueue.push(()=>(this.appStatus.set(r,No.StartCreate),this.baseInsertApp({kind:s.kind,options:s.options,isDynamicPPT:s.isDynamicPPT},r,!1))),this.focusByAttributes(t)}catch(o){console.warn("[WindowManager]: Insert App Error",o)}}}}refresh(){this.attributesUpdateCallback(this.attributes.apps)}setBoxManager(t){this.boxManager=t}resetMaximized(){var t;(t=this.boxManager)==null||t.setMaximized(Boolean(this.store.getMaximized()))}resetMinimized(){var t;(t=this.boxManager)==null||t.setMinimized(Boolean(this.store.getMinimized()))}bindMainView(t,i){const n=this.mainViewProxy.view;n.disableCameraTransform=i,n.divElement=t,n.focusScenePath||this.setMainViewFocusPath(),_.emit("mainViewMounted")}setMainViewFocusPath(t){var n;const i=t||this.store.getMainViewScenePath();if(i)return pi(this.mainView,i),((n=this.mainView)==null?void 0:n.focusScenePath)===i}resetScenePath(t){this.displayer.state.sceneState.scenePath!==t&&Po(this.room,t)}async addApp(t,i){Pt("addApp",t);const{appId:n,needFocus:r}=await this.beforeAddApp(t,i),s=await this.baseInsertApp(t,n,!0,r);return this.afterAddApp(s),s==null?void 0:s.id}async beforeAddApp(t,i){var o,a;const n=await Bg(t.kind);this.appStatus.set(n,No.StartCreate);const r=(o=t.attributes)!=null?o:{};this.safeUpdateAttributes([n],r),this.store.setupAppAttributes(t,n,i);const s=!((a=this.boxManager)!=null&&a.minimized);return s&&this.store.setAppFocus(n,!0),{appId:n,needFocus:s}}afterAddApp(t){var i,n;if(t&&t.box){const r=t.box;vt.emit("move",{appId:t.id,x:r==null?void 0:r.intrinsicX,y:r==null?void 0:r.intrinsicY}),this.store.updateAppState(t.id,be.ZIndex,r.zIndex)}(i=this.boxManager)!=null&&i.minimized&&((n=this.boxManager)==null||n.setMinimized(!1,!1))}async closeApp(t,i=!0){const n=this.appProxies.get(t);n&&n.destroy(!0,i,!1)}async baseInsertApp(t,i,n,r){if(this.appProxies.has(i)){console.warn("[WindowManager]: app duplicate exists and cannot be created again");return}const s=new Wa(t,this,i,n);if(s)return await s.baseInsertApp(r),this.appStatus.delete(i),s;throw this.appStatus.delete(i),new Error("[WindowManger]: initialize AppProxy failed")}safeSetAttributes(t){this.windowManger.safeSetAttributes(t)}safeUpdateAttributes(t,i){this.windowManger.safeUpdateAttributes(t,i)}async setMainViewScenePath(t){if(this.room){const i=this.displayer.scenePathType(t);if(qs(t)!==De)throw new Error('[WindowManager]: main view scenePath must in root dir "/"');if(i===A.ScenePathType.None)throw new Error(`[WindowManager]: ${t} not valid scene`);if(i===A.ScenePathType.Page)await this._setMainViewScenePath(t);else if(i===A.ScenePathType.Dir){const r=Og(this.displayer,t);r&&await this._setMainViewScenePath(r)}}}async _setMainViewScenePath(t){this.setMainViewFocusPath(t)&&(this.safeSetAttributes({_mainScenePath:t}),this.store.setMainViewFocusPath(this.mainView),this.updateSceneIndex(),this.dispatchSetMainViewScenePath(t))}async setMainViewSceneIndex(t){var i;if(this.room){if(this.store.getMainViewSceneIndex()===t)return;const n=(i=this.callbacksNode)==null?void 0:i.scenes[t],r=`${De}${n}`;if(n)this.setMainViewFocusPath(r)&&(this.store.setMainViewScenePath(r),this.safeSetAttributes({_mainSceneIndex:t}),this.dispatchSetMainViewScenePath(r));else throw new Error(`[WindowManager]: ${t} not valid index`)}}dispatchSetMainViewScenePath(t){this.dispatchInternalEvent(J.SetMainViewScenePath,{nextScenePath:t}),Po(this.room,t)}getAppInitPath(t){var n;const i=this.store.getAppAttributes(t);if(i)return(n=i==null?void 0:i.options)==null?void 0:n.scenePath}safeDispatchMagixEvent(t,i){this.canOperate&&this.displayer.dispatchMagixEvent(t,i)}focusByAttributes(t){var i;if(t&&Object.keys(t).length===((i=this.boxManager)==null?void 0:i.boxSize)){const n=this.store.focus;n&&this.boxManager.focusBox({appId:n})}}async onReconnected(){this.attributesUpdateCallback(this.attributes.apps);const i=Array.from(this.appProxies.values()).map(n=>n.onReconnected());this.mainViewProxy.onReconnect(),await Promise.all(i),this.callbacksNode&&this.onSceneChange(this.callbacksNode)}notifyContainerRectUpdate(t){this.appProxies.forEach(i=>{i.appEmitter.emit("containerRectUpdate",t)})}dispatchInternalEvent(t,i){this.safeDispatchMagixEvent(ko,{eventName:t,payload:i})}destroy(){this.displayer.callbacks.off(this.eventName,this.displayerStateListener),this.displayer.callbacks.off("onEnableWriteNowChanged",this.displayerWritableListener),this.appListeners.removeListeners(),vt.clearListeners(),_.clearListeners(),this.appProxies.size&&this.appProxies.forEach(t=>{t.destroy(!0,!1,!0)}),se.clearListeners(),this.sideEffectManager.flushAll(),this._prevFocused=void 0,this._prevSceneIndex=void 0}}const nm=e=>{const t=document.createElement("div");t.className="netless-window-manager-playground";const i=document.createElement("div");i.className="netless-window-manager-sizer";const n=document.createElement("div");n.className="netless-window-manager-wrapper";const r=document.createElement("div");return r.className="netless-window-manager-main-view",t.appendChild(i),i.appendChild(n),n.appendChild(r),e.appendChild(t),ie.wrapper=n,{playground:t,wrapper:n,sizer:i,mainViewElement:r}},rm=()=>{if(mu(A.WhiteVersion)<mu(pu))throw new Md(pu)},Do=(e,t)=>{var s;const i=(e==null?void 0:e.state.roomMembers)||[];let n=-1,r;for(const o of i)((s=o.payload)==null?void 0:s.uid)===t&&n<o.memberId&&(n=o.memberId,r=o);return r},yu=async e=>{try{return await e.createInvisiblePlugin(ie,{})}catch(t){if(t.message==='invisible plugin "WindowManager" exits')return await Yr(200),e.getInvisiblePlugin(ie.kind);Pt("createInvisiblePlugin failed",t)}},sm=window.ResizeObserver||fg.ResizeObserver;class Ha{constructor(t){this.emitter=t}static create(t,i,n,r){const s=new Ha(r);return s.observePlaygroundSize(t,i,n),s}observePlaygroundSize(t,i,n){this.updateSizer(t.getBoundingClientRect(),i,n),this.containerResizeObserver=new sm(r=>{var o;const s=(o=r[0])==null?void 0:o.contentRect;s&&(this.updateSizer(s,i,n),this.emitter.emit("playgroundSizeChange",s))}),this.disposer=this.emitter.on("containerSizeRatioUpdate",()=>{const r=t.getBoundingClientRect();this.updateSizer(r,i,n),this.emitter.emit("playgroundSizeChange",r)}),this.containerResizeObserver.observe(t)}updateSizer({width:t,height:i},n,r){t&&i&&(i/t>ie.containerSizeRatio?(i=t*ie.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!0)):(t=i/ie.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!1)),r.style.width=`${t}px`,r.style.height=`${i}px`)}disconnect(){var t;(t=this.containerResizeObserver)==null||t.disconnect(),E.isFunction(this.disposer)&&(this.disposer(),this.disposer=void 0)}}var yi={exports:{}},Y={};/*
2
+ ;return ${t}`)();return typeof i=="undefined"&&(i=window[t]),i},zg=async(e,t,i)=>{const n=i||kg+t;se.emit("loadApp",{kind:t,status:"start"});let r;try{if(r=await Pg(e),!r||r.length===0)throw se.emit("loadApp",{kind:t,status:"failed",reason:"script is empty."}),new Error("[WindowManager]: script is empty.")}catch(s){throw se.emit("loadApp",{kind:t,status:"failed",reason:s.message}),s}return Dg(r,n,t)},Dg=(e,t,i)=>{try{const n=gu(e,t);return se.emit("loadApp",{kind:i,status:"success"}),n}catch(n){if(n.message.includes("Can only have one anonymous define call per script file")){const r=window.define;typeof r=="function"&&r.amd&&delete r.amd;const s=gu(e,t);return se.emit("loadApp",{kind:i,status:"success"}),s}throw se.emit("loadApp",{kind:i,status:"failed",reason:n.message}),n}};async function Lg(e,t){const{timeout:i=1e4}=t,n=new AbortController,r=setTimeout(()=>n.abort(),i),s=await fetch(e,Ye(q({},t),{signal:n.signal,headers:{"content-type":"text/plain"}}));return clearTimeout(r),s}class jg{constructor(){this.kindEmitters=new Map,this.registered=new Map,this.appClassesCache=new Map,this.appClasses=new Map,this.syncRegisterApp=null,this.onSyncRegisterAppChange=t=>{this.register({kind:t.kind,src:t.src})}}setSyncRegisterApp(t){this.syncRegisterApp=t}async register(t){this.appClassesCache.delete(t.kind),this.registered.set(t.kind,t);const i=t.src;let n;if(typeof i=="string"&&(n=async()=>{const r=await zg(i,t.kind,t.name);return r.__esModule?r.default:r},this.syncRegisterApp&&this.syncRegisterApp({kind:t.kind,src:i,name:t.name})),typeof i=="function"&&(n=async()=>{let r=await i();if(r)return(r.__esModule||r.default)&&(r=r.default),r;throw new Error(`[WindowManager]: load remote script failed, ${i}`)}),typeof i=="object"&&(n=async()=>i),this.appClasses.set(t.kind,async()=>{let r=this.appClassesCache.get(t.kind);return r||(r=n(),this.appClassesCache.set(t.kind,r)),r}),t.addHooks){const r=this.createKindEmitter(t.kind);r&&t.addHooks(r)}}unregister(t){this.appClasses.delete(t),this.appClassesCache.delete(t),this.registered.delete(t);const i=this.kindEmitters.get(t);i&&(i.clearListeners(),this.kindEmitters.delete(t))}async notifyApp(t,i,n){const r=this.kindEmitters.get(t);await(r==null?void 0:r.emit(i,n))}createKindEmitter(t){if(!this.kindEmitters.has(t)){const i=new Fn.default;this.kindEmitters.set(t,i)}return this.kindEmitters.get(t)}}const je=new jg,Bg=async e=>{var i,n;const t=await((i=je.appClasses.get(e))==null?void 0:i());return t&&((n=t.config)==null?void 0:n.singleton)?e:`${e}-${pg.v4().replace("-","").slice(0,8)}`},pi=(e,t)=>{if(e.focusScenePath!==t)return e.focusScenePath=t,e},Po=(e,t)=>{if(e&&e.isWritable&&e.state.sceneState.scenePath!==t){const i=t==="/"?"":t;e.setScenePath(i)}},Rg=(e,t,i)=>{var n;if(e&&t){const s=(n=Ri(e)[t])==null?void 0:n[i];if(s)return`${t}/${s.name}`}},zo=(e,t,i)=>{e&&e.scenePathType(t)!==A.ScenePathType.None&&e.removeScenes(t,i)},_g=(e,t)=>{_.once(e).then(t)};E.debounce((e,t)=>{e.emit("mainViewModeChange",t)},200);const Og=(e,t,i=0)=>{const n=Ri(e)[t];if(!n)return;const r=n[i];if(!r)return;const s=r.name;return t===De?`/${s}`:`${t}/${s}`},Ri=e=>e.entireScenes(),fn=(e,t,i,n)=>{var r;for(let s=0;s<i.length;++s)if((r=i[s].name)!=null&&r.includes("/"))throw new Error("scenes name can not have '/'");return e==null?void 0:e.putScenes(t,i,n)},Vg=e=>e.startsWith("/"),qs=e=>{const t=e.split("/");t.pop();let i=t.join("/");return i===""&&(i="/"),i},Ug=e=>e.endsWith("/")?e.slice(0,-1):e,mu=e=>{const t=e.split(".").map(i=>i.padStart(2,"0")).join("");return parseInt(t)},Yr=e=>new Promise(t=>setTimeout(t,e)),Wg=e=>e.split("").reduce((i,n)=>(n===De&&(i+=1),i),0)===1;class Hg{constructor(t){this.manager=t,this.displayer=this.manager.displayer,this.mainMagixEventListener=i=>{if(i.authorId!==this.displayer.observerId){const n=i.payload;switch(n.eventName){case J.AppMove:{this.appMoveHandler(n.payload);break}case J.AppResize:{this.appResizeHandler(n.payload);break}case J.AppBoxStateChange:{this.boxStateChangeHandler(n.payload);break}case J.SetMainViewScenePath:{this.setMainViewScenePathHandler(n.payload);break}case J.MoveCamera:{this.moveCameraHandler(n.payload);break}case J.MoveCameraToContain:{this.moveCameraToContainHandler(n.payload);break}case J.CursorMove:{this.cursorMoveHandler(n.payload);break}case J.RootDirRemoved:{this.rootDirRemovedHandler();break}case J.Refresh:{this.refreshHandler();break}case J.InitMainViewCamera:{this.initMainViewCameraHandler();break}case J.SetAppFocusIndex:{this.setAppFocusViewIndexHandler(n.payload);break}}}},this.appMoveHandler=i=>{var n;(n=this.boxManager)==null||n.moveBox(i)},this.appResizeHandler=i=>{var n,r;(n=this.boxManager)==null||n.resizeBox(Object.assign(i,{skipUpdate:!0})),(r=this.manager.room)==null||r.refreshViewSize()},this.boxStateChangeHandler=i=>{se.emit("boxStateChange",i)},this.setMainViewScenePathHandler=({nextScenePath:i})=>{pi(this.manager.mainView,i),se.emit("mainViewScenePathChange",i)},this.moveCameraHandler=i=>{E.isEqual(E.omit(i,["animationMode"]),q({},this.manager.mainView.camera))||this.manager.mainView.moveCamera(i)},this.moveCameraToContainHandler=i=>{this.manager.mainView.moveCameraToContain(i)},this.cursorMoveHandler=i=>{_.emit("cursorMove",i)},this.rootDirRemovedHandler=()=>{this.manager.createRootDirScenesCallback(),this.manager.mainViewProxy.rebind(),_.emit("rootDirRemoved")},this.refreshHandler=()=>{this.manager.windowManger._refresh()},this.initMainViewCameraHandler=()=>{this.manager.mainViewProxy.addCameraReaction()},this.setAppFocusViewIndexHandler=i=>{if(i.type==="main")this.manager.setSceneIndexWithoutSync(i.index);else if(i.type==="app"&&i.appID){const n=this.manager.appProxies.get(i.appID);n&&n.setSceneIndexWithoutSync(i.index)}}}get boxManager(){return this.manager.boxManager}addListeners(){this.displayer.addMagixEventListener(ko,this.mainMagixEventListener)}removeListeners(){this.displayer.removeMagixEventListener(ko,this.mainMagixEventListener)}}class Cd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: app duplicate exists and cannot be created again"}}class $g extends Error{constructor(t){super(`[WindowManager]: app ${t} need register or provide src`)}}class Xe extends Error{constructor(){super(...arguments);this.message="[WindowManager]: AppManager must be initialized"}}class Md extends Error{constructor(t){super(`[WindowManager]: white-web-sdk version must large than ${t}`)}}class Id extends Error{constructor(){super(...arguments);this.message="[WindowManager]: kind must be a valid string"}}class bd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: box need created"}}class Ad extends Error{constructor(){super(...arguments);this.message='[WindowManager]: ScenePath should start with "/"'}}class Ed extends Error{constructor(){super(...arguments);this.message="[WindowManager]: boxManager not found"}}class Td extends Error{constructor(){super(...arguments);this.message="[WindowManager]: room phase only Connected can be bindContainer"}}const kd=e=>(t,i)=>{if(t!==void 0)if(A.listenUpdated){const n=r=>{r.map(o=>o.kind).includes(e)&&i()};return A.listenUpdated(t,n),i(),()=>A.unlistenUpdated(t,n)}else return A.reaction(()=>t,()=>{i()},{fireImmediately:!0})},Nd=(e,t,i)=>{let n=null;const r=A.reaction(e,()=>{n&&(n(),n=null);const s=e();E.isObject(s)?(n=()=>A.unlistenUpdated(s,t),A.listenUpdated(s,t)):i==null||i(s)},{fireImmediately:!0});return()=>{n==null||n(),r()}},Fg=kd(A.UpdateEventKind.Removed);kd(A.UpdateEventKind.Inserted);const eo=Object.keys;function vu(e){return Boolean(E.has(e,"__isRef"))}function Qg(e){return{k:$n.genUID(),v:e,__isRef:!0}}class Zg{constructor(){this.listeners=new Set}get length(){return this.listeners.size}dispatch(t){this.listeners.forEach(i=>i(t))}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}}const Ge="_WM-STORAGE_";class wu{constructor(t,i,n){if(this._sideEffect=new $n.SideEffectManager,this._destroyed=!1,this._refMap=new WeakMap,this._lastValue=new Map,this.onStateChanged=new Zg,n&&!E.isObject(n))throw new Error(`Default state for Storage ${i} is not an object.`);this._context=t,this.id=i||null,this._state={};const r=this._getRawState(this._state);this._context.getIsWritable()&&(this.id===null?t.isAddApp&&n&&this.setState(n):(r===this._state||!E.isObject(r))&&(E.get(this._context.getAttributes(),[Ge])||this._context.updateAttributes([Ge],{}),this._context.updateAttributes([Ge,this.id],this._state),n&&this.setState(n))),eo(r).forEach(s=>{if(!(this.id===null&&s===Ge))try{const o=E.isObject(r[s])?JSON.parse(JSON.stringify(r[s])):r[s];vu(o)?(this._state[s]=o.v,E.isObject(o.v)&&this._refMap.set(o.v,o)):this._state[s]=o}catch(o){console.error(o)}}),this._sideEffect.addDisposer(Nd(()=>this.id===null?t.getAttributes():E.get(t.getAttributes(),[Ge,this.id]),this._updateProperties.bind(this),this.destroy.bind(this)))}get state(){return this._destroyed&&console.warn(`Accessing state on destroyed Storage "${this.id}"`),this._state}addStateChangedListener(t){return this.onStateChanged.addListener(t),()=>this.onStateChanged.removeListener(t)}ensureState(t){return this.setState(eo(t).reduce((i,n)=>(E.has(this._state,n)||(i[n]=t[n]),i),{}))}setState(t){if(this._destroyed){console.error(new Error(`Cannot call setState on destroyed Storage "${this.id}".`));return}if(!this._context.getIsWritable()){console.error(new Error(`Cannot setState on Storage "${this.id}" without writable access`),t);return}const i=eo(t);i.length>0&&i.forEach(n=>{const r=t[n];if(r!==this._state[n])if(r===void 0)this._lastValue.set(n,this._state[n]),delete this._state[n],this._setRawState(n,r);else{this._lastValue.set(n,this._state[n]),this._state[n]=r;let s=r;if(E.isObject(r)){let o=this._refMap.get(r);o||(o=Qg(r),this._refMap.set(r,o)),s=o}this._setRawState(n,s)}})}emptyStorage(){if(!(E.size(this._state)<=0)){if(this._destroyed){console.error(new Error(`Cannot empty destroyed Storage "${this.id}".`));return}if(!this._context.getIsWritable()){console.error(new Error(`Cannot empty Storage "${this.id}" without writable access.`));return}this.setState(E.mapValues(this._state,E.noop))}}deleteStorage(){if(this.id===null)throw new Error("Cannot delete main Storage");if(!this._context.getIsWritable()){console.error(new Error(`Cannot delete Storage "${this.id}" without writable access.`));return}this.destroy(),this._context.updateAttributes([Ge,this.id],void 0)}get destroyed(){return this._destroyed}destroy(){this._destroyed=!0,this._sideEffect.flushAll()}_getRawState(t){var i;return this.id===null?(i=this._context.getAttributes())!=null?i:t:E.get(this._context.getAttributes(),[Ge,this.id],t)}_setRawState(t,i){if(this.id===null){if(t===Ge)throw new Error(`Cannot set attribute internal filed "${Ge}"`);return this._context.updateAttributes([t],i)}else return this._context.updateAttributes([Ge,this.id,t],i)}_updateProperties(t){var i;if(this._destroyed){console.error(new Error(`Cannot call _updateProperties on destroyed Storage "${this.id}".`));return}if(t.length>0){const n={};for(let r=0;r<t.length;r++)try{const s=t[r],o=s.key;if(this.id===null&&o===Ge)continue;const a=E.isObject(s.value)?JSON.parse(JSON.stringify(s.value)):s.value;let l;switch(this._lastValue.has(o)&&(l=this._lastValue.get(o),this._lastValue.delete(o)),s.kind){case 2:{E.has(this._state,o)&&(l=this._state[o],delete this._state[o]),n[o]={oldValue:l};break}default:{let u=a;if(vu(a)){const{k:h,v:c}=a,m=this._state[o];E.isObject(m)&&((i=this._refMap.get(m))==null?void 0:i.k)===h?u=m:(u=c,E.isObject(c)&&this._refMap.set(c,a))}u!==this._state[o]&&(l=this._state[o],this._state[o]=u),n[o]={newValue:u,oldValue:l};break}}}catch(s){console.error(s)}this.onStateChanged.dispatch(n)}}}class Yg{constructor(t,i,n,r,s){this.manager=t,this.boxManager=i,this.appId=n,this.appProxy=r,this.appOptions=s,this.mobxUtils={autorun:A.autorun,reaction:A.reaction,toJS:A.toJS},this.objectUtils={listenUpdated:A.listenUpdated,unlistenUpdated:A.unlistenUpdated,listenDisposed:A.listenDisposed,unlistenDisposed:A.unlistenDisposed},this.store=this.manager.store,this.isReplay=this.manager.isReplay,this.getDisplayer=()=>this.manager.displayer,this.getAttributes=()=>this.appProxy.attributes,this.getScenes=()=>{const o=this.store.getAppAttributes(this.appId);return o!=null&&o.isDynamicPPT?this.appProxy.scenes:o==null?void 0:o.options.scenes},this.getView=()=>this.appProxy.view,this.mountView=o=>{const a=this.getView();a&&(a.divElement=o,setTimeout(()=>{var l;(l=this.getRoom())==null||l.refreshViewSize()},1e3))},this.getInitScenePath=()=>this.manager.getAppInitPath(this.appId),this.getIsWritable=()=>this.manager.canOperate,this.getBox=()=>{const o=this.boxManager.getBox(this.appId);if(o)return o;throw new bd},this.getRoom=()=>this.manager.room,this.setAttributes=o=>{this.manager.safeSetAttributes({[this.appId]:o})},this.updateAttributes=(o,a)=>{this.manager.attributes[this.appId]&&this.manager.safeUpdateAttributes([this.appId,...o],a)},this.setScenePath=async o=>{var a;!this.appProxy.box||(this.appProxy.setFullPath(o),(a=this.getRoom())==null||a.setScenePath(o))},this.getAppOptions=()=>typeof this.appOptions=="function"?this.appOptions():this.appOptions,this.createStorage=(o,a)=>{const l=new wu(this,o,a);return this.emitter.on("destroy",()=>{l.destroy()}),l},this.dispatchMagixEvent=(...o)=>{var l;const a=`${this.appId}:${o[0]}`;return(l=this.manager.room)==null?void 0:l.dispatchMagixEvent(a,o[1])},this.addMagixEventListener=(o,a,l)=>{const u=`${this.appId}:${o}`;return this.manager.displayer.addMagixEventListener(u,a,l),()=>this.manager.displayer.removeMagixEventListener(u,a)},this.removeMagixEventListener=this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer),this.nextPage=async()=>{const o=this.pageState.index+1;return o>this.pageState.length-1?(console.warn("[WindowManager] nextPage: index out of range"),!1):(this.appProxy.setSceneIndex(o),!0)},this.prevPage=async()=>{const o=this.pageState.index-1;return o<0?(console.warn("[WindowManager] prevPage: index out of range"),!1):(this.appProxy.setSceneIndex(o),!0)},this.addPage=async o=>{const a=o==null?void 0:o.after,l=o==null?void 0:o.scene,u=this.appProxy.scenePath;if(!!u)if(a){const h=this.pageState.index+1;fn(this.manager.room,u,[l||{}],h)}else fn(this.manager.room,u,[l||{}])},this.removePage=async o=>{const a=o===void 0?this.pageState.index:o;return this.pageState.length===1?(console.warn("[WindowManager]: can not remove the last page"),!1):a<0||a>=this.pageState.length?(console.warn(`[WindowManager]: page index ${o} out of range`),!1):this.appProxy.removeSceneByIndex(a)},this.emitter=r.appEmitter,this.isAddApp=r.isAddApp}get storage(){return this._storage||(this._storage=new wu(this)),this._storage}get pageState(){return this.appProxy.pageState}}class Gg{constructor(t){this.params=t,this.sceneNode=null,this.onSceneChange=r=>{this.sceneNode=r,this.params.notifyPageStateChange()};const{displayer:i,scenePath:n}=this.params;n&&(this.sceneNode=i.createScenesCallback(n,{onAddScene:this.onSceneChange,onRemoveScene:this.onSceneChange}))}getFullPath(t){var n;const i=(n=this.sceneNode)==null?void 0:n.scenes;if(this.params.scenePath&&i){const r=i[t];if(r)return`${this.params.scenePath}/${r}`}}toObject(){var t,i;return{index:((t=this.params.view)==null?void 0:t.focusSceneIndex)||0,length:((i=this.sceneNode)==null?void 0:i.scenes.length)||0}}destroy(){var t;(t=this.sceneNode)==null||t.dispose()}}var Ie=(e=>(e.Apps="apps",e.Focus="focus",e.State="state",e.BoxState="boxState",e.MainViewCamera="mainViewCamera",e.MainViewSize="mainViewSize",e.Broadcaster="broadcaster",e.Cursors="cursors",e.Position="position",e.CursorState="cursorState",e.FullPath="fullPath",e.Registered="registered",e))(Ie||{});class Xg{constructor(t){this.context=t,this.setAppFocus=(i,n)=>{n?this.context.safeSetAttributes({focus:i}):this.context.safeSetAttributes({focus:void 0})}}setContext(t){this.context=t}get attributes(){return this.context.getAttributes()}apps(){return E.get(this.attributes,["apps"])}get focus(){return E.get(this.attributes,["focus"])}getAppAttributes(t){return E.get(this.apps(),[t])}getAppState(t){return E.get(this.apps(),[t,"state"])}getMaximized(){return E.get(this.attributes,["maximized"])}getMinimized(){return E.get(this.attributes,["minimized"])}setupAppAttributes(t,i,n){this.attributes.apps||this.context.safeSetAttributes({apps:{}});const s=["scenePath","title"];n||s.push("scenes");const o=E.pick(t.options,s),a={kind:t.kind,options:o,isDynamicPPT:n};typeof t.src=="string"&&(a.src=t.src),a.createdAt=Date.now(),this.context.safeUpdateAttributes(["apps",i],a),this.context.safeUpdateAttributes(["apps",i,"state"],{[be.Size]:{},[be.Position]:{},[be.SceneIndex]:0})}updateAppState(t,i,n){E.get(this.attributes,["apps",t,"state"])&&this.context.safeUpdateAttributes(["apps",t,"state",i],n)}cleanAppAttributes(t){this.context.safeUpdateAttributes(["apps",t],void 0),this.context.safeSetAttributes({[t]:void 0}),this.attributes.focus===t&&this.cleanFocus()}cleanFocus(){this.context.safeSetAttributes({focus:void 0})}getAppSceneIndex(t){var i;return(i=this.getAppState(t))==null?void 0:i[be.SceneIndex]}getAppScenePath(t){var i,n;return(n=(i=this.getAppAttributes(t))==null?void 0:i.options)==null?void 0:n.scenePath}getMainViewScenePath(){return this.attributes._mainScenePath}getMainViewSceneIndex(){return this.attributes._mainSceneIndex}getBoxState(){return this.attributes.boxState}setMainViewScenePath(t){this.context.safeSetAttributes({_mainScenePath:t})}setMainViewSceneIndex(t){this.context.safeSetAttributes({_mainSceneIndex:t})}getMainViewCamera(){return E.get(this.attributes,["mainViewCamera"])}getMainViewSize(){return E.get(this.attributes,["mainViewSize"])}setMainViewCamera(t){this.context.safeSetAttributes({mainViewCamera:q({},t)})}setMainViewSize(t){this.context.safeSetAttributes({mainViewSize:q({},t)})}setMainViewCameraAndSize(t,i){this.context.safeSetAttributes({mainViewCamera:q({},t),mainViewSize:q({},i)})}updateCursor(t,i){E.get(this.attributes,["cursors"])||this.context.safeUpdateAttributes(["cursors"],{}),E.get(this.attributes,["cursors",t])||this.context.safeUpdateAttributes(["cursors",t],{}),this.context.safeUpdateAttributes(["cursors",t,"position"],i)}updateCursorState(t,i){E.get(this.attributes,["cursors",t])||this.context.safeUpdateAttributes(["cursors",t],{}),this.context.safeUpdateAttributes(["cursors",t,"cursorState"],i)}getCursorState(t){return E.get(this.attributes,["cursors",t,"cursorState"])}cleanCursor(t){this.context.safeUpdateAttributes(["cursors",t],void 0)}setMainViewFocusPath(t){const i=this.getMainViewScenePath();i&&pi(t,i)}}const Jg=new Xg({getAttributes:()=>{throw new Error("getAttributes not implemented")},safeSetAttributes:()=>{throw new Error("safeSetAttributes not implemented")},safeUpdateAttributes:()=>{throw new Error("safeUpdateAttributes not implemented")}}),Pt=(...e)=>{ie.debug&&console.log("[WindowManager]:",...e)},Ua=(e,t)=>{let i=0;const n=t.length-1;return e===t.index?e===n?i=e-1:i=t.index+1:i=t.index,i},vt=new Fn.default;class Wa{constructor(t,i,n,r){var s;this.params=t,this.manager=i,this.boxManager=this.manager.boxManager,this.appProxies=this.manager.appProxies,this.viewManager=this.manager.viewManager,this.store=this.manager.store,this.status="normal",this.getAppInitState=o=>{var d,p;const a=this.store.getAppState(o);if(!a)return;const l=a==null?void 0:a[be.Position],u=this.store.focus,h=a==null?void 0:a[be.Size],c=a==null?void 0:a[be.SceneIndex],m=(d=this.attributes)==null?void 0:d.maximized,v=(p=this.attributes)==null?void 0:p.minimized,y=a==null?void 0:a.zIndex;let S={maximized:m,minimized:v,zIndex:y};return l&&(S=Ye(q({},S),{id:o,x:l.x,y:l.y})),u===o&&(S=Ye(q({},S),{focus:!0})),h&&(S=Ye(q({},S),{width:h.width,height:h.height})),c&&(S=Ye(q({},S),{sceneIndex:c})),S},this.appAttributesUpdateListener=o=>{var a,l,u;(a=this.manager.refresher)==null||a.add(o,()=>A.autorun(()=>{const h=this.manager.attributes[o];h&&this.appEmitter.emit("attributesUpdate",h)})),(l=this.manager.refresher)==null||l.add(this.stateKey,()=>A.autorun(()=>{var c,m,v;const h=(c=this.appAttributes)==null?void 0:c.state;(h==null?void 0:h.zIndex)>0&&h.zIndex!==((m=this.box)==null?void 0:m.zIndex)&&((v=this.boxManager)==null||v.setZIndex(o,h.zIndex))})),(u=this.manager.refresher)==null||u.add(`${o}-fullPath`,()=>A.autorun(()=>{var c;const h=(c=this.appAttributes)==null?void 0:c.fullPath;this.setFocusScenePathHandler(h),this._prevFullPath!==h&&(this.notifyPageStateChange(),this._prevFullPath=h)}))},this.setFocusScenePathHandler=E.debounce(o=>{var a;this.view&&o&&o!==((a=this.view)==null?void 0:a.focusScenePath)&&pi(this.view,o)},50),this.notifyPageStateChange=E.debounce(()=>{this.appEmitter.emit("pageStateChange",this.pageState)},50),this.kind=t.kind,this.id=n,this.stateKey=`${this.id}_state`,this.appProxies.set(this.id,this),this.appEmitter=new Fn.default,this.appListener=this.makeAppEventListener(this.id),this.isAddApp=r,this.initScenes(),(s=this.params.options)!=null&&s.scenePath&&this.createView(),this._pageState=new Gg({displayer:this.manager.displayer,scenePath:this.scenePath,view:this.view,notifyPageStateChange:this.notifyPageStateChange})}initScenes(){var i;const t=this.params.options;t&&(this.scenePath=t.scenePath,((i=this.appAttributes)==null?void 0:i.isDynamicPPT)&&this.scenePath?this.scenes=Ri(this.manager.displayer)[this.scenePath]:this.scenes=t.scenes)}get view(){return this.manager.viewManager.getView(this.id)}get viewIndex(){var t;return(t=this.view)==null?void 0:t.focusSceneIndex}get isWritable(){var t;return this.manager.canOperate&&!((t=this.box)!=null&&t.readonly)}get attributes(){return this.manager.attributes[this.id]}get appAttributes(){return this.store.getAppAttributes(this.id)}getFullScenePath(){if(this.scenePath)return E.get(this.appAttributes,[Ie.FullPath])||this.getFullScenePathFromScenes()}getFullScenePathFromScenes(){const t=E.get(this.appAttributes,["state","SceneIndex"],0),i=Rg(this.manager.room,this.scenePath,t);return i&&this.setFullPath(i),i}setFullPath(t){this.manager.safeUpdateAttributes(["apps",this.id,Ie.FullPath],t)}async baseInsertApp(t=!1){var s;const i=this.params;if(!i.kind)throw new Error("[WindowManager]: kind require");const n=await((s=je.appClasses.get(i.kind))==null?void 0:s()),r=je.registered.get(i.kind);if(n)await this.setupApp(this.id,t,n,i.options,r==null?void 0:r.appOptions);else throw new Error(`[WindowManager]: app load failed ${i.kind} ${i.src}`);return _.emit("updateManagerRect"),{appId:this.id,app:n}}get box(){var t;return(t=this.boxManager)==null?void 0:t.getBox(this.id)}async setupApp(t,i,n,r,s){var a;if(Pt("setupApp",t,n,r),!this.boxManager)throw new Ed;const o=new Yg(this.manager,this.boxManager,t,this,s);this.appContext=o;try{_.once(`${t}${J.WindowCreated}`).then(async()=>{var u;let l;i||(l=this.getAppInitState(t),(u=this.boxManager)==null||u.updateBoxState(l)),this.appEmitter.onAny(this.appListener),this.appAttributesUpdateListener(t),this.setViewFocusScenePath(),setTimeout(async()=>{console.log("setup app",n);const h=await n.setup(o);this.appResult=h,je.notifyApp(this.kind,"created",{appId:t,result:h}),this.afterSetupApp(l),this.fixMobileSize()},Sd)}),(a=this.boxManager)==null||a.createBox({appId:t,app:n,options:r,canOperate:this.manager.canOperate,smartPosition:this.isAddApp}),this.isAddApp&&this.box&&(this.store.updateAppState(t,be.ZIndex,this.box.zIndex),this.store.updateAppState(t,be.Size,{width:this.box.intrinsicWidth,height:this.box.intrinsicHeight}),this.boxManager.focusBox({appId:t},!1))}catch(l){throw console.error(l),new Error(`[WindowManager]: app setup error: ${l.message}`)}}fixMobileSize(){var i,n;const t=(i=this.boxManager)==null?void 0:i.getBox(this.id);t&&((n=this.boxManager)==null||n.resizeBox({appId:this.id,width:t.intrinsicWidth+.001,height:t.intrinsicHeight+.001,skipUpdate:!0}))}afterSetupApp(t){var i;t&&(!(t!=null&&t.x)||!t.y)&&((i=this.boxManager)==null||i.setBoxInitState(this.id))}async onSeek(t){var n;this.appEmitter.emit("seek",t).catch(r=>{console.log(`[WindowManager]: emit seek error: ${r.message}`)});const i=this.getAppInitState(this.id);(n=this.boxManager)==null||n.updateBoxState(i)}async onReconnected(){var s;if(!Boolean(this.manager.attributes.apps[this.id])){await this.destroy(!0,!1,!0);return}this.appEmitter.emit("reconnected",void 0);const i=this.getAppInitState(this.id);await this.destroy(!0,!1,!0);const n=this.params;await new Wa(n,this.manager,this.id,this.isAddApp).baseInsertApp(!0),(s=this.boxManager)==null||s.updateBoxState(i)}async onRemoveScene(t){if(this.scenePath&&t.startsWith(this.scenePath+"/")){let i=this.pageState.index,n=this._pageState.getFullPath(i);n||(i=0,n=this._pageState.getFullPath(i)),n&&this.setFullPath(n),this.setViewFocusScenePath(),this.view&&(this.view.focusSceneIndex=i)}}emitAppSceneStateChange(t){this.appEmitter.emit("sceneStateChange",t)}emitAppIsWritableChange(){this.appEmitter.emit("writableChange",this.isWritable)}makeAppEventListener(t){return(i,n)=>{var r,s,o,a;if(!!this.manager.canOperate)switch(i){case"setBoxSize":{(r=this.boxManager)==null||r.resizeBox({appId:t,width:n.width,height:n.height,skipUpdate:!1});break}case"setBoxMinSize":{(s=this.boxManager)==null||s.setBoxMinSize({appId:t,minWidth:n.minwidth,minHeight:n.minheight});break}case"setBoxTitle":{(o=this.boxManager)==null||o.setBoxTitle({appId:t,title:n.title});break}case wd.destroy:{if(this.status==="destroyed")return;this.destroy(!0,!1,!0,n==null?void 0:n.error),n!=null&&n.error&&console.error(n==null?void 0:n.error);break}case"focus":{(a=this.boxManager)==null||a.focusBox({appId:this.id}),vt.emit("focus",{appId:this.id});break}}}}setScenePath(){if(!this.manager.canOperate)return;const t=this.getFullScenePath();this.manager.room&&t&&this.view&&Po(this.manager.room,t)}setViewFocusScenePath(){const t=this.getFullScenePath();return t&&this.view&&pi(this.view,t),t}async createView(){const t=await this.viewManager.createView(this.id);return this.setViewFocusScenePath(),t}get pageState(){return this._pageState.toObject()}async removeSceneByIndex(t){const i=this._pageState.getFullPath(t);if(i){const n=Ua(t,this.pageState);return this.setSceneIndexWithoutSync(n),this.manager.dispatchInternalEvent(J.SetAppFocusIndex,{type:"app",appID:this.id,index:n}),setTimeout(()=>{zo(this.manager.room,i,t)},100),!0}else return!1}setSceneIndexWithoutSync(t){this.view&&(this.view.focusSceneIndex=t)}setSceneIndex(t){if(this.view){this.view.focusSceneIndex=t;const i=this._pageState.getFullPath(t);i&&this.setFullPath(i)}}async destroy(t,i,n,r){var s,o,a,l;if(this.status!=="destroyed"){this.status="destroyed";try{await je.notifyApp(this.kind,"destroy",{appId:this.id}),await this.appEmitter.emit("destroy",{error:r})}catch(u){console.error("[WindowManager]: notifyApp error",u.message,u.stack)}this.appEmitter.clearListeners(),_.emit(`destroy-${this.id}`,{error:r}),t&&((s=this.boxManager)==null||s.closeBox(this.id,n)),i&&(this.store.cleanAppAttributes(this.id),this.scenePath&&zo(this.manager.room,this.scenePath)),this.appProxies.delete(this.id),this._pageState.destroy(),this.viewManager.destroyView(this.id),this.manager.appStatus.delete(this.id),(o=this.manager.refresher)==null||o.remove(this.id),(a=this.manager.refresher)==null||a.remove(this.stateKey),(l=this.manager.refresher)==null||l.remove(`${this.id}-fullPath`),this._prevFullPath=void 0}}close(){return this.destroy(!0,!0,!1)}}class Kg{constructor(t){this.displayer=t,this.views=new Map}createView(t){const i=Pd(this.displayer);return this.views.set(t,i),i}getView(t){return this.views.get(t)}destroyView(t){const i=this.views.get(t);if(i){try{i.release()}catch{}this.views.delete(t)}}setViewScenePath(t,i){const n=this.views.get(t);n&&(n.focusScenePath=i)}destroy(){this.views.forEach(t=>{try{t.release()}catch{}}),this.views.clear()}}const Pd=e=>{const t=e.views.createView();return qg(t),t},qg=e=>{e.setCameraBound({maxContentMode:()=>10,minContentMode:()=>.1})};class em{constructor(t){this.manager=t,this.started=!1,this.mainViewIsAddListener=!1,this.store=this.manager.store,this.viewMode=this.manager.windowManger.viewMode,this.sideEffectManager=new $n.SideEffectManager,this.startListenWritableChange=()=>{this.sideEffectManager.add(()=>_.on("writableChange",n=>{n&&this.ensureCameraAndSize()}))},this.addCameraReaction=()=>{var n;(n=this.manager.refresher)==null||n.add(Ie.MainViewCamera,this.cameraReaction)},this.cameraReaction=()=>A.reaction(()=>this.mainViewCamera,n=>{n&&n.id!==this.manager.uid&&(this.moveCameraToContian(this.mainViewSize),this.moveCamera(n))},{fireImmediately:!0}),this.sizeChangeHandler=E.debounce(n=>{n&&(this.moveCameraToContian(n),this.moveCamera(this.mainViewCamera))},30),this.onUpdateContainerSizeRatio=()=>{const n=this.store.getMainViewSize();this.sizeChangeHandler(n)},this.onCameraUpdatedByDevice=n=>{this.viewMode!==A.ViewMode.Follower&&(this.store.setMainViewCamera(Ye(q({},n),{id:this.manager.uid})),E.isEqual(this.mainViewSize,Ye(q({},this.mainView.size),{id:this.manager.uid}))||this.setMainViewSize(this.view.size))},this.mainViewClickListener=()=>{this.mainViewClickHandler()},this.setMainViewSize=E.debounce(n=>{this.store.setMainViewSize(Ye(q({},n),{id:this.manager.uid}))},50),this.onCameraOrSizeUpdated=()=>{se.emit("cameraStateChange",this.cameraState)},this.setViewMode=n=>{this.viewMode=n},this.mainView=this.createMainView(),this.moveCameraSizeByAttributes(),_.once("mainViewMounted").then(()=>{this.addMainViewListener(),this.start(),this.ensureCameraAndSize(),this.startListenWritableChange()});const i=()=>{this.sizeChangeHandler(this.mainViewSize)};this.sideEffectManager.add(()=>_.on("playgroundSizeChange",i)),this.sideEffectManager.add(()=>_.on("containerSizeRatioUpdate",this.onUpdateContainerSizeRatio)),this.sideEffectManager.add(()=>_.on("startReconnect",()=>{this.didRelease||this.mainView.release()}))}ensureCameraAndSize(){this.viewMode===A.ViewMode.Broadcaster&&(!this.mainViewCamera||!this.mainViewSize)&&(this.manager.dispatchInternalEvent(J.InitMainViewCamera),this.setCameraAndSize())}get mainViewCamera(){return this.store.getMainViewCamera()}get mainViewSize(){return this.store.getMainViewSize()}get didRelease(){return E.get(this.view,["didRelease"])}moveCameraSizeByAttributes(){this.moveCameraToContian(this.mainViewSize),this.moveCamera(this.mainViewCamera)}start(){this.sizeChangeHandler(this.mainViewSize),!this.started&&(this.addCameraListener(),this.addCameraReaction(),this.started=!0)}setCameraAndSize(){const t=Ye(q({},this.mainView.camera),{id:this.manager.uid}),i=Ye(q({},this.mainView.size),{id:this.manager.uid});this.store.setMainViewCameraAndSize(t,i)}get view(){return this.mainView}get cameraState(){return q(q({},this.view.camera),this.view.size)}createMainView(){const t=Pd(this.manager.displayer),i=this.store.getMainViewScenePath();return i&&pi(t,i),t}onReconnect(){if(this.didRelease)this.rebind();else{const t=this.store.getMainViewScenePath();this.setFocusScenePath(t)}}setFocusScenePath(t){if(t)return pi(this.view,t)}rebind(){const t=this.mainView.divElement,i=this.mainView.disableCameraTransform;this.stop(),this.didRelease||this.mainView.release(),this.removeMainViewListener(),this.mainView=this.createMainView(),this.mainView.disableCameraTransform=i,this.mainView.divElement=t,this.addMainViewListener(),this.start()}addMainViewListener(){this.mainViewIsAddListener||this.view.divElement&&(this.view.divElement.addEventListener("click",this.mainViewClickListener),this.view.divElement.addEventListener("touchend",this.mainViewClickListener),this.mainViewIsAddListener=!0)}removeMainViewListener(){this.view.divElement&&(this.view.divElement.removeEventListener("click",this.mainViewClickListener),this.view.divElement.removeEventListener("touchend",this.mainViewClickListener)),this.mainViewIsAddListener=!1}async mainViewClickHandler(){var t;!this.manager.canOperate||(this.store.cleanFocus(),(t=this.manager.boxManager)==null||t.blurAllBox())}addCameraListener(){this.view.callbacks.on("onCameraUpdatedByDevice",this.onCameraUpdatedByDevice),this.view.callbacks.on("onCameraUpdated",this.onCameraOrSizeUpdated),this.view.callbacks.on("onSizeUpdated",this.onCameraOrSizeUpdated)}removeCameraListener(){this.view.callbacks.off("onCameraUpdatedByDevice",this.onCameraUpdatedByDevice),this.view.callbacks.off("onCameraUpdated",this.onCameraOrSizeUpdated),this.view.callbacks.off("onSizeUpdated",this.onCameraOrSizeUpdated)}moveCameraToContian(t){E.isEmpty(t)||(this.view.moveCameraToContain({width:t.width,height:t.height,originX:-t.width/2,originY:-t.height/2,animationMode:A.AnimationMode.Immediately}),this.scale=this.view.camera.scale)}moveCamera(t){if(!E.isEmpty(t)){if(E.isEqual(t,this.view.camera))return;const{centerX:i,centerY:n,scale:r}=t,s=r*(this.scale||1);this.view.moveCamera({centerX:i,centerY:n,scale:s,animationMode:A.AnimationMode.Immediately})}}stop(){var t,i;this.removeCameraListener(),(t=this.manager.refresher)==null||t.remove(Ie.MainViewCamera),(i=this.manager.refresher)==null||i.remove(Ie.MainViewSize),this.started=!1}destroy(){this.removeMainViewListener(),this.stop(),this.sideEffectManager.flushAll()}}class tm{constructor(t){this.context=t,this.addRedoUndoListeners=i=>{if(i===void 0)this.addViewCallbacks(this.context.mainView(),this.onCanRedoStepsUpdate,this.onCanUndoStepsUpdate);else{const n=this.context.getAppProxy(i);n&&n.view&&this.addViewCallbacks(n.view,this.onCanRedoStepsUpdate,this.onCanUndoStepsUpdate)}},this.addViewCallbacks=(i,n,r)=>{n(i.canRedoSteps),r(i.canUndoSteps),i.callbacks.on("onCanRedoStepsUpdate",n),i.callbacks.on("onCanUndoStepsUpdate",r)},this.disposeViewCallbacks=i=>{i.callbacks.off("onCanRedoStepsUpdate",this.onCanRedoStepsUpdate),i.callbacks.off("onCanUndoStepsUpdate",this.onCanUndoStepsUpdate)},this.onCanRedoStepsUpdate=i=>{se.emit("canRedoStepsChange",i)},this.onCanUndoStepsUpdate=i=>{se.emit("canUndoStepsChange",i)},this.disposePrevFocusViewRedoUndoListeners=i=>{let n;if(i===void 0)n=this.context.mainView();else{const r=this.context.getAppProxy(i);r&&r.view&&(n=r.view)}n&&this.disposeViewCallbacks(n)},_.on("focusedChange",i=>{this.disposePrevFocusViewRedoUndoListeners(i.prev),setTimeout(()=>{this.addRedoUndoListeners(i.focused)},0)}),_.on("rootDirRemoved",()=>{this.disposePrevFocusViewRedoUndoListeners(t.focus()),this.addRedoUndoListeners(t.focus())}),this.addRedoUndoListeners(t.focus())}destroy(){this.disposePrevFocusViewRedoUndoListeners(this.context.focus())}}class im{constructor(t){this.windowManger=t,this.appProxies=new Map,this.appStatus=new Map,this.store=Jg,this.isReplay=this.windowManger.isReplay,this.mainViewScenesLength=0,this.callbacksNode=null,this.appCreateQueue=new Sg,this.sideEffectManager=new $n.SideEffectManager,this.sceneState=null,this.rootDirRemoving=!1,this.onRemoveScenes=async i=>{var r,s;const{scenePath:n}=i;if(n===De){await this.onRootDirRemoved(),this.dispatchInternalEvent(J.RootDirRemoved);return}if(Wg(n)){let o=this.mainView.focusSceneIndex||0,a=(r=this.callbacksNode)==null?void 0:r.scenes[o];a||(o=0,a=(s=this.callbacksNode)==null?void 0:s.scenes[o]),a&&this.setMainViewScenePath(`${De}${a}`),await this.setMainViewSceneIndex(o)}else this.appProxies.forEach(o=>{o.onRemoveScene(n)})},this.onReadonlyChanged=()=>{this.appProxies.forEach(i=>{i.emitAppIsWritableChange()})},this.onPlayerSeekStart=async()=>{await this.closeAll()},this.onPlayerSeekDone=async i=>{await this.attributesUpdateCallback(this.attributes.apps),this.appProxies.forEach(n=>{n.onSeek(i)})},this.createRootDirScenesCallback=()=>{let i=!1;this.callbacksNode&&(this.callbacksNode.dispose(),i=!0),this.callbacksNode=this.displayer.createScenesCallback(De,{onAddScene:this.onSceneChange,onRemoveScene:async(n,r)=>{await this.onSceneChange(n),_.emit("rootDirSceneRemoved",r)}}),this.callbacksNode&&(this.updateSceneState(this.callbacksNode),this.mainViewScenesLength=this.callbacksNode.scenes.length,i&&this.emitMainViewScenesChange(this.callbacksNode.scenes.length))},this.removeSceneByIndex=async i=>{var s;const n=Ua(i,this.windowManger.pageState);this.setSceneIndexWithoutSync(n),this.dispatchInternalEvent(J.SetAppFocusIndex,{type:"main",index:n});const r=(s=this.callbacksNode)==null?void 0:s.scenes[i];return setTimeout(()=>{r&&zo(this.room,`${De}${r}`,i)},100),new Promise((o,a)=>{_.once("rootDirSceneRemoved").then(l=>{l===r&&o(!0)}).catch(l=>{console.log(`[WindowManager]: removePage error: ${l}`),a(!1)})})},this.setSceneIndexWithoutSync=i=>{var r;const n=(r=this.callbacksNode)==null?void 0:r.scenes[i];n&&this.mainViewProxy.setFocusScenePath(`${De}${n}`)},this.onSceneChange=i=>(this.mainViewScenesLength=i.scenes.length,this.updateSceneState(i),this.emitMainViewScenesChange(this.mainViewScenesLength)),this.emitMainViewScenesChange=i=>Promise.all([se.emit("mainViewScenesLengthChange",i),_.emit("changePageState")]),this.updateSceneState=i=>{const n=this.store.getMainViewSceneIndex()||0;let r=i.scenes[n];r||(r=i.scenes[this.mainView.focusSceneIndex||0]),this.sceneState={scenePath:`${De}${r}`,contextPath:i.path,index:n,scenes:i.scenes.map(s=>({name:s})),sceneName:r},se.emit("sceneStateChange",this.sceneState)},this.onBoxMove=i=>{this.dispatchInternalEvent(J.AppMove,i),this.store.updateAppState(i.appId,be.Position,{x:i.x,y:i.y})},this.onBoxResize=i=>{i.width&&i.height&&(this.dispatchInternalEvent(J.AppResize,i),this.store.updateAppState(i.appId,be.Size,{width:i.width,height:i.height}))},this.onBoxFocus=i=>{this.windowManger.safeSetAttributes({focus:i.appId})},this.onBoxClose=i=>{const n=this.appProxies.get(i.appId);n&&n.destroy(!1,!0,!0,i.error)},this.onBoxStateChange=i=>{this.dispatchInternalEvent(J.AppBoxStateChange,i)},this.addAppsChangeListener=()=>{var i;(i=this.refresher)==null||i.add("apps",()=>Nd(()=>this.attributes.apps,()=>{this.attributesUpdateCallback(this.attributes.apps)}))},this.addAppCloseListener=()=>{var i;(i=this.refresher)==null||i.add("appsClose",()=>Fg(this.attributes.apps,()=>{this.onAppDelete(this.attributes.apps)}))},this.onMainViewIndexChange=i=>{i!==void 0&&this._prevSceneIndex!==i&&(se.emit("mainViewSceneIndexChange",i),_.emit("changePageState"),this.callbacksNode&&this.updateSceneState(this.callbacksNode),this._prevSceneIndex=i)},this.onFocusChange=i=>{var n;this._prevFocused!==i&&(se.emit("focusedChange",i),_.emit("focusedChange",{focused:i,prev:this._prevFocused}),this._prevFocused=i,i!==void 0&&((n=this.boxManager)==null||n.focusBox({appId:i}),setTimeout(()=>{const r=this.appProxies.get(i);r&&je.notifyApp(r.kind,"focus",{appId:i})},0)))},this.attributesUpdateCallback=E.debounce(i=>this._attributesUpdateCallback(i),100),this.onRegisteredChange=i=>{!i||Object.entries(i).forEach(([n,r])=>{je.appClasses.has(n)||je.register({kind:n,src:r.src,name:r.name})})},this.onMinimized=i=>{var n,r;((n=this.boxManager)==null?void 0:n.minimized)!==i&&(i===!0&&((r=this.boxManager)==null||r.blurAllBox()),setTimeout(()=>{var s;(s=this.boxManager)==null||s.setMinimized(Boolean(i))},0))},this.onAppDelete=async i=>{const n=Object.keys(i);for(const[r,s]of this.appProxies.entries())n.includes(r)||await s.destroy(!0,!1,!0)},this.closeAll=async()=>{for(const[i,n]of this.appProxies.entries())await n.destroy(!0,!1,!0)},this.displayerStateListener=i=>{const n=i.sceneState;if(n){const r=n.scenePath;this.appProxies.forEach(s=>{s.scenePath&&r.startsWith(s.scenePath)&&(s.emitAppSceneStateChange(n),s.setFullPath(r))})}this.appProxies.forEach(r=>{r.appEmitter.emit("roomStateChange",i)}),_.emit("observerIdChange",this.displayer.observerId)},this.displayerWritableListener=i=>{var s,o;const n=!i,r=this.windowManger.readonly===void 0||this.windowManger.readonly===!1;this.windowManger.readonly===void 0?(s=this.boxManager)==null||s.setReadonly(i):(o=this.boxManager)==null||o.setReadonly(!(n&&r)),this.appProxies.forEach(a=>{a.emitAppIsWritableChange()}),_.emit("writableChange",n)},this.updateSceneIndex=()=>{const i=this.store.getMainViewScenePath(),n=qs(i),r=Ri(this.displayer)[n];if(r.length){const s=i.replace(n,"").replace("/",""),o=r.findIndex(a=>a.name===s);E.isInteger(o)&&o>=0&&this.safeSetAttributes({_mainSceneIndex:o})}},this.updateRootDirRemoving=i=>{this.rootDirRemoving=i},this.displayer=t.displayer,this.store.setContext({getAttributes:()=>this.attributes,safeSetAttributes:i=>this.safeSetAttributes(i),safeUpdateAttributes:(i,n)=>this.safeUpdateAttributes(i,n)}),this.mainViewProxy=new em(this),this.viewManager=new Kg(this.displayer),this.appListeners=new Hg(this),this.displayer.callbacks.on(this.eventName,this.displayerStateListener),this.appListeners.addListeners(),this.refresher=ig,this.refresher.setRoom(this.room),this.refresher.setContext({emitter:_}),this.sideEffectManager.add(()=>()=>{var i,n,r;this.appCreateQueue.destroy(),this.mainViewProxy.destroy(),(i=this.refresher)==null||i.destroy(),this.viewManager.destroy(),(n=this.boxManager)==null||n.destroy(),(r=this.callbacksNode)==null||r.dispose()}),_.once("onCreated").then(()=>this.onCreated()),_.on("onReconnected",()=>this.onReconnected()),A.isPlayer(this.displayer)&&(_.on("seekStart",this.onPlayerSeekStart),_.on("seek",this.onPlayerSeekDone)),_.on("removeScenes",this.onRemoveScenes),_.on("setReadonly",this.onReadonlyChanged),this.createRootDirScenesCallback(),je.setSyncRegisterApp(i=>{this.safeUpdateAttributes([Ie.Registered,i.kind],i)})}async onRootDirRemoved(t=!0){this.setMainViewScenePath(xd),this.createRootDirScenesCallback();for(const[i,n]of this.appProxies.entries())n.view&&await this.closeApp(i,t);this.mainViewProxy.rebind(),_.emit("rootDirRemoved"),this.updateRootDirRemoving(!1)}get eventName(){return A.isRoom(this.displayer)?"onRoomStateChanged":"onPlayerStateChanged"}get attributes(){return this.windowManger.attributes}get canOperate(){return this.windowManger.canOperate}get room(){return A.isRoom(this.displayer)?this.displayer:void 0}get mainView(){return this.mainViewProxy.view}get focusApp(){if(this.store.focus)return this.appProxies.get(this.store.focus)}get uid(){var t;return((t=this.room)==null?void 0:t.uid)||""}getMainViewSceneDir(){const t=this.store.getMainViewScenePath();if(t)return qs(t);throw new Error("[WindowManager]: mainViewSceneDir not found")}async onCreated(){var t,i,n,r,s,o;if(await this.attributesUpdateCallback(this.attributes.apps),_.emit("updateManagerRect"),vt.on("move",this.onBoxMove),vt.on("resize",this.onBoxResize),vt.on("focus",this.onBoxFocus),vt.on("close",this.onBoxClose),vt.on("boxStateChange",this.onBoxStateChange),this.addAppsChangeListener(),this.addAppCloseListener(),(t=this.refresher)==null||t.add("maximized",()=>A.autorun(()=>{var l;const a=this.attributes.maximized;(l=this.boxManager)==null||l.setMaximized(Boolean(a))})),(i=this.refresher)==null||i.add("minimized",()=>A.autorun(()=>{const a=this.attributes.minimized;this.onMinimized(a)})),(n=this.refresher)==null||n.add("mainViewIndex",()=>A.autorun(()=>{const a=E.get(this.attributes,"_mainSceneIndex");this.onMainViewIndexChange(a)})),(r=this.refresher)==null||r.add("focusedChange",()=>A.autorun(()=>{const a=E.get(this.attributes,"focus");this.onFocusChange(a)})),(s=this.refresher)==null||s.add("registeredChange",()=>A.autorun(()=>{const a=E.get(this.attributes,Ie.Registered);this.onRegisteredChange(a)})),!this.attributes.apps||Object.keys(this.attributes.apps).length===0){const a=this.store.getMainViewScenePath();if(!a)return;this.resetScenePath(a)}this.displayerWritableListener(!((o=this.room)!=null&&o.isWritable)),this.displayer.callbacks.on("onEnableWriteNowChanged",this.displayerWritableListener),this._prevFocused=this.attributes.focus,this.sideEffectManager.add(()=>{const a=new tm({mainView:()=>this.mainViewProxy.view,focus:()=>this.attributes.focus,getAppProxy:l=>this.appProxies.get(l)});return()=>a.destroy()})}async _attributesUpdateCallback(t){if(t&&ie.container){const i=Object.keys(t);i.length===0&&this.appCreateQueue.emitReady();const n=i.map(r=>({id:r,createdAt:t[r].createdAt}));for(const{id:r}of E.orderBy(n,"createdAt","asc"))if(!this.appProxies.has(r)&&!this.appStatus.has(r)){const s=t[r];try{if(!this.attributes[r])throw new Error("appAttributes is undefined");this.appCreateQueue.push(()=>(this.appStatus.set(r,No.StartCreate),this.baseInsertApp({kind:s.kind,options:s.options,isDynamicPPT:s.isDynamicPPT},r,!1))),this.focusByAttributes(t)}catch(o){console.warn("[WindowManager]: Insert App Error",o)}}}}refresh(){this.attributesUpdateCallback(this.attributes.apps)}setBoxManager(t){this.boxManager=t}resetMaximized(){var t;(t=this.boxManager)==null||t.setMaximized(Boolean(this.store.getMaximized()))}resetMinimized(){var t;(t=this.boxManager)==null||t.setMinimized(Boolean(this.store.getMinimized()))}bindMainView(t,i){const n=this.mainViewProxy.view;n.disableCameraTransform=i,n.divElement=t,n.focusScenePath||this.setMainViewFocusPath(),_.emit("mainViewMounted")}setMainViewFocusPath(t){var n;const i=t||this.store.getMainViewScenePath();if(i)return pi(this.mainView,i),((n=this.mainView)==null?void 0:n.focusScenePath)===i}resetScenePath(t){this.displayer.state.sceneState.scenePath!==t&&Po(this.room,t)}async addApp(t,i){Pt("addApp",t);const{appId:n,needFocus:r}=await this.beforeAddApp(t,i),s=await this.baseInsertApp(t,n,!0,r);return this.afterAddApp(s),s==null?void 0:s.id}async beforeAddApp(t,i){var o,a;const n=await Bg(t.kind);this.appStatus.set(n,No.StartCreate);const r=(o=t.attributes)!=null?o:{};this.safeUpdateAttributes([n],r),this.store.setupAppAttributes(t,n,i);const s=!((a=this.boxManager)!=null&&a.minimized);return s&&this.store.setAppFocus(n,!0),{appId:n,needFocus:s}}afterAddApp(t){var i,n;if(t&&t.box){const r=t.box;vt.emit("move",{appId:t.id,x:r==null?void 0:r.intrinsicX,y:r==null?void 0:r.intrinsicY}),this.store.updateAppState(t.id,be.ZIndex,r.zIndex)}(i=this.boxManager)!=null&&i.minimized&&((n=this.boxManager)==null||n.setMinimized(!1,!1))}async closeApp(t,i=!0){const n=this.appProxies.get(t);n&&n.destroy(!0,i,!1)}async baseInsertApp(t,i,n,r){if(this.appProxies.has(i)){console.warn("[WindowManager]: app duplicate exists and cannot be created again");return}const s=new Wa(t,this,i,n);if(s)return await s.baseInsertApp(r),this.appStatus.delete(i),s;throw this.appStatus.delete(i),new Error("[WindowManger]: initialize AppProxy failed")}safeSetAttributes(t){this.windowManger.safeSetAttributes(t)}safeUpdateAttributes(t,i){this.windowManger.safeUpdateAttributes(t,i)}async setMainViewScenePath(t){if(this.room){const i=this.displayer.scenePathType(t);if(qs(t)!==De)throw new Error('[WindowManager]: main view scenePath must in root dir "/"');if(i===A.ScenePathType.None)throw new Error(`[WindowManager]: ${t} not valid scene`);if(i===A.ScenePathType.Page)await this._setMainViewScenePath(t);else if(i===A.ScenePathType.Dir){const r=Og(this.displayer,t);r&&await this._setMainViewScenePath(r)}}}async _setMainViewScenePath(t){this.setMainViewFocusPath(t)&&(this.safeSetAttributes({_mainScenePath:t}),this.store.setMainViewFocusPath(this.mainView),this.updateSceneIndex(),this.dispatchSetMainViewScenePath(t))}async setMainViewSceneIndex(t){var i;if(this.room){if(this.store.getMainViewSceneIndex()===t)return;const n=(i=this.callbacksNode)==null?void 0:i.scenes[t],r=`${De}${n}`;if(n)this.setMainViewFocusPath(r)&&(this.store.setMainViewScenePath(r),this.safeSetAttributes({_mainSceneIndex:t}),this.dispatchSetMainViewScenePath(r));else throw new Error(`[WindowManager]: ${t} not valid index`)}}dispatchSetMainViewScenePath(t){this.dispatchInternalEvent(J.SetMainViewScenePath,{nextScenePath:t}),Po(this.room,t)}getAppInitPath(t){var n;const i=this.store.getAppAttributes(t);if(i)return(n=i==null?void 0:i.options)==null?void 0:n.scenePath}safeDispatchMagixEvent(t,i){this.canOperate&&this.displayer.dispatchMagixEvent(t,i)}focusByAttributes(t){var i;if(t&&Object.keys(t).length===((i=this.boxManager)==null?void 0:i.boxSize)){const n=this.store.focus;n&&this.boxManager.focusBox({appId:n})}}async onReconnected(){this.attributesUpdateCallback(this.attributes.apps);const i=Array.from(this.appProxies.values()).map(n=>n.onReconnected());this.mainViewProxy.onReconnect(),await Promise.all(i),this.callbacksNode&&this.onSceneChange(this.callbacksNode)}notifyContainerRectUpdate(t){this.appProxies.forEach(i=>{i.appEmitter.emit("containerRectUpdate",t)})}dispatchInternalEvent(t,i){this.safeDispatchMagixEvent(ko,{eventName:t,payload:i})}destroy(){this.displayer.callbacks.off(this.eventName,this.displayerStateListener),this.displayer.callbacks.off("onEnableWriteNowChanged",this.displayerWritableListener),this.appListeners.removeListeners(),vt.clearListeners(),_.clearListeners(),this.appProxies.size&&this.appProxies.forEach(t=>{t.destroy(!0,!1,!0)}),se.clearListeners(),this.sideEffectManager.flushAll(),this._prevFocused=void 0,this._prevSceneIndex=void 0}}const nm=e=>{const t=document.createElement("div");t.className="netless-window-manager-playground";const i=document.createElement("div");i.className="netless-window-manager-sizer";const n=document.createElement("div");n.className="netless-window-manager-wrapper";const r=document.createElement("div");return r.className="netless-window-manager-main-view",t.appendChild(i),i.appendChild(n),n.appendChild(r),e.appendChild(t),ie.wrapper=n,{playground:t,wrapper:n,sizer:i,mainViewElement:r}},rm=()=>{if(mu(A.WhiteVersion)<mu(pu))throw new Md(pu)},Do=(e,t)=>{var s;const i=(e==null?void 0:e.state.roomMembers)||[];let n=-1,r;for(const o of i)((s=o.payload)==null?void 0:s.uid)===t&&n<o.memberId&&(n=o.memberId,r=o);return r},yu=async e=>{try{return await e.createInvisiblePlugin(ie,{})}catch(t){if(t.message==='invisible plugin "WindowManager" exits')return await Yr(200),e.getInvisiblePlugin(ie.kind);Pt("createInvisiblePlugin failed",t)}},sm=window.ResizeObserver||fg.ResizeObserver;class Ha{constructor(t){this.emitter=t}static create(t,i,n,r){const s=new Ha(r);return s.observePlaygroundSize(t,i,n),s}observePlaygroundSize(t,i,n){this.updateSizer(t.getBoundingClientRect(),i,n),this.containerResizeObserver=new sm(r=>{var o;const s=(o=r[0])==null?void 0:o.contentRect;s&&(this.updateSizer(s,i,n),this.emitter.emit("playgroundSizeChange",s))}),this.disposer=this.emitter.on("containerSizeRatioUpdate",()=>{const r=t.getBoundingClientRect();this.updateSizer(r,i,n),this.emitter.emit("playgroundSizeChange",r)}),this.containerResizeObserver.observe(t)}updateSizer({width:t,height:i},n,r){t&&i&&(i/t>ie.containerSizeRatio?(i=t*ie.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!0)):(t=i/ie.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!1)),r.style.width=`${t}px`,r.style.height=`${i}px`)}disconnect(){var t;(t=this.containerResizeObserver)==null||t.disconnect(),E.isFunction(this.disposer)&&(this.disposer(),this.disposer=void 0)}}var yi={exports:{}},Y={};/*
3
3
  object-assign
4
4
  (c) Sindre Sorhus
5
5
  @license MIT
@@ -38,7 +38,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
38
38
  PERFORMANCE OF THIS SOFTWARE.
39
39
  ***************************************************************************** */var He=function(){return He=Object.assign||function(t){for(var i,n=1,r=arguments.length;n<r;n++){i=arguments[n];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t},He.apply(this,arguments)},Zd=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},Nr=function(e){return e%1?Number(e.toFixed(5)):e},Yd=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i,Ts={test:function(e){return typeof e=="number"},parse:parseFloat,transform:function(e){return e}},gn=He(He({},Ts),{transform:Zd(0,1)}),cr=He(He({},Ts),{default:1}),Ja=function(e){return{test:function(t){return typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1},parse:parseFloat,transform:function(t){return""+t+e}}},Kt=Ja("deg"),mn=Ja("%"),U=Ja("px"),Eu=He(He({},mn),{parse:function(e){return mn.parse(e)/100},transform:function(e){return mn.transform(e*100)}}),Bm=function(e){return e.substring(e.indexOf("(")+1,e.lastIndexOf(")"))},Rm=Zd(0,255),Oo=function(e){return e.red!==void 0},Vo=function(e){return e.hue!==void 0};function _m(e){return Bm(e).replace(/(,|\/)/g," ").split(/ \s*/)}var Gd=function(e){return function(t){if(typeof t!="string")return t;for(var i={},n=_m(t),r=0;r<4;r++)i[e[r]]=n[r]!==void 0?parseFloat(n[r]):1;return i}},Om=function(e){var t=e.red,i=e.green,n=e.blue,r=e.alpha,s=r===void 0?1:r;return"rgba("+t+", "+i+", "+n+", "+s+")"},Vm=function(e){var t=e.hue,i=e.saturation,n=e.lightness,r=e.alpha,s=r===void 0?1:r;return"hsla("+t+", "+i+", "+n+", "+s+")"},no=He(He({},Ts),{transform:function(e){return Math.round(Rm(e))}});function Ka(e,t){return e.startsWith(t)&&Yd.test(e)}var Pr={test:function(e){return typeof e=="string"?Ka(e,"rgb"):Oo(e)},parse:Gd(["red","green","blue","alpha"]),transform:function(e){var t=e.red,i=e.green,n=e.blue,r=e.alpha,s=r===void 0?1:r;return Om({red:no.transform(t),green:no.transform(i),blue:no.transform(n),alpha:Nr(gn.transform(s))})}},ro={test:function(e){return typeof e=="string"?Ka(e,"hsl"):Vo(e)},parse:Gd(["hue","saturation","lightness","alpha"]),transform:function(e){var t=e.hue,i=e.saturation,n=e.lightness,r=e.alpha,s=r===void 0?1:r;return Vm({hue:Math.round(t),saturation:mn.transform(Nr(i)),lightness:mn.transform(Nr(n)),alpha:Nr(gn.transform(s))})}},Tu=He(He({},Pr),{test:function(e){return typeof e=="string"&&Ka(e,"#")},parse:function(e){var t="",i="",n="";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),n=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),n=e.substr(3,1),t+=t,i+=i,n+=n),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(n,16),alpha:1}}}),nt={test:function(e){return typeof e=="string"&&Yd.test(e)||Oo(e)||Vo(e)},parse:function(e){return Pr.test(e)?Pr.parse(e):ro.test(e)?ro.parse(e):Tu.test(e)?Tu.parse(e):e},transform:function(e){return Oo(e)?Pr.transform(e):Vo(e)?ro.transform(e):e}},qa=function(e){var t=e.onRead,i=e.onRender,n=e.uncachedValues,r=n===void 0?new Set:n,s=e.useCache,o=s===void 0?!0:s;return function(a){a===void 0&&(a={});var l=Ga(a,[]),u={},h=[],c=!1;function m(y,S){y.startsWith("--")&&(l.hasCSSVariable=!0);var d=u[y];u[y]=S,u[y]!==d&&(h.indexOf(y)===-1&&h.push(y),c||(c=!0,Dm.render(v.render)))}var v={get:function(y,S){S===void 0&&(S=!1);var d=!S&&o&&!r.has(y)&&u[y]!==void 0;return d?u[y]:t(y,l)},set:function(y,S){if(typeof y=="string")m(y,S);else for(var d in y)m(d,y[d]);return this},render:function(y){return y===void 0&&(y=!1),(c||y===!0)&&(i(u,l,h),c=!1,h.length=0),this}};return v}},Um=/([a-z])([A-Z])/g,Wm="$1-$2",ks=function(e){return e.replace(Um,Wm).toLowerCase()},Xd=new Map,el=new Map,Jd=["Webkit","Moz","O","ms",""],Hm=Jd.length,$m=typeof document!="undefined",so,Kd=function(e,t){return el.set(e,ks(t))},Fm=function(e){so=so||document.createElement("div");for(var t=0;t<Hm;t++){var i=Jd[t],n=i==="",r=n?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in so.style||n){if(n&&e==="clipPath"&&el.has(e))return;Xd.set(e,r),Kd(e,(n?"":"-")+ks(r))}}},Qm=function(e){return Kd(e,e)},qd=function(e,t){t===void 0&&(t=!1);var i=t?el:Xd;return i.has(e)||($m?Fm(e):Qm(e)),i.get(e)||e},Zm=["","X","Y","Z"],Ym=["translate","scale","rotate","skew","transformPerspective"],Uo=Ym.reduce(function(e,t){return Zm.reduce(function(i,n){return i.push(t+n),i},e)},["x","y","z"]),Gm=Uo.reduce(function(e,t){return e[t]=!0,e},{});function tl(e){return Gm[e]===!0}function Xm(e,t){return Uo.indexOf(e)-Uo.indexOf(t)}var Jm=new Set(["originX","originY","originZ"]);function Km(e){return Jm.has(e)}var ku=Nn(Nn({},Ts),{transform:Math.round}),qm={color:nt,backgroundColor:nt,outlineColor:nt,fill:nt,stroke:nt,borderColor:nt,borderTopColor:nt,borderRightColor:nt,borderBottomColor:nt,borderLeftColor:nt,borderWidth:U,borderTopWidth:U,borderRightWidth:U,borderBottomWidth:U,borderLeftWidth:U,borderRadius:U,radius:U,borderTopLeftRadius:U,borderTopRightRadius:U,borderBottomRightRadius:U,borderBottomLeftRadius:U,width:U,maxWidth:U,height:U,maxHeight:U,size:U,top:U,right:U,bottom:U,left:U,padding:U,paddingTop:U,paddingRight:U,paddingBottom:U,paddingLeft:U,margin:U,marginTop:U,marginRight:U,marginBottom:U,marginLeft:U,rotate:Kt,rotateX:Kt,rotateY:Kt,rotateZ:Kt,scale:cr,scaleX:cr,scaleY:cr,scaleZ:cr,skew:Kt,skewX:Kt,skewY:Kt,distance:U,translateX:U,translateY:U,translateZ:U,x:U,y:U,z:U,perspective:U,opacity:gn,originX:Eu,originY:Eu,originZ:U,zIndex:ku,fillOpacity:gn,strokeOpacity:gn,numOctaves:ku},il=function(e){return qm[e]},ev=function(e,t){return t&&typeof e=="number"?t.transform(e):e},vn="scrollLeft",wn="scrollTop",eh=new Set([vn,wn]),tv=new Set([vn,wn,"transform"]),iv={x:"translateX",y:"translateY",z:"translateZ"};function th(e){return typeof e=="function"}function nv(e,t,i,n,r,s){s===void 0&&(s=!0);var o="",a=!1;i.sort(Xm);for(var l=i.length,u=0;u<l;u++){var h=i[u];o+=(iv[h]||h)+"("+t[h]+") ",a=h==="z"?!0:a}return!a&&r?o+="translateZ(0)":o=o.trim(),th(e.transform)?o=e.transform(t,n?"":o):s&&n&&(o="none"),o}function rv(e,t,i,n,r,s,o,a){t===void 0&&(t=!0),i===void 0&&(i={}),n===void 0&&(n={}),r===void 0&&(r={}),s===void 0&&(s=[]),o===void 0&&(o=!1),a===void 0&&(a=!0);var l=!0,u=!1,h=!1;for(var c in e){var m=e[c],v=il(c),y=ev(m,v);tl(c)?(u=!0,n[c]=y,s.push(c),l&&(v.default&&m!==v.default||!v.default&&m!==0)&&(l=!1)):Km(c)?(r[c]=y,h=!0):(!tv.has(c)||!th(y))&&(i[qd(c,o)]=y)}return(u||typeof e.transform=="function")&&(i.transform=nv(e,n,s,l,t,a)),h&&(i.transformOrigin=(r.originX||"50%")+" "+(r.originY||"50%")+" "+(r.originZ||0)),i}function nl(e){var t=e===void 0?{}:e,i=t.enableHardwareAcceleration,n=i===void 0?!0:i,r=t.isDashCase,s=r===void 0?!0:r,o=t.allowTransformNone,a=o===void 0?!0:o,l={},u={},h={},c=[];return function(m){return c.length=0,rv(m,n,l,u,h,c,s,a),l}}function sv(e,t){var i=t.element,n=t.preparseOutput,r=il(e);if(tl(e))return r&&r.default||0;if(eh.has(e))return i[e];var s=window.getComputedStyle(i,null).getPropertyValue(qd(e,!0))||0;return n&&r&&r.test(s)&&r.parse?r.parse(s):s}function ov(e,t,i){var n=t.element,r=t.buildStyles,s=t.hasCSSVariable;if(Object.assign(n.style,r(e)),s)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith("--")&&n.style.setProperty(l,e[l])}i.indexOf(vn)!==-1&&(n[vn]=e[vn]),i.indexOf(wn)!==-1&&(n[wn]=e[wn])}var av=qa({onRead:sv,onRender:ov,uncachedValues:eh});function lv(e,t){t===void 0&&(t={});var i=t.enableHardwareAcceleration,n=t.allowTransformNone,r=Ga(t,["enableHardwareAcceleration","allowTransformNone"]);return av(Nn({element:e,buildStyles:nl({enableHardwareAcceleration:i,allowTransformNone:n}),preparseOutput:!0},r))}var ih=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues"]),Nu=.5,nh=function(){return{style:{}}},oo=function(e,t){return U.transform(e*t)},uv={x:0,y:0,width:0,height:0};function Pu(e,t,i){return typeof e=="string"?e:U.transform(t+i*e)}function cv(e,t,i){return Pu(t,e.x,e.width)+" "+Pu(i,e.y,e.height)}var rh={enableHardwareAcceleration:!1,isDashCase:!1};function dv(e,t,i,n,r,s){t===void 0&&(t=uv),n===void 0&&(n=nl(rh)),r===void 0&&(r=nh()),s===void 0&&(s=!0);var o=e.attrX,a=e.attrY,l=e.originX,u=e.originY,h=e.pathLength,c=e.pathSpacing,m=c===void 0?1:c,v=e.pathOffset,y=v===void 0?0:v,S=Ga(e,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]),d=n(S);for(var p in d)if(p==="transform")r.style.transform=d[p];else{var f=s&&!ih.has(p)?ks(p):p;r[f]=d[p]}return(l!==void 0||u!==void 0||d.transform)&&(r.style.transformOrigin=cv(t,l!==void 0?l:Nu,u!==void 0?u:Nu)),o!==void 0&&(r.x=o),a!==void 0&&(r.y=a),i!==void 0&&h!==void 0&&(r[s?"stroke-dashoffset":"strokeDashoffset"]=oo(-y,i),r[s?"stroke-dasharray":"strokeDasharray"]=oo(h,i)+" "+oo(m,i)),r}function hv(e,t,i){i===void 0&&(i=!0);var n=nh(),r=nl(rh);return function(s){return dv(s,e,t,r,n,i)}}var pv=function(e){return typeof e.getBBox=="function"?e.getBBox():e.getBoundingClientRect()},fv=function(e){try{return pv(e)}catch{return{x:0,y:0,width:0,height:0}}},gv=function(e){return e.tagName==="path"},mv=qa({onRead:function(e,t){var i=t.element;if(e=ih.has(e)?e:ks(e),tl(e)){var n=il(e);return n&&n.default||0}else return i.getAttribute(e)},onRender:function(e,t){var i=t.element,n=t.buildAttrs,r=n(e);for(var s in r)s==="style"?Object.assign(i.style,r.style):i.setAttribute(s,r[s])}}),vv=function(e){var t=fv(e),i=gv(e)&&e.getTotalLength?e.getTotalLength():void 0;return mv({element:e,buildAttrs:hv(t,i)})},wv=qa({useCache:!1,onRead:function(e){return e==="scrollTop"?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=t===void 0?0:t,n=e.scrollLeft,r=n===void 0?0:n;return window.scrollTo(r,i)}}),Wo=new WeakMap,yv=function(e){return e instanceof HTMLElement||typeof e.click=="function"},xv=function(e){return e instanceof SVGElement||"ownerSVGElement"in e},Sv=function(e,t){var i;return e===window?i=wv(e):yv(e)?i=lv(e,t):xv(e)&&(i=vv(e)),Wo.set(e,i),i},Cv=function(e,t){return Wo.has(e)?Wo.get(e):Sv(e,t)};function Mv(e,t){var i=typeof e=="string"?document.querySelector(e):e;return Cv(i,t)}var st=function(t,i,n,r){var s=n?n.call(r,t,i):void 0;if(s!==void 0)return!!s;if(t===i)return!0;if(typeof t!="object"||!t||typeof i!="object"||!i)return!1;var o=Object.keys(t),a=Object.keys(i);if(o.length!==a.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(i),u=0;u<o.length;u++){var h=o[u];if(!l(h))return!1;var c=t[h],m=i[h];if(s=n?n.call(r,c,m,h):void 0,s===!1||s===void 0&&c!==m)return!1}return!0};const sh="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Iv=sh.length,zu=Array(20),Ji=()=>{for(let e=0;e<20;e++)zu[e]=sh.charAt(Math.random()*Iv);return zu.join("")};class Xr{constructor(){this.disposers=new Map}add(t,i=Ji()){return this.flush(i),this.disposers.set(i,t()),i}addDisposer(t,i=Ji()){return this.flush(i),this.disposers.set(i,t),i}addEventListener(t,i,n,r,s=Ji()){return this.add(()=>(t.addEventListener(i,n,r),()=>t.removeEventListener(i,n,r)),s),s}setTimeout(t,i,n=Ji()){return this.add(()=>{const r=window.setTimeout(()=>{this.remove(n),t()},i);return()=>window.clearTimeout(r)},n)}setInterval(t,i,n=Ji()){return this.add(()=>{const r=window.setInterval(t,i);return()=>window.clearInterval(r)},n)}remove(t){const i=this.disposers.get(t);return this.disposers.delete(t),i}flush(t){const i=this.remove(t);if(i)try{i()}catch(n){console.error(n)}}flushAll(){this.disposers.forEach(t=>{try{t()}catch(i){console.error(i)}}),this.disposers.clear()}}var bv=Object.defineProperty,ao=(typeof require!="undefined"&&require,(e,t,i)=>(((n,r,s)=>{r in n?bv(n,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[r]=s})(e,typeof t!="symbol"?t+"":t,i),i));class Yn{constructor(t,i){ao(this,"_value"),ao(this,"_beforeDestroys"),ao(this,"_subscribers"),this._value=t,i&&(this.compare=i)}get value(){return this._value}setValue(t,i){if(!this.compare(t,this._value)){const n=this._value;this._value=t,this._subscribers&&this._subscribers.forEach(r=>r(t,n,i))}}reaction(t){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(t),()=>{this._subscribers&&this._subscribers.delete(t)}}subscribe(t,i){const n=this.reaction(t);return t(this._value,void 0,i),n}derive(t,i,n){const r=new Yn(t(this.value,void 0,n),i),s=this.reaction((o,a,l)=>{r.setValue(t(o,a,l))});return r.addBeforeDestroy(s),r}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach(t=>t()),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(t){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(t),()=>{this._beforeDestroys&&this._beforeDestroys.delete(t)}}compare(t,i){return t===i}}function Av(e,t,i,n){let r=e.map(o=>o.value);const s=new Yn(t(r,void 0,n),i);return e.forEach((o,a)=>{const l=o.reaction((u,h,c)=>{const m=r.slice();m[a]=u;const v=r;r=m,s.setValue(t(m,v,c),c)});s.addBeforeDestroy(l)}),s}function oh(e,t){Object.keys(t).forEach(i=>{Ev(e,i,t[i])})}function Ev(e,t,i){var n;return Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${n=t,n[0].toUpperCase()+n.slice(1)}`]:{value:(r,s)=>i.setValue(r,s)}}),e}function ah(e){const t=i=>{const n=e.addDisposer(()=>{i.destroy()});return i.addBeforeDestroy(()=>{e.remove(n)}),i};return{bindSideEffect:t,combine:(i,n,r,s)=>t(Av(i,n,r,s)),createVal:(i,n)=>t(new Yn(i,n))}}var Jr;(function(e){e.Light="light",e.Dark="dark",e.Auto="auto"})(Jr||(Jr={}));var te;(function(e){e.Normal="normal",e.Minimized="minimized",e.Maximized="maximized"})(te||(te={}));var ae;(function(e){e.DarkMode="dark_mode",e.PrefersColorScheme="prefers_color_scheme",e.Close="close",e.Focus="focus",e.Blur="blur",e.Move="move",e.Resize="resize",e.IntrinsicMove="intrinsic_move",e.IntrinsicResize="intrinsic_resize",e.VisualResize="visual_resize",e.ZIndex="z_index",e.State="state",e.Minimized="minimized",e.Maximized="maximized",e.Readonly="readonly",e.Destroyed="destroyed"})(ae||(ae={}));var xe;(function(e){e.Close="close",e.Maximize="maximize",e.Minimize="minimize"})(xe||(xe={}));var Je;(function(e){e.North="n",e.South="s",e.West="w",e.East="e",e.NorthWest="nw",e.NorthEast="ne",e.SouthEast="se",e.SouthWest="sw"})(Je||(Je={}));const lo="dh";function Me(e,t,i){return Math.min(Math.max(e,t),i)}function ki(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function Du(e){return e.touches?e.touches[0]:e}function Tv(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let kv=1;function Nv(){return`New Box ${kv++}`}function Pv(e){return Boolean(e)}function dr(e){return!e}class lh{constructor({readonly:t=!1,title:i,buttons:n,onEvent:r,onDragStart:s,namespace:o="telebox",state:a=te.Normal}={}){this.$btns=[],this.sideEffect=new Xr,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=l=>{var u;if(this.readonly||l.button!==0||(u=l.target.dataset)!=null&&u.teleTitleBarNoDblClick)return;ki(l);const h=Date.now();h-this.lastTitleBarClick.timestamp<=500?Math.abs(l.clientX-this.lastTitleBarClick.clientX)<=5&&Math.abs(l.clientY-this.lastTitleBarClick.clientY)<=5&&this.onEvent&&this.onEvent({type:xe.Maximize}):this.onDragStart&&this.onDragStart(l),this.lastTitleBarClick.timestamp=h,this.lastTitleBarClick.clientX=l.clientX,this.lastTitleBarClick.clientY=l.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=l=>{var u;if(this.readonly||(u=l.target.dataset)!=null&&u.teleTitleBarNoDblClick)return;ki(l);const h=Date.now(),{clientX:c=this.lastTitleBarTouch.clientX+100,clientY:m=this.lastTitleBarTouch.clientY+100}=l.touches[0]||{};h-this.lastTitleBarTouch.timestamp<=500?Math.abs(c-this.lastTitleBarTouch.clientX)<=10&&Math.abs(m-this.lastTitleBarTouch.clientY)<=10&&this.onEvent&&this.onEvent({type:xe.Maximize}):this.onDragStart&&this.onDragStart(l),this.lastTitleBarTouch.timestamp=h,this.lastTitleBarTouch.clientX=c,this.lastTitleBarTouch.clientY=m},this.readonly=t,this.onEvent=r,this.onDragStart=s,this.namespace=o,this.title=i,this.state=a,this.buttons=n||[{type:xe.Minimize,iconClassName:this.wrapClassName("titlebar-icon-minimize")},{type:xe.Maximize,iconClassName:this.wrapClassName("titlebar-icon-maximize"),isActive:l=>l===te.Maximized},{type:xe.Close,iconClassName:this.wrapClassName("titlebar-icon-close")}],this.$dragArea=this.renderDragArea()}setTitle(t){this.title=t,this.$title&&(this.$title.textContent=t,this.$title.title=t)}setState(t){this.state!==t&&(this.state=t,this.buttons.forEach((i,n)=>{i.isActive&&this.$btns[n].classList.toggle("is-active",i.isActive(t))}))}setReadonly(t){this.readonly!==t&&(this.readonly=t)}render(){if(!this.$titleBar){this.$titleBar=document.createElement("div"),this.$titleBar.className=this.wrapClassName("titlebar");const t=document.createElement("div");t.className=this.wrapClassName("title-area"),t.dataset.teleBoxHandle=lo,this.$title=document.createElement("h1"),this.$title.className=this.wrapClassName("title"),this.$title.dataset.teleBoxHandle=lo,this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),t.appendChild(this.$title),t.appendChild(this.$dragArea);const i=document.createElement("div");i.className=this.wrapClassName("titlebar-btns"),this.buttons.forEach(({iconClassName:n,isActive:r},s)=>{const o=String(s),a=document.createElement("button");a.className=`${this.wrapClassName("titlebar-btn")} ${n}`,a.dataset.teleTitleBarBtnIndex=o,a.dataset.teleTitleBarNoDblClick="true",r&&a.classList.toggle("is-active",r(this.state)),this.$btns.push(a),i.appendChild(a)}),this.sideEffect.addEventListener(i,"click",n=>{var r;if(this.readonly)return;const s=n.target,o=Number((r=s.dataset)==null?void 0:r.teleTitleBarBtnIndex);if(!Number.isNaN(o)&&o<this.buttons.length){ki(n);const a=this.buttons[o];this.onEvent&&this.onEvent({type:a.type,value:a.value})}}),this.$titleBar.appendChild(t),this.$titleBar.appendChild(i)}return this.$titleBar}renderDragArea(){const t=document.createElement("div");return t.className=this.wrapClassName("drag-area"),t.dataset.teleBoxHandle=lo,this.sideEffect.addEventListener(t,"mousedown",this.handleTitleBarClick),this.sideEffect.addEventListener(t,"touchstart",this.handleTitleBarTouch,{passive:!0}),t}dragHandle(){return this.$titleBar}wrapClassName(t){return`${this.namespace}-${t}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class zv{constructor({id:t=Tv(),title:i=Nv(),prefersColorScheme:n=Jr.Light,darkMode:r,visible:s=!0,width:o=.5,height:a=.5,minWidth:l=0,minHeight:u=0,x:h=.1,y:c=.1,minimized:m=!1,maximized:v=!1,readonly:y=!1,resizable:S=!0,draggable:d=!0,fence:p=!0,fixRatio:f=!1,focus:g=!1,zIndex:w=100,namespace:x="telebox",titleBar:b,content:T,footer:L,styles:k,containerRect:j={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xr,this.handleTrackStart=D=>{var Z;return(Z=this._handleTrackStart)==null?void 0:Z.call(this,D)},this._sideEffect=new Xr,this._valSideEffectBinder=ah(this._sideEffect);const{combine:R,createVal:P}=this._valSideEffectBinder;this.id=t,this.namespace=x,this.events=new Ro,this._delegateEvents=new Ro;const B=P(n);B.reaction((D,Z,V)=>{V||this.events.emit(ae.PrefersColorScheme,D)});const Q=P(Boolean(r));r==null&&B.subscribe((D,Z,V)=>{this._sideEffect.add(()=>{if(D==="auto"){const ue=window.matchMedia("(prefers-color-scheme: dark)");if(ue){Q.setValue(ue.matches,V);const lr=ur=>{Q.setValue(ur.matches,V)};return ue.addListener(lr),()=>ue.removeListener(lr)}else return Lu}else return Q.setValue(D==="dark",V),Lu},"prefers-color-scheme")}),Q.reaction((D,Z,V)=>{V||this.events.emit(ae.DarkMode,D)});const pe=P(j,st),Qe=P(M,st),At=P(i),Et=P(s);Et.reaction((D,Z,V)=>{!V&&!D&&this.events.emit(ae.Close)});const Tt=P(y);Tt.reaction((D,Z,V)=>{V||this.events.emit(ae.Readonly,D)});const Xi=P(S),or=P(d),Xs=P(p),I=P(f),z=P(w);z.reaction((D,Z,V)=>{V||this.events.emit(ae.ZIndex,D)});const $=P(g);$.reaction((D,Z,V)=>{V||this.events.emit(D?ae.Focus:ae.Blur)});const G=P(m);G.reaction((D,Z,V)=>{V||this.events.emit(ae.Minimized,D)});const X=P(v);X.reaction((D,Z,V)=>{V||this.events.emit(ae.Maximized,D)});const it=R([G,X],([D,Z])=>D?te.Minimized:Z?te.Maximized:te.Normal);it.reaction((D,Z,V)=>{V||this.events.emit(ae.State,D)});const Oe=P({width:Me(l,0,1),height:Me(u,0,1)},st),Ze=P({width:Me(o,Oe.value.width,1),height:Me(a,Oe.value.height,1)},st);Oe.reaction((D,Z,V)=>{Ze.setValue({width:Me(o,D.width,1),height:Me(a,D.height,1)},V)}),Ze.reaction((D,Z,V)=>{V||this.events.emit(ae.IntrinsicResize,D)});const Ve=R([Ze,X],([D,Z])=>Z?{width:1,height:1}:D,st);Ve.reaction((D,Z,V)=>{V||this.events.emit(ae.Resize,D)});const uu=R([Ve,G,pe,Qe],([D,Z,V,ue])=>Z&&ue?{width:ue.width/D.width/V.width,height:ue.height/D.height/V.height}:D,st);uu.reaction((D,Z,V)=>{V||this.events.emit(ae.VisualResize,D)});const Js=P({x:Me(h,0,1),y:Me(c,0,1)},st);Js.reaction((D,Z,V)=>{V||this.events.emit(ae.IntrinsicMove,D)});const ar=R([Js,Ze,pe,Qe,G,X],([D,Z,V,ue,lr,ur])=>lr&&ue?ur?{x:(ue.x+ue.width/2)/V.width-1/2,y:(ue.y+ue.height/2)/V.height-1/2}:{x:(ue.x+ue.width/2)/V.width-Z.width/2,y:(ue.y+ue.height/2)/V.height-Z.height/2}:ur?{x:0,y:0}:D,st);ar.reaction((D,Z,V)=>{V||this.events.emit(ae.Move,D)}),this.titleBar=b||new lh({readonly:Tt.value,title:At.value,namespace:this.namespace,onDragStart:D=>{var Z;return(Z=this._handleTrackStart)==null?void 0:Z.call(this,D)},onEvent:D=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(D.type);else switch(D.type){case xe.Maximize:{X.setValue(!X.value);break}case xe.Minimize:{G.setValue(!0);break}case xe.Close:{Et.setValue(!1);break}default:{console.error("Unsupported titleBar event:",D);break}}}}),Tt.reaction(D=>{this.titleBar.setReadonly(D)});const ng=P(T),rg=P(L),sg=P(k);oh(this,{prefersColorScheme:B,darkMode:Q,containerRect:pe,collectorRect:Qe,title:At,visible:Et,readonly:Tt,resizable:Xi,draggable:or,fence:Xs,fixRatio:I,focus:$,zIndex:z,minimized:G,maximized:X,$userContent:ng,$userFooter:rg,$userStyles:sg}),this._state$=it,this._minSize$=Oe,this._size$=Ve,this._intrinsicSize$=Ze,this._visualSize$=uu,this._coord$=ar,this._intrinsicCoord$=Js,this.fixRatio&&this.transform(ar.value.x,ar.value.y,Ve.value.width,Ve.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(t,i=!1){switch(t){case te.Maximized:{this.setMinimized(!1,i),this.setMaximized(!0,i);break}case te.Minimized:{this.setMinimized(!0,i),this.setMaximized(!1,i);break}default:{this.setMinimized(!1,i),this.setMaximized(!1,i);break}}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(t,i=!1){return this._minSize$.setValue({width:t,height:this.minHeight},i),this}setMinHeight(t,i=!1){return this._minSize$.setValue({width:this.minWidth,height:t},i),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(t,i,n=!1){return this._intrinsicSize$.setValue({width:t,height:i},n),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(t,i,n=!1){return this._intrinsicCoord$.setValue({x:t,y:i},n),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(t,i,n,r,s=!1){if(this.fixRatio){const o=this.intrinsicHeight/this.intrinsicWidth*n;i!==this.intrinsicY&&(i-=o-r),r=o}return i<0&&(i=0,r>this.intrinsicHeight&&(r=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:n>=this.minWidth?t:this.intrinsicX,y:r>=this.minHeight?i:this.intrinsicY},s),this._intrinsicSize$.setValue({width:Me(n,this.minWidth,1),height:Me(r,this.minHeight,1)},s),this}mount(t){return t.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(t){return this.set$userContent(t),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(t){return this.set$userFooter(t),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(t){let i;return typeof t=="string"?(i=document.createElement("style"),i.textContent=t):i=t,this.set$userStyles(i),this}unmountStyles(){return this.set$userStyles(void 0),this}render(t){if(t){if(t===this.$box)return this.$box;this.$box=t}else{if(this.$box)return this.$box;this.$box=document.createElement("div")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName("box"));const i=(c,m,v,y=Pv)=>this._renderSideEffect.add(()=>{const S=this.wrapClassName(v);return m.subscribe(d=>{c.classList.toggle(S,y(d))})});i(this.$box,this._readonly$,"readonly"),i(this.$box,this._draggable$,"no-drag",dr),i(this.$box,this._resizable$,"no-resize",dr),i(this.$box,this._focus$,"blur",dr),i(this.$box,this._darkMode$,"color-scheme-dark"),i(this.$box,this._darkMode$,"color-scheme-light",dr),this._renderSideEffect.add(()=>{const c=this.wrapClassName("minimized"),m=this.wrapClassName("maximized"),v="box-maximized-timer";return this._state$.subscribe(y=>{this.$box.classList.toggle(c,y===te.Minimized),y===te.Maximized?(this._renderSideEffect.flush(v),this.$box.classList.toggle(m,!0)):this._renderSideEffect.setTimeout(()=>{this.$box.classList.toggle(m,!1)},0,v)})}),this._renderSideEffect.add(()=>this._visible$.subscribe(c=>{this.$box.style.display=c?"block":"none"})),this._renderSideEffect.add(()=>this._zIndex$.subscribe(c=>{this.$box.style.zIndex=String(c)}));const n=Mv(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+"px",this.$box.style.height=this.absoluteHeight+"px";const r=this.x*this.containerRect.width+this.containerRect.x,s=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${r-10}px,${s-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],([c,m,v,y,S])=>{const d=m.width*y.width,p=m.height*y.height;return{width:d+(v&&S?1:0),height:p+(v&&S?1:0),x:c.x*y.width,y:c.y*y.height,scaleX:v&&S?S.width/d:1,scaleY:v&&S?S.height/p:1}},st).subscribe(c=>{n.set(c)}),n.set({x:r,y:s});const o=document.createElement("div");o.className=this.wrapClassName("box-main"),this.$box.appendChild(o);const a=document.createElement("div");a.className=this.wrapClassName("titlebar-wrap"),a.appendChild(this.titleBar.render()),this.$titleBar=a;const l=document.createElement("div");l.className=this.wrapClassName("content-wrap");const u=document.createElement("div");u.className=this.wrapClassName("content")+" tele-fancy-scrollbar",this.$content=u,this._renderSideEffect.add(()=>{let c;return this._$userStyles$.subscribe(m=>{c&&c.remove(),c=m,m&&l.appendChild(m)})}),this._renderSideEffect.add(()=>{let c;return this._$userContent$.subscribe(m=>{c&&c.remove(),c=m,m&&u.appendChild(m)})}),l.appendChild(u);const h=document.createElement("div");return h.className=this.wrapClassName("footer-wrap"),this.$footer=h,this._renderSideEffect.add(()=>{let c;return this._$userFooter$.subscribe(m=>{c&&c.remove(),c=m,m&&h.appendChild(m)})}),o.appendChild(a),o.appendChild(l),o.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const t=document.createElement("div");t.className=this.wrapClassName("resize-handles"),Object.values(Je).forEach(S=>{const d=document.createElement("div");d.className=this.wrapClassName(S)+" "+this.wrapClassName("resize-handle"),d.dataset.teleBoxHandle=S,t.appendChild(d)}),this.$box.appendChild(t);const i="handle-tracking-listener",n=this.wrapClassName("transforming");let r,s=0,o=0,a=0,l=0,u=0,h=0,c;const m=S=>{if(this.state!==te.Normal)return;ki(S);let{pageX:d,pageY:p}=Du(S);p<0&&(p=0);const f=(d-u)/this.containerRect.width,g=(p-h)/this.containerRect.height;switch(c){case Je.North:{this.transform(this.x,o+g,this.width,l-g);break}case Je.South:{this.transform(this.x,this.y,this.width,l+g);break}case Je.West:{this.transform(s+f,this.y,a-f,this.height);break}case Je.East:{this.transform(this.x,this.y,a+f,this.height);break}case Je.NorthWest:{this.transform(s+f,o+g,a-f,l-g);break}case Je.NorthEast:{this.transform(this.x,o+g,a+f,l-g);break}case Je.SouthEast:{this.transform(this.x,this.y,a+f,l+g);break}case Je.SouthWest:{this.transform(s+f,this.y,a-f,l+g);break}default:{if(this.fence)this.move(Me(s+f,0,1-this.width),Me(o+g,0,1-this.height));else{const w=20/this.containerRect.width,x=20/this.containerRect.height;this.move(Me(s+f,w-this.width,1-w),Me(o+g,0,1-x))}break}}},v=S=>{c=void 0,r&&(ki(S),this.$box.classList.toggle(n,!1),this._sideEffect.flush(i),r.remove())},y=S=>{var d;if(this.readonly||S.button!=null&&S.button!==0||!this.draggable||c||this.state!==te.Normal)return;const p=S.target;if((d=p.dataset)!=null&&d.teleBoxHandle){ki(S),s=this.x,o=this.y,a=this.width,l=this.height,{pageX:u,pageY:h}=Du(S),c=p.dataset.teleBoxHandle,r||(r=document.createElement("div"));const f=c?this.wrapClassName(`cursor-${c}`):"";r.className=this.wrapClassName(`track-mask${f?` ${f}`:""}`),this.$box.appendChild(r),this.$box.classList.add(n),this._sideEffect.add(()=>(window.addEventListener("mousemove",m),window.addEventListener("touchmove",m,{passive:!1}),window.addEventListener("mouseup",v),window.addEventListener("touchend",v,{passive:!1}),window.addEventListener("touchcancel",v,{passive:!1}),()=>{window.removeEventListener("mousemove",m),window.removeEventListener("touchmove",m),window.removeEventListener("mouseup",v),window.removeEventListener("touchend",v),window.removeEventListener("touchcancel",v)}),i)}};this._handleTrackStart=y,this._sideEffect.addEventListener(t,"mousedown",y,{},"box-resizeHandles-mousedown"),this._sideEffect.addEventListener(t,"touchstart",y,{passive:!1},"box-resizeHandles-touchstart")}destroy(){this.$box.remove(),this.events.emit(ae.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(t){return`${this.namespace}-${t}`}}function Lu(){}var Dv="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K";class uh{constructor({visible:t=!0,readonly:i=!1,darkMode:n=!1,namespace:r="telebox",styles:s={},onClick:o}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=t,this._readonly=i,this._darkMode=n,this.namespace=r,this.styles=s,this.onClick=o}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(t){return t.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(t){return this._visible!==t&&(this._visible=t,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-visible"),t)),this}setReadonly(t){return this._readonly!==t&&(this._readonly=t,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-readonly"),t)),this}setDarkMode(t){return this._darkMode!==t&&(this._darkMode=t,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName("color-scheme-dark"),t),this.$collector.classList.toggle(this.wrapClassName("color-scheme-light"),!t))),this}setStyles(t){if(Object.assign(this.styles,t),this.$collector){const i=this.$collector;Object.keys(t).forEach(n=>{const r=t[n];r!=null&&(i.style[n]=r)})}return this}render(){return this.$collector||(this.$collector=document.createElement("button"),this.$collector.className=this.wrapClassName("collector"),this.$collector.style.backgroundImage=`url('${Dv}')`,this.$collector.addEventListener("click",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName("collector-visible")),this._readonly&&this.$collector.classList.add(this.wrapClassName("collector-readonly")),this.$collector.classList.add(this.wrapClassName(this._darkMode?"color-scheme-dark":"color-scheme-light")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener("click",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(t){return`${this.namespace}-${t}`}}var oe;(function(e){e.Focused="focused",e.Blurred="blurred",e.Created="created",e.Removed="removed",e.State="state",e.Maximized="maximized",e.Minimized="minimized",e.Move="move",e.Resize="resize",e.IntrinsicMove="intrinsic_move",e.IntrinsicResize="intrinsic_resize",e.VisualResize="visual_resize",e.ZIndex="z_index",e.PrefersColorScheme="prefers_color_scheme",e.DarkMode="dark_mode"})(oe||(oe={}));class Lv extends lh{constructor(t){super(t);this.boxes=t.boxes,this.focusedBox=t.focusedBox,this.containerRect=t.containerRect,this.darkMode=t.darkMode}focusBox(t){var i;if(!(this.focusedBox&&this.focusedBox===t)){if(this.$titles&&this.state===te.Maximized){const{children:n}=this.$titles.firstElementChild;for(let r=n.length-1;r>=0;r-=1){const s=n[r],o=(i=s.dataset)==null?void 0:i.teleBoxID;o&&(t&&o===t.id?s.classList.toggle(this.wrapClassName("titles-tab-focus"),!0):this.focusedBox&&o===this.focusedBox.id&&s.classList.toggle(this.wrapClassName("titles-tab-focus"),!1))}}this.focusedBox=t}}setContainerRect(t){if(this.containerRect=t,this.$titleBar){const{x:i,y:n,width:r}=t;this.$titleBar.style.transform=`translate(${i}px, ${n}px)`,this.$titleBar.style.width=r+"px"}}setBoxes(t){this.boxes=t,this.updateTitles()}setState(t){super.setState(t),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("max-titlebar-maximized"),t===te.Maximized),this.updateTitles()}setReadonly(t){super.setReadonly(t),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("readonly"),this.readonly)}setDarkMode(t){t!==this.darkMode&&(this.darkMode=t,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-dark"),t),this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-light"),!t)))}render(){const t=super.render(),{x:i,y:n,width:r}=this.containerRect;t.style.transform=`translate(${i}px, ${n}px)`,t.style.width=r+"px",t.classList.add(this.wrapClassName("max-titlebar")),t.classList.toggle(this.wrapClassName("max-titlebar-maximized"),this.state===te.Maximized),t.classList.toggle(this.wrapClassName("readonly"),this.readonly),t.classList.add(this.wrapClassName(this.darkMode?"color-scheme-dark":"color-scheme-light"));const s=document.createElement("div");return s.classList.add(this.wrapClassName("titles-area")),t.insertBefore(s,t.firstElementChild),this.updateTitles(),t}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===te.Maximized&&(this.$titleBar.classList.toggle(this.wrapClassName("max-titlebar-single-title"),this.boxes.length===1),this.boxes.length===1?this.setTitle(this.boxes[0].title):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement("div"),this.$titles.className=this.wrapClassName("titles"),this.$titles.addEventListener("wheel",i=>{i.currentTarget.scrollBy({left:i.deltaY>0?250:-250,behavior:"smooth"})},{passive:!1});const t=document.createElement("div");return t.className=this.wrapClassName("titles-content"),this.$titles.appendChild(t),this.boxes.forEach(i=>{const n=document.createElement("button");n.className=this.wrapClassName("titles-tab"),n.textContent=i.title,n.dataset.teleBoxID=i.id,n.dataset.teleTitleBarNoDblClick="true",this.focusedBox&&i.id===this.focusedBox.id&&n.classList.add(this.wrapClassName("titles-tab-focus")),t.appendChild(n)}),this.$titles}}class jv{constructor({root:t=document.body,prefersColorScheme:i=Jr.Light,minimized:n=!1,maximized:r=!1,fence:s=!0,containerRect:o={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:a,namespace:l="telebox",readonly:u=!1}={}){this.events=new Ro,this._sideEffect=new Xr;const{combine:h,createVal:c}=ah(this._sideEffect);this.root=t,this.namespace=l,this.boxes$=c([]),this.topBox$=this.boxes$.derive(M=>{if(M.length>0)return M.reduce((P,B)=>P.zIndex>B.zIndex?P:B)});const m=window.matchMedia("(prefers-color-scheme: dark)"),v=c(!1);m&&(v.setValue(m.matches),this._sideEffect.add(()=>{const M=R=>{v.setValue(R.matches)};return m.addListener(M),()=>m.removeListener(M)}));const y=c(i);y.reaction((M,R,P)=>{this.boxes.forEach(B=>B.setPrefersColorScheme(M,P)),P||this.events.emit(oe.PrefersColorScheme,M)}),this._darkMode$=h([v,y],([M,R])=>R==="auto"?M:R==="dark"),this._darkMode$.reaction((M,R,P)=>{this.boxes.forEach(B=>B.setDarkMode(M,P)),P||this.events.emit(oe.DarkMode,M)});const S=c(u);S.reaction((M,R,P)=>{this.boxes.forEach(B=>B.setReadonly(M,P))});const d=c(n),p=c(r);p.reaction((M,R,P)=>{this.boxes.forEach(B=>B.setMaximized(M,P)),P||this.events.emit(oe.Maximized,M)});const f=h([d,p],([M,R])=>M?te.Minimized:R?te.Maximized:te.Normal);f.reaction((M,R,P)=>{this.maxTitleBar.setState(M),P||this.events.emit(oe.State,M)});const g=c(s);g.subscribe((M,R,P)=>{this.boxes.forEach(B=>B.setFence(M,P))});const w=c(o,st);w.reaction((M,R,P)=>{this.boxes.forEach(B=>B.setContainerRect(M,P)),this.maxTitleBar.setContainerRect(M)});const x=c(a===null?null:a||new uh({visible:n,readonly:u,namespace:l}).mount(t));x.subscribe(M=>{M&&(M.setVisible(d.value),M.setReadonly(S.value),M.setDarkMode(this._darkMode$.value),this._sideEffect.add(()=>(M.onClick=()=>{S.value||d.setValue(!1)},()=>M.destroy()),"collect-onClick"))}),S.subscribe(M=>{var R;return(R=x.value)==null?void 0:R.setReadonly(M)}),this._darkMode$.subscribe(M=>{var R;(R=x.value)==null||R.setDarkMode(M)});const b=()=>{var M;if((M=x.value)!=null&&M.$collector){const{x:R,y:P,width:B,height:Q}=x.value.$collector.getBoundingClientRect(),pe=this.root.getBoundingClientRect();return{x:R-pe.x,y:P-pe.y,width:B,height:Q}}},T=c(d.value?b():void 0);T.subscribe((M,R,P)=>{this.boxes.forEach(B=>{B.setCollectorRect(M,P)})}),d.subscribe((M,R,P)=>{var B,Q;(B=x.value)==null||B.setVisible(M),M&&(Q=x.value)!=null&&Q.$collector&&T.setValue(b()),this.boxes.forEach(pe=>pe.setMinimized(M,P)),P||this.events.emit(oe.Minimized,M)});const L=this.wrapClassName("titlebar-icon-close"),k=M=>{var R;if(S.value)return;const P=M.target;if(!!P.tagName)for(let B=P;B;B=B.parentElement){if(B.classList&&B.classList.contains(L))return;const Q=(R=B.dataset)==null?void 0:R.teleBoxID;if(Q){const pe=this.getBox(Q);if(pe){this.focusBox(pe),this.makeBoxTop(pe);return}}}};this._sideEffect.addEventListener(window,"mousedown",k,!0),this._sideEffect.addEventListener(window,"touchstart",k,!0),this.maxTitleBar=new Lv({darkMode:this.darkMode,readonly:S.value,namespace:this.namespace,state:f.value,boxes:this.boxes$.value,containerRect:w.value,onEvent:M=>{switch(M.type){case xe.Maximize:{p.setValue(!p.value);break}case xe.Minimize:{d.setValue(!0);break}case ae.Close:{this.removeTopBox(),this.focusTopBox();break}}}}),S.subscribe(M=>this.maxTitleBar.setReadonly(M)),this._darkMode$.subscribe(M=>{this.maxTitleBar.setDarkMode(M)}),this.boxes$.reaction(M=>{this.maxTitleBar.setBoxes(M)}),oh(this,{prefersColorScheme:y,containerRect:w,collector:x,collectorRect:T,readonly:S,fence:g,minimized:d,maximized:p}),this._state$=f,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(t,i=!1){switch(t){case te.Maximized:{this.setMinimized(!1,i),this.setMaximized(!0,i);break}case te.Minimized:{this.setMinimized(!0,i),this.setMaximized(!1,i);break}default:{this.setMinimized(!1,i),this.setMaximized(!1,i);break}}return this}create(t={},i=!0){const n=new zv(bu(Iu({zIndex:this.topBox?this.topBox.zIndex+1:100},i?this.smartPosition(t):t),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return n.mount(this.root),n.focus&&(this.focusBox(n),i&&this.makeBoxTop(n)),this.boxes$.setValue([...this.boxes,n]),n._delegateEvents.on(xe.Maximize,()=>{this.setMaximized(!this.maximized)}),n._delegateEvents.on(xe.Minimize,()=>{this.setMinimized(!0)}),n._delegateEvents.on(xe.Close,()=>{this.remove(n),this.focusTopBox()}),n._coord$.reaction((r,s,o)=>{o||this.events.emit(oe.Move,n)}),n._size$.reaction((r,s,o)=>{o||this.events.emit(oe.Resize,n)}),n._intrinsicCoord$.reaction((r,s,o)=>{o||this.events.emit(oe.IntrinsicMove,n)}),n._intrinsicSize$.reaction((r,s,o)=>{o||this.events.emit(oe.IntrinsicResize,n)}),n._visualSize$.reaction((r,s,o)=>{o||this.events.emit(oe.VisualResize,n)}),n._zIndex$.reaction((r,s,o)=>{if(this.boxes.length>0){const a=this.boxes.reduce((l,u)=>l.zIndex>u.zIndex?l:u);this.topBox$.setValue(a)}o||this.events.emit(oe.ZIndex,n)}),this.events.emit(oe.Created,n),n}query(t){return t?this.boxes.filter(this.teleBoxMatcher(t)):[...this.boxes]}queryOne(t){return t?this.boxes.find(this.teleBoxMatcher(t)):this.boxes[0]}update(t,i,n=!1){const r=this.boxes.find(s=>s.id===t);if(r)return this.updateBox(r,i,n)}updateAll(t,i=!1){this.boxes.forEach(n=>{this.updateBox(n,t,i)})}remove(t,i=!1){const n=this.getBoxIndex(t);if(n>=0){const r=this.boxes.slice(),s=r.splice(n,1);return this.boxes$.setValue(r),s.forEach(o=>o.destroy()),i||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(oe.Removed,s)),s[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(t=!1){const i=this.boxes$.value;return this.boxes$.setValue([]),i.forEach(n=>n.destroy()),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(oe.Removed,i)),i}destroy(t=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(t),Object.keys(this).forEach(i=>{const n=this[i];n instanceof Yn&&n.destroy()})}wrapClassName(t){return`${this.namespace}-${t}`}focusBox(t,i=!1){const n=this.getBox(t);n&&(this.boxes.forEach(r=>{if(n===r){let s=!1;n.focus||(s=!0,n.setFocus(!0,i)),s&&!i&&this.events.emit(oe.Focused,n)}else r.focus&&this.blurBox(r,i)}),this.maxTitleBar.focusBox(n))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(t,i=!1){const n=this.getBox(t);n&&(n.focus&&(n.setFocus(!1,i),i||this.events.emit(oe.Blurred,n)),this.maxTitleBar.focusedBox===n&&this.maxTitleBar.focusBox())}blurAll(t=!1){this.boxes.forEach(i=>{i.focus&&(i.setFocus(!1,t),t||this.events.emit(oe.Blurred,i))}),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(t){const i=Object.keys(t);return n=>i.every(r=>t[r]===n[r])}updateBox(t,i,n=!1){(i.x!=null||i.y!=null)&&t.move(i.x==null?t.intrinsicX:i.x,i.y==null?t.intrinsicY:i.y,n),(i.width!=null||i.height!=null)&&t.resize(i.width==null?t.intrinsicWidth:i.width,i.height==null?t.intrinsicHeight:i.height,n),i.title!=null&&(t.setTitle(i.title),this.maxTitleBar.updateTitles()),i.visible!=null&&t.setVisible(i.visible,n),i.minHeight!=null&&t.setMinHeight(i.minHeight,n),i.minWidth!=null&&t.setMinWidth(i.minWidth,n),i.resizable!=null&&t.setResizable(i.resizable,n),i.draggable!=null&&t.setDraggable(i.draggable,n),i.fixRatio!=null&&t.setFixRatio(i.fixRatio,n),i.zIndex!=null&&t.setZIndex(i.zIndex,n),i.content!=null&&t.mountContent(i.content),i.footer!=null&&t.mountFooter(i.footer)}smartPosition(t={}){let{x:i,y:n}=t;const{width:r=.5,height:s=.5}=t;if(i==null){let o=20;this.topBox&&(o=this.topBox.intrinsicX*this.containerRect.width+20,o>this.containerRect.width-r*this.containerRect.width&&(o=20)),i=o/this.containerRect.width}if(n==null){let o=20;this.topBox&&(o=this.topBox.intrinsicY*this.containerRect.height+20,o>this.containerRect.height-s*this.containerRect.height&&(o=20)),n=o/this.containerRect.height}return bu(Iu({},t),{x:i,y:n,width:r,height:s})}makeBoxTop(t,i=!1){this.topBox&&t!==this.topBox&&t.setZIndex(this.topBox.zIndex+1,i)}getBoxIndex(t){return typeof t=="string"?this.boxes.findIndex(i=>i.id===t):this.boxes.findIndex(i=>i===t)}getBox(t){return typeof t=="string"?this.boxes.find(i=>i.id===t):t}}const Bv=(e,t,i,n,r)=>new Rv({safeSetAttributes:s=>e.safeSetAttributes(s),getMainView:()=>e.mainView,updateAppState:(...s)=>{var o;return(o=e.appManager)==null?void 0:o.store.updateAppState(...s)},canOperate:()=>e.canOperate,notifyContainerRectUpdate:s=>{var o;return(o=e.appManager)==null?void 0:o.notifyContainerRectUpdate(s)},cleanFocus:()=>{var s;return(s=e.appManager)==null?void 0:s.store.cleanFocus()},setAppFocus:s=>{var o;return(o=e.appManager)==null?void 0:o.store.setAppFocus(s,!0)},callbacks:t,emitter:i,boxEmitter:n},r);class Rv{constructor(t,i){this.context=t,this.createTeleBoxManagerConfig=i;const{emitter:n,callbacks:r,boxEmitter:s}=t;this.teleBoxManager=this.setupBoxManager(i),this.teleBoxManager._state$.reaction(o=>{r.emit("boxStateChange",o),n.emit("boxStateChange",o)}),this.teleBoxManager._darkMode$.reaction(o=>{r.emit("darkModeChange",o)}),this.teleBoxManager._prefersColorScheme$.reaction(o=>{r.emit("prefersColorSchemeChange",o)}),this.teleBoxManager._minimized$.reaction(o=>{o||setTimeout(()=>{const a=.001*(Math.random()>.5?1:-1);this.teleBoxManager.boxes.forEach(l=>{l.resize(l.intrinsicWidth+a,l.intrinsicHeight+a,!0)})},400)}),this.teleBoxManager.events.on("minimized",o=>{if(this.context.safeSetAttributes({minimized:o}),o)this.context.cleanFocus(),this.blurAllBox();else{const a=this.getTopBox();a&&(this.context.setAppFocus(a.id),this.focusBox({appId:a.id},!1))}}),this.teleBoxManager.events.on("maximized",o=>{this.context.safeSetAttributes({maximized:o})}),this.teleBoxManager.events.on("removed",o=>{o.forEach(a=>{s.emit("close",{appId:a.id})})}),this.teleBoxManager.events.on("intrinsic_move",E.debounce(o=>{s.emit("move",{appId:o.id,x:o.intrinsicX,y:o.intrinsicY})},50)),this.teleBoxManager.events.on("intrinsic_resize",E.debounce(o=>{s.emit("resize",{appId:o.id,width:o.intrinsicWidth,height:o.intrinsicHeight})},200)),this.teleBoxManager.events.on("focused",o=>{o&&(this.canOperate?s.emit("focus",{appId:o.id}):this.teleBoxManager.blurBox(o.id))}),this.teleBoxManager.events.on("z_index",o=>{this.context.updateAppState(o.id,be.ZIndex,o.zIndex)}),n.on("playgroundSizeChange",()=>this.updateManagerRect()),n.on("updateManagerRect",()=>this.updateManagerRect())}get mainView(){return this.context.getMainView()}get canOperate(){return this.context.canOperate()}get boxState(){return this.teleBoxManager.state}get maximized(){return this.teleBoxManager.maximized}get minimized(){return this.teleBoxManager.minimized}get darkMode(){return this.teleBoxManager.darkMode}get prefersColorScheme(){return this.teleBoxManager.prefersColorScheme}get boxSize(){return this.teleBoxManager.boxes.length}createBox(t){var u,h,c;if(!this.teleBoxManager)return;let{minwidth:i=wg,minheight:n=yg}=(u=t.app.config)!=null?u:{};const{width:r,height:s}=(h=t.app.config)!=null?h:{},o=((c=t.options)==null?void 0:c.title)||t.appId,a=this.teleBoxManager.containerRect;i>1&&(i=i/a.width),n>1&&(n=n/a.height);const l={title:o,minWidth:i,minHeight:n,width:r,height:s,id:t.appId};this.teleBoxManager.create(l,t.smartPosition),this.context.emitter.emit(`${t.appId}${J.WindowCreated}`)}setBoxInitState(t){const i=this.teleBoxManager.queryOne({id:t});i&&i.state===te.Maximized&&this.context.boxEmitter.emit("resize",{appId:t,x:i.x,y:i.y,width:i.intrinsicWidth,height:i.intrinsicHeight})}setupBoxManager(t){const i=ie.wrapper?ie.wrapper:document.body,n=i.getBoundingClientRect(),r={root:i,containerRect:{x:0,y:0,width:n.width,height:n.height},fence:!1,prefersColorScheme:t==null?void 0:t.prefersColorScheme},s=new jv(r);this.teleBoxManager&&this.teleBoxManager.destroy(),this.teleBoxManager=s;const o=(t==null?void 0:t.collectorContainer)||ie.wrapper;return o&&this.setCollectorContainer(o),s}setCollectorContainer(t){var n;const i=new uh({styles:(n=this.createTeleBoxManagerConfig)==null?void 0:n.collectorStyles}).mount(t);this.teleBoxManager.setCollector(i)}getBox(t){return this.teleBoxManager.queryOne({id:t})}closeBox(t,i=!1){return this.teleBoxManager.remove(t,i)}boxIsFocus(t){const i=this.getBox(t);return i==null?void 0:i.focus}getFocusBox(){return this.teleBoxManager.query({focus:!0})[0]}getTopBox(){return this.teleBoxManager.topBox}updateBoxState(t){if(!t)return;const i=this.getBox(t.id);i&&(this.teleBoxManager.update(i.id,{x:t.x,y:t.y,width:t.width||.5,height:t.height||.5,zIndex:t.zIndex},!0),setTimeout(()=>{t.focus&&this.teleBoxManager.focusBox(i.id,!0),t.maximized!=null&&this.teleBoxManager.setMaximized(Boolean(t.maximized),!0),t.minimized!=null&&this.teleBoxManager.setMinimized(Boolean(t.minimized),!0)},50),this.context.callbacks.emit("boxStateChange",this.teleBoxManager.state))}updateManagerRect(){var i;const t=(i=this.mainView.divElement)==null?void 0:i.getBoundingClientRect();if(t&&t.width>0&&t.height>0){const n={x:0,y:0,width:t.width,height:t.height};this.teleBoxManager.setContainerRect(n),this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect)}}moveBox({appId:t,x:i,y:n}){this.teleBoxManager.update(t,{x:i,y:n},!0)}focusBox({appId:t},i=!0){this.teleBoxManager.focusBox(t,i)}resizeBox({appId:t,width:i,height:n,skipUpdate:r}){this.teleBoxManager.update(t,{width:i,height:n},r)}setBoxMinSize(t){this.teleBoxManager.update(t.appId,{minWidth:t.minWidth,minHeight:t.minHeight},!0)}setBoxTitle(t){this.teleBoxManager.update(t.appId,{title:t.title},!0)}blurAllBox(){this.teleBoxManager.blurAll()}updateAll(t){this.teleBoxManager.updateAll(t)}setMaximized(t,i=!0){t!==this.maximized&&this.teleBoxManager.setMaximized(t,i)}setMinimized(t,i=!0){this.teleBoxManager.setMinimized(t,i)}focusTopBox(){if(this.teleBoxManager.query().length>=1){const i=this.getTopBox();i&&this.focusBox({appId:i.id},!1)}}updateBox(t,i,n=!0){this.teleBoxManager.update(t,i,n)}setReadonly(t){this.teleBoxManager.setReadonly(t)}setPrefersColorScheme(t){this.teleBoxManager.setPrefersColorScheme(t)}setZIndex(t,i,n=!0){this.teleBoxManager.update(t,{zIndex:i},n)}destroy(){this.teleBoxManager.destroy()}}function Kr(){}function ch(e){return e()}function ju(){return Object.create(null)}function Ns(e){e.forEach(ch)}function _v(e){return typeof e=="function"}function Ov(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}let hr;function qr(e,t){return hr||(hr=document.createElement("a")),hr.href=t,e===hr.href}function Vv(e){return Object.keys(e).length===0}function yt(e,t){e.appendChild(t)}function Ps(e,t,i){e.insertBefore(t,i||null)}function Gn(e){e.parentNode.removeChild(e)}function Rt(e){return document.createElement(e)}function rl(e){return document.createTextNode(e)}function Ho(){return rl(" ")}function ce(e,t,i){i==null?e.removeAttribute(t):e.getAttribute(t)!==i&&e.setAttribute(t,i)}function Uv(e){return Array.from(e.childNodes)}function dh(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function me(e,t,i,n){i===null?e.style.removeProperty(t):e.style.setProperty(t,i,n?"important":"")}let sl;function yn(e){sl=e}const cn=[],Bu=[],zr=[],Ru=[],Wv=Promise.resolve();let $o=!1;function Hv(){$o||($o=!0,Wv.then(hh))}function Fo(e){zr.push(e)}const uo=new Set;let pr=0;function hh(){const e=sl;do{for(;pr<cn.length;){const t=cn[pr];pr++,yn(t),$v(t.$$)}for(yn(null),cn.length=0,pr=0;Bu.length;)Bu.pop()();for(let t=0;t<zr.length;t+=1){const i=zr[t];uo.has(i)||(uo.add(i),i())}zr.length=0}while(cn.length);for(;Ru.length;)Ru.pop()();$o=!1,uo.clear(),yn(e)}function $v(e){if(e.fragment!==null){e.update(),Ns(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(Fo)}}const Fv=new Set;function Qv(e,t){e&&e.i&&(Fv.delete(e),e.i(t))}function Zv(e,t,i,n){const{fragment:r,on_mount:s,on_destroy:o,after_update:a}=e.$$;r&&r.m(t,i),n||Fo(()=>{const l=s.map(ch).filter(_v);o?o.push(...l):Ns(l),e.$$.on_mount=[]}),a.forEach(Fo)}function Yv(e,t){const i=e.$$;i.fragment!==null&&(Ns(i.on_destroy),i.fragment&&i.fragment.d(t),i.on_destroy=i.fragment=null,i.ctx=[])}function Gv(e,t){e.$$.dirty[0]===-1&&(cn.push(e),Hv(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function Xv(e,t,i,n,r,s,o,a=[-1]){const l=sl;yn(e);const u=e.$$={fragment:null,ctx:null,props:s,update:Kr,not_equal:r,bound:ju(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(l?l.$$.context:[])),callbacks:ju(),dirty:a,skip_bound:!1,root:t.target||l.$$.root};o&&o(u.root);let h=!1;if(u.ctx=i?i(e,t.props||{},(c,m,...v)=>{const y=v.length?v[0]:m;return u.ctx&&r(u.ctx[c],u.ctx[c]=y)&&(!u.skip_bound&&u.bound[c]&&u.bound[c](y),h&&Gv(e,c)),m}):[],u.update(),h=!0,Ns(u.before_update),u.fragment=n?n(u.ctx):!1,t.target){if(t.hydrate){const c=Uv(t.target);u.fragment&&u.fragment.l(c),c.forEach(Gn)}else u.fragment&&u.fragment.c();t.intro&&Qv(e.$$.fragment),Zv(e,t.target,t.anchor,t.customElement),hh()}yn(l)}class Jv{$destroy(){Yv(this,1),this.$destroy=Kr}$on(t,i){const n=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return n.push(i),()=>{const r=n.indexOf(i);r!==-1&&n.splice(r,1)}}$set(t){this.$$set&&!Vv(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}function _u(e){let t,i,n,r,s,o,a,l=e[16]&&Ou(e),u=e[17]&&Vu(e);return{c(){t=Rt("div"),i=Rt("div"),l&&l.c(),n=Ho(),r=Rt("span"),s=rl(e[0]),o=Ho(),u&&u.c(),me(r,"overflow","hidden"),me(r,"white-space","nowrap"),me(r,"text-overflow","ellipsis"),me(r,"max-width","80px"),ce(i,"class",e[8]),me(i,"background-color",e[2]),me(i,"color",e[9]),me(i,"opacity",e[11]),ce(t,"class",a="netless-window-manager-cursor-name "+e[14]+" "+e[13])},m(h,c){Ps(h,t,c),yt(t,i),l&&l.m(i,null),yt(i,n),yt(i,r),yt(r,s),yt(i,o),u&&u.m(i,null)},p(h,c){h[16]?l?l.p(h,c):(l=Ou(h),l.c(),l.m(i,n)):l&&(l.d(1),l=null),c&1&&dh(s,h[0]),h[17]?u?u.p(h,c):(u=Vu(h),u.c(),u.m(i,null)):u&&(u.d(1),u=null),c&256&&ce(i,"class",h[8]),c&4&&me(i,"background-color",h[2]),c&512&&me(i,"color",h[9]),c&2048&&me(i,"opacity",h[11]),c&24576&&a!==(a="netless-window-manager-cursor-name "+h[14]+" "+h[13])&&ce(t,"class",a)},d(h){h&&Gn(t),l&&l.d(),u&&u.d()}}}function Ou(e){let t,i;return{c(){t=Rt("img"),ce(t,"class","netless-window-manager-cursor-selector-avatar"),ce(t,"style",e[18]()),qr(t.src,i=e[7])||ce(t,"src",i),ce(t,"alt","avatar")},m(n,r){Ps(n,t,r)},p(n,r){r&128&&!qr(t.src,i=n[7])&&ce(t,"src",i)},d(n){n&&Gn(t)}}}function Vu(e){let t,i;return{c(){t=Rt("span"),i=rl(e[1]),ce(t,"class","netless-window-manager-cursor-tag-name"),me(t,"background-color",e[10])},m(n,r){Ps(n,t,r),yt(t,i)},p(n,r){r&2&&dh(i,n[1]),r&1024&&me(t,"background-color",n[10])},d(n){n&&Gn(t)}}}function Kv(e){let t,i,n,r,s,o,a=!e[12]&&_u(e);return{c(){t=Rt("div"),a&&a.c(),i=Ho(),n=Rt("div"),r=Rt("img"),ce(r,"class",s="netless-window-manager-cursor-"+e[3]+"-image "+e[13]),qr(r.src,o=e[6])||ce(r,"src",o),ce(r,"alt",e[3]),ce(n,"class","cursor-image-wrapper"),ce(t,"class","netless-window-manager-cursor-mid"),me(t,"transform","translateX("+e[4]+"px) translateY("+e[5]+"px)"),me(t,"display",e[15])},m(l,u){Ps(l,t,u),a&&a.m(t,null),yt(t,i),yt(t,n),yt(n,r)},p(l,[u]){l[12]?a&&(a.d(1),a=null):a?a.p(l,u):(a=_u(l),a.c(),a.m(t,i)),u&8200&&s!==(s="netless-window-manager-cursor-"+l[3]+"-image "+l[13])&&ce(r,"class",s),u&64&&!qr(r.src,o=l[6])&&ce(r,"src",o),u&8&&ce(r,"alt",l[3]),u&48&&me(t,"transform","translateX("+l[4]+"px) translateY("+l[5]+"px)"),u&32768&&me(t,"display",l[15])},i:Kr,o:Kr,d(l){l&&Gn(t),a&&a.d()}}}function qv(e,t,i){let n,r,s,o,a,l,u,h,{cursorName:c}=t,{tagName:m}=t,{backgroundColor:v}=t,{appliance:y}=t,{x:S}=t,{y:d}=t,{src:p}=t,{visible:f}=t,{avatar:g}=t,{theme:w}=t,{color:x}=t,{cursorTagBackgroundColor:b}=t,{opacity:T}=t,{pencilEraserSize:L}=t;const k=()=>Object.entries({width:(n?19:28)+"px",height:(n?19:28)+"px",position:n?"initial":"absolute","border-color":n?"white":v,"margin-right":(n?4:0)+"px"}).map(([j,M])=>`${j}: ${M}`).join(";");return e.$$set=j=>{"cursorName"in j&&i(0,c=j.cursorName),"tagName"in j&&i(1,m=j.tagName),"backgroundColor"in j&&i(2,v=j.backgroundColor),"appliance"in j&&i(3,y=j.appliance),"x"in j&&i(4,S=j.x),"y"in j&&i(5,d=j.y),"src"in j&&i(6,p=j.src),"visible"in j&&i(19,f=j.visible),"avatar"in j&&i(7,g=j.avatar),"theme"in j&&i(8,w=j.theme),"color"in j&&i(9,x=j.color),"cursorTagBackgroundColor"in j&&i(10,b=j.cursorTagBackgroundColor),"opacity"in j&&i(11,T=j.opacity),"pencilEraserSize"in j&&i(20,L=j.pencilEraserSize)},e.$$.update=()=>{e.$$.dirty&1&&(n=!E.isEmpty(c)),e.$$.dirty&2&&i(17,r=!E.isEmpty(m)),e.$$.dirty&128&&i(16,s=!E.isEmpty(g)),e.$$.dirty&524288&&i(15,o=f?"initial":"none"),e.$$.dirty&8&&i(12,a=y===A.ApplianceNames.laserPointer),e.$$.dirty&4104&&i(21,l=a||y===A.ApplianceNames.pencilEraser),e.$$.dirty&2097152&&i(14,u=l?"netless-window-manager-laserPointer-pencilEraser-offset":""),e.$$.dirty&1048576&&i(13,h=L===3?"netless-window-manager-pencilEraser-3-offset":"")},[c,m,v,y,S,d,p,g,w,x,b,T,a,h,u,o,s,r,k,f,L,l]}class ew extends Jv{constructor(t){super();Xv(this,t,qv,Kv,Ov,{cursorName:0,tagName:1,backgroundColor:2,appliance:3,x:4,y:5,src:6,visible:19,avatar:7,theme:8,color:9,cursorTagBackgroundColor:10,opacity:11,pencilEraserSize:20})}}class tw{constructor(t,i,n,r){this.manager=t,this.memberId=i,this.cursorManager=n,this.wrapper=r,this.move=s=>{var o;if(s.type==="main"){const a=this.cursorManager.wrapperRect;this.component&&a&&(this.autoHidden(),this.moveCursor(s,a,this.manager.mainView))}else{const a=this.cursorManager.focusView,l=(o=a==null?void 0:a.divElement)==null?void 0:o.getBoundingClientRect(),u=a==null?void 0:a.camera;a&&l&&u&&this.component&&(this.autoHidden(),this.moveCursor(s,l,a))}},this.leave=()=>{this.hide()},this.updateMember(),this.createCursor(),this.autoHidden()}moveCursor(t,i,n){var l,u;const{x:r,y:s,type:o}=t,a=n==null?void 0:n.screen.convertPointToScreen(r,s);if(a){let h=a.x-2,c=a.y-18;if(o==="app"){const m=this.cursorManager.wrapperRect;m&&(h=h+i.x-m.x,c=c+i.y-m.y)}a.x<0||a.x>i.width||a.y<0||a.y>i.height?(l=this.component)==null||l.$set({visible:!1,x:h,y:c}):(u=this.component)==null||u.$set({visible:!0,x:h,y:c})}}get memberApplianceName(){var t,i;return(i=(t=this.member)==null?void 0:t.memberState)==null?void 0:i.currentApplianceName}get memberColor(){var i,n;return`rgb(${(n=(i=this.member)==null?void 0:i.memberState)==null?void 0:n.strokeColor.join(",")})`}get payload(){var t;return(t=this.member)==null?void 0:t.payload}get memberCursorName(){var t,i;return((t=this.payload)==null?void 0:t.nickName)||((i=this.payload)==null?void 0:i.cursorName)||this.memberId}get memberTheme(){var t;return(t=this.payload)!=null&&t.theme?"netless-window-manager-cursor-inner-mellow":"netless-window-manager-cursor-inner"}get memberCursorTextColor(){var t;return((t=this.payload)==null?void 0:t.cursorTextColor)||"#FFFFFF"}get memberCursorTagBackgroundColor(){var t;return((t=this.payload)==null?void 0:t.cursorTagBackgroundColor)||this.memberColor}get memberAvatar(){var t;return(t=this.payload)==null?void 0:t.avatar}get memberOpacity(){return!this.memberCursorName&&!this.memberAvatar?0:1}get memberTagName(){var t;return(t=this.payload)==null?void 0:t.cursorTagName}autoHidden(){this.timer&&clearTimeout(this.timer),this.timer=window.setTimeout(()=>{this.hide()},1e3*10)}async createCursor(){this.member&&this.wrapper&&(this.component=new ew({target:this.wrapper,props:this.initProps()}))}initProps(){var t;return{x:0,y:0,appliance:this.memberApplianceName,avatar:this.memberAvatar,src:this.getIcon(),visible:!1,backgroundColor:this.memberColor,cursorName:this.memberCursorName,theme:this.memberTheme,color:this.memberCursorTextColor,cursorTagBackgroundColor:this.memberCursorTagBackgroundColor,opacity:this.memberOpacity,tagName:this.memberTagName,pencilEraserSize:(t=this.member)==null?void 0:t.memberState.pencilEraserSize}}getIcon(){var t;if(this.member){const i=this.cursorManager.applianceIcons;let n=i[A.ApplianceNames.shape];if(this.memberApplianceName===A.ApplianceNames.pencilEraser){const r=((t=this.member)==null?void 0:t.memberState.pencilEraserSize)||1;n=i[`${this.memberApplianceName}${r}`]}else n=i[this.memberApplianceName||A.ApplianceNames.shape];return n||i[A.ApplianceNames.shape]}}updateMember(){return this.member=Do(this.manager.room,this.memberId),this.updateComponent(),this.member}updateComponent(){var t;(t=this.component)==null||t.$set(E.omit(this.initProps(),["x","y"]))}destroy(){this.component&&this.component.$destroy(),this.cursorManager.cursorInstances.delete(this.memberId),this.timer&&clearTimeout(this.timer)}hide(){this.component&&(this.component.$set({visible:!1}),this.destroy())}}var iw="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAYISURBVHgB7ZpNSCtXFIBPEuvz+dMGpYUKD/sWFX+Qti6kK7Hqpm6e9q0rIoIUFUShPLV10VZx4+JZqa9v20LBhdq9fyBUCtKNPH8qYl2IOw3G38Rkek4y15y5uTOZJDOWggcOSSYzN/ebc+45554JwIM8iBCPyTEP+86T4vyMfsRN4b+nQTKIJp0vzuGvlpID7os8EQNEIBD4oKio6Bm9DwaDv/v9/n/076JgbtWUYPchwrW8qD7UnOvr6wFNkpubm+/wu7f0c7y6mrnlvQufxB0Iau7V1dX3BDA/P6/V1dVpzc3N2uLiIofK1c8VYHys/wRKBUN3/hGHqaysNOjc3FwMis6hc0FtLTHuvYLxCCZgci8uLn4wg5Gh6Fy8Jk+/NkcCAlAAuUkoW4g0B+d5tLS05O/r67O8eGxsDNra2uDy8nKsoKCAwCIQDxQa0yTxgrvCYXyTk5Ml+Orf2dlJeeHIyAigFSE/P38ELfUNqNdSkjgF5FF89jL1TU1NlQwODl5gZPujp6cHWltbUw7Koc7Pz8mkZpHPFeFrJuZeqLnoMoPoZqe0JjDP/IZgnyLUG/o8NDRkuo5Ua2pjY6MC4oFCFf1cA0oKzRSOp6enRfTaGh0d/QxBt+1CUVgnOTs7+xrHfQzGyOcKkK3QTJMnQffZ6e/v/xwttmsHqqmpKXbdycnJCxy7ABLh3FEgVZ6hZJhnFZoFFMF0d3c/w7v+dyookXBnZ2c/xvHfhriVcvXfdBRItsxjnOhYqjwjoAimq6vrCysoGofk+Ph4Esd/F/UdiFtJAGUd2DygTpp5dmBUUJ2dnc9VUALm8PDwJY7/BPU9VD8k3M4RC6kskxZMKigKIMLN9vf3p3H8DyWgfEhEOwOQD9IXOTz7EObbwsLC4YWFBRgeHrY9ECXYo6MjaGlpKWlsbPxkYGDgRW1tbSEWquVlZWXBzc3Nl1VVVa8hXiXc6ioqBqGaPDk7AACJTRZ3NS9lcUp86cJwoSQ7Pj4Op6enfxUXF3/V0NCQv7q6GsCvwrqGUG/01xAD4+VQTOxaSF43d5bBOisrGBJRCtXX17+/trb268rKSgASFgmz97KFkmo6OztWuVyPweiWGc4WRkhFRQVEIpHg8vJyQAIQVlLBROVxvBYQHsXnO8tk62ZcyN0wecLBwcEvYHSzEPscBqOLCRhLC4n9uqaA8UAWAcAKhtbQ3t7eTHl5+Y9gtAp3twhT056CDMQ7MRzIFTeTYKb1yYYVQFH9VdzsqNmYKpfTJBDX3Ixgdnd3XyHMT2AMALJlBBSPaMpNngrIsTyTCgaj288YDGakictrxizvKFNOjgSSBLS+vv6UYHDb7DgMVgsChjTEgCIKGG4ZU+EWkgNBzN1qamq+pAMTExPgFMzW1tZrhHkFyWE5KxgSszx0527RaDRmOSpRshEOU11dPQPG8CwHARHJlMnTSrwSRFIlfXt7m3V5ngJGuJtqzaQtZkFBVNJezN5ZAdmwjKo2k9tVtrcI3OXk4tPgcg7ChCDZ1URgMOu72Xa5VFHOkymQhWVU60YVmjN6wiC7k6p+S1syCACOwJBYFaexV+yhBekNPsMBO6KAEeE4BMaCU67RsoYhSbXgaT//ht709vZCaWmp6YkEbLFmVJWzas04+iBL7EKpm0J7duqu0B7+CTUpNJuyvb1NCfMj1CqI9wLKUOlOUMeG+gGFkHii4HizUF4z/KFUrPsJ8WbEIyx7nnZ0dDynME6BAuce09iFHo+GrnmGltltb2//E4wVAN82y7vOjKOZXSBhJdHNiT3TYWD8OY2PTUJkdd7MkJMnT5wZVQF2RFX6yBMUdzPMvvfqxz3sXHF+GNT9ANXit/10O1sgHkZvdQAOKvs9B5L7ARELGAAXLSTvM8QExTE+YbHe+HURhZp1aRyF4CJXClbbWwGketgkW9VsY+YaiBCVhfgE+XvxRwgZSM4jUVCDZFQ9pytmXR8hUTB2gnidx4XffVWydN0yQjwmx/jkAZJBrIBI5J7ZvQGZWUgVSuU/EqmOAzicKNMVu816DdRWUV1/7xAP8n+SfwF3Du3NF2sYhwAAAABJRU5ErkJggg==",nw="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAxCAYAAABznEEcAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAZoSURBVHgB7VlLSCRXFL3ljNEhEXTGhMQJmOjCz8ZNVLKICz9xIYhCNi7UgINkGEk2En8hW5cBUQNxo05GAoKikuCAmvGzGMdPcCUGjDPxD/4Vv/3JvWW97luvq7ur+hMZ8MKlqrteNfe8e965970GuLVbC5kpJr53+hjHx9yY3TUxJgLMAQG4ITARfp5T4Mri4uL9q6urnxwOxz/oY5eXl1/Pzs7e195X2FX4jZsIhAK7gx5ps9m6nGj9/f3OtbU1pzAE0318fPwVjYHrrN7R3AjU/wpOBwA9Cmf/9ejoqDMtLU31iooKGdA+ATo4OMiXAEWAHhBAGEApXj4rPAik0vPt7e0vCgoKPH4gMzMTSktLIS8vD2JiYgABvcHMTZyennbHxsaOg3udOJmLzwqEYB0ZgRCZENm4u7e39yQuLq65srISZmZmvP5Ybm4u5OfnQ0lJyXWUCAgzNLS+vt6SnJz8WgvYwV5xSlcRgyVg3ha2Dkxzc3MvfZmVlQW+bGxsDBobGyE7O1u94uJPjIqKqklKSvrbbrfPnp+ff7e8vJwMnlSTKWfJjDKhywJo6wLp0YcZ+dyIUr7s4cOHLsrRlQwBTSBFuzc2NiZYhjjVAIyzZBqEwgCQv0OOM/gNzuiP/ijlDxBRjgClpqa6AF1cXDydmpoaLCws3JcAGYHyC4JMzoKaibKysvienp6FtrY2IA/WCFB5ebkqCHSvARo8Ozt7igIxwIJ2gJ+seFMnDoIyEUV+dHT0G3qWVUr5M043DdAB0m2IKZwAYpgZX+qkywR6NFbuR0iDxmAoZRUQKRxSLTMnJ8eIaqqSeVMnIYUOdu+sq6vrp4f+VCoYo8khZaNs01VRlERUu2/BrWAA7sl2Anink1Ao18JGjyY/PDx8hq1GZqgp5c2mp6chMjLy2b179x7hRzvoqeUUwXIzqq4O5nZsNUaEbIbLqPLTou/s7FTvT05OpsA9sXJG1AVsZDwjutqBIN6gUlWjxod8XRBNKXgsrqpqYZfwEqX9h8TExD7wbFm8LmzxHQ0QHSlXKZVSqFC/hkqlaKapTaGgCQTK7PHW1lb/wsLC86KiokkccoV+qV1tcE0pO7AWxmhTxBszDzqRr66ujqanp2cRpQLNBgUsCh8BwQ54bn5+/s+mpqa+4eHhfS1gb52vwuP0trPjhSZCBtLQ0NA3MDDQQIFYAUHBYhuvzjpVbJr1lZWVP3p7e19UVVXNgHumXYrI4uBx6Yqevz02b0FcRQ8CoBQF3dXVpQLZ3d39C7n+ora29vfJyclDYFnWgFyxK3cxhss/+KoT/N6DVkQpKypFGUCp3Ozo6HgSHx//GLW/BwHsg57zl5pzADajwLn52mPL1ZHPloMoRYPMFL6EhAR18e7s7MxVV1fPsAAp4Avteq7dC/c1+wKI4g+EfGzDM+EYHBw8RDrNiA2QL6upqVGvKJ2/gHu2L1nA5wwEB2YDfSYMO1x/px0cgEc2zBY+eo67u6H29vZ/wU2VC8l58JxKNjDOgojNEp08aFVfX++3l6JMEdDx8fEB0FNIBsDXBc8ArwuW1EkeI1RKdLWmCx+1DhkZGRvR0dFfSsHKxYtnW0iqvJAN9xNm6MR/QO5sfapUSkqKmqW5ubmfwVgyZdpw/vPZl2kUEAinBMSUStG+gwra0NDQSynQKyloIxnlewafjDFLJzLRBJqiFMnqyMgIbG5uDuD996Dnv8iAPOMAPmbcm5lVJwA/vZRMKZGZlpaWVtAvUL4GZMqE1fjRJrUd76LHoX+InlhcXPwZnWW2tra6jjrpiBM3UK/weQr6J+gfodMh9HtwncG7YLA3CMSsLmxx5WuDCt8B7vZeicInTjCWlpb6wc15mfey7oc9E8LElpVmMgb9AXoC+qcTExOPKRu4NlTHs6Q10GfhgfYOvRsJQZ76BWMKuDtaolQs+gfoH6Mn436gDg+e+5BKXUQx/C5Je/a+NpbeiQJPKgUdlNXx/BCBKxVdxW5Q0I3XBqFKRhU4KLtjYawi3csuTKdc4FnIXNvKUJkVEGRG20QZAAUpA5DbaYAQLmQzfzxyk/ffdnCD4NWVnGdE7kQBQvQHC5lVEDxgMaM29lkxGCNLKrDnIbFAMkFmBIaDkHstU41coGZ1TZD5UjReCGUAYbNgdNqoXZB/T67yYbFAMiGML3BhYeH8rb0t9h/zgcTBcTNGiQAAAABJRU5ErkJggg==",rw="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAgrSURBVHgB7ZprTBRXFIDP7gIt8lQppTwE5V0KaAn6o1pqNGkDDTEmTUhsgKRp+gNJw68CFkLbVC2QkDS+gD8KJdWmARvbFBNNWpuIRGPFWBXQRMPDqIki+KLATs+ZnTvcvXtnX8w2beJJToaduTP3fHPOPffcOwC8kP+2WCDwIvahGFxTuN8KmNSZmULPNjLeqF9F8rdPkIEGEn+r+vjx46LQ0NA8/Dsader58+e/h4WFDWntFO7ot6fMFAt3JLWi2lCDpqamCux2+2+KROj82NhYGrXT2lu5Z/DP/deFByElA4Pv3LlTiHY/nJ6eVnbv3q1s2bJFyc7OVrZu3arU1dUp4+PjxPUQoT+g9tp9PkMFgpo9kxljHRoaWp2Xl3duYmIiurKyEvDoclNCQgIcPnxYPc7MzHwcGRnZhaft4Ag7O9fUbRhaITCie4lgcnNzT7qDIaHz27dvh+vXr0NEREQneqoCHKFnAR+8ZCaQGGq2CxcurCGYycnJZHcwTNAzUFFRoUJFRUV1IFQ5OKBsXB9uxSwgl0TQ3d29Yt26dccwoyVXV1d7hGEiQmGi2AzOUHx/hob4K2yuYS9G987s7OwPISEh7xPM6dOnwVfBsIMjR45AZmbmo5s3b76Xnp7+J55egMVxBSAZT0v1ED+76yn66dOnLQSzd+9ev2BIyFP0MjBco1JTU/sxfFeDazp3cYgZHmKqdoaGNISHh9fv378fSJcqlPV6e3sBJ+I/goOD34VFL0k95Y+HxPHCYGxmw5DQ2NuzZw8EBQVtunXr1jvgwUP+hhz/QDXMMCNVE8zx48dNg2FCz6QQjI2N/RA8VBFmANnu3btXihnpG8pM9fX1EAi5du0aeWkVOAMBCF7yN+R0z4yOjq6NiYlpp9CgdBtIwXpPH6vgDKWLt0CygtM6MDCwBuUYZSKaOCksAiVY9wFOBePgDOOytPAGSKzNVCCC2bBhw69YdK7ypgpYimzbtk2dl7CM+hFcveOUHDylbTFO1YdhFbByx44dA1QFUP0VSJj4+Hjo6+sDq9U6iEmHKvFZTedQ50GYbN15SITVlwNlZWUnLRZL8s6dOwMOQ9UCTtKTra2ttdppt9V2kMF5cbmsjxuM43bMNrmUzc6fP6+GQiDGDoOJi4ubwb4qm5ubafyIE6nLxGqTPEsGo1cBOGNX0TyDYafC0CyOaxcVziyh53Z2dkJycvLMvn37PmpoaBgFR4jxYSbWdVIgI89Iq4CjR48CZjlYv369+tssqI6ODsjPz4f+/v668vLycxrEHHfkYdwC8SB6mGEV8Cl64cuuri5oa2tTG+EyGjZu3AiXLl1qefDgwV8lJSUFZkDV1tZCcXExXLx4sbWoqKgPFj0zx8GI9ZwO5W4M6ekZYeqpaqbqmaSqqkpNpcPDw4dwzfM9nrLduHEjEs+X0XV/Sx96LnqE1kLtBQUF3eDwCO8dGQyzV5rl+JyuegfXI29jRotiRlKnpFghHMzKyjqotVXS0tLacKPjF3bdHxjSq1evduAkepAD+ZsDYlC8V5w8ZBVg+PPq2MGMlkInqE4joTf45MmT4YyMjAPcA+ltLSQlJX2BafxnX6HI29QeK44TOTk57mCYZ0QoJ8OBM4yB6dkNkwGlSygsLFQvYtYB3BTMxFL+M+0eFgZqp4mJiU2+QKGX1fGIk/QIrn0aYXGsyDxjmAyMhO2jhaCGoUbX1NSkLSwsPMJqV8Fspu6lIZS6OYhjiOLwdU7fQM1HfRPD7wS1obZ0j0xpb4726Z49ezaJf2/S7s9ATUGNR41BjdJseRnke3WGwhrRTS9pD1mOGoeG15BxOOfoxuCkp0Ih6NeaEaSZGlieJyiCoc1FgsGldokGk8nBvAKOrWIGQ5uPsm0tt0BWDiicAaGuGhkZ+YqMw9StGzU4OKhCnT179hNsswY1FTXdE5QEJhc1S3tGogazXLOBwQSBl3tzIhQPtAL1VQJCTcNx8y1vHIUghSKFZE9PT7H2dlM1b+Wgrr1y5Uq77J75+fnplpaWMg2ch4nlYEI5z7hdensDpI4hrYNErcMMXJ32koG4ztf3pultz83NjWG99Ra2WQ0OL2VjZjwgeufUqVOqV8+cOdPIwdBLSNJeHg8TAh5WqJ6EfSmgt7IMNRJ1JThiOlnrOAMHshprmMKdoGSCpb9s3B3SYLIFGIqICJB7xisYi+RvfiypXw40DWGdlJaWRmMd141hk8V2OWm7ieYTXhBc3+BgaZyqAISjOYxSMVvXsBTNlzdiNQDgRao2AtK3pjggpmrqbGpqSsLPIN/dv38/gaBwUjTshMHcvn27JyUlpRmc5xpPMD599LIYnLNyUKKndKjGxsakXbt2deMCLIE8IVvs0YRM1fjdu3d/wrXN5+BcnzEgvor2uN3rjzAYMp5lPEoQlE5fA0fWo8GfhlCbKVFQ1pKNIfzcOHH58mWqaimVUwJI0+6n59D4pIlzmdZPMPiZzXjDjX47Le5g0Uu8x2zgPqWyKpjVe7x3+AUbq9NYjQbgp2dsBud5o8TP7d5kHAWcQchQfoEmLgn8HjOiBIF7o5hI1x6CEbLNP3bdqYAF44JzyWLzcN1i8DcT/o3awbm8Fz3DAy2A62INwPV/E3wWdx5inmBHuwChCBD6R2JwHge80TIQRQLjt7e8DTkGZgfX8cUMZTDAteFDkveaIlzjX9ySQs8X18r2t2VHUURPKoICmDR+eCO9aSdmOIub3/w9RgpgUpiJhvraXpa6jZKHGEqyusw0GLFzX+5RhN/8kYnMSNMMfyH/V/kHST6OYVElTPAAAAAASUVORK5CYII=",sw="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",ow="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",aw="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjggMjgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjEgKDc4MTM2KSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT7nvJbnu4QgMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIgeD0iLTEyMC4wJSIgeT0iLTEyMC4wJSIgd2lkdGg9IjM0MC4wJSIgaGVpZ2h0PSIzNDAuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNCIgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Iue8lue7hC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgOS4wMDAwMDApIiBmaWxsPSIjRkYwMTAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiBjeD0iNSIgY3k9IjUiIHI9IjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8cGF0aCBkPSJNNSw4IEM2LjY1Njg1NDI1LDggOCw2LjY1Njg1NDI1IDgsNSBDOCwzLjM0MzE0NTc1IDYuNjU2ODU0MjUsMiA1LDIgQzMuMzQzMTQ1NzUsMiAyLDMuMzQzMTQ1NzUgMiw1IEMyLDYuNjU2ODU0MjUgMy4zNDMxNDU3NSw4IDUsOCBaIE01LDYuMjg1NzE0MjkgQzQuMjg5OTE5NjEsNi4yODU3MTQyOSAzLjcxNDI4NTcxLDUuNzEwMDgwMzkgMy43MTQyODU3MSw1IEMzLjcxNDI4NTcxLDQuMjg5OTE5NjEgNC4yODk5MTk2MSwzLjcxNDI4NTcxIDUsMy43MTQyODU3MSBDNS43MTAwODAzOSwzLjcxNDI4NTcxIDYuMjg1NzE0MjksNC4yODk5MTk2MSA2LjI4NTcxNDI5LDUgQzYuMjg1NzE0MjksNS43MTAwODAzOSA1LjcxMDA4MDM5LDYuMjg1NzE0MjkgNSw2LjI4NTcxNDI5IFoiIGlkPSLmpK3lnIblvaIiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",lw="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxOCAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIyNSIgcng9IjMuNSIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC4zNSIgc3Ryb2tlPSJ3aGl0ZSIvPgo8L3N2Zz4K",uw="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAyNiAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIyNSIgaGVpZ2h0PSIzMyIgcng9IjMuNSIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC4zNSIgc3Ryb2tlPSJ3aGl0ZSIvPgo8L3N2Zz4K",cw="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCAzNCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIzMyIgaGVpZ2h0PSI0OSIgcng9IjMuNSIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC4zNSIgc3Ryb2tlPSJ3aGl0ZSIvPgo8L3N2Zz4K";const Uu={[A.ApplianceNames.pencil]:iw,[A.ApplianceNames.selector]:nw,[A.ApplianceNames.eraser]:rw,[A.ApplianceNames.shape]:sw,[A.ApplianceNames.text]:ow,[A.ApplianceNames.laserPointer]:aw,pencilEraser1:lw,pencilEraser2:uw,pencilEraser3:cw};class dw{constructor(t,i,n){var s;this.manager=t,this.enableCursor=i,this.cursorInstances=new Map,this.sideEffectManager=new $n.SideEffectManager,this.store=this.manager.store,this.applianceIcons=Uu,this.onCursorMove=o=>{const a=this.initCursorInstance(o.uid);if(o.state===yd.Leave)a.leave();else{const l=a.updateMember();this.canMoveCursor(l)&&a.move(o.position)}},this.initCursorInstance=o=>{let a=this.cursorInstances.get(o);return a||(a=new tw(this.manager,o,this,ie.wrapper),this.cursorInstances.set(o,a)),a},this.mouseMoveListener_=(o,a)=>{const l=this.getType(o);this.updateCursor(l,o.clientX,o.clientY),a&&this.showPencilEraserIfNeeded(l,o.clientX,o.clientY)},this.mouseMoveTimer=0,this.mouseMoveListener=o=>{const a=o.pointerType==="touch";if(a&&!o.isPrimary)return;const l=Date.now();l-this.mouseMoveTimer>48&&(this.mouseMoveTimer=l,this.mouseMoveListener_(o,a))},this.mouseLeaveListener=()=>{this.hideCursor(this.manager.uid)},this.getPoint=(o,a,l)=>{var h;const u=(h=o==null?void 0:o.divElement)==null?void 0:h.getBoundingClientRect();if(u)return o==null?void 0:o.convertToPointInWorld({x:a-u.x,y:l-u.y})},this.getType=o=>{var u;const a=o.target,l=this.manager.focusApp;switch(a.parentElement){case this.mainViewElement:return{type:"main"};case((u=l==null?void 0:l.view)==null?void 0:u.divElement):return{type:"app"};default:return{type:"main"}}},this.roomMembers=(s=this.manager.room)==null?void 0:s.state.roomMembers;const r=ie.wrapper;r&&this.setupWrapper(r),this.sideEffectManager.add(()=>_.on("cursorMove",this.onCursorMove)),this.sideEffectManager.add(()=>_.on("playgroundSizeChange",()=>this.updateContainerRect())),n&&(this.applianceIcons=q(q({},Uu),n))}canMoveCursor(t){const i=(t==null?void 0:t.memberState.currentApplianceName)===A.ApplianceNames.laserPointer;return this.enableCursor||i}setupWrapper(t){this.sideEffectManager.add(()=>(t.addEventListener("pointerenter",this.mouseMoveListener),t.addEventListener("pointermove",this.mouseMoveListener),t.addEventListener("pointerleave",this.mouseLeaveListener),()=>{t.removeEventListener("pointerenter",this.mouseMoveListener),t.removeEventListener("pointermove",this.mouseMoveListener),t.removeEventListener("pointerleave",this.mouseLeaveListener)})),this.wrapperRect=t.getBoundingClientRect()}setMainViewDivElement(t){this.mainViewElement=t}get boxState(){return this.store.getBoxState()}get focusView(){var t;return(t=this.manager.focusApp)==null?void 0:t.view}showPencilEraserIfNeeded(t,i,n){const r=Do(this.manager.room,this.manager.uid),s=(r==null?void 0:r.memberState.currentApplianceName)===A.ApplianceNames.pencilEraser;if(this.wrapperRect&&this.manager.canOperate&&this.canMoveCursor(r)&&s){const o=t.type==="main"?this.manager.mainView:this.focusView,a=this.getPoint(o,i,n);a&&this.onCursorMove({uid:this.manager.uid,position:{x:a.x,y:a.y,type:t.type}})}}updateCursor(t,i,n){const r=Do(this.manager.room,this.manager.uid);if(this.wrapperRect&&this.manager.canOperate&&this.canMoveCursor(r)){const s=t.type==="main"?this.manager.mainView:this.focusView,o=this.getPoint(s,i,n);o&&this.manager.dispatchInternalEvent(J.CursorMove,{uid:this.manager.uid,position:{x:o.x,y:o.y,type:t.type}})}}updateContainerRect(){var t,i;this.containerRect=(t=ie.container)==null?void 0:t.getBoundingClientRect(),this.wrapperRect=(i=ie.wrapper)==null?void 0:i.getBoundingClientRect()}deleteCursor(t){this.store.cleanCursor(t);const i=this.cursorInstances.get(t);i&&i.destroy()}hideCursor(t){const i=this.cursorInstances.get(t);i&&i.hide()}destroy(){this.sideEffectManager.flushAll(),this.cursorInstances.size&&(this.cursorInstances.forEach(t=>{t.destroy()}),this.cursorInstances.clear())}}class hw{constructor(t){this.manager=t,_.on("changePageState",()=>{se.emit("pageStateChange",this.toObject())})}get index(){var t;return((t=this.manager)==null?void 0:t.store.getMainViewSceneIndex())||0}get length(){var t;return((t=this.manager)==null?void 0:t.mainViewScenesLength)||0}toObject(){return{index:this.index>=this.length?this.length-1:this.index,length:this.length}}}class pw{constructor(t){this.ctx=t,this.reactors=new Map,this.disposers=new Map,this.onPhaseChanged=async i=>{var n,r;i===A.RoomPhase.Reconnecting&&this.ctx.emitter.emit("startReconnect"),i===A.RoomPhase.Connected&&this.phase===A.RoomPhase.Reconnecting&&((n=this.room)!=null&&n.isWritable?(r=this.room)==null||r.dispatchMagixEvent(Ks,{}):(await Yr(500),this.onReconnected())),this.phase=i},this.onReconnected=E.debounce(()=>{this._onReconnected()},1e3),this._onReconnected=()=>{Pt("onReconnected refresh reactors"),this.releaseDisposers(),this.reactors.forEach((i,n)=>{E.isFunction(i)&&this.disposers.set(n,i())}),this.ctx.emitter.emit("onReconnected")}}setRoom(t){this.room=t,this.phase=t==null?void 0:t.phase,t&&(t.callbacks.off("onPhaseChanged",this.onPhaseChanged),t.callbacks.on("onPhaseChanged",this.onPhaseChanged),t.addMagixEventListener(Ks,i=>{i.authorId===t.observerId&&this.onReconnected()},{fireSelfEventAfterCommit:!0}))}setContext(t){this.ctx=t}releaseDisposers(){this.disposers.forEach(t=>{E.isFunction(t)&&t()}),this.disposers.clear()}refresh(){this._onReconnected()}add(t,i){const n=this.disposers.get(t);n&&E.isFunction(n)&&n(),E.isFunction(i)&&(this.reactors.set(t,i),this.disposers.set(t,i()))}remove(t){this.reactors.has(t)&&this.reactors.delete(t);const i=this.disposers.get(t);i&&(E.isFunction(i)&&i(),this.disposers.delete(t))}hasReactor(t){return this.reactors.has(t)}destroy(){var t,i;(t=this.room)==null||t.callbacks.off("onPhaseChanged",this.onPhaseChanged),(i=this.room)==null||i.removeMagixEventListener(Ks,this.onReconnected),this.releaseDisposers()}}const fw=(e,t)=>{if(A.isPlayer(e))mw(e);else{if(e=e,Object.getOwnPropertyDescriptor(e,"disableCameraTransform"))return;Object.defineProperty(e,"disableCameraTransform",{get(){return t.mainView.disableCameraTransform},set(n){t.mainView.disableCameraTransform=n}}),Object.defineProperty(e,"canUndoSteps",{get(){return t.canUndoSteps}}),Object.defineProperty(e,"canRedoSteps",{get(){return t.canRedoSteps}}),e.moveCamera=n=>t.moveCamera(n),e.moveCameraToContain=(...n)=>t.moveCameraToContain(...n),e.convertToPointInWorld=(...n)=>t.mainView.convertToPointInWorld(...n),e.setCameraBound=(...n)=>t.mainView.setCameraBound(...n),e.scenePreview=(...n)=>t.mainView.scenePreview(...n),e.fillSceneSnapshot=(...n)=>t.mainView.fillSceneSnapshot(...n),e.generateScreenshot=(...n)=>t.mainView.generateScreenshot(...n),e.setMemberState=(...n)=>t.mainView.setMemberState(...n),e.redo=()=>t.redo(),e.undo=()=>t.undo(),e.cleanCurrentScene=()=>t.cleanCurrentScene(),e.delete=()=>t.delete(),e.copy=()=>t.copy(),e.paste=()=>t.paste(),e.duplicate=()=>t.duplicate(),e.insertImage=(...n)=>t.insertImage(...n),e.completeImageUpload=(...n)=>t.completeImageUpload(...n),e.insertText=(...n)=>t.insertText(...n),e.lockImage=(...n)=>t.lockImage(...n),e.lockImages=(...n)=>t.lockImages(...n),gw(e,t)}},gw=(e,t)=>{const i=e.removeScenes;e.removeScenes=(n,r)=>{var o;n===De&&((o=t.appManager)==null||o.updateRootDirRemoving(!0));const s=i.call(e,n);return _.emit("removeScenes",{scenePath:n,index:r}),s}},mw=e=>{const t=e.seekToProgressTime;async function i(n){await _.emit("seekStart");const r=await t.call(e,n);return _.emit("seek",n),r}e.seekToProgressTime=i};var vw=Object.defineProperty,ww=Object.defineProperties,yw=Object.getOwnPropertyDescriptors,Wu=Object.getOwnPropertySymbols,xw=Object.prototype.hasOwnProperty,Sw=Object.prototype.propertyIsEnumerable,Hu=(e,t,i)=>t in e?vw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ph=(e,t)=>{for(var i in t||(t={}))xw.call(t,i)&&Hu(e,i,t[i]);if(Wu)for(var i of Wu(t))Sw.call(t,i)&&Hu(e,i,t[i]);return e},fh=(e,t)=>ww(e,yw(t)),Cw=(()=>`.netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}
40
40
  `)();const Mw=(e,t,i,n)=>{if(i==="length"||i==="prototype"||i==="arguments"||i==="caller")return;const r=Object.getOwnPropertyDescriptor(e,i),s=Object.getOwnPropertyDescriptor(t,i);!Iw(r,s)&&n||Object.defineProperty(e,i,s)},Iw=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},bw=(e,t)=>{const i=Object.getPrototypeOf(t);i!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,i)},Aw=(e,t)=>`/* Wrapped ${e}*/
41
- ${t}`,Ew=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Tw=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),kw=(e,t,i)=>{const n=i===""?"":`with ${i.trim()}() `,r=Aw.bind(null,n,t.toString());Object.defineProperty(r,"name",Tw),Object.defineProperty(e,"toString",fh(ph({},Ew),{value:r}))};function Nw(e,t,{ignoreNonConfigurable:i=!1}={}){const{name:n}=e;for(const r of Reflect.ownKeys(t))Mw(e,t,r,i);return bw(e,t),kw(e,t,n),e}const Pw=(e,t={})=>{if(typeof e!="function")throw new TypeError(`Expected the first argument to be a function, got \`${typeof e}\``);const{wait:i=0,maxWait:n=Number.Infinity,before:r=!1,after:s=!0}=t;if(!r&&!s)throw new Error("Both `before` and `after` are false, function wouldn't be called.");let o,a,l;const u=function(...h){const c=this,m=()=>{o=void 0,a&&(clearTimeout(a),a=void 0),s&&(l=e.apply(c,h))},v=()=>{a=void 0,o&&(clearTimeout(o),o=void 0),s&&(l=e.apply(c,h))},y=r&&!o;return clearTimeout(o),o=setTimeout(m,i),n>0&&n!==Number.Infinity&&!a&&(a=setTimeout(v,n)),y&&(l=e.apply(c,h)),l};return Nw(u,e),u.cancel=()=>{o&&(clearTimeout(o),o=void 0),a&&(clearTimeout(a),a=void 0)},u},gh="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",zw=gh.length,$u=Array(20),Dw=()=>{for(let e=0;e<20;e++)$u[e]=gh.charAt(Math.random()*zw);return $u.join("")};function Fu(e){try{return e()}catch(t){console.error(t)}}class zs{constructor(){this.disposers=new Map}addDisposer(t,i=this.genUID()){return this.flush(i),this.disposers.set(i,Array.isArray(t)?()=>t.forEach(Fu):t),i}add(t,i=this.genUID()){return this.addDisposer(t(),i)}addEventListener(t,i,n,r,s=this.genUID()){return t.addEventListener(i,n,r),this.addDisposer(()=>t.removeEventListener(i,n,r),s),s}setTimeout(t,i,n=this.genUID()){const r=window.setTimeout(()=>{this.remove(n),t()},i);return this.addDisposer(()=>window.clearTimeout(r),n)}setInterval(t,i,n=this.genUID()){const r=window.setInterval(t,i);return this.addDisposer(()=>window.clearInterval(r),n)}remove(t){const i=this.disposers.get(t);return this.disposers.delete(t),i}flush(t){const i=this.remove(t);if(i)try{i()}catch(n){console.error(n)}}flushAll(){this.disposers.forEach(Fu),this.disposers.clear()}genUID(){let t;do t=Dw();while(this.disposers.has(t));return t}}var oi=[],Lw=function(){return oi.some(function(e){return e.activeTargets.length>0})},jw=function(){return oi.some(function(e){return e.skippedTargets.length>0})},Qu="ResizeObserver loop completed with undelivered notifications.",Bw=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:Qu}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=Qu),window.dispatchEvent(e)},zn;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(zn||(zn={}));var ai=function(e){return Object.freeze(e)},Rw=function(){function e(t,i){this.inlineSize=t,this.blockSize=i,ai(this)}return e}(),mh=function(){function e(t,i,n,r){return this.x=t,this.y=i,this.width=n,this.height=r,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ai(this)}return e.prototype.toJSON=function(){var t=this,i=t.x,n=t.y,r=t.top,s=t.right,o=t.bottom,a=t.left,l=t.width,u=t.height;return{x:i,y:n,top:r,right:s,bottom:o,left:a,width:l,height:u}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),ol=function(e){return e instanceof SVGElement&&"getBBox"in e},vh=function(e){if(ol(e)){var t=e.getBBox(),i=t.width,n=t.height;return!i&&!n}var r=e,s=r.offsetWidth,o=r.offsetHeight;return!(s||o||e.getClientRects().length)},Zu=function(e){var t,i;if(e instanceof Element)return!0;var n=(i=(t=e)===null||t===void 0?void 0:t.ownerDocument)===null||i===void 0?void 0:i.defaultView;return!!(n&&e instanceof n.Element)},_w=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},xn=typeof window!="undefined"?window:{},fr=new WeakMap,Yu=/auto|scroll/,Ow=/^tb|vertical/,Vw=/msie|trident/i.test(xn.navigator&&xn.navigator.userAgent),rt=function(e){return parseFloat(e||"0")},Ni=function(e,t,i){return e===void 0&&(e=0),t===void 0&&(t=0),i===void 0&&(i=!1),new Rw((i?t:e)||0,(i?e:t)||0)},Gu=ai({devicePixelContentBoxSize:Ni(),borderBoxSize:Ni(),contentBoxSize:Ni(),contentRect:new mh(0,0,0,0)}),wh=function(e,t){if(t===void 0&&(t=!1),fr.has(e)&&!t)return fr.get(e);if(vh(e))return fr.set(e,Gu),Gu;var i=getComputedStyle(e),n=ol(e)&&e.ownerSVGElement&&e.getBBox(),r=!Vw&&i.boxSizing==="border-box",s=Ow.test(i.writingMode||""),o=!n&&Yu.test(i.overflowY||""),a=!n&&Yu.test(i.overflowX||""),l=n?0:rt(i.paddingTop),u=n?0:rt(i.paddingRight),h=n?0:rt(i.paddingBottom),c=n?0:rt(i.paddingLeft),m=n?0:rt(i.borderTopWidth),v=n?0:rt(i.borderRightWidth),y=n?0:rt(i.borderBottomWidth),S=n?0:rt(i.borderLeftWidth),d=c+u,p=l+h,f=S+v,g=m+y,w=a?e.offsetHeight-g-e.clientHeight:0,x=o?e.offsetWidth-f-e.clientWidth:0,b=r?d+f:0,T=r?p+g:0,L=n?n.width:rt(i.width)-b-x,k=n?n.height:rt(i.height)-T-w,j=L+d+x+f,M=k+p+w+g,R=ai({devicePixelContentBoxSize:Ni(Math.round(L*devicePixelRatio),Math.round(k*devicePixelRatio),s),borderBoxSize:Ni(j,M,s),contentBoxSize:Ni(L,k,s),contentRect:new mh(c,l,L,k)});return fr.set(e,R),R},yh=function(e,t,i){var n=wh(e,i),r=n.borderBoxSize,s=n.contentBoxSize,o=n.devicePixelContentBoxSize;switch(t){case zn.DEVICE_PIXEL_CONTENT_BOX:return o;case zn.BORDER_BOX:return r;default:return s}},Uw=function(){function e(t){var i=wh(t);this.target=t,this.contentRect=i.contentRect,this.borderBoxSize=ai([i.borderBoxSize]),this.contentBoxSize=ai([i.contentBoxSize]),this.devicePixelContentBoxSize=ai([i.devicePixelContentBoxSize])}return e}(),xh=function(e){if(vh(e))return 1/0;for(var t=0,i=e.parentNode;i;)t+=1,i=i.parentNode;return t},Ww=function(){var e=1/0,t=[];oi.forEach(function(o){if(o.activeTargets.length!==0){var a=[];o.activeTargets.forEach(function(u){var h=new Uw(u.target),c=xh(u.target);a.push(h),u.lastReportedSize=yh(u.target,u.observedBox),c<e&&(e=c)}),t.push(function(){o.callback.call(o.observer,a,o.observer)}),o.activeTargets.splice(0,o.activeTargets.length)}});for(var i=0,n=t;i<n.length;i++){var r=n[i];r()}return e},Xu=function(e){oi.forEach(function(i){i.activeTargets.splice(0,i.activeTargets.length),i.skippedTargets.splice(0,i.skippedTargets.length),i.observationTargets.forEach(function(r){r.isActive()&&(xh(r.target)>e?i.activeTargets.push(r):i.skippedTargets.push(r))})})},Hw=function(){var e=0;for(Xu(e);Lw();)e=Ww(),Xu(e);return jw()&&Bw(),e>0},co,Sh=[],$w=function(){return Sh.splice(0).forEach(function(e){return e()})},Fw=function(e){if(!co){var t=0,i=document.createTextNode(""),n={characterData:!0};new MutationObserver(function(){return $w()}).observe(i,n),co=function(){i.textContent=""+(t?t--:t++)}}Sh.push(e),co()},Qw=function(e){Fw(function(){requestAnimationFrame(e)})},Dr=0,Zw=function(){return!!Dr},Yw=250,Gw={attributes:!0,characterData:!0,childList:!0,subtree:!0},Ju=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Ku=function(e){return e===void 0&&(e=0),Date.now()+e},ho=!1,Xw=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var i=this;if(t===void 0&&(t=Yw),!ho){ho=!0;var n=Ku(t);Qw(function(){var r=!1;try{r=Hw()}finally{if(ho=!1,t=n-Ku(),!Zw())return;r?i.run(1e3):t>0?i.run(t):i.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,i=function(){return t.observer&&t.observer.observe(document.body,Gw)};document.body?i():xn.addEventListener("DOMContentLoaded",i)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Ju.forEach(function(i){return xn.addEventListener(i,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),Ju.forEach(function(i){return xn.removeEventListener(i,t.listener,!0)}),this.stopped=!0)},e}(),Qo=new Xw,qu=function(e){!Dr&&e>0&&Qo.start(),Dr+=e,!Dr&&Qo.stop()},Jw=function(e){return!ol(e)&&!_w(e)&&getComputedStyle(e).display==="inline"},Kw=function(){function e(t,i){this.target=t,this.observedBox=i||zn.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=yh(this.target,this.observedBox,!0);return Jw(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),qw=function(){function e(t,i){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=i}return e}(),gr=new WeakMap,ec=function(e,t){for(var i=0;i<e.length;i+=1)if(e[i].target===t)return i;return-1},mr=function(){function e(){}return e.connect=function(t,i){var n=new qw(t,i);gr.set(t,n)},e.observe=function(t,i,n){var r=gr.get(t),s=r.observationTargets.length===0;ec(r.observationTargets,i)<0&&(s&&oi.push(r),r.observationTargets.push(new Kw(i,n&&n.box)),qu(1),Qo.schedule())},e.unobserve=function(t,i){var n=gr.get(t),r=ec(n.observationTargets,i),s=n.observationTargets.length===1;r>=0&&(s&&oi.splice(oi.indexOf(n),1),n.observationTargets.splice(r,1),qu(-1))},e.disconnect=function(t){var i=this,n=gr.get(t);n.observationTargets.slice().forEach(function(r){return i.unobserve(t,r.target)}),n.activeTargets.splice(0,n.activeTargets.length)},e}(),ey=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");mr.connect(this,t)}return e.prototype.observe=function(t,i){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Zu(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");mr.observe(this,t,i)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Zu(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");mr.unobserve(this,t)},e.prototype.disconnect=function(){mr.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();function ty(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-sidebar`),i.setAttribute("viewBox","0 0 64 64");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z"),i.appendChild(n),i}function iy(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-arrow-left`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z"),i.appendChild(n),i}function ny(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-arrow-right`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z"),i.appendChild(n),i}function ry(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-play`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z"),i.appendChild(n),i}function sy(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-pause`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z"),i.appendChild(n),i}const Gt=typeof window!="undefined",Ch=Gt&&!("onscroll"in window)||typeof navigator!="undefined"&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),Mh=Gt&&"IntersectionObserver"in window,Ih=Gt&&"classList"in document.createElement("p"),bh=Gt&&window.devicePixelRatio>1,oy={elements_selector:".lazy",container:Ch||Gt?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},Ah=e=>Object.assign({},oy,e),tc=function(e,t){let i;const n="LazyLoad::Initialized",r=new e(t);try{i=new CustomEvent(n,{detail:{instance:r}})}catch{i=document.createEvent("CustomEvent"),i.initCustomEvent(n,!1,!1,{instance:r})}window.dispatchEvent(i)},ay=(e,t)=>{if(!!t)if(!t.length)tc(e,t);else for(let i=0,n;n=t[i];i+=1)tc(e,n)},It="src",al="srcset",ll="sizes",Eh="poster",Xn="llOriginalAttrs",Th="data",ul="loading",kh="loaded",Nh="applied",ly="entered",cl="error",Ph="native",zh="data-",Dh="ll-status",Ae=(e,t)=>e.getAttribute(zh+t),uy=(e,t,i)=>{var n=zh+t;if(i===null){e.removeAttribute(n);return}e.setAttribute(n,i)},Jn=e=>Ae(e,Dh),xi=(e,t)=>uy(e,Dh,t),Ds=e=>xi(e,null),dl=e=>Jn(e)===null,cy=e=>Jn(e)===ul,dy=e=>Jn(e)===cl,hl=e=>Jn(e)===Ph,hy=[ul,kh,Nh,cl],py=e=>hy.indexOf(Jn(e))>=0,Xt=(e,t,i,n)=>{if(!!e){if(n!==void 0){e(t,i,n);return}if(i!==void 0){e(t,i);return}e(t)}},Zi=(e,t)=>{if(Ih){e.classList.add(t);return}e.className+=(e.className?" ":"")+t},ot=(e,t)=>{if(Ih){e.classList.remove(t);return}e.className=e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},fy=e=>{e.llTempImage=document.createElement("IMG")},gy=e=>{delete e.llTempImage},Lh=e=>e.llTempImage,Ls=(e,t)=>{if(!t)return;const i=t._observer;!i||i.unobserve(e)},my=e=>{e.disconnect()},vy=(e,t,i)=>{t.unobserve_entered&&Ls(e,i)},pl=(e,t)=>{!e||(e.loadingCount+=t)},wy=e=>{!e||(e.toLoadCount-=1)},jh=(e,t)=>{!e||(e.toLoadCount=t)},yy=e=>e.loadingCount>0,xy=e=>e.toLoadCount>0,Bh=e=>{let t=[];for(let i=0,n;n=e.children[i];i+=1)n.tagName==="SOURCE"&&t.push(n);return t},fl=(e,t)=>{const i=e.parentNode;if(!i||i.tagName!=="PICTURE")return;Bh(i).forEach(t)},Rh=(e,t)=>{Bh(e).forEach(t)},js=[It],_h=[It,Eh],Dn=[It,al,ll],Oh=[Th],Bs=e=>!!e[Xn],Vh=e=>e[Xn],Uh=e=>delete e[Xn],_i=(e,t)=>{if(Bs(e))return;const i={};t.forEach(n=>{i[n]=e.getAttribute(n)}),e[Xn]=i},Sy=e=>{Bs(e)||(e[Xn]={backgroundImage:e.style.backgroundImage})},Cy=(e,t,i)=>{if(!i){e.removeAttribute(t);return}e.setAttribute(t,i)},fi=(e,t)=>{if(!Bs(e))return;const i=Vh(e);t.forEach(n=>{Cy(e,n,i[n])})},My=e=>{if(!Bs(e))return;const t=Vh(e);e.style.backgroundImage=t.backgroundImage},Wh=(e,t,i)=>{Zi(e,t.class_applied),xi(e,Nh),i&&(t.unobserve_completed&&Ls(e,t),Xt(t.callback_applied,e,i))},Hh=(e,t,i)=>{Zi(e,t.class_loading),xi(e,ul),i&&(pl(i,1),Xt(t.callback_loading,e,i))},_t=(e,t,i)=>{!i||e.setAttribute(t,i)},ic=(e,t)=>{_t(e,ll,Ae(e,t.data_sizes)),_t(e,al,Ae(e,t.data_srcset)),_t(e,It,Ae(e,t.data_src))},Iy=(e,t)=>{fl(e,i=>{_i(i,Dn),ic(i,t)}),_i(e,Dn),ic(e,t)},by=(e,t)=>{_i(e,js),_t(e,It,Ae(e,t.data_src))},Ay=(e,t)=>{Rh(e,i=>{_i(i,js),_t(i,It,Ae(i,t.data_src))}),_i(e,_h),_t(e,Eh,Ae(e,t.data_poster)),_t(e,It,Ae(e,t.data_src)),e.load()},Ey=(e,t)=>{_i(e,Oh),_t(e,Th,Ae(e,t.data_src))},Ty=(e,t,i)=>{const n=Ae(e,t.data_bg),r=Ae(e,t.data_bg_hidpi),s=bh&&r?r:n;!s||(e.style.backgroundImage=`url("${s}")`,Lh(e).setAttribute(It,s),Hh(e,t,i))},ky=(e,t,i)=>{const n=Ae(e,t.data_bg_multi),r=Ae(e,t.data_bg_multi_hidpi),s=bh&&r?r:n;!s||(e.style.backgroundImage=s,Wh(e,t,i))},Ny=(e,t,i)=>{const n=Ae(e,t.data_bg_set);if(!n)return;const r=n.split("|");let s=r.map(o=>`image-set(${o})`);e.style.backgroundImage=s.join(),e.style.backgroundImage===""&&(s=r.map(o=>`-webkit-image-set(${o})`),e.style.backgroundImage=s.join()),Wh(e,t,i)},$h={IMG:Iy,IFRAME:by,VIDEO:Ay,OBJECT:Ey},Py=(e,t)=>{const i=$h[e.tagName];!i||i(e,t)},zy=(e,t,i)=>{const n=$h[e.tagName];!n||(n(e,t),Hh(e,t,i))},Dy=["IMG","IFRAME","VIDEO","OBJECT"],Ly=e=>Dy.indexOf(e.tagName)>-1,Fh=(e,t)=>{t&&!yy(t)&&!xy(t)&&Xt(e.callback_finish,t)},nc=(e,t,i)=>{e.addEventListener(t,i),e.llEvLisnrs[t]=i},jy=(e,t,i)=>{e.removeEventListener(t,i)},gl=e=>!!e.llEvLisnrs,By=(e,t,i)=>{gl(e)||(e.llEvLisnrs={});const n=e.tagName==="VIDEO"?"loadeddata":"load";nc(e,n,t),nc(e,"error",i)},Zo=e=>{if(!gl(e))return;const t=e.llEvLisnrs;for(let i in t){const n=t[i];jy(e,i,n)}delete e.llEvLisnrs},Qh=(e,t,i)=>{gy(e),pl(i,-1),wy(i),ot(e,t.class_loading),t.unobserve_completed&&Ls(e,i)},Ry=(e,t,i,n)=>{const r=hl(t);Qh(t,i,n),Zi(t,i.class_loaded),xi(t,kh),Xt(i.callback_loaded,t,n),r||Fh(i,n)},_y=(e,t,i,n)=>{const r=hl(t);Qh(t,i,n),Zi(t,i.class_error),xi(t,cl),Xt(i.callback_error,t,n),i.restore_on_error&&fi(t,Dn),r||Fh(i,n)},ml=(e,t,i)=>{const n=Lh(e)||e;if(gl(n))return;By(n,o=>{Ry(o,e,t,i),Zo(n)},o=>{_y(o,e,t,i),Zo(n)})},Oy=(e,t,i)=>{fy(e),ml(e,t,i),Sy(e),Ty(e,t,i),ky(e,t,i),Ny(e,t,i)},Vy=(e,t,i)=>{ml(e,t,i),zy(e,t,i)},vl=(e,t,i)=>{Ly(e)?Vy(e,t,i):Oy(e,t,i)},Uy=(e,t,i)=>{e.setAttribute("loading","lazy"),ml(e,t,i),Py(e,t),xi(e,Ph)},rc=e=>{e.removeAttribute(It),e.removeAttribute(al),e.removeAttribute(ll)},Wy=e=>{fl(e,t=>{rc(t)}),rc(e)},Zh=e=>{fl(e,t=>{fi(t,Dn)}),fi(e,Dn)},Hy=e=>{Rh(e,t=>{fi(t,js)}),fi(e,_h),e.load()},$y=e=>{fi(e,js)},Fy=e=>{fi(e,Oh)},Qy={IMG:Zh,IFRAME:$y,VIDEO:Hy,OBJECT:Fy},Zy=e=>{const t=Qy[e.tagName];if(!t){My(e);return}t(e)},Yy=(e,t)=>{dl(e)||hl(e)||(ot(e,t.class_entered),ot(e,t.class_exited),ot(e,t.class_applied),ot(e,t.class_loading),ot(e,t.class_loaded),ot(e,t.class_error))},Gy=(e,t)=>{Zy(e),Yy(e,t),Ds(e),Uh(e)},Xy=(e,t,i,n)=>{!i.cancel_on_exit||!cy(e)||e.tagName==="IMG"&&(Zo(e),Wy(e),Zh(e),ot(e,i.class_loading),pl(n,-1),Ds(e),Xt(i.callback_cancel,e,t,n))},Jy=(e,t,i,n)=>{const r=py(e);xi(e,ly),Zi(e,i.class_entered),ot(e,i.class_exited),vy(e,i,n),Xt(i.callback_enter,e,t,n),!r&&vl(e,i,n)},Ky=(e,t,i,n)=>{dl(e)||(Zi(e,i.class_exited),Xy(e,t,i,n),Xt(i.callback_exit,e,t,n))},qy=["IMG","IFRAME","VIDEO"],Yh=e=>e.use_native&&"loading"in HTMLImageElement.prototype,e0=(e,t,i)=>{e.forEach(n=>{qy.indexOf(n.tagName)!==-1&&Uy(n,t,i)}),jh(i,0)},t0=e=>e.isIntersecting||e.intersectionRatio>0,i0=e=>({root:e.container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}),n0=(e,t,i)=>{e.forEach(n=>t0(n)?Jy(n.target,n,t,i):Ky(n.target,n,t,i))},r0=(e,t)=>{t.forEach(i=>{e.observe(i)})},s0=(e,t)=>{my(e),r0(e,t)},o0=(e,t)=>{!Mh||Yh(e)||(t._observer=new IntersectionObserver(i=>{n0(i,e,t)},i0(e)))},Gh=e=>Array.prototype.slice.call(e),es=e=>e.container.querySelectorAll(e.elements_selector),a0=e=>Gh(e).filter(dl),l0=e=>dy(e),u0=e=>Gh(e).filter(l0),sc=(e,t)=>a0(e||es(t)),c0=(e,t)=>{u0(es(e)).forEach(n=>{ot(n,e.class_error),Ds(n)}),t.update()},d0=(e,t)=>{!Gt||(t._onlineHandler=()=>{c0(e,t)},window.addEventListener("online",t._onlineHandler))},h0=e=>{!Gt||window.removeEventListener("online",e._onlineHandler)},Kn=function(e,t){const i=Ah(e);this._settings=i,this.loadingCount=0,o0(i,this),d0(i,this),this.update(t)};Kn.prototype={update:function(e){const t=this._settings,i=sc(e,t);if(jh(this,i.length),Ch||!Mh){this.loadAll(i);return}if(Yh(t)){e0(i,t,this);return}s0(this._observer,i)},destroy:function(){this._observer&&this._observer.disconnect(),h0(this),es(this._settings).forEach(e=>{Uh(e)}),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(e){const t=this._settings;sc(e,t).forEach(n=>{Ls(n,this),vl(n,t,this)})},restoreAll:function(){const e=this._settings;es(e).forEach(t=>{Gy(t,e)})}};Kn.load=(e,t)=>{const i=Ah(t);vl(e,i)};Kn.resetStatus=e=>{Ds(e)};Gt&&ay(Kn,window.lazyLoadOptions);class Xh{constructor({readonly:t,box:i,pages:n,onNewPageIndex:r,onPlay:s}){if(this.pageIndex=0,this.namespace="netless-app-docs-viewer",this.isShowPreview=!1,this.isSmallBox=!1,this.sideEffect=new zs,n.length<=0)throw new Error("[DocsViewer] Empty pages.");this.readonly=t,this.box=i,this.pages=n,this.onNewPageIndex=r,this.onPlay=s,this.render()}mount(){this.box.mountContent(this.$content),this.box.mountFooter(this.$footer),this.sideEffect.add(()=>{const t=new Kn({container:this.$preview,elements_selector:`.${this.wrapClassName("preview-page>img")}`});return()=>t.destroy()},"preview-lazyload")}unmount(){this.$content.remove(),this.$footer.remove()}setReadonly(t){this.readonly!==t&&(this.readonly=t,this.$content.classList.toggle(this.wrapClassName("readonly"),t),this.$footer.classList.toggle(this.wrapClassName("readonly"),t),this.$pageNumberInput.disabled=t)}destroy(){this.sideEffect.flushAll(),this.unmount()}setPageIndex(t){Number.isNaN(t)||(this.pageIndex=t,this.$pageNumberInput.value=String(t+1))}setSmallBox(t){this.isSmallBox!==t&&(this.isSmallBox=t,this.$footer.classList.toggle(this.wrapClassName("float-footer"),t))}render(){return this.renderContent(),this.renderFooter(),this.$content}renderContent(){if(!this.$content){const t=document.createElement("div");t.className=this.wrapClassName("content"),this.$content=t,this.readonly&&t.classList.add(this.wrapClassName("readonly")),t.appendChild(this.renderPreviewMask()),t.appendChild(this.renderPreview())}return this.$content}renderPreview(){if(!this.$preview){const t=document.createElement("div");t.className=this.wrapClassName("preview")+" tele-fancy-scrollbar",this.$preview=t;const i=this.wrapClassName("preview-page"),n=this.wrapClassName("preview-page-name");this.pages.forEach((r,s)=>{var o;const a=(o=r.thumbnail)!=null?o:r.src.startsWith("ppt")?void 0:r.src;if(!a)return;const l=String(s),u=document.createElement("a");u.className=i+" "+this.wrapClassName(`preview-page-${s}`),u.setAttribute("href","#"),u.dataset.pageIndex=l;const h=document.createElement("span");h.className=n,h.textContent=String(s+1),h.dataset.pageIndex=l;const c=document.createElement("img");c.width=r.width,c.height=r.height,c.dataset.src=a,c.dataset.pageIndex=l,u.appendChild(c),u.appendChild(h),t.appendChild(u)}),this.sideEffect.addEventListener(t,"click",r=>{var s;if(this.readonly)return;const o=(s=r.target.dataset)==null?void 0:s.pageIndex;o&&(r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),this.onNewPageIndex(Number(o)),this.togglePreview(!1))})}return this.$preview}renderPreviewMask(){return this.$previewMask||(this.$previewMask=document.createElement("div"),this.$previewMask.className=this.wrapClassName("preview-mask"),this.sideEffect.addEventListener(this.$previewMask,"click",t=>{this.readonly||t.target===this.$previewMask&&this.togglePreview(!1)})),this.$previewMask}renderFooter(){if(!this.$footer){const t=document.createElement("div");if(t.className=this.wrapClassName("footer"),this.$footer=t,this.readonly&&t.classList.add(this.wrapClassName("readonly")),this.isSmallBox&&t.classList.add(this.wrapClassName("float-footer")),this.pages.some(l=>l.thumbnail||!l.src.startsWith("ppt"))){const l=this.renderFooterBtn("btn-sidebar",ty(this.namespace));this.sideEffect.addEventListener(l,"click",()=>{this.readonly||this.togglePreview()}),this.$footer.appendChild(l)}const i=document.createElement("div");i.className=this.wrapClassName("page-jumps");const n=this.renderFooterBtn("btn-page-back",iy(this.namespace));if(this.sideEffect.addEventListener(n,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex-1)}),i.appendChild(n),this.onPlay){const l=this.renderFooterBtn("btn-page-play",ry(this.namespace),sy(this.namespace)),u=()=>{this.sideEffect.setTimeout(()=>{l.classList.toggle(this.wrapClassName("footer-btn-playing"),!1)},500,"returnPlay")};this.sideEffect.addEventListener(l,"click",()=>{this.readonly||(l.classList.toggle(this.wrapClassName("footer-btn-playing"),!0),this.onPlay&&this.onPlay(),u())}),i.appendChild(l)}const r=this.renderFooterBtn("btn-page-next",ny(this.namespace));this.sideEffect.addEventListener(r,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex+1)}),i.appendChild(r);const s=document.createElement("div");s.className=this.wrapClassName("page-number");const o=document.createElement("input");o.className=this.wrapClassName("page-number-input"),o.value=String(this.pageIndex+1),this.readonly&&(o.disabled=!0),this.$pageNumberInput=o,this.sideEffect.addEventListener(o,"focus",()=>{o.select()}),this.sideEffect.addEventListener(o,"change",()=>{this.readonly||o.value&&this.onNewPageIndex(Number(o.value)-1)});const a=document.createElement("span");a.textContent=" / "+this.pages.length,s.appendChild(o),s.appendChild(a),this.$footer.appendChild(i),this.$footer.appendChild(s)}return this.$footer}renderFooterBtn(t,i,n){const r=document.createElement("button");return r.className=this.wrapClassName("footer-btn")+" "+this.wrapClassName(t),r.appendChild(i),n&&r.appendChild(n),r}togglePreview(t){if(this.isShowPreview=t!=null?t:!this.isShowPreview,this.$content.classList.toggle(this.wrapClassName("preview-active"),this.isShowPreview),this.isShowPreview){const i=this.$preview.querySelector("."+this.wrapClassName(`preview-page-${this.pageIndex}`));i&&this.$preview.scrollTo({top:i.offsetTop-16})}}wrapClassName(t){return`${this.namespace}-${t}`}}function Oi(e,t,i){return Math.min(Math.max(e,t),i)}function oc(e){return e.touches?e.touches[0]:e}function Jh(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function Kh(e){if(!e)return!1;const t=e.tagName;return t==="INPUT"||t==="TEXTAREA"||t==="SELECT"}class p0{constructor(t){var i,n,r;this.velocity=0,this.paused=!0,this._animationFrameID=null,this._loopTimestamp=0,this.looper=s=>{if(this.paused)return;let o=Math.floor((s-this._loopTimestamp)/1e3*60)+1;for(this._loopTimestamp=s;o-- >0;)this.stepper();this.onStep(this.current,this),!this.paused&&this.current!==this.target&&window.requestAnimationFrame(this.looper)},this.current=(i=t.start)!=null?i:0,this.target=this.current,this.stiffness=(n=t.stiffness)!=null?n:170,this.damping=(r=t.damping)!=null?r:26,this.onStep=t.onStep}stepTo(t,i){this.paused&&i!=null&&(this.current=i),this.paused=!1,this.target=t,this.onStep(this.current,this),this._loopTimestamp=Date.now(),window.requestAnimationFrame(this.looper)}pause(){this.paused=!0}destroy(){this.pause()}stepper(){const t=-this.stiffness*(this.current-this.target),i=-this.damping*this.velocity,n=this.velocity+(t+i)/60,r=this.current+n/60;Math.abs(n-0)<.01&&Math.abs(r-this.target)<.01?(this.current=this.target,this.velocity=0):(this.current=r,this.velocity=n)}}class f0{constructor(t,i,n,r){this.scale=1,this.lastVisit=Date.now(),this.pageOffsetY=0,this.pageOffsetX=0,this.visible=!0,this.index=t,this.page=i,this.scale=n,this.pageOffsetX=(r-i.width)/2;const s=document.createElement("div");s.className="page-renderer-page",s.dataset.index=`${t}`,s.style.width=`${i.width*n}px`,s.style.height=`${i.height*n}px`,i.thumbnail&&(s.style.backgroundImage=`url("${i.thumbnail}")`);const o=document.createElement("img");o.className="page-renderer-page-img",o.width=i.width,o.height=i.height,o.src=i.src,s.appendChild(o),this.$page=s}translateY(t){Math.abs(t-this.pageOffsetY)>=.001&&(this.pageOffsetY=t,this.$page.style.transform=`translate(${this.pageOffsetX*this.scale}px, ${this.pageOffsetY*this.scale}px)`)}setScale(t){Math.abs(t-this.scale)>=.001&&(this.scale=t,this.$page.style.width=`${this.page.width*this.scale}px`,this.$page.style.height=`${this.page.height*this.scale}px`,this.$page.style.transform=`translate(${this.pageOffsetX*this.scale}px, ${this.pageOffsetY*this.scale}px)`)}setVisible(t){t!==this.visible&&(this.visible=t,this.$page.style.opacity=t?"1":"0")}}const g0=window.requestIdleCallback||(e=>window.setTimeout(e,5e3)),m0=window.cancelIdleCallback||window.clearTimeout;class v0{constructor(t,i,n){this.pages=t,this.pagesIntrinsicWidth=i,this.scale=n,this.els=new Map,this.maxElCount=200,this.gcTimer=null,this.gc=()=>{if(this.gcTimer=null,this.els.size>this.maxElCount){const r=[...this.els.values()].sort((s,o)=>o.lastVisit-s.lastVisit);for(let s=Math.floor(this.maxElCount/4);s<r.length;s++)this.els.delete(r[s].index)}}}getEl(t){let i=this.els.get(t);return i||(i=new f0(t,this.pages[t],this.scale,this.pagesIntrinsicWidth),this.els.set(t,i)),i.lastVisit=Date.now(),this.els.size>this.maxElCount&&this.gcTimer===null&&(this.gcTimer=g0(this.gc)),i}setScale(t){t!==this.scale&&(this.scale=t,this.els.forEach(i=>i.setScale(t)))}destroy(){this.els.clear(),this.gcTimer!==null&&(m0(this.gcTimer),this.gcTimer=null)}}class w0{constructor(t){this._hwaTimeout=NaN,this._turnOffHWA=()=>{window.clearTimeout(this._hwaTimeout),this._hwaTimeout=NaN,this.$pages.classList.toggle("is-hwa",!1)},this.pagesScrollTop=t.pagesScrollTop||0,this.containerWidth=t.containerWidth||1,this.containerHeight=t.containerHeight||1,this.pages=t.pages.map(s=>{if(s.thumbnail)return s;try{const o=new URL(s.src);return o.searchParams.set("x-oss-process","image/resize,l_50"),fh(ph({},s),{thumbnail:o.toString()})}catch(o){return console.error(o),s}});const i=Array(this.pages.length);let n=1/0,r=0;this.pagesIntrinsicHeight=this.pages.reduce((s,o,a)=>(i[a]=s,o.width>r&&(r=o.width),o.height<=n&&(n=o.height),s+o.height),0),this.pagesIntrinsicWidth=r,this.pagesMinHeight=n,this.pagesIntrinsicYs=i,this.scale=this._calcScale(),this.threshold=this._calcThreshold(),this.onPageIndexChanged=t.onPageIndexChanged,this.pageScrollIndex=0,this.pagesScrollTop!==0&&(this.pageScrollIndex=this.findScrollPageIndex(),this.onPageIndexChanged&&this.pageScrollIndex>0&&this.onPageIndexChanged(this.pageScrollIndex)),this.pageElManager=new v0(this.pages,r,this.scale),this.$pages=this.renderPages()}setContainerSize(t,i){t>0&&i>0&&(t!==this.containerWidth||i!==this.containerHeight)&&(this.containerWidth=t,this.containerHeight=i,this.$pages.style.width=`${this.containerWidth}px`,this.$pages.style.height=`${this.containerHeight}px`,this.scale=this._calcScale(),this.threshold=this._calcThreshold(),this.pageElManager.setScale(this.scale),this.$pages.parentElement&&this.pagesScrollTo(this.pagesScrollTop,!0))}renderPages(){const t=document.createElement("div");return t.className="page-renderer-pages-container",t.style.width=`${this.containerWidth}px`,t.style.height=`${this.containerHeight}px`,t}pagesScrollTo(t,i){if(t=Oi(t,0,this.pagesIntrinsicHeight-this.containerHeight/this.scale),i||Math.abs(t-this.pagesScrollTop)>=.001){this._turnOnHWA(),this.pagesScrollTop=t;const n=this.findScrollPageIndex(),r=Math.max(n-this.threshold,0),s=Math.min(n+this.threshold,this.pages.length-1);for(let o=0;o<this.$pages.children.length;o++){const a=this.$pages.children[o],l=Number(a.dataset.index);l>=r&&l<=s||(a.remove(),o--)}for(let o=r;o<=s;o++){const a=this.pageElManager.getEl(o);a.$page.parentElement!==this.$pages&&this.$pages.appendChild(a.$page),a.translateY(this.pagesIntrinsicYs[o]-this.pagesScrollTop)}n!==this.pageScrollIndex&&(this.pageScrollIndex=n,this.onPageIndexChanged&&this.onPageIndexChanged(n))}}findScrollPageIndex(){for(let t=0;t<this.pagesIntrinsicYs.length;t++)if(this.pagesIntrinsicYs[t]+this.pages[t].height-this.pagesScrollTop>=.001)return t;return this.pagesIntrinsicYs.length-1}mount(t){t.appendChild(this.$pages),this.pagesScrollTo(this.pagesScrollTop,!0)}unmount(){this.$pages.remove()}destroy(){this.unmount(),this.onPageIndexChanged=void 0,this.pageElManager.destroy(),this._hwaTimeout&&(window.clearTimeout(this._hwaTimeout),this._hwaTimeout=NaN)}_calcScale(){return this.containerWidth/this.pagesIntrinsicWidth||1}_calcThreshold(){return Oi(Math.ceil(this.containerHeight/this.scale/this.pagesMinHeight/2),1,this.pages.length)}_turnOnHWA(){this._hwaTimeout?window.clearTimeout(this._hwaTimeout):this.$pages.classList.toggle("is-hwa",!0),this._hwaTimeout=window.setTimeout(this._turnOffHWA,1e3)}}const y0=30;class x0{constructor(t){this.sideEffect=new zs,this.pagesScrollTop=t.pagesScrollTop||0,this.containerWidth=t.containerWidth||1,this.containerHeight=t.containerHeight||1,this.pagesWidth=t.pagesWidth||1,this.pagesHeight=t.pagesHeight||1,this.scale=this._calcScale(),this.scrollbarMinHeight=t.scrollbarMinHeight||y0,this.scrollbarHeight=this._calcScrollbarHeight(),this.readonly=t.readonly,this.wrapClassName=t.wrapClassName,this.onDragScroll=t.onDragScroll,this.$scrollbar=this.renderScrollbar()}mount(t){t.appendChild(this.$scrollbar),this.pagesScrollTo(this.pagesScrollTop,!0)}unmount(){this.$scrollbar.remove()}setReadonly(t){this.readonly=t}setContainerSize(t,i){t>0&&i>0&&(t!==this.containerWidth||i!==this.containerHeight)&&(this.containerWidth=t,this.containerHeight=i,this.scale=this._calcScale(),this._updateScrollbarHeight(),this.$scrollbar.parentElement&&this.pagesScrollTo(this.pagesScrollTop,!0))}pagesScrollTo(t,i){if(t=Oi(t,0,this.pagesHeight-this.containerHeight/this.scale),i||Math.abs(t-this.pagesScrollTop)>=.001){this.pagesScrollTop=t;const n=this.pagesScrollTop*this.scale,r=this.pagesHeight*this.scale,s=n/(r-this.containerHeight)*(this.containerHeight-this.scrollbarHeight);window.requestAnimationFrame?window.requestAnimationFrame(()=>{this.$scrollbar.style.transform=`translateY(${s}px)`}):this.$scrollbar.style.transform=`translateY(${s}px)`}}destroy(){this.unmount(),this.onDragScroll=void 0,this.sideEffect.flushAll()}renderScrollbar(){const t=document.createElement("button");t.className=this.wrapClassName("scrollbar"),t.style.minHeight=`${this.scrollbarMinHeight}px`,t.style.height=`${this.scrollbarHeight}px`;const i=n=>{if(this.readonly||n.button!=null&&n.button!==0)return;Jh(n);const r=this.wrapClassName("scrollbar-dragging");t.classList.toggle(r,!0);const s=this.pagesScrollTop,{clientY:o}=oc(n),a=u=>{if(this.readonly)return;const{clientY:h}=oc(u),c=(h-o)/this.scale;Math.abs(c)>0&&this.onDragScroll&&this.onDragScroll(s+c*(this.pagesHeight*this.scale/this.containerHeight))},l=()=>{t.classList.toggle(r,!1),window.removeEventListener("mousemove",a,!0),window.removeEventListener("touchmove",a,!0),window.removeEventListener("mouseup",l,!0),window.removeEventListener("touchend",l,!0),window.removeEventListener("touchcancel",l,!0)};window.addEventListener("mousemove",a,!0),window.addEventListener("touchmove",a,!0),window.addEventListener("mouseup",l,!0),window.addEventListener("touchend",l,!0),window.addEventListener("touchcancel",l,!0)};return this.sideEffect.addEventListener(t,"mousedown",i),this.sideEffect.addEventListener(t,"touchstart",i),t}_calcScale(){return this.containerWidth/this.pagesWidth||1}_calcScrollbarHeight(){return Oi(this.containerHeight/(this.pagesHeight*this.scale)*this.containerHeight,this.scrollbarMinHeight,this.containerHeight)}_updateScrollbarHeight(){const t=this._calcScrollbarHeight();Math.abs(t-this.scrollbarHeight)>.001&&(this.scrollbarHeight=t,this.$scrollbar.style.height=`${t}px`)}}const S0=window.ResizeObserver||ey,Ki=640;class C0{constructor({whiteboardView:t,readonly:i,box:n,pages:r,pageScrollTop:s=0,mountWhiteboard:o,onUserScroll:a,baseScenePath:l,appId:u}){this.sideEffect=new zs,this.userScrolling=!1,this.onNewPageIndex=v=>{this.scrollToPage(v)},this.toPdf=async()=>{const v=document.createElement("canvas"),y=v.getContext("2d");if(!y||!this.baseScenePath){this.reportProgress(100,null);return}const S=`${this.baseScenePath}/1`,d=this.pages[0],{jsPDF:p}=await Promise.resolve().then(function(){return mg(require("jspdf"))}),f=new p({format:[d.width,d.height],orientation:d.width>d.height?"l":"p",compress:!0});for(const[w,x]of this.pages.entries()){const{width:b,height:T,src:L}=x;v.width=b,v.height=T;const k=b>T?"l":"p";w>0&&f.addPage([b,T],k);const j=await this.getBase64FromUrl(L),M=document.createElement("img");M.src=j,await new Promise(Q=>M.onload=Q),y.drawImage(M,0,0);const R=v.toDataURL("image/jpeg",.6);y.clearRect(0,0,b,T),this.whiteboardView.screenshotToCanvas(y,S,b,T,{centerX:b/2,centerY:T/2+w*T,scale:1});const P=v.toDataURL("image/png");f.addImage(R,"JPEG",0,0,b,T,"","FAST"),f.addImage(P,"PNG",0,0,b,T,"","FAST"),y.clearRect(0,0,b,T),Math.ceil((w+1)/this.pages.length*100)<100&&this.reportProgress(Math.ceil((w+1)/this.pages.length*100),null)}const g=f.output("arraybuffer");this.reportProgress(100,{pdf:g,title:this.box.title})},this.whiteboardView=t,this.readonly=i,this.box=n,this.pages=r,this.baseScenePath=l,this.appId=u,this.mountWhiteboard=o,this._onUserScroll=a;const h=this.debounce(()=>{this.userScrolling=!1,this._onUserScroll&&this._onUserScroll(this.pageRenderer.pagesScrollTop)},{wait:80},"debounce-updateUserScroll");this.updateUserScroll=()=>{this.userScrolling=!0,h()},this.viewer=new Xh({readonly:i,box:n,pages:r,onNewPageIndex:this.onNewPageIndex});const{width:c,height:m}=this.whiteboardView.size;this.pageRenderer=new w0({pagesScrollTop:s,pages:this.pages,containerWidth:c,containerHeight:m,onPageIndexChanged:this.viewer.setPageIndex.bind(this.viewer)}),this.scrollbar=new x0({pagesScrollTop:this.pageRenderer.pagesScrollTop,containerWidth:c,containerHeight:m,pagesWidth:this.pageRenderer.pagesIntrinsicWidth,pagesHeight:this.pageRenderer.pagesIntrinsicHeight,readonly:this.readonly,wrapClassName:this.wrapClassName.bind(this),onDragScroll:v=>{this.pageScrollTo(v),this.updateUserScroll()}}),this.pageScrollStepper=new p0({start:this.pageRenderer.pagesScrollTop,onStep:v=>{this.pageScrollTo(v)}}),this.render()}mount(){this.viewer.mount(),this.setupScrollListener();const t=this.debounce(this.renderRatioHeight.bind(this),{wait:80});return this.sideEffect.add(()=>{const i=new S0(t);return i.observe(this.viewer.$content),()=>i.disconnect()}),this.sideEffect.setTimeout(()=>{this.userScrolling||this.pageScrollTo(this.pageRenderer.pagesScrollTop)},100),this.sideEffect.add(()=>{const i=n=>{n.data.type==="@netless/_request_save_pdf_"&&n.data.appId===this.appId&&this.toPdf().catch(()=>this.reportProgress(100,null))};return window.addEventListener("message",i),()=>{window.removeEventListener("message",i)}}),this}unmount(){return this.viewer.unmount(),this}setReadonly(t){this.readonly!==t&&(this.readonly=t,this.viewer.setReadonly(t),this.scrollbar.setReadonly(t))}destroy(){this.sideEffect.flushAll(),this.pageScrollStepper.destroy(),this._onUserScroll=void 0,this.unmount(),this.viewer.destroy(),this.pageRenderer.destroy(),this.scrollbar.destroy()}syncPageScrollTop(t){!this.userScrolling&&t>=0&&Math.abs(this.pageRenderer.pagesScrollTop-t)>.01&&this.pageScrollStepper.stepTo(t,this.pageRenderer.pagesScrollTop)}render(){this.pageRenderer.mount(this.viewer.$content),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.scrollbar.mount(this.viewer.$content),this.renderRatioHeight()}renderRatioHeight(){const t=this.box.absoluteHeight,i=t<=Ki;if(this.viewer.setSmallBox(i),i){const n=26/Ki,r=26/t,s=26/Ki,o=0,a=Math.max((n+s-(r+o))/2,0);if(this.box.$titleBar){const l=r+a;this.box.$titleBar.style.height=`${l*100}%`}if(this.box.$footer){const l=o+a;this.box.$footer.style.height=`${l*100}%`}}else{if(this.box.$titleBar){const n=Math.max(26/Ki,26/t);this.box.$titleBar.style.height=`${n*100}%`}if(this.box.$footer){const n=Math.max(26/Ki,26/t);this.box.$footer.style.height=`${n*100}%`}}}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view"),this.mountWhiteboard(this.$whiteboardView),this.sideEffect.addEventListener(this.$whiteboardView,"wheel",t=>{Jh(t),this.readonly||(this.pageScrollTo(this.pageRenderer.pagesScrollTop+t.deltaY),this.updateUserScroll())},{passive:!1,capture:!0}),this.sideEffect.addEventListener(this.$whiteboardView,"touchmove",t=>{this.readonly||t.touches.length<=1||this.updateUserScroll()},{passive:!0,capture:!0})),this.$whiteboardView}scrollTopPageToEl(t){return t*this.pageRenderer.scale}scrollTopElToPage(t){return t/this.pageRenderer.scale}elScrollTo(t){this.pageScrollTo(this.scrollTopElToPage(t))}pageScrollTo(t){const i=this.scrollTopElToPage(this.whiteboardView.size.height/2);this.whiteboardView.moveCamera({centerY:Oi(t+i,i,this.pageRenderer.pagesIntrinsicHeight-i),animationMode:"immediately"})}scrollToPage(t){if(!this.readonly&&!Number.isNaN(t)){const i=this.pageRenderer.pagesIntrinsicYs[t];i>=0&&(this.pageScrollTo(i+5/this.pageRenderer.scale),this.updateUserScroll())}}setupScrollListener(){this.sideEffect.add(()=>{const t=i=>{const{width:n,height:r}=this.whiteboardView.size;if(n<=0||r<=0)return;const s=i.centerY-this.pageRenderer.containerHeight/this.pageRenderer.scale/2;this.pageRenderer.pagesScrollTo(s),this.scrollbar.pagesScrollTo(s)};return this.whiteboardView.callbacks.on("onCameraUpdated",t),()=>this.whiteboardView.callbacks.off("onCameraUpdated",t)}),this.sideEffect.add(()=>{const t=({width:i,height:n})=>{if(i<=0||n<=0)return;this.pageRenderer.setContainerSize(i,n),this.scrollbar.setContainerSize(i,n);const{pagesIntrinsicWidth:r,pagesIntrinsicHeight:s}=this.pageRenderer;this.whiteboardView.moveCameraToContain({originX:0,originY:this.pageRenderer.pagesScrollTop,width:r,height:n/this.pageRenderer.scale,animationMode:"immediately"}),this.whiteboardView.setCameraBound({damping:1,maxContentMode:()=>this.pageRenderer.scale,minContentMode:()=>this.pageRenderer.scale,centerX:r/2,centerY:s/2,width:r,height:s})};return this.whiteboardView.callbacks.on("onSizeUpdated",t),()=>{this.whiteboardView.callbacks.off("onSizeUpdated",t)}},"whiteboard-size-update"),this.sideEffect.addEventListener(window,"keyup",t=>{if(this.readonly||!this.box.focus||this.box.minimized||Kh(t.target))return;let i=null;switch(t.key){case"PageDown":{i=this.pageRenderer.pagesScrollTop+this.pageRenderer.containerHeight/this.pageRenderer.scale;break}case"PageUp":{i=this.pageRenderer.pagesScrollTop-this.pageRenderer.containerHeight/this.pageRenderer.scale;break}case"ArrowDown":{i=this.pageRenderer.pagesScrollTop+this.pageRenderer.containerHeight/4/this.pageRenderer.scale;break}case"ArrowUp":{i=this.pageRenderer.pagesScrollTop-this.pageRenderer.containerHeight/4/this.pageRenderer.scale;break}}i!==null&&(this._onUserScroll?this._onUserScroll(i):(this.pageScrollTo(i),this.updateUserScroll()))},{capture:!0})}debounce(t,i,n){const r=Pw(t,i);return this.sideEffect.addDisposer(()=>r.cancel(),n),r}wrapClassName(t){return"netless-app-docs-viewer-static-"+t}async getBase64FromUrl(t){const n=await(await fetch(t)).blob();return new Promise(r=>{const s=new FileReader;s.readAsDataURL(n),s.onloadend=()=>{const o=s.result;r(o)}})}reportProgress(t,i){window.postMessage({type:"@netless/_result_save_pdf_",appId:this.appId,progress:t,result:i})}}class M0{constructor({context:t,whiteboardView:i,box:n,pages:r}){this.sideEffect=new zs,this.onPlayPPT=()=>{const s=this.context.getRoom();s&&s.pptNextStep()},this._scaleDocsToFitImpl=()=>{const s=this.pages[this.getPageIndex()];s&&(this.whiteboardView.moveCameraToContain({originX:-s.width/2,originY:-s.height/2,width:s.width,height:s.height,animationMode:"immediately"}),this.whiteboardView.setCameraBound({damping:1,maxContentMode:()=>this.whiteboardView.camera.scale,minContentMode:()=>this.whiteboardView.camera.scale,centerX:0,centerY:0,width:s.width,height:s.height}))},this._scaleDocsToFitDebounced=()=>{this.sideEffect.setTimeout(this._scaleDocsToFitImpl,1e3,"_scaleDocsToFitDebounced")},this.scaleDocsToFit=()=>{this._scaleDocsToFitImpl(),this._scaleDocsToFitDebounced()},this.onNewPageIndex=s=>{this.jumpToPage(s,!0)},this.context=t,this.whiteboardView=i,this.box=n,this.pages=r,this.displayer=t.getDisplayer(),this.viewer=new Xh({readonly:!t.getIsWritable(),box:n,pages:r,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlayPPT}),this.render(),this.sideEffect.add(()=>{const s=o=>{this.viewer.setReadonly(!o)};return this.context.emitter.on("writableChange",s),()=>this.context.emitter.off("writableChange",s)}),this.sideEffect.add(()=>{const s=o=>{this.jumpToPage(o.index)};return this.context.emitter.on("sceneStateChange",s),()=>this.context.emitter.off("sceneStateChange",s)})}mount(){this.viewer.mount();const t=this.getPageIndex();return t!==0&&this.jumpToPage(t),this.scaleDocsToFit(),this.sideEffect.add(()=>(this.whiteboardView.callbacks.on("onSizeUpdated",this.scaleDocsToFit),()=>{this.whiteboardView.callbacks.off("onSizeUpdated",this.scaleDocsToFit)})),this}unmount(){return this.viewer.unmount(),this}destroy(){this.sideEffect.flushAll(),this.unmount(),this.viewer.destroy()}getPageIndex(){return this.displayer.state.sceneState.index}jumpToPage(t,i){var n,r;if(t=Oi(t,0,this.pages.length-1),t!==this.getPageIndex()&&this.context.getIsWritable()){const s=this.context.getInitScenePath(),o=(r=(n=this.context.getScenes())==null?void 0:n[t])==null?void 0:r.name;s&&o&&this.context.setScenePath(`${s}/${o}`),this.scaleDocsToFit()}if(t!==this.viewer.pageIndex&&this.viewer.setPageIndex(t),i){const s=this.context.getRoom();if(s){const o=s.state.globalState.__pptState;s.setGlobalState({__pptState:o&&{uuid:o.uuid,pageIndex:t,disableAutoPlay:o.disableAutoPlay}})}}}render(){this.viewer.$content.appendChild(this.renderMask()),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.sideEffect.addEventListener(window,"keydown",t=>{var i;if(this.box.focus&&!Kh(t.target))switch(t.key){case"ArrowUp":case"ArrowLeft":{this.jumpToPage(this.getPageIndex()-1,!0);break}case"ArrowRight":case"ArrowDown":{(i=this.context.getRoom())==null||i.pptNextStep();break}}})}renderMask(){if(!this.$mask){const t=document.createElement("div");t.className=this.wrapClassName("mask"),this.$mask=t;const i=document.createElement("button");i.className=this.wrapClassName("back");const n=document.createElement("button");n.className=this.wrapClassName("next")}return this.$mask}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view"),this.sideEffect.addEventListener(this.$whiteboardView,"click",t=>{var i;const n=this.context.getRoom();if(n&&n.state.memberState.currentApplianceName==="clicker"){for(let r=t.target;r;r=r.parentElement)if((i=r.classList)!=null&&i.contains("ppt-event-source"))return;n.pptNextStep()}}),this.context.mountView(this.$whiteboardView)),this.$whiteboardView}wrapClassName(t){return"netless-app-docs-viewer-dynamic-"+t}}const I0="DocsViewer",Yo={kind:I0,setup(e){const t=e.getBox(),i=e.getScenes();if(!i)throw new Error("[Docs Viewer]: scenes not found.");const n=e.getView();if(!n)throw new Error("[Docs Viewer]: no whiteboard view.");const r=i.map(({ppt:s})=>s?{width:s.width,height:s.height,src:s.src,thumbnail:s.previewURL}:null).filter(s=>Boolean(s));if(r.length<=0)throw new Error("[Docs Viewer]: empty scenes.");t.mountStyles(Cw),r[0].src.startsWith("ppt")?A0(e,n,t,r):b0(e,n,t,r)}};function b0(e,t,i,n){var r;t.disableCameraTransform=!e.getIsWritable();const s=new C0({whiteboardView:t,readonly:!e.getIsWritable(),box:i,pages:n,pageScrollTop:(r=e.getAttributes())==null?void 0:r.pageScrollTop,mountWhiteboard:e.mountView.bind(e),onUserScroll:o=>{var a;((a=e.getAttributes())==null?void 0:a.pageScrollTop)!==o&&!i.readonly&&e.updateAttributes(["pageScrollTop"],o)},baseScenePath:e.getInitScenePath(),appId:e.appId}).mount();e.emitter.on("attributesUpdate",o=>{o&&o.pageScrollTop!=null&&s.syncPageScrollTop(o.pageScrollTop)}),e.emitter.on("writableChange",o=>{s.setReadonly(!o),t.disableCameraTransform=!o})}function A0(e,t,i,n){t.disableCameraTransform=!0;const r=new M0({context:e,whiteboardView:t,box:i,pages:n}).mount();e.mountView(r.$whiteboardView),e.isAddApp&&t.callbacks.once("onSizeUpdated",({width:s,height:o})=>{if(n.length>0&&i.state!=="maximized"){const{width:a,height:l}=n[0],h=l/a*s-o;h!==0&&e.getIsWritable()&&e.emitter.emit("setBoxSize",{width:i.width,height:i.height+h/i.containerRect.height})}})}var qh={exports:{}},Fe={},ep={exports:{}},tp={};/** @license React v0.19.1
41
+ ${t}`,Ew=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Tw=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),kw=(e,t,i)=>{const n=i===""?"":`with ${i.trim()}() `,r=Aw.bind(null,n,t.toString());Object.defineProperty(r,"name",Tw),Object.defineProperty(e,"toString",fh(ph({},Ew),{value:r}))};function Nw(e,t,{ignoreNonConfigurable:i=!1}={}){const{name:n}=e;for(const r of Reflect.ownKeys(t))Mw(e,t,r,i);return bw(e,t),kw(e,t,n),e}const Pw=(e,t={})=>{if(typeof e!="function")throw new TypeError(`Expected the first argument to be a function, got \`${typeof e}\``);const{wait:i=0,maxWait:n=Number.Infinity,before:r=!1,after:s=!0}=t;if(!r&&!s)throw new Error("Both `before` and `after` are false, function wouldn't be called.");let o,a,l;const u=function(...h){const c=this,m=()=>{o=void 0,a&&(clearTimeout(a),a=void 0),s&&(l=e.apply(c,h))},v=()=>{a=void 0,o&&(clearTimeout(o),o=void 0),s&&(l=e.apply(c,h))},y=r&&!o;return clearTimeout(o),o=setTimeout(m,i),n>0&&n!==Number.Infinity&&!a&&(a=setTimeout(v,n)),y&&(l=e.apply(c,h)),l};return Nw(u,e),u.cancel=()=>{o&&(clearTimeout(o),o=void 0),a&&(clearTimeout(a),a=void 0)},u},gh="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",zw=gh.length,$u=Array(20),Dw=()=>{for(let e=0;e<20;e++)$u[e]=gh.charAt(Math.random()*zw);return $u.join("")};function Fu(e){try{return e()}catch(t){console.error(t)}}class zs{constructor(){this.disposers=new Map}addDisposer(t,i=this.genUID()){return this.flush(i),this.disposers.set(i,Array.isArray(t)?()=>t.forEach(Fu):t),i}add(t,i=this.genUID()){return this.addDisposer(t(),i)}addEventListener(t,i,n,r,s=this.genUID()){return t.addEventListener(i,n,r),this.addDisposer(()=>t.removeEventListener(i,n,r),s),s}setTimeout(t,i,n=this.genUID()){const r=window.setTimeout(()=>{this.remove(n),t()},i);return this.addDisposer(()=>window.clearTimeout(r),n)}setInterval(t,i,n=this.genUID()){const r=window.setInterval(t,i);return this.addDisposer(()=>window.clearInterval(r),n)}remove(t){const i=this.disposers.get(t);return this.disposers.delete(t),i}flush(t){const i=this.remove(t);if(i)try{i()}catch(n){console.error(n)}}flushAll(){this.disposers.forEach(Fu),this.disposers.clear()}genUID(){let t;do t=Dw();while(this.disposers.has(t));return t}}var oi=[],Lw=function(){return oi.some(function(e){return e.activeTargets.length>0})},jw=function(){return oi.some(function(e){return e.skippedTargets.length>0})},Qu="ResizeObserver loop completed with undelivered notifications.",Bw=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:Qu}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=Qu),window.dispatchEvent(e)},zn;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(zn||(zn={}));var ai=function(e){return Object.freeze(e)},Rw=function(){function e(t,i){this.inlineSize=t,this.blockSize=i,ai(this)}return e}(),mh=function(){function e(t,i,n,r){return this.x=t,this.y=i,this.width=n,this.height=r,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ai(this)}return e.prototype.toJSON=function(){var t=this,i=t.x,n=t.y,r=t.top,s=t.right,o=t.bottom,a=t.left,l=t.width,u=t.height;return{x:i,y:n,top:r,right:s,bottom:o,left:a,width:l,height:u}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),ol=function(e){return e instanceof SVGElement&&"getBBox"in e},vh=function(e){if(ol(e)){var t=e.getBBox(),i=t.width,n=t.height;return!i&&!n}var r=e,s=r.offsetWidth,o=r.offsetHeight;return!(s||o||e.getClientRects().length)},Zu=function(e){var t,i;if(e instanceof Element)return!0;var n=(i=(t=e)===null||t===void 0?void 0:t.ownerDocument)===null||i===void 0?void 0:i.defaultView;return!!(n&&e instanceof n.Element)},_w=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},xn=typeof window!="undefined"?window:{},fr=new WeakMap,Yu=/auto|scroll/,Ow=/^tb|vertical/,Vw=/msie|trident/i.test(xn.navigator&&xn.navigator.userAgent),rt=function(e){return parseFloat(e||"0")},Ni=function(e,t,i){return e===void 0&&(e=0),t===void 0&&(t=0),i===void 0&&(i=!1),new Rw((i?t:e)||0,(i?e:t)||0)},Gu=ai({devicePixelContentBoxSize:Ni(),borderBoxSize:Ni(),contentBoxSize:Ni(),contentRect:new mh(0,0,0,0)}),wh=function(e,t){if(t===void 0&&(t=!1),fr.has(e)&&!t)return fr.get(e);if(vh(e))return fr.set(e,Gu),Gu;var i=getComputedStyle(e),n=ol(e)&&e.ownerSVGElement&&e.getBBox(),r=!Vw&&i.boxSizing==="border-box",s=Ow.test(i.writingMode||""),o=!n&&Yu.test(i.overflowY||""),a=!n&&Yu.test(i.overflowX||""),l=n?0:rt(i.paddingTop),u=n?0:rt(i.paddingRight),h=n?0:rt(i.paddingBottom),c=n?0:rt(i.paddingLeft),m=n?0:rt(i.borderTopWidth),v=n?0:rt(i.borderRightWidth),y=n?0:rt(i.borderBottomWidth),S=n?0:rt(i.borderLeftWidth),d=c+u,p=l+h,f=S+v,g=m+y,w=a?e.offsetHeight-g-e.clientHeight:0,x=o?e.offsetWidth-f-e.clientWidth:0,b=r?d+f:0,T=r?p+g:0,L=n?n.width:rt(i.width)-b-x,k=n?n.height:rt(i.height)-T-w,j=L+d+x+f,M=k+p+w+g,R=ai({devicePixelContentBoxSize:Ni(Math.round(L*devicePixelRatio),Math.round(k*devicePixelRatio),s),borderBoxSize:Ni(j,M,s),contentBoxSize:Ni(L,k,s),contentRect:new mh(c,l,L,k)});return fr.set(e,R),R},yh=function(e,t,i){var n=wh(e,i),r=n.borderBoxSize,s=n.contentBoxSize,o=n.devicePixelContentBoxSize;switch(t){case zn.DEVICE_PIXEL_CONTENT_BOX:return o;case zn.BORDER_BOX:return r;default:return s}},Uw=function(){function e(t){var i=wh(t);this.target=t,this.contentRect=i.contentRect,this.borderBoxSize=ai([i.borderBoxSize]),this.contentBoxSize=ai([i.contentBoxSize]),this.devicePixelContentBoxSize=ai([i.devicePixelContentBoxSize])}return e}(),xh=function(e){if(vh(e))return 1/0;for(var t=0,i=e.parentNode;i;)t+=1,i=i.parentNode;return t},Ww=function(){var e=1/0,t=[];oi.forEach(function(o){if(o.activeTargets.length!==0){var a=[];o.activeTargets.forEach(function(u){var h=new Uw(u.target),c=xh(u.target);a.push(h),u.lastReportedSize=yh(u.target,u.observedBox),c<e&&(e=c)}),t.push(function(){o.callback.call(o.observer,a,o.observer)}),o.activeTargets.splice(0,o.activeTargets.length)}});for(var i=0,n=t;i<n.length;i++){var r=n[i];r()}return e},Xu=function(e){oi.forEach(function(i){i.activeTargets.splice(0,i.activeTargets.length),i.skippedTargets.splice(0,i.skippedTargets.length),i.observationTargets.forEach(function(r){r.isActive()&&(xh(r.target)>e?i.activeTargets.push(r):i.skippedTargets.push(r))})})},Hw=function(){var e=0;for(Xu(e);Lw();)e=Ww(),Xu(e);return jw()&&Bw(),e>0},co,Sh=[],$w=function(){return Sh.splice(0).forEach(function(e){return e()})},Fw=function(e){if(!co){var t=0,i=document.createTextNode(""),n={characterData:!0};new MutationObserver(function(){return $w()}).observe(i,n),co=function(){i.textContent=""+(t?t--:t++)}}Sh.push(e),co()},Qw=function(e){Fw(function(){requestAnimationFrame(e)})},Dr=0,Zw=function(){return!!Dr},Yw=250,Gw={attributes:!0,characterData:!0,childList:!0,subtree:!0},Ju=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Ku=function(e){return e===void 0&&(e=0),Date.now()+e},ho=!1,Xw=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var i=this;if(t===void 0&&(t=Yw),!ho){ho=!0;var n=Ku(t);Qw(function(){var r=!1;try{r=Hw()}finally{if(ho=!1,t=n-Ku(),!Zw())return;r?i.run(1e3):t>0?i.run(t):i.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,i=function(){return t.observer&&t.observer.observe(document.body,Gw)};document.body?i():xn.addEventListener("DOMContentLoaded",i)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Ju.forEach(function(i){return xn.addEventListener(i,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),Ju.forEach(function(i){return xn.removeEventListener(i,t.listener,!0)}),this.stopped=!0)},e}(),Qo=new Xw,qu=function(e){!Dr&&e>0&&Qo.start(),Dr+=e,!Dr&&Qo.stop()},Jw=function(e){return!ol(e)&&!_w(e)&&getComputedStyle(e).display==="inline"},Kw=function(){function e(t,i){this.target=t,this.observedBox=i||zn.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=yh(this.target,this.observedBox,!0);return Jw(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),qw=function(){function e(t,i){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=i}return e}(),gr=new WeakMap,ec=function(e,t){for(var i=0;i<e.length;i+=1)if(e[i].target===t)return i;return-1},mr=function(){function e(){}return e.connect=function(t,i){var n=new qw(t,i);gr.set(t,n)},e.observe=function(t,i,n){var r=gr.get(t),s=r.observationTargets.length===0;ec(r.observationTargets,i)<0&&(s&&oi.push(r),r.observationTargets.push(new Kw(i,n&&n.box)),qu(1),Qo.schedule())},e.unobserve=function(t,i){var n=gr.get(t),r=ec(n.observationTargets,i),s=n.observationTargets.length===1;r>=0&&(s&&oi.splice(oi.indexOf(n),1),n.observationTargets.splice(r,1),qu(-1))},e.disconnect=function(t){var i=this,n=gr.get(t);n.observationTargets.slice().forEach(function(r){return i.unobserve(t,r.target)}),n.activeTargets.splice(0,n.activeTargets.length)},e}(),ey=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");mr.connect(this,t)}return e.prototype.observe=function(t,i){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Zu(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");mr.observe(this,t,i)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Zu(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");mr.unobserve(this,t)},e.prototype.disconnect=function(){mr.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();function ty(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-sidebar`),i.setAttribute("viewBox","0 0 64 64");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z"),i.appendChild(n),i}function iy(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-arrow-left`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z"),i.appendChild(n),i}function ny(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-arrow-right`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z"),i.appendChild(n),i}function ry(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-play`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z"),i.appendChild(n),i}function sy(e){const t="http://www.w3.org/2000/svg",i=document.createElementNS(t,"svg");i.setAttribute("class",`${e}-footer-icon-pause`),i.setAttribute("viewBox","0 0 500 500");const n=document.createElementNS(t,"path");return n.setAttribute("fill","currentColor"),n.setAttribute("d","M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z"),i.appendChild(n),i}const Gt=typeof window!="undefined",Ch=Gt&&!("onscroll"in window)||typeof navigator!="undefined"&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),Mh=Gt&&"IntersectionObserver"in window,Ih=Gt&&"classList"in document.createElement("p"),bh=Gt&&window.devicePixelRatio>1,oy={elements_selector:".lazy",container:Ch||Gt?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},Ah=e=>Object.assign({},oy,e),tc=function(e,t){let i;const n="LazyLoad::Initialized",r=new e(t);try{i=new CustomEvent(n,{detail:{instance:r}})}catch{i=document.createEvent("CustomEvent"),i.initCustomEvent(n,!1,!1,{instance:r})}window.dispatchEvent(i)},ay=(e,t)=>{if(!!t)if(!t.length)tc(e,t);else for(let i=0,n;n=t[i];i+=1)tc(e,n)},It="src",al="srcset",ll="sizes",Eh="poster",Xn="llOriginalAttrs",Th="data",ul="loading",kh="loaded",Nh="applied",ly="entered",cl="error",Ph="native",zh="data-",Dh="ll-status",Ae=(e,t)=>e.getAttribute(zh+t),uy=(e,t,i)=>{var n=zh+t;if(i===null){e.removeAttribute(n);return}e.setAttribute(n,i)},Jn=e=>Ae(e,Dh),xi=(e,t)=>uy(e,Dh,t),Ds=e=>xi(e,null),dl=e=>Jn(e)===null,cy=e=>Jn(e)===ul,dy=e=>Jn(e)===cl,hl=e=>Jn(e)===Ph,hy=[ul,kh,Nh,cl],py=e=>hy.indexOf(Jn(e))>=0,Xt=(e,t,i,n)=>{if(!!e){if(n!==void 0){e(t,i,n);return}if(i!==void 0){e(t,i);return}e(t)}},Zi=(e,t)=>{if(Ih){e.classList.add(t);return}e.className+=(e.className?" ":"")+t},ot=(e,t)=>{if(Ih){e.classList.remove(t);return}e.className=e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},fy=e=>{e.llTempImage=document.createElement("IMG")},gy=e=>{delete e.llTempImage},Lh=e=>e.llTempImage,Ls=(e,t)=>{if(!t)return;const i=t._observer;!i||i.unobserve(e)},my=e=>{e.disconnect()},vy=(e,t,i)=>{t.unobserve_entered&&Ls(e,i)},pl=(e,t)=>{!e||(e.loadingCount+=t)},wy=e=>{!e||(e.toLoadCount-=1)},jh=(e,t)=>{!e||(e.toLoadCount=t)},yy=e=>e.loadingCount>0,xy=e=>e.toLoadCount>0,Bh=e=>{let t=[];for(let i=0,n;n=e.children[i];i+=1)n.tagName==="SOURCE"&&t.push(n);return t},fl=(e,t)=>{const i=e.parentNode;if(!i||i.tagName!=="PICTURE")return;Bh(i).forEach(t)},Rh=(e,t)=>{Bh(e).forEach(t)},js=[It],_h=[It,Eh],Dn=[It,al,ll],Oh=[Th],Bs=e=>!!e[Xn],Vh=e=>e[Xn],Uh=e=>delete e[Xn],_i=(e,t)=>{if(Bs(e))return;const i={};t.forEach(n=>{i[n]=e.getAttribute(n)}),e[Xn]=i},Sy=e=>{Bs(e)||(e[Xn]={backgroundImage:e.style.backgroundImage})},Cy=(e,t,i)=>{if(!i){e.removeAttribute(t);return}e.setAttribute(t,i)},fi=(e,t)=>{if(!Bs(e))return;const i=Vh(e);t.forEach(n=>{Cy(e,n,i[n])})},My=e=>{if(!Bs(e))return;const t=Vh(e);e.style.backgroundImage=t.backgroundImage},Wh=(e,t,i)=>{Zi(e,t.class_applied),xi(e,Nh),i&&(t.unobserve_completed&&Ls(e,t),Xt(t.callback_applied,e,i))},Hh=(e,t,i)=>{Zi(e,t.class_loading),xi(e,ul),i&&(pl(i,1),Xt(t.callback_loading,e,i))},_t=(e,t,i)=>{!i||e.setAttribute(t,i)},ic=(e,t)=>{_t(e,ll,Ae(e,t.data_sizes)),_t(e,al,Ae(e,t.data_srcset)),_t(e,It,Ae(e,t.data_src))},Iy=(e,t)=>{fl(e,i=>{_i(i,Dn),ic(i,t)}),_i(e,Dn),ic(e,t)},by=(e,t)=>{_i(e,js),_t(e,It,Ae(e,t.data_src))},Ay=(e,t)=>{Rh(e,i=>{_i(i,js),_t(i,It,Ae(i,t.data_src))}),_i(e,_h),_t(e,Eh,Ae(e,t.data_poster)),_t(e,It,Ae(e,t.data_src)),e.load()},Ey=(e,t)=>{_i(e,Oh),_t(e,Th,Ae(e,t.data_src))},Ty=(e,t,i)=>{const n=Ae(e,t.data_bg),r=Ae(e,t.data_bg_hidpi),s=bh&&r?r:n;!s||(e.style.backgroundImage=`url("${s}")`,Lh(e).setAttribute(It,s),Hh(e,t,i))},ky=(e,t,i)=>{const n=Ae(e,t.data_bg_multi),r=Ae(e,t.data_bg_multi_hidpi),s=bh&&r?r:n;!s||(e.style.backgroundImage=s,Wh(e,t,i))},Ny=(e,t,i)=>{const n=Ae(e,t.data_bg_set);if(!n)return;const r=n.split("|");let s=r.map(o=>`image-set(${o})`);e.style.backgroundImage=s.join(),e.style.backgroundImage===""&&(s=r.map(o=>`-webkit-image-set(${o})`),e.style.backgroundImage=s.join()),Wh(e,t,i)},$h={IMG:Iy,IFRAME:by,VIDEO:Ay,OBJECT:Ey},Py=(e,t)=>{const i=$h[e.tagName];!i||i(e,t)},zy=(e,t,i)=>{const n=$h[e.tagName];!n||(n(e,t),Hh(e,t,i))},Dy=["IMG","IFRAME","VIDEO","OBJECT"],Ly=e=>Dy.indexOf(e.tagName)>-1,Fh=(e,t)=>{t&&!yy(t)&&!xy(t)&&Xt(e.callback_finish,t)},nc=(e,t,i)=>{e.addEventListener(t,i),e.llEvLisnrs[t]=i},jy=(e,t,i)=>{e.removeEventListener(t,i)},gl=e=>!!e.llEvLisnrs,By=(e,t,i)=>{gl(e)||(e.llEvLisnrs={});const n=e.tagName==="VIDEO"?"loadeddata":"load";nc(e,n,t),nc(e,"error",i)},Zo=e=>{if(!gl(e))return;const t=e.llEvLisnrs;for(let i in t){const n=t[i];jy(e,i,n)}delete e.llEvLisnrs},Qh=(e,t,i)=>{gy(e),pl(i,-1),wy(i),ot(e,t.class_loading),t.unobserve_completed&&Ls(e,i)},Ry=(e,t,i,n)=>{const r=hl(t);Qh(t,i,n),Zi(t,i.class_loaded),xi(t,kh),Xt(i.callback_loaded,t,n),r||Fh(i,n)},_y=(e,t,i,n)=>{const r=hl(t);Qh(t,i,n),Zi(t,i.class_error),xi(t,cl),Xt(i.callback_error,t,n),i.restore_on_error&&fi(t,Dn),r||Fh(i,n)},ml=(e,t,i)=>{const n=Lh(e)||e;if(gl(n))return;By(n,o=>{Ry(o,e,t,i),Zo(n)},o=>{_y(o,e,t,i),Zo(n)})},Oy=(e,t,i)=>{fy(e),ml(e,t,i),Sy(e),Ty(e,t,i),ky(e,t,i),Ny(e,t,i)},Vy=(e,t,i)=>{ml(e,t,i),zy(e,t,i)},vl=(e,t,i)=>{Ly(e)?Vy(e,t,i):Oy(e,t,i)},Uy=(e,t,i)=>{e.setAttribute("loading","lazy"),ml(e,t,i),Py(e,t),xi(e,Ph)},rc=e=>{e.removeAttribute(It),e.removeAttribute(al),e.removeAttribute(ll)},Wy=e=>{fl(e,t=>{rc(t)}),rc(e)},Zh=e=>{fl(e,t=>{fi(t,Dn)}),fi(e,Dn)},Hy=e=>{Rh(e,t=>{fi(t,js)}),fi(e,_h),e.load()},$y=e=>{fi(e,js)},Fy=e=>{fi(e,Oh)},Qy={IMG:Zh,IFRAME:$y,VIDEO:Hy,OBJECT:Fy},Zy=e=>{const t=Qy[e.tagName];if(!t){My(e);return}t(e)},Yy=(e,t)=>{dl(e)||hl(e)||(ot(e,t.class_entered),ot(e,t.class_exited),ot(e,t.class_applied),ot(e,t.class_loading),ot(e,t.class_loaded),ot(e,t.class_error))},Gy=(e,t)=>{Zy(e),Yy(e,t),Ds(e),Uh(e)},Xy=(e,t,i,n)=>{!i.cancel_on_exit||!cy(e)||e.tagName==="IMG"&&(Zo(e),Wy(e),Zh(e),ot(e,i.class_loading),pl(n,-1),Ds(e),Xt(i.callback_cancel,e,t,n))},Jy=(e,t,i,n)=>{const r=py(e);xi(e,ly),Zi(e,i.class_entered),ot(e,i.class_exited),vy(e,i,n),Xt(i.callback_enter,e,t,n),!r&&vl(e,i,n)},Ky=(e,t,i,n)=>{dl(e)||(Zi(e,i.class_exited),Xy(e,t,i,n),Xt(i.callback_exit,e,t,n))},qy=["IMG","IFRAME","VIDEO"],Yh=e=>e.use_native&&"loading"in HTMLImageElement.prototype,e0=(e,t,i)=>{e.forEach(n=>{qy.indexOf(n.tagName)!==-1&&Uy(n,t,i)}),jh(i,0)},t0=e=>e.isIntersecting||e.intersectionRatio>0,i0=e=>({root:e.container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}),n0=(e,t,i)=>{e.forEach(n=>t0(n)?Jy(n.target,n,t,i):Ky(n.target,n,t,i))},r0=(e,t)=>{t.forEach(i=>{e.observe(i)})},s0=(e,t)=>{my(e),r0(e,t)},o0=(e,t)=>{!Mh||Yh(e)||(t._observer=new IntersectionObserver(i=>{n0(i,e,t)},i0(e)))},Gh=e=>Array.prototype.slice.call(e),es=e=>e.container.querySelectorAll(e.elements_selector),a0=e=>Gh(e).filter(dl),l0=e=>dy(e),u0=e=>Gh(e).filter(l0),sc=(e,t)=>a0(e||es(t)),c0=(e,t)=>{u0(es(e)).forEach(n=>{ot(n,e.class_error),Ds(n)}),t.update()},d0=(e,t)=>{!Gt||(t._onlineHandler=()=>{c0(e,t)},window.addEventListener("online",t._onlineHandler))},h0=e=>{!Gt||window.removeEventListener("online",e._onlineHandler)},Kn=function(e,t){const i=Ah(e);this._settings=i,this.loadingCount=0,o0(i,this),d0(i,this),this.update(t)};Kn.prototype={update:function(e){const t=this._settings,i=sc(e,t);if(jh(this,i.length),Ch||!Mh){this.loadAll(i);return}if(Yh(t)){e0(i,t,this);return}s0(this._observer,i)},destroy:function(){this._observer&&this._observer.disconnect(),h0(this),es(this._settings).forEach(e=>{Uh(e)}),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(e){const t=this._settings;sc(e,t).forEach(n=>{Ls(n,this),vl(n,t,this)})},restoreAll:function(){const e=this._settings;es(e).forEach(t=>{Gy(t,e)})}};Kn.load=(e,t)=>{const i=Ah(t);vl(e,i)};Kn.resetStatus=e=>{Ds(e)};Gt&&ay(Kn,window.lazyLoadOptions);class Xh{constructor({readonly:t,box:i,pages:n,onNewPageIndex:r,onPlay:s}){if(this.pageIndex=0,this.namespace="netless-app-docs-viewer",this.isShowPreview=!1,this.isSmallBox=!1,this.sideEffect=new zs,n.length<=0)throw new Error("[DocsViewer] Empty pages.");this.readonly=t,this.box=i,this.pages=n,this.onNewPageIndex=r,this.onPlay=s,this.render()}mount(){this.box.mountContent(this.$content),this.box.mountFooter(this.$footer),this.sideEffect.add(()=>{const t=new Kn({container:this.$preview,elements_selector:`.${this.wrapClassName("preview-page>img")}`});return()=>t.destroy()},"preview-lazyload")}unmount(){this.$content.remove(),this.$footer.remove()}setReadonly(t){this.readonly!==t&&(this.readonly=t,this.$content.classList.toggle(this.wrapClassName("readonly"),t),this.$footer.classList.toggle(this.wrapClassName("readonly"),t),this.$pageNumberInput.disabled=t)}destroy(){this.sideEffect.flushAll(),this.unmount()}setPageIndex(t){Number.isNaN(t)||(this.pageIndex=t,this.$pageNumberInput.value=String(t+1))}setSmallBox(t){this.isSmallBox!==t&&(this.isSmallBox=t,this.$footer.classList.toggle(this.wrapClassName("float-footer"),t))}render(){return this.renderContent(),this.renderFooter(),this.$content}renderContent(){if(!this.$content){const t=document.createElement("div");t.className=this.wrapClassName("content"),this.$content=t,this.readonly&&t.classList.add(this.wrapClassName("readonly")),t.appendChild(this.renderPreviewMask()),t.appendChild(this.renderPreview())}return this.$content}renderPreview(){if(!this.$preview){const t=document.createElement("div");t.className=this.wrapClassName("preview")+" tele-fancy-scrollbar",this.$preview=t;const i=this.wrapClassName("preview-page"),n=this.wrapClassName("preview-page-name");this.pages.forEach((r,s)=>{var o;const a=(o=r.thumbnail)!=null?o:r.src.startsWith("ppt")?void 0:r.src;if(!a)return;const l=String(s),u=document.createElement("a");u.className=i+" "+this.wrapClassName(`preview-page-${s}`),u.setAttribute("href","#"),u.dataset.pageIndex=l;const h=document.createElement("span");h.className=n,h.textContent=String(s+1),h.dataset.pageIndex=l;const c=document.createElement("img");c.width=r.width,c.height=r.height,c.dataset.src=a,c.dataset.pageIndex=l,u.appendChild(c),u.appendChild(h),t.appendChild(u)}),this.sideEffect.addEventListener(t,"click",r=>{var s;if(this.readonly)return;const o=(s=r.target.dataset)==null?void 0:s.pageIndex;o&&(r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),this.onNewPageIndex(Number(o)),this.togglePreview(!1))})}return this.$preview}renderPreviewMask(){return this.$previewMask||(this.$previewMask=document.createElement("div"),this.$previewMask.className=this.wrapClassName("preview-mask"),this.sideEffect.addEventListener(this.$previewMask,"click",t=>{this.readonly||t.target===this.$previewMask&&this.togglePreview(!1)})),this.$previewMask}renderFooter(){if(!this.$footer){const t=document.createElement("div");if(t.className=this.wrapClassName("footer"),this.$footer=t,this.readonly&&t.classList.add(this.wrapClassName("readonly")),this.isSmallBox&&t.classList.add(this.wrapClassName("float-footer")),this.pages.some(l=>l.thumbnail||!l.src.startsWith("ppt"))){const l=this.renderFooterBtn("btn-sidebar",ty(this.namespace));this.sideEffect.addEventListener(l,"click",()=>{this.readonly||this.togglePreview()}),this.$footer.appendChild(l)}const i=document.createElement("div");i.className=this.wrapClassName("page-jumps");const n=this.renderFooterBtn("btn-page-back",iy(this.namespace));if(this.sideEffect.addEventListener(n,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex-1)}),i.appendChild(n),this.onPlay){const l=this.renderFooterBtn("btn-page-play",ry(this.namespace),sy(this.namespace)),u=()=>{this.sideEffect.setTimeout(()=>{l.classList.toggle(this.wrapClassName("footer-btn-playing"),!1)},500,"returnPlay")};this.sideEffect.addEventListener(l,"click",()=>{this.readonly||(l.classList.toggle(this.wrapClassName("footer-btn-playing"),!0),this.onPlay&&this.onPlay(),u())}),i.appendChild(l)}const r=this.renderFooterBtn("btn-page-next",ny(this.namespace));this.sideEffect.addEventListener(r,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex+1)}),i.appendChild(r);const s=document.createElement("div");s.className=this.wrapClassName("page-number");const o=document.createElement("input");o.className=this.wrapClassName("page-number-input"),o.value=String(this.pageIndex+1),this.readonly&&(o.disabled=!0),this.$pageNumberInput=o,this.sideEffect.addEventListener(o,"focus",()=>{o.select()}),this.sideEffect.addEventListener(o,"change",()=>{this.readonly||o.value&&this.onNewPageIndex(Number(o.value)-1)});const a=document.createElement("span");a.textContent=" / "+this.pages.length,s.appendChild(o),s.appendChild(a),this.$footer.appendChild(i),this.$footer.appendChild(s)}return this.$footer}renderFooterBtn(t,i,n){const r=document.createElement("button");return r.className=this.wrapClassName("footer-btn")+" "+this.wrapClassName(t),r.appendChild(i),n&&r.appendChild(n),r}togglePreview(t){if(this.isShowPreview=t!=null?t:!this.isShowPreview,this.$content.classList.toggle(this.wrapClassName("preview-active"),this.isShowPreview),this.isShowPreview){const i=this.$preview.querySelector("."+this.wrapClassName(`preview-page-${this.pageIndex}`));i&&this.$preview.scrollTo({top:i.offsetTop-16})}}wrapClassName(t){return`${this.namespace}-${t}`}}function Oi(e,t,i){return Math.min(Math.max(e,t),i)}function oc(e){return e.touches?e.touches[0]:e}function Jh(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function Kh(e){if(!e)return!1;const t=e.tagName;return t==="INPUT"||t==="TEXTAREA"||t==="SELECT"}class p0{constructor(t){var i,n,r;this.velocity=0,this.paused=!0,this._animationFrameID=null,this._loopTimestamp=0,this.looper=s=>{if(this.paused)return;let o=Math.floor((s-this._loopTimestamp)/1e3*60)+1;for(this._loopTimestamp=s;o-- >0;)this.stepper();this.onStep(this.current,this),!this.paused&&this.current!==this.target&&window.requestAnimationFrame(this.looper)},this.current=(i=t.start)!=null?i:0,this.target=this.current,this.stiffness=(n=t.stiffness)!=null?n:170,this.damping=(r=t.damping)!=null?r:26,this.onStep=t.onStep}stepTo(t,i){this.paused&&i!=null&&(this.current=i),this.paused=!1,this.target=t,this.onStep(this.current,this),this._loopTimestamp=Date.now(),window.requestAnimationFrame(this.looper)}pause(){this.paused=!0}destroy(){this.pause()}stepper(){const t=-this.stiffness*(this.current-this.target),i=-this.damping*this.velocity,n=this.velocity+(t+i)/60,r=this.current+n/60;Math.abs(n-0)<.01&&Math.abs(r-this.target)<.01?(this.current=this.target,this.velocity=0):(this.current=r,this.velocity=n)}}class f0{constructor(t,i,n,r){this.scale=1,this.lastVisit=Date.now(),this.pageOffsetY=0,this.pageOffsetX=0,this.visible=!0,this.index=t,this.page=i,this.scale=n,this.pageOffsetX=(r-i.width)/2;const s=document.createElement("div");s.className="page-renderer-page",s.dataset.index=`${t}`,s.style.width=`${i.width*n}px`,s.style.height=`${i.height*n}px`,i.thumbnail&&(s.style.backgroundImage=`url("${i.thumbnail}")`);const o=document.createElement("img");o.className="page-renderer-page-img",o.width=i.width,o.height=i.height,o.src=i.src,s.appendChild(o),this.$page=s}translateY(t){Math.abs(t-this.pageOffsetY)>=.001&&(this.pageOffsetY=t,this.$page.style.transform=`translate(${this.pageOffsetX*this.scale}px, ${this.pageOffsetY*this.scale}px)`)}setScale(t){Math.abs(t-this.scale)>=.001&&(this.scale=t,this.$page.style.width=`${this.page.width*this.scale}px`,this.$page.style.height=`${this.page.height*this.scale}px`,this.$page.style.transform=`translate(${this.pageOffsetX*this.scale}px, ${this.pageOffsetY*this.scale}px)`)}setVisible(t){t!==this.visible&&(this.visible=t,this.$page.style.opacity=t?"1":"0")}}const g0=window.requestIdleCallback||(e=>window.setTimeout(e,5e3)),m0=window.cancelIdleCallback||window.clearTimeout;class v0{constructor(t,i,n){this.pages=t,this.pagesIntrinsicWidth=i,this.scale=n,this.els=new Map,this.maxElCount=200,this.gcTimer=null,this.gc=()=>{if(this.gcTimer=null,this.els.size>this.maxElCount){const r=[...this.els.values()].sort((s,o)=>o.lastVisit-s.lastVisit);for(let s=Math.floor(this.maxElCount/4);s<r.length;s++)this.els.delete(r[s].index)}}}getEl(t){let i=this.els.get(t);return i||(i=new f0(t,this.pages[t],this.scale,this.pagesIntrinsicWidth),this.els.set(t,i)),i.lastVisit=Date.now(),this.els.size>this.maxElCount&&this.gcTimer===null&&(this.gcTimer=g0(this.gc)),i}setScale(t){t!==this.scale&&(this.scale=t,this.els.forEach(i=>i.setScale(t)))}destroy(){this.els.clear(),this.gcTimer!==null&&(m0(this.gcTimer),this.gcTimer=null)}}class w0{constructor(t){this._hwaTimeout=NaN,this._turnOffHWA=()=>{window.clearTimeout(this._hwaTimeout),this._hwaTimeout=NaN,this.$pages.classList.toggle("is-hwa",!1)},this.pagesScrollTop=t.pagesScrollTop||0,this.containerWidth=t.containerWidth||1,this.containerHeight=t.containerHeight||1,this.pages=t.pages.map(s=>{if(s.thumbnail)return s;try{const o=new URL(s.src);return o.searchParams.set("x-oss-process","image/resize,l_50"),fh(ph({},s),{thumbnail:o.toString()})}catch(o){return console.error(o),s}});const i=Array(this.pages.length);let n=1/0,r=0;this.pagesIntrinsicHeight=this.pages.reduce((s,o,a)=>(i[a]=s,o.width>r&&(r=o.width),o.height<=n&&(n=o.height),s+o.height),0),this.pagesIntrinsicWidth=r,this.pagesMinHeight=n,this.pagesIntrinsicYs=i,this.scale=this._calcScale(),this.threshold=this._calcThreshold(),this.onPageIndexChanged=t.onPageIndexChanged,this.pageScrollIndex=0,this.pagesScrollTop!==0&&(this.pageScrollIndex=this.findScrollPageIndex(),this.onPageIndexChanged&&this.pageScrollIndex>0&&this.onPageIndexChanged(this.pageScrollIndex)),this.pageElManager=new v0(this.pages,r,this.scale),this.$pages=this.renderPages()}setContainerSize(t,i){t>0&&i>0&&(t!==this.containerWidth||i!==this.containerHeight)&&(this.containerWidth=t,this.containerHeight=i,this.$pages.style.width=`${this.containerWidth}px`,this.$pages.style.height=`${this.containerHeight}px`,this.scale=this._calcScale(),this.threshold=this._calcThreshold(),this.pageElManager.setScale(this.scale),this.$pages.parentElement&&this.pagesScrollTo(this.pagesScrollTop,!0))}renderPages(){const t=document.createElement("div");return t.className="page-renderer-pages-container",t.style.width=`${this.containerWidth}px`,t.style.height=`${this.containerHeight}px`,t}pagesScrollTo(t,i){if(t=Oi(t,0,this.pagesIntrinsicHeight-this.containerHeight/this.scale),i||Math.abs(t-this.pagesScrollTop)>=.001){this._turnOnHWA(),this.pagesScrollTop=t;const n=this.findScrollPageIndex(),r=Math.max(n-this.threshold,0),s=Math.min(n+this.threshold,this.pages.length-1);for(let o=0;o<this.$pages.children.length;o++){const a=this.$pages.children[o],l=Number(a.dataset.index);l>=r&&l<=s||(a.remove(),o--)}for(let o=r;o<=s;o++){const a=this.pageElManager.getEl(o);a.$page.parentElement!==this.$pages&&this.$pages.appendChild(a.$page),a.translateY(this.pagesIntrinsicYs[o]-this.pagesScrollTop)}n!==this.pageScrollIndex&&(this.pageScrollIndex=n,this.onPageIndexChanged&&this.onPageIndexChanged(n))}}findScrollPageIndex(){for(let t=0;t<this.pagesIntrinsicYs.length;t++)if(this.pagesIntrinsicYs[t]+this.pages[t].height-this.pagesScrollTop>=.001)return t;return this.pagesIntrinsicYs.length-1}mount(t){t.appendChild(this.$pages),this.pagesScrollTo(this.pagesScrollTop,!0)}unmount(){this.$pages.remove()}destroy(){this.unmount(),this.onPageIndexChanged=void 0,this.pageElManager.destroy(),this._hwaTimeout&&(window.clearTimeout(this._hwaTimeout),this._hwaTimeout=NaN)}_calcScale(){return this.containerWidth/this.pagesIntrinsicWidth||1}_calcThreshold(){return Oi(Math.ceil(this.containerHeight/this.scale/this.pagesMinHeight/2),1,this.pages.length)}_turnOnHWA(){this._hwaTimeout?window.clearTimeout(this._hwaTimeout):this.$pages.classList.toggle("is-hwa",!0),this._hwaTimeout=window.setTimeout(this._turnOffHWA,1e3)}}const y0=30;class x0{constructor(t){this.sideEffect=new zs,this.pagesScrollTop=t.pagesScrollTop||0,this.containerWidth=t.containerWidth||1,this.containerHeight=t.containerHeight||1,this.pagesWidth=t.pagesWidth||1,this.pagesHeight=t.pagesHeight||1,this.scale=this._calcScale(),this.scrollbarMinHeight=t.scrollbarMinHeight||y0,this.scrollbarHeight=this._calcScrollbarHeight(),this.readonly=t.readonly,this.wrapClassName=t.wrapClassName,this.onDragScroll=t.onDragScroll,this.$scrollbar=this.renderScrollbar()}mount(t){t.appendChild(this.$scrollbar),this.pagesScrollTo(this.pagesScrollTop,!0)}unmount(){this.$scrollbar.remove()}setReadonly(t){this.readonly=t}setContainerSize(t,i){t>0&&i>0&&(t!==this.containerWidth||i!==this.containerHeight)&&(this.containerWidth=t,this.containerHeight=i,this.scale=this._calcScale(),this._updateScrollbarHeight(),this.$scrollbar.parentElement&&this.pagesScrollTo(this.pagesScrollTop,!0))}pagesScrollTo(t,i){if(t=Oi(t,0,this.pagesHeight-this.containerHeight/this.scale),i||Math.abs(t-this.pagesScrollTop)>=.001){this.pagesScrollTop=t;const n=this.pagesScrollTop*this.scale,r=this.pagesHeight*this.scale,s=n/(r-this.containerHeight)*(this.containerHeight-this.scrollbarHeight);window.requestAnimationFrame?window.requestAnimationFrame(()=>{this.$scrollbar.style.transform=`translateY(${s}px)`}):this.$scrollbar.style.transform=`translateY(${s}px)`}}destroy(){this.unmount(),this.onDragScroll=void 0,this.sideEffect.flushAll()}renderScrollbar(){const t=document.createElement("button");t.className=this.wrapClassName("scrollbar"),t.style.minHeight=`${this.scrollbarMinHeight}px`,t.style.height=`${this.scrollbarHeight}px`;const i=n=>{if(this.readonly||n.button!=null&&n.button!==0)return;Jh(n);const r=this.wrapClassName("scrollbar-dragging");t.classList.toggle(r,!0);const s=this.pagesScrollTop,{clientY:o}=oc(n),a=u=>{if(this.readonly)return;const{clientY:h}=oc(u),c=(h-o)/this.scale;Math.abs(c)>0&&this.onDragScroll&&this.onDragScroll(s+c*(this.pagesHeight*this.scale/this.containerHeight))},l=()=>{t.classList.toggle(r,!1),window.removeEventListener("mousemove",a,!0),window.removeEventListener("touchmove",a,!0),window.removeEventListener("mouseup",l,!0),window.removeEventListener("touchend",l,!0),window.removeEventListener("touchcancel",l,!0)};window.addEventListener("mousemove",a,!0),window.addEventListener("touchmove",a,!0),window.addEventListener("mouseup",l,!0),window.addEventListener("touchend",l,!0),window.addEventListener("touchcancel",l,!0)};return this.sideEffect.addEventListener(t,"mousedown",i),this.sideEffect.addEventListener(t,"touchstart",i),t}_calcScale(){return this.containerWidth/this.pagesWidth||1}_calcScrollbarHeight(){return Oi(this.containerHeight/(this.pagesHeight*this.scale)*this.containerHeight,this.scrollbarMinHeight,this.containerHeight)}_updateScrollbarHeight(){const t=this._calcScrollbarHeight();Math.abs(t-this.scrollbarHeight)>.001&&(this.scrollbarHeight=t,this.$scrollbar.style.height=`${t}px`)}}const S0=window.ResizeObserver||ey,Ki=640;class C0{constructor({whiteboardView:t,readonly:i,box:n,pages:r,pageScrollTop:s=0,mountWhiteboard:o,onUserScroll:a,baseScenePath:l,appId:u}){this.sideEffect=new zs,this.userScrolling=!1,this.onNewPageIndex=v=>{this.scrollToPage(v)},this.toPdf=async()=>{const v=document.createElement("canvas"),y=v.getContext("2d");if(!y||!this.baseScenePath){this.reportProgress(100,null);return}const S=`${this.baseScenePath}/1`,d=this.pages[0],{jsPDF:p}=await Promise.resolve().then(function(){return mg(require("jspdf"))}),f=new p({format:[d.width,d.height],orientation:d.width>d.height?"l":"p",compress:!0});for(const[w,x]of this.pages.entries()){const{width:b,height:T,src:L}=x;v.width=b,v.height=T;const k=b>T?"l":"p";w>0&&f.addPage([b,T],k);const j=await this.getBase64FromUrl(L),M=document.createElement("img");M.src=j,await new Promise(Q=>M.onload=Q),y.drawImage(M,0,0);const R=v.toDataURL("image/jpeg",.6);y.clearRect(0,0,b,T),this.whiteboardView.screenshotToCanvas(y,S,b,T,{centerX:b/2,centerY:T/2+w*T,scale:1});const P=v.toDataURL("image/png");f.addImage(R,"JPEG",0,0,b,T,"","FAST"),f.addImage(P,"PNG",0,0,b,T,"","FAST"),y.clearRect(0,0,b,T),Math.ceil((w+1)/this.pages.length*100)<100&&this.reportProgress(Math.ceil((w+1)/this.pages.length*100),null)}const g=f.output("arraybuffer");this.reportProgress(100,{pdf:g,title:this.box.title})},this.whiteboardView=t,this.readonly=i,this.box=n,this.pages=r,this.baseScenePath=l,this.appId=u,this.mountWhiteboard=o,this._onUserScroll=a;const h=this.debounce(()=>{this.userScrolling=!1,this._onUserScroll&&this._onUserScroll(this.pageRenderer.pagesScrollTop)},{wait:80},"debounce-updateUserScroll");this.updateUserScroll=()=>{this.userScrolling=!0,h()},this.viewer=new Xh({readonly:i,box:n,pages:r,onNewPageIndex:this.onNewPageIndex});const{width:c,height:m}=this.whiteboardView.size;this.pageRenderer=new w0({pagesScrollTop:s,pages:this.pages,containerWidth:c,containerHeight:m,onPageIndexChanged:this.viewer.setPageIndex.bind(this.viewer)}),this.scrollbar=new x0({pagesScrollTop:this.pageRenderer.pagesScrollTop,containerWidth:c,containerHeight:m,pagesWidth:this.pageRenderer.pagesIntrinsicWidth,pagesHeight:this.pageRenderer.pagesIntrinsicHeight,readonly:this.readonly,wrapClassName:this.wrapClassName.bind(this),onDragScroll:v=>{this.pageScrollTo(v),this.updateUserScroll()}}),this.pageScrollStepper=new p0({start:this.pageRenderer.pagesScrollTop,onStep:v=>{this.pageScrollTo(v)}}),this.render()}mount(){this.viewer.mount(),this.setupScrollListener();const t=this.debounce(this.renderRatioHeight.bind(this),{wait:80});return this.sideEffect.add(()=>{const i=new S0(t);return i.observe(this.viewer.$content),()=>i.disconnect()}),this.sideEffect.setTimeout(()=>{this.userScrolling||this.pageScrollTo(this.pageRenderer.pagesScrollTop)},100),this.sideEffect.add(()=>{const i=n=>{n.data.type==="@netless/_request_save_pdf_"&&n.data.appId===this.appId&&this.toPdf().catch(()=>this.reportProgress(100,null))};return window.addEventListener("message",i),()=>{window.removeEventListener("message",i)}}),this}unmount(){return this.viewer.unmount(),this}setReadonly(t){this.readonly!==t&&(this.readonly=t,this.viewer.setReadonly(t),this.scrollbar.setReadonly(t))}destroy(){this.sideEffect.flushAll(),this.pageScrollStepper.destroy(),this._onUserScroll=void 0,this.unmount(),this.viewer.destroy(),this.pageRenderer.destroy(),this.scrollbar.destroy()}syncPageScrollTop(t){!this.userScrolling&&t>=0&&Math.abs(this.pageRenderer.pagesScrollTop-t)>.01&&this.pageScrollStepper.stepTo(t,this.pageRenderer.pagesScrollTop)}render(){this.pageRenderer.mount(this.viewer.$content),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.scrollbar.mount(this.viewer.$content),this.renderRatioHeight()}renderRatioHeight(){const t=this.box.absoluteHeight,i=t<=Ki;if(this.viewer.setSmallBox(i),i){const n=26/Ki,r=26/t,s=26/Ki,o=0,a=Math.max((n+s-(r+o))/2,0);if(this.box.$titleBar){const l=r+a;this.box.$titleBar.style.height=`${l*100}%`}if(this.box.$footer){const l=o+a;this.box.$footer.style.height=`${l*100}%`}}else{if(this.box.$titleBar){const n=Math.max(26/Ki,26/t);this.box.$titleBar.style.height=`${n*100}%`}if(this.box.$footer){const n=Math.max(26/Ki,26/t);this.box.$footer.style.height=`${n*100}%`}}}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view"),this.mountWhiteboard(this.$whiteboardView),this.sideEffect.addEventListener(this.$whiteboardView,"wheel",t=>{Jh(t),this.readonly||(this.pageScrollTo(this.pageRenderer.pagesScrollTop+t.deltaY),this.updateUserScroll())},{passive:!1,capture:!0}),this.sideEffect.addEventListener(this.$whiteboardView,"touchmove",t=>{this.readonly||t.touches.length<=1||this.updateUserScroll()},{passive:!0,capture:!0})),this.$whiteboardView}scrollTopPageToEl(t){return t*this.pageRenderer.scale}scrollTopElToPage(t){return t/this.pageRenderer.scale}elScrollTo(t){this.pageScrollTo(this.scrollTopElToPage(t))}pageScrollTo(t){const i=this.scrollTopElToPage(this.whiteboardView.size.height/2);this.whiteboardView.moveCamera({centerY:Oi(t+i,i,this.pageRenderer.pagesIntrinsicHeight-i),animationMode:"immediately"})}scrollToPage(t){if(!this.readonly&&!Number.isNaN(t)){const i=this.pageRenderer.pagesIntrinsicYs[t];i>=0&&(this.pageScrollTo(i+5/this.pageRenderer.scale),this.updateUserScroll())}}setupScrollListener(){this.sideEffect.add(()=>{const t=i=>{const{width:n,height:r}=this.whiteboardView.size;if(n<=0||r<=0)return;const s=i.centerY-this.pageRenderer.containerHeight/this.pageRenderer.scale/2;this.pageRenderer.pagesScrollTo(s),this.scrollbar.pagesScrollTo(s)};return this.whiteboardView.callbacks.on("onCameraUpdated",t),()=>this.whiteboardView.callbacks.off("onCameraUpdated",t)}),this.sideEffect.add(()=>{const t=({width:i,height:n})=>{if(i<=0||n<=0)return;this.pageRenderer.setContainerSize(i,n),this.scrollbar.setContainerSize(i,n);const{pagesIntrinsicWidth:r,pagesIntrinsicHeight:s}=this.pageRenderer;this.whiteboardView.moveCameraToContain({originX:0,originY:this.pageRenderer.pagesScrollTop,width:r,height:n/this.pageRenderer.scale,animationMode:"immediately"}),this.whiteboardView.setCameraBound({damping:1,maxContentMode:()=>this.pageRenderer.scale,minContentMode:()=>this.pageRenderer.scale,centerX:r/2,centerY:s/2,width:r,height:s})};return this.whiteboardView.callbacks.on("onSizeUpdated",t),()=>{this.whiteboardView.callbacks.off("onSizeUpdated",t)}},"whiteboard-size-update"),this.sideEffect.addEventListener(window,"keyup",t=>{if(this.readonly||!this.box.focus||this.box.minimized||Kh(t.target))return;let i=null;switch(t.key){case"PageDown":{i=this.pageRenderer.pagesScrollTop+this.pageRenderer.containerHeight/this.pageRenderer.scale;break}case"PageUp":{i=this.pageRenderer.pagesScrollTop-this.pageRenderer.containerHeight/this.pageRenderer.scale;break}case"ArrowDown":{i=this.pageRenderer.pagesScrollTop+this.pageRenderer.containerHeight/4/this.pageRenderer.scale;break}case"ArrowUp":{i=this.pageRenderer.pagesScrollTop-this.pageRenderer.containerHeight/4/this.pageRenderer.scale;break}}i!==null&&(this._onUserScroll?this._onUserScroll(i):(this.pageScrollTo(i),this.updateUserScroll()))},{capture:!0})}debounce(t,i,n){const r=Pw(t,i);return this.sideEffect.addDisposer(()=>r.cancel(),n),r}wrapClassName(t){return"netless-app-docs-viewer-static-"+t}async getBase64FromUrl(t){const n=await(await fetch(this._invalidate(t))).blob();return new Promise(r=>{const s=new FileReader;s.readAsDataURL(n),s.onloadend=()=>{const o=s.result;r(o)}})}_invalidate(t){try{const i=new URL(t);return i.searchParams.set("t",Date.now().toString()),i.toString()}catch{return t}}reportProgress(t,i){window.postMessage({type:"@netless/_result_save_pdf_",appId:this.appId,progress:t,result:i})}}class M0{constructor({context:t,whiteboardView:i,box:n,pages:r}){this.sideEffect=new zs,this.onPlayPPT=()=>{const s=this.context.getRoom();s&&s.pptNextStep()},this._scaleDocsToFitImpl=()=>{const s=this.pages[this.getPageIndex()];s&&(this.whiteboardView.moveCameraToContain({originX:-s.width/2,originY:-s.height/2,width:s.width,height:s.height,animationMode:"immediately"}),this.whiteboardView.setCameraBound({damping:1,maxContentMode:()=>this.whiteboardView.camera.scale,minContentMode:()=>this.whiteboardView.camera.scale,centerX:0,centerY:0,width:s.width,height:s.height}))},this._scaleDocsToFitDebounced=()=>{this.sideEffect.setTimeout(this._scaleDocsToFitImpl,1e3,"_scaleDocsToFitDebounced")},this.scaleDocsToFit=()=>{this._scaleDocsToFitImpl(),this._scaleDocsToFitDebounced()},this.onNewPageIndex=s=>{this.jumpToPage(s,!0)},this.context=t,this.whiteboardView=i,this.box=n,this.pages=r,this.displayer=t.getDisplayer(),this.viewer=new Xh({readonly:!t.getIsWritable(),box:n,pages:r,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlayPPT}),this.render(),this.sideEffect.add(()=>{const s=o=>{this.viewer.setReadonly(!o)};return this.context.emitter.on("writableChange",s),()=>this.context.emitter.off("writableChange",s)}),this.sideEffect.add(()=>{const s=o=>{this.jumpToPage(o.index)};return this.context.emitter.on("sceneStateChange",s),()=>this.context.emitter.off("sceneStateChange",s)})}mount(){this.viewer.mount();const t=this.getPageIndex();return t!==0&&this.jumpToPage(t),this.scaleDocsToFit(),this.sideEffect.add(()=>(this.whiteboardView.callbacks.on("onSizeUpdated",this.scaleDocsToFit),()=>{this.whiteboardView.callbacks.off("onSizeUpdated",this.scaleDocsToFit)})),this}unmount(){return this.viewer.unmount(),this}destroy(){this.sideEffect.flushAll(),this.unmount(),this.viewer.destroy()}getPageIndex(){return this.displayer.state.sceneState.index}jumpToPage(t,i){var n,r;if(t=Oi(t,0,this.pages.length-1),t!==this.getPageIndex()&&this.context.getIsWritable()){const s=this.context.getInitScenePath(),o=(r=(n=this.context.getScenes())==null?void 0:n[t])==null?void 0:r.name;s&&o&&this.context.setScenePath(`${s}/${o}`),this.scaleDocsToFit()}if(t!==this.viewer.pageIndex&&this.viewer.setPageIndex(t),i){const s=this.context.getRoom();if(s){const o=s.state.globalState.__pptState;s.setGlobalState({__pptState:o&&{uuid:o.uuid,pageIndex:t,disableAutoPlay:o.disableAutoPlay}})}}}render(){this.viewer.$content.appendChild(this.renderMask()),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.sideEffect.addEventListener(window,"keydown",t=>{var i;if(this.box.focus&&!Kh(t.target))switch(t.key){case"ArrowUp":case"ArrowLeft":{this.jumpToPage(this.getPageIndex()-1,!0);break}case"ArrowRight":case"ArrowDown":{(i=this.context.getRoom())==null||i.pptNextStep();break}}})}renderMask(){if(!this.$mask){const t=document.createElement("div");t.className=this.wrapClassName("mask"),this.$mask=t;const i=document.createElement("button");i.className=this.wrapClassName("back");const n=document.createElement("button");n.className=this.wrapClassName("next")}return this.$mask}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view"),this.sideEffect.addEventListener(this.$whiteboardView,"click",t=>{var i;const n=this.context.getRoom();if(n&&n.state.memberState.currentApplianceName==="clicker"){for(let r=t.target;r;r=r.parentElement)if((i=r.classList)!=null&&i.contains("ppt-event-source"))return;n.pptNextStep()}}),this.context.mountView(this.$whiteboardView)),this.$whiteboardView}wrapClassName(t){return"netless-app-docs-viewer-dynamic-"+t}}const I0="DocsViewer",Yo={kind:I0,setup(e){const t=e.getBox(),i=e.getScenes();if(!i)throw new Error("[Docs Viewer]: scenes not found.");const n=e.getView();if(!n)throw new Error("[Docs Viewer]: no whiteboard view.");const r=i.map(({ppt:s})=>s?{width:s.width,height:s.height,src:s.src,thumbnail:s.previewURL}:null).filter(s=>Boolean(s));if(r.length<=0)throw new Error("[Docs Viewer]: empty scenes.");t.mountStyles(Cw),r[0].src.startsWith("ppt")?A0(e,n,t,r):b0(e,n,t,r)}};function b0(e,t,i,n){var r;t.disableCameraTransform=!e.getIsWritable();const s=new C0({whiteboardView:t,readonly:!e.getIsWritable(),box:i,pages:n,pageScrollTop:(r=e.getAttributes())==null?void 0:r.pageScrollTop,mountWhiteboard:e.mountView.bind(e),onUserScroll:o=>{var a;((a=e.getAttributes())==null?void 0:a.pageScrollTop)!==o&&!i.readonly&&e.updateAttributes(["pageScrollTop"],o)},baseScenePath:e.getInitScenePath(),appId:e.appId}).mount();e.emitter.on("attributesUpdate",o=>{o&&o.pageScrollTop!=null&&s.syncPageScrollTop(o.pageScrollTop)}),e.emitter.on("writableChange",o=>{s.setReadonly(!o),t.disableCameraTransform=!o})}function A0(e,t,i,n){t.disableCameraTransform=!0;const r=new M0({context:e,whiteboardView:t,box:i,pages:n}).mount();e.mountView(r.$whiteboardView),e.isAddApp&&t.callbacks.once("onSizeUpdated",({width:s,height:o})=>{if(n.length>0&&i.state!=="maximized"){const{width:a,height:l}=n[0],h=l/a*s-o;h!==0&&e.getIsWritable()&&e.emitter.emit("setBoxSize",{width:i.width,height:i.height+h/i.containerRect.height})}})}var qh={exports:{}},Fe={},ep={exports:{}},tp={};/** @license React v0.19.1
42
42
  * scheduler.production.min.js
43
43
  *
44
44
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -56,5 +56,5 @@ ${t}`,Ew=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Tw=Objec
56
56
  in `+(n||"Unknown")+s}t+=i,e=e.return}while(e);return t}function Qt(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function mp(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function _0(e){var t=mp(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof i!="undefined"&&typeof i.get=="function"&&typeof i.set=="function"){var r=i.get,s=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){n=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return n},setValue:function(o){n=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function wr(e){e._valueTracker||(e._valueTracker=_0(e))}function vp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),n="";return e&&(n=mp(e)?e.checked?"true":"false":e.value),e=n,e!==i?(t.setValue(e),!0):!1}function qo(e,t){var i=t.checked;return Se({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i!=null?i:e._wrapperState.initialChecked})}function fc(e,t){var i=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;i=Qt(t.value!=null?t.value:i),e._wrapperState={initialChecked:n,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function wp(e,t){t=t.checked,t!=null&&bl(e,"checked",t,!1)}function ea(e,t){wp(e,t);var i=Qt(t.value),n=t.type;if(i!=null)n==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ta(e,t.type,i):t.hasOwnProperty("defaultValue")&&ta(e,t.type,Qt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function gc(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function ta(e,t,i){(t!=="number"||e.ownerDocument.activeElement!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}function O0(e){var t="";return Rs.Children.forEach(e,function(i){i!=null&&(t+=i)}),t}function ia(e,t){return e=Se({children:void 0},t),(t=O0(t.children))&&(e.children=t),e}function Di(e,t,i,n){if(e=e.options,t){t={};for(var r=0;r<i.length;r++)t["$"+i[r]]=!0;for(i=0;i<e.length;i++)r=t.hasOwnProperty("$"+e[i].value),e[i].selected!==r&&(e[i].selected=r),r&&n&&(e[i].defaultSelected=!0)}else{for(i=""+Qt(i),t=null,r=0;r<e.length;r++){if(e[r].value===i){e[r].selected=!0,n&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function na(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(C(91));return Se({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function mc(e,t){var i=t.value;if(i==null){if(i=t.children,t=t.defaultValue,i!=null){if(t!=null)throw Error(C(92));if(Array.isArray(i)){if(!(1>=i.length))throw Error(C(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:Qt(i)}}function yp(e,t){var i=Qt(t.value),n=Qt(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),n!=null&&(e.defaultValue=""+n)}function vc(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}var xp={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function Sp(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 ra(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Sp(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var yr,Cp=function(e){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(t,i,n,r){MSApp.execUnsafeLocalFunction(function(){return e(t,i,n,r)})}:e}(function(e,t){if(e.namespaceURI!==xp.svg||"innerHTML"in e)e.innerHTML=t;else{for(yr=yr||document.createElement("div"),yr.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=yr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ln(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}function xr(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var Ii={animationend:xr("Animation","AnimationEnd"),animationiteration:xr("Animation","AnimationIteration"),animationstart:xr("Animation","AnimationStart"),transitionend:xr("Transition","TransitionEnd")},fo={},Mp={};Jt&&(Mp=document.createElement("div").style,"AnimationEvent"in window||(delete Ii.animationend.animation,delete Ii.animationiteration.animation,delete Ii.animationstart.animation),"TransitionEvent"in window||delete Ii.transitionend.transition);function _s(e){if(fo[e])return fo[e];if(!Ii[e])return e;var t=Ii[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in Mp)return fo[e]=t[i];return e}var Ip=_s("animationend"),bp=_s("animationiteration"),Ap=_s("animationstart"),Ep=_s("transitionend"),dn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),wc=new(typeof WeakMap=="function"?WeakMap:Map);function kl(e){var t=wc.get(e);return t===void 0&&(t=new Map,wc.set(e,t)),t}function Si(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.effectTag&1026)!==0&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function Tp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function yc(e){if(Si(e)!==e)throw Error(C(188))}function V0(e){var t=e.alternate;if(!t){if(t=Si(e),t===null)throw Error(C(188));return t!==e?null:e}for(var i=e,n=t;;){var r=i.return;if(r===null)break;var s=r.alternate;if(s===null){if(n=r.return,n!==null){i=n;continue}break}if(r.child===s.child){for(s=r.child;s;){if(s===i)return yc(r),e;if(s===n)return yc(r),t;s=s.sibling}throw Error(C(188))}if(i.return!==n.return)i=r,n=s;else{for(var o=!1,a=r.child;a;){if(a===i){o=!0,i=r,n=s;break}if(a===n){o=!0,n=r,i=s;break}a=a.sibling}if(!o){for(a=s.child;a;){if(a===i){o=!0,i=s,n=r;break}if(a===n){o=!0,n=s,i=r;break}a=a.sibling}if(!o)throw Error(C(189))}}if(i.alternate!==n)throw Error(C(190))}if(i.tag!==3)throw Error(C(188));return i.stateNode.current===i?e:t}function kp(e){if(e=V0(e),!e)return null;for(var t=e;;){if(t.tag===5||t.tag===6)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 Ui(e,t){if(t==null)throw Error(C(30));return e==null?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function Nl(e,t,i){Array.isArray(e)?e.forEach(t,i):e&&t.call(i,e)}var en=null;function U0(e){if(e){var t=e._dispatchListeners,i=e._dispatchInstances;if(Array.isArray(t))for(var n=0;n<t.length&&!e.isPropagationStopped();n++)ac(e,t[n],i[n]);else t&&ac(e,t,i);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function Os(e){if(e!==null&&(en=Ui(en,e)),e=en,en=null,e){if(Nl(e,U0),en)throw Error(C(95));if(is)throw e=Go,is=!1,Go=null,e}}function Pl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}function Np(e){if(!Jt)return!1;e="on"+e;var t=e in document;return t||(t=document.createElement("div"),t.setAttribute(e,"return;"),t=typeof t[e]=="function"),t}var ss=[];function Pp(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>ss.length&&ss.push(e)}function zp(e,t,i,n){if(ss.length){var r=ss.pop();return r.topLevelType=e,r.eventSystemFlags=n,r.nativeEvent=t,r.targetInst=i,r}return{topLevelType:e,eventSystemFlags:n,nativeEvent:t,targetInst:i,ancestors:[]}}function Dp(e){var t=e.targetInst,i=t;do{if(!i){e.ancestors.push(i);break}var n=i;if(n.tag===3)n=n.stateNode.containerInfo;else{for(;n.return;)n=n.return;n=n.tag!==3?null:n.stateNode.containerInfo}if(!n)break;t=i.tag,t!==5&&t!==6||e.ancestors.push(i),i=er(n)}while(i);for(i=0;i<e.ancestors.length;i++){t=e.ancestors[i];var r=Pl(e.nativeEvent);n=e.topLevelType;var s=e.nativeEvent,o=e.eventSystemFlags;i===0&&(o|=64);for(var a=null,l=0;l<rs.length;l++){var u=rs[l];u&&(u=u.extractEvents(n,t,s,r,o))&&(a=Ui(a,u))}Os(a)}}function sa(e,t,i){if(!i.has(e)){switch(e){case"scroll":hn(t,"scroll",!0);break;case"focus":case"blur":hn(t,"focus",!0),hn(t,"blur",!0),i.set("blur",null),i.set("focus",null);break;case"cancel":case"close":Np(e)&&hn(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:dn.indexOf(e)===-1&&ee(e,t)}i.set(e,null)}}var Lp,zl,jp,oa=!1,at=[],Ot=null,Vt=null,Ut=null,jn=new Map,Bn=new Map,tn=[],aa="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),W0="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function H0(e,t){var i=kl(t);aa.forEach(function(n){sa(n,t,i)}),W0.forEach(function(n){sa(n,t,i)})}function la(e,t,i,n,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:i|32,nativeEvent:r,container:n}}function xc(e,t){switch(e){case"focus":case"blur":Ot=null;break;case"dragenter":case"dragleave":Vt=null;break;case"mouseover":case"mouseout":Ut=null;break;case"pointerover":case"pointerout":jn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Bn.delete(t.pointerId)}}function nn(e,t,i,n,r,s){return e===null||e.nativeEvent!==s?(e=la(t,i,n,r,s),t!==null&&(t=tr(t),t!==null&&zl(t)),e):(e.eventSystemFlags|=n,e)}function $0(e,t,i,n,r){switch(t){case"focus":return Ot=nn(Ot,e,t,i,n,r),!0;case"dragenter":return Vt=nn(Vt,e,t,i,n,r),!0;case"mouseover":return Ut=nn(Ut,e,t,i,n,r),!0;case"pointerover":var s=r.pointerId;return jn.set(s,nn(jn.get(s)||null,e,t,i,n,r)),!0;case"gotpointercapture":return s=r.pointerId,Bn.set(s,nn(Bn.get(s)||null,e,t,i,n,r)),!0}return!1}function F0(e){var t=er(e.target);if(t!==null){var i=Si(t);if(i!==null){if(t=i.tag,t===13){if(t=Tp(i),t!==null){e.blockedOn=t,fe.unstable_runWithPriority(e.priority,function(){jp(i)});return}}else if(t===3&&i.stateNode.hydrate){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Br(e){if(e.blockedOn!==null)return!1;var t=jl(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(t!==null){var i=tr(t);return i!==null&&zl(i),e.blockedOn=t,!1}return!0}function Sc(e,t,i){Br(e)&&i.delete(t)}function Q0(){for(oa=!1;0<at.length;){var e=at[0];if(e.blockedOn!==null){e=tr(e.blockedOn),e!==null&&Lp(e);break}var t=jl(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);t!==null?e.blockedOn=t:at.shift()}Ot!==null&&Br(Ot)&&(Ot=null),Vt!==null&&Br(Vt)&&(Vt=null),Ut!==null&&Br(Ut)&&(Ut=null),jn.forEach(Sc),Bn.forEach(Sc)}function rn(e,t){e.blockedOn===t&&(e.blockedOn=null,oa||(oa=!0,fe.unstable_scheduleCallback(fe.unstable_NormalPriority,Q0)))}function Bp(e){function t(r){return rn(r,e)}if(0<at.length){rn(at[0],e);for(var i=1;i<at.length;i++){var n=at[i];n.blockedOn===e&&(n.blockedOn=null)}}for(Ot!==null&&rn(Ot,e),Vt!==null&&rn(Vt,e),Ut!==null&&rn(Ut,e),jn.forEach(t),Bn.forEach(t),i=0;i<tn.length;i++)n=tn[i],n.blockedOn===e&&(n.blockedOn=null);for(;0<tn.length&&(i=tn[0],i.blockedOn===null);)F0(i),i.blockedOn===null&&tn.shift()}var Rp={},_p=new Map,Dl=new Map,Z0=["abort","abort",Ip,"animationEnd",bp,"animationIteration",Ap,"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",Ep,"transitionEnd","waiting","waiting"];function Ll(e,t){for(var i=0;i<e.length;i+=2){var n=e[i],r=e[i+1],s="on"+(r[0].toUpperCase()+r.slice(1));s={phasedRegistrationNames:{bubbled:s,captured:s+"Capture"},dependencies:[n],eventPriority:t},Dl.set(n,t),_p.set(n,s),Rp[r]=s}}Ll("blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus 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);Ll("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);Ll(Z0,2);for(var Cc="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),go=0;go<Cc.length;go++)Dl.set(Cc[go],0);var Y0=fe.unstable_UserBlockingPriority,G0=fe.unstable_runWithPriority,Rr=!0;function ee(e,t){hn(t,e,!1)}function hn(e,t,i){var n=Dl.get(t);switch(n===void 0?2:n){case 0:n=X0.bind(null,t,1,e);break;case 1:n=J0.bind(null,t,1,e);break;default:n=Vs.bind(null,t,1,e)}i?e.addEventListener(t,n,!0):e.addEventListener(t,n,!1)}function X0(e,t,i,n){ti||Sl();var r=Vs,s=ti;ti=!0;try{lp(r,e,t,i,n)}finally{(ti=s)||Cl()}}function J0(e,t,i,n){G0(Y0,Vs.bind(null,e,t,i,n))}function Vs(e,t,i,n){if(Rr)if(0<at.length&&-1<aa.indexOf(e))e=la(null,e,t,i,n),at.push(e);else{var r=jl(e,t,i,n);if(r===null)xc(e,n);else if(-1<aa.indexOf(e))e=la(r,e,t,i,n),at.push(e);else if(!$0(r,e,t,i,n)){xc(e,n),e=zp(e,n,null,t);try{cp(Dp,e)}finally{Pp(e)}}}}function jl(e,t,i,n){if(i=Pl(n),i=er(i),i!==null){var r=Si(i);if(r===null)i=null;else{var s=r.tag;if(s===13){if(i=Tp(r),i!==null)return i;i=null}else if(s===3){if(r.stateNode.hydrate)return r.tag===3?r.stateNode.containerInfo:null;i=null}else r!==i&&(i=null)}}e=zp(e,n,i,t);try{cp(Dp,e)}finally{Pp(e)}return null}var Cn={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},K0=["Webkit","ms","Moz","O"];Object.keys(Cn).forEach(function(e){K0.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Cn[t]=Cn[e]})});function Op(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||Cn.hasOwnProperty(e)&&Cn[e]?(""+t).trim():t+"px"}function Vp(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var n=i.indexOf("--")===0,r=Op(i,t[i],n);i==="float"&&(i="cssFloat"),n?e.setProperty(i,r):e[i]=r}}var q0=Se({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 ua(e,t){if(t){if(q0[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e,""));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(!(typeof t.dangerouslySetInnerHTML=="object"&&"__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62,""))}}function ca(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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}}var Mc=xp.html;function gt(e,t){e=e.nodeType===9||e.nodeType===11?e:e.ownerDocument;var i=kl(e);t=yl[t];for(var n=0;n<t.length;n++)sa(t[n],e,i)}function os(){}function da(e){if(e=e||(typeof document!="undefined"?document:void 0),typeof e=="undefined")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ic(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function bc(e,t){var i=Ic(e);e=0;for(var n;i;){if(i.nodeType===3){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=Ic(i)}}function Up(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Up(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ac(){for(var e=window,t=da();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=da(e.document)}return t}function ha(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Wp="$",Hp="/$",Bl="$?",Rl="$!",mo=null,vo=null;function $p(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function pa(e,t){return e==="textarea"||e==="option"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var wo=typeof setTimeout=="function"?setTimeout:void 0,ex=typeof clearTimeout=="function"?clearTimeout:void 0;function Li(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break}return e}function Ec(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i===Wp||i===Rl||i===Bl){if(t===0)return e;t--}else i===Hp&&t++}e=e.previousSibling}return null}var _l=Math.random().toString(36).slice(2),zt="__reactInternalInstance$"+_l,as="__reactEventHandlers$"+_l,qn="__reactContainere$"+_l;function er(e){var t=e[zt];if(t)return t;for(var i=e.parentNode;i;){if(t=i[qn]||i[zt]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=Ec(e);e!==null;){if(i=e[zt])return i;e=Ec(e)}return t}e=i,i=e.parentNode}return null}function tr(e){return e=e[zt]||e[qn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function gi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(C(33))}function Ol(e){return e[as]||null}function mt(e){do e=e.return;while(e&&e.tag!==5);return e||null}function Fp(e,t){var i=e.stateNode;if(!i)return null;var n=wl(i);if(!n)return null;i=n[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":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(C(231,t,typeof i));return i}function Tc(e,t,i){(t=Fp(e,i.dispatchConfig.phasedRegistrationNames[t]))&&(i._dispatchListeners=Ui(i._dispatchListeners,t),i._dispatchInstances=Ui(i._dispatchInstances,e))}function tx(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,i=[];t;)i.push(t),t=mt(t);for(t=i.length;0<t--;)Tc(i[t],"captured",e);for(t=0;t<i.length;t++)Tc(i[t],"bubbled",e)}}function fa(e,t,i){e&&i&&i.dispatchConfig.registrationName&&(t=Fp(e,i.dispatchConfig.registrationName))&&(i._dispatchListeners=Ui(i._dispatchListeners,t),i._dispatchInstances=Ui(i._dispatchInstances,e))}function ix(e){e&&e.dispatchConfig.registrationName&&fa(e._targetInst,null,e)}function Wi(e){Nl(e,tx)}var Dt=null,Vl=null,_r=null;function Qp(){if(_r)return _r;var e,t=Vl,i=t.length,n,r="value"in Dt?Dt.value:Dt.textContent,s=r.length;for(e=0;e<i&&t[e]===r[e];e++);var o=i-e;for(n=1;n<=o&&t[i-n]===r[s-n];n++);return _r=r.slice(e,1<n?1-n:void 0)}function Or(){return!0}function ls(){return!1}function _e(e,t,i,n){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=i,e=this.constructor.Interface;for(var r in e)e.hasOwnProperty(r)&&((t=e[r])?this[r]=t(i):r==="target"?this.target=n:this[r]=i[r]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Or:ls,this.isPropagationStopped=ls,this}Se(_e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!="unknown"&&(e.returnValue=!1),this.isDefaultPrevented=Or)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!="unknown"&&(e.cancelBubble=!0),this.isPropagationStopped=Or)},persist:function(){this.isPersistent=Or},isPersistent:ls,destructor:function(){var e=this.constructor.Interface,t;for(t in e)this[t]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=ls,this._dispatchInstances=this._dispatchListeners=null}});_e.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};_e.extend=function(e){function t(){}function i(){return n.apply(this,arguments)}var n=this;t.prototype=n.prototype;var r=new t;return Se(r,i.prototype),i.prototype=r,i.prototype.constructor=i,i.Interface=Se({},n.Interface,e),i.extend=n.extend,Zp(i),i};Zp(_e);function nx(e,t,i,n){if(this.eventPool.length){var r=this.eventPool.pop();return this.call(r,e,t,i,n),r}return new this(e,t,i,n)}function rx(e){if(!(e instanceof this))throw Error(C(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Zp(e){e.eventPool=[],e.getPooled=nx,e.release=rx}var sx=_e.extend({data:null}),ox=_e.extend({data:null}),ax=[9,13,27,32],Ul=Jt&&"CompositionEvent"in window,Mn=null;Jt&&"documentMode"in document&&(Mn=document.documentMode);var lx=Jt&&"TextEvent"in window&&!Mn,Yp=Jt&&(!Ul||Mn&&8<Mn&&11>=Mn),kc=String.fromCharCode(32),ft={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Nc=!1;function Gp(e,t){switch(e){case"keyup":return ax.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Xp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var bi=!1;function ux(e,t){switch(e){case"compositionend":return Xp(t);case"keypress":return t.which!==32?null:(Nc=!0,kc);case"textInput":return e=t.data,e===kc&&Nc?null:e;default:return null}}function cx(e,t){if(bi)return e==="compositionend"||!Ul&&Gp(e,t)?(e=Qp(),_r=Vl=Dt=null,bi=!1,e):null;switch(e){case"paste":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 Yp&&t.locale!=="ko"?null:t.data;default:return null}}var dx={eventTypes:ft,extractEvents:function(e,t,i,n){var r;if(Ul)e:{switch(e){case"compositionstart":var s=ft.compositionStart;break e;case"compositionend":s=ft.compositionEnd;break e;case"compositionupdate":s=ft.compositionUpdate;break e}s=void 0}else bi?Gp(e,i)&&(s=ft.compositionEnd):e==="keydown"&&i.keyCode===229&&(s=ft.compositionStart);return s?(Yp&&i.locale!=="ko"&&(bi||s!==ft.compositionStart?s===ft.compositionEnd&&bi&&(r=Qp()):(Dt=n,Vl="value"in Dt?Dt.value:Dt.textContent,bi=!0)),s=sx.getPooled(s,t,i,n),r?s.data=r:(r=Xp(i),r!==null&&(s.data=r)),Wi(s),r=s):r=null,(e=lx?ux(e,i):cx(e,i))?(t=ox.getPooled(ft.beforeInput,t,i,n),t.data=e,Wi(t)):t=null,r===null?t:t===null?r:[r,t]}},hx={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 Jp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!hx[e.type]:t==="textarea"}var Kp={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function qp(e,t,i){return e=_e.getPooled(Kp.change,e,t,i),e.type="change",op(i),Wi(e),e}var In=null,Rn=null;function px(e){Os(e)}function Us(e){var t=gi(e);if(vp(t))return e}function fx(e,t){if(e==="change")return t}var ga=!1;Jt&&(ga=Np("input")&&(!document.documentMode||9<document.documentMode));function Pc(){In&&(In.detachEvent("onpropertychange",ef),Rn=In=null)}function ef(e){if(e.propertyName==="value"&&Us(Rn))if(e=qp(Rn,e,Pl(e)),ti)Os(e);else{ti=!0;try{xl(px,e)}finally{ti=!1,Cl()}}}function gx(e,t,i){e==="focus"?(Pc(),In=t,Rn=i,In.attachEvent("onpropertychange",ef)):e==="blur"&&Pc()}function mx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Us(Rn)}function vx(e,t){if(e==="click")return Us(t)}function wx(e,t){if(e==="input"||e==="change")return Us(t)}var yx={eventTypes:Kp,_isInputEventSupported:ga,extractEvents:function(e,t,i,n){var r=t?gi(t):window,s=r.nodeName&&r.nodeName.toLowerCase();if(s==="select"||s==="input"&&r.type==="file")var o=fx;else if(Jp(r))if(ga)o=wx;else{o=mx;var a=gx}else(s=r.nodeName)&&s.toLowerCase()==="input"&&(r.type==="checkbox"||r.type==="radio")&&(o=vx);if(o&&(o=o(e,t)))return qp(o,i,n);a&&a(e,r,t),e==="blur"&&(e=r._wrapperState)&&e.controlled&&r.type==="number"&&ta(r,"number",r.value)}},ir=_e.extend({view:null,detail:null}),xx={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sx(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=xx[e])?!!t[e]:!1}function Wl(){return Sx}var zc=0,Dc=0,Lc=!1,jc=!1,nr=ir.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Wl,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=zc;return zc=e.screenX,Lc?e.type==="mousemove"?e.screenX-t:0:(Lc=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Dc;return Dc=e.screenY,jc?e.type==="mousemove"?e.screenY-t:0:(jc=!0,0)}}),tf=nr.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),sn={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Cx={eventTypes:sn,extractEvents:function(e,t,i,n,r){var s=e==="mouseover"||e==="pointerover",o=e==="mouseout"||e==="pointerout";if(s&&(r&32)===0&&(i.relatedTarget||i.fromElement)||!o&&!s)return null;if(s=n.window===n?n:(s=n.ownerDocument)?s.defaultView||s.parentWindow:window,o){if(o=t,t=(t=i.relatedTarget||i.toElement)?er(t):null,t!==null){var a=Si(t);(t!==a||t.tag!==5&&t.tag!==6)&&(t=null)}}else o=null;if(o===t)return null;if(e==="mouseout"||e==="mouseover")var l=nr,u=sn.mouseLeave,h=sn.mouseEnter,c="mouse";else(e==="pointerout"||e==="pointerover")&&(l=tf,u=sn.pointerLeave,h=sn.pointerEnter,c="pointer");if(e=o==null?s:gi(o),s=t==null?s:gi(t),u=l.getPooled(u,o,i,n),u.type=c+"leave",u.target=e,u.relatedTarget=s,i=l.getPooled(h,t,i,n),i.type=c+"enter",i.target=s,i.relatedTarget=e,n=o,c=t,n&&c)e:{for(l=n,h=c,o=0,e=l;e;e=mt(e))o++;for(e=0,t=h;t;t=mt(t))e++;for(;0<o-e;)l=mt(l),o--;for(;0<e-o;)h=mt(h),e--;for(;o--;){if(l===h||l===h.alternate)break e;l=mt(l),h=mt(h)}l=null}else l=null;for(h=l,l=[];n&&n!==h&&(o=n.alternate,!(o!==null&&o===h));)l.push(n),n=mt(n);for(n=[];c&&c!==h&&(o=c.alternate,!(o!==null&&o===h));)n.push(c),c=mt(c);for(c=0;c<l.length;c++)fa(l[c],"bubbled",u);for(c=n.length;0<c--;)fa(n[c],"captured",i);return(r&64)===0?[u]:[u,i]}};function Mx(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var mi=typeof Object.is=="function"?Object.is:Mx,Ix=Object.prototype.hasOwnProperty;function _n(e,t){if(mi(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),n=Object.keys(t);if(i.length!==n.length)return!1;for(n=0;n<i.length;n++)if(!Ix.call(t,i[n])||!mi(e[i[n]],t[i[n]]))return!1;return!0}var bx=Jt&&"documentMode"in document&&11>=document.documentMode,nf={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Ai=null,ma=null,bn=null,va=!1;function Bc(e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;return va||Ai==null||Ai!==da(i)?null:(i=Ai,"selectionStart"in i&&ha(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),bn&&_n(bn,i)?null:(bn=i,e=_e.getPooled(nf.select,ma,e,t),e.type="select",e.target=Ai,Wi(e),e))}var Ax={eventTypes:nf,extractEvents:function(e,t,i,n,r,s){if(r=s||(n.window===n?n.document:n.nodeType===9?n:n.ownerDocument),!(s=!r)){e:{r=kl(r),s=yl.onSelect;for(var o=0;o<s.length;o++)if(!r.has(s[o])){r=!1;break e}r=!0}s=!r}if(s)return null;switch(r=t?gi(t):window,e){case"focus":(Jp(r)||r.contentEditable==="true")&&(Ai=r,ma=t,bn=null);break;case"blur":bn=ma=Ai=null;break;case"mousedown":va=!0;break;case"contextmenu":case"mouseup":case"dragend":return va=!1,Bc(i,n);case"selectionchange":if(bx)break;case"keydown":case"keyup":return Bc(i,n)}return null}},Ex=_e.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Tx=_e.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kx=ir.extend({relatedTarget:null});function Vr(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}var Nx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Px={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"},zx=ir.extend({key:function(e){if(e.key){var t=Nx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Vr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Px[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Wl,charCode:function(e){return e.type==="keypress"?Vr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Vr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Dx=nr.extend({dataTransfer:null}),Lx=ir.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Wl}),jx=_e.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),Bx=nr.extend({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:null,deltaMode:null}),Rx={eventTypes:Rp,extractEvents:function(e,t,i,n){var r=_p.get(e);if(!r)return null;switch(e){case"keypress":if(Vr(i)===0)return null;case"keydown":case"keyup":e=zx;break;case"blur":case"focus":e=kx;break;case"click":if(i.button===2)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=nr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=Dx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=Lx;break;case Ip:case bp:case Ap:e=Ex;break;case Ep:e=jx;break;case"scroll":e=ir;break;case"wheel":e=Bx;break;case"copy":case"cut":case"paste":e=Tx;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=tf;break;default:e=_e}return t=e.getPooled(r,t,i,n),Wi(t),t}};if(ns)throw Error(C(101));ns=Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));rp();var _x=tr;wl=Ol;ip=_x;np=gi;sp({SimpleEventPlugin:Rx,EnterLeaveEventPlugin:Cx,ChangeEventPlugin:yx,SelectEventPlugin:Ax,BeforeInputEventPlugin:dx});var wa=[],Ei=-1;function K(e){0>Ei||(e.current=wa[Ei],wa[Ei]=null,Ei--)}function re(e,t){Ei++,wa[Ei]=e.current,e.current=t}var Zt={},ye={current:Zt},Ee={current:!1},vi=Zt;function Hi(e,t){var i=e.type.contextTypes;if(!i)return Zt;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in i)r[s]=t[s];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Te(e){return e=e.childContextTypes,e!=null}function us(){K(Ee),K(ye)}function Rc(e,t,i){if(ye.current!==Zt)throw Error(C(168));re(ye,t),re(Ee,i)}function rf(e,t,i){var n=e.stateNode;if(e=t.childContextTypes,typeof n.getChildContext!="function")return i;n=n.getChildContext();for(var r in n)if(!(r in e))throw Error(C(108,Mt(t)||"Unknown",r));return Se({},i,{},n)}function Ur(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zt,vi=ye.current,re(ye,e),re(Ee,Ee.current),!0}function _c(e,t,i){var n=e.stateNode;if(!n)throw Error(C(169));i?(e=rf(e,t,vi),n.__reactInternalMemoizedMergedChildContext=e,K(Ee),K(ye),re(ye,e)):K(Ee),re(Ee,i)}var Ox=fe.unstable_runWithPriority,Hl=fe.unstable_scheduleCallback,sf=fe.unstable_cancelCallback,Oc=fe.unstable_requestPaint,ya=fe.unstable_now,Vx=fe.unstable_getCurrentPriorityLevel,Ws=fe.unstable_ImmediatePriority,of=fe.unstable_UserBlockingPriority,af=fe.unstable_NormalPriority,lf=fe.unstable_LowPriority,uf=fe.unstable_IdlePriority,cf={},Ux=fe.unstable_shouldYield,Wx=Oc!==void 0?Oc:function(){},wt=null,Wr=null,yo=!1,Vc=ya(),Ue=1e4>Vc?ya:function(){return ya()-Vc};function Hs(){switch(Vx()){case Ws:return 99;case of:return 98;case af:return 97;case lf:return 96;case uf:return 95;default:throw Error(C(332))}}function df(e){switch(e){case 99:return Ws;case 98:return of;case 97:return af;case 96:return lf;case 95:return uf;default:throw Error(C(332))}}function Yt(e,t){return e=df(e),Ox(e,t)}function hf(e,t,i){return e=df(e),Hl(e,t,i)}function Uc(e){return wt===null?(wt=[e],Wr=Hl(Ws,pf)):wt.push(e),cf}function pt(){if(Wr!==null){var e=Wr;Wr=null,sf(e)}pf()}function pf(){if(!yo&&wt!==null){yo=!0;var e=0;try{var t=wt;Yt(99,function(){for(;e<t.length;e++){var i=t[e];do i=i(!0);while(i!==null)}}),wt=null}catch(i){throw wt!==null&&(wt=wt.slice(e+1)),Hl(Ws,pt),i}finally{yo=!1}}}function Hr(e,t,i){return i/=10,1073741821-(((1073741821-e+t/10)/i|0)+1)*i}function Ke(e,t){if(e&&e.defaultProps){t=Se({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i])}return t}var cs={current:null},ds=null,Ti=null,hs=null;function $l(){hs=Ti=ds=null}function Fl(e){var t=cs.current;K(cs),e.type._context._currentValue=t}function ff(e,t){for(;e!==null;){var i=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,i!==null&&i.childExpirationTime<t&&(i.childExpirationTime=t);else if(i!==null&&i.childExpirationTime<t)i.childExpirationTime=t;else break;e=e.return}}function ji(e,t){ds=e,hs=Ti=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.expirationTime>=t&&(lt=!0),e.firstContext=null)}function $e(e,t){if(hs!==e&&t!==!1&&t!==0)if((typeof t!="number"||t===1073741823)&&(hs=e,t=1073741823),t={context:e,observedBits:t,next:null},Ti===null){if(ds===null)throw Error(C(308));Ti=t,ds.dependencies={expirationTime:0,firstContext:t,responders:null}}else Ti=Ti.next=t;return e._currentValue}var Nt=!1;function Ql(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function Zl(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function Wt(e,t){return e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null},e.next=e}function Ht(e,t){if(e=e.updateQueue,e!==null){e=e.shared;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}}function Wc(e,t){var i=e.alternate;i!==null&&Zl(i,e),e=e.updateQueue,i=e.baseQueue,i===null?(e.baseQueue=t.next=t,t.next=t):(t.next=i.next,i.next=t)}function On(e,t,i,n){var r=e.updateQueue;Nt=!1;var s=r.baseQueue,o=r.shared.pending;if(o!==null){if(s!==null){var a=s.next;s.next=o.next,o.next=a}s=o,r.shared.pending=null,a=e.alternate,a!==null&&(a=a.updateQueue,a!==null&&(a.baseQueue=o))}if(s!==null){a=s.next;var l=r.baseState,u=0,h=null,c=null,m=null;if(a!==null){var v=a;do{if(o=v.expirationTime,o<n){var y={expirationTime:v.expirationTime,suspenseConfig:v.suspenseConfig,tag:v.tag,payload:v.payload,callback:v.callback,next:null};m===null?(c=m=y,h=l):m=m.next=y,o>u&&(u=o)}else{m!==null&&(m=m.next={expirationTime:1073741823,suspenseConfig:v.suspenseConfig,tag:v.tag,payload:v.payload,callback:v.callback,next:null}),$f(o,v.suspenseConfig);e:{var S=e,d=v;switch(o=t,y=i,d.tag){case 1:if(S=d.payload,typeof S=="function"){l=S.call(y,l,o);break e}l=S;break e;case 3:S.effectTag=S.effectTag&-4097|64;case 0:if(S=d.payload,o=typeof S=="function"?S.call(y,l,o):S,o==null)break e;l=Se({},l,o);break e;case 2:Nt=!0}}v.callback!==null&&(e.effectTag|=32,o=r.effects,o===null?r.effects=[v]:o.push(v))}if(v=v.next,v===null||v===a){if(o=r.shared.pending,o===null)break;v=s.next=o.next,o.next=a,r.baseQueue=s=o,r.shared.pending=null}}while(1)}m===null?h=l:m.next=c,r.baseState=h,r.baseQueue=m,Ys(u),e.expirationTime=u,e.memoizedState=l}}function Hc(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var n=e[t],r=n.callback;if(r!==null){if(n.callback=null,n=r,r=i,typeof n!="function")throw Error(C(191,n));n.call(r)}}}var An=qe.ReactCurrentBatchConfig,gf=new Rs.Component().refs;function ps(e,t,i,n){t=e.memoizedState,i=i(n,t),i=i==null?t:Se({},t,i),e.memoizedState=i,e.expirationTime===0&&(e.updateQueue.baseState=i)}var $s={isMounted:function(e){return(e=e._reactInternalFiber)?Si(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternalFiber;var n=dt(),r=An.suspense;n=di(n,e,r),r=Wt(n,r),r.payload=t,i!=null&&(r.callback=i),Ht(e,r),Ft(e,n)},enqueueReplaceState:function(e,t,i){e=e._reactInternalFiber;var n=dt(),r=An.suspense;n=di(n,e,r),r=Wt(n,r),r.tag=1,r.payload=t,i!=null&&(r.callback=i),Ht(e,r),Ft(e,n)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var i=dt(),n=An.suspense;i=di(i,e,n),n=Wt(i,n),n.tag=2,t!=null&&(n.callback=t),Ht(e,n),Ft(e,i)}};function $c(e,t,i,n,r,s,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,s,o):t.prototype&&t.prototype.isPureReactComponent?!_n(i,n)||!_n(r,s):!0}function mf(e,t,i){var n=!1,r=Zt,s=t.contextType;return typeof s=="object"&&s!==null?s=$e(s):(r=Te(t)?vi:ye.current,n=t.contextTypes,s=(n=n!=null)?Hi(e,r):Zt),t=new t(i,s),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=$s,e.stateNode=t,t._reactInternalFiber=e,n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=s),t}function Fc(e,t,i,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,n),t.state!==e&&$s.enqueueReplaceState(t,t.state,null)}function xa(e,t,i,n){var r=e.stateNode;r.props=i,r.state=e.memoizedState,r.refs=gf,Ql(e);var s=t.contextType;typeof s=="object"&&s!==null?r.context=$e(s):(s=Te(t)?vi:ye.current,r.context=Hi(e,s)),On(e,i,r,n),r.state=e.memoizedState,s=t.getDerivedStateFromProps,typeof s=="function"&&(ps(e,t,s,i),r.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(t=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),t!==r.state&&$s.enqueueReplaceState(r,r.state,null),On(e,i,r,n),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.effectTag|=4)}var Sr=Array.isArray;function on(e,t,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(C(309));var n=i.stateNode}if(!n)throw Error(C(147,e));var r=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===r?t.ref:(t=function(s){var o=n.refs;o===gf&&(o=n.refs={}),s===null?delete o[r]:o[r]=s},t._stringRef=r,t)}if(typeof e!="string")throw Error(C(284));if(!i._owner)throw Error(C(290,e))}return e}function Cr(e,t){if(e.type!=="textarea")throw Error(C(31,Object.prototype.toString.call(t)==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":t,""))}function vf(e){function t(d,p){if(e){var f=d.lastEffect;f!==null?(f.nextEffect=p,d.lastEffect=p):d.firstEffect=d.lastEffect=p,p.nextEffect=null,p.effectTag=8}}function i(d,p){if(!e)return null;for(;p!==null;)t(d,p),p=p.sibling;return null}function n(d,p){for(d=new Map;p!==null;)p.key!==null?d.set(p.key,p):d.set(p.index,p),p=p.sibling;return d}function r(d,p){return d=wi(d,p),d.index=0,d.sibling=null,d}function s(d,p,f){return d.index=f,e?(f=d.alternate,f!==null?(f=f.index,f<p?(d.effectTag=2,p):f):(d.effectTag=2,p)):p}function o(d){return e&&d.alternate===null&&(d.effectTag=2),d}function a(d,p,f,g){return p===null||p.tag!==6?(p=bo(f,d.mode,g),p.return=d,p):(p=r(p,f),p.return=d,p)}function l(d,p,f,g){return p!==null&&p.elementType===f.type?(g=r(p,f.props),g.ref=on(d,p,f),g.return=d,g):(g=Zr(f.type,f.key,f.props,null,d.mode,g),g.ref=on(d,p,f),g.return=d,g)}function u(d,p,f,g){return p===null||p.tag!==4||p.stateNode.containerInfo!==f.containerInfo||p.stateNode.implementation!==f.implementation?(p=Ao(f,d.mode,g),p.return=d,p):(p=r(p,f.children||[]),p.return=d,p)}function h(d,p,f,g,w){return p===null||p.tag!==7?(p=Bt(f,d.mode,g,w),p.return=d,p):(p=r(p,f),p.return=d,p)}function c(d,p,f){if(typeof p=="string"||typeof p=="number")return p=bo(""+p,d.mode,f),p.return=d,p;if(typeof p=="object"&&p!==null){switch(p.$$typeof){case vr:return f=Zr(p.type,p.key,p.props,null,d.mode,f),f.ref=on(d,null,p),f.return=d,f;case Mi:return p=Ao(p,d.mode,f),p.return=d,p}if(Sr(p)||qi(p))return p=Bt(p,d.mode,f,null),p.return=d,p;Cr(d,p)}return null}function m(d,p,f,g){var w=p!==null?p.key:null;if(typeof f=="string"||typeof f=="number")return w!==null?null:a(d,p,""+f,g);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case vr:return f.key===w?f.type===ei?h(d,p,f.props.children,g,w):l(d,p,f,g):null;case Mi:return f.key===w?u(d,p,f,g):null}if(Sr(f)||qi(f))return w!==null?null:h(d,p,f,g,null);Cr(d,f)}return null}function v(d,p,f,g,w){if(typeof g=="string"||typeof g=="number")return d=d.get(f)||null,a(p,d,""+g,w);if(typeof g=="object"&&g!==null){switch(g.$$typeof){case vr:return d=d.get(g.key===null?f:g.key)||null,g.type===ei?h(p,d,g.props.children,w,g.key):l(p,d,g,w);case Mi:return d=d.get(g.key===null?f:g.key)||null,u(p,d,g,w)}if(Sr(g)||qi(g))return d=d.get(f)||null,h(p,d,g,w,null);Cr(p,g)}return null}function y(d,p,f,g){for(var w=null,x=null,b=p,T=p=0,L=null;b!==null&&T<f.length;T++){b.index>T?(L=b,b=null):L=b.sibling;var k=m(d,b,f[T],g);if(k===null){b===null&&(b=L);break}e&&b&&k.alternate===null&&t(d,b),p=s(k,p,T),x===null?w=k:x.sibling=k,x=k,b=L}if(T===f.length)return i(d,b),w;if(b===null){for(;T<f.length;T++)b=c(d,f[T],g),b!==null&&(p=s(b,p,T),x===null?w=b:x.sibling=b,x=b);return w}for(b=n(d,b);T<f.length;T++)L=v(b,d,T,f[T],g),L!==null&&(e&&L.alternate!==null&&b.delete(L.key===null?T:L.key),p=s(L,p,T),x===null?w=L:x.sibling=L,x=L);return e&&b.forEach(function(j){return t(d,j)}),w}function S(d,p,f,g){var w=qi(f);if(typeof w!="function")throw Error(C(150));if(f=w.call(f),f==null)throw Error(C(151));for(var x=w=null,b=p,T=p=0,L=null,k=f.next();b!==null&&!k.done;T++,k=f.next()){b.index>T?(L=b,b=null):L=b.sibling;var j=m(d,b,k.value,g);if(j===null){b===null&&(b=L);break}e&&b&&j.alternate===null&&t(d,b),p=s(j,p,T),x===null?w=j:x.sibling=j,x=j,b=L}if(k.done)return i(d,b),w;if(b===null){for(;!k.done;T++,k=f.next())k=c(d,k.value,g),k!==null&&(p=s(k,p,T),x===null?w=k:x.sibling=k,x=k);return w}for(b=n(d,b);!k.done;T++,k=f.next())k=v(b,d,T,k.value,g),k!==null&&(e&&k.alternate!==null&&b.delete(k.key===null?T:k.key),p=s(k,p,T),x===null?w=k:x.sibling=k,x=k);return e&&b.forEach(function(M){return t(d,M)}),w}return function(d,p,f,g){var w=typeof f=="object"&&f!==null&&f.type===ei&&f.key===null;w&&(f=f.props.children);var x=typeof f=="object"&&f!==null;if(x)switch(f.$$typeof){case vr:e:{for(x=f.key,w=p;w!==null;){if(w.key===x){switch(w.tag){case 7:if(f.type===ei){i(d,w.sibling),p=r(w,f.props.children),p.return=d,d=p;break e}break;default:if(w.elementType===f.type){i(d,w.sibling),p=r(w,f.props),p.ref=on(d,w,f),p.return=d,d=p;break e}}i(d,w);break}else t(d,w);w=w.sibling}f.type===ei?(p=Bt(f.props.children,d.mode,g,f.key),p.return=d,d=p):(g=Zr(f.type,f.key,f.props,null,d.mode,g),g.ref=on(d,p,f),g.return=d,d=g)}return o(d);case Mi:e:{for(w=f.key;p!==null;){if(p.key===w)if(p.tag===4&&p.stateNode.containerInfo===f.containerInfo&&p.stateNode.implementation===f.implementation){i(d,p.sibling),p=r(p,f.children||[]),p.return=d,d=p;break e}else{i(d,p);break}else t(d,p);p=p.sibling}p=Ao(f,d.mode,g),p.return=d,d=p}return o(d)}if(typeof f=="string"||typeof f=="number")return f=""+f,p!==null&&p.tag===6?(i(d,p.sibling),p=r(p,f),p.return=d,d=p):(i(d,p),p=bo(f,d.mode,g),p.return=d,d=p),o(d);if(Sr(f))return y(d,p,f,g);if(qi(f))return S(d,p,f,g);if(x&&Cr(d,f),typeof f=="undefined"&&!w)switch(d.tag){case 1:case 0:throw d=d.type,Error(C(152,d.displayName||d.name||"Component"))}return i(d,p)}}var $i=vf(!0),Yl=vf(!1),rr={},ct={current:rr},Vn={current:rr},Un={current:rr};function ii(e){if(e===rr)throw Error(C(174));return e}function Sa(e,t){switch(re(Un,t),re(Vn,e),re(ct,rr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ra(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ra(t,e)}K(ct),re(ct,t)}function Fi(){K(ct),K(Vn),K(Un)}function Qc(e){ii(Un.current);var t=ii(ct.current),i=ra(t,e.type);t!==i&&(re(Vn,e),re(ct,i))}function Gl(e){Vn.current===e&&(K(ct),K(Vn))}var ne={current:0};function fs(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data===Bl||i.data===Rl))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.effectTag&64)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Xl(e,t){return{responder:e,props:t}}var $r=qe.ReactCurrentDispatcher,We=qe.ReactCurrentBatchConfig,Lt=0,le=null,ve=null,we=null,gs=!1;function Pe(){throw Error(C(321))}function Jl(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!mi(e[i],t[i]))return!1;return!0}function Kl(e,t,i,n,r,s){if(Lt=s,le=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,$r.current=e===null||e.memoizedState===null?Hx:$x,e=i(n,r),t.expirationTime===Lt){s=0;do{if(t.expirationTime=0,!(25>s))throw Error(C(301));s+=1,we=ve=null,t.updateQueue=null,$r.current=Fx,e=i(n,r)}while(t.expirationTime===Lt)}if($r.current=ws,t=ve!==null&&ve.next!==null,Lt=0,we=ve=le=null,gs=!1,t)throw Error(C(300));return e}function Bi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return we===null?le.memoizedState=we=e:we=we.next=e,we}function Yi(){if(ve===null){var e=le.alternate;e=e!==null?e.memoizedState:null}else e=ve.next;var t=we===null?le.memoizedState:we.next;if(t!==null)we=t,ve=e;else{if(e===null)throw Error(C(310));ve=e,e={memoizedState:ve.memoizedState,baseState:ve.baseState,baseQueue:ve.baseQueue,queue:ve.queue,next:null},we===null?le.memoizedState=we=e:we=we.next=e}return we}function li(e,t){return typeof t=="function"?t(e):t}function Mr(e){var t=Yi(),i=t.queue;if(i===null)throw Error(C(311));i.lastRenderedReducer=e;var n=ve,r=n.baseQueue,s=i.pending;if(s!==null){if(r!==null){var o=r.next;r.next=s.next,s.next=o}n.baseQueue=r=s,i.pending=null}if(r!==null){r=r.next,n=n.baseState;var a=o=s=null,l=r;do{var u=l.expirationTime;if(u<Lt){var h={expirationTime:l.expirationTime,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null};a===null?(o=a=h,s=n):a=a.next=h,u>le.expirationTime&&(le.expirationTime=u,Ys(u))}else a!==null&&(a=a.next={expirationTime:1073741823,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null}),$f(u,l.suspenseConfig),n=l.eagerReducer===e?l.eagerState:e(n,l.action);l=l.next}while(l!==null&&l!==r);a===null?s=n:a.next=o,mi(n,t.memoizedState)||(lt=!0),t.memoizedState=n,t.baseState=s,t.baseQueue=a,i.lastRenderedState=n}return[t.memoizedState,i.dispatch]}function Ir(e){var t=Yi(),i=t.queue;if(i===null)throw Error(C(311));i.lastRenderedReducer=e;var n=i.dispatch,r=i.pending,s=t.memoizedState;if(r!==null){i.pending=null;var o=r=r.next;do s=e(s,o.action),o=o.next;while(o!==r);mi(s,t.memoizedState)||(lt=!0),t.memoizedState=s,t.baseQueue===null&&(t.baseState=s),i.lastRenderedState=s}return[s,n]}function xo(e){var t=Bi();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e=t.queue={pending:null,dispatch:null,lastRenderedReducer:li,lastRenderedState:e},e=e.dispatch=Mf.bind(null,le,e),[t.memoizedState,e]}function Ca(e,t,i,n){return e={tag:e,create:t,destroy:i,deps:n,next:null},t=le.updateQueue,t===null?(t={lastEffect:null},le.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(n=i.next,i.next=e,e.next=n,t.lastEffect=e)),e}function wf(){return Yi().memoizedState}function Ma(e,t,i,n){var r=Bi();le.effectTag|=e,r.memoizedState=Ca(1|t,i,void 0,n===void 0?null:n)}function ql(e,t,i,n){var r=Yi();n=n===void 0?null:n;var s=void 0;if(ve!==null){var o=ve.memoizedState;if(s=o.destroy,n!==null&&Jl(n,o.deps)){Ca(t,i,s,n);return}}le.effectTag|=e,r.memoizedState=Ca(1|t,i,s,n)}function Zc(e,t){return Ma(516,4,e,t)}function ms(e,t){return ql(516,4,e,t)}function yf(e,t){return ql(4,2,e,t)}function xf(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Sf(e,t,i){return i=i!=null?i.concat([e]):null,ql(4,2,xf.bind(null,t,e),i)}function eu(){}function Yc(e,t){return Bi().memoizedState=[e,t===void 0?null:t],e}function vs(e,t){var i=Yi();t=t===void 0?null:t;var n=i.memoizedState;return n!==null&&t!==null&&Jl(t,n[1])?n[0]:(i.memoizedState=[e,t],e)}function Cf(e,t){var i=Yi();t=t===void 0?null:t;var n=i.memoizedState;return n!==null&&t!==null&&Jl(t,n[1])?n[0]:(e=e(),i.memoizedState=[e,t],e)}function tu(e,t,i){var n=Hs();Yt(98>n?98:n,function(){e(!0)}),Yt(97<n?97:n,function(){var r=We.suspense;We.suspense=t===void 0?null:t;try{e(!1),i()}finally{We.suspense=r}})}function Mf(e,t,i){var n=dt(),r=An.suspense;n=di(n,e,r),r={expirationTime:n,suspenseConfig:r,action:i,eagerReducer:null,eagerState:null,next:null};var s=t.pending;if(s===null?r.next=r:(r.next=s.next,s.next=r),t.pending=r,s=e.alternate,e===le||s!==null&&s===le)gs=!0,r.expirationTime=Lt,le.expirationTime=Lt;else{if(e.expirationTime===0&&(s===null||s.expirationTime===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,a=s(o,i);if(r.eagerReducer=s,r.eagerState=a,mi(a,o))return}catch{}finally{}Ft(e,n)}}var ws={readContext:$e,useCallback:Pe,useContext:Pe,useEffect:Pe,useImperativeHandle:Pe,useLayoutEffect:Pe,useMemo:Pe,useReducer:Pe,useRef:Pe,useState:Pe,useDebugValue:Pe,useResponder:Pe,useDeferredValue:Pe,useTransition:Pe},Hx={readContext:$e,useCallback:Yc,useContext:$e,useEffect:Zc,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,Ma(4,2,xf.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Ma(4,2,e,t)},useMemo:function(e,t){var i=Bi();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var n=Bi();return t=i!==void 0?i(t):t,n.memoizedState=n.baseState=t,e=n.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},e=e.dispatch=Mf.bind(null,le,e),[n.memoizedState,e]},useRef:function(e){var t=Bi();return e={current:e},t.memoizedState=e},useState:xo,useDebugValue:eu,useResponder:Xl,useDeferredValue:function(e,t){var i=xo(e),n=i[0],r=i[1];return Zc(function(){var s=We.suspense;We.suspense=t===void 0?null:t;try{r(e)}finally{We.suspense=s}},[e,t]),n},useTransition:function(e){var t=xo(!1),i=t[0];return t=t[1],[Yc(tu.bind(null,t,e),[t,e]),i]}},$x={readContext:$e,useCallback:vs,useContext:$e,useEffect:ms,useImperativeHandle:Sf,useLayoutEffect:yf,useMemo:Cf,useReducer:Mr,useRef:wf,useState:function(){return Mr(li)},useDebugValue:eu,useResponder:Xl,useDeferredValue:function(e,t){var i=Mr(li),n=i[0],r=i[1];return ms(function(){var s=We.suspense;We.suspense=t===void 0?null:t;try{r(e)}finally{We.suspense=s}},[e,t]),n},useTransition:function(e){var t=Mr(li),i=t[0];return t=t[1],[vs(tu.bind(null,t,e),[t,e]),i]}},Fx={readContext:$e,useCallback:vs,useContext:$e,useEffect:ms,useImperativeHandle:Sf,useLayoutEffect:yf,useMemo:Cf,useReducer:Ir,useRef:wf,useState:function(){return Ir(li)},useDebugValue:eu,useResponder:Xl,useDeferredValue:function(e,t){var i=Ir(li),n=i[0],r=i[1];return ms(function(){var s=We.suspense;We.suspense=t===void 0?null:t;try{r(e)}finally{We.suspense=s}},[e,t]),n},useTransition:function(e){var t=Ir(li),i=t[0];return t=t[1],[vs(tu.bind(null,t,e),[t,e]),i]}},St=null,jt=null,ui=!1;function If(e,t){var i=ut(5,null,null,0);i.elementType="DELETED",i.type="DELETED",i.stateNode=t,i.return=e,i.effectTag=8,e.lastEffect!==null?(e.lastEffect.nextEffect=i,e.lastEffect=i):e.firstEffect=e.lastEffect=i}function Gc(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,!0):!1;case 13:return!1;default:return!1}}function Ia(e){if(ui){var t=jt;if(t){var i=t;if(!Gc(e,t)){if(t=Li(i.nextSibling),!t||!Gc(e,t)){e.effectTag=e.effectTag&-1025|2,ui=!1,St=e;return}If(St,i)}St=e,jt=Li(t.firstChild)}else e.effectTag=e.effectTag&-1025|2,ui=!1,St=e}}function Xc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;St=e}function br(e){if(e!==St)return!1;if(!ui)return Xc(e),ui=!0,!1;var t=e.type;if(e.tag!==5||t!=="head"&&t!=="body"&&!pa(t,e.memoizedProps))for(t=jt;t;)If(e,t),t=Li(t.nextSibling);if(Xc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(C(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i===Hp){if(t===0){jt=Li(e.nextSibling);break e}t--}else i!==Wp&&i!==Rl&&i!==Bl||t++}e=e.nextSibling}jt=null}}else jt=St?Li(e.stateNode.nextSibling):null;return!0}function So(){jt=St=null,ui=!1}var Qx=qe.ReactCurrentOwner,lt=!1;function ze(e,t,i,n){t.child=e===null?Yl(t,null,i,n):$i(t,e.child,i,n)}function Jc(e,t,i,n,r){i=i.render;var s=t.ref;return ji(t,r),n=Kl(e,t,i,n,s,r),e!==null&&!lt?(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Ct(e,t,r)):(t.effectTag|=1,ze(e,t,n,r),t.child)}function Kc(e,t,i,n,r,s){if(e===null){var o=i.type;return typeof o=="function"&&!ou(o)&&o.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=o,bf(e,t,o,n,r,s)):(e=Zr(i.type,null,n,null,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}return o=e.child,r<s&&(r=o.memoizedProps,i=i.compare,i=i!==null?i:_n,i(r,n)&&e.ref===t.ref)?Ct(e,t,s):(t.effectTag|=1,e=wi(o,n),e.ref=t.ref,e.return=t,t.child=e)}function bf(e,t,i,n,r,s){return e!==null&&_n(e.memoizedProps,n)&&e.ref===t.ref&&(lt=!1,r<s)?(t.expirationTime=e.expirationTime,Ct(e,t,s)):ba(e,t,i,n,s)}function Af(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.effectTag|=128)}function ba(e,t,i,n,r){var s=Te(i)?vi:ye.current;return s=Hi(t,s),ji(t,r),i=Kl(e,t,i,n,s,r),e!==null&&!lt?(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Ct(e,t,r)):(t.effectTag|=1,ze(e,t,i,r),t.child)}function qc(e,t,i,n,r){if(Te(i)){var s=!0;Ur(t)}else s=!1;if(ji(t,r),t.stateNode===null)e!==null&&(e.alternate=null,t.alternate=null,t.effectTag|=2),mf(t,i,n),xa(t,i,n,r),n=!0;else if(e===null){var o=t.stateNode,a=t.memoizedProps;o.props=a;var l=o.context,u=i.contextType;typeof u=="object"&&u!==null?u=$e(u):(u=Te(i)?vi:ye.current,u=Hi(t,u));var h=i.getDerivedStateFromProps,c=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";c||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==n||l!==u)&&Fc(t,o,n,u),Nt=!1;var m=t.memoizedState;o.state=m,On(t,n,o,r),l=t.memoizedState,a!==n||m!==l||Ee.current||Nt?(typeof h=="function"&&(ps(t,i,h,n),l=t.memoizedState),(a=Nt||$c(t,i,a,n,m,l,u))?(c||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.effectTag|=4)):(typeof o.componentDidMount=="function"&&(t.effectTag|=4),t.memoizedProps=n,t.memoizedState=l),o.props=n,o.state=l,o.context=u,n=a):(typeof o.componentDidMount=="function"&&(t.effectTag|=4),n=!1)}else o=t.stateNode,Zl(e,t),a=t.memoizedProps,o.props=t.type===t.elementType?a:Ke(t.type,a),l=o.context,u=i.contextType,typeof u=="object"&&u!==null?u=$e(u):(u=Te(i)?vi:ye.current,u=Hi(t,u)),h=i.getDerivedStateFromProps,(c=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==n||l!==u)&&Fc(t,o,n,u),Nt=!1,l=t.memoizedState,o.state=l,On(t,n,o,r),m=t.memoizedState,a!==n||l!==m||Ee.current||Nt?(typeof h=="function"&&(ps(t,i,h,n),m=t.memoizedState),(h=Nt||$c(t,i,a,n,l,m,u))?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(n,m,u),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(n,m,u)),typeof o.componentDidUpdate=="function"&&(t.effectTag|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.effectTag|=256)):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),t.memoizedProps=n,t.memoizedState=m),o.props=n,o.state=m,o.context=u,n=h):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),n=!1);return Aa(e,t,i,n,s,r)}function Aa(e,t,i,n,r,s){Af(e,t);var o=(t.effectTag&64)!==0;if(!n&&!o)return r&&_c(t,i,!1),Ct(e,t,s);n=t.stateNode,Qx.current=t;var a=o&&typeof i.getDerivedStateFromError!="function"?null:n.render();return t.effectTag|=1,e!==null&&o?(t.child=$i(t,e.child,null,s),t.child=$i(t,null,a,s)):ze(e,t,a,s),t.memoizedState=n.state,r&&_c(t,i,!0),t.child}function ed(e){var t=e.stateNode;t.pendingContext?Rc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Rc(e,t.context,!1),Sa(e,t.containerInfo)}var Co={dehydrated:null,retryTime:0};function td(e,t,i){var n=t.mode,r=t.pendingProps,s=ne.current,o=!1,a;if((a=(t.effectTag&64)!==0)||(a=(s&2)!==0&&(e===null||e.memoizedState!==null)),a?(o=!0,t.effectTag&=-65):e!==null&&e.memoizedState===null||r.fallback===void 0||r.unstable_avoidThisFallback===!0||(s|=1),re(ne,s&1),e===null){if(r.fallback!==void 0&&Ia(t),o){if(o=r.fallback,r=Bt(null,n,0,null),r.return=t,(t.mode&2)===0)for(e=t.memoizedState!==null?t.child.child:t.child,r.child=e;e!==null;)e.return=r,e=e.sibling;return i=Bt(o,n,i,null),i.return=t,r.sibling=i,t.memoizedState=Co,t.child=r,i}return n=r.children,t.memoizedState=null,t.child=Yl(t,null,n,i)}if(e.memoizedState!==null){if(e=e.child,n=e.sibling,o){if(r=r.fallback,i=wi(e,e.pendingProps),i.return=t,(t.mode&2)===0&&(o=t.memoizedState!==null?t.child.child:t.child,o!==e.child))for(i.child=o;o!==null;)o.return=i,o=o.sibling;return n=wi(n,r),n.return=t,i.sibling=n,i.childExpirationTime=0,t.memoizedState=Co,t.child=i,n}return i=$i(t,e.child,r.children,i),t.memoizedState=null,t.child=i}if(e=e.child,o){if(o=r.fallback,r=Bt(null,n,0,null),r.return=t,r.child=e,e!==null&&(e.return=r),(t.mode&2)===0)for(e=t.memoizedState!==null?t.child.child:t.child,r.child=e;e!==null;)e.return=r,e=e.sibling;return i=Bt(o,n,i,null),i.return=t,r.sibling=i,i.effectTag|=2,r.childExpirationTime=0,t.memoizedState=Co,t.child=r,i}return t.memoizedState=null,t.child=$i(t,e,r.children,i)}function id(e,t){e.expirationTime<t&&(e.expirationTime=t);var i=e.alternate;i!==null&&i.expirationTime<t&&(i.expirationTime=t),ff(e.return,t)}function Mo(e,t,i,n,r,s){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:i,tailExpiration:0,tailMode:r,lastEffect:s}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=i,o.tailExpiration=0,o.tailMode=r,o.lastEffect=s)}function nd(e,t,i){var n=t.pendingProps,r=n.revealOrder,s=n.tail;if(ze(e,t,n.children,i),n=ne.current,(n&2)!==0)n=n&1|2,t.effectTag|=64;else{if(e!==null&&(e.effectTag&64)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&id(e,i);else if(e.tag===19)id(e,i);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(re(ne,n),(t.mode&2)===0)t.memoizedState=null;else switch(r){case"forwards":for(i=t.child,r=null;i!==null;)e=i.alternate,e!==null&&fs(e)===null&&(r=i),i=i.sibling;i=r,i===null?(r=t.child,t.child=null):(r=i.sibling,i.sibling=null),Mo(t,!1,r,i,s,t.lastEffect);break;case"backwards":for(i=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&fs(e)===null){t.child=r;break}e=r.sibling,r.sibling=i,i=r,r=e}Mo(t,!0,i,null,s,t.lastEffect);break;case"together":Mo(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Ct(e,t,i){e!==null&&(t.dependencies=e.dependencies);var n=t.expirationTime;if(n!==0&&Ys(n),t.childExpirationTime<i)return null;if(e!==null&&t.child!==e.child)throw Error(C(153));if(t.child!==null){for(e=t.child,i=wi(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=wi(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}var Ef,Ea,Tf,kf;Ef=function(e,t){for(var i=t.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}};Ea=function(){};Tf=function(e,t,i,n,r){var s=e.memoizedProps;if(s!==n){var o=t.stateNode;switch(ii(ct.current),e=null,i){case"input":s=qo(o,s),n=qo(o,n),e=[];break;case"option":s=ia(o,s),n=ia(o,n),e=[];break;case"select":s=Se({},s,{value:void 0}),n=Se({},n,{value:void 0}),e=[];break;case"textarea":s=na(o,s),n=na(o,n),e=[];break;default:typeof s.onClick!="function"&&typeof n.onClick=="function"&&(o.onclick=os)}ua(i,n);var a,l;i=null;for(a in s)if(!n.hasOwnProperty(a)&&s.hasOwnProperty(a)&&s[a]!=null)if(a==="style")for(l in o=s[a],o)o.hasOwnProperty(l)&&(i||(i={}),i[l]="");else a!=="dangerouslySetInnerHTML"&&a!=="children"&&a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(Vi.hasOwnProperty(a)?e||(e=[]):(e=e||[]).push(a,null));for(a in n){var u=n[a];if(o=s!=null?s[a]:void 0,n.hasOwnProperty(a)&&u!==o&&(u!=null||o!=null))if(a==="style")if(o){for(l in o)!o.hasOwnProperty(l)||u&&u.hasOwnProperty(l)||(i||(i={}),i[l]="");for(l in u)u.hasOwnProperty(l)&&o[l]!==u[l]&&(i||(i={}),i[l]=u[l])}else i||(e||(e=[]),e.push(a,i)),i=u;else a==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,o=o?o.__html:void 0,u!=null&&o!==u&&(e=e||[]).push(a,u)):a==="children"?o===u||typeof u!="string"&&typeof u!="number"||(e=e||[]).push(a,""+u):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&(Vi.hasOwnProperty(a)?(u!=null&&gt(r,a),e||o===u||(e=[])):(e=e||[]).push(a,u))}i&&(e=e||[]).push("style",i),r=e,(t.updateQueue=r)&&(t.effectTag|=4)}};kf=function(e,t,i,n){i!==n&&(t.effectTag|=4)};function Ar(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var n=null;i!==null;)i.alternate!==null&&(n=i),i=i.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Zx(e,t,i){var n=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:return Te(t.type)&&us(),null;case 3:return Fi(),K(Ee),K(ye),i=t.stateNode,i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),e!==null&&e.child!==null||!br(t)||(t.effectTag|=4),Ea(t),null;case 5:Gl(t),i=ii(Un.current);var r=t.type;if(e!==null&&t.stateNode!=null)Tf(e,t,r,n,i),e.ref!==t.ref&&(t.effectTag|=128);else{if(!n){if(t.stateNode===null)throw Error(C(166));return null}if(e=ii(ct.current),br(t)){n=t.stateNode,r=t.type;var s=t.memoizedProps;switch(n[zt]=t,n[as]=s,r){case"iframe":case"object":case"embed":ee("load",n);break;case"video":case"audio":for(e=0;e<dn.length;e++)ee(dn[e],n);break;case"source":ee("error",n);break;case"img":case"image":case"link":ee("error",n),ee("load",n);break;case"form":ee("reset",n),ee("submit",n);break;case"details":ee("toggle",n);break;case"input":fc(n,s),ee("invalid",n),gt(i,"onChange");break;case"select":n._wrapperState={wasMultiple:!!s.multiple},ee("invalid",n),gt(i,"onChange");break;case"textarea":mc(n,s),ee("invalid",n),gt(i,"onChange")}ua(r,s),e=null;for(var o in s)if(s.hasOwnProperty(o)){var a=s[o];o==="children"?typeof a=="string"?n.textContent!==a&&(e=["children",a]):typeof a=="number"&&n.textContent!==""+a&&(e=["children",""+a]):Vi.hasOwnProperty(o)&&a!=null&&gt(i,o)}switch(r){case"input":wr(n),gc(n,s,!0);break;case"textarea":wr(n),vc(n);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(n.onclick=os)}i=e,t.updateQueue=i,i!==null&&(t.effectTag|=4)}else{switch(o=i.nodeType===9?i:i.ownerDocument,e===Mc&&(e=Sp(r)),e===Mc?r==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=o.createElement(r,{is:n.is}):(e=o.createElement(r),r==="select"&&(o=e,n.multiple?o.multiple=!0:n.size&&(o.size=n.size))):e=o.createElementNS(e,r),e[zt]=t,e[as]=n,Ef(e,t,!1,!1),t.stateNode=e,o=ca(r,n),r){case"iframe":case"object":case"embed":ee("load",e),a=n;break;case"video":case"audio":for(a=0;a<dn.length;a++)ee(dn[a],e);a=n;break;case"source":ee("error",e),a=n;break;case"img":case"image":case"link":ee("error",e),ee("load",e),a=n;break;case"form":ee("reset",e),ee("submit",e),a=n;break;case"details":ee("toggle",e),a=n;break;case"input":fc(e,n),a=qo(e,n),ee("invalid",e),gt(i,"onChange");break;case"option":a=ia(e,n);break;case"select":e._wrapperState={wasMultiple:!!n.multiple},a=Se({},n,{value:void 0}),ee("invalid",e),gt(i,"onChange");break;case"textarea":mc(e,n),a=na(e,n),ee("invalid",e),gt(i,"onChange");break;default:a=n}ua(r,a);var l=a;for(s in l)if(l.hasOwnProperty(s)){var u=l[s];s==="style"?Vp(e,u):s==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&Cp(e,u)):s==="children"?typeof u=="string"?(r!=="textarea"||u!=="")&&Ln(e,u):typeof u=="number"&&Ln(e,""+u):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(Vi.hasOwnProperty(s)?u!=null&&gt(i,s):u!=null&&bl(e,s,u,o))}switch(r){case"input":wr(e),gc(e,n,!1);break;case"textarea":wr(e),vc(e);break;case"option":n.value!=null&&e.setAttribute("value",""+Qt(n.value));break;case"select":e.multiple=!!n.multiple,i=n.value,i!=null?Di(e,!!n.multiple,i,!1):n.defaultValue!=null&&Di(e,!!n.multiple,n.defaultValue,!0);break;default:typeof a.onClick=="function"&&(e.onclick=os)}$p(r,n)&&(t.effectTag|=4)}t.ref!==null&&(t.effectTag|=128)}return null;case 6:if(e&&t.stateNode!=null)kf(e,t,e.memoizedProps,n);else{if(typeof n!="string"&&t.stateNode===null)throw Error(C(166));i=ii(Un.current),ii(ct.current),br(t)?(i=t.stateNode,n=t.memoizedProps,i[zt]=t,i.nodeValue!==n&&(t.effectTag|=4)):(i=(i.nodeType===9?i:i.ownerDocument).createTextNode(n),i[zt]=t,t.stateNode=i)}return null;case 13:return K(ne),n=t.memoizedState,(t.effectTag&64)!==0?(t.expirationTime=i,t):(i=n!==null,n=!1,e===null?t.memoizedProps.fallback!==void 0&&br(t):(r=e.memoizedState,n=r!==null,i||r===null||(r=e.child.sibling,r!==null&&(s=t.firstEffect,s!==null?(t.firstEffect=r,r.nextEffect=s):(t.firstEffect=t.lastEffect=r,r.nextEffect=null),r.effectTag=8))),i&&!n&&(t.mode&2)!==0&&(e===null&&t.memoizedProps.unstable_avoidThisFallback!==!0||(ne.current&1)!==0?de===ci&&(de=Ss):((de===ci||de===Ss)&&(de=Fs),Hn!==0&&Be!==null&&(si(Be,ke),Gf(Be,Hn)))),(i||n)&&(t.effectTag|=4),null);case 4:return Fi(),Ea(t),null;case 10:return Fl(t),null;case 17:return Te(t.type)&&us(),null;case 19:if(K(ne),n=t.memoizedState,n===null)return null;if(r=(t.effectTag&64)!==0,s=n.rendering,s===null){if(r)Ar(n,!1);else if(de!==ci||e!==null&&(e.effectTag&64)!==0)for(s=t.child;s!==null;){if(e=fs(s),e!==null){for(t.effectTag|=64,Ar(n,!1),r=e.updateQueue,r!==null&&(t.updateQueue=r,t.effectTag|=4),n.lastEffect===null&&(t.firstEffect=null),t.lastEffect=n.lastEffect,n=t.child;n!==null;)r=n,s=i,r.effectTag&=2,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null,e=r.alternate,e===null?(r.childExpirationTime=0,r.expirationTime=s,r.child=null,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null):(r.childExpirationTime=e.childExpirationTime,r.expirationTime=e.expirationTime,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,s=e.dependencies,r.dependencies=s===null?null:{expirationTime:s.expirationTime,firstContext:s.firstContext,responders:s.responders}),n=n.sibling;return re(ne,ne.current&1|2),t.child}s=s.sibling}}else{if(!r)if(e=fs(s),e!==null){if(t.effectTag|=64,r=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.effectTag|=4),Ar(n,!0),n.tail===null&&n.tailMode==="hidden"&&!s.alternate)return t=t.lastEffect=n.lastEffect,t!==null&&(t.nextEffect=null),null}else 2*Ue()-n.renderingStartTime>n.tailExpiration&&1<i&&(t.effectTag|=64,r=!0,Ar(n,!1),t.expirationTime=t.childExpirationTime=i-1);n.isBackwards?(s.sibling=t.child,t.child=s):(i=n.last,i!==null?i.sibling=s:t.child=s,n.last=s)}return n.tail!==null?(n.tailExpiration===0&&(n.tailExpiration=Ue()+500),i=n.tail,n.rendering=i,n.tail=i.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=Ue(),i.sibling=null,t=ne.current,re(ne,r?t&1|2:t&1),i):null}throw Error(C(156,t.tag))}function Yx(e){switch(e.tag){case 1:Te(e.type)&&us();var t=e.effectTag;return t&4096?(e.effectTag=t&-4097|64,e):null;case 3:if(Fi(),K(Ee),K(ye),t=e.effectTag,(t&64)!==0)throw Error(C(285));return e.effectTag=t&-4097|64,e;case 5:return Gl(e),null;case 13:return K(ne),t=e.effectTag,t&4096?(e.effectTag=t&-4097|64,e):null;case 19:return K(ne),null;case 4:return Fi(),null;case 10:return Fl(e),null;default:return null}}function iu(e,t){return{value:e,source:t,stack:Tl(t)}}var Gx=typeof WeakSet=="function"?WeakSet:Set;function Ta(e,t){var i=t.source,n=t.stack;n===null&&i!==null&&(n=Tl(i)),i!==null&&Mt(i.type),t=t.value,e!==null&&e.tag===1&&Mt(e.type);try{console.error(t)}catch(r){setTimeout(function(){throw r})}}function Xx(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(i){hi(e,i)}}function rd(e){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){hi(e,i)}else t.current=null}function Jx(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(t.effectTag&256&&e!==null){var i=e.memoizedProps,n=e.memoizedState;e=t.stateNode,t=e.getSnapshotBeforeUpdate(t.elementType===t.type?i:Ke(t.type,i),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(C(163))}function Nf(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var n=i.destroy;i.destroy=void 0,n!==void 0&&n()}i=i.next}while(i!==t)}}function Pf(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var n=i.create;i.destroy=n()}i=i.next}while(i!==t)}}function Kx(e,t,i){switch(i.tag){case 0:case 11:case 15:case 22:Pf(3,i);return;case 1:if(e=i.stateNode,i.effectTag&4)if(t===null)e.componentDidMount();else{var n=i.elementType===i.type?t.memoizedProps:Ke(i.type,t.memoizedProps);e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}t=i.updateQueue,t!==null&&Hc(i,t,e);return;case 3:if(t=i.updateQueue,t!==null){if(e=null,i.child!==null)switch(i.child.tag){case 5:e=i.child.stateNode;break;case 1:e=i.child.stateNode}Hc(i,t,e)}return;case 5:e=i.stateNode,t===null&&i.effectTag&4&&$p(i.type,i.memoizedProps)&&e.focus();return;case 6:return;case 4:return;case 12:return;case 13:i.memoizedState===null&&(i=i.alternate,i!==null&&(i=i.memoizedState,i!==null&&(i=i.dehydrated,i!==null&&Bp(i))));return;case 19:case 17:case 20:case 21:return}throw Error(C(163))}function sd(e,t,i){switch(typeof Ba=="function"&&Ba(t),t.tag){case 0:case 11:case 14:case 15:case 22:if(e=t.updateQueue,e!==null&&(e=e.lastEffect,e!==null)){var n=e.next;Yt(97<i?97:i,function(){var r=n;do{var s=r.destroy;if(s!==void 0){var o=t;try{s()}catch(a){hi(o,a)}}r=r.next}while(r!==n)})}break;case 1:rd(t),i=t.stateNode,typeof i.componentWillUnmount=="function"&&Xx(t,i);break;case 5:rd(t);break;case 4:Df(e,t,i)}}function zf(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,e.stateNode=null,t!==null&&zf(t)}function od(e){return e.tag===5||e.tag===3||e.tag===4}function ad(e){e:{for(var t=e.return;t!==null;){if(od(t)){var i=t;break e}t=t.return}throw Error(C(160))}switch(t=i.stateNode,i.tag){case 5:var n=!1;break;case 3:t=t.containerInfo,n=!0;break;case 4:t=t.containerInfo,n=!0;break;default:throw Error(C(161))}i.effectTag&16&&(Ln(t,""),i.effectTag&=-17);e:t:for(i=e;;){for(;i.sibling===null;){if(i.return===null||od(i.return)){i=null;break e}i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.effectTag&2||i.child===null||i.tag===4)continue t;i.child.return=i,i=i.child}if(!(i.effectTag&2)){i=i.stateNode;break e}}n?ka(e,i,t):Na(e,i,t)}function ka(e,t,i){var n=e.tag,r=n===5||n===6;if(r)e=r?e.stateNode:e.stateNode.instance,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=os));else if(n!==4&&(e=e.child,e!==null))for(ka(e,t,i),e=e.sibling;e!==null;)ka(e,t,i),e=e.sibling}function Na(e,t,i){var n=e.tag,r=n===5||n===6;if(r)e=r?e.stateNode:e.stateNode.instance,t?i.insertBefore(e,t):i.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(Na(e,t,i),e=e.sibling;e!==null;)Na(e,t,i),e=e.sibling}function Df(e,t,i){for(var n=t,r=!1,s,o;;){if(!r){r=n.return;e:for(;;){if(r===null)throw Error(C(160));switch(s=r.stateNode,r.tag){case 5:o=!1;break e;case 3:s=s.containerInfo,o=!0;break e;case 4:s=s.containerInfo,o=!0;break e}r=r.return}r=!0}if(n.tag===5||n.tag===6){e:for(var a=e,l=n,u=i,h=l;;)if(sd(a,h,u),h.child!==null&&h.tag!==4)h.child.return=h,h=h.child;else{if(h===l)break e;for(;h.sibling===null;){if(h.return===null||h.return===l)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}o?(a=s,l=n.stateNode,a.nodeType===8?a.parentNode.removeChild(l):a.removeChild(l)):s.removeChild(n.stateNode)}else if(n.tag===4){if(n.child!==null){s=n.stateNode.containerInfo,o=!0,n.child.return=n,n=n.child;continue}}else if(sd(e,n,i),n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return,n.tag===4&&(r=!1)}n.sibling.return=n.return,n=n.sibling}}function Io(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:Nf(3,t);return;case 1:return;case 5:var i=t.stateNode;if(i!=null){var n=t.memoizedProps,r=e!==null?e.memoizedProps:n;e=t.type;var s=t.updateQueue;if(t.updateQueue=null,s!==null){for(i[as]=n,e==="input"&&n.type==="radio"&&n.name!=null&&wp(i,n),ca(e,r),t=ca(e,n),r=0;r<s.length;r+=2){var o=s[r],a=s[r+1];o==="style"?Vp(i,a):o==="dangerouslySetInnerHTML"?Cp(i,a):o==="children"?Ln(i,a):bl(i,o,a,t)}switch(e){case"input":ea(i,n);break;case"textarea":yp(i,n);break;case"select":t=i._wrapperState.wasMultiple,i._wrapperState.wasMultiple=!!n.multiple,e=n.value,e!=null?Di(i,!!n.multiple,e,!1):t!==!!n.multiple&&(n.defaultValue!=null?Di(i,!!n.multiple,n.defaultValue,!0):Di(i,!!n.multiple,n.multiple?[]:"",!1))}}}return;case 6:if(t.stateNode===null)throw Error(C(162));t.stateNode.nodeValue=t.memoizedProps;return;case 3:t=t.stateNode,t.hydrate&&(t.hydrate=!1,Bp(t.containerInfo));return;case 12:return;case 13:if(i=t,t.memoizedState===null?n=!1:(n=!0,i=t.child,su=Ue()),i!==null)e:for(e=i;;){if(e.tag===5)s=e.stateNode,n?(s=s.style,typeof s.setProperty=="function"?s.setProperty("display","none","important"):s.display="none"):(s=e.stateNode,r=e.memoizedProps.style,r=r!=null&&r.hasOwnProperty("display")?r.display:null,s.style.display=Op("display",r));else if(e.tag===6)e.stateNode.nodeValue=n?"":e.memoizedProps;else if(e.tag===13&&e.memoizedState!==null&&e.memoizedState.dehydrated===null){s=e.child.sibling,s.return=e,e=s;continue}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===i)break;for(;e.sibling===null;){if(e.return===null||e.return===i)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}ld(t);return;case 19:ld(t);return;case 17:return}throw Error(C(163))}function ld(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new Gx),t.forEach(function(n){var r=lS.bind(null,e,n);i.has(n)||(i.add(n),n.then(r,r))})}}var qx=typeof WeakMap=="function"?WeakMap:Map;function Lf(e,t,i){i=Wt(i,null),i.tag=3,i.payload={element:null};var n=t.value;return i.callback=function(){Is||(Is=!0,Pa=n),Ta(e,t)},i}function jf(e,t,i){i=Wt(i,null),i.tag=3;var n=e.type.getDerivedStateFromError;if(typeof n=="function"){var r=t.value;i.payload=function(){return Ta(e,t),n(r)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(i.callback=function(){typeof n!="function"&&($t===null?$t=new Set([this]):$t.add(this),Ta(e,t));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),i}var eS=Math.ceil,ys=qe.ReactCurrentDispatcher,Bf=qe.ReactCurrentOwner,he=0,nu=8,et=16,ht=32,ci=0,xs=1,Rf=2,Ss=3,Fs=4,ru=5,O=he,Be=null,W=null,ke=0,de=ci,Qs=null,xt=1073741823,Wn=1073741823,Cs=null,Hn=0,Ms=!1,su=0,_f=500,N=null,Is=!1,Pa=null,$t=null,bs=!1,En=null,pn=90,ni=null,Tn=0,za=null,Fr=0;function dt(){return(O&(et|ht))!==he?1073741821-(Ue()/10|0):Fr!==0?Fr:Fr=1073741821-(Ue()/10|0)}function di(e,t,i){if(t=t.mode,(t&2)===0)return 1073741823;var n=Hs();if((t&4)===0)return n===99?1073741823:1073741822;if((O&et)!==he)return ke;if(i!==null)e=Hr(e,i.timeoutMs|0||5e3,250);else switch(n){case 99:e=1073741823;break;case 98:e=Hr(e,150,100);break;case 97:case 96:e=Hr(e,5e3,250);break;case 95:e=2;break;default:throw Error(C(326))}return Be!==null&&e===ke&&--e,e}function Ft(e,t){if(50<Tn)throw Tn=0,za=null,Error(C(185));if(e=Zs(e,t),e!==null){var i=Hs();t===1073741823?(O&nu)!==he&&(O&(et|ht))===he?Da(e):(Re(e),O===he&&pt()):Re(e),(O&4)===he||i!==98&&i!==99||(ni===null?ni=new Map([[e,t]]):(i=ni.get(e),(i===void 0||i>t)&&ni.set(e,t)))}}function Zs(e,t){e.expirationTime<t&&(e.expirationTime=t);var i=e.alternate;i!==null&&i.expirationTime<t&&(i.expirationTime=t);var n=e.return,r=null;if(n===null&&e.tag===3)r=e.stateNode;else for(;n!==null;){if(i=n.alternate,n.childExpirationTime<t&&(n.childExpirationTime=t),i!==null&&i.childExpirationTime<t&&(i.childExpirationTime=t),n.return===null&&n.tag===3){r=n.stateNode;break}n=n.return}return r!==null&&(Be===r&&(Ys(t),de===Fs&&si(r,ke)),Gf(r,t)),r}function Qr(e){var t=e.lastExpiredTime;if(t!==0||(t=e.firstPendingTime,!Yf(e,t)))return t;var i=e.lastPingedTime;return e=e.nextKnownPendingLevel,e=i>e?i:e,2>=e&&t!==e?0:e}function Re(e){if(e.lastExpiredTime!==0)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Uc(Da.bind(null,e));else{var t=Qr(e),i=e.callbackNode;if(t===0)i!==null&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var n=dt();if(t===1073741823?n=99:t===1||t===2?n=95:(n=10*(1073741821-t)-10*(1073741821-n),n=0>=n?99:250>=n?98:5250>=n?97:95),i!==null){var r=e.callbackPriority;if(e.callbackExpirationTime===t&&r>=n)return;i!==cf&&sf(i)}e.callbackExpirationTime=t,e.callbackPriority=n,t=t===1073741823?Uc(Da.bind(null,e)):hf(n,Of.bind(null,e),{timeout:10*(1073741821-t)-Ue()}),e.callbackNode=t}}}function Of(e,t){if(Fr=0,t)return t=dt(),Ra(e,t),Re(e),null;var i=Qr(e);if(i!==0){if(t=e.callbackNode,(O&(et|ht))!==he)throw Error(C(327));if(Gi(),e===Be&&i===ke||ri(e,i),W!==null){var n=O;O|=et;var r=Hf();do try{nS();break}catch(a){Wf(e,a)}while(1);if($l(),O=n,ys.current=r,de===xs)throw t=Qs,ri(e,i),si(e,i),Re(e),t;if(W===null)switch(r=e.finishedWork=e.current.alternate,e.finishedExpirationTime=i,n=de,Be=null,n){case ci:case xs:throw Error(C(345));case Rf:Ra(e,2<i?2:i);break;case Ss:if(si(e,i),n=e.lastSuspendedTime,i===n&&(e.nextKnownPendingLevel=La(r)),xt===1073741823&&(r=su+_f-Ue(),10<r)){if(Ms){var s=e.lastPingedTime;if(s===0||s>=i){e.lastPingedTime=i,ri(e,i);break}}if(s=Qr(e),s!==0&&s!==i)break;if(n!==0&&n!==i){e.lastPingedTime=n;break}e.timeoutHandle=wo(qt.bind(null,e),r);break}qt(e);break;case Fs:if(si(e,i),n=e.lastSuspendedTime,i===n&&(e.nextKnownPendingLevel=La(r)),Ms&&(r=e.lastPingedTime,r===0||r>=i)){e.lastPingedTime=i,ri(e,i);break}if(r=Qr(e),r!==0&&r!==i)break;if(n!==0&&n!==i){e.lastPingedTime=n;break}if(Wn!==1073741823?n=10*(1073741821-Wn)-Ue():xt===1073741823?n=0:(n=10*(1073741821-xt)-5e3,r=Ue(),i=10*(1073741821-i)-r,n=r-n,0>n&&(n=0),n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*eS(n/1960))-n,i<n&&(n=i)),10<n){e.timeoutHandle=wo(qt.bind(null,e),n);break}qt(e);break;case ru:if(xt!==1073741823&&Cs!==null){s=xt;var o=Cs;if(n=o.busyMinDurationMs|0,0>=n?n=0:(r=o.busyDelayMs|0,s=Ue()-(10*(1073741821-s)-(o.timeoutMs|0||5e3)),n=s<=r?0:r+n-s),10<n){si(e,i),e.timeoutHandle=wo(qt.bind(null,e),n);break}}qt(e);break;default:throw Error(C(329))}if(Re(e),e.callbackNode===t)return Of.bind(null,e)}}return null}function Da(e){var t=e.lastExpiredTime;if(t=t!==0?t:1073741823,(O&(et|ht))!==he)throw Error(C(327));if(Gi(),e===Be&&t===ke||ri(e,t),W!==null){var i=O;O|=et;var n=Hf();do try{iS();break}catch(r){Wf(e,r)}while(1);if($l(),O=i,ys.current=n,de===xs)throw i=Qs,ri(e,t),si(e,t),Re(e),i;if(W!==null)throw Error(C(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,Be=null,qt(e),Re(e)}return null}function tS(){if(ni!==null){var e=ni;ni=null,e.forEach(function(t,i){Ra(i,t),Re(i)}),pt()}}function Vf(e,t){var i=O;O|=1;try{return e(t)}finally{O=i,O===he&&pt()}}function Uf(e,t){var i=O;O&=-2,O|=nu;try{return e(t)}finally{O=i,O===he&&pt()}}function ri(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,ex(i)),W!==null)for(i=W.return;i!==null;){var n=i;switch(n.tag){case 1:n=n.type.childContextTypes,n!=null&&us();break;case 3:Fi(),K(Ee),K(ye);break;case 5:Gl(n);break;case 4:Fi();break;case 13:K(ne);break;case 19:K(ne);break;case 10:Fl(n)}i=i.return}Be=e,W=wi(e.current,null),ke=t,de=ci,Qs=null,Wn=xt=1073741823,Cs=null,Hn=0,Ms=!1}function Wf(e,t){do{try{if($l(),$r.current=ws,gs)for(var i=le.memoizedState;i!==null;){var n=i.queue;n!==null&&(n.pending=null),i=i.next}if(Lt=0,we=ve=le=null,gs=!1,W===null||W.return===null)return de=xs,Qs=t,W=null;e:{var r=e,s=W.return,o=W,a=t;if(t=ke,o.effectTag|=2048,o.firstEffect=o.lastEffect=null,a!==null&&typeof a=="object"&&typeof a.then=="function"){var l=a;if((o.mode&2)===0){var u=o.alternate;u?(o.updateQueue=u.updateQueue,o.memoizedState=u.memoizedState,o.expirationTime=u.expirationTime):(o.updateQueue=null,o.memoizedState=null)}var h=(ne.current&1)!==0,c=s;do{var m;if(m=c.tag===13){var v=c.memoizedState;if(v!==null)m=v.dehydrated!==null;else{var y=c.memoizedProps;m=y.fallback===void 0?!1:y.unstable_avoidThisFallback!==!0?!0:!h}}if(m){var S=c.updateQueue;if(S===null){var d=new Set;d.add(l),c.updateQueue=d}else S.add(l);if((c.mode&2)===0){if(c.effectTag|=64,o.effectTag&=-2981,o.tag===1)if(o.alternate===null)o.tag=17;else{var p=Wt(1073741823,null);p.tag=2,Ht(o,p)}o.expirationTime=1073741823;break e}a=void 0,o=t;var f=r.pingCache;if(f===null?(f=r.pingCache=new qx,a=new Set,f.set(l,a)):(a=f.get(l),a===void 0&&(a=new Set,f.set(l,a))),!a.has(o)){a.add(o);var g=aS.bind(null,r,l,o);l.then(g,g)}c.effectTag|=4096,c.expirationTime=t;break e}c=c.return}while(c!==null);a=Error((Mt(o.type)||"A React component")+` suspended while rendering, but no fallback UI was specified.
57
57
 
58
58
  Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+Tl(o))}de!==ru&&(de=Rf),a=iu(a,o),c=s;do{switch(c.tag){case 3:l=a,c.effectTag|=4096,c.expirationTime=t;var w=Lf(c,l,t);Wc(c,w);break e;case 1:l=a;var x=c.type,b=c.stateNode;if((c.effectTag&64)===0&&(typeof x.getDerivedStateFromError=="function"||b!==null&&typeof b.componentDidCatch=="function"&&($t===null||!$t.has(b)))){c.effectTag|=4096,c.expirationTime=t;var T=jf(c,l,t);Wc(c,T);break e}}c=c.return}while(c!==null)}W=Qf(W)}catch(L){t=L;continue}break}while(1)}function Hf(){var e=ys.current;return ys.current=ws,e===null?ws:e}function $f(e,t){e<xt&&2<e&&(xt=e),t!==null&&e<Wn&&2<e&&(Wn=e,Cs=t)}function Ys(e){e>Hn&&(Hn=e)}function iS(){for(;W!==null;)W=Ff(W)}function nS(){for(;W!==null&&!Ux();)W=Ff(W)}function Ff(e){var t=Zf(e.alternate,e,ke);return e.memoizedProps=e.pendingProps,t===null&&(t=Qf(e)),Bf.current=null,t}function Qf(e){W=e;do{var t=W.alternate;if(e=W.return,(W.effectTag&2048)===0){if(t=Zx(t,W,ke),ke===1||W.childExpirationTime!==1){for(var i=0,n=W.child;n!==null;){var r=n.expirationTime,s=n.childExpirationTime;r>i&&(i=r),s>i&&(i=s),n=n.sibling}W.childExpirationTime=i}if(t!==null)return t;e!==null&&(e.effectTag&2048)===0&&(e.firstEffect===null&&(e.firstEffect=W.firstEffect),W.lastEffect!==null&&(e.lastEffect!==null&&(e.lastEffect.nextEffect=W.firstEffect),e.lastEffect=W.lastEffect),1<W.effectTag&&(e.lastEffect!==null?e.lastEffect.nextEffect=W:e.firstEffect=W,e.lastEffect=W))}else{if(t=Yx(W),t!==null)return t.effectTag&=2047,t;e!==null&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(t=W.sibling,t!==null)return t;W=e}while(W!==null);return de===ci&&(de=ru),null}function La(e){var t=e.expirationTime;return e=e.childExpirationTime,t>e?t:e}function qt(e){var t=Hs();return Yt(99,rS.bind(null,e,t)),null}function rS(e,t){do Gi();while(En!==null);if((O&(et|ht))!==he)throw Error(C(327));var i=e.finishedWork,n=e.finishedExpirationTime;if(i===null)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,i===e.current)throw Error(C(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var r=La(i);if(e.firstPendingTime=r,n<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:n<=e.firstSuspendedTime&&(e.firstSuspendedTime=n-1),n<=e.lastPingedTime&&(e.lastPingedTime=0),n<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Be&&(W=Be=null,ke=0),1<i.effectTag?i.lastEffect!==null?(i.lastEffect.nextEffect=i,r=i.firstEffect):r=i:r=i.firstEffect,r!==null){var s=O;O|=ht,Bf.current=null,mo=Rr;var o=Ac();if(ha(o)){if("selectionStart"in o)var a={start:o.selectionStart,end:o.selectionEnd};else e:{a=(a=o.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var u=l.anchorOffset,h=l.focusNode;l=l.focusOffset;try{a.nodeType,h.nodeType}catch{a=null;break e}var c=0,m=-1,v=-1,y=0,S=0,d=o,p=null;t:for(;;){for(var f;d!==a||u!==0&&d.nodeType!==3||(m=c+u),d!==h||l!==0&&d.nodeType!==3||(v=c+l),d.nodeType===3&&(c+=d.nodeValue.length),(f=d.firstChild)!==null;)p=d,d=f;for(;;){if(d===o)break t;if(p===a&&++y===u&&(m=c),p===h&&++S===l&&(v=c),(f=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=f}a=m===-1||v===-1?null:{start:m,end:v}}else a=null}a=a||{start:0,end:0}}else a=null;vo={activeElementDetached:null,focusedElem:o,selectionRange:a},Rr=!1,N=r;do try{sS()}catch(k){if(N===null)throw Error(C(330));hi(N,k),N=N.nextEffect}while(N!==null);N=r;do try{for(o=e,a=t;N!==null;){var g=N.effectTag;if(g&16&&Ln(N.stateNode,""),g&128){var w=N.alternate;if(w!==null){var x=w.ref;x!==null&&(typeof x=="function"?x(null):x.current=null)}}switch(g&1038){case 2:ad(N),N.effectTag&=-3;break;case 6:ad(N),N.effectTag&=-3,Io(N.alternate,N);break;case 1024:N.effectTag&=-1025;break;case 1028:N.effectTag&=-1025,Io(N.alternate,N);break;case 4:Io(N.alternate,N);break;case 8:u=N,Df(o,u,a),zf(u)}N=N.nextEffect}}catch(k){if(N===null)throw Error(C(330));hi(N,k),N=N.nextEffect}while(N!==null);if(x=vo,w=Ac(),g=x.focusedElem,a=x.selectionRange,w!==g&&g&&g.ownerDocument&&Up(g.ownerDocument.documentElement,g)){for(a!==null&&ha(g)&&(w=a.start,x=a.end,x===void 0&&(x=w),"selectionStart"in g?(g.selectionStart=w,g.selectionEnd=Math.min(x,g.value.length)):(x=(w=g.ownerDocument||document)&&w.defaultView||window,x.getSelection&&(x=x.getSelection(),u=g.textContent.length,o=Math.min(a.start,u),a=a.end===void 0?o:Math.min(a.end,u),!x.extend&&o>a&&(u=a,a=o,o=u),u=bc(g,o),h=bc(g,a),u&&h&&(x.rangeCount!==1||x.anchorNode!==u.node||x.anchorOffset!==u.offset||x.focusNode!==h.node||x.focusOffset!==h.offset)&&(w=w.createRange(),w.setStart(u.node,u.offset),x.removeAllRanges(),o>a?(x.addRange(w),x.extend(h.node,h.offset)):(w.setEnd(h.node,h.offset),x.addRange(w)))))),w=[],x=g;x=x.parentNode;)x.nodeType===1&&w.push({element:x,left:x.scrollLeft,top:x.scrollTop});for(typeof g.focus=="function"&&g.focus(),g=0;g<w.length;g++)x=w[g],x.element.scrollLeft=x.left,x.element.scrollTop=x.top}Rr=!!mo,vo=mo=null,e.current=i,N=r;do try{for(g=e;N!==null;){var b=N.effectTag;if(b&36&&Kx(g,N.alternate,N),b&128){w=void 0;var T=N.ref;if(T!==null){var L=N.stateNode;switch(N.tag){case 5:w=L;break;default:w=L}typeof T=="function"?T(w):T.current=w}}N=N.nextEffect}}catch(k){if(N===null)throw Error(C(330));hi(N,k),N=N.nextEffect}while(N!==null);N=null,Wx(),O=s}else e.current=i;if(bs)bs=!1,En=e,pn=t;else for(N=r;N!==null;)t=N.nextEffect,N.nextEffect=null,N=t;if(t=e.firstPendingTime,t===0&&($t=null),t===1073741823?e===za?Tn++:(Tn=0,za=e):Tn=0,typeof ja=="function"&&ja(i.stateNode,n),Re(e),Is)throw Is=!1,e=Pa,Pa=null,e;return(O&nu)!==he||pt(),null}function sS(){for(;N!==null;){var e=N.effectTag;(e&256)!==0&&Jx(N.alternate,N),(e&512)===0||bs||(bs=!0,hf(97,function(){return Gi(),null})),N=N.nextEffect}}function Gi(){if(pn!==90){var e=97<pn?97:pn;return pn=90,Yt(e,oS)}}function oS(){if(En===null)return!1;var e=En;if(En=null,(O&(et|ht))!==he)throw Error(C(331));var t=O;for(O|=ht,e=e.current.firstEffect;e!==null;){try{var i=e;if((i.effectTag&512)!==0)switch(i.tag){case 0:case 11:case 15:case 22:Nf(5,i),Pf(5,i)}}catch(n){if(e===null)throw Error(C(330));hi(e,n)}i=e.nextEffect,e.nextEffect=null,e=i}return O=t,pt(),!0}function ud(e,t,i){t=iu(i,t),t=Lf(e,t,1073741823),Ht(e,t),e=Zs(e,1073741823),e!==null&&Re(e)}function hi(e,t){if(e.tag===3)ud(e,e,t);else for(var i=e.return;i!==null;){if(i.tag===3){ud(i,e,t);break}else if(i.tag===1){var n=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&($t===null||!$t.has(n))){e=iu(t,e),e=jf(i,e,1073741823),Ht(i,e),i=Zs(i,1073741823),i!==null&&Re(i);break}}i=i.return}}function aS(e,t,i){var n=e.pingCache;n!==null&&n.delete(t),Be===e&&ke===i?de===Fs||de===Ss&&xt===1073741823&&Ue()-su<_f?ri(e,ke):Ms=!0:Yf(e,i)&&(t=e.lastPingedTime,t!==0&&t<i||(e.lastPingedTime=i,Re(e)))}function lS(e,t){var i=e.stateNode;i!==null&&i.delete(t),t=0,t===0&&(t=dt(),t=di(t,e,null)),e=Zs(e,t),e!==null&&Re(e)}var Zf;Zf=function(e,t,i){var n=t.expirationTime;if(e!==null){var r=t.pendingProps;if(e.memoizedProps!==r||Ee.current)lt=!0;else{if(n<i){switch(lt=!1,t.tag){case 3:ed(t),So();break;case 5:if(Qc(t),t.mode&4&&i!==1&&r.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:Te(t.type)&&Ur(t);break;case 4:Sa(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value,r=t.type._context,re(cs,r._currentValue),r._currentValue=n;break;case 13:if(t.memoizedState!==null)return n=t.child.childExpirationTime,n!==0&&n>=i?td(e,t,i):(re(ne,ne.current&1),t=Ct(e,t,i),t!==null?t.sibling:null);re(ne,ne.current&1);break;case 19:if(n=t.childExpirationTime>=i,(e.effectTag&64)!==0){if(n)return nd(e,t,i);t.effectTag|=64}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null),re(ne,ne.current),!n)return null}return Ct(e,t,i)}lt=!1}}else lt=!1;switch(t.expirationTime=0,t.tag){case 2:if(n=t.type,e!==null&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,r=Hi(t,ye.current),ji(t,i),r=Kl(null,t,n,e,r,i),t.effectTag|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,Te(n)){var s=!0;Ur(t)}else s=!1;t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Ql(t);var o=n.getDerivedStateFromProps;typeof o=="function"&&ps(t,n,o,e),r.updater=$s,t.stateNode=r,r._reactInternalFiber=t,xa(t,n,e,i),t=Aa(null,t,n,!0,s,i)}else t.tag=0,ze(null,t,r,i),t=t.child;return t;case 16:e:{if(r=t.elementType,e!==null&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,R0(r),r._status!==1)throw r._result;switch(r=r._result,t.type=r,s=t.tag=dS(r),e=Ke(r,e),s){case 0:t=ba(null,t,r,e,i);break e;case 1:t=qc(null,t,r,e,i);break e;case 11:t=Jc(null,t,r,e,i);break e;case 14:t=Kc(null,t,r,Ke(r.type,e),n,i);break e}throw Error(C(306,r,""))}return t;case 0:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:Ke(n,r),ba(e,t,n,r,i);case 1:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:Ke(n,r),qc(e,t,n,r,i);case 3:if(ed(t),n=t.updateQueue,e===null||n===null)throw Error(C(282));if(n=t.pendingProps,r=t.memoizedState,r=r!==null?r.element:null,Zl(e,t),On(t,n,null,i),n=t.memoizedState.element,n===r)So(),t=Ct(e,t,i);else{if((r=t.stateNode.hydrate)&&(jt=Li(t.stateNode.containerInfo.firstChild),St=t,r=ui=!0),r)for(i=Yl(t,null,n,i),t.child=i;i;)i.effectTag=i.effectTag&-3|1024,i=i.sibling;else ze(e,t,n,i),So();t=t.child}return t;case 5:return Qc(t),e===null&&Ia(t),n=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,pa(n,r)?o=null:s!==null&&pa(n,s)&&(t.effectTag|=16),Af(e,t),t.mode&4&&i!==1&&r.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(ze(e,t,o,i),t=t.child),t;case 6:return e===null&&Ia(t),null;case 13:return td(e,t,i);case 4:return Sa(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=$i(t,null,n,i):ze(e,t,n,i),t.child;case 11:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:Ke(n,r),Jc(e,t,n,r,i);case 7:return ze(e,t,t.pendingProps,i),t.child;case 8:return ze(e,t,t.pendingProps.children,i),t.child;case 12:return ze(e,t,t.pendingProps.children,i),t.child;case 10:e:{n=t.type._context,r=t.pendingProps,o=t.memoizedProps,s=r.value;var a=t.type._context;if(re(cs,a._currentValue),a._currentValue=s,o!==null)if(a=o.value,s=mi(a,s)?0:(typeof n._calculateChangedBits=="function"?n._calculateChangedBits(a,s):1073741823)|0,s===0){if(o.children===r.children&&!Ee.current){t=Ct(e,t,i);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var u=l.firstContext;u!==null;){if(u.context===n&&(u.observedBits&s)!==0){a.tag===1&&(u=Wt(i,null),u.tag=2,Ht(a,u)),a.expirationTime<i&&(a.expirationTime=i),u=a.alternate,u!==null&&u.expirationTime<i&&(u.expirationTime=i),ff(a.return,i),l.expirationTime<i&&(l.expirationTime=i);break}u=u.next}}else o=a.tag===10&&a.type===t.type?null:a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}ze(e,t,r.children,i),t=t.child}return t;case 9:return r=t.type,s=t.pendingProps,n=s.children,ji(t,i),r=$e(r,s.unstable_observedBits),n=n(r),t.effectTag|=1,ze(e,t,n,i),t.child;case 14:return r=t.type,s=Ke(r,t.pendingProps),s=Ke(r.type,s),Kc(e,t,r,s,n,i);case 15:return bf(e,t,t.type,t.pendingProps,n,i);case 17:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:Ke(n,r),e!==null&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,Te(n)?(e=!0,Ur(t)):e=!1,ji(t,i),mf(t,n,r),xa(t,n,r,i),Aa(null,t,n,!0,e,i);case 19:return nd(e,t,i)}throw Error(C(156,t.tag))};var ja=null,Ba=null;function uS(e){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined")return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var i=t.inject(e);ja=function(n){try{t.onCommitFiberRoot(i,n,void 0,(n.current.effectTag&64)===64)}catch{}},Ba=function(n){try{t.onCommitFiberUnmount(i,n)}catch{}}}catch{}return!0}function cS(e,t,i,n){this.tag=e,this.key=i,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=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function ut(e,t,i,n){return new cS(e,t,i,n)}function ou(e){return e=e.prototype,!(!e||!e.isReactComponent)}function dS(e){if(typeof e=="function")return ou(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Al)return 11;if(e===El)return 14}return 2}function wi(e,t){var i=e.alternate;return i===null?(i=ut(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.effectTag=0,i.nextEffect=null,i.firstEffect=null,i.lastEffect=null),i.childExpirationTime=e.childExpirationTime,i.expirationTime=e.expirationTime,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Zr(e,t,i,n,r,s){var o=2;if(n=e,typeof e=="function")ou(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case ei:return Bt(i.children,r,s,t);case B0:o=8,r|=7;break;case dp:o=8,r|=1;break;case Lr:return e=ut(12,i,t,r|8),e.elementType=Lr,e.type=Lr,e.expirationTime=s,e;case jr:return e=ut(13,i,t,r),e.type=jr,e.elementType=jr,e.expirationTime=s,e;case Ko:return e=ut(19,i,t,r),e.elementType=Ko,e.expirationTime=s,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case hp:o=10;break e;case pp:o=9;break e;case Al:o=11;break e;case El:o=14;break e;case fp:o=16,n=null;break e;case gp:o=22;break e}throw Error(C(130,e==null?e:typeof e,""))}return t=ut(o,i,t,r),t.elementType=e,t.type=n,t.expirationTime=s,t}function Bt(e,t,i,n){return e=ut(7,e,n,t),e.expirationTime=i,e}function bo(e,t,i){return e=ut(6,e,null,t),e.expirationTime=i,e}function Ao(e,t,i){return t=ut(4,e.children!==null?e.children:[],e.key,t),t.expirationTime=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function hS(e,t,i){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=i,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Yf(e,t){var i=e.firstSuspendedTime;return e=e.lastSuspendedTime,i!==0&&i>=t&&e<=t}function si(e,t){var i=e.firstSuspendedTime,n=e.lastSuspendedTime;i<t&&(e.firstSuspendedTime=t),(n>t||i===0)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Gf(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var i=e.firstSuspendedTime;i!==0&&(t>=i?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function Ra(e,t){var i=e.lastExpiredTime;(i===0||i>t)&&(e.lastExpiredTime=t)}function As(e,t,i,n){var r=t.current,s=dt(),o=An.suspense;s=di(s,r,o);e:if(i){i=i._reactInternalFiber;t:{if(Si(i)!==i||i.tag!==1)throw Error(C(170));var a=i;do{switch(a.tag){case 3:a=a.stateNode.context;break t;case 1:if(Te(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break t}}a=a.return}while(a!==null);throw Error(C(171))}if(i.tag===1){var l=i.type;if(Te(l)){i=rf(i,l,a);break e}}i=a}else i=Zt;return t.context===null?t.context=i:t.pendingContext=i,t=Wt(s,o),t.payload={element:e},n=n===void 0?null:n,n!==null&&(t.callback=n),Ht(r,t),Ft(r,s),s}function Eo(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function cd(e,t){e=e.memoizedState,e!==null&&e.dehydrated!==null&&e.retryTime<t&&(e.retryTime=t)}function au(e,t){cd(e,t),(e=e.alternate)&&cd(e,t)}function lu(e,t,i){i=i!=null&&i.hydrate===!0;var n=new hS(e,t,i),r=ut(3,null,null,t===2?7:t===1?3:0);n.current=r,r.stateNode=n,Ql(r),e[qn]=n.current,i&&t!==0&&H0(e,e.nodeType===9?e:e.ownerDocument),this._internalRoot=n}lu.prototype.render=function(e){As(e,this._internalRoot,null,null)};lu.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;As(null,e,null,function(){t[qn]=null})};function sr(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function pS(e,t){if(t||(t=e?e.nodeType===9?e.documentElement:e.firstChild:null,t=!(!t||t.nodeType!==1||!t.hasAttribute("data-reactroot"))),!t)for(var i;i=e.lastChild;)e.removeChild(i);return new lu(e,0,t?{hydrate:!0}:void 0)}function Gs(e,t,i,n,r){var s=i._reactRootContainer;if(s){var o=s._internalRoot;if(typeof r=="function"){var a=r;r=function(){var u=Eo(o);a.call(u)}}As(t,o,e,r)}else{if(s=i._reactRootContainer=pS(i,n),o=s._internalRoot,typeof r=="function"){var l=r;r=function(){var u=Eo(o);l.call(u)}}Uf(function(){As(t,o,e,r)})}return Eo(o)}function fS(e,t,i){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Mi,key:n==null?null:""+n,children:e,containerInfo:t,implementation:i}}Lp=function(e){if(e.tag===13){var t=Hr(dt(),150,100);Ft(e,t),au(e,t)}};zl=function(e){e.tag===13&&(Ft(e,3),au(e,3))};jp=function(e){if(e.tag===13){var t=dt();t=di(t,e,null),Ft(e,t),au(e,t)}};Jo=function(e,t,i){switch(t){case"input":if(ea(e,i),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var n=i[t];if(n!==e&&n.form===e.form){var r=Ol(n);if(!r)throw Error(C(90));vp(n),ea(n,r)}}}break;case"textarea":yp(e,i);break;case"select":t=i.value,t!=null&&Di(e,!!i.multiple,t,!1)}};xl=Vf;lp=function(e,t,i,n,r){var s=O;O|=4;try{return Yt(98,e.bind(null,t,i,n,r))}finally{O=s,O===he&&pt()}};Sl=function(){(O&(1|et|ht))===he&&(tS(),Gi())};up=function(e,t){var i=O;O|=2;try{return e(t)}finally{O=i,O===he&&pt()}};function Xf(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!sr(t))throw Error(C(200));return fS(e,t,null,i)}var gS={Events:[tr,gi,Ol,sp,Xo,Wi,function(e){Nl(e,ix)},op,ap,Vs,Os,Gi,{current:!1}]};(function(e){var t=e.findFiberByHostInstance;return uS(Se({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:qe.ReactCurrentDispatcher,findHostInstanceByFiber:function(i){return i=kp(i),i===null?null:i.stateNode},findFiberByHostInstance:function(i){return t?t(i):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:er,bundleType:0,version:"16.14.0",rendererPackageName:"react-dom"});Fe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=gS;Fe.createPortal=Xf;Fe.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternalFiber;if(t===void 0)throw typeof e.render=="function"?Error(C(188)):Error(C(268,Object.keys(e)));return e=kp(t),e=e===null?null:e.stateNode,e};Fe.flushSync=function(e,t){if((O&(et|ht))!==he)throw Error(C(187));var i=O;O|=1;try{return Yt(99,e.bind(null,t))}finally{O=i,pt()}};Fe.hydrate=function(e,t,i){if(!sr(t))throw Error(C(200));return Gs(null,e,t,!0,i)};Fe.render=function(e,t,i){if(!sr(t))throw Error(C(200));return Gs(null,e,t,!1,i)};Fe.unmountComponentAtNode=function(e){if(!sr(e))throw Error(C(40));return e._reactRootContainer?(Uf(function(){Gs(null,null,e,!1,function(){e._reactRootContainer=null,e[qn]=null})}),!0):!1};Fe.unstable_batchedUpdates=Vf;Fe.unstable_createPortal=function(e,t){return Xf(e,t,2<arguments.length&&arguments[2]!==void 0?arguments[2]:null)};Fe.unstable_renderSubtreeIntoContainer=function(e,t,i,n){if(!sr(i))throw Error(C(200));if(e==null||e._reactInternalFiber===void 0)throw Error(C(38));return Gs(e,t,i,!1,n)};Fe.version="16.14.0";function Jf(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Jf)}catch(e){console.error(e)}}Jf(),qh.exports=Fe;var dd=qh.exports,mS=Object.defineProperty,vS=Object.defineProperties,wS=Object.getOwnPropertyDescriptors,hd=Object.getOwnPropertySymbols,yS=Object.prototype.hasOwnProperty,xS=Object.prototype.propertyIsEnumerable,pd=(e,t,i)=>t in e?mS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,Le=(e,t)=>{for(var i in t||(t={}))yS.call(t,i)&&pd(e,i,t[i]);if(hd)for(var i of hd(t))xS.call(t,i)&&pd(e,i,t[i]);return e};const Kf={src:"",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},qf={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let kt=qf;function SS(e){kt=Le(Le({},qf),e)}function Er(e,t){if(e.paused)return e.currentTime;const i=function(n){if(n.player)return n.player.beginTimestamp+n.player.progressTime;if(n.room)return n.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const CS=navigator.userAgent.includes("Safari"),MS=[".aac",".mid",".midi",".mp3",".ogg",".oga",".wav",".weba"];var IS=typeof global=="object"&&global&&global.Object===Object&&global,bS=typeof self=="object"&&self&&self.Object===Object&&self,eg=IS||bS||Function("return this")(),Es=eg.Symbol,tg=Object.prototype,AS=tg.hasOwnProperty,ES=tg.toString,an=Es?Es.toStringTag:void 0,TS=Object.prototype.toString,fd=Es?Es.toStringTag:void 0;function kS(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":fd&&fd in Object(e)?function(t){var i=AS.call(t,an),n=t[an];try{t[an]=void 0;var r=!0}catch{}var s=ES.call(t);return r&&(i?t[an]=n:delete t[an]),s}(e):function(t){return TS.call(t)}(e)}var NS=/\s/,PS=/^\s+/;function zS(e){return e&&e.slice(0,function(t){for(var i=t.length;i--&&NS.test(t.charAt(i)););return i}(e)+1).replace(PS,"")}function _a(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var DS=/^[-+]0x[0-9a-f]+$/i,LS=/^0b[01]+$/i,jS=/^0o[0-7]+$/i,BS=parseInt;function gd(e){if(typeof e=="number")return e;if(function(n){return typeof n=="symbol"||function(r){return r!=null&&typeof r=="object"}(n)&&kS(n)=="[object Symbol]"}(e))return NaN;if(_a(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=_a(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=zS(e);var i=LS.test(e);return i||jS.test(e)?BS(e.slice(2),i?2:8):DS.test(e)?NaN:+e}var To=function(){return eg.Date.now()},RS=Math.max,_S=Math.min;function Tr(e,t,i){var n,r,s,o,a,l,u=0,h=!1,c=!1,m=!0;if(typeof e!="function")throw new TypeError("Expected a function");function v(g){var w=n,x=r;return n=r=void 0,u=g,o=e.apply(x,w)}function y(g){return u=g,a=setTimeout(d,t),h?v(g):o}function S(g){var w=g-l;return l===void 0||w>=t||w<0||c&&g-u>=s}function d(){var g=To();if(S(g))return p(g);a=setTimeout(d,function(w){var x=t-(w-l);return c?_S(x,s-(w-u)):x}(g))}function p(g){return a=void 0,m&&n?v(g):(n=r=void 0,o)}function f(){var g=To(),w=S(g);if(n=arguments,r=this,l=g,w){if(a===void 0)return y(l);if(c)return clearTimeout(a),a=setTimeout(d,t),v(l)}return a===void 0&&(a=setTimeout(d,t)),o}return t=gd(t)||0,_a(i)&&(h=!!i.leading,s=(c="maxWait"in i)?RS(gd(i.maxWait)||0,t):s,m="trailing"in i?!!i.trailing:m),f.cancel=function(){a!==void 0&&clearTimeout(a),u=0,n=l=r=a=void 0},f.flush=function(){return a===void 0?o:p(To())},f}class md extends yi.exports.Component{constructor(t){super(t),this.seeking=!1,this.mobileSeeking=!1,this.track=null,this.hoverTime=null,this.offset=0,this.secondsPrefix="00:00:",this.minutesPrefix="00:",this.seekPause=!1,this.handleTouchSeeking=i=>{let n=0;for(let r=0;r<i.changedTouches.length;r++)n=i.changedTouches[r].pageX;n=n<0?0:n,this.mobileSeeking&&this.changeCurrentTimePosition(n)},this.handleSeeking=i=>{this.seeking&&this.changeCurrentTimePosition(i.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(i,n)=>{if(this.track){const r=this.props.scale||1;let s;s=i?0:(n.pageX-this.track.getBoundingClientRect().left)/r,this.setState({seekHoverPosition:s,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=i=>{this.setSeeking(!1,i),this.onMouseUp()},this.setSeeking=(i,n)=>{n.preventDefault(),this.handleSeeking(n),this.seeking=i,this.setState({seekHoverPosition:i?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=i=>{this.mobileSeeking=i,this.setState({seekHoverPosition:i?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const i=Le(Le({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return F.createElement("div",{className:"buffered",style:i})}return null},this.renderProgress=()=>{const i=Le(Le({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return F.createElement("div",{className:"connect",style:i})},this.renderHoverProgress=()=>{const i=Le(Le({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return F.createElement("div",{className:"seek-hover",style:i})},this.renderThumb=()=>F.createElement("div",{className:this.isThumbActive()?"thumb active":"thumb",style:this.getThumbHandlerPosition()},F.createElement("div",{style:{backgroundColor:this.props.thumbColor},className:"handler"})),this.onMouseDown=i=>{var n,r;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,i),(r=(n=this.props).onSeekStart)==null||r.call(n)},this.onMouseUp=()=>{var i,n;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),(n=(i=this.props).onSeekEnd)==null||n.call(i)},this.props.secondsPrefix&&(this.secondsPrefix=this.props.secondsPrefix),this.props.minutesPrefix&&(this.minutesPrefix=this.props.minutesPrefix),this.state={ready:!1,trackWidth:0,seekHoverPosition:0}}componentDidMount(){this.setTrackWidthState(),window.addEventListener("resize",this.setTrackWidthState),window.addEventListener("mousemove",this.handleSeeking),window.addEventListener("mouseup",this.mouseSeekingHandler),window.addEventListener("touchmove",this.handleTouchSeeking),window.addEventListener("touchend",this.mobileTouchSeekingHandler)}componentWillUnmount(){window.removeEventListener("resize",this.setTrackWidthState),window.removeEventListener("mousemove",this.handleSeeking),window.removeEventListener("mouseup",this.mouseSeekingHandler),window.removeEventListener("touchmove",this.handleTouchSeeking),window.removeEventListener("touchend",this.mobileTouchSeekingHandler)}changeCurrentTimePosition(t){if(this.track){const i=this.props.scale||1;let n=(t-this.track.getBoundingClientRect().left)/i;n=Math.min(this.state.trackWidth,Math.max(0,n)),this.setState({seekHoverPosition:n});const r=+(n/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(r)}}getPositionStyle(t){return{transform:`scaleX(${100*t/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let t=0;return this.hoverTime&&(t=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(t<0?t=0:t+this.hoverTime.offsetWidth>this.state.trackWidth&&(t=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${t}px)`}}secondsToTime(t){t=Math.round(t+this.offset);const i=Math.floor(t/3600),n=t%3600,r=Math.floor(n/60),s=Math.ceil(n%60);return{hh:i.toString(),mm:r<10?"0"+r:r.toString(),ss:s<10?"0"+s:s.toString()}}getHoverTime(){const t=100*this.state.seekHoverPosition/this.state.trackWidth,i=Math.floor(+t*(this.props.total/100)),n=this.secondsToTime(i);return this.props.total+this.offset<60?this.secondsPrefix+n.ss:this.props.total+this.offset<3600?this.minutesPrefix+n.mm+":"+n.ss:n.hh+":"+n.mm+":"+n.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:F.createElement("div",{className:this.isThumbActive()?"hover-time active":"hover-time",style:this.getHoverTimePosition(),ref:t=>this.hoverTime=t},this.getHoverTime())}render(){return F.createElement("div",{className:"seek-slider"},F.createElement("div",{className:"track",ref:t=>this.track=t,onMouseMove:t=>this.handleTrackHover(!1,t),onMouseLeave:t=>this.handleTrackHover(!0,t),onMouseDown:this.onMouseDown,onTouchStart:t=>{this.setMobileSeeking(!0),this.onMouseDown(t)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},F.createElement("div",{className:"main"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class OS extends yi.exports.Component{constructor(t){super(t),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:i}=this.props;i?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:i}=this.props;return i?F.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg=="}):F.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg=="})},this.operationVolumeButton=()=>this.props.volume>.9?F.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo="}):this.props.volume===0?F.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg=="}):F.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo="}),this.handleClickVolume=()=>{this.props.volume===0?this.stageVolume!==0?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=i=>{this.setState({currentTime:i}),i&&this.changeTime(i)},this.changeTime=Tr(i=>{this.props.setCurrentTime(i)},50),this.onVolumeChange=i=>{this.changeVolume(i),this.setState({seekVolume:i/100})},this.changeVolume=Tr(i=>{this.props.setVolume(i/100)},50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=Tr(()=>{this.onVolumeSeeking=!1},500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=Tr(()=>{this.setState({isPlayerSeeking:!1})},500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=t.volume}componentDidMount(){this.updateVolumeTimer=setInterval(()=>{this.onVolumeSeeking||this.setState({seekVolume:this.props.volume}),this.state.isPlayerSeeking||this.setState({currentTime:this.props.currentTime})},100)}componentWillUnmount(){this.updateVolumeTimer&&clearInterval(this.updateVolumeTimer)}render(){const{duration:t,currentTime:i}=this.props;return F.createElement("div",{className:"player-controller",style:{opacity:this.props.visible?"1":"0"}},F.createElement("div",{className:"player-controller-progress"},F.createElement(md,{total:t,current:this.state.currentTime,onChange:this.onChange,buffered:this.props.buffered,bufferColor:"rgba(255,255,255,0.3)",hideHoverTime:!0,limitTimeTooltipBySides:!0,onSeekStart:this.onProgressSeekStart,onSeekEnd:this.onProgressSeekEnd,play:this.props.play,pause:this.props.pause,paused:this.props.paused,scale:this.props.scale})),F.createElement("div",{className:"player-controller-actions"},F.createElement("div",{className:"player-controller-actions-left"},F.createElement("div",{onClick:this.onClickOperationButton,className:"player-controller-play"},this.operationButton()),F.createElement("div",{className:"player-volume-box",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},F.createElement("div",{onClick:this.handleClickVolume,className:"player-volume"},this.operationVolumeButton()),F.createElement("div",{className:"player-volume-slider"},F.createElement(md,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),F.createElement("div",{className:"player-mid-box-time"},vd(Math.floor(i/1e3))," /"," ",vd(Math.floor(t/1e3)))))}}function vd(e){const t=e%60,i=(e-t)/60;if(i>=60){const n=i%60;return`${ln((i-n)/60)}:${ln(n)}:${ln(t)}`}return`${ln(i)}:${ln(t)}`}function ln(e){return e<=9?`0${e}`:`${e}`}class VS extends yi.exports.Component{constructor(){super(...arguments),this.putAttributes=t=>{const{context:i}=this.props,n=i.getAttributes()||{};for(const r in t)n[r]!==t[r]&&i.updateAttributes([r],t[r])}}render(){const{context:t}=this.props,i=t.getRoom(),n=i?void 0:t.getDisplayer(),r=this.putAttributes;return F.createElement(US,{room:i,player:n,context:t,plugin:{putAttributes:r}})}}class US extends yi.exports.Component{constructor(t){super(t),this.alertMask=null,this.container=F.createRef(),this.controllerHiddenTimer=0,this.syncPlayerTimer=0,this.retryCount=0,this.decreaseRetryTimer=0,this.noSoundSyncCount=0,this.showController=()=>{this.setState({controllerVisible:!0}),this.debounceHidingController()},this.play=()=>{var i;const n=(i=this.props.room)==null?void 0:i.calibrationTimestamp;this.debug(">>> play",{paused:!1,hostTime:n}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:n})},this.pause=()=>{const i=Er(this.getAttributes(),this.props);this.debug(">>> pause",{paused:!0,currentTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:i})},this.setVolume=i=>{this.debug(">>> volume",{volume:i}),this.isEnabled()&&this.props.plugin.putAttributes({volume:i}),this.isEnabled()&&this.props.plugin.putAttributes({volume:i,muted:i===0})},this.setCurrentTime=i=>{var n;const r=(n=this.props.room)==null?void 0:n.calibrationTimestamp;this.debug(">>> seek",{currentTime:i/1e3,hostTime:r}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:i/1e3,hostTime:r})},this.resetPlayer=()=>{var i;(i=this.player)==null||i.autoplay(!1),this.state.NoSound||(this.debug(">>> ended",{paused:!0,currentTime:0}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:0}))},this.syncPlayerWithAttributes=()=>{var i;const n=this.getAttributes();if(!n)return;const r=this.player;if(!r||this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;r.paused()!==n.paused&&(this.debug("<<< paused -> %o",n.paused),n.paused?r.pause():(i=r.play())==null||i.catch(this.catchPlayFail)),r.muted()!==n.muted&&(this.debug("<<< muted -> %o",n.muted),r.muted(n.muted)),r.volume()!==n.volume&&(this.debug("<<< volume -> %o",n.volume),r.volume(n.volume));const s=Er(n,this.props);let o=kt.currentTimeMaxError;this.state.NoSound&&(o*=3),s>r.duration()?this.resetPlayer():Math.abs(r.currentTime()-s)>o&&(this.debug("<<< currentTime -> %o",s),r.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout(()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0},3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=i=>{var n,r;const s=String(i);if(CS&&s.includes("NotAllowedError")||s.includes("interact"))(n=this.player)==null||n.autoplay("any"),this.setState({NoSound:!0});else{const o=(r=this.player)==null?void 0:r.error();o&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug("catch videojs media error",o),this.setState({MediaError:!0}))),this.debug("catch error",i)}},this.fixPlayFail=()=>{this.debug("try to fix play state"),this.setState({NoSound:!1});const{muted:i,volume:n}=this.getAttributes();this.player&&(this.player.muted(i),this.player.volume(n))},this.initPlayer=async()=>{var i;(i=this.player)==null||i.dispose(),this.player=void 0,this.debug("creating elements ...");const{type:n,src:r,poster:s}=this.getAttributes(),o=document.createElement("div");o.setAttribute("data-vjs-player","");const a=document.createElement("video");a.className="video-js",s&&(a.poster=s),a.setAttribute("playsInline",""),a.setAttribute("webkit-playsinline","");const l=document.createElement("source");new URL(r).pathname.endsWith(".m3u8")?l.type="application/x-mpegURL":a.src=r,l.src=r,n&&(l.type=n),a.appendChild(l),o.appendChild(a),this.container.current.appendChild(o),await new Promise(h=>(window.requestAnimationFrame||window.setTimeout)(h)),this.debug("initializing videojs() ...");const u=hu.default(a);this.player=u,window.player=u,u.one("loadedmetadata",this.gracefullyUpdate),u.on("ready",()=>{var h;(h=kt.onPlayer)==null||h.call(kt,u),u.on("timeupdate",this.gracefullyUpdate),u.on("volumechange",this.gracefullyUpdate),u.on("seeked",this.gracefullyUpdate),u.on("play",this.gracefullyUpdate),u.on("pause",this.gracefullyUpdate),u.on("ended",this.resetPlayer)}),u.on("error",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=i=>{i&&(i.addEventListener("touchstart",this.fixPlayFail),i.addEventListener("click",this.fixPlayFail)),this.alertMask=i},this.setupReload=i=>{i&&(i.addEventListener("touchstart",this.initPlayer),i.addEventListener("click",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},t.room&&function(i){if(!i.calibrationTimestamp)throw new Error("@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.")}(t.room)}getAttributes(){const{context:t}=this.props;let i=t.getAttributes();if(i){if(i=Le(Le({},Kf),i),this.player){let r=Er(i,this.props),s=this.player.duration();!i.paused&&r>s&&(n=Le({},i),i=vS(n,wS({currentTime:0,paused:!0})),this.resetPlayer())}var n;return i}}isShowingPoster(){const t=this.getAttributes();return!(t!=null&&t.src)||MS.some(i=>t.src.endsWith(i))}render(){var t,i;if(!this.props.room&&!this.props.player)return null;const n=this.getAttributes();if(!n)return null;const r=1e3*(((t=this.player)==null?void 0:t.duration())||1e3),s=((i=this.player)==null?void 0:i.bufferedPercent())||0;return F.createElement("div",{className:this.isEnabled()?"vjs-p":"vjs-p disabled",onMouseEnter:this.showController,onMouseMove:this.showController},F.createElement("div",{className:"video-js-plugin-player",ref:this.container}),this.isShowingPoster()&&F.createElement("div",{className:"video-js-plugin-poster"},n.poster&&F.createElement("img",{src:n.poster,alt:"",draggable:!1})),F.createElement(OS,{duration:r,volume:n.volume,setVolume:this.setVolume,paused:n.paused,play:this.play,pause:this.pause,currentTime:1e3*Er(n,this.props),setCurrentTime:this.setCurrentTime,buffered:r*s,visible:!0}),this.state.NoSound&&F.createElement("div",{ref:this.setupAlert,className:"videojs-plugin-muted-alert"}),this.state.MediaError&&F.createElement("div",{className:"videojs-plugin-recovery-mode"},F.createElement("button",{ref:this.setupReload},"Reload Player")))}debug(t,...i){kt.verbose&&kt.log(`[MediaPlayer] ${t}`,...i)}componentDidMount(){this.debug("app version =","0.1.0-alpha.5"),this.debug("video.js version =",hu.default.VERSION),this.initPlayer(),this.props.context.emitter.on("attributesUpdate",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,kt.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,kt.retryInterval)}componentWillUnmount(){var t;this.debug("unmount"),this.props.context.emitter.off("attributesUpdate",this.syncPlayerWithAttributes),(t=this.player)==null||t.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const Oa={kind:"MediaPlayer",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit("destroy",{error:new Error("[MediaPlayer]: Missing 'attributes'.'src'.")});t=Le(Le({},Kf),t);const i=e.getBox();i.mountStyles(`.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgQAAACACAYAAAB0vHFxAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACBKADAAQAAAABAAAAgAAAAACE3oPTAAAKXUlEQVR4Ae3dYW4ktxEG0LW9FwkC2McycokAOUGAXMLwtQwYvomdP4akHUnNnm6SVUU+/xqpe8ji+yiDWz3a/e7L5v/98se//3pL8K9//O+7t19Hv85eX7RP9vnllz2h4/rkd+wz+ir/0cLfjv/9t1/6igABAgQIENhRwIFgx9StmQABAgQIPAg4EDyA+JIAAQIECOwo8HXHRVvzPIHRzwBHjz9PKudMo31Hj59TdZ2qsueXvb5sO0GHIFsi6iFAgAABAgECOgQB6KbsJ5Dtt0L6rWyPkeRXO+fs+WWvL1v6OgTZElEPAQIECBAIENAhCEA3ZT8Bzwj7WUaMJL8I9X5zZs8ve339kugzkg5BH0ejECBAgACB0gIOBKXjUzwBAgQIEOgj4EDQx9EoBAgQIECgtIADQen4FE+AAAECBPoIOBD0cTQKAQIECBAoLeC3DErHp/iWgE8Zt4RyX5df7nxa1Y3Ob/T4rfWtdl2HYLVErYcAAQIECFwQWL5DsPoJcvX1XdjTpd4iv1JxvStWfu9IfCORwLP7U4cgUXhKIUCAAAECUQIOBFHy5iVAgAABAokEHAgShaEUAgQIECAQJXD7MwTPPqOIWujVeUevb/T4V9ftfecE5HfOKetd8suajLoiBHQIItTNSYAAAQIEkgnc7hAkW0/3ckb/e9qjx+8OYsBvBOT3DUe5L+RXLjIFDxTQIRiIa2gCBAgQIFBFoNkh2P0Z2+j1jx4/+0asvv7q9d/dH9XXX73+3fO7u/7W+3fbHzoErR3hOgECBAgQ2ECg2SHwjG2DXRC4xOj9tdufAHpHLb/eonPHk9+xd7TPcXX9r+oQ9Dc1IgECBAgQKCfgQFAuMgUTIECAAIH+Ag4E/U2NSIAAAQIEygk0P0MQvaLsz3hb9bWu840WOJ5ffsc+2a/KL3tC6jsSmL1/dQiO0nCNAAECBAhsItDsEMw+oTzrHl1f61OorevPrvfZ+6N9WvVmr09+xwnKr7ZP9vyOdcdfze7Tuz4dgvF7ygwECBAgQCC9QLNDkH0F0X+C45NdoHZ99rf8aguofqRA7/8/6BCMTMvYBAgQIECgiED5DkHvZyhFcjtdJp/TVClvlF/KWE4XJb/TVG68INB7f+kQXAjBWwgQIECAwGoCDgSrJWo9BAgQIEDggoADwQU0byFAgAABAqsJfO39DGI1IOuJFbA/Y/3vzi6/u4Kx7189v7vru/v+2HTfz65D8N7EdwgQIECAwHYCw3/LYLUT1HY7pLFg+TaAkl+WX/KAGuXJrwEUfLlaPjoEwRvG9AQIECBAIIPA8A5B779JKQOaGl4F5PtqUfGV/Cqm9lqz/F4tMr6qlo8OQcZdpCYCBAgQIDBZYHiHoNozlMn+5aeTb+0I5Se/2gK5q6/286VDkHs/qY4AAQIECEwRcCCYwmwSAgQIECCQW8CBIHc+qiNAgAABAlMEhn+GYMoqTEKAAAEC7wSqPcN+twDfmCqgQzCV22QECBAgQCCnQHiHoPoJtlV/63rObfFaVfX6X1dy7VX19Vev/1pqr++qvv7q9b8m4dVHAtny1SH4KCXfI0CAAAECmwmEdwiq/U1Om+2PL/Kpnbj85FdbYO3qs/186hCsvd+sjgABAgQInBJwIDjF5CYCBAgQILC2gAPB2vlaHQECBAgQOCUQ/hmCbJ+yPKW20U3yqR22/ORXW2Dt6qN/Ph/n1yFYe79ZHQECBAgQOCXgQHCKyU0ECBAgQGBtAQeCtfO1OgIECBAgcErAgeAUk5sIECBAgMDaAg4Ea+drdQQIECBA4JTA1+///OGnoztd52N/fC7g58PPx+e748sX+8P+qLQ/dAiO0nKNAAECBAhsIuBAsEnQlkmAAAECBI4EHAiOdFwjQIAAAQKbCDgQbBK0ZRIgQIAAgSMBB4IjHdcIECBAgMAmAuH/lsHP//zvb5tYl1ymfErG9lK0/F4oSr6QX8nYThcdne/j/DoEp6NzIwECBAgQWFfAgWDdbK2MAAECBAicFnAgOE3lRgIECBAgsK5A+GcIfv39Pz++5X18pvH2mtfzBeQz37znjPLrqTl/LPnNN585Y7Z8dQhmpm8uAgQIECCQVCC8Q1C9I9Cqv3U96b54Kat6/S8Lufii+vqr138xtpe3VV9/9fpfgvDiQ4Fs+eoQfBiTbxIgQIAAgb0EwjsEe3FbLQECBOYJZPsT6LyVm+mKgA7BFTXvIUCAAAECiwk4ECwWqOUQIECAAIErAg4EV9S8hwABAgQILCYw/DMEnmEttmMeliPfB5BiX8qvWGAP5crvASTZl9Xy0SFItoGUQ4AAAQIEIgSGdwiy/U1MEcgrzynf2unKT361BXJXX+3nS4cg935SHQECBAgQmCIwvENQ7RnKFPWFJpFv7TDlJ7/aArmrr/bzpUOQez+pjgABAgQITBH4Wu0EM0XFJGkE7M80UVwqRH6X2NK8afX87q7v7vvTBP13IToE2RJRDwECBAgQCBBwIAhANyUBAgQIEMgm4ECQLRH1ECBAgACBAIHhv2Uwek2rPcPp7cWnt+jc8eQ317v3bPLrLWq8twK995cOwVtdrwkQIECAwKYC5TsE1f4mqNn7jM9s8b7zya+v5+zR5DdbfK/5eu8vHYK99o/VEiBAgACBDwWaHYLezyg+rOLGN6Pra53QWtdvLP3UW6N9WkVmr09+xwnKr7ZP9vyOdcdfze7Tuz4dgvF7ygwECBAgQCC9QLNDEL2C3ieg3utp1de63rueZ8fLXt+z6+l9f3af7PX1zuPZ8bL7ZK/vWW/39xWYvT90CPrmZzQCBAgQIFBSwIGgZGyKJkCAAAECfQUcCPp6Go0AAQIECJQUaH6GIPpT1iVVFX1aIHp/zX5GdxqmyI3yKxLUJ2XK7xOYv78d7XNcXf+rOgT9TY1IgAABAgTKCTQ7BLv/CWr0+kePn31HVl9/9frv7o/q669e/+753V1/6/277Q8dgtaOcJ0AAQIECGwg0OwQbGBwuMTRz5BGj3+4OBdvC8jvNmHoAPIL5Td5MgEdgmSBKIcAAQIECEQI3O4QrP6MZfT6Ro8fsal2mlN+tdOWX+38VN9XQIegr6fRCBAgQIBASQEHgpKxKZoAAQIECPQVcCDo62k0AgQIECBQUuD2Zwiyr3r1Z4Srry/7/rpbn/zuCsa+X36x/mY/Fnh2f+oQHHu6SoAAAQIEthBYvkOwRYoW+anAsyfkTwdyIURAfiHs3SYdnd/o8btBFBlIh6BIUMokQIAAAQIjBRwIRuoamwABAgQIFBFwICgSlDIJECBAgMBIAQeCkbrGJkCAAAECRQQcCIoEpUwCBAgQIDBSwG8ZjNQ19nABnzIeTjx0AvkN5R0+ePb8stc3PKAnJ9AheBLM7QQIECBAYEUBHYIVU91oTf49+9phy09+IwXsr+d0dQie83I3AQIECBBYUkCHYMlY8yxq9DO80ePnkYypZLTv6PFj1PaZNXt+2evLtlN0CLIloh4CBAgQIBAg4EAQgG5KAgQIECCQTcCBIFsi6iFAgAABAgEC/wdVfx9UuC8B6AAAAABJRU5ErkJggg==);background-repeat:repeat-x;background-position:0 50%;display:flex;align-items:center;justify-content:center}.vjs-p .video-js-plugin-poster img{box-shadow:0 0 5px 10px #0006}.vjs-p .player-controller,.vjs-p .videojs-plugin-muted-alert{pointer-events:auto}.vjs-p.disabled .videojs-plugin-close-icon,.vjs-p.disabled .player-controller{pointer-events:none}.vjs-p .video-js-plugin-player{position:absolute;top:0;left:0;right:0;bottom:0}.video-js,[data-vjs-player]{width:100%;height:100%}.vjs-p .videojs-plugin-muted-alert{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43}.vjs-p .videojs-plugin-muted-alert:before{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43;content:"\\f104";background:rgba(0,0,0,.3);font-family:VideoJS;font-size:2em;display:flex;align-items:center;justify-content:center;color:#fff}.vjs-p .videojs-plugin-recovery-mode{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:44}.vjs-p .videojs-plugin-recovery-mode button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-p .seek-slider{position:relative;width:100%}.vjs-p .seek-slider:focus{outline:none}.vjs-p .seek-slider .track{padding:10px 0;cursor:pointer;outline:none}.vjs-p .seek-slider .track:focus{border:0;outline:none}.vjs-p .seek-slider .track .main{width:100%;height:3px;background-color:#ffffff4d;border-radius:30px;position:absolute;left:0;top:8.5px;transition:transform .4s;outline:none}.vjs-p .seek-slider .track .main:focus{border:0;outline:none}.vjs-p .seek-slider .track .main .buffered{position:absolute;background-color:#ffffff4d;width:100%;height:100%;transform:scaleX(.8);z-index:2;transform-origin:0 0}.vjs-p .seek-slider .track .main .seek-hover{position:absolute;background-color:#ffffff80;width:100%;height:100%;z-index:1;transform:scaleX(.6);transform-origin:0 0;opacity:0;transition:opacity .4s}.vjs-p .seek-slider .track .main .connect{position:absolute;background-color:#fff;width:100%;height:100%;z-index:3;left:0;transform:scaleX(.13);transform-origin:0 0}.vjs-p .seek-slider .track.active .main{transform:scaleY(2)}.vjs-p .seek-slider .thumb{pointer-events:none;position:absolute;width:12px;height:12px;left:-6px;top:4px;z-index:4;transform:translate(100px)}.vjs-p .seek-slider .thumb .handler{border-radius:100%;width:100%;height:100%;background-color:#fff;opacity:0;transform:scale(.4);cursor:pointer;transition:transform .2s;pointer-events:none}.vjs-p .seek-slider .thumb.active .handler{opacity:1;transform:scale(1)}.vjs-p .seek-slider .hover-time{position:absolute;background-color:#0000004d;line-height:18px;font-size:16px;color:#ddd;top:-25px;left:0;padding:5px 10px;border-radius:5px;box-shadow:0 0 5px #0000004d;opacity:0;transform:translate(150px);pointer-events:none}.vjs-p .seek-slider .hover-time.active{opacity:1}.vjs-p .seek-slider:hover .track .main .seek-hover{opacity:1}.vjs-p .player-controller{position:absolute;z-index:100;bottom:0px;left:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:64px;background-image:linear-gradient(0deg,#000,transparent);transition:opacity .2s;color:#fff}.vjs-p .player-menu-box{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:40px}.vjs-p .player-menu-cell{width:100%;text-align:center;font-size:12px;color:#7a7b7c}.vjs-p .player-multiple-play{width:64px;height:120px}.vjs-p .player-controller-actions-left{display:flex;justify-content:center;align-items:center;flex-shrink:0}.vjs-p .player-right-box{font-size:14px;color:#7a7b7c;cursor:pointer;margin-right:12px}.vjs-p .player-controller-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;margin-top:2px}.vjs-p .player-mid-box-time{font-size:9px;display:flex;justify-content:center;align-items:center;color:#fff;flex-shrink:0;margin-right:8px;font-family:monospace}.vjs-p .player-controller-play{display:flex;align-items:center;justify-content:center;cursor:pointer;padding-right:4px}.vjs-p .player-controller-progress{width:calc(100% - 28px);margin-left:14px;display:flex;align-items:center;justify-content:center;margin-top:8px}.vjs-p .player-volume{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:16px;margin-left:8px}.vjs-p .player-volume-slider{width:60px;margin-right:12px;display:flex;align-items:center}.vjs-p .player-volume-box{display:flex;flex-direction:row}.netless-app-media-player-container{display:flex;position:relative;height:100%}
59
- `);const n=document.createElement("div");n.classList.add("netless-app-media-player-container"),dd.render(F.createElement(VS,{context:e}),n),i.mountContent(n),e.emitter.on("destroy",()=>{console.log("[MediaPlayer]: destroy"),dd.unmountComponentAtNode(n)})}},WS=()=>{ie.debug&&SS({verbose:!0}),ie.register({kind:Yo.kind,src:Yo}),ie.register({kind:Oa.kind,src:Oa})},HS={DocsViewer:Yo.kind,MediaPlayer:Oa.kind};const ig=new pw({emitter:_}),H=class extends A.InvisiblePlugin{constructor(e){super(e);this.version="0.4.58",this.dependencies={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.27",emittery:"^0.9.2",lodash:"^4.17.21","p-retry":"^4.6.1","side-effect-manager":"^0.1.5",uuid:"^7.0.3","video.js":">=7"},peerDependencies:{jspdf:"2.5.1","white-web-sdk":"^2.16.0"},devDependencies:{"@netless/app-docs-viewer":"^0.2.13","@netless/app-media-player":"0.1.0-beta.5","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-url":"^6.1.0","@sveltejs/vite-plugin-svelte":"^1.0.0-next.22","@tsconfig/svelte":"^2.0.1","@types/debug":"^4.1.7","@types/lodash":"^4.14.182","@types/lodash-es":"^4.17.4","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","@vitest/ui":"^0.14.1",cypress:"^8.7.0",dotenv:"^10.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^3.2.0",jsdom:"^19.0.0",jspdf:"^2.5.1",less:"^4.1.1",prettier:"^2.3.2","prettier-plugin-svelte":"^2.4.0","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-styles":"^3.14.1",svelte:"^3.42.4",typescript:"^4.5.5",vite:"^2.5.3",vitest:"^0.14.1","white-web-sdk":"2.16.33"}},this.emitter=se,this.viewMode=A.ViewMode.Broadcaster,this.isReplay=A.isPlayer(this.displayer),this.containerSizeRatio=H.containerSizeRatio,H.displayer=e.displayer,window.NETLESS_DEPS={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.27",emittery:"^0.9.2",lodash:"^4.17.21","p-retry":"^4.6.1","side-effect-manager":"^0.1.5",uuid:"^7.0.3","video.js":">=7"},peerDependencies:{jspdf:"2.5.1","white-web-sdk":"^2.16.0"},devDependencies:{"@netless/app-docs-viewer":"^0.2.13","@netless/app-media-player":"0.1.0-beta.5","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-url":"^6.1.0","@sveltejs/vite-plugin-svelte":"^1.0.0-next.22","@tsconfig/svelte":"^2.0.1","@types/debug":"^4.1.7","@types/lodash":"^4.14.182","@types/lodash-es":"^4.17.4","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","@vitest/ui":"^0.14.1",cypress:"^8.7.0",dotenv:"^10.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^3.2.0",jsdom:"^19.0.0",jspdf:"^2.5.1",less:"^4.1.1",prettier:"^2.3.2","prettier-plugin-svelte":"^2.4.0","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-styles":"^3.14.1",svelte:"^3.42.4",typescript:"^4.5.5",vite:"^2.5.3",vitest:"^0.14.1","white-web-sdk":"2.16.33"}}}static async mount(e){const t=e.room;H.container=e.container;const i=e.containerSizeRatio,n=e.debug,r=e.cursor;H.params=e,H.displayer=e.room,rm();let s;if(A.isRoom(t)){if(t.phase!==A.RoomPhase.Connected)throw new Error("[WindowManager]: Room only Connected can be mount");t.phase===A.RoomPhase.Connected&&t.isWritable&&(t.disableSerialization=!1),s=await this.initManager(t)}if(H.isCreated)throw new Error("[WindowManager]: Already created cannot be created again");if(this.debug=Boolean(n),Pt("Already insert room",s),A.isRoom(this.displayer)){if(!s)throw new Error("[WindowManager]: init InvisiblePlugin failed")}else await vg.default(async o=>{if(s=await t.getInvisiblePlugin(H.kind),!s)throw Pt(`manager is empty. retrying ${o}`),new Error},{retries:10});if(!s)throw new Error("[WindowManager]: create manager failed");i&&(H.containerSizeRatio=i),await s.ensureAttributes(),s.appManager=new im(s),s._pageState=new hw(s.appManager),s.cursorManager=new dw(s.appManager,Boolean(r),e.applianceIcons),i&&(s.containerSizeRatio=i),e.container&&s.bindContainer(e.container),fw(t,s),_.emit("onCreated"),H.isCreated=!0;try{await Mg()}catch(o){console.warn("[WindowManager]: indexedDB open failed"),console.log(o)}return s}static async initManager(e){let t=e.getInvisiblePlugin(H.kind);if(!t&&A.isRoom(e))if(e.isWritable===!1){try{await e.setWritable(!0)}catch{throw new Error("[WindowManger]: room must be switched to be writable")}t=await yu(e),t==null||t.ensureAttributes(),await Yr(500),await e.setWritable(!1)}else t=await yu(e);return t}static initContainer(e,t,i,n){H.container||(H.container=t);const{playground:r,wrapper:s,sizer:o,mainViewElement:a}=nm(t);if(H.playground=r,i&&o.classList.add("netless-window-manager-chess-sizer"),n){const l=document.createElement("style");l.textContent=n,r.appendChild(l)}return e.containerResizeObserver=Ha.create(r,o,s,_),H.wrapper=s,a}static get registered(){return je.registered}bindContainer(e){var t,i,n,r,s,o;if(A.isRoom(this.displayer)&&this.room.phase!==A.RoomPhase.Connected)throw new Td;if(H.isCreated&&H.container)H.container.firstChild&&e.appendChild(H.container.firstChild);else if(H.params){const a=H.params,l=H.initContainer(this,e,a.chessboard,a.overwriteStyles);this.boxManager&&this.boxManager.destroy();const u=Bv(this,se,_,vt,{collectorContainer:a.collectorContainer,collectorStyles:a.collectorStyles,prefersColorScheme:a.prefersColorScheme});this.boxManager=u,(t=this.appManager)==null||t.setBoxManager(u),this.bindMainView(l,a.disableCameraTransform),H.wrapper&&((i=this.cursorManager)==null||i.setupWrapper(H.wrapper))}_.emit("updateManagerRect"),(n=this.appManager)==null||n.refresh(),(r=this.appManager)==null||r.resetMaximized(),(s=this.appManager)==null||s.resetMinimized(),(o=this.appManager)==null||o.displayerWritableListener(!this.room.isWritable),H.container=e}bindCollectorContainer(e){H.isCreated&&this.boxManager?this.boxManager.setCollectorContainer(e):H.params&&(H.params.collectorContainer=e)}static register(e){return je.register(e)}static unregister(e){return je.unregister(e)}async addApp(e){if(this.appManager)return this.appManager.rootDirRemoving?new Promise((t,i)=>{_.once("rootDirRemoved").then(async()=>{try{const n=await this._addApp(e);t(n)}catch(n){i(n.message)}})}):this._addApp(e);throw new Xe}async _addApp(e){var t,i,n;if(this.appManager){if(!e.kind||typeof e.kind!="string")throw new Id;const r=await((t=je.appClasses.get(e.kind))==null?void 0:t());if(r&&((i=r.config)==null?void 0:i.singleton)&&this.appManager.appProxies.has(e.kind))throw new Cd;const s=this.setupScenePath(e,this.appManager);return s===void 0?void 0:((n=e==null?void 0:e.options)!=null&&n.scenePath&&(e.options.scenePath=Ug(e.options.scenePath)),await this.appManager.addApp(e,Boolean(s)))}else throw new Xe}setupScenePath(e,t){let i=!1;if(e.options){const{scenePath:n,scenes:r}=e.options;if(n){if(!Vg(n))throw new Ad;const s=Object.keys(this.apps||{});for(const o of s){const a=t.store.getAppScenePath(o);if(a&&a===n){if(console.warn(`[WindowManager]: ScenePath ${n} Already opened`),this.boxManager){const l=this.boxManager.getTopBox();l&&this.boxManager.setZIndex(o,l.zIndex+1,!1)}return}}}n&&r&&r.length>0&&(this.isDynamicPPT(r)?(i=!0,Ri(this.displayer)[n]||fn(this.room,n,r)):Ri(this.displayer)[n]||fn(this.room,n,[{name:r[0].name}])),n&&r===void 0&&fn(this.room,n,[{}])}return i}async setMainViewScenePath(e){this.appManager&&await this.appManager.setMainViewScenePath(e)}async setMainViewSceneIndex(e){this.appManager&&await this.appManager.setMainViewSceneIndex(e)}async nextPage(){if(this.appManager){const e=this.mainViewSceneIndex+1;return e>=this.mainViewScenesLength?(console.warn("[WindowManager]: current page is the last page"),!1):(await this.appManager.setMainViewSceneIndex(e),!0)}else return!1}async prevPage(){if(this.appManager){const e=this.mainViewSceneIndex-1;return e<0?(console.warn("[WindowManager]: current page is the first page"),!1):(await this.appManager.setMainViewSceneIndex(e),!0)}else return!1}async addPage(e){if(this.appManager){const t=e==null?void 0:e.after,i=e==null?void 0:e.scene;if(t){const n=this.mainViewSceneIndex+1;this.room.putScenes(De,[i||{}],n)}else this.room.putScenes(De,[i||{}])}}async removePage(e){if(this.appManager){const t=e===void 0?this.pageState.index:e;return this.pageState.length===1?(console.warn("[WindowManager]: can not remove the last page"),!1):t<0||t>=this.pageState.length?(console.warn(`[WindowManager]: index ${e} out of range`),!1):this.appManager.removeSceneByIndex(t)}else return!1}getMainViewScenePath(){var e;return(e=this.appManager)==null?void 0:e.store.getMainViewScenePath()}getMainViewSceneIndex(){var e;return(e=this.appManager)==null?void 0:e.store.getMainViewSceneIndex()}setReadonly(e){var t;this.readonly=e,(t=this.boxManager)==null||t.setReadonly(e),_.emit("setReadonly",e)}switchMainViewToWriter(){var e;return(e=this.appManager)==null?void 0:e.mainViewProxy.mainViewClickHandler()}onAppDestroy(e,t){_g(`destroy-${e}`,t)}setViewMode(e){var t,i,n,r;(e===A.ViewMode.Broadcaster||e===A.ViewMode.Follower)&&(this.canOperate&&e===A.ViewMode.Broadcaster&&((t=this.appManager)==null||t.mainViewProxy.setCameraAndSize()),(i=this.appManager)==null||i.mainViewProxy.start()),e===A.ViewMode.Freedom&&((n=this.appManager)==null||n.mainViewProxy.stop()),this.viewMode=e,(r=this.appManager)==null||r.mainViewProxy.setViewMode(e)}setBoxState(e){if(!!this.canOperate)switch(e){case"normal":this.setMaximized(!1),this.setMinimized(!1);break;case"maximized":this.setMaximized(!0),this.setMinimized(!1);break;case"minimized":this.setMinimized(!0);break}}setMaximized(e){var t;!this.canOperate||(t=this.boxManager)==null||t.setMaximized(e,!1)}setMinimized(e){var t;!this.canOperate||(t=this.boxManager)==null||t.setMinimized(e,!1)}get mainView(){if(this.appManager)return this.appManager.mainViewProxy.view;throw new Xe}get camera(){if(this.appManager)return this.appManager.mainViewProxy.view.camera;throw new Xe}get cameraState(){if(this.appManager)return this.appManager.mainViewProxy.cameraState;throw new Xe}get apps(){var e;return(e=this.appManager)==null?void 0:e.store.apps()}get boxState(){var e;if(this.appManager)return(e=this.appManager.boxManager)==null?void 0:e.boxState;throw new Xe}get darkMode(){var e,t;return Boolean((t=(e=this.appManager)==null?void 0:e.boxManager)==null?void 0:t.darkMode)}get prefersColorScheme(){var e;if(this.appManager)return(e=this.appManager.boxManager)==null?void 0:e.prefersColorScheme;throw new Xe}get focused(){return this.attributes.focus}get focusedView(){var e,t;return((t=(e=this.appManager)==null?void 0:e.focusApp)==null?void 0:t.view)||this.mainView}get mainViewSceneIndex(){var e;return((e=this._pageState)==null?void 0:e.index)||0}get mainViewSceneDir(){var e;if(this.appManager)return(e=this.appManager)==null?void 0:e.getMainViewSceneDir();throw new Xe}get topApp(){var e,t;return(t=(e=this.boxManager)==null?void 0:e.getTopBox())==null?void 0:t.id}get mainViewScenesLength(){var e;return((e=this._pageState)==null?void 0:e.length)||0}get canRedoSteps(){var e;return((e=this.focusedView)==null?void 0:e.canRedoSteps)||0}get canUndoSteps(){var e;return((e=this.focusedView)==null?void 0:e.canUndoSteps)||0}get sceneState(){if(this.appManager)return this.appManager.sceneState;throw new Xe}get pageState(){if(this._pageState)return this._pageState.toObject();throw new Xe}queryAll(){var e;return Array.from(((e=this.appManager)==null?void 0:e.appProxies.values())||[])}queryOne(e){var t;return(t=this.appManager)==null?void 0:t.appProxies.get(e)}async closeApp(e){var t;return(t=this.appManager)==null?void 0:t.closeApp(e)}focusApp(e){var i,n,r;const t=(i=this.boxManager)==null?void 0:i.getBox(e);t&&((n=this.boxManager)==null||n.focusBox({appId:e},!1),((r=this.boxManager)==null?void 0:r.teleBoxManager).makeBoxTop(t,!1))}moveCamera(e){var n;const t=E.omit(e,["animationMode"]),i=q({},this.mainView.camera);E.isEqual(q(q({},i),t),i)||(this.mainView.moveCamera(e),(n=this.appManager)==null||n.dispatchInternalEvent(J.MoveCamera,e),setTimeout(()=>{var r;(r=this.appManager)==null||r.mainViewProxy.setCameraAndSize()},500))}moveCameraToContain(e){var t;this.mainView.moveCameraToContain(e),(t=this.appManager)==null||t.dispatchInternalEvent(J.MoveCameraToContain,e),setTimeout(()=>{var i;(i=this.appManager)==null||i.mainViewProxy.setCameraAndSize()},500)}convertToPointInWorld(e){return this.mainView.convertToPointInWorld(e)}setCameraBound(e){this.mainView.setCameraBound(e)}onDestroy(){this._destroy()}destroy(){this._destroy()}_destroy(){var e,t,i,n;(e=this.containerResizeObserver)==null||e.disconnect(),(t=this.appManager)==null||t.destroy(),(i=this.cursorManager)==null||i.destroy(),H.container=void 0,H.wrapper=void 0,H.isCreated=!1,H.playground&&((n=H.playground.parentNode)==null||n.removeChild(H.playground)),H.params=void 0,Pt("Destroyed")}bindMainView(e,t){var i;this.appManager&&(this.appManager.bindMainView(e,Boolean(t)),(i=this.cursorManager)==null||i.setMainViewDivElement(e))}get canOperate(){return A.isRoom(this.displayer)?this.displayer.isWritable&&this.displayer.phase===A.RoomPhase.Connected:!1}get room(){return this.displayer}safeSetAttributes(e){this.canOperate&&this.setAttributes(e)}safeUpdateAttributes(e,t){this.canOperate&&this.updateAttributes(e,t)}setPrefersColorScheme(e){var t,i;(i=(t=this.appManager)==null?void 0:t.boxManager)==null||i.setPrefersColorScheme(e)}cleanCurrentScene(){var e;Pt("clean current scene"),(e=this.focusedView)==null||e.cleanCurrentScene()}redo(){var e;return((e=this.focusedView)==null?void 0:e.redo())||0}undo(){var e;return((e=this.focusedView)==null?void 0:e.undo())||0}delete(){var e;(e=this.focusedView)==null||e.delete()}copy(){var e;(e=this.focusedView)==null||e.copy()}paste(){var e;(e=this.focusedView)==null||e.paste()}duplicate(){var e;(e=this.focusedView)==null||e.duplicate()}insertText(e,t,i){var n;return((n=this.focusedView)==null?void 0:n.insertText(e,t,i))||""}insertImage(e){var t;return(t=this.focusedView)==null?void 0:t.insertImage(e)}completeImageUpload(e,t){var i;return(i=this.focusedView)==null?void 0:i.completeImageUpload(e,t)}lockImage(e,t){var i;return(i=this.focusedView)==null?void 0:i.lockImage(e,t)}lockImages(e){var t;return(t=this.focusedView)==null?void 0:t.lockImages(e)}refresh(){var e;this._refresh(),(e=this.appManager)==null||e.dispatchInternalEvent(J.Refresh)}_refresh(){var e,t,i;(e=this.appManager)==null||e.mainViewProxy.rebind(),H.container&&this.bindContainer(H.container),(i=(t=this.appManager)==null?void 0:t.refresher)==null||i.refresh()}setContainerSizeRatio(e){if(!E.isNumber(e))throw new Error(`[WindowManager]: updateContainerSizeRatio error, ratio must be a number. but got ${e}`);H.containerSizeRatio=e,this.containerSizeRatio=e,_.emit("containerSizeRatioUpdate",e)}isDynamicPPT(e){var i,n;const t=(n=(i=e[0])==null?void 0:i.ppt)==null?void 0:n.src;return t==null?void 0:t.startsWith("pptx://")}async ensureAttributes(){E.isNull(this.attributes)&&await Yr(50),E.isObject(this.attributes)&&(this.attributes[Ie.Apps]||this.safeSetAttributes({[Ie.Apps]:{}}),this.attributes[Ie.Cursors]||this.safeSetAttributes({[Ie.Cursors]:{}}),this.attributes._mainScenePath||this.safeSetAttributes({_mainScenePath:xd}),this.attributes._mainSceneIndex||this.safeSetAttributes({_mainSceneIndex:0}),this.attributes[Ie.Registered]||this.safeSetAttributes({[Ie.Registered]:{}}))}};let ie=H;ie.kind="WindowManager";ie.debug=!1;ie.containerSizeRatio=xg;ie.isCreated=!1;WS();exports.AppCreateError=Cd;exports.AppManagerNotInitError=Xe;exports.AppNotRegisterError=$g;exports.BindContainerRoomPhaseInvalidError=Td;exports.BoxManagerNotFoundError=Ed;exports.BoxNotCreatedError=bd;exports.BuiltinApps=HS;exports.InvalidScenePath=Ad;exports.ParamsInvalidError=Id;exports.WhiteWebSDKInvalidError=Md;exports.WindowManager=ie;exports.calculateNextIndex=Ua;exports.reconnectRefresher=ig;
59
+ `);const n=document.createElement("div");n.classList.add("netless-app-media-player-container"),dd.render(F.createElement(VS,{context:e}),n),i.mountContent(n),e.emitter.on("destroy",()=>{console.log("[MediaPlayer]: destroy"),dd.unmountComponentAtNode(n)})}},WS=()=>{ie.debug&&SS({verbose:!0}),ie.register({kind:Yo.kind,src:Yo}),ie.register({kind:Oa.kind,src:Oa})},HS={DocsViewer:Yo.kind,MediaPlayer:Oa.kind};const ig=new pw({emitter:_}),H=class extends A.InvisiblePlugin{constructor(e){super(e);this.version="0.4.59",this.dependencies={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.27",emittery:"^0.9.2",lodash:"^4.17.21","p-retry":"^4.6.1","side-effect-manager":"^0.1.5",uuid:"^7.0.3","video.js":">=7"},peerDependencies:{jspdf:"2.5.1","white-web-sdk":"^2.16.0"},devDependencies:{"@netless/app-docs-viewer":"^0.2.14","@netless/app-media-player":"0.1.0-beta.5","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-url":"^6.1.0","@sveltejs/vite-plugin-svelte":"^1.0.0-next.22","@tsconfig/svelte":"^2.0.1","@types/debug":"^4.1.7","@types/lodash":"^4.14.182","@types/lodash-es":"^4.17.4","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","@vitest/ui":"^0.14.1",cypress:"^8.7.0",dotenv:"^10.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^3.2.0",jsdom:"^19.0.0",jspdf:"^2.5.1",less:"^4.1.1",prettier:"^2.3.2","prettier-plugin-svelte":"^2.4.0","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-styles":"^3.14.1",svelte:"^3.42.4",typescript:"^4.5.5",vite:"^2.5.3",vitest:"^0.14.1","white-web-sdk":"2.16.42"}},this.emitter=se,this.viewMode=A.ViewMode.Broadcaster,this.isReplay=A.isPlayer(this.displayer),this.containerSizeRatio=H.containerSizeRatio,H.displayer=e.displayer,window.NETLESS_DEPS={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.27",emittery:"^0.9.2",lodash:"^4.17.21","p-retry":"^4.6.1","side-effect-manager":"^0.1.5",uuid:"^7.0.3","video.js":">=7"},peerDependencies:{jspdf:"2.5.1","white-web-sdk":"^2.16.0"},devDependencies:{"@netless/app-docs-viewer":"^0.2.14","@netless/app-media-player":"0.1.0-beta.5","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-url":"^6.1.0","@sveltejs/vite-plugin-svelte":"^1.0.0-next.22","@tsconfig/svelte":"^2.0.1","@types/debug":"^4.1.7","@types/lodash":"^4.14.182","@types/lodash-es":"^4.17.4","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","@vitest/ui":"^0.14.1",cypress:"^8.7.0",dotenv:"^10.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^3.2.0",jsdom:"^19.0.0",jspdf:"^2.5.1",less:"^4.1.1",prettier:"^2.3.2","prettier-plugin-svelte":"^2.4.0","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-styles":"^3.14.1",svelte:"^3.42.4",typescript:"^4.5.5",vite:"^2.5.3",vitest:"^0.14.1","white-web-sdk":"2.16.42"}}}static async mount(e){const t=e.room;H.container=e.container;const i=e.containerSizeRatio,n=e.debug,r=e.cursor;H.params=e,H.displayer=e.room,rm();let s;if(A.isRoom(t)){if(t.phase!==A.RoomPhase.Connected)throw new Error("[WindowManager]: Room only Connected can be mount");t.phase===A.RoomPhase.Connected&&t.isWritable&&(t.disableSerialization=!1),s=await this.initManager(t)}if(H.isCreated)throw new Error("[WindowManager]: Already created cannot be created again");if(this.debug=Boolean(n),Pt("Already insert room",s),A.isRoom(this.displayer)){if(!s)throw new Error("[WindowManager]: init InvisiblePlugin failed")}else await vg.default(async o=>{if(s=await t.getInvisiblePlugin(H.kind),!s)throw Pt(`manager is empty. retrying ${o}`),new Error},{retries:10,maxTimeout:5e3});if(!s)throw new Error("[WindowManager]: create manager failed");i&&(H.containerSizeRatio=i),await s.ensureAttributes(),s.appManager=new im(s),s._pageState=new hw(s.appManager),s.cursorManager=new dw(s.appManager,Boolean(r),e.applianceIcons),i&&(s.containerSizeRatio=i),e.container&&s.bindContainer(e.container),fw(t,s),_.emit("onCreated"),H.isCreated=!0;try{await Mg()}catch(o){console.warn("[WindowManager]: indexedDB open failed"),console.log(o)}return s}static async initManager(e){let t=e.getInvisiblePlugin(H.kind);if(!t&&A.isRoom(e))if(e.isWritable===!1){try{await e.setWritable(!0)}catch{throw new Error("[WindowManger]: room must be switched to be writable")}t=await yu(e),t==null||t.ensureAttributes(),await Yr(500),await e.setWritable(!1)}else t=await yu(e);return t}static initContainer(e,t,i,n){H.container||(H.container=t);const{playground:r,wrapper:s,sizer:o,mainViewElement:a}=nm(t);if(H.playground=r,i&&o.classList.add("netless-window-manager-chess-sizer"),n){const l=document.createElement("style");l.textContent=n,r.appendChild(l)}return e.containerResizeObserver=Ha.create(r,o,s,_),H.wrapper=s,a}static get registered(){return je.registered}bindContainer(e){var t,i,n,r,s,o;if(A.isRoom(this.displayer)&&this.room.phase!==A.RoomPhase.Connected)throw new Td;if(H.isCreated&&H.container)H.container.firstChild&&e.appendChild(H.container.firstChild);else if(H.params){const a=H.params,l=H.initContainer(this,e,a.chessboard,a.overwriteStyles);this.boxManager&&this.boxManager.destroy();const u=Bv(this,se,_,vt,{collectorContainer:a.collectorContainer,collectorStyles:a.collectorStyles,prefersColorScheme:a.prefersColorScheme});this.boxManager=u,(t=this.appManager)==null||t.setBoxManager(u),this.bindMainView(l,a.disableCameraTransform),H.wrapper&&((i=this.cursorManager)==null||i.setupWrapper(H.wrapper))}_.emit("updateManagerRect"),(n=this.appManager)==null||n.refresh(),(r=this.appManager)==null||r.resetMaximized(),(s=this.appManager)==null||s.resetMinimized(),(o=this.appManager)==null||o.displayerWritableListener(!this.room.isWritable),H.container=e}bindCollectorContainer(e){H.isCreated&&this.boxManager?this.boxManager.setCollectorContainer(e):H.params&&(H.params.collectorContainer=e)}static register(e){return je.register(e)}static unregister(e){return je.unregister(e)}async addApp(e){if(this.appManager)return this.appManager.rootDirRemoving?new Promise((t,i)=>{_.once("rootDirRemoved").then(async()=>{try{const n=await this._addApp(e);t(n)}catch(n){i(n.message)}})}):this._addApp(e);throw new Xe}async _addApp(e){var t,i,n;if(this.appManager){if(!e.kind||typeof e.kind!="string")throw new Id;const r=await((t=je.appClasses.get(e.kind))==null?void 0:t());if(r&&((i=r.config)==null?void 0:i.singleton)&&this.appManager.appProxies.has(e.kind))throw new Cd;const s=this.setupScenePath(e,this.appManager);return s===void 0?void 0:((n=e==null?void 0:e.options)!=null&&n.scenePath&&(e.options.scenePath=Ug(e.options.scenePath)),await this.appManager.addApp(e,Boolean(s)))}else throw new Xe}setupScenePath(e,t){let i=!1;if(e.options){const{scenePath:n,scenes:r}=e.options;if(n){if(!Vg(n))throw new Ad;const s=Object.keys(this.apps||{});for(const o of s){const a=t.store.getAppScenePath(o);if(a&&a===n){if(console.warn(`[WindowManager]: ScenePath ${n} Already opened`),this.boxManager){const l=this.boxManager.getTopBox();l&&this.boxManager.setZIndex(o,l.zIndex+1,!1)}return}}}n&&r&&r.length>0&&(this.isDynamicPPT(r)?(i=!0,Ri(this.displayer)[n]||fn(this.room,n,r)):Ri(this.displayer)[n]||fn(this.room,n,[{name:r[0].name}])),n&&r===void 0&&fn(this.room,n,[{}])}return i}async setMainViewScenePath(e){this.appManager&&await this.appManager.setMainViewScenePath(e)}async setMainViewSceneIndex(e){this.appManager&&await this.appManager.setMainViewSceneIndex(e)}async nextPage(){if(this.appManager){const e=this.mainViewSceneIndex+1;return e>=this.mainViewScenesLength?(console.warn("[WindowManager]: current page is the last page"),!1):(await this.appManager.setMainViewSceneIndex(e),!0)}else return!1}async prevPage(){if(this.appManager){const e=this.mainViewSceneIndex-1;return e<0?(console.warn("[WindowManager]: current page is the first page"),!1):(await this.appManager.setMainViewSceneIndex(e),!0)}else return!1}async addPage(e){if(this.appManager){const t=e==null?void 0:e.after,i=e==null?void 0:e.scene;if(t){const n=this.mainViewSceneIndex+1;this.room.putScenes(De,[i||{}],n)}else this.room.putScenes(De,[i||{}])}}async removePage(e){if(this.appManager){const t=e===void 0?this.pageState.index:e;return this.pageState.length===1?(console.warn("[WindowManager]: can not remove the last page"),!1):t<0||t>=this.pageState.length?(console.warn(`[WindowManager]: index ${e} out of range`),!1):this.appManager.removeSceneByIndex(t)}else return!1}getMainViewScenePath(){var e;return(e=this.appManager)==null?void 0:e.store.getMainViewScenePath()}getMainViewSceneIndex(){var e;return(e=this.appManager)==null?void 0:e.store.getMainViewSceneIndex()}setReadonly(e){var t;this.readonly=e,(t=this.boxManager)==null||t.setReadonly(e),_.emit("setReadonly",e)}switchMainViewToWriter(){var e;return(e=this.appManager)==null?void 0:e.mainViewProxy.mainViewClickHandler()}onAppDestroy(e,t){_g(`destroy-${e}`,t)}setViewMode(e){var t,i,n,r;(e===A.ViewMode.Broadcaster||e===A.ViewMode.Follower)&&(this.canOperate&&e===A.ViewMode.Broadcaster&&((t=this.appManager)==null||t.mainViewProxy.setCameraAndSize()),(i=this.appManager)==null||i.mainViewProxy.start()),e===A.ViewMode.Freedom&&((n=this.appManager)==null||n.mainViewProxy.stop()),this.viewMode=e,(r=this.appManager)==null||r.mainViewProxy.setViewMode(e)}setBoxState(e){if(!!this.canOperate)switch(e){case"normal":this.setMaximized(!1),this.setMinimized(!1);break;case"maximized":this.setMaximized(!0),this.setMinimized(!1);break;case"minimized":this.setMinimized(!0);break}}setMaximized(e){var t;!this.canOperate||(t=this.boxManager)==null||t.setMaximized(e,!1)}setMinimized(e){var t;!this.canOperate||(t=this.boxManager)==null||t.setMinimized(e,!1)}get mainView(){if(this.appManager)return this.appManager.mainViewProxy.view;throw new Xe}get camera(){if(this.appManager)return this.appManager.mainViewProxy.view.camera;throw new Xe}get cameraState(){if(this.appManager)return this.appManager.mainViewProxy.cameraState;throw new Xe}get apps(){var e;return(e=this.appManager)==null?void 0:e.store.apps()}get boxState(){var e;if(this.appManager)return(e=this.appManager.boxManager)==null?void 0:e.boxState;throw new Xe}get darkMode(){var e,t;return Boolean((t=(e=this.appManager)==null?void 0:e.boxManager)==null?void 0:t.darkMode)}get prefersColorScheme(){var e;if(this.appManager)return(e=this.appManager.boxManager)==null?void 0:e.prefersColorScheme;throw new Xe}get focused(){return this.attributes.focus}get focusedView(){var e,t;return((t=(e=this.appManager)==null?void 0:e.focusApp)==null?void 0:t.view)||this.mainView}get mainViewSceneIndex(){var e;return((e=this._pageState)==null?void 0:e.index)||0}get mainViewSceneDir(){var e;if(this.appManager)return(e=this.appManager)==null?void 0:e.getMainViewSceneDir();throw new Xe}get topApp(){var e,t;return(t=(e=this.boxManager)==null?void 0:e.getTopBox())==null?void 0:t.id}get mainViewScenesLength(){var e;return((e=this._pageState)==null?void 0:e.length)||0}get canRedoSteps(){var e;return((e=this.focusedView)==null?void 0:e.canRedoSteps)||0}get canUndoSteps(){var e;return((e=this.focusedView)==null?void 0:e.canUndoSteps)||0}get sceneState(){if(this.appManager)return this.appManager.sceneState;throw new Xe}get pageState(){if(this._pageState)return this._pageState.toObject();throw new Xe}queryAll(){var e;return Array.from(((e=this.appManager)==null?void 0:e.appProxies.values())||[])}queryOne(e){var t;return(t=this.appManager)==null?void 0:t.appProxies.get(e)}async closeApp(e){var t;return(t=this.appManager)==null?void 0:t.closeApp(e)}focusApp(e){var i,n,r;const t=(i=this.boxManager)==null?void 0:i.getBox(e);t&&((n=this.boxManager)==null||n.focusBox({appId:e},!1),((r=this.boxManager)==null?void 0:r.teleBoxManager).makeBoxTop(t,!1))}moveCamera(e){var n;const t=E.omit(e,["animationMode"]),i=q({},this.mainView.camera);E.isEqual(q(q({},i),t),i)||(this.mainView.moveCamera(e),(n=this.appManager)==null||n.dispatchInternalEvent(J.MoveCamera,e),setTimeout(()=>{var r;(r=this.appManager)==null||r.mainViewProxy.setCameraAndSize()},500))}moveCameraToContain(e){var t;this.mainView.moveCameraToContain(e),(t=this.appManager)==null||t.dispatchInternalEvent(J.MoveCameraToContain,e),setTimeout(()=>{var i;(i=this.appManager)==null||i.mainViewProxy.setCameraAndSize()},500)}convertToPointInWorld(e){return this.mainView.convertToPointInWorld(e)}setCameraBound(e){this.mainView.setCameraBound(e)}onDestroy(){this._destroy()}destroy(){this._destroy()}_destroy(){var e,t,i,n;(e=this.containerResizeObserver)==null||e.disconnect(),(t=this.appManager)==null||t.destroy(),(i=this.cursorManager)==null||i.destroy(),H.container=void 0,H.wrapper=void 0,H.isCreated=!1,H.playground&&((n=H.playground.parentNode)==null||n.removeChild(H.playground)),H.params=void 0,Pt("Destroyed")}bindMainView(e,t){var i;this.appManager&&(this.appManager.bindMainView(e,Boolean(t)),(i=this.cursorManager)==null||i.setMainViewDivElement(e))}get canOperate(){return A.isRoom(this.displayer)?this.displayer.isWritable&&this.displayer.phase===A.RoomPhase.Connected:!1}get room(){return this.displayer}safeSetAttributes(e){this.canOperate&&this.setAttributes(e)}safeUpdateAttributes(e,t){this.canOperate&&this.updateAttributes(e,t)}setPrefersColorScheme(e){var t,i;(i=(t=this.appManager)==null?void 0:t.boxManager)==null||i.setPrefersColorScheme(e)}cleanCurrentScene(){var e;Pt("clean current scene"),(e=this.focusedView)==null||e.cleanCurrentScene()}redo(){var e;return((e=this.focusedView)==null?void 0:e.redo())||0}undo(){var e;return((e=this.focusedView)==null?void 0:e.undo())||0}delete(){var e;(e=this.focusedView)==null||e.delete()}copy(){var e;(e=this.focusedView)==null||e.copy()}paste(){var e;(e=this.focusedView)==null||e.paste()}duplicate(){var e;(e=this.focusedView)==null||e.duplicate()}insertText(e,t,i){var n;return((n=this.focusedView)==null?void 0:n.insertText(e,t,i))||""}insertImage(e){var t;return(t=this.focusedView)==null?void 0:t.insertImage(e)}completeImageUpload(e,t){var i;return(i=this.focusedView)==null?void 0:i.completeImageUpload(e,t)}lockImage(e,t){var i;return(i=this.focusedView)==null?void 0:i.lockImage(e,t)}lockImages(e){var t;return(t=this.focusedView)==null?void 0:t.lockImages(e)}refresh(){var e;this._refresh(),(e=this.appManager)==null||e.dispatchInternalEvent(J.Refresh)}_refresh(){var e,t,i;(e=this.appManager)==null||e.mainViewProxy.rebind(),H.container&&this.bindContainer(H.container),(i=(t=this.appManager)==null?void 0:t.refresher)==null||i.refresh()}setContainerSizeRatio(e){if(!E.isNumber(e))throw new Error(`[WindowManager]: updateContainerSizeRatio error, ratio must be a number. but got ${e}`);H.containerSizeRatio=e,this.containerSizeRatio=e,_.emit("containerSizeRatioUpdate",e)}isDynamicPPT(e){var i,n;const t=(n=(i=e[0])==null?void 0:i.ppt)==null?void 0:n.src;return t==null?void 0:t.startsWith("pptx://")}async ensureAttributes(){E.isNull(this.attributes)&&await Yr(50),E.isObject(this.attributes)&&(this.attributes[Ie.Apps]||this.safeSetAttributes({[Ie.Apps]:{}}),this.attributes[Ie.Cursors]||this.safeSetAttributes({[Ie.Cursors]:{}}),this.attributes._mainScenePath||this.safeSetAttributes({_mainScenePath:xd}),this.attributes._mainSceneIndex||this.safeSetAttributes({_mainSceneIndex:0}),this.attributes[Ie.Registered]||this.safeSetAttributes({[Ie.Registered]:{}}))}};let ie=H;ie.kind="WindowManager";ie.debug=!1;ie.containerSizeRatio=xg;ie.isCreated=!1;WS();exports.AppCreateError=Cd;exports.AppManagerNotInitError=Xe;exports.AppNotRegisterError=$g;exports.BindContainerRoomPhaseInvalidError=Td;exports.BoxManagerNotFoundError=Ed;exports.BoxNotCreatedError=bd;exports.BuiltinApps=HS;exports.InvalidScenePath=Ad;exports.ParamsInvalidError=Id;exports.WhiteWebSDKInvalidError=Md;exports.WindowManager=ie;exports.calculateNextIndex=Ua;exports.reconnectRefresher=ig;
60
60
  //# sourceMappingURL=index.js.map