@netless/window-manager 0.4.69 → 0.4.70

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 mg=Object.defineProperty,vg=Object.defineProperties;var wg=Object.getOwnPropertyDescriptors;var mu=Object.getOwnPropertySymbols;var yg=Object.prototype.hasOwnProperty,xg=Object.prototype.propertyIsEnumerable;var vu=(e,t,i)=>t in e?mg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,q=(e,t)=>{for(var i in t||(t={}))yg.call(t,i)&&vu(e,i,t[i]);if(mu)for(var i of mu(t))xg.call(t,i)&&vu(e,i,t[i]);return e},Je=(e,t)=>vg(e,wg(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var Sg=require("p-retry"),Mg=require("emittery"),E=require("lodash"),A=require("white-web-sdk"),Cg=require("uuid"),Ji=require("side-effect-manager"),Ig=require("@juggle/resize-observer"),bg=require("video.js");function Qo(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function Ag(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 Eg=Qo(Sg),Ki=Qo(Mg),wu=Qo(bg),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 za="__WindowManger",na="__WindowMangerEnsureReconnected__";var Ae=(e=>(e.Size="size",e.Position="position",e.SceneIndex="SceneIndex",e.ZIndex="zIndex",e))(Ae||{}),Id=(e=>(e.setBoxSize="setBoxSize",e.setBoxMinSize="setBoxMinSize",e.destroy="destroy",e))(Id||{}),La=(e=>(e.StartCreate="StartCreate",e))(La||{}),bd=(e=>(e.Leave="leave",e.Normal="normal",e))(bd||{});const yu="2.16.1",Tg=340/720,kg=340/720,Pg=9/16,je="/",Ad="/init",Ed=50,ne=new Ki.default;class Ng{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(()=>{ne.emit("ready")},Ed),this.isEmit=!0}empty(){this.list=[],this.clear()}destroy(){this.timer&&this.clear()}}const B=new Ki.default,Dg="__WindowManagerAppCache";let jn,xu;const zg=async()=>{jn=await jg()},Lg=(e,t)=>{if(!!jn)return _g(jn,{kind:e,sourceCode:t})},Rg=async e=>jn?await Bg(jn,e):null;function jg(){return new Promise((e,t)=>{const i=indexedDB.open(Dg,2);i.onerror=n=>{t(n)},i.onupgradeneeded=n=>{const r=n.target.result;r.objectStoreNames.contains("apps")||(xu=r.createObjectStore("apps",{keyPath:"kind"}),xu.createIndex("kind","kind",{unique:!0}))},i.onsuccess=()=>{const n=i.result;e(n)}})}function Bg(e,t){return new Promise((i,n)=>{const s=e.transaction(["apps"]).objectStore("apps").index("kind").get(t);s.onerror=a=>n(a),s.onsuccess=()=>{s.result?i(s.result):i(null)}})}function _g(e,t){return new Promise((i,n)=>{const r=e.transaction(["apps"],"readwrite").objectStore("apps").add(t);r.onsuccess=()=>i(),r.onerror=()=>n()})}const Og="NetlessApp",Vg=1e4,Ug=async e=>{const t=await Rg(e);if(t)return t.sourceCode;{const n=await(await $g(e,{timeout:Vg})).text();return await Lg(e,n),n}},Su=(e,t)=>{let i=Function(e+`
2
- ;return ${t}`)();return typeof i=="undefined"&&(i=window[t]),i},Wg=async(e,t,i)=>{const n=i||Og+t;ne.emit("loadApp",{kind:t,status:"start"});let r;try{if(r=await Ug(e),!r||r.length===0)throw ne.emit("loadApp",{kind:t,status:"failed",reason:"script is empty."}),new Error("[WindowManager]: script is empty.")}catch(s){throw ne.emit("loadApp",{kind:t,status:"failed",reason:s.message}),s}return Hg(r,n,t)},Hg=(e,t,i)=>{try{const n=Su(e,t);return ne.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=Su(e,t);return ne.emit("loadApp",{kind:i,status:"success"}),s}throw ne.emit("loadApp",{kind:i,status:"failed",reason:n.message}),n}};async function $g(e,t){const{timeout:i=1e4}=t,n=new AbortController,r=setTimeout(()=>n.abort(),i),s=await fetch(e,Je(q({},t),{signal:n.signal,headers:{"content-type":"text/plain"}}));return clearTimeout(r),s}class Fg{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 Wg(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 Ki.default;this.kindEmitters.set(t,i)}return this.kindEmitters.get(t)}}const Ee=new Fg,Qg=async e=>{var i,n;const t=await((i=Ee.appClasses.get(e))==null?void 0:i());return t&&((n=t.config)==null?void 0:n.singleton)?e:`${e}-${Cg.v4().replace("-","").slice(0,8)}`},vi=(e,t)=>{if(e.focusScenePath!==t)return e.focusScenePath=t,e},Ra=(e,t)=>{if(e&&e.isWritable&&e.state.sceneState.scenePath!==t){const i=t==="/"?"":t;e.setScenePath(i)}},Zg=(e,t,i)=>{var n;if(e&&t){const s=(n=Wi(e)[t])==null?void 0:n[i];if(s)return`${t}/${s.name}`}},ja=(e,t,i)=>{e&&e.scenePathType(t)!==A.ScenePathType.None&&e.removeScenes(t,i)},Yg=(e,t)=>{B.once(e).then(t)};E.debounce((e,t)=>{e.emit("mainViewModeChange",t)},200);const Gg=(e,t,i=0)=>{const n=Wi(e)[t];if(!n)return;const r=n[i];if(!r)return;const s=r.name;return t===je?`/${s}`:`${t}/${s}`},Wi=e=>e.entireScenes(),Sn=(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)},Xg=e=>e.startsWith("/"),ra=e=>{const t=e.split("/");t.pop();let i=t.join("/");return i===""&&(i="/"),i},Jg=e=>e.endsWith("/")?e.slice(0,-1):e,Mu=e=>{const t=e.split(".").map(i=>i.padStart(2,"0")).join("");return parseInt(t)},qr=e=>new Promise(t=>setTimeout(t,e)),Kg=e=>e.split("").reduce((i,n)=>(n===je&&(i+=1),i),0)===1;class qg{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=>{ne.emit("boxStateChange",i)},this.setMainViewScenePathHandler=({nextScenePath:i})=>{vi(this.manager.mainView,i),ne.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=>{B.emit("cursorMove",i)},this.rootDirRemovedHandler=()=>{this.manager.createRootDirScenesCallback(),this.manager.mainViewProxy.rebind(),B.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(za,this.mainMagixEventListener)}removeListeners(){this.displayer.removeMagixEventListener(za,this.mainMagixEventListener)}}class Td extends Error{constructor(){super(...arguments);this.message="[WindowManager]: app duplicate exists and cannot be created again"}}class em extends Error{constructor(t){super(`[WindowManager]: app ${t} need register or provide src`)}}class qe extends Error{constructor(){super(...arguments);this.message="[WindowManager]: AppManager must be initialized"}}class kd extends Error{constructor(t){super(`[WindowManager]: white-web-sdk version must large than ${t}`)}}class Pd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: kind must be a valid string"}}class Nd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: box need created"}}class Dd extends Error{constructor(){super(...arguments);this.message='[WindowManager]: ScenePath should start with "/"'}}class zd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: boxManager not found"}}class Ld extends Error{constructor(){super(...arguments);this.message="[WindowManager]: room phase only Connected can be bindContainer"}}const Rd=e=>(t,i)=>{if(t!==void 0)if(A.listenUpdated){const n=r=>{r.map(a=>a.kind).includes(e)&&i()};return A.listenUpdated(t,n),i(),()=>A.unlistenUpdated(t,n)}else return A.reaction(()=>t,()=>{i()},{fireImmediately:!0})},jd=(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()}},tm=Rd(A.UpdateEventKind.Removed);Rd(A.UpdateEventKind.Inserted);class im{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 sa=Object.keys;function Cu(e){return Boolean(E.has(e,"__isRef"))}function nm(e){return{k:Ji.genUID(),v:e,__isRef:!0}}const Ke="_WM-STORAGE_";class Iu{constructor(t,i,n){if(this._sideEffect=new Ji.SideEffectManager,this._destroyed=!1,this._refMap=new WeakMap,this._lastValue=new Map,this.onStateChanged=new im,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(),[Ke])||this._context.updateAttributes([Ke],{}),this._context.updateAttributes([Ke,this.id],this._state),n&&this.setState(n))),sa(r).forEach(s=>{if(!(this.id===null&&s===Ke))try{const a=E.isObject(r[s])?JSON.parse(JSON.stringify(r[s])):r[s];Cu(a)?(this._state[s]=a.v,E.isObject(a.v)&&this._refMap.set(a.v,a)):this._state[s]=a}catch(a){console.error(a)}}),this._sideEffect.addDisposer(jd(()=>this.id===null?t.getAttributes():E.get(t.getAttributes(),[Ke,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(sa(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=sa(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 a=this._refMap.get(r);a||(a=nm(r),this._refMap.set(r,a)),s=a}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([Ke,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(),[Ke,this.id],t)}_setRawState(t,i){if(this.id===null){if(t===Ke)throw new Error(`Cannot set attribute internal filed "${Ke}"`);return this._context.updateAttributes([t],i)}else return this._context.updateAttributes([Ke,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],a=s.key;if(this.id===null&&a===Ke)continue;const o=E.isObject(s.value)?JSON.parse(JSON.stringify(s.value)):s.value;let l;switch(this._lastValue.has(a)&&(l=this._lastValue.get(a),this._lastValue.delete(a)),s.kind){case 2:{E.has(this._state,a)&&(l=this._state[a],delete this._state[a]),n[a]={oldValue:l};break}default:{let u=o;if(Cu(o)){const{k:h,v:c}=o,g=this._state[a];E.isObject(g)&&((i=this._refMap.get(g))==null?void 0:i.k)===h?u=g:(u=c,E.isObject(c)&&this._refMap.set(c,o))}u!==this._state[a]&&(l=this._state[a],this._state[a]=u),n[a]={newValue:u,oldValue:l};break}}}catch(s){console.error(s)}this.onStateChanged.dispatch(n)}}}class rm{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 a=this.store.getAppAttributes(this.appId);return a!=null&&a.isDynamicPPT?this.appProxy.scenes:a==null?void 0:a.options.scenes},this.getView=()=>this.appProxy.view,this.mountView=a=>{const o=this.getView();o&&(o.divElement=a,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 a=this.boxManager.getBox(this.appId);if(a)return a;throw new Nd},this.getRoom=()=>this.manager.room,this.setAttributes=a=>{this.manager.safeSetAttributes({[this.appId]:a})},this.updateAttributes=(a,o)=>{this.manager.attributes[this.appId]&&this.manager.safeUpdateAttributes([this.appId,...a],o)},this.setScenePath=async a=>{var o;!this.appProxy.box||(this.appProxy.setFullPath(a),(o=this.getRoom())==null||o.setScenePath(a))},this.getAppOptions=()=>typeof this.appOptions=="function"?this.appOptions():this.appOptions,this.createStorage=(a,o)=>{const l=new Iu(this,a,o);return this.emitter.on("destroy",()=>{l.destroy()}),l},this.dispatchMagixEvent=(...a)=>{var l;const o=`${this.appId}:${a[0]}`;return(l=this.manager.room)==null?void 0:l.dispatchMagixEvent(o,a[1])},this.addMagixEventListener=(a,o,l)=>{const u=`${this.appId}:${a}`;return this.manager.displayer.addMagixEventListener(u,o,l),()=>this.manager.displayer.removeMagixEventListener(u,o)},this.removeMagixEventListener=this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer),this.nextPage=async()=>{const a=this.pageState.index+1;return a>this.pageState.length-1?(console.warn("[WindowManager] nextPage: index out of range"),!1):(this.appProxy.setSceneIndex(a),!0)},this.jumpPage=async a=>0<=a&&a<this.pageState.length?(this.appProxy.setSceneIndex(a),!0):(console.warn("[WindowManager] nextPage: index out of range"),!1),this.prevPage=async()=>{const a=this.pageState.index-1;return a<0?(console.warn("[WindowManager] prevPage: index out of range"),!1):(this.appProxy.setSceneIndex(a),!0)},this.addPage=async a=>{const o=a==null?void 0:a.after,l=a==null?void 0:a.scene,u=this.appProxy.scenePath;if(!!u)if(o){const h=this.pageState.index+1;Sn(this.manager.room,u,[l||{}],h)}else Sn(this.manager.room,u,[l||{}])},this.removePage=async a=>{const o=a===void 0?this.pageState.index:a;return this.pageState.length===1?(console.warn("[WindowManager]: can not remove the last page"),!1):o<0||o>=this.pageState.length?(console.warn(`[WindowManager]: page index ${a} out of range`),!1):this.appProxy.removeSceneByIndex(o)},this.emitter=r.appEmitter,this.isAddApp=r.isAddApp}get storage(){return this._storage||(this._storage=new Iu(this)),this._storage}get pageState(){return this.appProxy.pageState}get kind(){return this.appProxy.kind}dispatchAppEvent(t,i){B.emit(`custom-${this.kind}`,{kind:this.kind,appId:this.appId,type:t,value:i})}}class sm{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 we=(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.IframeBridge="iframeBridge",e))(we||{});class am{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 a=E.pick(t.options,s),o={kind:t.kind,options:a,isDynamicPPT:n};typeof t.src=="string"&&(o.src=t.src),o.createdAt=Date.now(),this.context.safeUpdateAttributes(["apps",i],o),this.context.safeUpdateAttributes(["apps",i,"state"],{[Ae.Size]:{},[Ae.Position]:{},[Ae.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[Ae.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){t.width===0||t.height===0||this.context.safeSetAttributes({mainViewSize:q({},t)})}setMainViewCameraAndSize(t,i){i.width===0||i.height===0||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&&vi(t,i)}getIframeBridge(){return E.get(this.attributes,["iframeBridge"])}setIframeBridge(t){if(E.isObject(t)){const i=this.getIframeBridge();for(const n in t){const r=t[n];i[n]!==r&&this.context.safeUpdateAttributes(["iframeBridge",n],r)}}}}const om=new am({getAttributes:()=>{throw new Error("getAttributes not implemented")},safeSetAttributes:()=>{throw new Error("safeSetAttributes not implemented")},safeUpdateAttributes:()=>{throw new Error("safeUpdateAttributes not implemented")}}),ct=(...e)=>{re.debug&&console.log("[WindowManager]:",...e)},Zo=(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},St=new Ki.default;class Yo{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=a=>{var d,p;const o=this.store.getAppState(a);if(!o)return;const l=o==null?void 0:o[Ae.Position],u=this.store.focus,h=o==null?void 0:o[Ae.Size],c=o==null?void 0:o[Ae.SceneIndex],g=(d=this.attributes)==null?void 0:d.maximized,v=(p=this.attributes)==null?void 0:p.minimized,w=o==null?void 0:o.zIndex;let x={maximized:g,minimized:v,zIndex:w};return l&&(x=Je(q({},x),{id:a,x:l.x,y:l.y})),u===a&&(x=Je(q({},x),{focus:!0})),h&&(x=Je(q({},x),{width:h.width,height:h.height})),c&&(x=Je(q({},x),{sceneIndex:c})),x},this.appAttributesUpdateListener=a=>{this.manager.refresher.add(a,()=>A.autorun(()=>{const o=this.manager.attributes[a];o&&this.appEmitter.emit("attributesUpdate",o)})),this.manager.refresher.add(this.stateKey,()=>A.autorun(()=>{var l,u,h,c;const o=(l=this.appAttributes)==null?void 0:l.state;(o==null?void 0:o.zIndex)>0&&o.zIndex!==((u=this.box)==null?void 0:u.zIndex)&&((h=this.boxManager)==null||h.setZIndex(a,o.zIndex),(c=this.boxManager)==null||c.focusBox({appId:a}))})),this.manager.refresher.add(`${a}-fullPath`,()=>A.autorun(()=>{var l;const o=(l=this.appAttributes)==null?void 0:l.fullPath;this.setFocusScenePathHandler(o),this._prevFullPath!==o&&(this.notifyPageStateChange(),this._prevFullPath=o)}))},this.setFocusScenePathHandler=E.debounce(a=>{var o;this.view&&a&&a!==((o=this.view)==null?void 0:o.focusScenePath)&&vi(this.view,a)},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 Ki.default,this.appListener=this.makeAppEventListener(this.id),this.isAddApp=r,this.initScenes(),(s=this.params.options)!=null&&s.scenePath&&this.createView(),this._pageState=new sm({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=Wi(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,[we.FullPath])||this.getFullScenePathFromScenes()}getFullScenePathFromScenes(){const t=E.get(this.appAttributes,["state","SceneIndex"],0),i=Zg(this.manager.room,this.scenePath,t);return i&&this.setFullPath(i),i}setFullPath(t){this.manager.safeUpdateAttributes(["apps",this.id,we.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=Ee.appClasses.get(i.kind))==null?void 0:s()),r=Ee.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 B.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 o;if(ct("setupApp",t,n,r),!this.boxManager)throw new zd;const a=new rm(this.manager,this.boxManager,t,this,s);this.appContext=a;try{B.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(a);this.appResult=h,Ee.notifyApp(this.kind,"created",{appId:t,result:h}),this.afterSetupApp(l),this.fixMobileSize()},Ed)}),(o=this.boxManager)==null||o.createBox({appId:t,app:n,options:r,canOperate:this.manager.canOperate,smartPosition:this.isAddApp}),this.isAddApp&&this.box&&(this.store.updateAppState(t,Ae.ZIndex,this.box.zIndex),this.store.updateAppState(t,Ae.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 Yo(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,a,o;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":{(a=this.boxManager)==null||a.setBoxTitle({appId:t,title:n.title});break}case Id.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":{(o=this.boxManager)==null||o.focusBox({appId:this.id}),St.emit("focus",{appId:this.id});break}}}}setScenePath(){if(!this.manager.canOperate)return;const t=this.getFullScenePath();this.manager.room&&t&&this.view&&Ra(this.manager.room,t)}setViewFocusScenePath(){const t=this.getFullScenePath();return t&&this.view&&vi(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=Zo(t,this.pageState);return this.setSceneIndexWithoutSync(n),this.manager.dispatchInternalEvent(J.SetAppFocusIndex,{type:"app",appID:this.id,index:n}),setTimeout(()=>{ja(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;if(this.status!=="destroyed"){this.status="destroyed";try{await Ee.notifyApp(this.kind,"destroy",{appId:this.id}),await this.appEmitter.emit("destroy",{error:r})}catch(a){console.error("[WindowManager]: notifyApp error",a.message,a.stack)}this.appEmitter.clearListeners(),B.emit(`destroy-${this.id}`,{error:r}),t&&((s=this.boxManager)==null||s.closeBox(this.id,n)),i&&(this.store.cleanAppAttributes(this.id),this.scenePath&&ja(this.manager.room,this.scenePath)),this.appProxies.delete(this.id),this._pageState.destroy(),this.viewManager.destroyView(this.id),this.manager.appStatus.delete(this.id),this.manager.refresher.remove(this.id),this.manager.refresher.remove(this.stateKey),this.manager.refresher.remove(`${this.id}-fullPath`),this._prevFullPath=void 0}}close(){return this.destroy(!0,!0,!1)}}class lm{constructor(t){this.displayer=t,this.views=new Map}createView(t){const i=Bd(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 Bd=e=>{const t=e.views.createView();return um(t),t},um=e=>{e.setCameraBound({maxContentMode:()=>10,minContentMode:()=>.1})};class cm{constructor(t){this.manager=t,this.polling=!1,this.started=!1,this.mainViewIsAddListener=!1,this.store=this.manager.store,this.viewMode=this.manager.windowManger.viewMode,this.sideEffectManager=new Ji.SideEffectManager,this.syncCamera=()=>{if(!this.polling||this.viewMode!==A.ViewMode.Broadcaster)return;const{mainViewCamera:n}=this;n&&n.id!==this.manager.uid&&this.moveCameraSizeByAttributes()},this.startListenWritableChange=()=>{this.sideEffectManager.add(()=>B.on("writableChange",n=>{n&&this.ensureCameraAndSize(),this.manager.room&&this.syncMainView(this.manager.room)}))},this.addCameraReaction=()=>{this.manager.refresher.add(we.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)),this.ensureMainViewSize()},30),this.onUpdateContainerSizeRatio=()=>{const n=this.store.getMainViewSize();this.sizeChangeHandler(n)},this.onCameraUpdatedByDevice=n=>{this.viewMode!==A.ViewMode.Follower&&(this.store.setMainViewCamera(Je(q({},n),{id:this.manager.uid})),E.isEqual(this.mainViewSize,Je(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(Je(q({},n),{id:this.manager.uid}))},50),this._syncMainViewTimer=0,this.onCameraOrSizeUpdated=()=>{ne.emit("cameraStateChange",this.cameraState),this.manager.room&&this.manager.room.syncMainView&&(clearTimeout(this._syncMainViewTimer),this._syncMainViewTimer=setTimeout(this.syncMainView,100,this.manager.room)),this.ensureMainViewSize()},this.syncMainView=n=>{n.isWritable&&n.syncMainView(this.mainView)},this.setViewMode=n=>{this.viewMode=n},this.mainView=this.createMainView(),this.moveCameraSizeByAttributes(),B.once("mainViewMounted").then(()=>{this.addMainViewListener(),this.start(),this.ensureCameraAndSize(),this.startListenWritableChange()});const i=()=>{this.sizeChangeHandler(this.mainViewSize)};this.sideEffectManager.add(()=>B.on("playgroundSizeChange",i)),this.sideEffectManager.add(()=>B.on("containerSizeRatioUpdate",this.onUpdateContainerSizeRatio)),this.sideEffectManager.add(()=>B.on("startReconnect",()=>{this.didRelease||this.mainView.release()})),this.sideEffectManager.setInterval(this.syncCamera,1500)}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.manager.room&&this.syncMainView(this.manager.room),this.started=!0)}setCameraAndSize(){const t=Je(q({},this.mainView.camera),{id:this.manager.uid}),i=Je(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=Bd(this.manager.displayer),i=this.store.getMainViewScenePath();return i&&vi(t,i),t}onReconnect(){if(this.didRelease)this.rebind();else{const t=this.store.getMainViewScenePath();this.setFocusScenePath(t)}}setFocusScenePath(t){if(t)return vi(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)}ensureMainViewSize(){(!this.mainViewSize||this.mainViewSize.width===0||this.mainViewSize.height===0)&&this.mainView.size.width>0&&this.mainView.size.height>0&&this.setMainViewSize(this.mainView.size)}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(){this.removeCameraListener(),this.manager.refresher.remove(we.MainViewCamera),this.manager.refresher.remove(we.MainViewSize),this.started=!1}destroy(){this.removeMainViewListener(),this.stop(),this.sideEffectManager.flushAll()}}class dm{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=>{ne.emit("canRedoStepsChange",i)},this.onCanUndoStepsUpdate=i=>{ne.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)},B.on("focusedChange",i=>{this.disposePrevFocusViewRedoUndoListeners(i.prev),setTimeout(()=>{this.addRedoUndoListeners(i.focused)},0)}),B.on("rootDirRemoved",()=>{this.disposePrevFocusViewRedoUndoListeners(t.focus()),this.addRedoUndoListeners(t.focus())}),this.addRedoUndoListeners(t.focus())}destroy(){this.disposePrevFocusViewRedoUndoListeners(this.context.focus())}}class hm{constructor(t){this.windowManger=t,this.appProxies=new Map,this.appStatus=new Map,this.store=om,this.isReplay=this.windowManger.isReplay,this.mainViewScenesLength=0,this.callbacksNode=null,this.appCreateQueue=new Ng,this.sideEffectManager=new Ji.SideEffectManager,this.sceneState=null,this.rootDirRemoving=!1,this.onRemoveScenes=async i=>{var r,s;const{scenePath:n}=i;if(n===je){await this.onRootDirRemoved(),this.dispatchInternalEvent(J.RootDirRemoved);return}if(Kg(n)){let a=this.mainView.focusSceneIndex||0,o=(r=this.callbacksNode)==null?void 0:r.scenes[a];o||(a=0,o=(s=this.callbacksNode)==null?void 0:s.scenes[a]),o&&this.setMainViewScenePath(`${je}${o}`),await this.setMainViewSceneIndex(a)}else this.appProxies.forEach(a=>{a.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(je,{onAddScene:this.onSceneChange,onRemoveScene:async(n,r)=>{await this.onSceneChange(n),B.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=Zo(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&&ja(this.room,`${je}${r}`,i)},100),new Promise((a,o)=>{B.once("rootDirSceneRemoved").then(l=>{l===r&&a(!0)}).catch(l=>{console.log(`[WindowManager]: removePage error: ${l}`),o(!1)})})},this.setSceneIndexWithoutSync=i=>{var r;const n=(r=this.callbacksNode)==null?void 0:r.scenes[i];n&&this.mainViewProxy.setFocusScenePath(`${je}${n}`)},this.onSceneChange=i=>(this.mainViewScenesLength=i.scenes.length,this.updateSceneState(i),this.emitMainViewScenesChange(this.mainViewScenesLength)),this.emitMainViewScenesChange=i=>Promise.all([ne.emit("mainViewScenesLengthChange",i),B.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:`${je}${r}`,contextPath:i.path,index:n,scenes:i.scenes.map(s=>({name:s})),sceneName:r},ne.emit("sceneStateChange",this.sceneState)},this.onBoxMove=i=>{this.dispatchInternalEvent(J.AppMove,i),this.store.updateAppState(i.appId,Ae.Position,{x:i.x,y:i.y})},this.onBoxResize=i=>{i.width&&i.height&&(this.dispatchInternalEvent(J.AppResize,i),this.store.updateAppState(i.appId,Ae.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=()=>{this.refresher.add("apps",()=>jd(()=>this.attributes.apps,()=>{this.attributesUpdateCallback(this.attributes.apps)}))},this.addAppCloseListener=()=>{this.refresher.add("appsClose",()=>tm(this.attributes.apps,()=>{this.onAppDelete(this.attributes.apps)}))},this.onMainViewIndexChange=i=>{i!==void 0&&this._prevSceneIndex!==i&&(ne.emit("mainViewSceneIndexChange",i),B.emit("changePageState"),this.callbacksNode&&this.updateSceneState(this.callbacksNode),this._prevSceneIndex=i)},this.onFocusChange=i=>{var n;this._prevFocused!==i&&(ne.emit("focusedChange",i),B.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&&Ee.notifyApp(r.kind,"focus",{appId:i})},0)))},this.attributesUpdateCallback=E.debounce(i=>this._attributesUpdateCallback(i),100),this._appIds=[],this.onRegisteredChange=i=>{!i||Object.entries(i).forEach(([n,r])=>{Ee.appClasses.has(n)||Ee.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)}),B.emit("observerIdChange",this.displayer.observerId)},this.displayerWritableListener=i=>{var s,a;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):(a=this.boxManager)==null||a.setReadonly(!(n&&r)),this.appProxies.forEach(o=>{o.emitAppIsWritableChange()}),B.emit("writableChange",n)},this.updateSceneIndex=()=>{const i=this.store.getMainViewScenePath(),n=ra(i),r=Wi(this.displayer)[n];if(r.length){const s=i.replace(n,"").replace("/",""),a=r.findIndex(o=>o.name===s);E.isInteger(a)&&a>=0&&this.safeSetAttributes({_mainSceneIndex:a})}},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 cm(this),this.viewManager=new lm(this.displayer),this.appListeners=new qg(this),this.displayer.callbacks.on(this.eventName,this.displayerStateListener),this.appListeners.addListeners(),this.refresher=hg,this.refresher.setRoom(this.room),this.refresher.setContext({emitter:B}),this.sideEffectManager.addDisposer(()=>{var i,n;this.appCreateQueue.destroy(),this.mainViewProxy.destroy(),this.refresher.destroy(),this.viewManager.destroy(),(i=this.boxManager)==null||i.destroy(),(n=this.callbacksNode)==null||n.dispose()}),B.once("onCreated").then(()=>this.onCreated()),B.on("onReconnected",()=>this.onReconnected()),A.isPlayer(this.displayer)&&(B.on("seekStart",this.onPlayerSeekStart),B.on("seek",this.onPlayerSeekDone)),B.on("removeScenes",this.onRemoveScenes),B.on("setReadonly",this.onReadonlyChanged),this.createRootDirScenesCallback(),Ee.setSyncRegisterApp(i=>{this.safeUpdateAttributes([we.Registered,i.kind],i)})}async onRootDirRemoved(t=!0){this.setMainViewScenePath(Ad),this.createRootDirScenesCallback();for(const[i,n]of this.appProxies.entries())n.view&&await this.closeApp(i,t);this.mainViewProxy.rebind(),B.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 polling(){return this.mainViewProxy.polling}set polling(t){this.mainViewProxy.polling=t}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 ra(t);throw new Error("[WindowManager]: mainViewSceneDir not found")}async onCreated(){var t;if(await this.attributesUpdateCallback(this.attributes.apps),B.emit("updateManagerRect"),St.on("move",this.onBoxMove),St.on("resize",this.onBoxResize),St.on("focus",this.onBoxFocus),St.on("close",this.onBoxClose),St.on("boxStateChange",this.onBoxStateChange),this.addAppsChangeListener(),this.addAppCloseListener(),this.refresher.add("maximized",()=>A.autorun(()=>{var n;const i=this.attributes.maximized;(n=this.boxManager)==null||n.setMaximized(Boolean(i))})),this.refresher.add("minimized",()=>A.autorun(()=>{const i=this.attributes.minimized;this.onMinimized(i)})),this.refresher.add("mainViewIndex",()=>A.autorun(()=>{const i=E.get(this.attributes,"_mainSceneIndex");this.onMainViewIndexChange(i)})),this.refresher.add("focusedChange",()=>A.autorun(()=>{const i=E.get(this.attributes,"focus");this.onFocusChange(i)})),this.refresher.add("registeredChange",()=>A.autorun(()=>{const i=E.get(this.attributes,we.Registered);this.onRegisteredChange(i)})),!this.attributes.apps||Object.keys(this.attributes.apps).length===0){const i=this.store.getMainViewScenePath();if(!i)return;this.resetScenePath(i)}this.displayerWritableListener(!((t=this.room)!=null&&t.isWritable)),this.displayer.callbacks.on("onEnableWriteNowChanged",this.displayerWritableListener),this._prevFocused=this.attributes.focus,this.sideEffectManager.add(()=>{const i=new dm({mainView:()=>this.mainViewProxy.view,focus:()=>this.attributes.focus,getAppProxy:n=>this.appProxies.get(n)});return()=>i.destroy()})}notifyAppsChange(t){(this._appIds.length!==t.length||!this._appIds.every(i=>t.includes(i)))&&(this._appIds=t,ne.emit("appsChange",t))}async _attributesUpdateCallback(t){if(t&&re.container){const i=Object.keys(t);i.length===0&&this.appCreateQueue.emitReady();const r=E.orderBy(i.map(s=>({id:s,createdAt:t[s].createdAt})),"createdAt","asc").map(({id:s})=>s);this.notifyAppsChange(r);for(const s of r)if(!this.appProxies.has(s)&&!this.appStatus.has(s)){const a=t[s];try{if(!this.attributes[s])throw new Error("appAttributes is undefined");this.appCreateQueue.push(()=>(this.appStatus.set(s,La.StartCreate),this.baseInsertApp({kind:a.kind,options:a.options,isDynamicPPT:a.isDynamicPPT},s,!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(),B.emit("mainViewMounted")}setMainViewFocusPath(t){var n;const i=t||this.store.getMainViewScenePath();if(i)return vi(this.mainView,i),((n=this.mainView)==null?void 0:n.focusScenePath)===i}resetScenePath(t){this.displayer.state.sceneState.scenePath!==t&&Ra(this.room,t)}async addApp(t,i){ct("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 a,o;const n=await Qg(t.kind);this.appStatus.set(n,La.StartCreate);const r=(a=t.attributes)!=null?a:{};this.safeUpdateAttributes([n],r),this.store.setupAppAttributes(t,n,i);const s=!((o=this.boxManager)!=null&&o.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;St.emit("move",{appId:t.id,x:r==null?void 0:r.intrinsicX,y:r==null?void 0:r.intrinsicY}),this.store.updateAppState(t.id,Ae.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 Yo(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(ra(t)!==je)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=Gg(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=`${je}${n}`;if(n)this.setMainViewFocusPath(r)&&(this.store.setMainViewScenePath(r),this.store.setMainViewSceneIndex(t),this.dispatchSetMainViewScenePath(r));else throw new Error(`[WindowManager]: ${t} not valid index`)}}dispatchSetMainViewScenePath(t){this.dispatchInternalEvent(J.SetMainViewScenePath,{nextScenePath:t}),ne.emit("mainViewScenePathChange",t),Ra(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(za,{eventName:t,payload:i})}destroy(){this.displayer.callbacks.off(this.eventName,this.displayerStateListener),this.displayer.callbacks.off("onEnableWriteNowChanged",this.displayerWritableListener),this.appListeners.removeListeners(),St.clearListeners(),B.clearListeners(),this.appProxies.size&&this.appProxies.forEach(t=>{t.destroy(!0,!1,!0)}),ne.clearListeners(),this.sideEffectManager.flushAll(),this._prevFocused=void 0,this._prevSceneIndex=void 0}}const pm=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),re.wrapper=n,{playground:t,wrapper:n,sizer:i,mainViewElement:r}},fm=()=>{if(Mu(A.WhiteVersion)<Mu(yu))throw new kd(yu)},Ba=(e,t)=>{var s;const i=(e==null?void 0:e.state.roomMembers)||[];let n=-1,r;for(const a of i)((s=a.payload)==null?void 0:s.uid)===t&&n<a.memberId&&(n=a.memberId,r=a);return r},bu=async e=>{try{return await e.createInvisiblePlugin(re,{})}catch(t){if(t.message==='invisible plugin "WindowManager" exits')return await qr(200),e.getInvisiblePlugin(re.kind);ct("createInvisiblePlugin failed",t)}},gm=window.ResizeObserver||Ig.ResizeObserver;class Go{constructor(t){this.emitter=t}static create(t,i,n,r){const s=new Go(r);return s.observePlaygroundSize(t,i,n),s}observePlaygroundSize(t,i,n){this.updateSizer(t.getBoundingClientRect(),i,n),this.containerResizeObserver=new gm(r=>{var a;const s=(a=r[0])==null?void 0:a.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>re.containerSizeRatio?(i=t*re.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!0)):(t=i/re.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 Ci={exports:{}},Y={};/*
2
+ ;return ${t}`)();return typeof i=="undefined"&&(i=window[t]),i},Wg=async(e,t,i)=>{const n=i||Og+t;ne.emit("loadApp",{kind:t,status:"start"});let r;try{if(r=await Ug(e),!r||r.length===0)throw ne.emit("loadApp",{kind:t,status:"failed",reason:"script is empty."}),new Error("[WindowManager]: script is empty.")}catch(s){throw ne.emit("loadApp",{kind:t,status:"failed",reason:s.message}),s}return Hg(r,n,t)},Hg=(e,t,i)=>{try{const n=Su(e,t);return ne.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=Su(e,t);return ne.emit("loadApp",{kind:i,status:"success"}),s}throw ne.emit("loadApp",{kind:i,status:"failed",reason:n.message}),n}};async function $g(e,t){const{timeout:i=1e4}=t,n=new AbortController,r=setTimeout(()=>n.abort(),i),s=await fetch(e,Je(q({},t),{signal:n.signal,headers:{"content-type":"text/plain"}}));return clearTimeout(r),s}class Fg{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 Wg(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 Ki.default;this.kindEmitters.set(t,i)}return this.kindEmitters.get(t)}}const Ee=new Fg,Qg=async e=>{var i,n;const t=await((i=Ee.appClasses.get(e))==null?void 0:i());return t&&((n=t.config)==null?void 0:n.singleton)?e:`${e}-${Cg.v4().replace("-","").slice(0,8)}`},vi=(e,t)=>{if(e.focusScenePath!==t)return e.focusScenePath=t,e},Ra=(e,t)=>{if(e&&e.isWritable&&e.state.sceneState.scenePath!==t){const i=t==="/"?"":t;e.setScenePath(i)}},Zg=(e,t,i)=>{var n;if(e&&t){const s=(n=Wi(e)[t])==null?void 0:n[i];if(s)return`${t}/${s.name}`}},ja=(e,t,i)=>{e&&e.scenePathType(t)!==A.ScenePathType.None&&e.removeScenes(t,i)},Yg=(e,t)=>{B.once(e).then(t)};E.debounce((e,t)=>{e.emit("mainViewModeChange",t)},200);const Gg=(e,t,i=0)=>{const n=Wi(e)[t];if(!n)return;const r=n[i];if(!r)return;const s=r.name;return t===je?`/${s}`:`${t}/${s}`},Wi=e=>e.entireScenes(),Sn=(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)},Xg=e=>e.startsWith("/"),ra=e=>{const t=e.split("/");t.pop();let i=t.join("/");return i===""&&(i="/"),i},Jg=e=>e.endsWith("/")?e.slice(0,-1):e,Mu=e=>{const t=e.split(".").map(i=>i.padStart(2,"0")).join("");return parseInt(t)},qr=e=>new Promise(t=>setTimeout(t,e)),Kg=e=>e.split("").reduce((i,n)=>(n===je&&(i+=1),i),0)===1;class qg{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=>{ne.emit("boxStateChange",i)},this.setMainViewScenePathHandler=({nextScenePath:i})=>{vi(this.manager.mainView,i),ne.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=>{B.emit("cursorMove",i)},this.rootDirRemovedHandler=()=>{this.manager.createRootDirScenesCallback(),this.manager.mainViewProxy.rebind(),B.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(za,this.mainMagixEventListener)}removeListeners(){this.displayer.removeMagixEventListener(za,this.mainMagixEventListener)}}class Td extends Error{constructor(){super(...arguments);this.message="[WindowManager]: app duplicate exists and cannot be created again"}}class em extends Error{constructor(t){super(`[WindowManager]: app ${t} need register or provide src`)}}class qe extends Error{constructor(){super(...arguments);this.message="[WindowManager]: AppManager must be initialized"}}class kd extends Error{constructor(t){super(`[WindowManager]: white-web-sdk version must large than ${t}`)}}class Pd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: kind must be a valid string"}}class Nd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: box need created"}}class Dd extends Error{constructor(){super(...arguments);this.message='[WindowManager]: ScenePath should start with "/"'}}class zd extends Error{constructor(){super(...arguments);this.message="[WindowManager]: boxManager not found"}}class Ld extends Error{constructor(){super(...arguments);this.message="[WindowManager]: room phase only Connected can be bindContainer"}}const Rd=e=>(t,i)=>{if(t!==void 0)if(A.listenUpdated){const n=r=>{r.map(a=>a.kind).includes(e)&&i()};return A.listenUpdated(t,n),i(),()=>A.unlistenUpdated(t,n)}else return A.reaction(()=>t,()=>{i()},{fireImmediately:!0})},jd=(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()}},tm=Rd(A.UpdateEventKind.Removed);Rd(A.UpdateEventKind.Inserted);class im{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 sa=Object.keys;function Cu(e){return Boolean(E.has(e,"__isRef"))}function nm(e){return{k:Ji.genUID(),v:e,__isRef:!0}}const Ke="_WM-STORAGE_";class Iu{constructor(t,i,n){if(this._sideEffect=new Ji.SideEffectManager,this._destroyed=!1,this._refMap=new WeakMap,this._lastValue=new Map,this.onStateChanged=new im,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(),[Ke])||this._context.updateAttributes([Ke],{}),this._context.updateAttributes([Ke,this.id],this._state),n&&this.setState(n))),sa(r).forEach(s=>{if(!(this.id===null&&s===Ke))try{const a=E.isObject(r[s])?JSON.parse(JSON.stringify(r[s])):r[s];Cu(a)?(this._state[s]=a.v,E.isObject(a.v)&&this._refMap.set(a.v,a)):this._state[s]=a}catch(a){console.error(a)}}),this._sideEffect.addDisposer(jd(()=>this.id===null?t.getAttributes():E.get(t.getAttributes(),[Ke,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(sa(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=sa(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 a=this._refMap.get(r);a||(a=nm(r),this._refMap.set(r,a)),s=a}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([Ke,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(),[Ke,this.id],t)}_setRawState(t,i){if(this.id===null){if(t===Ke)throw new Error(`Cannot set attribute internal filed "${Ke}"`);return this._context.updateAttributes([t],i)}else return this._context.updateAttributes([Ke,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],a=s.key;if(this.id===null&&a===Ke)continue;const o=E.isObject(s.value)?JSON.parse(JSON.stringify(s.value)):s.value;let l;switch(this._lastValue.has(a)&&(l=this._lastValue.get(a),this._lastValue.delete(a)),s.kind){case 2:{E.has(this._state,a)&&(l=this._state[a],delete this._state[a]),n[a]={oldValue:l};break}default:{let u=o;if(Cu(o)){const{k:h,v:c}=o,g=this._state[a];E.isObject(g)&&((i=this._refMap.get(g))==null?void 0:i.k)===h?u=g:(u=c,E.isObject(c)&&this._refMap.set(c,o))}u!==this._state[a]&&(l=this._state[a],this._state[a]=u),n[a]={newValue:u,oldValue:l};break}}}catch(s){console.error(s)}this.onStateChanged.dispatch(n)}}}class rm{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 a=this.store.getAppAttributes(this.appId);return a!=null&&a.isDynamicPPT?this.appProxy.scenes:a==null?void 0:a.options.scenes},this.getView=()=>this.appProxy.view,this.mountView=a=>{const o=this.getView();o&&(o.divElement=a,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 a=this.boxManager.getBox(this.appId);if(a)return a;throw new Nd},this.getRoom=()=>this.manager.room,this.setAttributes=a=>{this.manager.safeSetAttributes({[this.appId]:a})},this.updateAttributes=(a,o)=>{this.manager.attributes[this.appId]&&this.manager.safeUpdateAttributes([this.appId,...a],o)},this.setScenePath=async a=>{var o;!this.appProxy.box||(this.appProxy.setFullPath(a),(o=this.getRoom())==null||o.setScenePath(a))},this.getAppOptions=()=>typeof this.appOptions=="function"?this.appOptions():this.appOptions,this.createStorage=(a,o)=>{const l=new Iu(this,a,o);return this.emitter.on("destroy",()=>{l.destroy()}),l},this.dispatchMagixEvent=(...a)=>{var l;const o=`${this.appId}:${a[0]}`;return(l=this.manager.room)==null?void 0:l.dispatchMagixEvent(o,a[1])},this.addMagixEventListener=(a,o,l)=>{const u=`${this.appId}:${a}`;return this.manager.displayer.addMagixEventListener(u,o,l),()=>this.manager.displayer.removeMagixEventListener(u,o)},this.removeMagixEventListener=this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer),this.nextPage=async()=>{const a=this.pageState.index+1;return a>this.pageState.length-1?(console.warn("[WindowManager] nextPage: index out of range"),!1):(this.appProxy.setSceneIndex(a),!0)},this.jumpPage=async a=>0<=a&&a<this.pageState.length?(this.appProxy.setSceneIndex(a),!0):(console.warn("[WindowManager] nextPage: index out of range"),!1),this.prevPage=async()=>{const a=this.pageState.index-1;return a<0?(console.warn("[WindowManager] prevPage: index out of range"),!1):(this.appProxy.setSceneIndex(a),!0)},this.addPage=async a=>{const o=a==null?void 0:a.after,l=a==null?void 0:a.scene,u=this.appProxy.scenePath;if(!!u)if(o){const h=this.pageState.index+1;Sn(this.manager.room,u,[l||{}],h)}else Sn(this.manager.room,u,[l||{}])},this.removePage=async a=>{const o=a===void 0?this.pageState.index:a;return this.pageState.length===1?(console.warn("[WindowManager]: can not remove the last page"),!1):o<0||o>=this.pageState.length?(console.warn(`[WindowManager]: page index ${a} out of range`),!1):this.appProxy.removeSceneByIndex(o)},this.emitter=r.appEmitter,this.isAddApp=r.isAddApp}get storage(){return this._storage||(this._storage=new Iu(this)),this._storage}get pageState(){return this.appProxy.pageState}get kind(){return this.appProxy.kind}dispatchAppEvent(t,i){B.emit(`custom-${this.kind}`,{kind:this.kind,appId:this.appId,type:t,value:i})}}class sm{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 we=(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.IframeBridge="iframeBridge",e))(we||{});class am{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 a=E.pick(t.options,s),o={kind:t.kind,options:a,isDynamicPPT:n};typeof t.src=="string"&&(o.src=t.src),o.createdAt=Date.now(),this.context.safeUpdateAttributes(["apps",i],o),this.context.safeUpdateAttributes(["apps",i,"state"],{[Ae.Size]:{},[Ae.Position]:{},[Ae.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[Ae.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){t.width===0||t.height===0||this.context.safeSetAttributes({mainViewSize:q({},t)})}setMainViewCameraAndSize(t,i){i.width===0||i.height===0||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&&vi(t,i)}getIframeBridge(){return E.get(this.attributes,["iframeBridge"])}setIframeBridge(t){if(E.isObject(t)){const i=this.getIframeBridge();for(const n in t){const r=t[n];i[n]!==r&&this.context.safeUpdateAttributes(["iframeBridge",n],r)}}}}const om=new am({getAttributes:()=>{throw new Error("getAttributes not implemented")},safeSetAttributes:()=>{throw new Error("safeSetAttributes not implemented")},safeUpdateAttributes:()=>{throw new Error("safeUpdateAttributes not implemented")}}),ct=(...e)=>{re.debug&&console.log("[WindowManager]:",...e)},Zo=(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},St=new Ki.default;class Yo{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=a=>{var d,p;const o=this.store.getAppState(a);if(!o)return;const l=o==null?void 0:o[Ae.Position],u=this.store.focus,h=o==null?void 0:o[Ae.Size],c=o==null?void 0:o[Ae.SceneIndex],g=(d=this.attributes)==null?void 0:d.maximized,v=(p=this.attributes)==null?void 0:p.minimized,w=o==null?void 0:o.zIndex;let x={maximized:g,minimized:v,zIndex:w};return l&&(x=Je(q({},x),{id:a,x:l.x,y:l.y})),u===a&&(x=Je(q({},x),{focus:!0})),h&&(x=Je(q({},x),{width:h.width,height:h.height})),c&&(x=Je(q({},x),{sceneIndex:c})),x},this.appAttributesUpdateListener=a=>{this.manager.refresher.add(a,()=>A.autorun(()=>{const o=this.manager.attributes[a];o&&this.appEmitter.emit("attributesUpdate",o)})),this.manager.refresher.add(this.stateKey,()=>A.autorun(()=>{var l,u,h,c;const o=(l=this.appAttributes)==null?void 0:l.state;(o==null?void 0:o.zIndex)>0&&o.zIndex!==((u=this.box)==null?void 0:u.zIndex)&&((h=this.boxManager)==null||h.setZIndex(a,o.zIndex),(c=this.boxManager)==null||c.focusBox({appId:a}))})),this.manager.refresher.add(`${a}-fullPath`,()=>A.autorun(()=>{var l;const o=(l=this.appAttributes)==null?void 0:l.fullPath;this.setFocusScenePathHandler(o),this._prevFullPath!==o&&(this.notifyPageStateChange(),this._prevFullPath=o)}))},this.setFocusScenePathHandler=E.debounce(a=>{var o;this.view&&a&&a!==((o=this.view)==null?void 0:o.focusScenePath)&&vi(this.view,a)},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 Ki.default,this.appListener=this.makeAppEventListener(this.id),this.isAddApp=r,this.initScenes(),(s=this.params.options)!=null&&s.scenePath&&this.createView(),this._pageState=new sm({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=Wi(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,[we.FullPath])||this.getFullScenePathFromScenes()}getFullScenePathFromScenes(){const t=E.get(this.appAttributes,["state","SceneIndex"],0),i=Zg(this.manager.room,this.scenePath,t);return i&&this.setFullPath(i),i}setFullPath(t){this.manager.safeUpdateAttributes(["apps",this.id,we.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=Ee.appClasses.get(i.kind))==null?void 0:s()),r=Ee.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 B.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 o;if(ct("setupApp",t,n,r),!this.boxManager)throw new zd;const a=new rm(this.manager,this.boxManager,t,this,s);this.appContext=a;try{B.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(a);this.appResult=h,Ee.notifyApp(this.kind,"created",{appId:t,result:h}),this.afterSetupApp(l),this.fixMobileSize()},Ed)}),(o=this.boxManager)==null||o.createBox({appId:t,app:n,options:r,canOperate:this.manager.canOperate,smartPosition:this.isAddApp}),this.isAddApp&&this.box&&(this.store.updateAppState(t,Ae.ZIndex,this.box.zIndex),this.store.updateAppState(t,Ae.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 Yo(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,a,o;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":{(a=this.boxManager)==null||a.setBoxTitle({appId:t,title:n.title});break}case Id.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":{(o=this.boxManager)==null||o.focusBox({appId:this.id}),St.emit("focus",{appId:this.id});break}}}}setScenePath(){if(!this.manager.canOperate)return;const t=this.getFullScenePath();this.manager.room&&t&&this.view&&Ra(this.manager.room,t)}setViewFocusScenePath(){const t=this.getFullScenePath();return t&&this.view&&vi(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=Zo(t,this.pageState);return this.setSceneIndexWithoutSync(n),this.manager.dispatchInternalEvent(J.SetAppFocusIndex,{type:"app",appID:this.id,index:n}),setTimeout(()=>{ja(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;if(this.status!=="destroyed"){this.status="destroyed";try{await Ee.notifyApp(this.kind,"destroy",{appId:this.id}),await this.appEmitter.emit("destroy",{error:r})}catch(a){console.error("[WindowManager]: notifyApp error",a.message,a.stack)}this.appEmitter.clearListeners(),B.emit(`destroy-${this.id}`,{error:r}),t&&((s=this.boxManager)==null||s.closeBox(this.id,n)),i&&(this.store.cleanAppAttributes(this.id),this.scenePath&&ja(this.manager.room,this.scenePath)),this.appProxies.delete(this.id),this._pageState.destroy(),this.viewManager.destroyView(this.id),this.manager.appStatus.delete(this.id),this.manager.refresher.remove(this.id),this.manager.refresher.remove(this.stateKey),this.manager.refresher.remove(`${this.id}-fullPath`),this._prevFullPath=void 0}}close(){return this.destroy(!0,!0,!1)}}class lm{constructor(t){this.displayer=t,this.views=new Map}createView(t){const i=Bd(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 Bd=e=>{const t=e.views.createView();return um(t),t},um=e=>{e.setCameraBound({maxContentMode:()=>10,minContentMode:()=>.1})};class cm{constructor(t){this.manager=t,this.polling=!1,this.started=!1,this.mainViewIsAddListener=!1,this.store=this.manager.store,this.viewMode=this.manager.windowManger.viewMode,this.sideEffectManager=new Ji.SideEffectManager,this.syncCamera=()=>{if(!this.polling||this.viewMode!==A.ViewMode.Broadcaster)return;const{mainViewCamera:n}=this;n&&n.id!==this.manager.uid&&this.moveCameraSizeByAttributes()},this.startListenWritableChange=()=>{this.sideEffectManager.add(()=>B.on("writableChange",n=>{n&&this.ensureCameraAndSize(),this.manager.room&&this.syncMainView(this.manager.room)}))},this.addCameraReaction=()=>{this.manager.refresher.add(we.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)),this.ensureMainViewSize()},30),this.onUpdateContainerSizeRatio=()=>{const n=this.store.getMainViewSize();this.sizeChangeHandler(n)},this.onCameraUpdatedByDevice=n=>{this.viewMode!==A.ViewMode.Follower&&(this.store.setMainViewCamera(Je(q({},n),{id:this.manager.uid})),E.isEqual(this.mainViewSize,Je(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(Je(q({},n),{id:this.manager.uid}))},50),this._syncMainViewTimer=0,this.onCameraOrSizeUpdated=()=>{ne.emit("cameraStateChange",this.cameraState),this.manager.room&&this.manager.room.syncMainView&&(clearTimeout(this._syncMainViewTimer),this._syncMainViewTimer=setTimeout(this.syncMainView,100,this.manager.room)),this.ensureMainViewSize()},this.syncMainView=n=>{n.isWritable&&n.syncMainView(this.mainView)},this.setViewMode=n=>{this.viewMode=n},this.mainView=this.createMainView(),this.moveCameraSizeByAttributes(),B.once("mainViewMounted").then(()=>{this.addMainViewListener(),this.start(),this.ensureCameraAndSize(),this.startListenWritableChange()});const i=()=>{this.sizeChangeHandler(this.mainViewSize)};this.sideEffectManager.add(()=>B.on("playgroundSizeChange",i)),this.sideEffectManager.add(()=>B.on("containerSizeRatioUpdate",this.onUpdateContainerSizeRatio)),this.sideEffectManager.add(()=>B.on("startReconnect",()=>{this.didRelease||this.mainView.release()})),this.sideEffectManager.setInterval(this.syncCamera,1500)}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.manager.room&&this.syncMainView(this.manager.room),this.started=!0)}setCameraAndSize(){const t=Je(q({},this.mainView.camera),{id:this.manager.uid}),i=Je(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=Bd(this.manager.displayer),i=this.store.getMainViewScenePath();return i&&vi(t,i),t}onReconnect(){if(this.didRelease)this.rebind();else{const t=this.store.getMainViewScenePath();this.setFocusScenePath(t)}}setFocusScenePath(t){if(t)return vi(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)}ensureMainViewSize(){(!this.mainViewSize||this.mainViewSize.width===0||this.mainViewSize.height===0)&&this.mainView.size.width>0&&this.mainView.size.height>0&&this.setMainViewSize(this.mainView.size)}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(){this.removeCameraListener(),this.manager.refresher.remove(we.MainViewCamera),this.manager.refresher.remove(we.MainViewSize),this.started=!1}destroy(){this.removeMainViewListener(),this.stop(),this.sideEffectManager.flushAll()}}class dm{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=>{ne.emit("canRedoStepsChange",i)},this.onCanUndoStepsUpdate=i=>{ne.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)},B.on("focusedChange",i=>{this.disposePrevFocusViewRedoUndoListeners(i.prev),setTimeout(()=>{this.addRedoUndoListeners(i.focused)},0)}),B.on("rootDirRemoved",()=>{this.disposePrevFocusViewRedoUndoListeners(t.focus()),this.addRedoUndoListeners(t.focus())}),this.addRedoUndoListeners(t.focus())}destroy(){this.disposePrevFocusViewRedoUndoListeners(this.context.focus())}}class hm{constructor(t){this.windowManger=t,this.appProxies=new Map,this.appStatus=new Map,this.store=om,this.isReplay=this.windowManger.isReplay,this.mainViewScenesLength=0,this.callbacksNode=null,this.appCreateQueue=new Ng,this.sideEffectManager=new Ji.SideEffectManager,this.sceneState=null,this.rootDirRemoving=!1,this.onRemoveScenes=async i=>{var r,s;const{scenePath:n}=i;if(n===je){await this.onRootDirRemoved(),this.dispatchInternalEvent(J.RootDirRemoved);return}if(Kg(n)){let a=this.mainView.focusSceneIndex||0,o=(r=this.callbacksNode)==null?void 0:r.scenes[a];o||(a=0,o=(s=this.callbacksNode)==null?void 0:s.scenes[a]),o&&this.setMainViewScenePath(`${je}${o}`),await this.setMainViewSceneIndex(a)}else this.appProxies.forEach(a=>{a.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(je,{onAddScene:this.onSceneChange,onRemoveScene:async(n,r)=>{await this.onSceneChange(n),B.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=Zo(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&&ja(this.room,`${je}${r}`,i)},100),new Promise((a,o)=>{B.once("rootDirSceneRemoved").then(l=>{l===r&&a(!0)}).catch(l=>{console.log(`[WindowManager]: removePage error: ${l}`),o(!1)})})},this.setSceneIndexWithoutSync=i=>{var r;const n=(r=this.callbacksNode)==null?void 0:r.scenes[i];n&&this.mainViewProxy.setFocusScenePath(`${je}${n}`)},this.onSceneChange=i=>(this.mainViewScenesLength=i.scenes.length,this.updateSceneState(i),this.emitMainViewScenesChange(this.mainViewScenesLength)),this.emitMainViewScenesChange=i=>Promise.all([ne.emit("mainViewScenesLengthChange",i),B.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:`${je}${r}`,contextPath:i.path,index:n,scenes:i.scenes.map(s=>({name:s})),sceneName:r},ne.emit("sceneStateChange",this.sceneState)},this.onBoxMove=i=>{this.dispatchInternalEvent(J.AppMove,i),this.store.updateAppState(i.appId,Ae.Position,{x:i.x,y:i.y})},this.onBoxResize=i=>{i.width&&i.height&&(this.dispatchInternalEvent(J.AppResize,i),this.store.updateAppState(i.appId,Ae.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=()=>{this.refresher.add("apps",()=>jd(()=>this.attributes.apps,()=>{this.attributesUpdateCallback(this.attributes.apps)}))},this.addAppCloseListener=()=>{this.refresher.add("appsClose",()=>tm(this.attributes.apps,()=>{this.onAppDelete(this.attributes.apps)}))},this.onMainViewIndexChange=i=>{i!==void 0&&this._prevSceneIndex!==i&&(ne.emit("mainViewSceneIndexChange",i),B.emit("changePageState"),this.callbacksNode&&this.updateSceneState(this.callbacksNode),this._prevSceneIndex=i)},this.onFocusChange=i=>{var n;this._prevFocused!==i&&(ne.emit("focusedChange",i),B.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&&Ee.notifyApp(r.kind,"focus",{appId:i})},0)))},this.attributesUpdateCallback=E.debounce(i=>this._attributesUpdateCallback(i),100),this._appIds=[],this.onRegisteredChange=i=>{!i||Object.entries(i).forEach(([n,r])=>{Ee.appClasses.has(n)||Ee.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=>{this.appProxies.forEach(n=>{n.appEmitter.emit("roomStateChange",i)}),B.emit("observerIdChange",this.displayer.observerId)},this.displayerWritableListener=i=>{var s,a;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):(a=this.boxManager)==null||a.setReadonly(!(n&&r)),this.appProxies.forEach(o=>{o.emitAppIsWritableChange()}),B.emit("writableChange",n)},this.updateSceneIndex=()=>{const i=this.store.getMainViewScenePath(),n=ra(i),r=Wi(this.displayer)[n];if(r.length){const s=i.replace(n,"").replace("/",""),a=r.findIndex(o=>o.name===s);E.isInteger(a)&&a>=0&&this.safeSetAttributes({_mainSceneIndex:a})}},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 cm(this),this.viewManager=new lm(this.displayer),this.appListeners=new qg(this),this.displayer.callbacks.on(this.eventName,this.displayerStateListener),this.appListeners.addListeners(),this.refresher=hg,this.refresher.setRoom(this.room),this.refresher.setContext({emitter:B}),this.sideEffectManager.addDisposer(()=>{var i,n;this.appCreateQueue.destroy(),this.mainViewProxy.destroy(),this.refresher.destroy(),this.viewManager.destroy(),(i=this.boxManager)==null||i.destroy(),(n=this.callbacksNode)==null||n.dispose()}),B.once("onCreated").then(()=>this.onCreated()),B.on("onReconnected",()=>this.onReconnected()),A.isPlayer(this.displayer)&&(B.on("seekStart",this.onPlayerSeekStart),B.on("seek",this.onPlayerSeekDone)),B.on("removeScenes",this.onRemoveScenes),B.on("setReadonly",this.onReadonlyChanged),this.createRootDirScenesCallback(),Ee.setSyncRegisterApp(i=>{this.safeUpdateAttributes([we.Registered,i.kind],i)})}async onRootDirRemoved(t=!0){this.setMainViewScenePath(Ad),this.createRootDirScenesCallback();for(const[i,n]of this.appProxies.entries())n.view&&await this.closeApp(i,t);this.mainViewProxy.rebind(),B.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 polling(){return this.mainViewProxy.polling}set polling(t){this.mainViewProxy.polling=t}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 ra(t);throw new Error("[WindowManager]: mainViewSceneDir not found")}async onCreated(){var t;if(await this.attributesUpdateCallback(this.attributes.apps),B.emit("updateManagerRect"),St.on("move",this.onBoxMove),St.on("resize",this.onBoxResize),St.on("focus",this.onBoxFocus),St.on("close",this.onBoxClose),St.on("boxStateChange",this.onBoxStateChange),this.addAppsChangeListener(),this.addAppCloseListener(),this.refresher.add("maximized",()=>A.autorun(()=>{var n;const i=this.attributes.maximized;(n=this.boxManager)==null||n.setMaximized(Boolean(i))})),this.refresher.add("minimized",()=>A.autorun(()=>{const i=this.attributes.minimized;this.onMinimized(i)})),this.refresher.add("mainViewIndex",()=>A.autorun(()=>{const i=E.get(this.attributes,"_mainSceneIndex");this.onMainViewIndexChange(i)})),this.refresher.add("focusedChange",()=>A.autorun(()=>{const i=E.get(this.attributes,"focus");this.onFocusChange(i)})),this.refresher.add("registeredChange",()=>A.autorun(()=>{const i=E.get(this.attributes,we.Registered);this.onRegisteredChange(i)})),!this.attributes.apps||Object.keys(this.attributes.apps).length===0){const i=this.store.getMainViewScenePath();if(!i)return;this.resetScenePath(i)}this.displayerWritableListener(!((t=this.room)!=null&&t.isWritable)),this.displayer.callbacks.on("onEnableWriteNowChanged",this.displayerWritableListener),this._prevFocused=this.attributes.focus,this.sideEffectManager.add(()=>{const i=new dm({mainView:()=>this.mainViewProxy.view,focus:()=>this.attributes.focus,getAppProxy:n=>this.appProxies.get(n)});return()=>i.destroy()})}notifyAppsChange(t){(this._appIds.length!==t.length||!this._appIds.every(i=>t.includes(i)))&&(this._appIds=t,ne.emit("appsChange",t))}async _attributesUpdateCallback(t){if(t&&re.container){const i=Object.keys(t);i.length===0&&this.appCreateQueue.emitReady();const r=E.orderBy(i.map(s=>({id:s,createdAt:t[s].createdAt})),"createdAt","asc").map(({id:s})=>s);this.notifyAppsChange(r);for(const s of r)if(!this.appProxies.has(s)&&!this.appStatus.has(s)){const a=t[s];try{if(!this.attributes[s])throw new Error("appAttributes is undefined");this.appCreateQueue.push(()=>(this.appStatus.set(s,La.StartCreate),this.baseInsertApp({kind:a.kind,options:a.options,isDynamicPPT:a.isDynamicPPT},s,!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(),B.emit("mainViewMounted")}setMainViewFocusPath(t){var n;const i=t||this.store.getMainViewScenePath();if(i)return vi(this.mainView,i),((n=this.mainView)==null?void 0:n.focusScenePath)===i}resetScenePath(t){this.displayer.state.sceneState.scenePath!==t&&Ra(this.room,t)}async addApp(t,i){ct("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 a,o;const n=await Qg(t.kind);this.appStatus.set(n,La.StartCreate);const r=(a=t.attributes)!=null?a:{};this.safeUpdateAttributes([n],r),this.store.setupAppAttributes(t,n,i);const s=!((o=this.boxManager)!=null&&o.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;St.emit("move",{appId:t.id,x:r==null?void 0:r.intrinsicX,y:r==null?void 0:r.intrinsicY}),this.store.updateAppState(t.id,Ae.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 Yo(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(ra(t)!==je)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=Gg(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=`${je}${n}`;if(n)this.setMainViewFocusPath(r)&&(this.store.setMainViewScenePath(r),this.store.setMainViewSceneIndex(t),this.dispatchSetMainViewScenePath(r));else throw new Error(`[WindowManager]: ${t} not valid index`)}}dispatchSetMainViewScenePath(t){this.dispatchInternalEvent(J.SetMainViewScenePath,{nextScenePath:t}),ne.emit("mainViewScenePathChange",t),Ra(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(za,{eventName:t,payload:i})}destroy(){this.displayer.callbacks.off(this.eventName,this.displayerStateListener),this.displayer.callbacks.off("onEnableWriteNowChanged",this.displayerWritableListener),this.appListeners.removeListeners(),St.clearListeners(),B.clearListeners(),this.appProxies.size&&this.appProxies.forEach(t=>{t.destroy(!0,!1,!0)}),ne.clearListeners(),this.sideEffectManager.flushAll(),this._prevFocused=void 0,this._prevSceneIndex=void 0}}const pm=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),re.wrapper=n,{playground:t,wrapper:n,sizer:i,mainViewElement:r}},fm=()=>{if(Mu(A.WhiteVersion)<Mu(yu))throw new kd(yu)},Ba=(e,t)=>{var s;const i=(e==null?void 0:e.state.roomMembers)||[];let n=-1,r;for(const a of i)((s=a.payload)==null?void 0:s.uid)===t&&n<a.memberId&&(n=a.memberId,r=a);return r},bu=async e=>{try{return await e.createInvisiblePlugin(re,{})}catch(t){if(t.message==='invisible plugin "WindowManager" exits')return await qr(200),e.getInvisiblePlugin(re.kind);ct("createInvisiblePlugin failed",t)}},gm=window.ResizeObserver||Ig.ResizeObserver;class Go{constructor(t){this.emitter=t}static create(t,i,n,r){const s=new Go(r);return s.observePlaygroundSize(t,i,n),s}observePlaygroundSize(t,i,n){this.updateSizer(t.getBoundingClientRect(),i,n),this.containerResizeObserver=new gm(r=>{var a;const s=(a=r[0])==null?void 0:a.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>re.containerSizeRatio?(i=t*re.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!0)):(t=i/re.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 Ci={exports:{}},Y={};/*
3
3
  object-assign
4
4
  (c) Sindre Sorhus
5
5
  @license MIT
@@ -56,5 +56,5 @@ ${t}`,Bw=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),_w=Objec
56
56
  in `+(n||"Unknown")+s}t+=i,e=e.return}while(e);return t}function Xt(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 J0(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(a){n=""+a,s.call(this,a)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return n},setValue:function(a){n=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Cr(e){e._valueTracker||(e._valueTracker=J0(e))}function Cp(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 no(e,t){var i=t.checked;return Ce({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i!=null?i:e._wrapperState.initialChecked})}function yc(e,t){var i=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;i=Xt(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 Ip(e,t){t=t.checked,t!=null&&Nl(e,"checked",t,!1)}function ro(e,t){Ip(e,t);var i=Xt(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")?so(e,t.type,i):t.hasOwnProperty("defaultValue")&&so(e,t.type,Xt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xc(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 so(e,t,i){(t!=="number"||e.ownerDocument.activeElement!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}function K0(e){var t="";return Ws.Children.forEach(e,function(i){i!=null&&(t+=i)}),t}function ao(e,t){return e=Ce({children:void 0},t),(t=K0(t.children))&&(e.children=t),e}function _i(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=""+Xt(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 oo(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(C(91));return Ce({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Sc(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:Xt(i)}}function bp(e,t){var i=Xt(t.value),n=Xt(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 Mc(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}var Ap={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function Ep(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 lo(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Ep(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Ir,Tp=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!==Ap.svg||"innerHTML"in e)e.innerHTML=t;else{for(Ir=Ir||document.createElement("div"),Ir.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Ir.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Un(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}function br(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var ki={animationend:br("Animation","AnimationEnd"),animationiteration:br("Animation","AnimationIteration"),animationstart:br("Animation","AnimationStart"),transitionend:br("Transition","TransitionEnd")},wa={},kp={};ti&&(kp=document.createElement("div").style,"AnimationEvent"in window||(delete ki.animationend.animation,delete ki.animationiteration.animation,delete ki.animationstart.animation),"TransitionEvent"in window||delete ki.transitionend.transition);function Hs(e){if(wa[e])return wa[e];if(!ki[e])return e;var t=ki[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in kp)return wa[e]=t[i];return e}var Pp=Hs("animationend"),Np=Hs("animationiteration"),Dp=Hs("animationstart"),zp=Hs("transitionend"),wn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Cc=new(typeof WeakMap=="function"?WeakMap:Map);function Rl(e){var t=Cc.get(e);return t===void 0&&(t=new Map,Cc.set(e,t)),t}function bi(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 Lp(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 Ic(e){if(bi(e)!==e)throw Error(C(188))}function q0(e){var t=e.alternate;if(!t){if(t=bi(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 Ic(r),e;if(s===n)return Ic(r),t;s=s.sibling}throw Error(C(188))}if(i.return!==n.return)i=r,n=s;else{for(var a=!1,o=r.child;o;){if(o===i){a=!0,i=r,n=s;break}if(o===n){a=!0,n=r,i=s;break}o=o.sibling}if(!a){for(o=s.child;o;){if(o===i){a=!0,i=s,n=r;break}if(o===n){a=!0,n=s,i=r;break}o=o.sibling}if(!a)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 Rp(e){if(e=q0(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 Qi(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 jl(e,t,i){Array.isArray(e)?e.forEach(t,i):e&&t.call(i,e)}var ln=null;function ex(e){if(e){var t=e._dispatchListeners,i=e._dispatchInstances;if(Array.isArray(t))for(var n=0;n<t.length&&!e.isPropagationStopped();n++)hc(e,t[n],i[n]);else t&&hc(e,t,i);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function $s(e){if(e!==null&&(ln=Qi(ln,e)),e=ln,ln=null,e){if(jl(e,ex),ln)throw Error(C(95));if(os)throw e=qa,os=!1,qa=null,e}}function Bl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}function jp(e){if(!ti)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 cs=[];function Bp(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>cs.length&&cs.push(e)}function _p(e,t,i,n){if(cs.length){var r=cs.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 Op(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=sr(n)}while(i);for(i=0;i<e.ancestors.length;i++){t=e.ancestors[i];var r=Bl(e.nativeEvent);n=e.topLevelType;var s=e.nativeEvent,a=e.eventSystemFlags;i===0&&(a|=64);for(var o=null,l=0;l<us.length;l++){var u=us[l];u&&(u=u.extractEvents(n,t,s,r,a))&&(o=Qi(o,u))}$s(o)}}function uo(e,t,i){if(!i.has(e)){switch(e){case"scroll":yn(t,"scroll",!0);break;case"focus":case"blur":yn(t,"focus",!0),yn(t,"blur",!0),i.set("blur",null),i.set("focus",null);break;case"cancel":case"close":jp(e)&&yn(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:wn.indexOf(e)===-1&&te(e,t)}i.set(e,null)}}var Vp,_l,Up,co=!1,dt=[],Ht=null,$t=null,Ft=null,Wn=new Map,Hn=new Map,un=[],ho="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(" "),tx="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function ix(e,t){var i=Rl(t);ho.forEach(function(n){uo(n,t,i)}),tx.forEach(function(n){uo(n,t,i)})}function po(e,t,i,n,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:i|32,nativeEvent:r,container:n}}function bc(e,t){switch(e){case"focus":case"blur":Ht=null;break;case"dragenter":case"dragleave":$t=null;break;case"mouseover":case"mouseout":Ft=null;break;case"pointerover":case"pointerout":Wn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Hn.delete(t.pointerId)}}function cn(e,t,i,n,r,s){return e===null||e.nativeEvent!==s?(e=po(t,i,n,r,s),t!==null&&(t=ar(t),t!==null&&_l(t)),e):(e.eventSystemFlags|=n,e)}function nx(e,t,i,n,r){switch(t){case"focus":return Ht=cn(Ht,e,t,i,n,r),!0;case"dragenter":return $t=cn($t,e,t,i,n,r),!0;case"mouseover":return Ft=cn(Ft,e,t,i,n,r),!0;case"pointerover":var s=r.pointerId;return Wn.set(s,cn(Wn.get(s)||null,e,t,i,n,r)),!0;case"gotpointercapture":return s=r.pointerId,Hn.set(s,cn(Hn.get(s)||null,e,t,i,n,r)),!0}return!1}function rx(e){var t=sr(e.target);if(t!==null){var i=bi(t);if(i!==null){if(t=i.tag,t===13){if(t=Lp(i),t!==null){e.blockedOn=t,ge.unstable_runWithPriority(e.priority,function(){Up(i)});return}}else if(t===3&&i.stateNode.hydrate){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ur(e){if(e.blockedOn!==null)return!1;var t=Ul(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(t!==null){var i=ar(t);return i!==null&&_l(i),e.blockedOn=t,!1}return!0}function Ac(e,t,i){Ur(e)&&i.delete(t)}function sx(){for(co=!1;0<dt.length;){var e=dt[0];if(e.blockedOn!==null){e=ar(e.blockedOn),e!==null&&Vp(e);break}var t=Ul(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);t!==null?e.blockedOn=t:dt.shift()}Ht!==null&&Ur(Ht)&&(Ht=null),$t!==null&&Ur($t)&&($t=null),Ft!==null&&Ur(Ft)&&(Ft=null),Wn.forEach(Ac),Hn.forEach(Ac)}function dn(e,t){e.blockedOn===t&&(e.blockedOn=null,co||(co=!0,ge.unstable_scheduleCallback(ge.unstable_NormalPriority,sx)))}function Wp(e){function t(r){return dn(r,e)}if(0<dt.length){dn(dt[0],e);for(var i=1;i<dt.length;i++){var n=dt[i];n.blockedOn===e&&(n.blockedOn=null)}}for(Ht!==null&&dn(Ht,e),$t!==null&&dn($t,e),Ft!==null&&dn(Ft,e),Wn.forEach(t),Hn.forEach(t),i=0;i<un.length;i++)n=un[i],n.blockedOn===e&&(n.blockedOn=null);for(;0<un.length&&(i=un[0],i.blockedOn===null);)rx(i),i.blockedOn===null&&un.shift()}var Hp={},$p=new Map,Ol=new Map,ax=["abort","abort",Pp,"animationEnd",Np,"animationIteration",Dp,"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",zp,"transitionEnd","waiting","waiting"];function Vl(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},Ol.set(n,t),$p.set(n,s),Hp[r]=s}}Vl("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);Vl("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);Vl(ax,2);for(var Ec="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),ya=0;ya<Ec.length;ya++)Ol.set(Ec[ya],0);var ox=ge.unstable_UserBlockingPriority,lx=ge.unstable_runWithPriority,Wr=!0;function te(e,t){yn(t,e,!1)}function yn(e,t,i){var n=Ol.get(t);switch(n===void 0?2:n){case 0:n=ux.bind(null,t,1,e);break;case 1:n=cx.bind(null,t,1,e);break;default:n=Fs.bind(null,t,1,e)}i?e.addEventListener(t,n,!0):e.addEventListener(t,n,!1)}function ux(e,t,i,n){si||El();var r=Fs,s=si;si=!0;try{fp(r,e,t,i,n)}finally{(si=s)||Tl()}}function cx(e,t,i,n){lx(ox,Fs.bind(null,e,t,i,n))}function Fs(e,t,i,n){if(Wr)if(0<dt.length&&-1<ho.indexOf(e))e=po(null,e,t,i,n),dt.push(e);else{var r=Ul(e,t,i,n);if(r===null)bc(e,n);else if(-1<ho.indexOf(e))e=po(r,e,t,i,n),dt.push(e);else if(!nx(r,e,t,i,n)){bc(e,n),e=_p(e,n,null,t);try{mp(Op,e)}finally{Bp(e)}}}}function Ul(e,t,i,n){if(i=Bl(n),i=sr(i),i!==null){var r=bi(i);if(r===null)i=null;else{var s=r.tag;if(s===13){if(i=Lp(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=_p(e,n,i,t);try{mp(Op,e)}finally{Bp(e)}return null}var kn={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},dx=["Webkit","ms","Moz","O"];Object.keys(kn).forEach(function(e){dx.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),kn[t]=kn[e]})});function Fp(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||kn.hasOwnProperty(e)&&kn[e]?(""+t).trim():t+"px"}function Qp(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var n=i.indexOf("--")===0,r=Fp(i,t[i],n);i==="float"&&(i="cssFloat"),n?e.setProperty(i,r):e[i]=r}}var hx=Ce({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 fo(e,t){if(t){if(hx[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 go(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 Tc=Ap.html;function yt(e,t){e=e.nodeType===9||e.nodeType===11?e:e.ownerDocument;var i=Rl(e);t=bl[t];for(var n=0;n<t.length;n++)uo(t[n],e,i)}function ds(){}function mo(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 kc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Pc(e,t){var i=kc(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=kc(i)}}function Zp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Zp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Nc(){for(var e=window,t=mo();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=mo(e.document)}return t}function vo(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 Yp="$",Gp="/$",Wl="$?",Hl="$!",xa=null,Sa=null;function Xp(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function wo(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 Ma=typeof setTimeout=="function"?setTimeout:void 0,px=typeof clearTimeout=="function"?clearTimeout:void 0;function Oi(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break}return e}function Dc(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i===Yp||i===Hl||i===Wl){if(t===0)return e;t--}else i===Gp&&t++}e=e.previousSibling}return null}var $l=Math.random().toString(36).slice(2),jt="__reactInternalInstance$"+$l,hs="__reactEventHandlers$"+$l,rr="__reactContainere$"+$l;function sr(e){var t=e[jt];if(t)return t;for(var i=e.parentNode;i;){if(t=i[rr]||i[jt]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=Dc(e);e!==null;){if(i=e[jt])return i;e=Dc(e)}return t}e=i,i=e.parentNode}return null}function ar(e){return e=e[jt]||e[rr],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function yi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(C(33))}function Fl(e){return e[hs]||null}function xt(e){do e=e.return;while(e&&e.tag!==5);return e||null}function Jp(e,t){var i=e.stateNode;if(!i)return null;var n=Il(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 zc(e,t,i){(t=Jp(e,i.dispatchConfig.phasedRegistrationNames[t]))&&(i._dispatchListeners=Qi(i._dispatchListeners,t),i._dispatchInstances=Qi(i._dispatchInstances,e))}function fx(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,i=[];t;)i.push(t),t=xt(t);for(t=i.length;0<t--;)zc(i[t],"captured",e);for(t=0;t<i.length;t++)zc(i[t],"bubbled",e)}}function yo(e,t,i){e&&i&&i.dispatchConfig.registrationName&&(t=Jp(e,i.dispatchConfig.registrationName))&&(i._dispatchListeners=Qi(i._dispatchListeners,t),i._dispatchInstances=Qi(i._dispatchInstances,e))}function gx(e){e&&e.dispatchConfig.registrationName&&yo(e._targetInst,null,e)}function Zi(e){jl(e,fx)}var Bt=null,Ql=null,Hr=null;function Kp(){if(Hr)return Hr;var e,t=Ql,i=t.length,n,r="value"in Bt?Bt.value:Bt.textContent,s=r.length;for(e=0;e<i&&t[e]===r[e];e++);var a=i-e;for(n=1;n<=a&&t[i-n]===r[s-n];n++);return Hr=r.slice(e,1<n?1-n:void 0)}function $r(){return!0}function ps(){return!1}function Ve(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)?$r:ps,this.isPropagationStopped=ps,this}Ce(Ve.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!="unknown"&&(e.returnValue=!1),this.isDefaultPrevented=$r)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!="unknown"&&(e.cancelBubble=!0),this.isPropagationStopped=$r)},persist:function(){this.isPersistent=$r},isPersistent:ps,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=ps,this._dispatchInstances=this._dispatchListeners=null}});Ve.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};Ve.extend=function(e){function t(){}function i(){return n.apply(this,arguments)}var n=this;t.prototype=n.prototype;var r=new t;return Ce(r,i.prototype),i.prototype=r,i.prototype.constructor=i,i.Interface=Ce({},n.Interface,e),i.extend=n.extend,qp(i),i};qp(Ve);function mx(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 vx(e){if(!(e instanceof this))throw Error(C(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function qp(e){e.eventPool=[],e.getPooled=mx,e.release=vx}var wx=Ve.extend({data:null}),yx=Ve.extend({data:null}),xx=[9,13,27,32],Zl=ti&&"CompositionEvent"in window,Pn=null;ti&&"documentMode"in document&&(Pn=document.documentMode);var Sx=ti&&"TextEvent"in window&&!Pn,ef=ti&&(!Zl||Pn&&8<Pn&&11>=Pn),Lc=String.fromCharCode(32),wt={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(" ")}},Rc=!1;function tf(e,t){switch(e){case"keyup":return xx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function nf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Pi=!1;function Mx(e,t){switch(e){case"compositionend":return nf(t);case"keypress":return t.which!==32?null:(Rc=!0,Lc);case"textInput":return e=t.data,e===Lc&&Rc?null:e;default:return null}}function Cx(e,t){if(Pi)return e==="compositionend"||!Zl&&tf(e,t)?(e=Kp(),Hr=Ql=Bt=null,Pi=!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 ef&&t.locale!=="ko"?null:t.data;default:return null}}var Ix={eventTypes:wt,extractEvents:function(e,t,i,n){var r;if(Zl)e:{switch(e){case"compositionstart":var s=wt.compositionStart;break e;case"compositionend":s=wt.compositionEnd;break e;case"compositionupdate":s=wt.compositionUpdate;break e}s=void 0}else Pi?tf(e,i)&&(s=wt.compositionEnd):e==="keydown"&&i.keyCode===229&&(s=wt.compositionStart);return s?(ef&&i.locale!=="ko"&&(Pi||s!==wt.compositionStart?s===wt.compositionEnd&&Pi&&(r=Kp()):(Bt=n,Ql="value"in Bt?Bt.value:Bt.textContent,Pi=!0)),s=wx.getPooled(s,t,i,n),r?s.data=r:(r=nf(i),r!==null&&(s.data=r)),Zi(s),r=s):r=null,(e=Sx?Mx(e,i):Cx(e,i))?(t=yx.getPooled(wt.beforeInput,t,i,n),t.data=e,Zi(t)):t=null,r===null?t:t===null?r:[r,t]}},bx={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 rf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!bx[e.type]:t==="textarea"}var sf={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function af(e,t,i){return e=Ve.getPooled(sf.change,e,t,i),e.type="change",hp(i),Zi(e),e}var Nn=null,$n=null;function Ax(e){$s(e)}function Qs(e){var t=yi(e);if(Cp(t))return e}function Ex(e,t){if(e==="change")return t}var xo=!1;ti&&(xo=jp("input")&&(!document.documentMode||9<document.documentMode));function jc(){Nn&&(Nn.detachEvent("onpropertychange",of),$n=Nn=null)}function of(e){if(e.propertyName==="value"&&Qs($n))if(e=af($n,e,Bl(e)),si)$s(e);else{si=!0;try{Al(Ax,e)}finally{si=!1,Tl()}}}function Tx(e,t,i){e==="focus"?(jc(),Nn=t,$n=i,Nn.attachEvent("onpropertychange",of)):e==="blur"&&jc()}function kx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Qs($n)}function Px(e,t){if(e==="click")return Qs(t)}function Nx(e,t){if(e==="input"||e==="change")return Qs(t)}var Dx={eventTypes:sf,_isInputEventSupported:xo,extractEvents:function(e,t,i,n){var r=t?yi(t):window,s=r.nodeName&&r.nodeName.toLowerCase();if(s==="select"||s==="input"&&r.type==="file")var a=Ex;else if(rf(r))if(xo)a=Nx;else{a=kx;var o=Tx}else(s=r.nodeName)&&s.toLowerCase()==="input"&&(r.type==="checkbox"||r.type==="radio")&&(a=Px);if(a&&(a=a(e,t)))return af(a,i,n);o&&o(e,r,t),e==="blur"&&(e=r._wrapperState)&&e.controlled&&r.type==="number"&&so(r,"number",r.value)}},or=Ve.extend({view:null,detail:null}),zx={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Lx(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=zx[e])?!!t[e]:!1}function Yl(){return Lx}var Bc=0,_c=0,Oc=!1,Vc=!1,lr=or.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Yl,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=Bc;return Bc=e.screenX,Oc?e.type==="mousemove"?e.screenX-t:0:(Oc=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=_c;return _c=e.screenY,Vc?e.type==="mousemove"?e.screenY-t:0:(Vc=!0,0)}}),lf=lr.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),hn={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Rx={eventTypes:hn,extractEvents:function(e,t,i,n,r){var s=e==="mouseover"||e==="pointerover",a=e==="mouseout"||e==="pointerout";if(s&&(r&32)===0&&(i.relatedTarget||i.fromElement)||!a&&!s)return null;if(s=n.window===n?n:(s=n.ownerDocument)?s.defaultView||s.parentWindow:window,a){if(a=t,t=(t=i.relatedTarget||i.toElement)?sr(t):null,t!==null){var o=bi(t);(t!==o||t.tag!==5&&t.tag!==6)&&(t=null)}}else a=null;if(a===t)return null;if(e==="mouseout"||e==="mouseover")var l=lr,u=hn.mouseLeave,h=hn.mouseEnter,c="mouse";else(e==="pointerout"||e==="pointerover")&&(l=lf,u=hn.pointerLeave,h=hn.pointerEnter,c="pointer");if(e=a==null?s:yi(a),s=t==null?s:yi(t),u=l.getPooled(u,a,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=a,c=t,n&&c)e:{for(l=n,h=c,a=0,e=l;e;e=xt(e))a++;for(e=0,t=h;t;t=xt(t))e++;for(;0<a-e;)l=xt(l),a--;for(;0<e-a;)h=xt(h),e--;for(;a--;){if(l===h||l===h.alternate)break e;l=xt(l),h=xt(h)}l=null}else l=null;for(h=l,l=[];n&&n!==h&&(a=n.alternate,!(a!==null&&a===h));)l.push(n),n=xt(n);for(n=[];c&&c!==h&&(a=c.alternate,!(a!==null&&a===h));)n.push(c),c=xt(c);for(c=0;c<l.length;c++)yo(l[c],"bubbled",u);for(c=n.length;0<c--;)yo(n[c],"captured",i);return(r&64)===0?[u]:[u,i]}};function jx(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var xi=typeof Object.is=="function"?Object.is:jx,Bx=Object.prototype.hasOwnProperty;function Fn(e,t){if(xi(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(!Bx.call(t,i[n])||!xi(e[i[n]],t[i[n]]))return!1;return!0}var _x=ti&&"documentMode"in document&&11>=document.documentMode,uf={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Ni=null,So=null,Dn=null,Mo=!1;function Uc(e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;return Mo||Ni==null||Ni!==mo(i)?null:(i=Ni,"selectionStart"in i&&vo(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}),Dn&&Fn(Dn,i)?null:(Dn=i,e=Ve.getPooled(uf.select,So,e,t),e.type="select",e.target=Ni,Zi(e),e))}var Ox={eventTypes:uf,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=Rl(r),s=bl.onSelect;for(var a=0;a<s.length;a++)if(!r.has(s[a])){r=!1;break e}r=!0}s=!r}if(s)return null;switch(r=t?yi(t):window,e){case"focus":(rf(r)||r.contentEditable==="true")&&(Ni=r,So=t,Dn=null);break;case"blur":Dn=So=Ni=null;break;case"mousedown":Mo=!0;break;case"contextmenu":case"mouseup":case"dragend":return Mo=!1,Uc(i,n);case"selectionchange":if(_x)break;case"keydown":case"keyup":return Uc(i,n)}return null}},Vx=Ve.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Ux=Ve.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Wx=or.extend({relatedTarget:null});function Fr(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 Hx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},$x={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"},Fx=or.extend({key:function(e){if(e.key){var t=Hx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Fr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?$x[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Yl,charCode:function(e){return e.type==="keypress"?Fr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Fr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Qx=lr.extend({dataTransfer:null}),Zx=or.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Yl}),Yx=Ve.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),Gx=lr.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}),Xx={eventTypes:Hp,extractEvents:function(e,t,i,n){var r=$p.get(e);if(!r)return null;switch(e){case"keypress":if(Fr(i)===0)return null;case"keydown":case"keyup":e=Fx;break;case"blur":case"focus":e=Wx;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=lr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=Qx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=Zx;break;case Pp:case Np:case Dp:e=Vx;break;case zp:e=Yx;break;case"scroll":e=or;break;case"wheel":e=Gx;break;case"copy":case"cut":case"paste":e=Ux;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=lf;break;default:e=Ve}return t=e.getPooled(r,t,i,n),Zi(t),t}};if(ls)throw Error(C(101));ls=Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));cp();var Jx=ar;Il=Fl;lp=Jx;up=yi;dp({SimpleEventPlugin:Xx,EnterLeaveEventPlugin:Rx,ChangeEventPlugin:Dx,SelectEventPlugin:Ox,BeforeInputEventPlugin:Ix});var Co=[],Di=-1;function ee(e){0>Di||(e.current=Co[Di],Co[Di]=null,Di--)}function ae(e,t){Di++,Co[Di]=e.current,e.current=t}var Jt={},Se={current:Jt},ke={current:!1},Si=Jt;function Yi(e,t){var i=e.type.contextTypes;if(!i)return Jt;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 Pe(e){return e=e.childContextTypes,e!=null}function fs(){ee(ke),ee(Se)}function Wc(e,t,i){if(Se.current!==Jt)throw Error(C(168));ae(Se,t),ae(ke,i)}function cf(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,Tt(t)||"Unknown",r));return Ce({},i,{},n)}function Qr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Jt,Si=Se.current,ae(Se,e),ae(ke,ke.current),!0}function Hc(e,t,i){var n=e.stateNode;if(!n)throw Error(C(169));i?(e=cf(e,t,Si),n.__reactInternalMemoizedMergedChildContext=e,ee(ke),ee(Se),ae(Se,e)):ee(ke),ae(ke,i)}var Kx=ge.unstable_runWithPriority,Gl=ge.unstable_scheduleCallback,df=ge.unstable_cancelCallback,$c=ge.unstable_requestPaint,Io=ge.unstable_now,qx=ge.unstable_getCurrentPriorityLevel,Zs=ge.unstable_ImmediatePriority,hf=ge.unstable_UserBlockingPriority,pf=ge.unstable_NormalPriority,ff=ge.unstable_LowPriority,gf=ge.unstable_IdlePriority,mf={},eS=ge.unstable_shouldYield,tS=$c!==void 0?$c:function(){},Ct=null,Zr=null,Ca=!1,Fc=Io(),$e=1e4>Fc?Io:function(){return Io()-Fc};function Ys(){switch(qx()){case Zs:return 99;case hf:return 98;case pf:return 97;case ff:return 96;case gf:return 95;default:throw Error(C(332))}}function vf(e){switch(e){case 99:return Zs;case 98:return hf;case 97:return pf;case 96:return ff;case 95:return gf;default:throw Error(C(332))}}function Kt(e,t){return e=vf(e),Kx(e,t)}function wf(e,t,i){return e=vf(e),Gl(e,t,i)}function Qc(e){return Ct===null?(Ct=[e],Zr=Gl(Zs,yf)):Ct.push(e),mf}function vt(){if(Zr!==null){var e=Zr;Zr=null,df(e)}yf()}function yf(){if(!Ca&&Ct!==null){Ca=!0;var e=0;try{var t=Ct;Kt(99,function(){for(;e<t.length;e++){var i=t[e];do i=i(!0);while(i!==null)}}),Ct=null}catch(i){throw Ct!==null&&(Ct=Ct.slice(e+1)),Gl(Zs,vt),i}finally{Ca=!1}}}function Yr(e,t,i){return i/=10,1073741821-(((1073741821-e+t/10)/i|0)+1)*i}function tt(e,t){if(e&&e.defaultProps){t=Ce({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i])}return t}var gs={current:null},ms=null,zi=null,vs=null;function Xl(){vs=zi=ms=null}function Jl(e){var t=gs.current;ee(gs),e.type._context._currentValue=t}function xf(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 Vi(e,t){ms=e,vs=zi=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.expirationTime>=t&&(ht=!0),e.firstContext=null)}function Ze(e,t){if(vs!==e&&t!==!1&&t!==0)if((typeof t!="number"||t===1073741823)&&(vs=e,t=1073741823),t={context:e,observedBits:t,next:null},zi===null){if(ms===null)throw Error(C(308));zi=t,ms.dependencies={expirationTime:0,firstContext:t,responders:null}}else zi=zi.next=t;return e._currentValue}var Rt=!1;function Kl(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function ql(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function Qt(e,t){return e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null},e.next=e}function Zt(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 Zc(e,t){var i=e.alternate;i!==null&&ql(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 Qn(e,t,i,n){var r=e.updateQueue;Rt=!1;var s=r.baseQueue,a=r.shared.pending;if(a!==null){if(s!==null){var o=s.next;s.next=a.next,a.next=o}s=a,r.shared.pending=null,o=e.alternate,o!==null&&(o=o.updateQueue,o!==null&&(o.baseQueue=a))}if(s!==null){o=s.next;var l=r.baseState,u=0,h=null,c=null,g=null;if(o!==null){var v=o;do{if(a=v.expirationTime,a<n){var w={expirationTime:v.expirationTime,suspenseConfig:v.suspenseConfig,tag:v.tag,payload:v.payload,callback:v.callback,next:null};g===null?(c=g=w,h=l):g=g.next=w,a>u&&(u=a)}else{g!==null&&(g=g.next={expirationTime:1073741823,suspenseConfig:v.suspenseConfig,tag:v.tag,payload:v.payload,callback:v.callback,next:null}),Xf(a,v.suspenseConfig);e:{var x=e,d=v;switch(a=t,w=i,d.tag){case 1:if(x=d.payload,typeof x=="function"){l=x.call(w,l,a);break e}l=x;break e;case 3:x.effectTag=x.effectTag&-4097|64;case 0:if(x=d.payload,a=typeof x=="function"?x.call(w,l,a):x,a==null)break e;l=Ce({},l,a);break e;case 2:Rt=!0}}v.callback!==null&&(e.effectTag|=32,a=r.effects,a===null?r.effects=[v]:a.push(v))}if(v=v.next,v===null||v===o){if(a=r.shared.pending,a===null)break;v=s.next=a.next,a.next=o,r.baseQueue=s=a,r.shared.pending=null}}while(1)}g===null?h=l:g.next=c,r.baseState=h,r.baseQueue=g,qs(u),e.expirationTime=u,e.memoizedState=l}}function Yc(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 zn=it.ReactCurrentBatchConfig,Sf=new Ws.Component().refs;function ws(e,t,i,n){t=e.memoizedState,i=i(n,t),i=i==null?t:Ce({},t,i),e.memoizedState=i,e.expirationTime===0&&(e.updateQueue.baseState=i)}var Gs={isMounted:function(e){return(e=e._reactInternalFiber)?bi(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternalFiber;var n=gt(),r=zn.suspense;n=gi(n,e,r),r=Qt(n,r),r.payload=t,i!=null&&(r.callback=i),Zt(e,r),Gt(e,n)},enqueueReplaceState:function(e,t,i){e=e._reactInternalFiber;var n=gt(),r=zn.suspense;n=gi(n,e,r),r=Qt(n,r),r.tag=1,r.payload=t,i!=null&&(r.callback=i),Zt(e,r),Gt(e,n)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var i=gt(),n=zn.suspense;i=gi(i,e,n),n=Qt(i,n),n.tag=2,t!=null&&(n.callback=t),Zt(e,n),Gt(e,i)}};function Gc(e,t,i,n,r,s,a){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,s,a):t.prototype&&t.prototype.isPureReactComponent?!Fn(i,n)||!Fn(r,s):!0}function Mf(e,t,i){var n=!1,r=Jt,s=t.contextType;return typeof s=="object"&&s!==null?s=Ze(s):(r=Pe(t)?Si:Se.current,n=t.contextTypes,s=(n=n!=null)?Yi(e,r):Jt),t=new t(i,s),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Gs,e.stateNode=t,t._reactInternalFiber=e,n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=s),t}function Xc(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&&Gs.enqueueReplaceState(t,t.state,null)}function bo(e,t,i,n){var r=e.stateNode;r.props=i,r.state=e.memoizedState,r.refs=Sf,Kl(e);var s=t.contextType;typeof s=="object"&&s!==null?r.context=Ze(s):(s=Pe(t)?Si:Se.current,r.context=Yi(e,s)),Qn(e,i,r,n),r.state=e.memoizedState,s=t.getDerivedStateFromProps,typeof s=="function"&&(ws(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&&Gs.enqueueReplaceState(r,r.state,null),Qn(e,i,r,n),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.effectTag|=4)}var Ar=Array.isArray;function pn(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 a=n.refs;a===Sf&&(a=n.refs={}),s===null?delete a[r]:a[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 Er(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 Cf(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=Mi(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 a(d){return e&&d.alternate===null&&(d.effectTag=2),d}function o(d,p,f,m){return p===null||p.tag!==6?(p=ka(f,d.mode,m),p.return=d,p):(p=r(p,f),p.return=d,p)}function l(d,p,f,m){return p!==null&&p.elementType===f.type?(m=r(p,f.props),m.ref=pn(d,p,f),m.return=d,m):(m=Kr(f.type,f.key,f.props,null,d.mode,m),m.ref=pn(d,p,f),m.return=d,m)}function u(d,p,f,m){return p===null||p.tag!==4||p.stateNode.containerInfo!==f.containerInfo||p.stateNode.implementation!==f.implementation?(p=Pa(f,d.mode,m),p.return=d,p):(p=r(p,f.children||[]),p.return=d,p)}function h(d,p,f,m,y){return p===null||p.tag!==7?(p=Vt(f,d.mode,m,y),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=ka(""+p,d.mode,f),p.return=d,p;if(typeof p=="object"&&p!==null){switch(p.$$typeof){case Mr:return f=Kr(p.type,p.key,p.props,null,d.mode,f),f.ref=pn(d,null,p),f.return=d,f;case Ti:return p=Pa(p,d.mode,f),p.return=d,p}if(Ar(p)||on(p))return p=Vt(p,d.mode,f,null),p.return=d,p;Er(d,p)}return null}function g(d,p,f,m){var y=p!==null?p.key:null;if(typeof f=="string"||typeof f=="number")return y!==null?null:o(d,p,""+f,m);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case Mr:return f.key===y?f.type===ri?h(d,p,f.props.children,m,y):l(d,p,f,m):null;case Ti:return f.key===y?u(d,p,f,m):null}if(Ar(f)||on(f))return y!==null?null:h(d,p,f,m,null);Er(d,f)}return null}function v(d,p,f,m,y){if(typeof m=="string"||typeof m=="number")return d=d.get(f)||null,o(p,d,""+m,y);if(typeof m=="object"&&m!==null){switch(m.$$typeof){case Mr:return d=d.get(m.key===null?f:m.key)||null,m.type===ri?h(p,d,m.props.children,y,m.key):l(p,d,m,y);case Ti:return d=d.get(m.key===null?f:m.key)||null,u(p,d,m,y)}if(Ar(m)||on(m))return d=d.get(f)||null,h(p,d,m,y,null);Er(p,m)}return null}function w(d,p,f,m){for(var y=null,S=null,M=p,T=p=0,N=null;M!==null&&T<f.length;T++){M.index>T?(N=M,M=null):N=M.sibling;var k=g(d,M,f[T],m);if(k===null){M===null&&(M=N);break}e&&M&&k.alternate===null&&t(d,M),p=s(k,p,T),S===null?y=k:S.sibling=k,S=k,M=N}if(T===f.length)return i(d,M),y;if(M===null){for(;T<f.length;T++)M=c(d,f[T],m),M!==null&&(p=s(M,p,T),S===null?y=M:S.sibling=M,S=M);return y}for(M=n(d,M);T<f.length;T++)N=v(M,d,T,f[T],m),N!==null&&(e&&N.alternate!==null&&M.delete(N.key===null?T:N.key),p=s(N,p,T),S===null?y=N:S.sibling=N,S=N);return e&&M.forEach(function(R){return t(d,R)}),y}function x(d,p,f,m){var y=on(f);if(typeof y!="function")throw Error(C(150));if(f=y.call(f),f==null)throw Error(C(151));for(var S=y=null,M=p,T=p=0,N=null,k=f.next();M!==null&&!k.done;T++,k=f.next()){M.index>T?(N=M,M=null):N=M.sibling;var R=g(d,M,k.value,m);if(R===null){M===null&&(M=N);break}e&&M&&R.alternate===null&&t(d,M),p=s(R,p,T),S===null?y=R:S.sibling=R,S=R,M=N}if(k.done)return i(d,M),y;if(M===null){for(;!k.done;T++,k=f.next())k=c(d,k.value,m),k!==null&&(p=s(k,p,T),S===null?y=k:S.sibling=k,S=k);return y}for(M=n(d,M);!k.done;T++,k=f.next())k=v(M,d,T,k.value,m),k!==null&&(e&&k.alternate!==null&&M.delete(k.key===null?T:k.key),p=s(k,p,T),S===null?y=k:S.sibling=k,S=k);return e&&M.forEach(function(I){return t(d,I)}),y}return function(d,p,f,m){var y=typeof f=="object"&&f!==null&&f.type===ri&&f.key===null;y&&(f=f.props.children);var S=typeof f=="object"&&f!==null;if(S)switch(f.$$typeof){case Mr:e:{for(S=f.key,y=p;y!==null;){if(y.key===S){switch(y.tag){case 7:if(f.type===ri){i(d,y.sibling),p=r(y,f.props.children),p.return=d,d=p;break e}break;default:if(y.elementType===f.type){i(d,y.sibling),p=r(y,f.props),p.ref=pn(d,y,f),p.return=d,d=p;break e}}i(d,y);break}else t(d,y);y=y.sibling}f.type===ri?(p=Vt(f.props.children,d.mode,m,f.key),p.return=d,d=p):(m=Kr(f.type,f.key,f.props,null,d.mode,m),m.ref=pn(d,p,f),m.return=d,d=m)}return a(d);case Ti:e:{for(y=f.key;p!==null;){if(p.key===y)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=Pa(f,d.mode,m),p.return=d,d=p}return a(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=ka(f,d.mode,m),p.return=d,d=p),a(d);if(Ar(f))return w(d,p,f,m);if(on(f))return x(d,p,f,m);if(S&&Er(d,f),typeof f=="undefined"&&!y)switch(d.tag){case 1:case 0:throw d=d.type,Error(C(152,d.displayName||d.name||"Component"))}return i(d,p)}}var Gi=Cf(!0),eu=Cf(!1),ur={},ft={current:ur},Zn={current:ur},Yn={current:ur};function ai(e){if(e===ur)throw Error(C(174));return e}function Ao(e,t){switch(ae(Yn,t),ae(Zn,e),ae(ft,ur),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:lo(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=lo(t,e)}ee(ft),ae(ft,t)}function Xi(){ee(ft),ee(Zn),ee(Yn)}function Jc(e){ai(Yn.current);var t=ai(ft.current),i=lo(t,e.type);t!==i&&(ae(Zn,e),ae(ft,i))}function tu(e){Zn.current===e&&(ee(ft),ee(Zn))}var se={current:0};function ys(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===Wl||i.data===Hl))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 iu(e,t){return{responder:e,props:t}}var Gr=it.ReactCurrentDispatcher,Fe=it.ReactCurrentBatchConfig,_t=0,ue=null,ye=null,xe=null,xs=!1;function ze(){throw Error(C(321))}function nu(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!xi(e[i],t[i]))return!1;return!0}function ru(e,t,i,n,r,s){if(_t=s,ue=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,Gr.current=e===null||e.memoizedState===null?iS:nS,e=i(n,r),t.expirationTime===_t){s=0;do{if(t.expirationTime=0,!(25>s))throw Error(C(301));s+=1,xe=ye=null,t.updateQueue=null,Gr.current=rS,e=i(n,r)}while(t.expirationTime===_t)}if(Gr.current=Cs,t=ye!==null&&ye.next!==null,_t=0,xe=ye=ue=null,xs=!1,t)throw Error(C(300));return e}function Ui(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xe===null?ue.memoizedState=xe=e:xe=xe.next=e,xe}function tn(){if(ye===null){var e=ue.alternate;e=e!==null?e.memoizedState:null}else e=ye.next;var t=xe===null?ue.memoizedState:xe.next;if(t!==null)xe=t,ye=e;else{if(e===null)throw Error(C(310));ye=e,e={memoizedState:ye.memoizedState,baseState:ye.baseState,baseQueue:ye.baseQueue,queue:ye.queue,next:null},xe===null?ue.memoizedState=xe=e:xe=xe.next=e}return xe}function hi(e,t){return typeof t=="function"?t(e):t}function Tr(e){var t=tn(),i=t.queue;if(i===null)throw Error(C(311));i.lastRenderedReducer=e;var n=ye,r=n.baseQueue,s=i.pending;if(s!==null){if(r!==null){var a=r.next;r.next=s.next,s.next=a}n.baseQueue=r=s,i.pending=null}if(r!==null){r=r.next,n=n.baseState;var o=a=s=null,l=r;do{var u=l.expirationTime;if(u<_t){var h={expirationTime:l.expirationTime,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null};o===null?(a=o=h,s=n):o=o.next=h,u>ue.expirationTime&&(ue.expirationTime=u,qs(u))}else o!==null&&(o=o.next={expirationTime:1073741823,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null}),Xf(u,l.suspenseConfig),n=l.eagerReducer===e?l.eagerState:e(n,l.action);l=l.next}while(l!==null&&l!==r);o===null?s=n:o.next=a,xi(n,t.memoizedState)||(ht=!0),t.memoizedState=n,t.baseState=s,t.baseQueue=o,i.lastRenderedState=n}return[t.memoizedState,i.dispatch]}function kr(e){var t=tn(),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 a=r=r.next;do s=e(s,a.action),a=a.next;while(a!==r);xi(s,t.memoizedState)||(ht=!0),t.memoizedState=s,t.baseQueue===null&&(t.baseState=s),i.lastRenderedState=s}return[s,n]}function Ia(e){var t=Ui();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e=t.queue={pending:null,dispatch:null,lastRenderedReducer:hi,lastRenderedState:e},e=e.dispatch=kf.bind(null,ue,e),[t.memoizedState,e]}function Eo(e,t,i,n){return e={tag:e,create:t,destroy:i,deps:n,next:null},t=ue.updateQueue,t===null?(t={lastEffect:null},ue.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 If(){return tn().memoizedState}function To(e,t,i,n){var r=Ui();ue.effectTag|=e,r.memoizedState=Eo(1|t,i,void 0,n===void 0?null:n)}function su(e,t,i,n){var r=tn();n=n===void 0?null:n;var s=void 0;if(ye!==null){var a=ye.memoizedState;if(s=a.destroy,n!==null&&nu(n,a.deps)){Eo(t,i,s,n);return}}ue.effectTag|=e,r.memoizedState=Eo(1|t,i,s,n)}function Kc(e,t){return To(516,4,e,t)}function Ss(e,t){return su(516,4,e,t)}function bf(e,t){return su(4,2,e,t)}function Af(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 Ef(e,t,i){return i=i!=null?i.concat([e]):null,su(4,2,Af.bind(null,t,e),i)}function au(){}function qc(e,t){return Ui().memoizedState=[e,t===void 0?null:t],e}function Ms(e,t){var i=tn();t=t===void 0?null:t;var n=i.memoizedState;return n!==null&&t!==null&&nu(t,n[1])?n[0]:(i.memoizedState=[e,t],e)}function Tf(e,t){var i=tn();t=t===void 0?null:t;var n=i.memoizedState;return n!==null&&t!==null&&nu(t,n[1])?n[0]:(e=e(),i.memoizedState=[e,t],e)}function ou(e,t,i){var n=Ys();Kt(98>n?98:n,function(){e(!0)}),Kt(97<n?97:n,function(){var r=Fe.suspense;Fe.suspense=t===void 0?null:t;try{e(!1),i()}finally{Fe.suspense=r}})}function kf(e,t,i){var n=gt(),r=zn.suspense;n=gi(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===ue||s!==null&&s===ue)xs=!0,r.expirationTime=_t,ue.expirationTime=_t;else{if(e.expirationTime===0&&(s===null||s.expirationTime===0)&&(s=t.lastRenderedReducer,s!==null))try{var a=t.lastRenderedState,o=s(a,i);if(r.eagerReducer=s,r.eagerState=o,xi(o,a))return}catch{}finally{}Gt(e,n)}}var Cs={readContext:Ze,useCallback:ze,useContext:ze,useEffect:ze,useImperativeHandle:ze,useLayoutEffect:ze,useMemo:ze,useReducer:ze,useRef:ze,useState:ze,useDebugValue:ze,useResponder:ze,useDeferredValue:ze,useTransition:ze},iS={readContext:Ze,useCallback:qc,useContext:Ze,useEffect:Kc,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,To(4,2,Af.bind(null,t,e),i)},useLayoutEffect:function(e,t){return To(4,2,e,t)},useMemo:function(e,t){var i=Ui();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var n=Ui();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=kf.bind(null,ue,e),[n.memoizedState,e]},useRef:function(e){var t=Ui();return e={current:e},t.memoizedState=e},useState:Ia,useDebugValue:au,useResponder:iu,useDeferredValue:function(e,t){var i=Ia(e),n=i[0],r=i[1];return Kc(function(){var s=Fe.suspense;Fe.suspense=t===void 0?null:t;try{r(e)}finally{Fe.suspense=s}},[e,t]),n},useTransition:function(e){var t=Ia(!1),i=t[0];return t=t[1],[qc(ou.bind(null,t,e),[t,e]),i]}},nS={readContext:Ze,useCallback:Ms,useContext:Ze,useEffect:Ss,useImperativeHandle:Ef,useLayoutEffect:bf,useMemo:Tf,useReducer:Tr,useRef:If,useState:function(){return Tr(hi)},useDebugValue:au,useResponder:iu,useDeferredValue:function(e,t){var i=Tr(hi),n=i[0],r=i[1];return Ss(function(){var s=Fe.suspense;Fe.suspense=t===void 0?null:t;try{r(e)}finally{Fe.suspense=s}},[e,t]),n},useTransition:function(e){var t=Tr(hi),i=t[0];return t=t[1],[Ms(ou.bind(null,t,e),[t,e]),i]}},rS={readContext:Ze,useCallback:Ms,useContext:Ze,useEffect:Ss,useImperativeHandle:Ef,useLayoutEffect:bf,useMemo:Tf,useReducer:kr,useRef:If,useState:function(){return kr(hi)},useDebugValue:au,useResponder:iu,useDeferredValue:function(e,t){var i=kr(hi),n=i[0],r=i[1];return Ss(function(){var s=Fe.suspense;Fe.suspense=t===void 0?null:t;try{r(e)}finally{Fe.suspense=s}},[e,t]),n},useTransition:function(e){var t=kr(hi),i=t[0];return t=t[1],[Ms(ou.bind(null,t,e),[t,e]),i]}},At=null,Ot=null,pi=!1;function Pf(e,t){var i=pt(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 ed(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 ko(e){if(pi){var t=Ot;if(t){var i=t;if(!ed(e,t)){if(t=Oi(i.nextSibling),!t||!ed(e,t)){e.effectTag=e.effectTag&-1025|2,pi=!1,At=e;return}Pf(At,i)}At=e,Ot=Oi(t.firstChild)}else e.effectTag=e.effectTag&-1025|2,pi=!1,At=e}}function td(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;At=e}function Pr(e){if(e!==At)return!1;if(!pi)return td(e),pi=!0,!1;var t=e.type;if(e.tag!==5||t!=="head"&&t!=="body"&&!wo(t,e.memoizedProps))for(t=Ot;t;)Pf(e,t),t=Oi(t.nextSibling);if(td(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===Gp){if(t===0){Ot=Oi(e.nextSibling);break e}t--}else i!==Yp&&i!==Hl&&i!==Wl||t++}e=e.nextSibling}Ot=null}}else Ot=At?Oi(e.stateNode.nextSibling):null;return!0}function ba(){Ot=At=null,pi=!1}var sS=it.ReactCurrentOwner,ht=!1;function Re(e,t,i,n){t.child=e===null?eu(t,null,i,n):Gi(t,e.child,i,n)}function id(e,t,i,n,r){i=i.render;var s=t.ref;return Vi(t,r),n=ru(e,t,i,n,s,r),e!==null&&!ht?(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Et(e,t,r)):(t.effectTag|=1,Re(e,t,n,r),t.child)}function nd(e,t,i,n,r,s){if(e===null){var a=i.type;return typeof a=="function"&&!hu(a)&&a.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=a,Nf(e,t,a,n,r,s)):(e=Kr(i.type,null,n,null,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}return a=e.child,r<s&&(r=a.memoizedProps,i=i.compare,i=i!==null?i:Fn,i(r,n)&&e.ref===t.ref)?Et(e,t,s):(t.effectTag|=1,e=Mi(a,n),e.ref=t.ref,e.return=t,t.child=e)}function Nf(e,t,i,n,r,s){return e!==null&&Fn(e.memoizedProps,n)&&e.ref===t.ref&&(ht=!1,r<s)?(t.expirationTime=e.expirationTime,Et(e,t,s)):Po(e,t,i,n,s)}function Df(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.effectTag|=128)}function Po(e,t,i,n,r){var s=Pe(i)?Si:Se.current;return s=Yi(t,s),Vi(t,r),i=ru(e,t,i,n,s,r),e!==null&&!ht?(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Et(e,t,r)):(t.effectTag|=1,Re(e,t,i,r),t.child)}function rd(e,t,i,n,r){if(Pe(i)){var s=!0;Qr(t)}else s=!1;if(Vi(t,r),t.stateNode===null)e!==null&&(e.alternate=null,t.alternate=null,t.effectTag|=2),Mf(t,i,n),bo(t,i,n,r),n=!0;else if(e===null){var a=t.stateNode,o=t.memoizedProps;a.props=o;var l=a.context,u=i.contextType;typeof u=="object"&&u!==null?u=Ze(u):(u=Pe(i)?Si:Se.current,u=Yi(t,u));var h=i.getDerivedStateFromProps,c=typeof h=="function"||typeof a.getSnapshotBeforeUpdate=="function";c||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(o!==n||l!==u)&&Xc(t,a,n,u),Rt=!1;var g=t.memoizedState;a.state=g,Qn(t,n,a,r),l=t.memoizedState,o!==n||g!==l||ke.current||Rt?(typeof h=="function"&&(ws(t,i,h,n),l=t.memoizedState),(o=Rt||Gc(t,i,o,n,g,l,u))?(c||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.effectTag|=4)):(typeof a.componentDidMount=="function"&&(t.effectTag|=4),t.memoizedProps=n,t.memoizedState=l),a.props=n,a.state=l,a.context=u,n=o):(typeof a.componentDidMount=="function"&&(t.effectTag|=4),n=!1)}else a=t.stateNode,ql(e,t),o=t.memoizedProps,a.props=t.type===t.elementType?o:tt(t.type,o),l=a.context,u=i.contextType,typeof u=="object"&&u!==null?u=Ze(u):(u=Pe(i)?Si:Se.current,u=Yi(t,u)),h=i.getDerivedStateFromProps,(c=typeof h=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(o!==n||l!==u)&&Xc(t,a,n,u),Rt=!1,l=t.memoizedState,a.state=l,Qn(t,n,a,r),g=t.memoizedState,o!==n||l!==g||ke.current||Rt?(typeof h=="function"&&(ws(t,i,h,n),g=t.memoizedState),(h=Rt||Gc(t,i,o,n,l,g,u))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(n,g,u),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(n,g,u)),typeof a.componentDidUpdate=="function"&&(t.effectTag|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.effectTag|=256)):(typeof a.componentDidUpdate!="function"||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),typeof a.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),t.memoizedProps=n,t.memoizedState=g),a.props=n,a.state=g,a.context=u,n=h):(typeof a.componentDidUpdate!="function"||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),typeof a.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),n=!1);return No(e,t,i,n,s,r)}function No(e,t,i,n,r,s){Df(e,t);var a=(t.effectTag&64)!==0;if(!n&&!a)return r&&Hc(t,i,!1),Et(e,t,s);n=t.stateNode,sS.current=t;var o=a&&typeof i.getDerivedStateFromError!="function"?null:n.render();return t.effectTag|=1,e!==null&&a?(t.child=Gi(t,e.child,null,s),t.child=Gi(t,null,o,s)):Re(e,t,o,s),t.memoizedState=n.state,r&&Hc(t,i,!0),t.child}function sd(e){var t=e.stateNode;t.pendingContext?Wc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Wc(e,t.context,!1),Ao(e,t.containerInfo)}var Aa={dehydrated:null,retryTime:0};function ad(e,t,i){var n=t.mode,r=t.pendingProps,s=se.current,a=!1,o;if((o=(t.effectTag&64)!==0)||(o=(s&2)!==0&&(e===null||e.memoizedState!==null)),o?(a=!0,t.effectTag&=-65):e!==null&&e.memoizedState===null||r.fallback===void 0||r.unstable_avoidThisFallback===!0||(s|=1),ae(se,s&1),e===null){if(r.fallback!==void 0&&ko(t),a){if(a=r.fallback,r=Vt(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=Vt(a,n,i,null),i.return=t,r.sibling=i,t.memoizedState=Aa,t.child=r,i}return n=r.children,t.memoizedState=null,t.child=eu(t,null,n,i)}if(e.memoizedState!==null){if(e=e.child,n=e.sibling,a){if(r=r.fallback,i=Mi(e,e.pendingProps),i.return=t,(t.mode&2)===0&&(a=t.memoizedState!==null?t.child.child:t.child,a!==e.child))for(i.child=a;a!==null;)a.return=i,a=a.sibling;return n=Mi(n,r),n.return=t,i.sibling=n,i.childExpirationTime=0,t.memoizedState=Aa,t.child=i,n}return i=Gi(t,e.child,r.children,i),t.memoizedState=null,t.child=i}if(e=e.child,a){if(a=r.fallback,r=Vt(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=Vt(a,n,i,null),i.return=t,r.sibling=i,i.effectTag|=2,r.childExpirationTime=0,t.memoizedState=Aa,t.child=r,i}return t.memoizedState=null,t.child=Gi(t,e,r.children,i)}function od(e,t){e.expirationTime<t&&(e.expirationTime=t);var i=e.alternate;i!==null&&i.expirationTime<t&&(i.expirationTime=t),xf(e.return,t)}function Ea(e,t,i,n,r,s){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:i,tailExpiration:0,tailMode:r,lastEffect:s}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=n,a.tail=i,a.tailExpiration=0,a.tailMode=r,a.lastEffect=s)}function ld(e,t,i){var n=t.pendingProps,r=n.revealOrder,s=n.tail;if(Re(e,t,n.children,i),n=se.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&&od(e,i);else if(e.tag===19)od(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(ae(se,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&&ys(e)===null&&(r=i),i=i.sibling;i=r,i===null?(r=t.child,t.child=null):(r=i.sibling,i.sibling=null),Ea(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&&ys(e)===null){t.child=r;break}e=r.sibling,r.sibling=i,i=r,r=e}Ea(t,!0,i,null,s,t.lastEffect);break;case"together":Ea(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Et(e,t,i){e!==null&&(t.dependencies=e.dependencies);var n=t.expirationTime;if(n!==0&&qs(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=Mi(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Mi(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}var zf,Do,Lf,Rf;zf=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}};Do=function(){};Lf=function(e,t,i,n,r){var s=e.memoizedProps;if(s!==n){var a=t.stateNode;switch(ai(ft.current),e=null,i){case"input":s=no(a,s),n=no(a,n),e=[];break;case"option":s=ao(a,s),n=ao(a,n),e=[];break;case"select":s=Ce({},s,{value:void 0}),n=Ce({},n,{value:void 0}),e=[];break;case"textarea":s=oo(a,s),n=oo(a,n),e=[];break;default:typeof s.onClick!="function"&&typeof n.onClick=="function"&&(a.onclick=ds)}fo(i,n);var o,l;i=null;for(o in s)if(!n.hasOwnProperty(o)&&s.hasOwnProperty(o)&&s[o]!=null)if(o==="style")for(l in a=s[o],a)a.hasOwnProperty(l)&&(i||(i={}),i[l]="");else o!=="dangerouslySetInnerHTML"&&o!=="children"&&o!=="suppressContentEditableWarning"&&o!=="suppressHydrationWarning"&&o!=="autoFocus"&&(Fi.hasOwnProperty(o)?e||(e=[]):(e=e||[]).push(o,null));for(o in n){var u=n[o];if(a=s!=null?s[o]:void 0,n.hasOwnProperty(o)&&u!==a&&(u!=null||a!=null))if(o==="style")if(a){for(l in a)!a.hasOwnProperty(l)||u&&u.hasOwnProperty(l)||(i||(i={}),i[l]="");for(l in u)u.hasOwnProperty(l)&&a[l]!==u[l]&&(i||(i={}),i[l]=u[l])}else i||(e||(e=[]),e.push(o,i)),i=u;else o==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,a=a?a.__html:void 0,u!=null&&a!==u&&(e=e||[]).push(o,u)):o==="children"?a===u||typeof u!="string"&&typeof u!="number"||(e=e||[]).push(o,""+u):o!=="suppressContentEditableWarning"&&o!=="suppressHydrationWarning"&&(Fi.hasOwnProperty(o)?(u!=null&&yt(r,o),e||a===u||(e=[])):(e=e||[]).push(o,u))}i&&(e=e||[]).push("style",i),r=e,(t.updateQueue=r)&&(t.effectTag|=4)}};Rf=function(e,t,i,n){i!==n&&(t.effectTag|=4)};function Nr(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 aS(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 Pe(t.type)&&fs(),null;case 3:return Xi(),ee(ke),ee(Se),i=t.stateNode,i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),e!==null&&e.child!==null||!Pr(t)||(t.effectTag|=4),Do(t),null;case 5:tu(t),i=ai(Yn.current);var r=t.type;if(e!==null&&t.stateNode!=null)Lf(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=ai(ft.current),Pr(t)){n=t.stateNode,r=t.type;var s=t.memoizedProps;switch(n[jt]=t,n[hs]=s,r){case"iframe":case"object":case"embed":te("load",n);break;case"video":case"audio":for(e=0;e<wn.length;e++)te(wn[e],n);break;case"source":te("error",n);break;case"img":case"image":case"link":te("error",n),te("load",n);break;case"form":te("reset",n),te("submit",n);break;case"details":te("toggle",n);break;case"input":yc(n,s),te("invalid",n),yt(i,"onChange");break;case"select":n._wrapperState={wasMultiple:!!s.multiple},te("invalid",n),yt(i,"onChange");break;case"textarea":Sc(n,s),te("invalid",n),yt(i,"onChange")}fo(r,s),e=null;for(var a in s)if(s.hasOwnProperty(a)){var o=s[a];a==="children"?typeof o=="string"?n.textContent!==o&&(e=["children",o]):typeof o=="number"&&n.textContent!==""+o&&(e=["children",""+o]):Fi.hasOwnProperty(a)&&o!=null&&yt(i,a)}switch(r){case"input":Cr(n),xc(n,s,!0);break;case"textarea":Cr(n),Mc(n);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(n.onclick=ds)}i=e,t.updateQueue=i,i!==null&&(t.effectTag|=4)}else{switch(a=i.nodeType===9?i:i.ownerDocument,e===Tc&&(e=Ep(r)),e===Tc?r==="script"?(e=a.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=a.createElement(r,{is:n.is}):(e=a.createElement(r),r==="select"&&(a=e,n.multiple?a.multiple=!0:n.size&&(a.size=n.size))):e=a.createElementNS(e,r),e[jt]=t,e[hs]=n,zf(e,t,!1,!1),t.stateNode=e,a=go(r,n),r){case"iframe":case"object":case"embed":te("load",e),o=n;break;case"video":case"audio":for(o=0;o<wn.length;o++)te(wn[o],e);o=n;break;case"source":te("error",e),o=n;break;case"img":case"image":case"link":te("error",e),te("load",e),o=n;break;case"form":te("reset",e),te("submit",e),o=n;break;case"details":te("toggle",e),o=n;break;case"input":yc(e,n),o=no(e,n),te("invalid",e),yt(i,"onChange");break;case"option":o=ao(e,n);break;case"select":e._wrapperState={wasMultiple:!!n.multiple},o=Ce({},n,{value:void 0}),te("invalid",e),yt(i,"onChange");break;case"textarea":Sc(e,n),o=oo(e,n),te("invalid",e),yt(i,"onChange");break;default:o=n}fo(r,o);var l=o;for(s in l)if(l.hasOwnProperty(s)){var u=l[s];s==="style"?Qp(e,u):s==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&Tp(e,u)):s==="children"?typeof u=="string"?(r!=="textarea"||u!=="")&&Un(e,u):typeof u=="number"&&Un(e,""+u):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(Fi.hasOwnProperty(s)?u!=null&&yt(i,s):u!=null&&Nl(e,s,u,a))}switch(r){case"input":Cr(e),xc(e,n,!1);break;case"textarea":Cr(e),Mc(e);break;case"option":n.value!=null&&e.setAttribute("value",""+Xt(n.value));break;case"select":e.multiple=!!n.multiple,i=n.value,i!=null?_i(e,!!n.multiple,i,!1):n.defaultValue!=null&&_i(e,!!n.multiple,n.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=ds)}Xp(r,n)&&(t.effectTag|=4)}t.ref!==null&&(t.effectTag|=128)}return null;case 6:if(e&&t.stateNode!=null)Rf(e,t,e.memoizedProps,n);else{if(typeof n!="string"&&t.stateNode===null)throw Error(C(166));i=ai(Yn.current),ai(ft.current),Pr(t)?(i=t.stateNode,n=t.memoizedProps,i[jt]=t,i.nodeValue!==n&&(t.effectTag|=4)):(i=(i.nodeType===9?i:i.ownerDocument).createTextNode(n),i[jt]=t,t.stateNode=i)}return null;case 13:return ee(se),n=t.memoizedState,(t.effectTag&64)!==0?(t.expirationTime=i,t):(i=n!==null,n=!1,e===null?t.memoizedProps.fallback!==void 0&&Pr(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||(se.current&1)!==0?he===fi&&(he=As):((he===fi||he===As)&&(he=Xs),Xn!==0&&_e!==null&&(ui(_e,Ne),tg(_e,Xn)))),(i||n)&&(t.effectTag|=4),null);case 4:return Xi(),Do(t),null;case 10:return Jl(t),null;case 17:return Pe(t.type)&&fs(),null;case 19:if(ee(se),n=t.memoizedState,n===null)return null;if(r=(t.effectTag&64)!==0,s=n.rendering,s===null){if(r)Nr(n,!1);else if(he!==fi||e!==null&&(e.effectTag&64)!==0)for(s=t.child;s!==null;){if(e=ys(s),e!==null){for(t.effectTag|=64,Nr(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 ae(se,se.current&1|2),t.child}s=s.sibling}}else{if(!r)if(e=ys(s),e!==null){if(t.effectTag|=64,r=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.effectTag|=4),Nr(n,!0),n.tail===null&&n.tailMode==="hidden"&&!s.alternate)return t=t.lastEffect=n.lastEffect,t!==null&&(t.nextEffect=null),null}else 2*$e()-n.renderingStartTime>n.tailExpiration&&1<i&&(t.effectTag|=64,r=!0,Nr(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=$e()+500),i=n.tail,n.rendering=i,n.tail=i.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=$e(),i.sibling=null,t=se.current,ae(se,r?t&1|2:t&1),i):null}throw Error(C(156,t.tag))}function oS(e){switch(e.tag){case 1:Pe(e.type)&&fs();var t=e.effectTag;return t&4096?(e.effectTag=t&-4097|64,e):null;case 3:if(Xi(),ee(ke),ee(Se),t=e.effectTag,(t&64)!==0)throw Error(C(285));return e.effectTag=t&-4097|64,e;case 5:return tu(e),null;case 13:return ee(se),t=e.effectTag,t&4096?(e.effectTag=t&-4097|64,e):null;case 19:return ee(se),null;case 4:return Xi(),null;case 10:return Jl(e),null;default:return null}}function lu(e,t){return{value:e,source:t,stack:Ll(t)}}var lS=typeof WeakSet=="function"?WeakSet:Set;function zo(e,t){var i=t.source,n=t.stack;n===null&&i!==null&&(n=Ll(i)),i!==null&&Tt(i.type),t=t.value,e!==null&&e.tag===1&&Tt(e.type);try{console.error(t)}catch(r){setTimeout(function(){throw r})}}function uS(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(i){mi(e,i)}}function ud(e){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){mi(e,i)}else t.current=null}function cS(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:tt(t.type,i),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(C(163))}function jf(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 Bf(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 dS(e,t,i){switch(i.tag){case 0:case 11:case 15:case 22:Bf(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:tt(i.type,t.memoizedProps);e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}t=i.updateQueue,t!==null&&Yc(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}Yc(i,t,e)}return;case 5:e=i.stateNode,t===null&&i.effectTag&4&&Xp(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&&Wp(i))));return;case 19:case 17:case 20:case 21:return}throw Error(C(163))}function cd(e,t,i){switch(typeof Uo=="function"&&Uo(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;Kt(97<i?97:i,function(){var r=n;do{var s=r.destroy;if(s!==void 0){var a=t;try{s()}catch(o){mi(a,o)}}r=r.next}while(r!==n)})}break;case 1:ud(t),i=t.stateNode,typeof i.componentWillUnmount=="function"&&uS(t,i);break;case 5:ud(t);break;case 4:Of(e,t,i)}}function _f(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&&_f(t)}function dd(e){return e.tag===5||e.tag===3||e.tag===4}function hd(e){e:{for(var t=e.return;t!==null;){if(dd(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&&(Un(t,""),i.effectTag&=-17);e:t:for(i=e;;){for(;i.sibling===null;){if(i.return===null||dd(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?Lo(e,i,t):Ro(e,i,t)}function Lo(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=ds));else if(n!==4&&(e=e.child,e!==null))for(Lo(e,t,i),e=e.sibling;e!==null;)Lo(e,t,i),e=e.sibling}function Ro(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(Ro(e,t,i),e=e.sibling;e!==null;)Ro(e,t,i),e=e.sibling}function Of(e,t,i){for(var n=t,r=!1,s,a;;){if(!r){r=n.return;e:for(;;){if(r===null)throw Error(C(160));switch(s=r.stateNode,r.tag){case 5:a=!1;break e;case 3:s=s.containerInfo,a=!0;break e;case 4:s=s.containerInfo,a=!0;break e}r=r.return}r=!0}if(n.tag===5||n.tag===6){e:for(var o=e,l=n,u=i,h=l;;)if(cd(o,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}a?(o=s,l=n.stateNode,o.nodeType===8?o.parentNode.removeChild(l):o.removeChild(l)):s.removeChild(n.stateNode)}else if(n.tag===4){if(n.child!==null){s=n.stateNode.containerInfo,a=!0,n.child.return=n,n=n.child;continue}}else if(cd(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 Ta(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:jf(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[hs]=n,e==="input"&&n.type==="radio"&&n.name!=null&&Ip(i,n),go(e,r),t=go(e,n),r=0;r<s.length;r+=2){var a=s[r],o=s[r+1];a==="style"?Qp(i,o):a==="dangerouslySetInnerHTML"?Tp(i,o):a==="children"?Un(i,o):Nl(i,a,o,t)}switch(e){case"input":ro(i,n);break;case"textarea":bp(i,n);break;case"select":t=i._wrapperState.wasMultiple,i._wrapperState.wasMultiple=!!n.multiple,e=n.value,e!=null?_i(i,!!n.multiple,e,!1):t!==!!n.multiple&&(n.defaultValue!=null?_i(i,!!n.multiple,n.defaultValue,!0):_i(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,Wp(t.containerInfo));return;case 12:return;case 13:if(i=t,t.memoizedState===null?n=!1:(n=!0,i=t.child,du=$e()),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=Fp("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}pd(t);return;case 19:pd(t);return;case 17:return}throw Error(C(163))}function pd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new lS),t.forEach(function(n){var r=SS.bind(null,e,n);i.has(n)||(i.add(n),n.then(r,r))})}}var hS=typeof WeakMap=="function"?WeakMap:Map;function Vf(e,t,i){i=Qt(i,null),i.tag=3,i.payload={element:null};var n=t.value;return i.callback=function(){ks||(ks=!0,jo=n),zo(e,t)},i}function Uf(e,t,i){i=Qt(i,null),i.tag=3;var n=e.type.getDerivedStateFromError;if(typeof n=="function"){var r=t.value;i.payload=function(){return zo(e,t),n(r)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(i.callback=function(){typeof n!="function"&&(Yt===null?Yt=new Set([this]):Yt.add(this),zo(e,t));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),i}var pS=Math.ceil,Is=it.ReactCurrentDispatcher,Wf=it.ReactCurrentOwner,pe=0,uu=8,nt=16,mt=32,fi=0,bs=1,Hf=2,As=3,Xs=4,cu=5,O=pe,_e=null,H=null,Ne=0,he=fi,Js=null,bt=1073741823,Gn=1073741823,Es=null,Xn=0,Ts=!1,du=0,$f=500,P=null,ks=!1,jo=null,Yt=null,Ps=!1,Ln=null,xn=90,oi=null,Rn=0,Bo=null,Xr=0;function gt(){return(O&(nt|mt))!==pe?1073741821-($e()/10|0):Xr!==0?Xr:Xr=1073741821-($e()/10|0)}function gi(e,t,i){if(t=t.mode,(t&2)===0)return 1073741823;var n=Ys();if((t&4)===0)return n===99?1073741823:1073741822;if((O&nt)!==pe)return Ne;if(i!==null)e=Yr(e,i.timeoutMs|0||5e3,250);else switch(n){case 99:e=1073741823;break;case 98:e=Yr(e,150,100);break;case 97:case 96:e=Yr(e,5e3,250);break;case 95:e=2;break;default:throw Error(C(326))}return _e!==null&&e===Ne&&--e,e}function Gt(e,t){if(50<Rn)throw Rn=0,Bo=null,Error(C(185));if(e=Ks(e,t),e!==null){var i=Ys();t===1073741823?(O&uu)!==pe&&(O&(nt|mt))===pe?_o(e):(Oe(e),O===pe&&vt()):Oe(e),(O&4)===pe||i!==98&&i!==99||(oi===null?oi=new Map([[e,t]]):(i=oi.get(e),(i===void 0||i>t)&&oi.set(e,t)))}}function Ks(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&&(_e===r&&(qs(t),he===Xs&&ui(r,Ne)),tg(r,t)),r}function Jr(e){var t=e.lastExpiredTime;if(t!==0||(t=e.firstPendingTime,!eg(e,t)))return t;var i=e.lastPingedTime;return e=e.nextKnownPendingLevel,e=i>e?i:e,2>=e&&t!==e?0:e}function Oe(e){if(e.lastExpiredTime!==0)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Qc(_o.bind(null,e));else{var t=Jr(e),i=e.callbackNode;if(t===0)i!==null&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var n=gt();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!==mf&&df(i)}e.callbackExpirationTime=t,e.callbackPriority=n,t=t===1073741823?Qc(_o.bind(null,e)):wf(n,Ff.bind(null,e),{timeout:10*(1073741821-t)-$e()}),e.callbackNode=t}}}function Ff(e,t){if(Xr=0,t)return t=gt(),Wo(e,t),Oe(e),null;var i=Jr(e);if(i!==0){if(t=e.callbackNode,(O&(nt|mt))!==pe)throw Error(C(327));if(nn(),e===_e&&i===Ne||li(e,i),H!==null){var n=O;O|=nt;var r=Gf();do try{mS();break}catch(o){Yf(e,o)}while(1);if(Xl(),O=n,Is.current=r,he===bs)throw t=Js,li(e,i),ui(e,i),Oe(e),t;if(H===null)switch(r=e.finishedWork=e.current.alternate,e.finishedExpirationTime=i,n=he,_e=null,n){case fi:case bs:throw Error(C(345));case Hf:Wo(e,2<i?2:i);break;case As:if(ui(e,i),n=e.lastSuspendedTime,i===n&&(e.nextKnownPendingLevel=Oo(r)),bt===1073741823&&(r=du+$f-$e(),10<r)){if(Ts){var s=e.lastPingedTime;if(s===0||s>=i){e.lastPingedTime=i,li(e,i);break}}if(s=Jr(e),s!==0&&s!==i)break;if(n!==0&&n!==i){e.lastPingedTime=n;break}e.timeoutHandle=Ma(ni.bind(null,e),r);break}ni(e);break;case Xs:if(ui(e,i),n=e.lastSuspendedTime,i===n&&(e.nextKnownPendingLevel=Oo(r)),Ts&&(r=e.lastPingedTime,r===0||r>=i)){e.lastPingedTime=i,li(e,i);break}if(r=Jr(e),r!==0&&r!==i)break;if(n!==0&&n!==i){e.lastPingedTime=n;break}if(Gn!==1073741823?n=10*(1073741821-Gn)-$e():bt===1073741823?n=0:(n=10*(1073741821-bt)-5e3,r=$e(),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*pS(n/1960))-n,i<n&&(n=i)),10<n){e.timeoutHandle=Ma(ni.bind(null,e),n);break}ni(e);break;case cu:if(bt!==1073741823&&Es!==null){s=bt;var a=Es;if(n=a.busyMinDurationMs|0,0>=n?n=0:(r=a.busyDelayMs|0,s=$e()-(10*(1073741821-s)-(a.timeoutMs|0||5e3)),n=s<=r?0:r+n-s),10<n){ui(e,i),e.timeoutHandle=Ma(ni.bind(null,e),n);break}}ni(e);break;default:throw Error(C(329))}if(Oe(e),e.callbackNode===t)return Ff.bind(null,e)}}return null}function _o(e){var t=e.lastExpiredTime;if(t=t!==0?t:1073741823,(O&(nt|mt))!==pe)throw Error(C(327));if(nn(),e===_e&&t===Ne||li(e,t),H!==null){var i=O;O|=nt;var n=Gf();do try{gS();break}catch(r){Yf(e,r)}while(1);if(Xl(),O=i,Is.current=n,he===bs)throw i=Js,li(e,t),ui(e,t),Oe(e),i;if(H!==null)throw Error(C(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,_e=null,ni(e),Oe(e)}return null}function fS(){if(oi!==null){var e=oi;oi=null,e.forEach(function(t,i){Wo(i,t),Oe(i)}),vt()}}function Qf(e,t){var i=O;O|=1;try{return e(t)}finally{O=i,O===pe&&vt()}}function Zf(e,t){var i=O;O&=-2,O|=uu;try{return e(t)}finally{O=i,O===pe&&vt()}}function li(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,px(i)),H!==null)for(i=H.return;i!==null;){var n=i;switch(n.tag){case 1:n=n.type.childContextTypes,n!=null&&fs();break;case 3:Xi(),ee(ke),ee(Se);break;case 5:tu(n);break;case 4:Xi();break;case 13:ee(se);break;case 19:ee(se);break;case 10:Jl(n)}i=i.return}_e=e,H=Mi(e.current,null),Ne=t,he=fi,Js=null,Gn=bt=1073741823,Es=null,Xn=0,Ts=!1}function Yf(e,t){do{try{if(Xl(),Gr.current=Cs,xs)for(var i=ue.memoizedState;i!==null;){var n=i.queue;n!==null&&(n.pending=null),i=i.next}if(_t=0,xe=ye=ue=null,xs=!1,H===null||H.return===null)return he=bs,Js=t,H=null;e:{var r=e,s=H.return,a=H,o=t;if(t=Ne,a.effectTag|=2048,a.firstEffect=a.lastEffect=null,o!==null&&typeof o=="object"&&typeof o.then=="function"){var l=o;if((a.mode&2)===0){var u=a.alternate;u?(a.updateQueue=u.updateQueue,a.memoizedState=u.memoizedState,a.expirationTime=u.expirationTime):(a.updateQueue=null,a.memoizedState=null)}var h=(se.current&1)!==0,c=s;do{var g;if(g=c.tag===13){var v=c.memoizedState;if(v!==null)g=v.dehydrated!==null;else{var w=c.memoizedProps;g=w.fallback===void 0?!1:w.unstable_avoidThisFallback!==!0?!0:!h}}if(g){var x=c.updateQueue;if(x===null){var d=new Set;d.add(l),c.updateQueue=d}else x.add(l);if((c.mode&2)===0){if(c.effectTag|=64,a.effectTag&=-2981,a.tag===1)if(a.alternate===null)a.tag=17;else{var p=Qt(1073741823,null);p.tag=2,Zt(a,p)}a.expirationTime=1073741823;break e}o=void 0,a=t;var f=r.pingCache;if(f===null?(f=r.pingCache=new hS,o=new Set,f.set(l,o)):(o=f.get(l),o===void 0&&(o=new Set,f.set(l,o))),!o.has(a)){o.add(a);var m=xS.bind(null,r,l,a);l.then(m,m)}c.effectTag|=4096,c.expirationTime=t;break e}c=c.return}while(c!==null);o=Error((Tt(a.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.`+Ll(a))}he!==cu&&(he=Hf),o=lu(o,a),c=s;do{switch(c.tag){case 3:l=o,c.effectTag|=4096,c.expirationTime=t;var y=Vf(c,l,t);Zc(c,y);break e;case 1:l=o;var S=c.type,M=c.stateNode;if((c.effectTag&64)===0&&(typeof S.getDerivedStateFromError=="function"||M!==null&&typeof M.componentDidCatch=="function"&&(Yt===null||!Yt.has(M)))){c.effectTag|=4096,c.expirationTime=t;var T=Uf(c,l,t);Zc(c,T);break e}}c=c.return}while(c!==null)}H=Kf(H)}catch(N){t=N;continue}break}while(1)}function Gf(){var e=Is.current;return Is.current=Cs,e===null?Cs:e}function Xf(e,t){e<bt&&2<e&&(bt=e),t!==null&&e<Gn&&2<e&&(Gn=e,Es=t)}function qs(e){e>Xn&&(Xn=e)}function gS(){for(;H!==null;)H=Jf(H)}function mS(){for(;H!==null&&!eS();)H=Jf(H)}function Jf(e){var t=qf(e.alternate,e,Ne);return e.memoizedProps=e.pendingProps,t===null&&(t=Kf(e)),Wf.current=null,t}function Kf(e){H=e;do{var t=H.alternate;if(e=H.return,(H.effectTag&2048)===0){if(t=aS(t,H,Ne),Ne===1||H.childExpirationTime!==1){for(var i=0,n=H.child;n!==null;){var r=n.expirationTime,s=n.childExpirationTime;r>i&&(i=r),s>i&&(i=s),n=n.sibling}H.childExpirationTime=i}if(t!==null)return t;e!==null&&(e.effectTag&2048)===0&&(e.firstEffect===null&&(e.firstEffect=H.firstEffect),H.lastEffect!==null&&(e.lastEffect!==null&&(e.lastEffect.nextEffect=H.firstEffect),e.lastEffect=H.lastEffect),1<H.effectTag&&(e.lastEffect!==null?e.lastEffect.nextEffect=H:e.firstEffect=H,e.lastEffect=H))}else{if(t=oS(H),t!==null)return t.effectTag&=2047,t;e!==null&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(t=H.sibling,t!==null)return t;H=e}while(H!==null);return he===fi&&(he=cu),null}function Oo(e){var t=e.expirationTime;return e=e.childExpirationTime,t>e?t:e}function ni(e){var t=Ys();return Kt(99,vS.bind(null,e,t)),null}function vS(e,t){do nn();while(Ln!==null);if((O&(nt|mt))!==pe)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=Oo(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===_e&&(H=_e=null,Ne=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|=mt,Wf.current=null,xa=Wr;var a=Nc();if(vo(a)){if("selectionStart"in a)var o={start:a.selectionStart,end:a.selectionEnd};else e:{o=(o=a.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var u=l.anchorOffset,h=l.focusNode;l=l.focusOffset;try{o.nodeType,h.nodeType}catch{o=null;break e}var c=0,g=-1,v=-1,w=0,x=0,d=a,p=null;t:for(;;){for(var f;d!==o||u!==0&&d.nodeType!==3||(g=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===a)break t;if(p===o&&++w===u&&(g=c),p===h&&++x===l&&(v=c),(f=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=f}o=g===-1||v===-1?null:{start:g,end:v}}else o=null}o=o||{start:0,end:0}}else o=null;Sa={activeElementDetached:null,focusedElem:a,selectionRange:o},Wr=!1,P=r;do try{wS()}catch(k){if(P===null)throw Error(C(330));mi(P,k),P=P.nextEffect}while(P!==null);P=r;do try{for(a=e,o=t;P!==null;){var m=P.effectTag;if(m&16&&Un(P.stateNode,""),m&128){var y=P.alternate;if(y!==null){var S=y.ref;S!==null&&(typeof S=="function"?S(null):S.current=null)}}switch(m&1038){case 2:hd(P),P.effectTag&=-3;break;case 6:hd(P),P.effectTag&=-3,Ta(P.alternate,P);break;case 1024:P.effectTag&=-1025;break;case 1028:P.effectTag&=-1025,Ta(P.alternate,P);break;case 4:Ta(P.alternate,P);break;case 8:u=P,Of(a,u,o),_f(u)}P=P.nextEffect}}catch(k){if(P===null)throw Error(C(330));mi(P,k),P=P.nextEffect}while(P!==null);if(S=Sa,y=Nc(),m=S.focusedElem,o=S.selectionRange,y!==m&&m&&m.ownerDocument&&Zp(m.ownerDocument.documentElement,m)){for(o!==null&&vo(m)&&(y=o.start,S=o.end,S===void 0&&(S=y),"selectionStart"in m?(m.selectionStart=y,m.selectionEnd=Math.min(S,m.value.length)):(S=(y=m.ownerDocument||document)&&y.defaultView||window,S.getSelection&&(S=S.getSelection(),u=m.textContent.length,a=Math.min(o.start,u),o=o.end===void 0?a:Math.min(o.end,u),!S.extend&&a>o&&(u=o,o=a,a=u),u=Pc(m,a),h=Pc(m,o),u&&h&&(S.rangeCount!==1||S.anchorNode!==u.node||S.anchorOffset!==u.offset||S.focusNode!==h.node||S.focusOffset!==h.offset)&&(y=y.createRange(),y.setStart(u.node,u.offset),S.removeAllRanges(),a>o?(S.addRange(y),S.extend(h.node,h.offset)):(y.setEnd(h.node,h.offset),S.addRange(y)))))),y=[],S=m;S=S.parentNode;)S.nodeType===1&&y.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof m.focus=="function"&&m.focus(),m=0;m<y.length;m++)S=y[m],S.element.scrollLeft=S.left,S.element.scrollTop=S.top}Wr=!!xa,Sa=xa=null,e.current=i,P=r;do try{for(m=e;P!==null;){var M=P.effectTag;if(M&36&&dS(m,P.alternate,P),M&128){y=void 0;var T=P.ref;if(T!==null){var N=P.stateNode;switch(P.tag){case 5:y=N;break;default:y=N}typeof T=="function"?T(y):T.current=y}}P=P.nextEffect}}catch(k){if(P===null)throw Error(C(330));mi(P,k),P=P.nextEffect}while(P!==null);P=null,tS(),O=s}else e.current=i;if(Ps)Ps=!1,Ln=e,xn=t;else for(P=r;P!==null;)t=P.nextEffect,P.nextEffect=null,P=t;if(t=e.firstPendingTime,t===0&&(Yt=null),t===1073741823?e===Bo?Rn++:(Rn=0,Bo=e):Rn=0,typeof Vo=="function"&&Vo(i.stateNode,n),Oe(e),ks)throw ks=!1,e=jo,jo=null,e;return(O&uu)!==pe||vt(),null}function wS(){for(;P!==null;){var e=P.effectTag;(e&256)!==0&&cS(P.alternate,P),(e&512)===0||Ps||(Ps=!0,wf(97,function(){return nn(),null})),P=P.nextEffect}}function nn(){if(xn!==90){var e=97<xn?97:xn;return xn=90,Kt(e,yS)}}function yS(){if(Ln===null)return!1;var e=Ln;if(Ln=null,(O&(nt|mt))!==pe)throw Error(C(331));var t=O;for(O|=mt,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:jf(5,i),Bf(5,i)}}catch(n){if(e===null)throw Error(C(330));mi(e,n)}i=e.nextEffect,e.nextEffect=null,e=i}return O=t,vt(),!0}function fd(e,t,i){t=lu(i,t),t=Vf(e,t,1073741823),Zt(e,t),e=Ks(e,1073741823),e!==null&&Oe(e)}function mi(e,t){if(e.tag===3)fd(e,e,t);else for(var i=e.return;i!==null;){if(i.tag===3){fd(i,e,t);break}else if(i.tag===1){var n=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Yt===null||!Yt.has(n))){e=lu(t,e),e=Uf(i,e,1073741823),Zt(i,e),i=Ks(i,1073741823),i!==null&&Oe(i);break}}i=i.return}}function xS(e,t,i){var n=e.pingCache;n!==null&&n.delete(t),_e===e&&Ne===i?he===Xs||he===As&&bt===1073741823&&$e()-du<$f?li(e,Ne):Ts=!0:eg(e,i)&&(t=e.lastPingedTime,t!==0&&t<i||(e.lastPingedTime=i,Oe(e)))}function SS(e,t){var i=e.stateNode;i!==null&&i.delete(t),t=0,t===0&&(t=gt(),t=gi(t,e,null)),e=Ks(e,t),e!==null&&Oe(e)}var qf;qf=function(e,t,i){var n=t.expirationTime;if(e!==null){var r=t.pendingProps;if(e.memoizedProps!==r||ke.current)ht=!0;else{if(n<i){switch(ht=!1,t.tag){case 3:sd(t),ba();break;case 5:if(Jc(t),t.mode&4&&i!==1&&r.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:Pe(t.type)&&Qr(t);break;case 4:Ao(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value,r=t.type._context,ae(gs,r._currentValue),r._currentValue=n;break;case 13:if(t.memoizedState!==null)return n=t.child.childExpirationTime,n!==0&&n>=i?ad(e,t,i):(ae(se,se.current&1),t=Et(e,t,i),t!==null?t.sibling:null);ae(se,se.current&1);break;case 19:if(n=t.childExpirationTime>=i,(e.effectTag&64)!==0){if(n)return ld(e,t,i);t.effectTag|=64}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null),ae(se,se.current),!n)return null}return Et(e,t,i)}ht=!1}}else ht=!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=Yi(t,Se.current),Vi(t,i),r=ru(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,Pe(n)){var s=!0;Qr(t)}else s=!1;t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Kl(t);var a=n.getDerivedStateFromProps;typeof a=="function"&&ws(t,n,a,e),r.updater=Gs,t.stateNode=r,r._reactInternalFiber=t,bo(t,n,e,i),t=No(null,t,n,!0,s,i)}else t.tag=0,Re(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,X0(r),r._status!==1)throw r._result;switch(r=r._result,t.type=r,s=t.tag=IS(r),e=tt(r,e),s){case 0:t=Po(null,t,r,e,i);break e;case 1:t=rd(null,t,r,e,i);break e;case 11:t=id(null,t,r,e,i);break e;case 14:t=nd(null,t,r,tt(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:tt(n,r),Po(e,t,n,r,i);case 1:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:tt(n,r),rd(e,t,n,r,i);case 3:if(sd(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,ql(e,t),Qn(t,n,null,i),n=t.memoizedState.element,n===r)ba(),t=Et(e,t,i);else{if((r=t.stateNode.hydrate)&&(Ot=Oi(t.stateNode.containerInfo.firstChild),At=t,r=pi=!0),r)for(i=eu(t,null,n,i),t.child=i;i;)i.effectTag=i.effectTag&-3|1024,i=i.sibling;else Re(e,t,n,i),ba();t=t.child}return t;case 5:return Jc(t),e===null&&ko(t),n=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,a=r.children,wo(n,r)?a=null:s!==null&&wo(n,s)&&(t.effectTag|=16),Df(e,t),t.mode&4&&i!==1&&r.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Re(e,t,a,i),t=t.child),t;case 6:return e===null&&ko(t),null;case 13:return ad(e,t,i);case 4:return Ao(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Gi(t,null,n,i):Re(e,t,n,i),t.child;case 11:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:tt(n,r),id(e,t,n,r,i);case 7:return Re(e,t,t.pendingProps,i),t.child;case 8:return Re(e,t,t.pendingProps.children,i),t.child;case 12:return Re(e,t,t.pendingProps.children,i),t.child;case 10:e:{n=t.type._context,r=t.pendingProps,a=t.memoizedProps,s=r.value;var o=t.type._context;if(ae(gs,o._currentValue),o._currentValue=s,a!==null)if(o=a.value,s=xi(o,s)?0:(typeof n._calculateChangedBits=="function"?n._calculateChangedBits(o,s):1073741823)|0,s===0){if(a.children===r.children&&!ke.current){t=Et(e,t,i);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var l=o.dependencies;if(l!==null){a=o.child;for(var u=l.firstContext;u!==null;){if(u.context===n&&(u.observedBits&s)!==0){o.tag===1&&(u=Qt(i,null),u.tag=2,Zt(o,u)),o.expirationTime<i&&(o.expirationTime=i),u=o.alternate,u!==null&&u.expirationTime<i&&(u.expirationTime=i),xf(o.return,i),l.expirationTime<i&&(l.expirationTime=i);break}u=u.next}}else a=o.tag===10&&o.type===t.type?null:o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}Re(e,t,r.children,i),t=t.child}return t;case 9:return r=t.type,s=t.pendingProps,n=s.children,Vi(t,i),r=Ze(r,s.unstable_observedBits),n=n(r),t.effectTag|=1,Re(e,t,n,i),t.child;case 14:return r=t.type,s=tt(r,t.pendingProps),s=tt(r.type,s),nd(e,t,r,s,n,i);case 15:return Nf(e,t,t.type,t.pendingProps,n,i);case 17:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:tt(n,r),e!==null&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,Pe(n)?(e=!0,Qr(t)):e=!1,Vi(t,i),Mf(t,n,r),bo(t,n,r,i),No(null,t,n,!0,e,i);case 19:return ld(e,t,i)}throw Error(C(156,t.tag))};var Vo=null,Uo=null;function MS(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);Vo=function(n){try{t.onCommitFiberRoot(i,n,void 0,(n.current.effectTag&64)===64)}catch{}},Uo=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 pt(e,t,i,n){return new CS(e,t,i,n)}function hu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function IS(e){if(typeof e=="function")return hu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Dl)return 11;if(e===zl)return 14}return 2}function Mi(e,t){var i=e.alternate;return i===null?(i=pt(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 Kr(e,t,i,n,r,s){var a=2;if(n=e,typeof e=="function")hu(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case ri:return Vt(i.children,r,s,t);case G0:a=8,r|=7;break;case vp:a=8,r|=1;break;case Or:return e=pt(12,i,t,r|8),e.elementType=Or,e.type=Or,e.expirationTime=s,e;case Vr:return e=pt(13,i,t,r),e.type=Vr,e.elementType=Vr,e.expirationTime=s,e;case io:return e=pt(19,i,t,r),e.elementType=io,e.expirationTime=s,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case wp:a=10;break e;case yp:a=9;break e;case Dl:a=11;break e;case zl:a=14;break e;case xp:a=16,n=null;break e;case Sp:a=22;break e}throw Error(C(130,e==null?e:typeof e,""))}return t=pt(a,i,t,r),t.elementType=e,t.type=n,t.expirationTime=s,t}function Vt(e,t,i,n){return e=pt(7,e,n,t),e.expirationTime=i,e}function ka(e,t,i){return e=pt(6,e,null,t),e.expirationTime=i,e}function Pa(e,t,i){return t=pt(4,e.children!==null?e.children:[],e.key,t),t.expirationTime=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function bS(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 eg(e,t){var i=e.firstSuspendedTime;return e=e.lastSuspendedTime,i!==0&&i>=t&&e<=t}function ui(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 tg(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 Wo(e,t){var i=e.lastExpiredTime;(i===0||i>t)&&(e.lastExpiredTime=t)}function Ns(e,t,i,n){var r=t.current,s=gt(),a=zn.suspense;s=gi(s,r,a);e:if(i){i=i._reactInternalFiber;t:{if(bi(i)!==i||i.tag!==1)throw Error(C(170));var o=i;do{switch(o.tag){case 3:o=o.stateNode.context;break t;case 1:if(Pe(o.type)){o=o.stateNode.__reactInternalMemoizedMergedChildContext;break t}}o=o.return}while(o!==null);throw Error(C(171))}if(i.tag===1){var l=i.type;if(Pe(l)){i=cf(i,l,o);break e}}i=o}else i=Jt;return t.context===null?t.context=i:t.pendingContext=i,t=Qt(s,a),t.payload={element:e},n=n===void 0?null:n,n!==null&&(t.callback=n),Zt(r,t),Gt(r,s),s}function Na(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 gd(e,t){e=e.memoizedState,e!==null&&e.dehydrated!==null&&e.retryTime<t&&(e.retryTime=t)}function pu(e,t){gd(e,t),(e=e.alternate)&&gd(e,t)}function fu(e,t,i){i=i!=null&&i.hydrate===!0;var n=new bS(e,t,i),r=pt(3,null,null,t===2?7:t===1?3:0);n.current=r,r.stateNode=n,Kl(r),e[rr]=n.current,i&&t!==0&&ix(e,e.nodeType===9?e:e.ownerDocument),this._internalRoot=n}fu.prototype.render=function(e){Ns(e,this._internalRoot,null,null)};fu.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Ns(null,e,null,function(){t[rr]=null})};function cr(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function AS(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 fu(e,0,t?{hydrate:!0}:void 0)}function ea(e,t,i,n,r){var s=i._reactRootContainer;if(s){var a=s._internalRoot;if(typeof r=="function"){var o=r;r=function(){var u=Na(a);o.call(u)}}Ns(t,a,e,r)}else{if(s=i._reactRootContainer=AS(i,n),a=s._internalRoot,typeof r=="function"){var l=r;r=function(){var u=Na(a);l.call(u)}}Zf(function(){Ns(t,a,e,r)})}return Na(a)}function ES(e,t,i){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Ti,key:n==null?null:""+n,children:e,containerInfo:t,implementation:i}}Vp=function(e){if(e.tag===13){var t=Yr(gt(),150,100);Gt(e,t),pu(e,t)}};_l=function(e){e.tag===13&&(Gt(e,3),pu(e,3))};Up=function(e){if(e.tag===13){var t=gt();t=gi(t,e,null),Gt(e,t),pu(e,t)}};to=function(e,t,i){switch(t){case"input":if(ro(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=Fl(n);if(!r)throw Error(C(90));Cp(n),ro(n,r)}}}break;case"textarea":bp(e,i);break;case"select":t=i.value,t!=null&&_i(e,!!i.multiple,t,!1)}};Al=Qf;fp=function(e,t,i,n,r){var s=O;O|=4;try{return Kt(98,e.bind(null,t,i,n,r))}finally{O=s,O===pe&&vt()}};El=function(){(O&(1|nt|mt))===pe&&(fS(),nn())};gp=function(e,t){var i=O;O|=2;try{return e(t)}finally{O=i,O===pe&&vt()}};function ig(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!cr(t))throw Error(C(200));return ES(e,t,null,i)}var TS={Events:[ar,yi,Fl,dp,eo,Zi,function(e){jl(e,gx)},hp,pp,Fs,$s,nn,{current:!1}]};(function(e){var t=e.findFiberByHostInstance;return MS(Ce({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:it.ReactCurrentDispatcher,findHostInstanceByFiber:function(i){return i=Rp(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:sr,bundleType:0,version:"16.14.0",rendererPackageName:"react-dom"});Ye.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=TS;Ye.createPortal=ig;Ye.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=Rp(t),e=e===null?null:e.stateNode,e};Ye.flushSync=function(e,t){if((O&(nt|mt))!==pe)throw Error(C(187));var i=O;O|=1;try{return Kt(99,e.bind(null,t))}finally{O=i,vt()}};Ye.hydrate=function(e,t,i){if(!cr(t))throw Error(C(200));return ea(null,e,t,!0,i)};Ye.render=function(e,t,i){if(!cr(t))throw Error(C(200));return ea(null,e,t,!1,i)};Ye.unmountComponentAtNode=function(e){if(!cr(e))throw Error(C(40));return e._reactRootContainer?(Zf(function(){ea(null,null,e,!1,function(){e._reactRootContainer=null,e[rr]=null})}),!0):!1};Ye.unstable_batchedUpdates=Qf;Ye.unstable_createPortal=function(e,t){return ig(e,t,2<arguments.length&&arguments[2]!==void 0?arguments[2]:null)};Ye.unstable_renderSubtreeIntoContainer=function(e,t,i,n){if(!cr(i))throw Error(C(200));if(e==null||e._reactInternalFiber===void 0)throw Error(C(38));return ea(e,t,i,!1,n)};Ye.version="16.14.0";function ng(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ng)}catch(e){console.error(e)}}ng(),sp.exports=Ye;var md=sp.exports,kS=Object.defineProperty,PS=Object.defineProperties,NS=Object.getOwnPropertyDescriptors,vd=Object.getOwnPropertySymbols,DS=Object.prototype.hasOwnProperty,zS=Object.prototype.propertyIsEnumerable,wd=(e,t,i)=>t in e?kS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,Be=(e,t)=>{for(var i in t||(t={}))DS.call(t,i)&&wd(e,i,t[i]);if(vd)for(var i of vd(t))zS.call(t,i)&&wd(e,i,t[i]);return e},LS=(e,t)=>PS(e,NS(t));const RS="MediaPlayer",rg="0.1.0-alpha.5",sg={src:"",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},ag={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let Mt=ag;function og(e){Mt=Be(Be({},ag),e)}function jS(e){if(!e.calibrationTimestamp)throw new Error(`@netless/app-media-player@${rg} requires white-web-sdk@^2.13.8 to work properly.`)}function BS(){return new Promise(e=>(window.requestAnimationFrame||window.setTimeout)(e))}function Dr(e,t){if(e.paused)return e.currentTime;const i=_S(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}function _S(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}const OS=navigator.userAgent.includes("Safari"),VS=[".aac",".mid",".midi",".mp3",".ogg",".oga",".wav",".weba"];var US=typeof global=="object"&&global&&global.Object===Object&&global,WS=US,HS=typeof self=="object"&&self&&self.Object===Object&&self,$S=WS||HS||Function("return this")(),lg=$S,FS=lg.Symbol,Ds=FS,ug=Object.prototype,QS=ug.hasOwnProperty,ZS=ug.toString,fn=Ds?Ds.toStringTag:void 0;function YS(e){var t=QS.call(e,fn),i=e[fn];try{e[fn]=void 0;var n=!0}catch{}var r=ZS.call(e);return n&&(t?e[fn]=i:delete e[fn]),r}var GS=Object.prototype,XS=GS.toString;function JS(e){return XS.call(e)}var KS="[object Null]",qS="[object Undefined]",yd=Ds?Ds.toStringTag:void 0;function eM(e){return e==null?e===void 0?qS:KS:yd&&yd in Object(e)?YS(e):JS(e)}function tM(e){return e!=null&&typeof e=="object"}var iM="[object Symbol]";function nM(e){return typeof e=="symbol"||tM(e)&&eM(e)==iM}var rM=/\s/;function sM(e){for(var t=e.length;t--&&rM.test(e.charAt(t)););return t}var aM=/^\s+/;function oM(e){return e&&e.slice(0,sM(e)+1).replace(aM,"")}function Ho(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var xd=0/0,lM=/^[-+]0x[0-9a-f]+$/i,uM=/^0b[01]+$/i,cM=/^0o[0-7]+$/i,dM=parseInt;function Sd(e){if(typeof e=="number")return e;if(nM(e))return xd;if(Ho(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Ho(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=oM(e);var i=uM.test(e);return i||cM.test(e)?dM(e.slice(2),i?2:8):lM.test(e)?xd:+e}var hM=function(){return lg.Date.now()},Da=hM,pM="Expected a function",fM=Math.max,gM=Math.min;function zr(e,t,i){var n,r,s,a,o,l,u=0,h=!1,c=!1,g=!0;if(typeof e!="function")throw new TypeError(pM);t=Sd(t)||0,Ho(i)&&(h=!!i.leading,c="maxWait"in i,s=c?fM(Sd(i.maxWait)||0,t):s,g="trailing"in i?!!i.trailing:g);function v(M){var T=n,N=r;return n=r=void 0,u=M,a=e.apply(N,T),a}function w(M){return u=M,o=setTimeout(p,t),h?v(M):a}function x(M){var T=M-l,N=M-u,k=t-T;return c?gM(k,s-N):k}function d(M){var T=M-l,N=M-u;return l===void 0||T>=t||T<0||c&&N>=s}function p(){var M=Da();if(d(M))return f(M);o=setTimeout(p,x(M))}function f(M){return o=void 0,g&&n?v(M):(n=r=void 0,a)}function m(){o!==void 0&&clearTimeout(o),u=0,n=l=r=o=void 0}function y(){return o===void 0?a:f(Da())}function S(){var M=Da(),T=d(M);if(n=arguments,r=this,l=M,T){if(o===void 0)return w(l);if(c)return clearTimeout(o),o=setTimeout(p,t),v(l)}return o===void 0&&(o=setTimeout(p,t)),a}return S.cancel=m,S.flush=y,S}var mM="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==",vM="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==",wM="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==",yM="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=",xM="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=";class Md extends Ci.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;i?s=0:s=(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=Be(Be({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return F.createElement("div",{className:"buffered",style:i})}else return null},this.renderProgress=()=>{const i=Be(Be({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return F.createElement("div",{className:"connect",style:i})},this.renderHoverProgress=()=>{const i=Be(Be({},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 s=+(n/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}getPositionStyle(t){return{transform:`scaleX(${t*100/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${this.state.seekHoverPosition*100/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=this.state.seekHoverPosition*100/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 SM extends Ci.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:vM}):F.createElement("img",{src:mM})},this.operationVolumeButton=()=>this.props.volume>.9?F.createElement("img",{src:xM}):this.props.volume===0?F.createElement("img",{src:wM}):F.createElement("img",{src:yM}),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=zr(i=>{this.props.setCurrentTime(i)},50),this.onVolumeChange=i=>{this.changeVolume(i),this.setState({seekVolume:i/100})},this.changeVolume=zr(i=>{this.props.setVolume(i/100)},50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=zr(()=>{this.onVolumeSeeking=!1},500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=zr(()=>{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"},Cd(Math.floor(i/1e3))," /"," ",Cd(Math.floor(t/1e3)))))}}function Cd(e){const t=e%60,i=(e-t)/60;if(i>=60){const n=i%60,r=(i-n)/60;return`${gn(r)}:${gn(n)}:${gn(t)}`}else return`${gn(i)}:${gn(t)}`}function gn(e){return e<=9?`0${e}`:`${e}`}let MM=99999;function CM(){const e=MM--,t={playState:$o.Idle,previousVideoJSAdvance:0,previousSeekTargetTime:0,previousBeginSeekTime:0,seekEnable:!1};return Le[e]=t,e}var $o;(function(e){e[e.Idle=0]="Idle",e[e.Playing=1]="Playing",e[e.Paused=2]="Paused"})($o||($o={}));let Le={};function He(e,...t){Mt.verbose&&console.log(`[RTCEffect] ${e}`,...t)}function IM(e,t,i){t.one("ready",()=>{t.muted(!0),t.muted=r=>!1;const n=CM();He(">>> Setup",{playingId:n,src:i}),e.addListener("error",r=>{He(">>> Error",{soundId:r}),Le[r].playState=0}),e.addListener("effectFinished",r=>{He(">>> Finished",{soundId:r}),Le[r].playState=0}),t.on("play",()=>{switch(Le[n].playState){case 0:e.playEffect(n,i,0,1,0,100,!1,0).then(()=>{He(">>> Play Success",{playingId:n}),Le[n].seekEnable=!0}),Le[n].playState=1,He(">>> Start play",{playingId:n});break;case 2:e.resumeEffect(n),Le[n].playState=1,He(">>> Resume play",{playingId:n});break}}),t.on("pause",()=>{switch(Le[n].playState){case 1:e.pauseEffect(n),Le[n].playState=2,He(">>> Pause play",{playingId:n});break}}),t.on("timeupdate",()=>{const r=Le[n];r.playState===1&&r.seekEnable&&e.getEffectCurrentPosition(n).then(s=>{const a=Le[n],o=s/1e3,l=a.previousSeekTargetTime!==0&&a.previousBeginSeekTime!==0;if(l&&o<a.previousSeekTargetTime||a.playState!==1)return;function u(c,g){e.setEffectPosition(g,c*1e3),a.previousBeginSeekTime=Date.now()/1e3,a.previousSeekTargetTime=c}const h=a.previousBeginSeekTime;if(s>0){const c=t.currentTime(),g=c-o,v=Math.abs(g),w=.5;if(v>w)if(l){const x=Date.now()/1e3-h,d=g>0?g:0,p=x+d,f=c+p;u(f,n),He(">>> seeking after seeking lag",{jsPlayerTime:c,rtcEffectTime:o,jsPlayerTimerAdvance:g,lastSeekingCost:x,estimatedRTCLag:p,targetRTCSeekTime:f})}else if(v>10)u(c,n),He(">>> direct seek",{jsPlayerTime:c,rtcEffectTime:o,jsPlayerTimerAdvance:g});else{const x=a.previousVideoJSAdvance,d=Math.max(x+g,0),p=c+d;a.previousVideoJSAdvance=d,u(p,n),He(">>> normal lag seeking",{jsPlayerTime:c,rtcEffectTime:o,jsPlayerTimerAdvance:g,previousAdvance:x,estimatedRTCLag:d,targetRTCSeekTime:p})}else l&&(He(">>> seeking finished with no log",{jsPlayerTime:c,rtcEffectTime:o,jsPlayerTimerAdvance:g,previousBeginSeekTime:h,rtcLagTolerance:w}),a.previousBeginSeekTime=0,a.previousSeekTargetTime=0)}})}),t.on("dispose",()=>{Le[n].playState&&(e.stopEffect(n),delete Le[n],He(">>> Dispose",{playingId:n}))})})}class bM extends Ci.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(AM,{room:i,player:n,context:t,plugin:{putAttributes:r}})}}class AM extends Ci.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=Dr(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=Dr(n,this.props);let a=Mt.currentTimeMaxError;this.state.NoSound&&(a*=3),s>r.duration()?this.resetPlayer():Math.abs(r.currentTime()-s)>a&&(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(OS&&s.includes("NotAllowedError")||s.includes("interact"))(n=this.player)==null||n.autoplay("any"),this.setState({NoSound:!0});else{const a=(r=this.player)==null?void 0:r.error();a&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug("catch videojs media error",a),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(),a=document.createElement("div");a.setAttribute("data-vjs-player","");const o=document.createElement("video");o.className="video-js",s&&(o.poster=s),o.setAttribute("playsInline",""),o.setAttribute("webkit-playsinline","");const l=document.createElement("source");new URL(r).pathname.endsWith(".m3u8")?l.type="application/x-mpegURL":o.src=r,l.src=r,n&&(l.type=n),o.appendChild(l),a.appendChild(o),this.container.current.appendChild(a),await BS(),this.debug("initializing videojs() ...");const u=wu.default(o);this.player=u,window.player=u,u.one("loadedmetadata",this.gracefullyUpdate);const h=window.__mediaPlayerAudioEffectClient;h!==void 0&&IM(h,u,r),u.on("ready",()=>{var c;(c=Mt.onPlayer)==null||c.call(Mt,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&&jS(t.room)}getAttributes(){const{context:t}=this.props;let i=t.getAttributes();if(!!i){if(i=Be(Be({},sg),i),this.player){let n=Dr(i,this.props),r=this.player.duration();!i.paused&&n>r&&(i=LS(Be({},i),{currentTime:0,paused:!0}),this.resetPlayer())}return i}}isShowingPoster(){const t=this.getAttributes();return t!=null&&t.src?VS.some(i=>t.src.endsWith(i)):!0}render(){var t,i;if(!(this.props.room||this.props.player))return null;const n=this.getAttributes();if(!n)return null;const r=(((t=this.player)==null?void 0:t.duration())||1e3)*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(SM,{duration:r,volume:n.volume,setVolume:this.setVolume,paused:n.paused,play:this.play,pause:this.pause,currentTime:Dr(n,this.props)*1e3,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){Mt.verbose&&Mt.log(`[MediaPlayer] ${t}`,...i)}componentDidMount(){this.debug("app version =",rg),this.debug("video.js version =",wu.default.VERSION),this.initPlayer(),this.props.context.emitter.on("attributesUpdate",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,Mt.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,Mt.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()}}var EM=`.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 Fo={kind:RS,setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit("destroy",{error:new Error("[MediaPlayer]: Missing 'attributes'.'src'.")});t=Be(Be({},sg),t);const i=e.getBox();i.mountStyles(EM);const n=document.createElement("div");n.classList.add("netless-app-media-player-container"),md.render(F.createElement(bM,{context:e}),n),i.mountContent(n),e.emitter.on("destroy",()=>{console.log("[MediaPlayer]: destroy"),md.unmountComponentAtNode(n)})}},TM=()=>{re.debug&&og({verbose:!0}),re.register({kind:Ka.kind,src:Ka}),re.register({kind:Fo.kind,src:Fo})},kM={DocsViewer:Ka.kind,MediaPlayer:Fo.kind};var cg=(e=>(e.Init="Init",e.AttributesUpdate="AttributesUpdate",e.SetAttributes="SetAttributes",e.RegisterMagixEvent="RegisterMagixEvent",e.RemoveMagixEvent="RemoveMagixEvent",e.RemoveAllMagixEvent="RemoveAllMagixEvent",e.RoomStateChanged="RoomStateChanged",e.DispatchMagixEvent="DispatchMagixEvent",e.ReciveMagixEvent="ReciveMagixEvent",e.NextPage="NextPage",e.PrevPage="PrevPage",e.SDKCreate="SDKCreate",e.OnCreate="OnCreate",e.SetPage="SetPage",e.GetAttributes="GetAttributes",e.Ready="Ready",e.Destory="Destory",e.StartCreate="StartCreate",e.WrapperDidUpdate="WrapperDidUpdate",e.DispayIframe="DispayIframe",e.HideIframe="HideIframe",e.GetRootRect="GetRootRect",e.ReplayRootRect="ReplayRootRect",e.PageTo="PageTo",e))(cg||{}),dg=(e=>(e.WrapperDidMount="WrapperDidMount",e.IframeLoad="IframeLoad",e))(dg||{});const Lt={Ready:"Ready",RootRect:"ReplayRootRect",Message:"message",ComputeStyle:"computeStyle",Load:"load",DisplayerState:"displayerState",Show:"show",Hide:"hide"},PM=(e,t)=>new Array(e).fill(0).map((i,n)=>t(n)),K=class{constructor(e,t){this.manager=e,this.appManager=t,this.magixEventMap=new Map,this.cssList=[],this.allowAppliances=["clicker"],this.bridgeDisposer=E.noop,this.rootRect=null,this.sideEffectManager=new Ji.SideEffectManager,this.execListenIframe=E.debounce(i=>{this.listenIframe(i)},50),this.onPhaseChangedListener=i=>{i===A.PlayerPhase.Playing&&this.computedStyleAndIframeDisplay()},this.stateChangeListener=i=>{i=q({},i),i.cameraState=this.manager.cameraState,this.postMessage({kind:"RoomStateChanged",payload:i}),i.cameraState&&(K.emitter.emit("GetRootRect"),this.computedStyle(i)),i.memberState&&(this.computedZindex(),this.updateStyle()),i.sceneState&&this.computedIframeDisplay(i,this.attributes)},this.displayer=K.displayer=t.displayer,this.iframe=this._createIframe(),this.sideEffectManager.addDisposer(K.emitter.on("ReplayRootRect",i=>{this.rootRect=i}),Lt.RootRect),this.sideEffectManager.addDisposer(K.emitter.on("HideIframe",()=>{this.iframe.className=K.hiddenClass}),Lt.Hide),this.sideEffectManager.addDisposer(K.emitter.on("DispayIframe",()=>{this.iframe.className=""}),Lt.Show),this.sideEffectManager.addDisposer(K.emitter.on("created",()=>{this.bridgeDisposer(),this.bridgeDisposer=A.autorun(()=>{var n;const i=this.attributes;if(i.url){const r=(n=this.iframe)==null?void 0:n.src;r&&r!==i.url&&this.execListenIframe(i)}i.displaySceneDir&&this.computedIframeDisplay(this.displayer.state,i),(i.width||i.height)&&this.iframe&&(this.iframe.width=`${i.width}px`,this.iframe.height=`${i.height}px`),this.postMessage({kind:"AttributesUpdate",payload:i})})})),this.sideEffectManager.addDisposer(e.emitter.on("cameraStateChange",()=>{this.computedStyle(this.displayer.state)})),K.onCreate(this)}static onCreate(e){K.emitter.emit("StartCreate"),K.emitter.emit("OnCreate",e),K.emitter.emit("created")}insert(e){const t={url:e.url,width:e.width,height:e.height,displaySceneDir:e.displaySceneDir,useClicker:e.useClicker||!1,useSelector:e.useSelector};this.setAttributes(t);const i=()=>{this.getIframe(),this.listenIframe(this.attributes),this.listenDisplayerState(),K.emitter.emit("GetRootRect")};if(this.getIframe())i();else{const n=this.sideEffectManager.addDisposer(K.emitter.on("WrapperDidMount",()=>{i(),this.sideEffectManager.flush(n)})),r=this.sideEffectManager.addDisposer(K.emitter.on("WrapperDidUpdate",()=>{i(),this.sideEffectManager.flush(r)}))}return this.attributes.useSelector&&this.allowAppliances.push("selector"),this.computedStyle(this.displayer.state),this.listenDisplayerCallbacks(),this.getComputedIframeStyle(),this.sideEffectManager.addEventListener(window,"message",this.messageListener.bind(this),void 0,Lt.Message),K.alreadyCreate=!0,this}getComputedIframeStyle(){this.sideEffectManager.setTimeout(()=>{this.iframe&&getComputedStyle(this.iframe)},200,Lt.ComputeStyle)}destroy(){this.sideEffectManager.flushAll(),K.emitter.emit("Destory"),K.alreadyCreate=!1,K.emitter.clearListeners()}getIframe(){return this.iframe||(this.iframe=this._createIframe()),this.iframe}setIframeSize(e){this.iframe&&(this.iframe.width=`${e.width}px`,this.iframe.height=`${e.height}px`,this.setAttributes({width:e.width,height:e.height}))}get attributes(){return this.appManager.store.getIframeBridge()}setAttributes(e){this.appManager.store.setIframeBridge(e)}_createIframe(){const e=document.createElement("iframe");return e.id="IframeBridge",e.className=K.hiddenClass,this.appManager.mainView.divElement&&this.appManager.mainView.divElement.appendChild(e),e}scaleIframeToFit(e=A.AnimationMode.Immediately){if(!this.inDisplaySceneDir)return;const{width:t=1280,height:i=720}=this.attributes,n=t?-t/2:0,r=i?-i/2:0;this.manager.moveCameraToContain({originX:n,originY:r,width:t,height:i,animationMode:e})}get isReplay(){return this.manager.isReplay}handleSetPage(e){if(this.isReplay||!this.attributes.displaySceneDir)return;const t=e.payload,i=this.displayer,n=i.entireScenes()[this.attributes.displaySceneDir];if(!n||n.length!==t){const r=PM(t,s=>({name:String(s+1)}));i.putScenes(this.attributes.displaySceneDir,r),this.manager.setMainViewScenePath(this.attributes.displaySceneDir)}}listenIframe(e){const t=i=>{var n;this.postMessage({kind:"Init",payload:{attributes:this.attributes,roomState:(n=K.displayer)==null?void 0:n.state,currentPage:this.currentPage,observerId:this.displayer.observerId}}),K.emitter.emit("IframeLoad",i),this.sideEffectManager.addDisposer(K.emitter.on("Ready",()=>{var r;this.postMessage((r=this.attributes.lastEvent)==null?void 0:r.payload)}),Lt.Ready),this.computedStyleAndIframeDisplay()};e.url&&this.iframe.src!==e.url&&(this.src_url_equal_anchor||(this.src_url_equal_anchor=document.createElement("a")),this.src_url_equal_anchor.href=e.url,this.src_url_equal_anchor.href!==this.iframe.src&&(this.iframe.src=e.url)),this.iframe.width=`${e.width}px`,this.iframe.height=`${e.height}px`,this.sideEffectManager.addEventListener(this.iframe,"load",t,void 0,Lt.Load)}listenDisplayerState(){this.isReplay&&(this.displayer._phase===A.PlayerPhase.Playing&&this.computedStyleAndIframeDisplay(),this.sideEffectManager.add(()=>(this.displayer.callbacks.on("onPhaseChanged",this.onPhaseChangedListener),()=>this.displayer.callbacks.off("onPhaseChanged",this.onPhaseChangedListener)),Lt.DisplayerState)),this.computedStyleAndIframeDisplay()}computedStyleAndIframeDisplay(){this.computedStyle(this.displayer.state),this.computedIframeDisplay(this.displayer.state,this.attributes)}listenDisplayerCallbacks(){this.displayer.callbacks.on(this.callbackName,this.stateChangeListener)}get callbackName(){return this.isReplay?"onPlayerStateChanged":"onRoomStateChanged"}computedStyle(e){const t=this.manager.cameraState,i=this.attributes.width||1280,n=this.attributes.height||720;if(this.iframe){const{width:r,height:s,scale:a,centerX:o,centerY:l}=t,u=this.rootRect||{x:0,y:0},h=`${r/2+u.x}px`,c=`${s/2+u.y}px`,g=`transform-origin: ${h} ${c};`,v=(r-i)/2*a,w=(s-n)/2*a,x=-(o*a)+v,d=-(l*a)+w,p=`transform: translate(${x}px,${d}px) scale(${a}, ${a});`,M=["position: absolute;","border: 0.1px solid rgba(0,0,0,0);","top: 0px;","left: 0px;",g,p];this.cssList=M,this.computedZindex(),this.updateStyle()}}computedIframeDisplay(e,t){this.inDisplaySceneDir?K.emitter.emit("DispayIframe"):K.emitter.emit("HideIframe")}computedZindex(){const e="z-index: -1;",t=this.cssList.findIndex(i=>i===e);t!==-1&&this.cssList.splice(t,1),(!this.isClicker()||this.isDisableInput)&&this.cssList.push(e)}updateStyle(){this.iframe.style.cssText=this.cssList.join(" ")}get iframeOrigin(){if(this.iframe)try{return new URL(this.iframe.src).origin}catch(e){console.warn(e)}}messageListener(e){if(ct("<<<",JSON.stringify(e.data)),e.origin!==this.iframeOrigin)return;const t=e.data;switch(t.kind){case"SetAttributes":{this.handleSetAttributes(t);break}case"RegisterMagixEvent":{this.handleRegisterMagixEvent(t);break}case"RemoveMagixEvent":{this.handleRemoveMagixEvent(t);break}case"DispatchMagixEvent":{this.handleDispatchMagixEvent(t);break}case"RemoveAllMagixEvent":{this.handleRemoveAllMagixEvent();break}case"NextPage":{this.handleNextPage();break}case"PrevPage":{this.handlePrevPage();break}case"SDKCreate":{this.handleSDKCreate();break}case"SetPage":{this.handleSetPage(t);break}case"GetAttributes":{this.handleGetAttributes();break}case"PageTo":{this.handlePageTo(t);break}default:{ct(`${t.kind} not allow event.`);break}}}handleSDKCreate(){this.postMessage({kind:"Init",payload:{attributes:this.attributes,roomState:this.displayer.state,currentPage:this.currentPage,observerId:this.displayer.observerId}})}handleDispatchMagixEvent(e){const t=e.payload;this.appManager.safeDispatchMagixEvent(t.event,t.payload)}handleSetAttributes(e){this.setAttributes(e.payload)}handleRegisterMagixEvent(e){const t=e.payload,i=n=>{n.authorId!==this.displayer.observerId&&this.postMessage({kind:"ReciveMagixEvent",payload:n})};this.magixEventMap.set(t,i),this.displayer.addMagixEventListener(t,i)}handleRemoveMagixEvent(e){const t=e.payload,i=this.magixEventMap.get(t);this.displayer.removeMagixEventListener(t,i)}handleNextPage(){this.manager.canOperate&&(this.manager.nextPage(),this.dispatchMagixEvent("NextPage",{}))}handlePrevPage(){this.manager.canOperate&&(this.manager.prevPage(),this.dispatchMagixEvent("PrevPage",{}))}handlePageTo(e){if(this.manager.canOperate){const t=e.payload;if(!Number.isSafeInteger(t)||t<=0)return;this.manager.setMainViewSceneIndex(t-1),this.dispatchMagixEvent("PageTo",t-1)}}handleRemoveAllMagixEvent(){this.magixEventMap.forEach((e,t)=>{this.displayer.removeMagixEventListener(t,e)}),this.magixEventMap.clear()}handleGetAttributes(){this.postMessage({kind:"GetAttributes",payload:this.attributes})}postMessage(e){var t;this.iframe&&((t=this.iframe.contentWindow)==null||t.postMessage(JSON.parse(JSON.stringify(e)),"*"))}dispatchMagixEvent(e,t){this.manager.canOperate&&(this.setAttributes({lastEvent:{name:e,payload:t}}),this.displayer.dispatchMagixEvent(e,t))}get currentIndex(){return this.manager.mainViewSceneIndex}get currentPage(){return this.currentIndex+1}get totalPage(){return this.manager.mainViewScenesLength}get readonly(){return!this.displayer.isWritable}get inDisplaySceneDir(){return this.manager.mainViewSceneDir===this.attributes.displaySceneDir}isClicker(){if(this.readonly)return!1;const e=this.displayer.state.memberState.currentApplianceName;return this.allowAppliances.includes(e)}get isDisableInput(){return"disableDeviceInputs"in this.displayer?this.displayer.disableDeviceInputs:!0}};let Ai=K;Ai.kind="IframeBridge";Ai.hiddenClass="netless-iframe-brdige-hidden";Ai.emitter=new Ki.default;Ai.displayer=null;Ai.alreadyCreate=!1;const hg=new Cw({emitter:B}),U=class extends A.InvisiblePlugin{constructor(e){super(e);this.version="0.4.69",this.dependencies={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.28",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.17","@netless/app-media-player":"0.1.0-beta.6","@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.43"}},this.emitter=ne,this.viewMode=A.ViewMode.Broadcaster,this.isReplay=A.isPlayer(this.displayer),this.containerSizeRatio=U.containerSizeRatio,U.displayer=e.displayer,window.NETLESS_DEPS={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.28",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.17","@netless/app-media-player":"0.1.0-beta.6","@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.43"}}}static async mount(e){const t=e.room;U.container=e.container;const i=e.containerSizeRatio,n=e.debug,r=e.cursor;U.params=e,U.displayer=e.room,fm();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(U.isCreated)throw new Error("[WindowManager]: Already created cannot be created again");if(this.debug=Boolean(n),this.debug&&og({verbose:!0}),ct("Already insert room",s),A.isRoom(this.displayer)){if(!s)throw new Error("[WindowManager]: init InvisiblePlugin failed")}else await Eg.default(async a=>{if(s=t.getInvisiblePlugin(U.kind),!s)throw ct(`manager is empty. retrying ${a}`),new Error},{retries:10,maxTimeout:5e3});if(!s)throw new Error("[WindowManager]: create manager failed");i&&(U.containerSizeRatio=i),await s.ensureAttributes(),s._fullscreen=e.fullscreen,s.appManager=new hm(s),s.appManager.polling=e.polling||!1,s._pageState=new Mw(s.appManager),s.cursorManager=new Sw(s.appManager,Boolean(r),e.applianceIcons),i&&(s.containerSizeRatio=i),e.container&&s.bindContainer(e.container),Iw(t,s),B.emit("onCreated"),U.isCreated=!0;try{await zg()}catch(a){console.warn("[WindowManager]: indexedDB open failed"),console.log(a)}return s}static async initManager(e){let t=e.getInvisiblePlugin(U.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 bu(e),t==null||t.ensureAttributes(),await qr(500),await e.setWritable(!1)}else t=await bu(e);return t}static initContainer(e,t,i){const{chessboard:n,overwriteStyles:r,fullscreen:s}=i;U.container||(U.container=t);const{playground:a,wrapper:o,sizer:l,mainViewElement:u}=pm(t);if(U.playground=a,n&&l.classList.add("netless-window-manager-chess-sizer"),s&&l.classList.add("netless-window-manager-fullscreen"),r){const h=document.createElement("style");h.textContent=r,a.appendChild(h)}return e.containerResizeObserver=Go.create(a,l,o,B),U.wrapper=o,U.sizer=l,u}static get registered(){return Ee.registered}bindContainer(e){var t,i,n,r,s,a;if(A.isRoom(this.displayer)&&this.room.phase!==A.RoomPhase.Connected)throw new Ld;if(U.isCreated&&U.container)U.container.firstChild&&e.appendChild(U.container.firstChild);else if(U.params){const o=U.params,l=U.initContainer(this,e,o);this.boxManager&&this.boxManager.destroy();const u=Qv(this,ne,B,St,{collectorContainer:o.collectorContainer,collectorStyles:o.collectorStyles,prefersColorScheme:o.prefersColorScheme});this.boxManager=u,(t=this.appManager)==null||t.setBoxManager(u),this.bindMainView(l,o.disableCameraTransform),U.wrapper&&((i=this.cursorManager)==null||i.setupWrapper(U.wrapper))}B.emit("updateManagerRect"),(n=this.appManager)==null||n.refresh(),(r=this.appManager)==null||r.resetMaximized(),(s=this.appManager)==null||s.resetMinimized(),(a=this.appManager)==null||a.displayerWritableListener(!this.room.isWritable),U.container=e}bindCollectorContainer(e){U.isCreated&&this.boxManager?this.boxManager.setCollectorContainer(e):U.params&&(U.params.collectorContainer=e)}static register(e){return Ee.register(e)}static unregister(e){return Ee.unregister(e)}async addApp(e){if(this.appManager)return this.appManager.rootDirRemoving?new Promise((t,i)=>{B.once("rootDirRemoved").then(async()=>{try{const n=await this._addApp(e);t(n)}catch(n){i(n.message)}})}):this._addApp(e);throw new qe}async _addApp(e){var t,i,n;if(this.appManager){if(!e.kind||typeof e.kind!="string")throw new Pd;e.src&&typeof e.src=="string"&&Ee.register({kind:e.kind,src:e.src});const r=await((t=Ee.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 Td;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=Jg(e.options.scenePath)),await this.appManager.addApp(e,Boolean(s)))}else throw new qe}setupScenePath(e,t){let i=!1;if(e.options){const{scenePath:n,scenes:r}=e.options;if(n){if(!Xg(n))throw new Dd;const s=Object.keys(this.apps||{});for(const a of s){const o=t.store.getAppScenePath(a);if(o&&o===n){if(console.warn(`[WindowManager]: ScenePath "${n}" already opened`),this.boxManager){const l=this.boxManager.getTopBox();l&&(this.boxManager.setZIndex(a,l.zIndex+1,!1),this.boxManager.focusBox({appId:a},!1))}return}}}n&&r&&r.length>0&&(this.isDynamicPPT(r)?(i=!0,Wi(this.displayer)[n]||Sn(this.room,n,r)):Wi(this.displayer)[n]||Sn(this.room,n,[{name:r[0].name}])),n&&r===void 0&&Sn(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 jumpPage(e){return this.appManager?e<0||e>=this.pageState.length?(console.warn(`[WindowManager]: index ${e} out of range`),!1):(await this.appManager.setMainViewSceneIndex(e),!0):!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(je,[i||{}],n)}else this.room.putScenes(je,[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),B.emit("setReadonly",e)}switchMainViewToWriter(){var e;return(e=this.appManager)==null?void 0:e.mainViewProxy.mainViewClickHandler()}onAppDestroy(e,t){Yg(`destroy-${e}`,t)}onAppEvent(e,t){return B.on(`custom-${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)}setFullscreen(e){var t;this._fullscreen!==e&&(this._fullscreen=e,(t=U.sizer)==null||t.classList.toggle("netless-window-manager-fullscreen",e),ne.emit("fullscreenChange",e))}get mainView(){if(this.appManager)return this.appManager.mainViewProxy.view;throw new qe}get camera(){if(this.appManager)return this.appManager.mainViewProxy.view.camera;throw new qe}get cameraState(){if(this.appManager)return this.appManager.mainViewProxy.cameraState;throw new qe}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 qe}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 qe}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 polling(){var e;return((e=this.appManager)==null?void 0:e.polling)||!1}set polling(e){this.appManager&&(this.appManager.polling=e)}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 qe}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 qe}get pageState(){if(this._pageState)return this._pageState.toObject();throw new qe}get fullscreen(){return Boolean(this._fullscreen)}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,r;(e=this.containerResizeObserver)==null||e.disconnect(),(t=this.appManager)==null||t.destroy(),(i=this.cursorManager)==null||i.destroy(),U.container=void 0,U.wrapper=void 0,U.sizer=void 0,U.isCreated=!1,U.playground&&((n=U.playground.parentNode)==null||n.removeChild(U.playground)),U.params=void 0,(r=this._iframeBridge)==null||r.destroy(),this._iframeBridge=void 0,ct("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;ct("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;(e=this.appManager)==null||e.mainViewProxy.rebind(),U.container&&this.bindContainer(U.container),(t=this.appManager)==null||t.refresher.refresh()}setContainerSizeRatio(e){if(!E.isNumber(e)||!(e>0))throw new Error(`[WindowManager]: updateContainerSizeRatio error, ratio must be a positive number. but got ${e}`);U.containerSizeRatio=e,this.containerSizeRatio=e,B.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 qr(50),E.isObject(this.attributes)&&(this.attributes[we.Apps]||this.safeSetAttributes({[we.Apps]:{}}),this.attributes[we.Cursors]||this.safeSetAttributes({[we.Cursors]:{}}),this.attributes._mainScenePath||this.safeSetAttributes({_mainScenePath:Ad}),this.attributes._mainSceneIndex||this.safeSetAttributes({_mainSceneIndex:0}),this.attributes[we.Registered]||this.safeSetAttributes({[we.Registered]:{}}),this.attributes[we.IframeBridge]||this.safeSetAttributes({[we.IframeBridge]:{}}))}getIframeBridge(){if(!this.appManager)throw new Error("[WindowManager]: should call getIframeBridge() after await mount()");return this._iframeBridge||(this._iframeBridge=new Ai(this,this.appManager)),this._iframeBridge}};let re=U;re.kind="WindowManager";re.debug=!1;re.containerSizeRatio=Pg;re.isCreated=!1;TM();exports.AppCreateError=Td;exports.AppManagerNotInitError=qe;exports.AppNotRegisterError=em;exports.BindContainerRoomPhaseInvalidError=Ld;exports.BoxManagerNotFoundError=zd;exports.BoxNotCreatedError=Nd;exports.BuiltinApps=kM;exports.DomEvents=dg;exports.IframeBridge=Ai;exports.IframeEvents=cg;exports.InvalidScenePath=Dd;exports.ParamsInvalidError=Pd;exports.WhiteWebSDKInvalidError=kd;exports.WindowManager=re;exports.calculateNextIndex=Zo;exports.reconnectRefresher=hg;
59
+ `;const Fo={kind:RS,setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit("destroy",{error:new Error("[MediaPlayer]: Missing 'attributes'.'src'.")});t=Be(Be({},sg),t);const i=e.getBox();i.mountStyles(EM);const n=document.createElement("div");n.classList.add("netless-app-media-player-container"),md.render(F.createElement(bM,{context:e}),n),i.mountContent(n),e.emitter.on("destroy",()=>{console.log("[MediaPlayer]: destroy"),md.unmountComponentAtNode(n)})}},TM=()=>{re.debug&&og({verbose:!0}),re.register({kind:Ka.kind,src:Ka}),re.register({kind:Fo.kind,src:Fo})},kM={DocsViewer:Ka.kind,MediaPlayer:Fo.kind};var cg=(e=>(e.Init="Init",e.AttributesUpdate="AttributesUpdate",e.SetAttributes="SetAttributes",e.RegisterMagixEvent="RegisterMagixEvent",e.RemoveMagixEvent="RemoveMagixEvent",e.RemoveAllMagixEvent="RemoveAllMagixEvent",e.RoomStateChanged="RoomStateChanged",e.DispatchMagixEvent="DispatchMagixEvent",e.ReciveMagixEvent="ReciveMagixEvent",e.NextPage="NextPage",e.PrevPage="PrevPage",e.SDKCreate="SDKCreate",e.OnCreate="OnCreate",e.SetPage="SetPage",e.GetAttributes="GetAttributes",e.Ready="Ready",e.Destory="Destory",e.StartCreate="StartCreate",e.WrapperDidUpdate="WrapperDidUpdate",e.DispayIframe="DispayIframe",e.HideIframe="HideIframe",e.GetRootRect="GetRootRect",e.ReplayRootRect="ReplayRootRect",e.PageTo="PageTo",e))(cg||{}),dg=(e=>(e.WrapperDidMount="WrapperDidMount",e.IframeLoad="IframeLoad",e))(dg||{});const Lt={Ready:"Ready",RootRect:"ReplayRootRect",Message:"message",ComputeStyle:"computeStyle",Load:"load",DisplayerState:"displayerState",Show:"show",Hide:"hide"},PM=(e,t)=>new Array(e).fill(0).map((i,n)=>t(n)),K=class{constructor(e,t){this.manager=e,this.appManager=t,this.magixEventMap=new Map,this.cssList=[],this.allowAppliances=["clicker"],this.bridgeDisposer=E.noop,this.rootRect=null,this.sideEffectManager=new Ji.SideEffectManager,this.execListenIframe=E.debounce(i=>{this.listenIframe(i)},50),this.onPhaseChangedListener=i=>{i===A.PlayerPhase.Playing&&this.computedStyleAndIframeDisplay()},this.stateChangeListener=i=>{i=q({},i),i.cameraState=this.manager.cameraState,this.postMessage({kind:"RoomStateChanged",payload:i}),i.cameraState&&(K.emitter.emit("GetRootRect"),this.computedStyle(i)),i.memberState&&(this.computedZindex(),this.updateStyle()),i.sceneState&&this.computedIframeDisplay(i,this.attributes)},this.displayer=K.displayer=t.displayer,this.iframe=this._createIframe(),this.sideEffectManager.addDisposer(K.emitter.on("ReplayRootRect",i=>{this.rootRect=i}),Lt.RootRect),this.sideEffectManager.addDisposer(K.emitter.on("HideIframe",()=>{this.iframe.className=K.hiddenClass}),Lt.Hide),this.sideEffectManager.addDisposer(K.emitter.on("DispayIframe",()=>{this.iframe.className=""}),Lt.Show),this.sideEffectManager.addDisposer(K.emitter.on("created",()=>{this.bridgeDisposer(),this.bridgeDisposer=A.autorun(()=>{var n;const i=this.attributes;if(i.url){const r=(n=this.iframe)==null?void 0:n.src;r&&r!==i.url&&this.execListenIframe(i)}i.displaySceneDir&&this.computedIframeDisplay(this.displayer.state,i),(i.width||i.height)&&this.iframe&&(this.iframe.width=`${i.width}px`,this.iframe.height=`${i.height}px`),this.postMessage({kind:"AttributesUpdate",payload:i})})})),this.sideEffectManager.addDisposer(e.emitter.on("cameraStateChange",()=>{this.computedStyle(this.displayer.state)})),K.onCreate(this)}static onCreate(e){K.emitter.emit("StartCreate"),K.emitter.emit("OnCreate",e),K.emitter.emit("created")}insert(e){const t={url:e.url,width:e.width,height:e.height,displaySceneDir:e.displaySceneDir,useClicker:e.useClicker||!1,useSelector:e.useSelector};this.setAttributes(t);const i=()=>{this.getIframe(),this.listenIframe(this.attributes),this.listenDisplayerState(),K.emitter.emit("GetRootRect")};if(this.getIframe())i();else{const n=this.sideEffectManager.addDisposer(K.emitter.on("WrapperDidMount",()=>{i(),this.sideEffectManager.flush(n)})),r=this.sideEffectManager.addDisposer(K.emitter.on("WrapperDidUpdate",()=>{i(),this.sideEffectManager.flush(r)}))}return this.attributes.useSelector&&this.allowAppliances.push("selector"),this.computedStyle(this.displayer.state),this.listenDisplayerCallbacks(),this.getComputedIframeStyle(),this.sideEffectManager.addEventListener(window,"message",this.messageListener.bind(this),void 0,Lt.Message),K.alreadyCreate=!0,this}getComputedIframeStyle(){this.sideEffectManager.setTimeout(()=>{this.iframe&&getComputedStyle(this.iframe)},200,Lt.ComputeStyle)}destroy(){this.sideEffectManager.flushAll(),K.emitter.emit("Destory"),K.alreadyCreate=!1,K.emitter.clearListeners()}getIframe(){return this.iframe||(this.iframe=this._createIframe()),this.iframe}setIframeSize(e){this.iframe&&(this.iframe.width=`${e.width}px`,this.iframe.height=`${e.height}px`,this.setAttributes({width:e.width,height:e.height}))}get attributes(){return this.appManager.store.getIframeBridge()}setAttributes(e){this.appManager.store.setIframeBridge(e)}_createIframe(){const e=document.createElement("iframe");return e.id="IframeBridge",e.className=K.hiddenClass,this.appManager.mainView.divElement&&this.appManager.mainView.divElement.appendChild(e),e}scaleIframeToFit(e=A.AnimationMode.Immediately){if(!this.inDisplaySceneDir)return;const{width:t=1280,height:i=720}=this.attributes,n=t?-t/2:0,r=i?-i/2:0;this.manager.moveCameraToContain({originX:n,originY:r,width:t,height:i,animationMode:e})}get isReplay(){return this.manager.isReplay}handleSetPage(e){if(this.isReplay||!this.attributes.displaySceneDir)return;const t=e.payload,i=this.displayer,n=i.entireScenes()[this.attributes.displaySceneDir];if(!n||n.length!==t){const r=PM(t,s=>({name:String(s+1)}));i.putScenes(this.attributes.displaySceneDir,r),this.manager.setMainViewScenePath(this.attributes.displaySceneDir)}}listenIframe(e){const t=i=>{var n;this.postMessage({kind:"Init",payload:{attributes:this.attributes,roomState:(n=K.displayer)==null?void 0:n.state,currentPage:this.currentPage,observerId:this.displayer.observerId}}),K.emitter.emit("IframeLoad",i),this.sideEffectManager.addDisposer(K.emitter.on("Ready",()=>{var r;this.postMessage((r=this.attributes.lastEvent)==null?void 0:r.payload)}),Lt.Ready),this.computedStyleAndIframeDisplay()};e.url&&this.iframe.src!==e.url&&(this.src_url_equal_anchor||(this.src_url_equal_anchor=document.createElement("a")),this.src_url_equal_anchor.href=e.url,this.src_url_equal_anchor.href!==this.iframe.src&&(this.iframe.src=e.url)),this.iframe.width=`${e.width}px`,this.iframe.height=`${e.height}px`,this.sideEffectManager.addEventListener(this.iframe,"load",t,void 0,Lt.Load)}listenDisplayerState(){this.isReplay&&(this.displayer._phase===A.PlayerPhase.Playing&&this.computedStyleAndIframeDisplay(),this.sideEffectManager.add(()=>(this.displayer.callbacks.on("onPhaseChanged",this.onPhaseChangedListener),()=>this.displayer.callbacks.off("onPhaseChanged",this.onPhaseChangedListener)),Lt.DisplayerState)),this.computedStyleAndIframeDisplay()}computedStyleAndIframeDisplay(){this.computedStyle(this.displayer.state),this.computedIframeDisplay(this.displayer.state,this.attributes)}listenDisplayerCallbacks(){this.displayer.callbacks.on(this.callbackName,this.stateChangeListener)}get callbackName(){return this.isReplay?"onPlayerStateChanged":"onRoomStateChanged"}computedStyle(e){const t=this.manager.cameraState,i=this.attributes.width||1280,n=this.attributes.height||720;if(this.iframe){const{width:r,height:s,scale:a,centerX:o,centerY:l}=t,u=this.rootRect||{x:0,y:0},h=`${r/2+u.x}px`,c=`${s/2+u.y}px`,g=`transform-origin: ${h} ${c};`,v=(r-i)/2*a,w=(s-n)/2*a,x=-(o*a)+v,d=-(l*a)+w,p=`transform: translate(${x}px,${d}px) scale(${a}, ${a});`,M=["position: absolute;","border: 0.1px solid rgba(0,0,0,0);","top: 0px;","left: 0px;",g,p];this.cssList=M,this.computedZindex(),this.updateStyle()}}computedIframeDisplay(e,t){this.inDisplaySceneDir?K.emitter.emit("DispayIframe"):K.emitter.emit("HideIframe")}computedZindex(){const e="z-index: -1;",t=this.cssList.findIndex(i=>i===e);t!==-1&&this.cssList.splice(t,1),(!this.isClicker()||this.isDisableInput)&&this.cssList.push(e)}updateStyle(){this.iframe.style.cssText=this.cssList.join(" ")}get iframeOrigin(){if(this.iframe)try{return new URL(this.iframe.src).origin}catch(e){console.warn(e)}}messageListener(e){if(ct("<<<",JSON.stringify(e.data)),e.origin!==this.iframeOrigin)return;const t=e.data;switch(t.kind){case"SetAttributes":{this.handleSetAttributes(t);break}case"RegisterMagixEvent":{this.handleRegisterMagixEvent(t);break}case"RemoveMagixEvent":{this.handleRemoveMagixEvent(t);break}case"DispatchMagixEvent":{this.handleDispatchMagixEvent(t);break}case"RemoveAllMagixEvent":{this.handleRemoveAllMagixEvent();break}case"NextPage":{this.handleNextPage();break}case"PrevPage":{this.handlePrevPage();break}case"SDKCreate":{this.handleSDKCreate();break}case"SetPage":{this.handleSetPage(t);break}case"GetAttributes":{this.handleGetAttributes();break}case"PageTo":{this.handlePageTo(t);break}default:{ct(`${t.kind} not allow event.`);break}}}handleSDKCreate(){this.postMessage({kind:"Init",payload:{attributes:this.attributes,roomState:this.displayer.state,currentPage:this.currentPage,observerId:this.displayer.observerId}})}handleDispatchMagixEvent(e){const t=e.payload;this.appManager.safeDispatchMagixEvent(t.event,t.payload)}handleSetAttributes(e){this.setAttributes(e.payload)}handleRegisterMagixEvent(e){const t=e.payload,i=n=>{n.authorId!==this.displayer.observerId&&this.postMessage({kind:"ReciveMagixEvent",payload:n})};this.magixEventMap.set(t,i),this.displayer.addMagixEventListener(t,i)}handleRemoveMagixEvent(e){const t=e.payload,i=this.magixEventMap.get(t);this.displayer.removeMagixEventListener(t,i)}handleNextPage(){this.manager.canOperate&&(this.manager.nextPage(),this.dispatchMagixEvent("NextPage",{}))}handlePrevPage(){this.manager.canOperate&&(this.manager.prevPage(),this.dispatchMagixEvent("PrevPage",{}))}handlePageTo(e){if(this.manager.canOperate){const t=e.payload;if(!Number.isSafeInteger(t)||t<=0)return;this.manager.setMainViewSceneIndex(t-1),this.dispatchMagixEvent("PageTo",t-1)}}handleRemoveAllMagixEvent(){this.magixEventMap.forEach((e,t)=>{this.displayer.removeMagixEventListener(t,e)}),this.magixEventMap.clear()}handleGetAttributes(){this.postMessage({kind:"GetAttributes",payload:this.attributes})}postMessage(e){var t;this.iframe&&((t=this.iframe.contentWindow)==null||t.postMessage(JSON.parse(JSON.stringify(e)),"*"))}dispatchMagixEvent(e,t){this.manager.canOperate&&(this.setAttributes({lastEvent:{name:e,payload:t}}),this.displayer.dispatchMagixEvent(e,t))}get currentIndex(){return this.manager.mainViewSceneIndex}get currentPage(){return this.currentIndex+1}get totalPage(){return this.manager.mainViewScenesLength}get readonly(){return!this.displayer.isWritable}get inDisplaySceneDir(){return this.manager.mainViewSceneDir===this.attributes.displaySceneDir}isClicker(){if(this.readonly)return!1;const e=this.displayer.state.memberState.currentApplianceName;return this.allowAppliances.includes(e)}get isDisableInput(){return"disableDeviceInputs"in this.displayer?this.displayer.disableDeviceInputs:!0}};let Ai=K;Ai.kind="IframeBridge";Ai.hiddenClass="netless-iframe-brdige-hidden";Ai.emitter=new Ki.default;Ai.displayer=null;Ai.alreadyCreate=!1;const hg=new Cw({emitter:B}),U=class extends A.InvisiblePlugin{constructor(e){super(e);this.version="0.4.70",this.dependencies={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.28",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.17","@netless/app-media-player":"0.1.0-beta.6","@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.43"}},this.emitter=ne,this.viewMode=A.ViewMode.Broadcaster,this.isReplay=A.isPlayer(this.displayer),this.containerSizeRatio=U.containerSizeRatio,U.displayer=e.displayer,window.NETLESS_DEPS={dependencies:{"@juggle/resize-observer":"^3.3.1","@netless/telebox-insider":"0.2.28",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.17","@netless/app-media-player":"0.1.0-beta.6","@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.43"}}}static async mount(e){const t=e.room;U.container=e.container;const i=e.containerSizeRatio,n=e.debug,r=e.cursor;U.params=e,U.displayer=e.room,fm();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(U.isCreated)throw new Error("[WindowManager]: Already created cannot be created again");if(this.debug=Boolean(n),this.debug&&og({verbose:!0}),ct("Already insert room",s),A.isRoom(this.displayer)){if(!s)throw new Error("[WindowManager]: init InvisiblePlugin failed")}else await Eg.default(async a=>{if(s=t.getInvisiblePlugin(U.kind),!s)throw ct(`manager is empty. retrying ${a}`),new Error},{retries:10,maxTimeout:5e3});if(!s)throw new Error("[WindowManager]: create manager failed");i&&(U.containerSizeRatio=i),await s.ensureAttributes(),s._fullscreen=e.fullscreen,s.appManager=new hm(s),s.appManager.polling=e.polling||!1,s._pageState=new Mw(s.appManager),s.cursorManager=new Sw(s.appManager,Boolean(r),e.applianceIcons),i&&(s.containerSizeRatio=i),e.container&&s.bindContainer(e.container),Iw(t,s),B.emit("onCreated"),U.isCreated=!0;try{await zg()}catch(a){console.warn("[WindowManager]: indexedDB open failed"),console.log(a)}return s}static async initManager(e){let t=e.getInvisiblePlugin(U.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 bu(e),t==null||t.ensureAttributes(),await qr(500),await e.setWritable(!1)}else t=await bu(e);return t}static initContainer(e,t,i){const{chessboard:n,overwriteStyles:r,fullscreen:s}=i;U.container||(U.container=t);const{playground:a,wrapper:o,sizer:l,mainViewElement:u}=pm(t);if(U.playground=a,n&&l.classList.add("netless-window-manager-chess-sizer"),s&&l.classList.add("netless-window-manager-fullscreen"),r){const h=document.createElement("style");h.textContent=r,a.appendChild(h)}return e.containerResizeObserver=Go.create(a,l,o,B),U.wrapper=o,U.sizer=l,u}static get registered(){return Ee.registered}bindContainer(e){var t,i,n,r,s,a;if(A.isRoom(this.displayer)&&this.room.phase!==A.RoomPhase.Connected)throw new Ld;if(U.isCreated&&U.container)U.container.firstChild&&e.appendChild(U.container.firstChild);else if(U.params){const o=U.params,l=U.initContainer(this,e,o);this.boxManager&&this.boxManager.destroy();const u=Qv(this,ne,B,St,{collectorContainer:o.collectorContainer,collectorStyles:o.collectorStyles,prefersColorScheme:o.prefersColorScheme});this.boxManager=u,(t=this.appManager)==null||t.setBoxManager(u),this.bindMainView(l,o.disableCameraTransform),U.wrapper&&((i=this.cursorManager)==null||i.setupWrapper(U.wrapper))}B.emit("updateManagerRect"),(n=this.appManager)==null||n.refresh(),(r=this.appManager)==null||r.resetMaximized(),(s=this.appManager)==null||s.resetMinimized(),(a=this.appManager)==null||a.displayerWritableListener(!this.room.isWritable),U.container=e}bindCollectorContainer(e){U.isCreated&&this.boxManager?this.boxManager.setCollectorContainer(e):U.params&&(U.params.collectorContainer=e)}static register(e){return Ee.register(e)}static unregister(e){return Ee.unregister(e)}async addApp(e){if(this.appManager)return this.appManager.rootDirRemoving?new Promise((t,i)=>{B.once("rootDirRemoved").then(async()=>{try{const n=await this._addApp(e);t(n)}catch(n){i(n.message)}})}):this._addApp(e);throw new qe}async _addApp(e){var t,i,n;if(this.appManager){if(!e.kind||typeof e.kind!="string")throw new Pd;e.src&&typeof e.src=="string"&&Ee.register({kind:e.kind,src:e.src});const r=await((t=Ee.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 Td;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=Jg(e.options.scenePath)),await this.appManager.addApp(e,Boolean(s)))}else throw new qe}setupScenePath(e,t){let i=!1;if(e.options){const{scenePath:n,scenes:r}=e.options;if(n){if(!Xg(n))throw new Dd;const s=Object.keys(this.apps||{});for(const a of s){const o=t.store.getAppScenePath(a);if(o&&o===n){if(console.warn(`[WindowManager]: ScenePath "${n}" already opened`),this.boxManager){const l=this.boxManager.getTopBox();l&&(this.boxManager.setZIndex(a,l.zIndex+1,!1),this.boxManager.focusBox({appId:a},!1))}return}}}n&&r&&r.length>0&&(this.isDynamicPPT(r)?(i=!0,Wi(this.displayer)[n]||Sn(this.room,n,r)):Wi(this.displayer)[n]||Sn(this.room,n,[{name:r[0].name}])),n&&r===void 0&&Sn(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 jumpPage(e){return this.appManager?e<0||e>=this.pageState.length?(console.warn(`[WindowManager]: index ${e} out of range`),!1):(await this.appManager.setMainViewSceneIndex(e),!0):!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(je,[i||{}],n)}else this.room.putScenes(je,[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),B.emit("setReadonly",e)}switchMainViewToWriter(){var e;return(e=this.appManager)==null?void 0:e.mainViewProxy.mainViewClickHandler()}onAppDestroy(e,t){Yg(`destroy-${e}`,t)}onAppEvent(e,t){return B.on(`custom-${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)}setFullscreen(e){var t;this._fullscreen!==e&&(this._fullscreen=e,(t=U.sizer)==null||t.classList.toggle("netless-window-manager-fullscreen",e),ne.emit("fullscreenChange",e))}get mainView(){if(this.appManager)return this.appManager.mainViewProxy.view;throw new qe}get camera(){if(this.appManager)return this.appManager.mainViewProxy.view.camera;throw new qe}get cameraState(){if(this.appManager)return this.appManager.mainViewProxy.cameraState;throw new qe}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 qe}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 qe}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 polling(){var e;return((e=this.appManager)==null?void 0:e.polling)||!1}set polling(e){this.appManager&&(this.appManager.polling=e)}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 qe}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 qe}get pageState(){if(this._pageState)return this._pageState.toObject();throw new qe}get fullscreen(){return Boolean(this._fullscreen)}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,r;(e=this.containerResizeObserver)==null||e.disconnect(),(t=this.appManager)==null||t.destroy(),(i=this.cursorManager)==null||i.destroy(),U.container=void 0,U.wrapper=void 0,U.sizer=void 0,U.isCreated=!1,U.playground&&((n=U.playground.parentNode)==null||n.removeChild(U.playground)),U.params=void 0,(r=this._iframeBridge)==null||r.destroy(),this._iframeBridge=void 0,ct("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;ct("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;(e=this.appManager)==null||e.mainViewProxy.rebind(),U.container&&this.bindContainer(U.container),(t=this.appManager)==null||t.refresher.refresh()}setContainerSizeRatio(e){if(!E.isNumber(e)||!(e>0))throw new Error(`[WindowManager]: updateContainerSizeRatio error, ratio must be a positive number. but got ${e}`);U.containerSizeRatio=e,this.containerSizeRatio=e,B.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 qr(50),E.isObject(this.attributes)&&(this.attributes[we.Apps]||this.safeSetAttributes({[we.Apps]:{}}),this.attributes[we.Cursors]||this.safeSetAttributes({[we.Cursors]:{}}),this.attributes._mainScenePath||this.safeSetAttributes({_mainScenePath:Ad}),this.attributes._mainSceneIndex||this.safeSetAttributes({_mainSceneIndex:0}),this.attributes[we.Registered]||this.safeSetAttributes({[we.Registered]:{}}),this.attributes[we.IframeBridge]||this.safeSetAttributes({[we.IframeBridge]:{}}))}getIframeBridge(){if(!this.appManager)throw new Error("[WindowManager]: should call getIframeBridge() after await mount()");return this._iframeBridge||(this._iframeBridge=new Ai(this,this.appManager)),this._iframeBridge}};let re=U;re.kind="WindowManager";re.debug=!1;re.containerSizeRatio=Pg;re.isCreated=!1;TM();exports.AppCreateError=Td;exports.AppManagerNotInitError=qe;exports.AppNotRegisterError=em;exports.BindContainerRoomPhaseInvalidError=Ld;exports.BoxManagerNotFoundError=zd;exports.BoxNotCreatedError=Nd;exports.BuiltinApps=kM;exports.DomEvents=dg;exports.IframeBridge=Ai;exports.IframeEvents=cg;exports.InvalidScenePath=Dd;exports.ParamsInvalidError=Pd;exports.WhiteWebSDKInvalidError=kd;exports.WindowManager=re;exports.calculateNextIndex=Zo;exports.reconnectRefresher=hg;
60
60
  //# sourceMappingURL=index.js.map