@netless/window-manager 0.4.0-canary.2 → 0.4.0-canary.20
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/.idea/inspectionProfiles/Project_Default.xml +7 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/window-manager.iml +12 -0
- package/.vscode/settings.json +1 -0
- package/CHANGELOG.md +29 -1
- package/README.md +1 -0
- package/dist/App/MagixEvent/index.d.ts +29 -0
- package/dist/App/Storage/StorageEvent.d.ts +8 -0
- package/dist/App/Storage/index.d.ts +39 -0
- package/dist/App/Storage/typings.d.ts +22 -0
- package/dist/App/Storage/utils.d.ts +5 -0
- package/dist/AppContext.d.ts +40 -16
- package/dist/AppListener.d.ts +1 -1
- package/dist/AppManager.d.ts +15 -11
- package/dist/AppProxy.d.ts +6 -5
- package/dist/AttributesDelegate.d.ts +2 -2
- package/dist/BoxManager.d.ts +6 -3
- package/dist/BuiltinApps.d.ts +5 -0
- package/dist/ContainerResizeObserver.d.ts +10 -0
- package/dist/Cursor/Cursor.d.ts +8 -11
- package/dist/Cursor/index.d.ts +5 -16
- package/dist/Helper.d.ts +6 -0
- package/dist/ReconnectRefresher.d.ts +0 -1
- package/dist/Register/storage.d.ts +5 -1
- package/dist/Utils/Common.d.ts +7 -2
- package/dist/Utils/Reactive.d.ts +1 -1
- package/dist/Utils/RoomHacker.d.ts +1 -1
- package/dist/{MainView.d.ts → View/MainView.d.ts} +5 -6
- package/dist/View/ViewManager.d.ts +13 -0
- package/dist/constants.d.ts +3 -7
- package/dist/index.d.ts +25 -10
- package/dist/index.es.js +41 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +41 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/typings.d.ts +3 -2
- package/docs/api.md +36 -6
- package/docs/concept.md +9 -0
- package/package.json +7 -6
- package/src/App/MagixEvent/index.ts +68 -0
- package/src/App/Storage/StorageEvent.ts +21 -0
- package/src/App/Storage/index.ts +289 -0
- package/src/App/Storage/typings.ts +23 -0
- package/src/App/Storage/utils.ts +17 -0
- package/src/AppContext.ts +66 -24
- package/src/AppListener.ts +15 -14
- package/src/AppManager.ts +141 -63
- package/src/AppProxy.ts +50 -52
- package/src/AttributesDelegate.ts +2 -2
- package/src/BoxManager.ts +40 -24
- package/src/BuiltinApps.ts +23 -0
- package/src/ContainerResizeObserver.ts +62 -0
- package/src/Cursor/Cursor.ts +22 -36
- package/src/Cursor/index.ts +33 -139
- package/src/Helper.ts +30 -0
- package/src/ReconnectRefresher.ts +0 -5
- package/src/Register/index.ts +25 -16
- package/src/Register/loader.ts +1 -1
- package/src/Register/storage.ts +6 -1
- package/src/Utils/Common.ts +66 -13
- package/src/Utils/Reactive.ts +9 -3
- package/src/Utils/RoomHacker.ts +42 -13
- package/src/{MainView.ts → View/MainView.ts} +25 -36
- package/src/View/ViewManager.ts +52 -0
- package/src/constants.ts +3 -4
- package/src/index.ts +96 -72
- package/src/shim.d.ts +5 -0
- package/src/style.css +7 -1
- package/src/typings.ts +3 -2
- package/vite.config.js +8 -2
- package/dist/Base/Context.d.ts +0 -13
- package/dist/Base/index.d.ts +0 -7
- package/dist/Utils/CameraStore.d.ts +0 -15
- package/dist/ViewManager.d.ts +0 -29
- package/dist/sdk.d.ts +0 -14
- package/src/Base/Context.ts +0 -49
- package/src/Base/index.ts +0 -10
- package/src/Utils/CameraStore.ts +0 -72
- package/src/sdk.ts +0 -39
- package/src/viewManager.ts +0 -177
package/dist/index.es.js
CHANGED
@@ -1,2 +1,42 @@
|
|
1
|
-
var e,t,i=Object.defineProperty,s=Object.defineProperties,a=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,h=(e,t,s)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,c=(e,t)=>{for(var i in t||(t={}))n.call(t,i)&&h(e,i,t[i]);if(r)for(var i of r(t))o.call(t,i)&&h(e,i,t[i]);return e},d=(e,t)=>s(e,a(t));import l from"@netless/app-docs-viewer";import p,{setOptions as g}from"@netless/app-media-player";import u from"emittery";import m from"p-retry";import{debounce as M,get as w,pick as I,isEqual as A,isEmpty as x,isFunction as C,sortBy as y,maxBy as b,omit as v,compact as S,uniq as N,isBoolean as D,isNull as T,isObject as f}from"lodash";import{TELE_BOX_MANAGER_EVENT as j,TELE_BOX_STATE as L,TeleBoxManager as E,TeleBoxCollector as z}from"@netless/telebox-insider";import{autorun as P,reaction as B,toJS as V,listenUpdated as U,unlistenUpdated as k,listenDisposed as O,unlistenDisposed as R,ViewVisionMode as Z,AnimationMode as Q,UpdateEventKind as W,RoomPhase as G,isPlayer as Y,isRoom as F,ScenePathType as H,ApplianceNames as X,WhiteWebSdk as J,InvisiblePlugin as K,ViewMode as q,WhiteVersion as $}from"white-web-sdk";import{v4 as _}from"uuid";import{SideEffectManager as ee}from"side-effect-manager";import{ResizeObserver as te}from"@juggle/resize-observer";(t=e||(e={})).AppMove="AppMove",t.AppFocus="AppFocus",t.AppResize="AppResize",t.AppBoxStateChange="AppBoxStateChange",t.GetAttributes="GetAttributes",t.UpdateWindowManagerWrapper="UpdateWindowManagerWrapper",t.InitReplay="InitReplay",t.WindowCreated="WindowCreated",t.SetMainViewScenePath="SetMainViewScenePath",t.SetMainViewSceneIndex="SetMainViewSceneIndex",t.SwitchViewsToFreedom="SwitchViewsToFreedom",t.MoveCameraToContain="MoveCameraToContain";var ie,se,ae,re,ne,oe,he;(se=ie||(ie={})).Size="size",se.Position="position",se.SceneIndex="SceneIndex",se.ZIndex="zIndex",(re=ae||(ae={})).setBoxSize="setBoxSize",re.setBoxMinSize="setBoxMinSize",re.destroy="destroy",(ne||(ne={})).StartCreate="StartCreate",(he=oe||(oe={})).Leave="leave",he.Normal="normal";const ce=340/720,de=340/720,le={right:"10px",bottom:"15px",position:"absolute"};let pe,ge;const ue=async()=>{pe=await new Promise(((e,t)=>{const i=indexedDB.open("__WindowManagerAppCache",2);i.onerror=e=>{t(e)},i.onupgradeneeded=e=>{const t=e.target.result;t.objectStoreNames.contains("apps")||(ge=t.createObjectStore("apps",{keyPath:"kind"}),ge.createIndex("kind","kind",{unique:!0}))},i.onsuccess=()=>{const t=i.result;e(t)}}))},me=(e,t)=>{var i,s;if(pe)return i=pe,s={kind:e,sourceCode:t},new Promise(((e,t)=>{const a=i.transaction(["apps"],"readwrite").objectStore("apps").add(s);a.onsuccess=()=>e(),a.onerror=()=>t()}))},Me=async e=>{return pe?await(t=pe,i=e,new Promise(((e,s)=>{const a=t.transaction(["apps"]).objectStore("apps").index("kind").get(i);a.onerror=e=>s(e),a.onsuccess=()=>{a.result?e(a.result):e(null)}}))):null;var t,i};const we=async e=>{const t=await Me(e);if(t)return t;{const t=await async function(e,t){const{timeout:i=1e4}=t,s=new AbortController,a=setTimeout((()=>s.abort()),i),r=await fetch(e,d(c({},t),{signal:s.signal,headers:{"content-type":"text/plain"}}));return clearTimeout(a),r}(e,{timeout:1e4}),i=await t.text();return await me(e,i),i}},Ie=(e,t)=>{let i=Function(e+`;return ${t}`)();return void 0===i&&(i=window[t]),i};const Ae=new class{constructor(){this.kindEmitters=new Map,this.registered=new Map,this.appClassesCache=new Map,this.appClasses=new Map}async register(e){this.registered.set(e.kind,e);const t=e.src;let i;if(i="string"==typeof t?async()=>{const i=await(async(e,t,i)=>{const s=i||"NetlessApp"+t,a=await we(e);try{return Ie(a,s)}catch(r){if(r.message.includes("Can only have one anonymous define call per script file")){const e=window.define;return"function"==typeof e&&e.amd&&delete e.amd,Ie(a,s)}}})(t,e.kind);if(i)return i;throw new Error(`[WindowManager]: load remote script failed, ${t}`)}:"function"==typeof t?t:async()=>t,this.appClasses.set(e.kind,(async()=>{let t=this.appClassesCache.get(e.kind);return t||(t=i(),this.appClassesCache.set(e.kind,t)),t})),e.addHooks){const t=this.createKindEmitter(e.kind);t&&e.addHooks(t)}}async notifyApp(e,t,i){const s=this.kindEmitters.get(e);await(null==s?void 0:s.emit(t,i))}createKindEmitter(e){if(!this.kindEmitters.has(e)){const t=new u;this.kindEmitters.set(e,t)}return this.kindEmitters.get(e)}},xe=(e,t)=>{e.focusScenePath!==t&&(e.focusScenePath=t)},Ce=(e,t)=>{e&&e.isWritable&&e.state.sceneState.scenePath!==t&&e.setScenePath(t)},ye=(e,t)=>{e.didRelease||e.mode===t||(e.mode=t)},be=M(((e,t)=>{e.emit("mainViewModeChange",t)}),200),ve=e=>{const t=e.split(".").map((e=>e.padStart(2,"0"))).join("");return parseInt(t)},Se=e=>new Promise((t=>setTimeout(t,e)));class Ne{constructor(t){this.manager=t,this.displayer=this.manager.displayer,this.mainMagixEventListener=t=>{if(t.authorId!==this.displayer.observerId){const i=t.payload;switch(i.eventName){case e.AppMove:this.appMoveHandler(i.payload);break;case e.AppResize:this.appResizeHandler(i.payload);break;case e.SwitchViewsToFreedom:this.switchViewsToFreedomHandler();break;case e.AppBoxStateChange:this.boxStateChangeHandler(i.payload);break;case e.SetMainViewScenePath:this.setMainViewScenePathHandler(i.payload);break;case e.MoveCameraToContain:this.moveCameraToContainHandler(i.payload)}}},this.appMoveHandler=e=>{var t;null==(t=this.boxManager)||t.moveBox(e)},this.appResizeHandler=e=>{var t,i;null==(t=this.boxManager)||t.resizeBox(Object.assign(e,{skipUpdate:!0})),null==(i=this.manager.room)||i.refreshViewSize()},this.switchViewsToFreedomHandler=()=>{this.manager.viewManager.freedomAllViews()},this.boxStateChangeHandler=e=>{Gt.emit("boxStateChange",e)},this.setMainViewScenePathHandler=({nextScenePath:e})=>{xe(this.manager.mainView,e)},this.moveCameraToContainHandler=e=>{this.manager.mainView.moveCameraToContain(e)}}get boxManager(){return this.manager.boxManager}addListeners(){this.displayer.addMagixEventListener("__WindowManger",this.mainMagixEventListener)}removeListeners(){this.displayer.removeMagixEventListener("__WindowManger",this.mainMagixEventListener)}}class De extends Error{constructor(){super(...arguments),this.message="[WindowManager]: app duplicate exists and cannot be created again"}}class Te extends Error{constructor(){super(...arguments),this.message="[WindowManager]: AppManager must be initialized"}}class fe extends Error{constructor(e){super(`[WindowManager]: white-web-sdk version must large than ${e}`)}}class je extends Error{constructor(){super(...arguments),this.message="[WindowManager]: kind must be a valid string"}}class Le extends Error{constructor(){super(...arguments),this.message="[WindowManager]: box need created"}}class Ee extends Error{constructor(){super(...arguments),this.message='[WindowManager]: ScenePath should start with "/"'}}class ze extends Error{constructor(){super(...arguments),this.message="[WindowManager]: boxManager not found"}}class Pe{constructor(e,t,i,s,a){this.manager=e,this.boxManager=t,this.appId=i,this.appProxy=s,this.appOptions=a,this.mobxUtils={autorun:P,reaction:B,toJS:V},this.objectUtils={listenUpdated:U,unlistenUpdated:k,listenDisposed:O,unlistenDisposed:R},this.store=this.manager.store,this.isReplay=this.manager.isReplay,this.emitter=s.appEmitter,this.isAddApp=s.isAddApp}getDisplayer(){return this.manager.displayer}getAttributes(){return this.appProxy.attributes}getScenes(){const e=this.store.getAppAttributes(this.appId);if(!(null==e?void 0:e.isDynamicPPT))return null==e?void 0:e.options.scenes;{const e=this.manager.appProxies.get(this.appId);if(e)return e.scenes}}getView(){return this.appProxy.view}getInitScenePath(){return this.manager.getAppInitPath(this.appId)}getIsWritable(){return this.manager.canOperate}getBox(){const e=this.boxManager.getBox(this.appId);if(e)return e;throw new Le}getRoom(){return this.manager.room}setAttributes(e){this.manager.safeSetAttributes({[this.appId]:e})}updateAttributes(e,t){this.manager.attributes[this.appId]&&this.manager.safeUpdateAttributes([this.appId,...e],t)}async setScenePath(e){this.appProxy.box&&(this.appProxy.setFullPath(e),this.appProxy.context.switchAppToWriter(this.appId))}mountView(e){const t=this.getView();t&&(t.divElement=e,setTimeout((()=>{var e;null==(e=this.getRoom())||e.refreshViewSize()}),1e3))}getAppOptions(){return"function"==typeof this.appOptions?this.appOptions():this.appOptions}}var Be,Ve;(Ve=Be||(Be={})).Apps="apps",Ve.Focus="focus",Ve.State="state",Ve.BoxState="boxState",Ve.MainViewCamera="mainViewCamera",Ve.MainViewSize="mainViewSize",Ve.Broadcaster="broadcaster",Ve.Cursors="cursors",Ve.Position="position",Ve.CursorState="cursorState",Ve.FullPath="fullPath";const Ue=new class{constructor(e){this.context=e}setContext(e){this.context=e}get attributes(){return this.context.getAttributes()}apps(){return w(this.attributes,[Be.Apps])}get focus(){return w(this.attributes,[Be.Focus])}getAppAttributes(e){return w(this.apps(),[e])}getAppState(e){return w(this.apps(),[e,Be.State])}getMaximized(){return w(this.attributes,["maximized"])}getMinimized(){return w(this.attributes,["minimized"])}setupAppAttributes(e,t,i){this.attributes.apps||this.context.safeSetAttributes({apps:{}});const s=["scenePath","title"];i||s.push("scenes");const a=I(e.options,s),r={kind:e.kind,options:a,isDynamicPPT:i};"string"==typeof e.src&&(r.src=e.src),r.createdAt=Date.now(),this.context.safeUpdateAttributes([Be.Apps,t],r),this.context.safeUpdateAttributes([Be.Apps,t,Be.State],{[ie.Size]:{},[ie.Position]:{},[ie.SceneIndex]:0})}updateAppState(e,t,i){w(this.attributes,[Be.Apps,e,Be.State])&&this.context.safeUpdateAttributes([Be.Apps,e,Be.State,t],i)}cleanAppAttributes(e){this.context.safeUpdateAttributes([Be.Apps,e],void 0),this.context.safeSetAttributes({[e]:void 0});this.attributes[Be.Focus]===e&&this.cleanFocus()}cleanFocus(){this.context.safeSetAttributes({[Be.Focus]:void 0})}getAppSceneIndex(e){var t;return null==(t=this.getAppState(e))?void 0:t[ie.SceneIndex]}getAppScenePath(e){var t,i;return null==(i=null==(t=this.getAppAttributes(e))?void 0:t.options)?void 0:i.scenePath}getMainViewScenePath(){return this.attributes._mainScenePath}getMainViewSceneIndex(){return this.attributes._mainSceneIndex}getBoxState(){return this.attributes[Be.BoxState]}setMainViewScenePath(e){this.context.safeSetAttributes({_mainScenePath:e})}setMainViewSceneIndex(e){this.context.safeSetAttributes({_mainSceneIndex:e})}getMainViewCamera(){return w(this.attributes,[Be.MainViewCamera])}getMainViewSize(){return w(this.attributes,[Be.MainViewSize])}setMainViewCamera(e){this.context.safeSetAttributes({[Be.MainViewCamera]:c({},e)})}setMainViewSize(e){this.context.safeSetAttributes({[Be.MainViewSize]:c({},e)})}setAppFocus(e,t){t?this.context.safeSetAttributes({[Be.Focus]:e}):this.context.safeSetAttributes({[Be.Focus]:void 0})}updateCursor(e,t){w(this.attributes,[Be.Cursors])||this.context.safeUpdateAttributes([Be.Cursors],{}),w(this.attributes,[Be.Cursors,e])||this.context.safeUpdateAttributes([Be.Cursors,e],{}),this.context.safeUpdateAttributes([Be.Cursors,e,Be.Position],t)}updateCursorState(e,t){w(this.attributes,[Be.Cursors,e])||this.context.safeUpdateAttributes([Be.Cursors,e],{}),this.context.safeUpdateAttributes([Be.Cursors,e,Be.CursorState],t)}getCursorState(e){return w(this.attributes,[Be.Cursors,e,Be.CursorState])}cleanCursor(e){this.context.safeUpdateAttributes([Be.Cursors,e],void 0)}setMainViewFocusPath(e){const t=this.getMainViewScenePath();t&&xe(e,t)}}({getAttributes:()=>{throw new Error("getAttributes not implemented")},safeSetAttributes:()=>{throw new Error("safeSetAttributes not implemented")},safeUpdateAttributes:()=>{throw new Error("safeUpdateAttributes not implemented")}}),ke=(...e)=>{Ft.debug&&console.log("[WindowManager]:",...e)};class Oe{constructor(e){this.manager=e,this.findMember=e=>{var t;const i=null==(t=this.manager.room)?void 0:t.state.roomMembers;return null==i?void 0:i.find((t=>t.memberId===e))},this.findMemberByUid=e=>{var t;const i=null==(t=this.manager.room)?void 0:t.state.roomMembers;return null==i?void 0:i.find((t=>{var i;return(null==(i=t.payload)?void 0:i.uid)===e}))},this.observerId=e.displayer.observerId,Wt.on("observerIdChange",(e=>{this.observerId=e}))}get uid(){var e;return(null==(e=this.manager.room)?void 0:e.uid)||""}updateManagerRect(){var e;null==(e=this.manager.boxManager)||e.updateManagerRect()}blurFocusBox(){var e;null==(e=this.manager.boxManager)||e.blurAllBox()}switchAppToWriter(e){this.manager.viewManager.switchAppToWriter(e)}}let Re;class Ze{constructor(e){this.manager=e,this.store=Ue,this.context=(e=>(Re||(Re=new Oe(e)),Re))(this.manager)}}class Qe extends Ze{constructor(e,t,i,s){var a;super(t),this.params=e,this.boxManager=this.manager.boxManager,this.appProxies=this.manager.appProxies,this.viewManager=this.manager.viewManager,this.cameraStore=this.manager.cameraStore,this.status="normal",this.getAppInitState=e=>{var t,i;const s=this.store.getAppState(e);if(!s)return;const a=null==s?void 0:s[ie.Position],r=this.store.focus,n=null==s?void 0:s[ie.Size],o=null==s?void 0:s[ie.SceneIndex];let h={maximized:null==(t=this.attributes)?void 0:t.maximized,minimized:null==(i=this.attributes)?void 0:i.minimized,zIndex:null==s?void 0:s.zIndex};return a&&(h=d(c({},h),{id:e,x:a.x,y:a.y})),r===e&&(h=d(c({},h),{focus:!0})),n&&(h=d(c({},h),{width:n.width,height:n.height})),o&&(h=d(c({},h),{sceneIndex:o})),h},this.appAttributesUpdateListener=e=>{var t,i;null==(t=this.manager.refresher)||t.add(e,(()=>P((()=>{const t=this.manager.attributes[e];t&&this.appEmitter.emit("attributesUpdate",t)})))),null==(i=this.manager.refresher)||i.add(this.stateKey,(()=>P((()=>{var t,i,s;const a=null==(t=this.appAttributes)?void 0:t.state;(null==a?void 0:a.zIndex)>0&&a.zIndex!==(null==(i=this.box)?void 0:i.zIndex)&&(null==(s=this.boxManager)||s.setZIndex(e,a.zIndex))}))))},this.kind=e.kind,this.id=i,this.stateKey=`${this.id}_state`,this.appProxies.set(this.id,this),this.appEmitter=new u,this.appListener=this.makeAppEventListener(this.id),this.isAddApp=s,this.initScenes(),(null==(a=this.params.options)?void 0:a.scenePath)&&this.createView()}initScenes(){var e;const t=this.params.options;t&&(this.scenePath=t.scenePath,(null==(e=this.appAttributes)?void 0:e.isDynamicPPT)&&this.scenePath?this.scenes=this.manager.displayer.entireScenes()[this.scenePath]:this.scenes=t.scenes)}get view(){return this.manager.viewManager.getView(this.id)}get isWritable(){var e;return this.manager.canOperate&&!(null==(e=this.box)?void 0:e.readonly)}get attributes(){return this.manager.attributes[this.id]}get appAttributes(){return this.store.getAppAttributes(this.id)}getFullScenePath(){if(this.scenePath)return w(this.appAttributes,[Be.FullPath],this.scenePath)}setFullPath(e){this.manager.safeUpdateAttributes(["apps",this.id,Be.FullPath],e)}async baseInsertApp(e=!1,t){var i;const s=this.params;if(!s.kind)throw new Error("[WindowManager]: kind require");const a=await(null==(i=Ae.appClasses.get(s.kind))?void 0:i()),r=Ae.registered.get(s.kind);if(!a)throw new Error(`[WindowManager]: app load failed ${s.kind} ${s.src}`);return await this.setupApp(this.id,e,a,s.options,null==r?void 0:r.appOptions),this.context.updateManagerRect(),t&&this.focusApp(),{appId:this.id,app:a}}focusApp(){this.focusBox(),this.context.switchAppToWriter(this.id),this.store.setMainViewFocusPath(this.manager.mainView)}get box(){var e;return null==(e=this.boxManager)?void 0:e.getBox(this.id)}focusBox(){var e;null==(e=this.boxManager)||e.focusBox({appId:this.id})}async setupApp(t,i,s,a,r){var n;if(ke("setupApp",t,s,a),!this.boxManager)throw new ze;const o=new Pe(this.manager,this.boxManager,t,this,r);this.appContext=o;try{Wt.once(`${t}${e.WindowCreated}`).then((async()=>{var e;let a;i||(a=this.getAppInitState(t),null==(e=this.boxManager)||e.updateBoxState(a)),this.appEmitter.onAny(this.appListener),this.appAttributesUpdateListener(t),this.setViewFocusScenePath(),setTimeout((async()=>{const e=await s.setup(o);this.appResult=e,Ae.notifyApp(s.kind,"created",{appId:t,result:e}),this.afterSetupApp(a),this.fixMobileSize()}),50)})),null==(n=this.boxManager)||n.createBox({appId:t,app:s,options:a,canOperate:this.manager.canOperate,smartPosition:this.isAddApp})}catch(h){throw console.error(h),new Error(`[WindowManager]: app setup error: ${h.message}`)}}fixMobileSize(){var e,t;const i=null==(e=this.boxManager)?void 0:e.getBox(this.id);i&&(null==(t=this.boxManager)||t.resizeBox({appId:this.id,width:i.intrinsicWidth+.001,height:i.intrinsicHeight+.001,skipUpdate:!0}))}afterSetupApp(e){var t;e&&(e.focus&&this.scenePath&&this.context.switchAppToWriter(this.id),(null==e?void 0:e.x)&&e.y||null==(t=this.boxManager)||t.setBoxInitState(this.id))}onSeek(e){var t;this.appEmitter.emit("seek",e);const i=this.getAppInitState(this.id);null==(t=this.boxManager)||t.updateBoxState(i)}async onReconnected(){var e;this.appEmitter.emit("reconnected",void 0);const t=this.getAppInitState(this.id);await this.destroy(!0,!1,!0);const i=this.params,s=new Qe(i,this.manager,this.id,this.isAddApp);await s.baseInsertApp(!0,this.store.focus===this.id),null==(e=this.boxManager)||e.updateBoxState(t)}switchToWritable(){Ae.notifyApp(this.kind,"focus",{appId:this.id}),this.cameraStore.switchView(this.id,this.view,(()=>{if(this.view){if(this.view.mode===Z.Writable)return;try{this.manager.mainView.mode===Z.Writable&&(this.store.setMainViewFocusPath(this.manager.mainView),be(Gt,Z.Freedom),ye(this.manager.mainView,Z.Freedom)),ye(this.view,Z.Writable)}catch(e){ke("switch view failed",e)}}}))}emitAppSceneStateChange(e){this.appEmitter.emit("sceneStateChange",e)}emitAppIsWritableChange(){this.appEmitter.emit("writableChange",this.isWritable)}makeAppEventListener(e){return(t,i)=>{var s,a,r,n;if(this.manager.canOperate)switch(t){case"setBoxSize":null==(s=this.boxManager)||s.resizeBox({appId:e,width:i.width,height:i.height,skipUpdate:!1});break;case"setBoxMinSize":null==(a=this.boxManager)||a.setBoxMinSize({appId:e,minWidth:i.minwidth,minHeight:i.minheight});break;case"setBoxTitle":null==(r=this.boxManager)||r.setBoxTitle({appId:e,title:i.title});break;case ae.destroy:if("destroyed"===this.status)return;this.destroy(!0,!1,!0,null==i?void 0:i.error),(null==i?void 0:i.error)&&console.error(null==i?void 0:i.error);break;case"focus":null==(n=this.boxManager)||n.focusBox({appId:this.id}),Wt.emit("focus",{appId:this.id})}}}setScenePath(){if(!this.manager.canOperate)return;const e=this.getFullScenePath();this.manager.room&&e&&this.view&&Ce(this.manager.room,e)}setViewFocusScenePath(){const e=this.getFullScenePath();e&&this.view&&xe(this.view,e)}async createView(){const e=await this.viewManager.createView(this.id);return this.cameraStore.register(this.id,e),this.setViewFocusScenePath(),e}async destroy(e,t,i,s){var a,r,n;"destroyed"!==this.status&&(this.status="destroyed",await Ae.notifyApp(this.kind,"destroy",{appId:this.id}),await this.appEmitter.emit("destroy",{error:s}),this.appEmitter.clearListeners(),Wt.emit(`destroy-${this.id}`,{error:s}),e&&(null==(a=this.boxManager)||a.closeBox(this.id,i)),t&&this.store.cleanAppAttributes(this.id),this.appProxies.delete(this.id),this.cameraStore.unregister(this.id,this.view),this.viewManager.destroyView(this.id),this.manager.appStatus.delete(this.id),null==(r=this.manager.refresher)||r.remove(this.id),null==(n=this.manager.refresher)||n.remove(this.stateKey))}close(){return this.destroy(!0,!0,!1)}}class We{constructor(){this.cameras=new Map,this.listeners=new Map,this.onListener=(e,t)=>{t.callbacks.on("onCameraUpdated",this.getOrCreateListener(e))},this.offListener=(e,t)=>{t.callbacks.off("onCameraUpdated",this.getOrCreateListener(e))}}setCamera(e,t){this.cameras.set(e,t)}getCamera(e){return this.cameras.get(e)}deleteCamera(e){this.cameras.delete(e)}recoverCamera(e,t){const i=this.cameras.get(e);i&&t&&t.moveCamera(d(c({},i),{animationMode:Q.Immediately}))}register(e,t){this.onListener(e,t),this.setCamera(e,t.camera)}unregister(e,t){t&&this.offListener(e,t),this.listeners.delete(e),this.deleteCamera(e)}async switchView(e,t,i){t&&(this.offListener(e,t),await i(),this.recoverCamera(e,t),this.onListener(e,t))}getOrCreateListener(e){let t=this.listeners.get(e);return t||(t=t=>{this.setCamera(e,t)},this.listeners.set(e,t),t)}}class Ge extends Ze{constructor(e){super(e),this.views=new Map,this.mainViewProxy=this.manager.mainViewProxy,this.displayer=this.manager.displayer,setTimeout((()=>{var e;null==(e=this.manager.refresher)||e.add("focus",(()=>B((()=>this.store.focus),(e=>{e?this.switchAppToWriter(e):(this.switchMainViewToWriter(),this.context.blurFocusBox())}),{fireImmediately:!0})))}),100)}get currentScenePath(){return this.displayer.state.sceneState.scenePath}get mainView(){return this.mainViewProxy.view}createView(e){const t=Ye(this.displayer);return ye(t,Z.Freedom),this.views.set(e,t),t}destroyView(e){const t=this.views.get(e);t&&(this.releaseView(t),this.views.delete(e))}releaseView(e){e.didRelease||e.release()}getView(e){return this.views.get(e)}switchMainViewToWriter(){if(this.timer&&clearTimeout(this.timer),this.mainView.mode!==Z.Writable)return this.freedomAllViews(),new Promise(((e,t)=>{this.timer=window.setTimeout((()=>{try{const t=this.store.getMainViewScenePath();t&&(this.freedomAllViews(),Ce(this.manager.room,t),this.mainViewProxy.switchViewModeToWriter()),e(!0)}catch(i){t(i)}}),100)}))}freedomAllViews(){this.manager.appProxies.forEach((e=>{e.setViewFocusScenePath(),e.view&&ye(e.view,Z.Freedom)})),this.mainView.mode===Z.Writable&&(be(Gt,Z.Freedom),ye(this.mainView,Z.Freedom)),this.mainView.focusScenePath||this.store.setMainViewFocusPath(this.mainView)}switchAppToWriter(e){this.appTimer&&clearTimeout(this.appTimer),this.freedomAllViews(),this.appTimer=setTimeout((()=>{var t;const i=this.manager.appProxies.get(e);if(i){if(null==(t=this.manager.boxManager)?void 0:t.minimized)return;i.setScenePath(),i.switchToWritable(),i.focusBox()}}),100)}destroy(){var e;this.mainViewProxy.removeMainViewListener(),Ft.wrapper&&(null==(e=Ft.wrapper.parentNode)||e.removeChild(Ft.wrapper),Ft.wrapper=void 0),this.releaseView(this.mainView)}}const Ye=e=>{const t=e.views.createView();return Fe(t),t},Fe=e=>{e.setCameraBound({maxContentMode:()=>10,minContentMode:()=>.1})};class He extends Ze{constructor(e){super(e),this.cameraStore=this.manager.cameraStore,this.started=!1,this.mainViewIsAddListener=!1,this.viewId="mainView",this.sideEffectManager=new ee,this.cameraReaction=()=>B((()=>this.mainViewCamera),(e=>{e&&e.id!==this.context.uid&&(this.moveCameraToContian(this.mainViewSize),this.moveCamera(e))}),{fireImmediately:!0}),this.sizeChangeHandler=M((e=>{e&&(this.moveCameraToContian(e),this.moveCamera(this.mainViewCamera))}),30),this.onCameraUpdatedByDevice=e=>{this.store.setMainViewCamera(d(c({},e),{id:this.context.uid})),A(this.mainViewSize,d(c({},this.mainView.size),{id:this.context.uid}))||this.setMainViewSize(this.view.size)},this.mainViewClickListener=()=>{this.mainViewClickHandler()},this.setMainViewSize=M((e=>{this.store.setMainViewSize(d(c({},e),{id:this.context.uid}))}),50),this.onCameraOrSizeUpdated=()=>{Gt.emit("cameraStateChange",this.cameraState)},this.mainView=this.createMainView(),this.moveCameraSizeByAttributes(),this.cameraStore.register(this.viewId,this.mainView),Wt.once("mainViewMounted").then((()=>{setTimeout((()=>{this.start(),this.mainViewCamera&&this.mainViewSize||this.setCameraAndSize()}),200)}));const t=()=>{this.sizeChangeHandler(this.mainViewSize)};this.sideEffectManager.add((()=>(Wt.on("playgroundSizeChange",t),()=>Wt.off("playgroundSizeChange",t))))}get mainViewCamera(){return this.store.getMainViewCamera()}get mainViewSize(){return this.store.getMainViewSize()}moveCameraSizeByAttributes(){this.moveCameraToContian(this.mainViewSize),this.moveCamera(this.mainViewCamera)}start(){var e;this.started||(this.sizeChangeHandler(this.mainViewSize),this.addCameraListener(),null==(e=this.manager.refresher)||e.add(Be.MainViewCamera,this.cameraReaction),this.started=!0)}setCameraAndSize(){this.store.setMainViewCamera(d(c({},this.mainView.camera),{id:this.context.uid})),this.store.setMainViewSize(d(c({},this.mainView.size),{id:this.context.uid}))}get view(){return this.mainView}get cameraState(){return c(c({},this.view.camera),this.view.size)}createMainView(){const e=Ye(this.manager.displayer),t=this.store.getMainViewScenePath();return t&&xe(e,t),this.store.focus||this.switchViewModeToWriter(),e}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))}async mainViewClickHandler(){this.manager.canOperate&&this.view.mode!==Z.Writable&&(this.store.cleanFocus(),this.context.blurFocusBox())}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)}switchViewModeToWriter(){if(this.manager.canOperate&&this.view){if(this.view.mode===Z.Writable)return;this.cameraStore.switchView(this.viewId,this.mainView,(()=>{be(Gt,Z.Writable),ye(this.view,Z.Writable)}))}}moveCameraToContian(e){x(e)||(this.view.moveCameraToContain({width:e.width,height:e.height,originX:-e.width/2,originY:-e.height/2,animationMode:Q.Immediately}),this.scale=this.view.camera.scale)}moveCamera(e){if(!x(e)){if(A(e,this.view.camera))return;const{centerX:t,centerY:i,scale:s}=e,a=s*(this.scale||1);this.view.moveCamera({centerX:t,centerY:i,scale:a,animationMode:Q.Immediately})}}stop(){var e,t;this.removeCameraListener(),null==(e=this.manager.refresher)||e.remove(Be.MainViewCamera),null==(t=this.manager.refresher)||t.remove(Be.MainViewSize),this.started=!1}destroy(){this.stop(),this.cameraStore.unregister(this.viewId,this.mainView),this.sideEffectManager.flushAll()}}const Xe=e=>(t,i)=>{if(void 0!==t){if(U){const s=t=>{t.map((e=>e.kind)).includes(e)&&i()};return U(t,s),i(),()=>k(t,s)}return B((()=>t),(()=>{i()}),{fireImmediately:!0})}},Je=Xe(W.Removed),Ke=Xe(W.Inserted);const qe=new class{constructor(e){this.ctx=e,this.reactors=new Map,this.disposers=new Map,this.onPhaseChanged=e=>{e===G.Connected&&this.phase===G.Reconnecting&&this.onReconnected(),this.phase=e},this.onReconnected=M((()=>{ke("onReconnected refresh reactors"),this.releaseDisposers(),this.reactors.forEach(((e,t)=>{C(e)&&this.disposers.set(t,e())})),this.ctx.emitter.emit("onReconnected",void 0)}),3e3)}setRoom(e){this.room=e,this.phase=null==e?void 0:e.phase,null==e||e.callbacks.off("onPhaseChanged",this.onPhaseChanged),null==e||e.callbacks.on("onPhaseChanged",this.onPhaseChanged)}setContext(e){this.ctx=e}releaseDisposers(){this.disposers.forEach((e=>{C(e)&&e()})),this.disposers.clear()}add(e,t){C(t)&&(this.reactors.set(e,t),this.disposers.set(e,t()))}remove(e){this.reactors.has(e)&&this.reactors.delete(e);const t=this.disposers.get(e);t&&(C(t)&&t(),this.disposers.delete(e))}hasReactor(e){return this.reactors.has(e)}destroy(){var e;null==(e=this.room)||e.callbacks.off("onPhaseChanged",this.onPhaseChanged),this.releaseDisposers()}}({emitter:Wt});class $e{constructor(t){this.windowManger=t,this.appProxies=new Map,this.appStatus=new Map,this.store=Ue,this.isReplay=this.windowManger.isReplay,this.onAppDelete=e=>{const t=Object.keys(e);this.appProxies.forEach(((e,i)=>{t.includes(i)||e.destroy(!0,!1,!0)}))},this.displayerStateListener=e=>{var t,i;const s=e.sceneState;if(s){const e=s.scenePath;this.appProxies.forEach((t=>{t.scenePath&&e.startsWith(t.scenePath)&&(t.emitAppSceneStateChange(s),t.setFullPath(e))}))}e.roomMembers&&(null==(t=this.windowManger.cursorManager)||t.setRoomMembers(e.roomMembers),null==(i=this.windowManger.cursorManager)||i.cleanMemberAttributes(e.roomMembers)),this.appProxies.forEach((t=>{t.appEmitter.emit("roomStateChange",e)})),Wt.emit("observerIdChange",this.displayer.observerId)},this.displayerWritableListener=e=>{var t,i;const s=!e,a=void 0===this.windowManger.readonly||!1===this.windowManger.readonly;void 0===this.windowManger.readonly?null==(t=this.boxManager)||t.setReadonly(e):null==(i=this.boxManager)||i.setReadonly(!(s&&a)),this.appProxies.forEach((e=>{e.emitAppIsWritableChange()})),!0===s?(this.store.focus||this.mainViewProxy.switchViewModeToWriter(),this.mainView.disableCameraTransform=!1):this.mainView.disableCameraTransform=!0},this.boxEventListener=(t,i)=>{switch(t){case"move":this.dispatchInternalEvent(e.AppMove,i),this.store.updateAppState(i.appId,ie.Position,{x:i.x,y:i.y});break;case"focus":this.windowManger.safeSetAttributes({focus:i.appId});break;case"resize":i.width&&i.height&&(this.dispatchInternalEvent(e.AppResize,i),this.store.updateAppState(i.appId,ie.Size,{width:i.width,height:i.height}));break;case"close":{const e=this.appProxies.get(i.appId);e&&e.destroy(!1,!0,i.error);break}case"boxStateChange":this.dispatchInternalEvent(e.AppBoxStateChange,i)}},this.displayer=t.displayer,this.store.setContext({getAttributes:()=>this.attributes,safeSetAttributes:e=>this.safeSetAttributes(e),safeUpdateAttributes:(e,t)=>this.safeUpdateAttributes(e,t)}),this.cameraStore=new We,this.mainViewProxy=new He(this),this.viewManager=new Ge(this),this.appListeners=new Ne(this),this.displayer.callbacks.on(this.eventName,this.displayerStateListener),this.appListeners.addListeners(),this.refresher=qe,this.refresher.setRoom(this.room),this.refresher.setContext({emitter:Wt}),Wt.once("onCreated").then((()=>this.onCreated())),Wt.on("onReconnected",(()=>this.onReconnected())),Y(this.displayer)&&Wt.on("seek",(e=>{this.appProxies.forEach((t=>{t.onSeek(e)})),this.attributesUpdateCallback(this.attributes.apps),this.onAppDelete(this.attributes.apps)}))}async onCreated(){var e,t,i,s,a,r;if(await this.attributesUpdateCallback(this.attributes.apps),null==(e=this.boxManager)||e.updateManagerRect(),Wt.onAny(this.boxEventListener),null==(t=this.refresher)||t.add("apps",(()=>((e,t)=>{let i=null;const s=B(e,(()=>{i&&(i(),i=null);const s=e();i=()=>k(s,t),U(s,t)}),{fireImmediately:!0});return()=>{null==i||i(),s()}})((()=>this.attributes.apps),(()=>{this.attributesUpdateCallback(this.attributes.apps)})))),null==(i=this.refresher)||i.add("appsClose",(()=>Je(this.attributes.apps,(()=>{this.onAppDelete(this.attributes.apps)})))),null==(s=this.refresher)||s.add("maximized",(()=>P((()=>{var e;const t=this.attributes.maximized;null==(e=this.boxManager)||e.setMaximized(Boolean(t))})))),null==(a=this.refresher)||a.add("minimized",(()=>P((()=>{var e,t;const i=this.attributes.minimized;(null==(e=this.boxManager)?void 0:e.minimized)!==i&&(!0===i&&(null==(t=this.boxManager)||t.blurAllBox()),setTimeout((()=>{var e;null==(e=this.boxManager)||e.setMinimized(Boolean(i))}),0))})))),!this.attributes.apps||0===Object.keys(this.attributes.apps).length){const e=this.store.getMainViewScenePath();if(!e)return;this.displayer.state.sceneState.scenePath!==e&&Ce(this.room,e)}this.displayerWritableListener(!(null==(r=this.room)?void 0:r.isWritable)),this.displayer.callbacks.on("onEnableWriteNowChanged",this.displayerWritableListener)}async attributesUpdateCallback(e){if(e&&Ft.container){const t=Object.keys(e).map((t=>({id:t,createdAt:e[t].createdAt})));for(const{id:i}of y(t,"createdAt"))if(!this.appProxies.has(i)&&!this.appStatus.has(i)){const t=e[i];m((async()=>{this.appStatus.set(i,ne.StartCreate);if(!this.attributes[i])throw new Error("appAttributes is undefined");await this.baseInsertApp({kind:t.kind,options:t.options,isDynamicPPT:t.isDynamicPPT},i,!1),this.focusByAttributes(e)}),{retries:3}).catch((e=>{console.warn("[WindowManager]: Insert App Error",e),this.appStatus.delete(i)}))}}}refresh(){this.attributesUpdateCallback(this.attributes.apps)}setBoxManager(e){this.boxManager=e}resetMaximized(){var e;null==(e=this.boxManager)||e.setMaximized(Boolean(this.store.getMaximized()))}resetMinimized(){var e;null==(e=this.boxManager)||e.setMinimized(Boolean(this.store.getMinimized()))}bindMainView(e,t){const i=this.mainViewProxy.view;i.disableCameraTransform=t,i.divElement=e,i.focusScenePath||this.store.setMainViewFocusPath(i),void 0===this.store.focus&&i.mode!==Z.Writable&&this.viewManager.switchMainViewToWriter(),this.mainViewProxy.addMainViewListener(),Wt.emit("mainViewMounted")}async addApp(e,t){ke("addApp",e);const{appId:i,needFocus:s}=await this.beforeAddApp(e,t),a=await this.baseInsertApp(e,i,!0,s);return this.afterAddApp(a),null==a?void 0:a.id}async beforeAddApp(e,t){var i,s;const a=await(async e=>{var t,i;const s=await(null==(t=Ae.appClasses.get(e))?void 0:t());return s&&(null==(i=s.config)?void 0:i.singleton)?e:`${e}-${_().replace("-","").slice(0,8)}`})(e.kind);this.appStatus.set(a,ne.StartCreate);const r=null!=(i=e.attributes)?i:{};this.safeUpdateAttributes([a],r),this.store.setupAppAttributes(e,a,t);const n=!(null==(s=this.boxManager)?void 0:s.minimized);return n&&this.store.setAppFocus(a,!0),{appId:a,needFocus:n}}afterAddApp(e){var t,i;if(e&&e.box){const t=e.box;Wt.emit("move",{appId:e.id,x:null==t?void 0:t.intrinsicX,y:null==t?void 0:t.intrinsicY}),this.store.updateAppState(e.id,ie.ZIndex,t.zIndex)}(null==(t=this.boxManager)?void 0:t.minimized)&&(null==(i=this.boxManager)||i.setMinimized(!1,!1))}async closeApp(e){const t=this.appProxies.get(e);t&&t.destroy(!0,!0,!1)}async baseInsertApp(e,t,i,s){if(this.appProxies.has(t))return void console.warn("[WindowManager]: app duplicate exists and cannot be created again");const a=new Qe(e,this,t,i);if(a)return await a.baseInsertApp(s),this.appStatus.delete(t),a;throw this.appStatus.delete(t),new Error("[WindowManger]: initialize AppProxy failed")}get eventName(){return F(this.displayer)?"onRoomStateChanged":"onPlayerStateChanged"}get attributes(){return this.windowManger.attributes}get canOperate(){return this.windowManger.canOperate}get room(){return F(this.displayer)?this.displayer:void 0}get mainView(){return this.mainViewProxy.view}get focusApp(){if(this.store.focus)return this.appProxies.get(this.store.focus)}safeSetAttributes(e){this.windowManger.safeSetAttributes(e)}safeUpdateAttributes(e,t){this.windowManger.safeUpdateAttributes(e,t)}async setMainViewScenePath(e){if(this.room){const t=this.displayer.scenePathType(e);if(t===H.None)throw new Error(`[WindowManager]: ${e} not valid scene`);if(t===H.Page)await this._setMainViewScenePath(e);else if(t===H.Dir){const t=((e,t)=>{const i=e.entireScenes()[t][0].name;return"/"===t?`/${i}`:`${t}/${i}`})(this.displayer,e);await this._setMainViewScenePath(t)}}}async _setMainViewScenePath(t){this.safeSetAttributes({_mainScenePath:t}),await this.viewManager.switchMainViewToWriter(),Ce(this.room,t),this.store.setMainViewFocusPath(this.mainView),this.dispatchInternalEvent(e.SetMainViewScenePath,{nextScenePath:t})}async setMainViewSceneIndex(t){if(this.room){this.safeSetAttributes({_mainSceneIndex:t}),await this.viewManager.switchMainViewToWriter(),this.room.setSceneIndex(t);const i=this.room.state.sceneState.scenePath;this.store.setMainViewScenePath(i),this.store.setMainViewFocusPath(this.mainView),this.dispatchInternalEvent(e.SetMainViewScenePath,{nextScenePath:i})}}getAppInitPath(e){var t;const i=this.store.getAppAttributes(e);if(i)return null==(t=null==i?void 0:i.options)?void 0:t.scenePath}safeDispatchMagixEvent(e,t){this.canOperate&&this.displayer.dispatchMagixEvent(e,t)}focusByAttributes(e){var t;if(e&&Object.keys(e).length===(null==(t=this.boxManager)?void 0:t.boxSize)){const e=this.store.focus;e&&this.boxManager.focusBox({appId:e})}}async onReconnected(){const e=Array.from(this.appProxies.values()).map((e=>e.onReconnected()));await Promise.all(e)}notifyContainerRectUpdate(e){this.appProxies.forEach((t=>{t.appEmitter.emit("containerRectUpdate",e)}))}dispatchInternalEvent(e,t){this.safeDispatchMagixEvent("__WindowManger",{eventName:e,payload:t})}destroy(){var e,t;this.displayer.callbacks.off(this.eventName,this.displayerStateListener),this.displayer.callbacks.off("onEnableWriteNowChanged",this.displayerWritableListener),this.appListeners.removeListeners(),Wt.offAny(this.boxEventListener),Wt.clearListeners(),this.appProxies.size&&this.appProxies.forEach((e=>{e.destroy(!0,!1,!0)})),this.viewManager.destroy(),null==(e=this.boxManager)||e.destroy(),null==(t=this.refresher)||t.destroy(),this.mainViewProxy.destroy(),Gt.clearListeners()}}class _e{constructor(e,t){this.context=e,this.createTeleBoxManagerConfig=t;const{emitter:i,callbacks:s}=e;this.teleBoxManager=this.setupBoxManager(t),this.teleBoxManager.events.on(j.State,(e=>{e&&(this.context.callbacks.emit("boxStateChange",e),this.context.emitter.emit("boxStateChange",e))})),this.teleBoxManager.events.on("minimized",(e=>{this.context.safeSetAttributes({minimized:e}),e&&(this.context.cleanFocus(),this.blurAllBox())})),this.teleBoxManager.events.on("maximized",(e=>{this.context.safeSetAttributes({maximized:e})})),this.teleBoxManager.events.on("removed",(e=>{e.forEach((e=>{i.emit("close",{appId:e.id})}))})),this.teleBoxManager.events.on("intrinsic_move",M((e=>{i.emit("move",{appId:e.id,x:e.intrinsicX,y:e.intrinsicY})}),50)),this.teleBoxManager.events.on("intrinsic_resize",M((e=>{i.emit("resize",{appId:e.id,width:e.intrinsicWidth,height:e.intrinsicHeight})}),200)),this.teleBoxManager.events.on("focused",(e=>{e&&(this.canOperate?i.emit("focus",{appId:e.id}):this.teleBoxManager.blurBox(e.id))})),this.teleBoxManager.events.on("dark_mode",(e=>{s.emit("darkModeChange",e)})),this.teleBoxManager.events.on("prefers_color_scheme",(e=>{s.emit("prefersColorSchemeChange",e)})),this.teleBoxManager.events.on("z_index",(e=>{this.context.updateAppState(e.id,ie.ZIndex,e.zIndex)}))}get mainView(){return this.context.getMainView()}get canOperate(){return this.context.canOperate()}get boxState(){return this.teleBoxManager.state}get maximized(){return this.teleBoxManager.maximized}get minimized(){return this.teleBoxManager.minimized}get darkMode(){return this.teleBoxManager.darkMode}get prefersColorScheme(){return this.teleBoxManager.prefersColorScheme}get boxSize(){return this.teleBoxManager.boxes.length}createBox(t){var i,s,a;if(!this.teleBoxManager)return;let{minwidth:r=ce,minheight:n=de}=null!=(i=t.app.config)?i:{};const{width:o,height:h}=null!=(s=t.app.config)?s:{},c=(null==(a=t.options)?void 0:a.title)||t.appId,d=this.teleBoxManager.containerRect;r>1&&(r/=d.width),n>1&&(n/=d.height);const l={title:c,minWidth:r,minHeight:n,width:o,height:h,id:t.appId};this.teleBoxManager.create(l,t.smartPosition),this.context.emitter.emit(`${t.appId}${e.WindowCreated}`)}setBoxInitState(e){const t=this.teleBoxManager.queryOne({id:e});t&&t.state===L.Maximized&&this.context.emitter.emit("resize",{appId:e,x:t.x,y:t.y,width:t.intrinsicWidth,height:t.intrinsicHeight})}setupBoxManager(e){const t=Ft.wrapper?Ft.wrapper:document.body,i=t.getBoundingClientRect(),s={root:t,containerRect:{x:0,y:0,width:i.width,height:i.height},fence:!1,prefersColorScheme:null==e?void 0:e.prefersColorScheme},a=new E(s);this.teleBoxManager&&this.teleBoxManager.destroy(),this.teleBoxManager=a;const r=(null==e?void 0:e.collectorContainer)||Ft.wrapper;return r&&this.setCollectorContainer(r),a}setCollectorContainer(e){var t;const i=c(c({},le),null==(t=this.createTeleBoxManagerConfig)?void 0:t.collectorStyles),s=new z({styles:i}).mount(e);this.teleBoxManager.setCollector(s)}getBox(e){return this.teleBoxManager.queryOne({id:e})}closeBox(e,t=!1){return this.teleBoxManager.remove(e,t)}boxIsFocus(e){const t=this.getBox(e);return null==t?void 0:t.focus}getFocusBox(){return this.teleBoxManager.query({focus:!0})[0]}getTopBox(){const e=this.teleBoxManager.query();return b(e,"zIndex")}updateBoxState(e){if(!e)return;const t=this.getBox(e.id);t&&(this.teleBoxManager.update(t.id,{x:e.x,y:e.y,width:e.width||.5,height:e.height||.5,zIndex:e.zIndex},!0),setTimeout((()=>{e.focus&&this.teleBoxManager.focusBox(t.id,!0),null!=e.maximized&&this.teleBoxManager.setMaximized(Boolean(e.maximized),!0),null!=e.minimized&&this.teleBoxManager.setMinimized(Boolean(e.minimized),!0)}),50),this.context.callbacks.emit("boxStateChange",this.teleBoxManager.state))}updateManagerRect(){var e;const t=null==(e=this.mainView.divElement)?void 0:e.getBoundingClientRect();if(t&&t.width>0&&t.height>0){const e={x:0,y:0,width:t.width,height:t.height};this.teleBoxManager.setContainerRect(e),this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect)}}moveBox({appId:e,x:t,y:i}){this.teleBoxManager.update(e,{x:t,y:i},!0)}focusBox({appId:e},t=!0){this.teleBoxManager.focusBox(e,t)}resizeBox({appId:e,width:t,height:i,skipUpdate:s}){this.teleBoxManager.update(e,{width:t,height:i},s)}setBoxMinSize(e){this.teleBoxManager.update(e.appId,{minWidth:e.minWidth,minHeight:e.minHeight},!0)}setBoxTitle(e){this.teleBoxManager.update(e.appId,{title:e.title},!0)}blurAllBox(){this.teleBoxManager.blurAll()}updateAll(e){this.teleBoxManager.updateAll(e)}setMaximized(e){e!==this.maximized&&this.teleBoxManager.setMaximized(e,!0)}setMinimized(e,t=!0){this.teleBoxManager.setMinimized(e,t)}focusTopBox(){if(this.teleBoxManager.query().length>=1){const e=this.getTopBox();e&&this.focusBox({appId:e.id},!1)}}setReadonly(e){this.teleBoxManager.setReadonly(e)}setPrefersColorScheme(e){this.teleBoxManager.setPrefersColorScheme(e)}setZIndex(e,t,i=!0){this.teleBoxManager.update(e,{zIndex:t},i)}destroy(){this.teleBoxManager.destroy()}}function et(){}function tt(e){return e()}function it(){return Object.create(null)}function st(e){e.forEach(tt)}function at(e){return"function"==typeof e}function rt(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}let nt,ot;function ht(e,t){return nt||(nt=document.createElement("a")),nt.href=t,e===nt.href}function ct(e,t){e.appendChild(t)}function dt(e,t,i){e.insertBefore(t,i||null)}function lt(e){e.parentNode.removeChild(e)}function pt(e){return document.createElement(e)}function gt(e){return document.createTextNode(e)}function ut(){return gt(" ")}function mt(e,t,i){null==i?e.removeAttribute(t):e.getAttribute(t)!==i&&e.setAttribute(t,i)}function Mt(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function wt(e,t,i,s){e.style.setProperty(t,i,s?"important":"")}function It(e){ot=e}const At=[],xt=[],Ct=[],yt=[],bt=Promise.resolve();let vt=!1;function St(e){Ct.push(e)}let Nt=!1;const Dt=new Set;function Tt(){if(!Nt){Nt=!0;do{for(let e=0;e<At.length;e+=1){const t=At[e];It(t),ft(t.$$)}for(It(null),At.length=0;xt.length;)xt.pop()();for(let e=0;e<Ct.length;e+=1){const t=Ct[e];Dt.has(t)||(Dt.add(t),t())}Ct.length=0}while(At.length);for(;yt.length;)yt.pop()();vt=!1,Nt=!1,Dt.clear()}}function ft(e){if(null!==e.fragment){e.update(),st(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(St)}}const jt=new Set;function Lt(e,t){-1===e.$$.dirty[0]&&(At.push(e),vt||(vt=!0,bt.then(Tt)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function Et(e,t,i,s,a,r,n,o=[-1]){const h=ot;It(e);const c=e.$$={fragment:null,ctx:null,props:r,update:et,not_equal:a,bound:it(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(h?h.$$.context:t.context||[]),callbacks:it(),dirty:o,skip_bound:!1,root:t.target||h.$$.root};n&&n(c.root);let d=!1;if(c.ctx=i?i(e,t.props||{},((t,i,...s)=>{const r=s.length?s[0]:i;return c.ctx&&a(c.ctx[t],c.ctx[t]=r)&&(!c.skip_bound&&c.bound[t]&&c.bound[t](r),d&&Lt(e,t)),i})):[],c.update(),d=!0,st(c.before_update),c.fragment=!!s&&s(c.ctx),t.target){if(t.hydrate){const e=(g=t.target,Array.from(g.childNodes));c.fragment&&c.fragment.l(e),e.forEach(lt)}else c.fragment&&c.fragment.c();t.intro&&((l=e.$$.fragment)&&l.i&&(jt.delete(l),l.i(p))),function(e,t,i,s){const{fragment:a,on_mount:r,on_destroy:n,after_update:o}=e.$$;a&&a.m(t,i),s||St((()=>{const t=r.map(tt).filter(at);n?n.push(...t):st(t),e.$$.on_mount=[]})),o.forEach(St)}(e,t.target,t.anchor,t.customElement),Tt()}var l,p,g;It(h)}function zt(e){let t,i,s;return{c(){t=pt("img"),mt(t,"class","netless-window-manager-cursor-selector-avatar"),mt(t,"style",i=e[15]()),ht(t.src,s=e[7])||mt(t,"src",s),mt(t,"alt","avatar")},m(e,i){dt(e,t,i)},p(e,i){128&i&&!ht(t.src,s=e[7])&&mt(t,"src",s)},d(e){e&<(t)}}}function Pt(e){let t,i;return{c(){t=pt("span"),i=gt(e[1]),mt(t,"class","netless-window-manager-cursor-tag-name"),wt(t,"background-color",e[10])},m(e,s){dt(e,t,s),ct(t,i)},p(e,s){2&s&&Mt(i,e[1]),1024&s&&wt(t,"background-color",e[10])},d(e){e&<(t)}}}function Bt(e){let t,i,s,a,r,n,o,h,c,d,l,p,g=e[13]&&zt(e),u=e[14]&&Pt(e);return{c(){t=pt("div"),i=pt("div"),s=pt("div"),g&&g.c(),a=ut(),r=pt("span"),n=gt(e[0]),o=ut(),u&&u.c(),h=ut(),c=pt("div"),d=pt("img"),wt(r,"overflow","hidden"),wt(r,"white-space","nowrap"),wt(r,"text-overflow","ellipsis"),wt(r,"max-width","80px"),mt(s,"class",e[8]),wt(s,"background-color",e[2]),wt(s,"color",e[9]),wt(s,"opacity",e[11]),mt(i,"class","netless-window-manager-cursor-name"),mt(d,"class",l="netless-window-manager-cursor-"+e[3]+"-image"),ht(d.src,p=e[6])||mt(d,"src",p),mt(d,"alt",e[3]),mt(c,"class","cursor-image-wrapper"),mt(t,"class","netless-window-manager-cursor-mid"),wt(t,"transform","translateX("+e[4]+"px) translateY("+e[5]+"px)"),wt(t,"display",e[12])},m(e,l){dt(e,t,l),ct(t,i),ct(i,s),g&&g.m(s,null),ct(s,a),ct(s,r),ct(r,n),ct(s,o),u&&u.m(s,null),ct(t,h),ct(t,c),ct(c,d)},p(e,[i]){e[13]?g?g.p(e,i):(g=zt(e),g.c(),g.m(s,a)):g&&(g.d(1),g=null),1&i&&Mt(n,e[0]),e[14]?u?u.p(e,i):(u=Pt(e),u.c(),u.m(s,null)):u&&(u.d(1),u=null),256&i&&mt(s,"class",e[8]),4&i&&wt(s,"background-color",e[2]),512&i&&wt(s,"color",e[9]),2048&i&&wt(s,"opacity",e[11]),8&i&&l!==(l="netless-window-manager-cursor-"+e[3]+"-image")&&mt(d,"class",l),64&i&&!ht(d.src,p=e[6])&&mt(d,"src",p),8&i&&mt(d,"alt",e[3]),48&i&&wt(t,"transform","translateX("+e[4]+"px) translateY("+e[5]+"px)"),4096&i&&wt(t,"display",e[12])},i:et,o:et,d(e){e&<(t),g&&g.d(),u&&u.d()}}}function Vt(e,t,i){let s,a,r,n,{cursorName:o}=t,{tagName:h}=t,{backgroundColor:c}=t,{appliance:d}=t,{x:l}=t,{y:p}=t,{src:g}=t,{visible:u}=t,{avatar:m}=t,{theme:M}=t,{color:w}=t,{cursorTagBackgroundColor:I}=t,{opacity:A}=t;return e.$$set=e=>{"cursorName"in e&&i(0,o=e.cursorName),"tagName"in e&&i(1,h=e.tagName),"backgroundColor"in e&&i(2,c=e.backgroundColor),"appliance"in e&&i(3,d=e.appliance),"x"in e&&i(4,l=e.x),"y"in e&&i(5,p=e.y),"src"in e&&i(6,g=e.src),"visible"in e&&i(16,u=e.visible),"avatar"in e&&i(7,m=e.avatar),"theme"in e&&i(8,M=e.theme),"color"in e&&i(9,w=e.color),"cursorTagBackgroundColor"in e&&i(10,I=e.cursorTagBackgroundColor),"opacity"in e&&i(11,A=e.opacity)},e.$$.update=()=>{1&e.$$.dirty&&(s=!x(o)),2&e.$$.dirty&&i(14,a=!x(h)),128&e.$$.dirty&&i(13,r=!x(m)),65536&e.$$.dirty&&i(12,n=u?"initial":"none")},[o,h,c,d,l,p,g,m,M,w,I,A,n,r,a,()=>Object.entries({width:(s?19:28)+"px",height:(s?19:28)+"px",position:s?"initial":"absolute","border-color":s?"white":c,"margin-right":(s?4:0)+"px"}).map((([e,t])=>`${e}: ${t}`)).join(";"),u]}class Ut extends class{$destroy(){!function(e,t){const i=e.$$;null!==i.fragment&&(st(i.on_destroy),i.fragment&&i.fragment.d(t),i.on_destroy=i.fragment=null,i.ctx=[])}(this,1),this.$destroy=et}$on(e,t){const i=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return i.push(t),()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}{constructor(e){super(),Et(this,e,Vt,Bt,rt,{cursorName:0,tagName:1,backgroundColor:2,appliance:3,x:4,y:5,src:6,visible:16,avatar:7,theme:8,color:9,cursorTagBackgroundColor:10,opacity:11})}}const kt={[X.pencil]:"data:image/png;base64,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",[X.selector]:"data:image/png;base64,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",[X.eraser]:"data:image/png;base64,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",[X.shape]:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",[X.text]:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="};class Ot extends Ze{constructor(e,t,i,s,a,r){super(e),this.cursors=i,this.memberId=s,this.cursorManager=a,this.wrapper=r,this.onCursorChange=(e,t)=>{var i;if("main"===e.type){const t=this.cursorManager.wrapperRect;this.component&&t&&(this.autoHidden(),this.moveCursor(e,t,this.manager.mainView))}else{const t=this.cursorManager.focusView,s=null==(i=null==t?void 0:t.divElement)?void 0:i.getBoundingClientRect(),a=null==t?void 0:t.camera;t&&s&&a&&this.component&&(this.autoHidden(),this.moveCursor(e,s,t))}t&&t===oe.Leave&&this.hide()},this.setMember(),this.createCursor(),t(this.memberId,this.onCursorChange),this.autoHidden()}moveCursor(e,t,i){var s,a;const{x:r,y:n,type:o}=e,h=null==i?void 0:i.screen.convertPointToScreen(r,n);if(h){let e=h.x-2,i=h.y-18;if("app"===o){const s=this.cursorManager.wrapperRect;s&&(e=e+t.x-s.x,i=i+t.y-s.y)}h.x<0||h.x>t.width||h.y<0||h.y>t.height?null==(s=this.component)||s.$set({visible:!1,x:e,y:i}):null==(a=this.component)||a.$set({visible:!0,x:e,y:i})}}get memberApplianceName(){var e,t;return null==(t=null==(e=this.member)?void 0:e.memberState)?void 0:t.currentApplianceName}get memberColor(){var e,t;return`rgb(${null==(t=null==(e=this.member)?void 0:e.memberState)?void 0:t.strokeColor.join(",")})`}get payload(){var e;return null==(e=this.member)?void 0:e.payload}get memberCursorName(){var e,t;return(null==(e=this.payload)?void 0:e.nickName)||(null==(t=this.payload)?void 0:t.cursorName)||this.memberId}get memberTheme(){var e;return(null==(e=this.payload)?void 0:e.theme)?"netless-window-manager-cursor-inner-mellow":"netless-window-manager-cursor-inner"}get memberCursorTextColor(){var e;return(null==(e=this.payload)?void 0:e.cursorTextColor)||"#FFFFFF"}get memberCursorTagBackgroundColor(){var e;return(null==(e=this.payload)?void 0:e.cursorTagBackgroundColor)||this.memberColor}get memberAvatar(){var e;return null==(e=this.payload)?void 0:e.avatar}get memberOpacity(){return this.memberCursorName||this.memberAvatar?1:0}get cursorState(){return w(this.cursors,[this.memberId,Be.CursorState])}get cursorPosition(){return w(this.cursors,[this.memberId,Be.Position])}autoHidden(){this.timer&&clearTimeout(this.timer),this.timer=window.setTimeout((()=>{this.hide(),this.store.updateCursorState(this.memberId,oe.Leave)}),1e4)}async createCursor(){this.member&&this.wrapper&&(this.component=new Ut({target:this.wrapper,props:this.initProps()}))}initProps(){return{x:0,y:0,appliance:this.memberApplianceName,avatar:this.memberAvatar,src:this.getIcon(),visible:!1,backgroundColor:this.memberColor,cursorName:this.memberCursorName,theme:this.memberTheme,color:this.memberCursorTextColor,cursorTagBackgroundColor:this.memberCursorTagBackgroundColor,opacity:this.memberOpacity}}getIcon(){if(this.member){return kt[this.memberApplianceName||X.shape]||kt[X.shape]}}setMember(){this.member=this.context.findMemberByUid(this.memberId),this.updateComponent()}updateComponent(){var e;null==(e=this.component)||e.$set(v(this.initProps(),["x","y"]))}destroy(){var e;this.component&&this.component.$destroy(),null==(e=this.manager.refresher)||e.remove(this.memberId),this.cursorManager.cursorInstances.delete(this.memberId)}hide(){this.component&&this.component.$set({visible:!1})}}class Rt extends Ze{constructor(e){var t;super(e),this.appManager=e,this.cursorInstances=new Map,this.sideEffectManager=new ee,this.getUids=e=>S(N(null==e?void 0:e.map((e=>{var t;return null==(t=e.payload)?void 0:t.uid})))),this.handleRoomMembersChange=M((e=>{const t=this.getUids(this.roomMembers),i=Object.keys(this.cursors);(null==t?void 0:t.length)&&i.map((i=>{if(t.includes(i)&&!this.cursorInstances.has(i)){if(i===this.context.uid)return;const t=new Ot(this.appManager,this.addCursorChangeListener,this.cursors,i,this,e);this.cursorInstances.set(i,t)}}))}),100),this.mouseMoveListener=M((e=>{this.updateCursor(this.getType(e),e.clientX,e.clientY)}),5),this.getPoint=(e,t,i)=>{var s;const a=null==(s=null==e?void 0:e.divElement)?void 0:s.getBoundingClientRect();if(a){return null==e?void 0:e.convertToPointInWorld({x:t-a.x,y:i-a.y})}},this.getType=e=>{var t;const i=e.target,s=this.appManager.focusApp;switch(i.parentElement){case this.mainViewElement:return{type:"main"};case null==(t=null==s?void 0:s.view)?void 0:t.divElement:return{type:"app"};default:return{type:"main"}}},this.mouseLeaveListener=()=>{this.hideCursor(this.context.uid),this.store.updateCursorState(this.context.uid,oe.Leave)},this.addCursorChangeListener=(e,t)=>{var i;null==(i=this.manager.refresher)||i.add(e,(()=>P((()=>{const i=w(this.cursors,[e,Be.Position]),s=w(this.cursors,[e,Be.CursorState]);i&&t(i,s)}))))},this.roomMembers=null==(t=this.appManager.room)?void 0:t.state.roomMembers;const i=Ft.wrapper;i&&this.setupWrapper(i),Wt.on("onReconnected",(()=>{this.onReconnect()}))}setupWrapper(e){var t;(null==(t=this.manager.refresher)?void 0:t.hasReactor("cursors"))&&this.destroy(),this.sideEffectManager.add((()=>(e.addEventListener("pointerenter",this.mouseMoveListener),e.addEventListener("pointermove",this.mouseMoveListener),e.addEventListener("pointerleave",this.mouseLeaveListener),()=>{e.removeEventListener("pointerenter",this.mouseMoveListener),e.removeEventListener("pointermove",this.mouseMoveListener),e.removeEventListener("pointerleave",this.mouseLeaveListener)}))),this.initCursorAttributes(),this.wrapperRect=e.getBoundingClientRect(),this.startReaction(e)}setMainViewDivElement(e){this.mainViewElement=e}startReaction(e){var t;null==(t=this.manager.refresher)||t.add("cursors",(()=>Ke(this.cursors,(()=>{this.handleRoomMembersChange(e)}))))}get cursors(){var e;return null==(e=this.manager.attributes)?void 0:e[Be.Cursors]}get boxState(){return this.store.getBoxState()}get focusView(){var e;return null==(e=this.appManager.focusApp)?void 0:e.view}updateCursor(e,t,i){if(this.wrapperRect&&this.manager.canOperate){const s="main"===e.type?this.appManager.mainView:this.focusView,a=this.getPoint(s,t,i);a&&(this.setNormalCursorState(),this.store.updateCursor(this.context.uid,c({x:a.x,y:a.y},e)))}}initCursorAttributes(){this.store.updateCursor(this.context.uid,{x:0,y:0,type:"main"}),this.store.updateCursorState(this.context.uid,oe.Leave)}setNormalCursorState(){this.store.getCursorState(this.context.uid)!==oe.Normal&&this.store.updateCursorState(this.context.uid,oe.Normal)}updateContainerRect(){var e,t;this.containerRect=null==(e=Ft.container)?void 0:e.getBoundingClientRect(),this.wrapperRect=null==(t=Ft.wrapper)?void 0:t.getBoundingClientRect()}setRoomMembers(e){this.roomMembers=e,this.cursorInstances.forEach((e=>{e.setMember()})),Ft.wrapper&&this.handleRoomMembersChange(Ft.wrapper)}deleteCursor(e){this.store.cleanCursor(e);const t=this.cursorInstances.get(e);t&&t.destroy()}hideCursor(e){const t=this.cursorInstances.get(e);t&&t.hide()}cleanMemberAttributes(e){const t=this.getUids(e),i=[];Object.keys(this.cursors).map((e=>{-1===t.findIndex((t=>t===e))&&i.push(e)})),i.forEach((e=>{this.deleteCursor(e)}))}onReconnect(){var e;this.cursorInstances.size&&(this.cursorInstances.forEach((e=>e.destroy())),this.cursorInstances.clear()),this.roomMembers=null==(e=this.appManager.room)?void 0:e.state.roomMembers,Ft.wrapper&&this.handleRoomMembersChange(Ft.wrapper)}destroy(){var e;this.sideEffectManager.flushAll(),this.cursorInstances.size&&(this.cursorInstances.forEach((e=>{e.destroy()})),this.cursorInstances.clear()),null==(e=this.manager.refresher)||e.remove("cursors")}}class Zt{constructor(e){this.sdk=new J(d(c({},e),{useMobXState:!0}))}async mount(e){const t=e.joinRoomParams.invisiblePlugins||[],i=await this.sdk.joinRoom(d(c({},e.joinRoomParams),{useMultiViews:!0,invisiblePlugins:[...t,Ft],disableMagixEventDispatchLimit:!0})),s=await Ft.mount(c({room:i},e.mountParams));return D(e.joinRoomParams.disableCameraTransform)&&(s.mainView.disableCameraTransform=e.joinRoomParams.disableCameraTransform),s}}const Qt=window.ResizeObserver||te,Wt=new u,Gt=new u,Yt=class extends K{constructor(e){super(e),this.version="0.4.0-canary.2",this.emitter=Gt,this.viewMode=q.Broadcaster,this.isReplay=Y(this.displayer),Yt.displayer=e.displayer}static async mount(e){const t=e.room;Yt.container=e.container;const i=e.containerSizeRatio,s=e.debug,a=e.cursor;if(Yt.params=e,this.checkVersion(),F(t)&&t.phase!==G.Connected)throw new Error("[WindowManager]: Room only Connected can be mount");if(Yt.isCreated)throw new Error("[WindowManager]: Already created cannot be created again");let r=await this.initManager(t);if(this.debug=Boolean(s),this.debug&&g({verbose:!0}),ke("Already insert room",r),F(this.displayer)){if(!r)throw new Error("[WindowManager]: init InvisiblePlugin failed")}else await m((async e=>{if(r=await this.initManager(t),!r)throw ke(`manager is empty. retrying ${e}`),new Error}),{retries:10});i&&(Yt.containerSizeRatio=i),await r.ensureAttributes(),r.appManager=new $e(r),a&&(r.cursorManager=new Rt(r.appManager)),e.container&&r.bindContainer(e.container),((e,t)=>{if(Y(e)){const t=e,i=t.seekToProgressTime;t.seekToProgressTime=async function(e){const s=await i.call(t,e);return"success"===s&&Wt.emit("seek",e),s}}else{if(Object.getOwnPropertyDescriptor(e,"disableCameraTransform"))return;Object.defineProperty(e,"disableCameraTransform",{get:()=>t.mainView.disableCameraTransform,set(e){t.mainView.disableCameraTransform=e}}),e.moveCamera=e=>t.mainView.moveCamera(e),e.moveCameraToContain=(...e)=>t.moveCameraToContain(...e),e.convertToPointInWorld=(...e)=>t.mainView.convertToPointInWorld(...e),e.setCameraBound=(...e)=>t.mainView.setCameraBound(...e),e.scenePreview=(...e)=>t.mainView.scenePreview(...e),e.fillSceneSnapshot=(...e)=>t.mainView.fillSceneSnapshot(...e),e.generateScreenshot=(...e)=>t.mainView.generateScreenshot(...e)}})(t,r),Wt.emit("onCreated"),Yt.isCreated=!0;try{await ue()}catch(n){console.warn("[WindowManager]: indexedDB open failed"),console.log(n)}return r}static async initManager(e){let t=e.getInvisiblePlugin(Yt.kind);if(!t&&F(e))if(!1===e.isWritable){try{await e.setWritable(!0)}catch(i){throw new Error("[WindowManger]: room must be switched to be writable")}t=await e.createInvisiblePlugin(Yt,{}),t.ensureAttributes(),await Se(500),await e.setWritable(!1)}else t=await e.createInvisiblePlugin(Yt,{});return t}static initContainer(e,t,i,s){Yt.container||(Yt.container=t);const{playground:a,wrapper:r,sizer:n,mainViewElement:o}=(e=>{const t=document.createElement("div");t.className="netless-window-manager-playground";const i=document.createElement("div");i.className="netless-window-manager-sizer";const s=document.createElement("div");s.className="netless-window-manager-wrapper";const a=document.createElement("div");return a.className="netless-window-manager-main-view",t.appendChild(i),i.appendChild(s),s.appendChild(a),e.appendChild(t),Ft.wrapper=s,{playground:t,wrapper:s,sizer:i,mainViewElement:a}})(t);if(Yt.playground=a,i&&n.classList.add("netless-window-manager-chess-sizer"),s){const e=document.createElement("style");e.textContent=s,a.appendChild(e)}return e.observePlaygroundSize(a,n,r),Yt.wrapper=r,o}bindContainer(e){var t,i,s,a,r,n,o,h,c,d;if(Yt.isCreated&&Yt.container)Yt.container.firstChild&&e.appendChild(Yt.container.firstChild);else if(Yt.params){const s=Yt.params,a=Yt.initContainer(this,e,s.chessboard,s.overwriteStyles),r=(o=this,h=Gt,c=Wt,d={collectorContainer:s.collectorContainer,collectorStyles:s.collectorStyles,prefersColorScheme:s.prefersColorScheme},new _e({safeSetAttributes:e=>o.safeSetAttributes(e),getMainView:()=>o.mainView,updateAppState:(...e)=>{var t;return null==(t=o.appManager)?void 0:t.store.updateAppState(...e)},canOperate:()=>o.canOperate,notifyContainerRectUpdate:e=>{var t;return null==(t=o.appManager)?void 0:t.notifyContainerRectUpdate(e)},cleanFocus:()=>{var e;return null==(e=o.appManager)?void 0:e.store.cleanFocus()},callbacks:h,emitter:c},d));this.boxManager=r,null==(t=this.appManager)||t.setBoxManager(r),this.bindMainView(a,s.disableCameraTransform),Yt.wrapper&&(null==(i=this.cursorManager)||i.setupWrapper(Yt.wrapper))}null==(s=this.boxManager)||s.updateManagerRect(),null==(a=this.appManager)||a.refresh(),null==(r=this.appManager)||r.resetMaximized(),null==(n=this.appManager)||n.resetMinimized(),Yt.container=e}bindCollectorContainer(e){var t;Yt.isCreated?null==(t=this.boxManager)||t.setCollectorContainer(e):Yt.params&&(Yt.params.collectorContainer=e)}static register(e){return Ae.register(e)}async addApp(e){var t,i,s,a;if(this.appManager){if(!e.kind||"string"!=typeof e.kind)throw new je;const r=await(null==(t=Ae.appClasses.get(e.kind))?void 0:t());if(r&&(null==(i=r.config)?void 0:i.singleton)&&this.appManager.appProxies.has(e.kind))throw new De;const n=this.setupScenePath(e,this.appManager);if(void 0===n)return;(null==(s=null==e?void 0:e.options)?void 0:s.scenePath)&&(e.options.scenePath=(a=e.options.scenePath).endsWith("/")?a.slice(0,-1):a);return await this.appManager.addApp(e,Boolean(n))}throw new Te}setupScenePath(e,t){var i,s,a;let r=!1;if(e.options){const{scenePath:n,scenes:o}=e.options;if(n){if(!(e=>e.startsWith("/"))(n))throw new Ee;const e=Object.keys(this.apps||{});for(const i of e){const e=t.store.getAppScenePath(i);if(e&&e===n)return void console.warn(`[WindowManager]: ScenePath ${n} Already opened`)}}n&&o&&o.length>0&&(this.isDynamicPPT(o)?(r=!0,this.displayer.entireScenes()[n]||null==(i=this.room)||i.putScenes(n,o)):this.displayer.entireScenes()[n]||null==(s=this.room)||s.putScenes(n,[{name:o[0].name}])),n&&void 0===o&&(null==(a=this.room)||a.putScenes(n,[{}]))}return r}async setMainViewScenePath(e){this.appManager&&await this.appManager.setMainViewScenePath(e)}async setMainViewSceneIndex(e){this.appManager&&await this.appManager.setMainViewSceneIndex(e)}getMainViewScenePath(){var e;return null==(e=this.appManager)?void 0:e.store.getMainViewScenePath()}getMainViewSceneIndex(){var e;return null==(e=this.appManager)?void 0:e.store.getMainViewSceneIndex()}setReadonly(e){var t,i,s;(null==(t=this.room)?void 0:t.isWritable)&&(this.readonly=e,null==(s=null==(i=this.appManager)?void 0:i.boxManager)||s.setReadonly(e))}switchMainViewToWriter(){var e;return null==(e=this.appManager)?void 0:e.mainViewProxy.mainViewClickHandler()}onAppDestroy(e,t){((e,t)=>{Wt.once(e).then(t)})(`destroy-${e}`,t)}setViewMode(e){var t,i,s;this.canOperate&&(e===q.Broadcaster&&(null==(t=this.appManager)||t.mainViewProxy.setCameraAndSize(),null==(i=this.appManager)||i.mainViewProxy.start()),e===q.Freedom&&(null==(s=this.appManager)||s.mainViewProxy.stop()),this.viewMode=e)}get mainView(){if(this.appManager)return this.appManager.mainViewProxy.view;throw new Te}get camera(){if(this.appManager)return this.appManager.mainViewProxy.view.camera;throw new Te}get cameraState(){if(this.appManager)return this.appManager.mainViewProxy.cameraState;throw new Te}get apps(){var e;return null==(e=this.appManager)?void 0:e.store.apps()}get boxState(){var e;if(this.appManager)return null==(e=this.appManager.boxManager)?void 0:e.boxState;throw new Te}get darkMode(){var e,t;return Boolean(null==(t=null==(e=this.appManager)?void 0:e.boxManager)?void 0:t.darkMode)}get prefersColorScheme(){var e;if(this.appManager)return null==(e=this.appManager.boxManager)?void 0:e.prefersColorScheme;throw new Te}queryAll(){var e;return Array.from((null==(e=this.appManager)?void 0:e.appProxies.values())||[])}queryOne(e){var t;return null==(t=this.appManager)?void 0:t.appProxies.get(e)}async closeApp(e){var t;return null==(t=this.appManager)?void 0:t.closeApp(e)}moveCamera(e){this.mainView.moveCamera(e)}moveCameraToContain(t){var i;this.mainView.moveCameraToContain(t),null==(i=this.appManager)||i.dispatchInternalEvent(e.MoveCameraToContain,t),setTimeout((()=>{var e;null==(e=this.appManager)||e.mainViewProxy.setCameraAndSize()}),1e3)}convertToPointInWorld(e){return this.mainView.convertToPointInWorld(e)}setCameraBound(e){this.mainView.setCameraBound(e)}onDestroy(){this._destroy()}destroy(){this._destroy()}_destroy(){var e,t,i,s;null==(e=this.containerResizeObserver)||e.disconnect(),null==(t=this.appManager)||t.destroy(),null==(i=this.cursorManager)||i.destroy(),Yt.container=void 0,Yt.wrapper=void 0,Yt.isCreated=!1,Yt.playground&&(null==(s=Yt.playground.parentNode)||s.removeChild(Yt.playground)),Yt.params=void 0,ke("Destroyed")}bindMainView(e,t){var i;this.appManager&&(this.appManager.bindMainView(e,Boolean(t)),null==(i=this.cursorManager)||i.setMainViewDivElement(e))}get canOperate(){return!!F(this.displayer)&&(this.displayer.isWritable&&this.displayer.phase===G.Connected)}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;null==(i=null==(t=this.appManager)?void 0:t.boxManager)||i.setPrefersColorScheme(e)}isDynamicPPT(e){var t,i;const s=null==(i=null==(t=e[0])?void 0:t.ppt)?void 0:i.src;return null==s?void 0:s.startsWith("pptx://")}static checkVersion(){if(ve($)<ve("2.13.16"))throw new fe("2.13.16")}async ensureAttributes(){if(T(this.attributes)&&await Se(50),f(this.attributes)){this.attributes[Be.Apps]||this.safeSetAttributes({[Be.Apps]:{}}),this.attributes[Be.Cursors]||this.safeSetAttributes({[Be.Cursors]:{}});const e=this.displayer.state.sceneState;this.attributes._mainScenePath||this.safeSetAttributes({_mainScenePath:e.scenePath}),this.attributes._mainSceneIndex||this.safeSetAttributes({_mainSceneIndex:e.index})}}observePlaygroundSize(e,t,i){this.updateSizer(e.getBoundingClientRect(),t,i),this.containerResizeObserver=new Qt((e=>{var s,a,r;const n=null==(s=e[0])?void 0:s.contentRect;n&&(this.updateSizer(n,t,i),null==(a=this.cursorManager)||a.updateContainerRect(),null==(r=this.boxManager)||r.updateManagerRect(),Wt.emit("playgroundSizeChange",n))})),this.containerResizeObserver.observe(e)}updateSizer({width:e,height:t},i,s){e&&t&&(t/e>Yt.containerSizeRatio?(t=e*Yt.containerSizeRatio,i.classList.toggle("netless-window-manager-sizer-horizontal",!0)):(e=t/Yt.containerSizeRatio,i.classList.toggle("netless-window-manager-sizer-horizontal",!1)),s.style.width=`${e}px`,s.style.height=`${t}px`)}};let Ft=Yt;Ft.kind="WindowManager",Ft.debug=!1,Ft.containerSizeRatio=9/16,Ft.isCreated=!1,Ft.register({kind:l.kind,src:l}),Ft.register({kind:p.kind,src:p});const Ht={DocsViewer:l.kind,MediaPlayer:p.kind};export{Ht as BuiltinApps,Zt as WhiteWindowSDK,Ft as WindowManager,Gt as callbacks,Wt as emitter};
|
1
|
+
var e,t,n=Object.defineProperty,i=Object.defineProperties,r=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,l=(e,t,i)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,c=(e,t)=>{for(var n in t||(t={}))a.call(t,n)&&l(e,n,t[n]);if(s)for(var n of s(t))o.call(t,n)&&l(e,n,t[n]);return e},u=(e,t)=>i(e,r(t));import d from"emittery";import h from"p-retry";import{ResizeObserver as p}from"@juggle/resize-observer";import{debounce as f,isObject as g,has as m,get as v,size as b,mapValues as w,noop as y,pick as x,isEqual as M,isEmpty as C,isInteger as S,sortBy as I,omit as E,throttle as A,isFunction as T,isNull as k}from"lodash";import{ScenePathType as N,UpdateEventKind as P,listenUpdated as z,unlistenUpdated as D,reaction as L,autorun as B,toJS as j,listenDisposed as _,unlistenDisposed as O,AnimationMode as V,isPlayer as R,isRoom as U,ApplianceNames as W,RoomPhase as H,InvisiblePlugin as $,ViewMode as Q,WhiteVersion as F}from"white-web-sdk";import{genUID as Z,SideEffectManager as Y}from"side-effect-manager";import{v4 as G}from"uuid";import X from"video.js";(t=e||(e={})).AppMove="AppMove",t.AppFocus="AppFocus",t.AppResize="AppResize",t.AppBoxStateChange="AppBoxStateChange",t.GetAttributes="GetAttributes",t.UpdateWindowManagerWrapper="UpdateWindowManagerWrapper",t.InitReplay="InitReplay",t.WindowCreated="WindowCreated",t.SetMainViewScenePath="SetMainViewScenePath",t.SetMainViewSceneIndex="SetMainViewSceneIndex",t.SwitchViewsToFreedom="SwitchViewsToFreedom",t.MoveCameraToContain="MoveCameraToContain",t.CursorMove="CursorMove";var J,K,q,ee,te,ne,ie;(K=J||(J={})).Size="size",K.Position="position",K.SceneIndex="SceneIndex",K.ZIndex="zIndex",(ee=q||(q={})).setBoxSize="setBoxSize",ee.setBoxMinSize="setBoxMinSize",ee.destroy="destroy",(te||(te={})).StartCreate="StartCreate",(ie=ne||(ne={})).Leave="leave",ie.Normal="normal";const re=340/720,se=340/720;let ae,oe;const le=async()=>{ae=await new Promise(((e,t)=>{const n=indexedDB.open("__WindowManagerAppCache",2);n.onerror=e=>{t(e)},n.onupgradeneeded=e=>{const t=e.target.result;t.objectStoreNames.contains("apps")||(oe=t.createObjectStore("apps",{keyPath:"kind"}),oe.createIndex("kind","kind",{unique:!0}))},n.onsuccess=()=>{const t=n.result;e(t)}}))},ce=(e,t)=>{var n,i;if(ae)return n=ae,i={kind:e,sourceCode:t},new Promise(((e,t)=>{const r=n.transaction(["apps"],"readwrite").objectStore("apps").add(i);r.onsuccess=()=>e(),r.onerror=()=>t()}))},ue=async e=>{return ae?await(t=ae,n=e,new Promise(((e,i)=>{const r=t.transaction(["apps"]).objectStore("apps").index("kind").get(n);r.onerror=e=>i(e),r.onsuccess=()=>{r.result?e(r.result):e(null)}}))):null;var t,n};const de=async e=>{const t=await ue(e);if(t)return t.sourceCode;{const t=await async function(e,t){const{timeout:n=1e4}=t,i=new AbortController,r=setTimeout((()=>i.abort()),n),s=await fetch(e,u(c({},t),{signal:i.signal,headers:{"content-type":"text/plain"}}));return clearTimeout(r),s}(e,{timeout:1e4}),n=await t.text();return await ce(e,n),n}},he=(e,t)=>{let n=Function(e+`;return ${t}`)();return void 0===n&&(n=window[t]),n};const pe=new class{constructor(){this.kindEmitters=new Map,this.registered=new Map,this.appClassesCache=new Map,this.appClasses=new Map}async register(e){this.registered.set(e.kind,e);const t=e.src;let n;if(n="string"==typeof t?async()=>{let n=await(async(e,t,n)=>{const i=n||"NetlessApp"+t,r=await de(e);try{return he(r,i)}catch(s){if(s.message.includes("Can only have one anonymous define call per script file")){const e=window.define;return"function"==typeof e&&e.amd&&delete e.amd,he(r,i)}}})(t,e.kind);if(n)return n.__esModule&&(n=n.default),n;throw new Error(`[WindowManager]: load remote script failed, ${t}`)}:"function"==typeof t?t:async()=>t,this.appClasses.set(e.kind,(async()=>{let t=this.appClassesCache.get(e.kind);return t||(t=n(),this.appClassesCache.set(e.kind,t)),t})),e.addHooks){const t=this.createKindEmitter(e.kind);t&&e.addHooks(t)}}async notifyApp(e,t,n){const i=this.kindEmitters.get(e);await(null==i?void 0:i.emit(t,n))}createKindEmitter(e){if(!this.kindEmitters.has(e)){const t=new d;this.kindEmitters.set(e,t)}return this.kindEmitters.get(e)}},fe=(e,t)=>{if(e.focusScenePath!==t)return e.focusScenePath=t,e},ge=(e,t)=>{e&&e.isWritable&&e.state.sceneState.scenePath!==t&&e.setScenePath(t)};f(((e,t)=>{e.emit("mainViewModeChange",t)}),200);const me=(e,t,n=0)=>{const i=ve(e)[t];if(!i)return;const r=i[n];if(!r)return;const s=r.name;return"/"===t?`/${s}`:`${t}/${s}`},ve=e=>e.entireScenes(),be=e=>{const t=e.split("/");t.pop();let n=t.join("/");return""===n&&(n="/"),n},we=e=>{const t=e.split(".").map((e=>e.padStart(2,"0"))).join("");return parseInt(t)},ye=e=>new Promise((t=>setTimeout(t,e)));class xe{constructor(t){this.manager=t,this.displayer=this.manager.displayer,this.mainMagixEventListener=t=>{if(t.authorId!==this.displayer.observerId){const n=t.payload;switch(n.eventName){case e.AppMove:this.appMoveHandler(n.payload);break;case e.AppResize:this.appResizeHandler(n.payload);break;case e.AppBoxStateChange:this.boxStateChangeHandler(n.payload);break;case e.SetMainViewScenePath:this.setMainViewScenePathHandler(n.payload);break;case e.MoveCameraToContain:this.moveCameraToContainHandler(n.payload);break;case e.CursorMove:this.cursorMoveHandler(n.payload)}}},this.appMoveHandler=e=>{var t;null==(t=this.boxManager)||t.moveBox(e)},this.appResizeHandler=e=>{var t,n;null==(t=this.boxManager)||t.resizeBox(Object.assign(e,{skipUpdate:!0})),null==(n=this.manager.room)||n.refreshViewSize()},this.boxStateChangeHandler=e=>{Bv.emit("boxStateChange",e)},this.setMainViewScenePathHandler=({nextScenePath:e})=>{fe(this.manager.mainView,e),Bv.emit("mainViewScenePathChange",e)},this.moveCameraToContainHandler=e=>{this.manager.mainView.moveCameraToContain(e)},this.cursorMoveHandler=e=>{Lv.emit("cursorMove",e)}}get boxManager(){return this.manager.boxManager}addListeners(){this.displayer.addMagixEventListener("__WindowManger",this.mainMagixEventListener)}removeListeners(){this.displayer.removeMagixEventListener("__WindowManger",this.mainMagixEventListener)}}class Me extends Error{constructor(){super(...arguments),this.message="[WindowManager]: app duplicate exists and cannot be created again"}}class Ce extends Error{constructor(){super(...arguments),this.message="[WindowManager]: AppManager must be initialized"}}class Se extends Error{constructor(e){super(`[WindowManager]: white-web-sdk version must large than ${e}`)}}class Ie extends Error{constructor(){super(...arguments),this.message="[WindowManager]: kind must be a valid string"}}class Ee extends Error{constructor(){super(...arguments),this.message="[WindowManager]: box need created"}}class Ae extends Error{constructor(){super(...arguments),this.message='[WindowManager]: ScenePath should start with "/"'}}class Te extends Error{constructor(){super(...arguments),this.message="[WindowManager]: boxManager not found"}}const ke=e=>(t,n)=>{if(void 0!==t){if(z){const i=t=>{t.map((e=>e.kind)).includes(e)&&n()};return z(t,i),n(),()=>D(t,i)}return L((()=>t),(()=>{n()}),{fireImmediately:!0})}},Ne=(e,t,n)=>{let i=null;const r=L(e,(()=>{i&&(i(),i=null);const r=e();g(r)?(i=()=>D(r,t),z(r,t)):null==n||n(r)}),{fireImmediately:!0});return()=>{null==i||i(),r()}},Pe=ke(P.Removed);ke(P.Inserted);const ze=Object.keys;function De(e){return Boolean(m(e,"__isRef"))}class Le{constructor(){this.listeners=new Set}get length(){return this.listeners.size}dispatch(e){this.listeners.forEach((t=>t(e)))}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}}const Be="_WM-STORAGE_";class je{constructor(e,t,n){if(this._sideEffect=new Y,this._destroyed=!1,this._refMap=new WeakMap,this._lastValue=new Map,this.onStateChanged=new Le,n&&!g(n))throw new Error(`Default state for Storage ${t} is not an object.`);this._context=e,this.id=t||null,this._state={};const i=this._getRawState(this._state);null!==this.id&&this._context.getIsWritable()&&(i!==this._state&&g(i)||(v(this._context.getAttributes(),[Be])||this._context.updateAttributes([Be],{}),this._context.updateAttributes([Be,this.id],this._state)),n&&this.setState(n)),ze(i).forEach((e=>{if(null!==this.id||e!==Be)try{const t=g(i[e])?JSON.parse(JSON.stringify(i[e])):i[e];De(t)?(this._state[e]=t.v,g(t.v)&&this._refMap.set(t.v,t)):this._state[e]=t}catch(Vv){console.error(Vv)}})),this._sideEffect.addDisposer(Ne((()=>null===this.id?e.getAttributes():v(e.getAttributes(),[Be,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(e){return this.onStateChanged.addListener(e),()=>this.onStateChanged.removeListener(e)}ensureState(e){return this.setState(ze(e).reduce(((t,n)=>(m(this._state,n)||(t[n]=e[n]),t)),{}))}setState(e){if(this._destroyed)return void console.error(new Error(`Cannot call setState on destroyed Storage "${this.id}".`));if(!this._context.getIsWritable())return void console.error(new Error(`Cannot setState on Storage "${this.id}" without writable access`),e);const t=ze(e);t.length>0&&t.forEach((t=>{const n=e[t];var i;if(n!==this._state[t])if(void 0===n)this._lastValue.set(t,this._state[t]),delete this._state[t],this._setRawState(t,n);else{this._lastValue.set(t,this._state[t]),this._state[t]=n;let e=n;if(g(n)){let t=this._refMap.get(n);t||(i=n,t={k:Z(),v:i,__isRef:!0},this._refMap.set(n,t)),e=t}this._setRawState(t,e)}}))}emptyStorage(){b(this._state)<=0||(this._destroyed?console.error(new Error(`Cannot empty destroyed Storage "${this.id}".`)):this._context.getIsWritable()?this.setState(w(this._state,y)):console.error(new Error(`Cannot empty Storage "${this.id}" without writable access.`)))}deleteStorage(){if(null===this.id)throw new Error("Cannot delete main Storage");this._context.getIsWritable()?(this.destroy(),this._context.updateAttributes([Be,this.id],void 0)):console.error(new Error(`Cannot delete Storage "${this.id}" without writable access.`))}get destroyed(){return this._destroyed}destroy(){this._destroyed=!0,this._sideEffect.flushAll()}_getRawState(e){return null===this.id?v(this._context.getAttributes(),[],e):v(this._context.getAttributes(),[Be,this.id],e)}_setRawState(e,t){if(null===this.id){if(e===Be)throw new Error('Cannot set attribute internal filed "_WM-STORAGE_"');return this._context.updateAttributes([e],t)}return this._context.updateAttributes([Be,this.id,e],t)}_updateProperties(e){var t;if(this._destroyed)console.error(new Error(`Cannot call _updateProperties on destroyed Storage "${this.id}".`));else if(e.length>0){const n={};for(let i=0;i<e.length;i++)try{const r=e[i],s=r.key;if(null===this.id&&s===Be)continue;const a=g(r.value)?JSON.parse(JSON.stringify(r.value)):r.value;let o;switch(this._lastValue.has(s)&&(o=this._lastValue.get(s),this._lastValue.delete(s)),r.kind){case 2:m(this._state,s)&&(o=this._state[s],delete this._state[s]),n[s]={oldValue:o};break;default:{let e=a;if(De(a)){const{k:n,v:i}=a,r=this._state[s];g(r)&&(null==(t=this._refMap.get(r))?void 0:t.k)===n?e=r:(e=i,g(i)&&this._refMap.set(i,a))}e!==this._state[s]&&(o=this._state[s],this._state[s]=e),n[s]={newValue:e,oldValue:o};break}}}catch(Vv){console.error(Vv)}this.onStateChanged.dispatch(n)}}}class _e{constructor(e,t,n,i,r){this.manager=e,this.boxManager=t,this.appId=n,this.appProxy=i,this.appOptions=r,this.mobxUtils={autorun:B,reaction:L,toJS:j},this.objectUtils={listenUpdated:z,unlistenUpdated:D,listenDisposed:_,unlistenDisposed:O},this.store=this.manager.store,this.isReplay=this.manager.isReplay,this.getDisplayer=()=>this.manager.displayer,this.getAttributes=()=>this.appProxy.attributes,this.getScenes=()=>{const e=this.store.getAppAttributes(this.appId);return(null==e?void 0:e.isDynamicPPT)?this.appProxy.scenes:null==e?void 0:e.options.scenes},this.getView=()=>this.appProxy.view,this.getInitScenePath=()=>this.manager.getAppInitPath(this.appId),this.getIsWritable=()=>this.manager.canOperate,this.getBox=()=>{const e=this.boxManager.getBox(this.appId);if(e)return e;throw new Ee},this.getRoom=()=>this.manager.room,this.setAttributes=e=>{this.manager.safeSetAttributes({[this.appId]:e})},this.updateAttributes=(e,t)=>{this.manager.attributes[this.appId]&&this.manager.safeUpdateAttributes([this.appId,...e],t)},this.setScenePath=async e=>{var t;this.appProxy.box&&(this.appProxy.setFullPath(e),null==(t=this.getRoom())||t.setScenePath(e))},this.mountView=e=>{const t=this.getView();t&&(t.divElement=e,setTimeout((()=>{var e;null==(e=this.getRoom())||e.refreshViewSize()}),1e3))},this.getAppOptions=()=>"function"==typeof this.appOptions?this.appOptions():this.appOptions,this.createStorage=(e,t)=>{const n=new je(this,e,t);return this.emitter.on("destroy",(()=>{n.destroy()})),n},this.dispatchMagixEvent=this.manager.displayer.dispatchMagixEvent.bind(this.manager.displayer),this.addMagixEventListener=(e,t,n)=>(this.manager.displayer.addMagixEventListener(e,t,n),()=>this.manager.displayer.removeMagixEventListener(e,t)),this.removeMagixEventListener=this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer),this.emitter=i.appEmitter,this.isAddApp=i.isAddApp}get storage(){return this._storage||(this._storage=new je(this)),this._storage}}var Oe,Ve;(Ve=Oe||(Oe={})).Apps="apps",Ve.Focus="focus",Ve.State="state",Ve.BoxState="boxState",Ve.MainViewCamera="mainViewCamera",Ve.MainViewSize="mainViewSize",Ve.Broadcaster="broadcaster",Ve.Cursors="cursors",Ve.Position="position",Ve.CursorState="cursorState",Ve.FullPath="fullPath";const Re=new class{constructor(e){this.context=e,this.setAppFocus=(e,t)=>{t?this.context.safeSetAttributes({[Oe.Focus]:e}):this.context.safeSetAttributes({[Oe.Focus]:void 0})}}setContext(e){this.context=e}get attributes(){return this.context.getAttributes()}apps(){return v(this.attributes,[Oe.Apps])}get focus(){return v(this.attributes,[Oe.Focus])}getAppAttributes(e){return v(this.apps(),[e])}getAppState(e){return v(this.apps(),[e,Oe.State])}getMaximized(){return v(this.attributes,["maximized"])}getMinimized(){return v(this.attributes,["minimized"])}setupAppAttributes(e,t,n){this.attributes.apps||this.context.safeSetAttributes({apps:{}});const i=["scenePath","title"];n||i.push("scenes");const r=x(e.options,i),s={kind:e.kind,options:r,isDynamicPPT:n};"string"==typeof e.src&&(s.src=e.src),s.createdAt=Date.now(),this.context.safeUpdateAttributes([Oe.Apps,t],s),this.context.safeUpdateAttributes([Oe.Apps,t,Oe.State],{[J.Size]:{},[J.Position]:{},[J.SceneIndex]:0})}updateAppState(e,t,n){v(this.attributes,[Oe.Apps,e,Oe.State])&&this.context.safeUpdateAttributes([Oe.Apps,e,Oe.State,t],n)}cleanAppAttributes(e){this.context.safeUpdateAttributes([Oe.Apps,e],void 0),this.context.safeSetAttributes({[e]:void 0});this.attributes[Oe.Focus]===e&&this.cleanFocus()}cleanFocus(){this.context.safeSetAttributes({[Oe.Focus]:void 0})}getAppSceneIndex(e){var t;return null==(t=this.getAppState(e))?void 0:t[J.SceneIndex]}getAppScenePath(e){var t,n;return null==(n=null==(t=this.getAppAttributes(e))?void 0:t.options)?void 0:n.scenePath}getMainViewScenePath(){return this.attributes._mainScenePath}getMainViewSceneIndex(){return this.attributes._mainSceneIndex}getBoxState(){return this.attributes[Oe.BoxState]}setMainViewScenePath(e){this.context.safeSetAttributes({_mainScenePath:e})}setMainViewSceneIndex(e){this.context.safeSetAttributes({_mainSceneIndex:e})}getMainViewCamera(){return v(this.attributes,[Oe.MainViewCamera])}getMainViewSize(){return v(this.attributes,[Oe.MainViewSize])}setMainViewCamera(e){this.context.safeSetAttributes({[Oe.MainViewCamera]:c({},e)})}setMainViewSize(e){this.context.safeSetAttributes({[Oe.MainViewSize]:c({},e)})}updateCursor(e,t){v(this.attributes,[Oe.Cursors])||this.context.safeUpdateAttributes([Oe.Cursors],{}),v(this.attributes,[Oe.Cursors,e])||this.context.safeUpdateAttributes([Oe.Cursors,e],{}),this.context.safeUpdateAttributes([Oe.Cursors,e,Oe.Position],t)}updateCursorState(e,t){v(this.attributes,[Oe.Cursors,e])||this.context.safeUpdateAttributes([Oe.Cursors,e],{}),this.context.safeUpdateAttributes([Oe.Cursors,e,Oe.CursorState],t)}getCursorState(e){return v(this.attributes,[Oe.Cursors,e,Oe.CursorState])}cleanCursor(e){this.context.safeUpdateAttributes([Oe.Cursors,e],void 0)}setMainViewFocusPath(e){const t=this.getMainViewScenePath();t&&fe(e,t)}}({getAttributes:()=>{throw new Error("getAttributes not implemented")},safeSetAttributes:()=>{throw new Error("safeSetAttributes not implemented")},safeUpdateAttributes:()=>{throw new Error("safeUpdateAttributes not implemented")}}),Ue=(...e)=>{Ov.debug&&console.log("[WindowManager]:",...e)};class We{constructor(e,t,n,i){var r;this.params=e,this.manager=t,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=e=>{var t,n;const i=this.store.getAppState(e);if(!i)return;const r=null==i?void 0:i[J.Position],s=this.store.focus,a=null==i?void 0:i[J.Size],o=null==i?void 0:i[J.SceneIndex];let l={maximized:null==(t=this.attributes)?void 0:t.maximized,minimized:null==(n=this.attributes)?void 0:n.minimized,zIndex:null==i?void 0:i.zIndex};return r&&(l=u(c({},l),{id:e,x:r.x,y:r.y})),s===e&&(l=u(c({},l),{focus:!0})),a&&(l=u(c({},l),{width:a.width,height:a.height})),o&&(l=u(c({},l),{sceneIndex:o})),l},this.appAttributesUpdateListener=e=>{var t,n,i;null==(t=this.manager.refresher)||t.add(e,(()=>B((()=>{const t=this.manager.attributes[e];t&&this.appEmitter.emit("attributesUpdate",t)})))),null==(n=this.manager.refresher)||n.add(this.stateKey,(()=>B((()=>{var t,n,i;const r=null==(t=this.appAttributes)?void 0:t.state;(null==r?void 0:r.zIndex)>0&&r.zIndex!==(null==(n=this.box)?void 0:n.zIndex)&&(null==(i=this.boxManager)||i.setZIndex(e,r.zIndex))})))),null==(i=this.manager.refresher)||i.add(`${e}-fullPath`,(()=>B((()=>{var e;const t=null==(e=this.appAttributes)?void 0:e.fullPath;this.setFocusScenePathHandler(t)}))))},this.setFocusScenePathHandler=f((e=>{var t;this.view&&e&&e!==(null==(t=this.view)?void 0:t.focusScenePath)&&fe(this.view,e)}),50),this.kind=e.kind,this.id=n,this.stateKey=`${this.id}_state`,this.appProxies.set(this.id,this),this.appEmitter=new d,this.appListener=this.makeAppEventListener(this.id),this.isAddApp=i,this.initScenes(),(null==(r=this.params.options)?void 0:r.scenePath)&&this.createView()}initScenes(){var e;const t=this.params.options;t&&(this.scenePath=t.scenePath,(null==(e=this.appAttributes)?void 0:e.isDynamicPPT)&&this.scenePath?this.scenes=this.manager.displayer.entireScenes()[this.scenePath]:this.scenes=t.scenes)}get view(){return this.manager.viewManager.getView(this.id)}get isWritable(){var e;return this.manager.canOperate&&!(null==(e=this.box)?void 0:e.readonly)}get attributes(){return this.manager.attributes[this.id]}get appAttributes(){return this.store.getAppAttributes(this.id)}getFullScenePath(){if(this.scenePath)return v(this.appAttributes,[Oe.FullPath],this.getFullScenePathFromScenes())}getFullScenePathFromScenes(){const e=v(this.appAttributes,["state","SceneIndex"],0),t=((e,t,n)=>{var i;if(e&&t){const r=null==(i=ve(e)[t])?void 0:i[n];if(r)return`${t}/${r.name}`}})(this.manager.room,this.scenePath,e);return t&&this.setFullPath(t),t}setFullPath(e){this.manager.safeUpdateAttributes(["apps",this.id,Oe.FullPath],e)}async baseInsertApp(e=!1){var t,n;const i=this.params;if(!i.kind)throw new Error("[WindowManager]: kind require");const r=await(null==(t=pe.appClasses.get(i.kind))?void 0:t()),s=pe.registered.get(i.kind);if(!r)throw new Error(`[WindowManager]: app load failed ${i.kind} ${i.src}`);return await this.setupApp(this.id,e,r,i.options,null==s?void 0:s.appOptions),null==(n=this.boxManager)||n.updateManagerRect(),{appId:this.id,app:r}}focusApp(){this.focusBox(),this.store.setMainViewFocusPath(this.manager.mainView)}get box(){var e;return null==(e=this.boxManager)?void 0:e.getBox(this.id)}focusBox(){var e;null==(e=this.boxManager)||e.focusBox({appId:this.id})}async setupApp(t,n,i,r,s){var a;if(Ue("setupApp",t,i,r),!this.boxManager)throw new Te;const o=new _e(this.manager,this.boxManager,t,this,s);this.appContext=o;try{Lv.once(`${t}${e.WindowCreated}`).then((async()=>{var e;let r;n||(r=this.getAppInitState(t),null==(e=this.boxManager)||e.updateBoxState(r)),this.appEmitter.onAny(this.appListener),this.appAttributesUpdateListener(t),this.setViewFocusScenePath(),setTimeout((async()=>{const e=await i.setup(o);this.appResult=e,pe.notifyApp(i.kind,"created",{appId:t,result:e}),this.afterSetupApp(r),this.fixMobileSize()}),50)})),null==(a=this.boxManager)||a.createBox({appId:t,app:i,options:r,canOperate:this.manager.canOperate,smartPosition:this.isAddApp}),this.isAddApp&&this.box&&(this.store.updateAppState(t,J.ZIndex,this.box.zIndex),this.store.setAppFocus(t,!0),this.focusBox())}catch(l){throw console.error(l),new Error(`[WindowManager]: app setup error: ${l.message}`)}}fixMobileSize(){var e,t;const n=null==(e=this.boxManager)?void 0:e.getBox(this.id);n&&(null==(t=this.boxManager)||t.resizeBox({appId:this.id,width:n.intrinsicWidth+.001,height:n.intrinsicHeight+.001,skipUpdate:!0}))}afterSetupApp(e){var t;e&&((null==e?void 0:e.x)&&e.y||null==(t=this.boxManager)||t.setBoxInitState(this.id))}onSeek(e){var t;this.appEmitter.emit("seek",e);const n=this.getAppInitState(this.id);null==(t=this.boxManager)||t.updateBoxState(n)}async onReconnected(){var e;this.appEmitter.emit("reconnected",void 0);const t=this.getAppInitState(this.id);await this.destroy(!0,!1,!0);const n=this.params,i=new We(n,this.manager,this.id,this.isAddApp);await i.baseInsertApp(!0),null==(e=this.boxManager)||e.updateBoxState(t)}emitAppSceneStateChange(e){this.appEmitter.emit("sceneStateChange",e)}emitAppIsWritableChange(){this.appEmitter.emit("writableChange",this.isWritable)}makeAppEventListener(e){return(t,n)=>{var i,r,s,a;if(this.manager.canOperate)switch(t){case"setBoxSize":null==(i=this.boxManager)||i.resizeBox({appId:e,width:n.width,height:n.height,skipUpdate:!1});break;case"setBoxMinSize":null==(r=this.boxManager)||r.setBoxMinSize({appId:e,minWidth:n.minwidth,minHeight:n.minheight});break;case"setBoxTitle":null==(s=this.boxManager)||s.setBoxTitle({appId:e,title:n.title});break;case q.destroy:if("destroyed"===this.status)return;this.destroy(!0,!1,!0,null==n?void 0:n.error),(null==n?void 0:n.error)&&console.error(null==n?void 0:n.error);break;case"focus":null==(a=this.boxManager)||a.focusBox({appId:this.id}),Lv.emit("focus",{appId:this.id})}}}setScenePath(){if(!this.manager.canOperate)return;const e=this.getFullScenePath();this.manager.room&&e&&this.view&&ge(this.manager.room,e)}setViewFocusScenePath(){const e=this.getFullScenePath();e&&this.view&&fe(this.view,e)}async createView(){const e=await this.viewManager.createView(this.id);return this.setViewFocusScenePath(),e}async destroy(e,t,n,i){var r,s,a,o,l,c;"destroyed"!==this.status&&(this.status="destroyed",await pe.notifyApp(this.kind,"destroy",{appId:this.id}),await this.appEmitter.emit("destroy",{error:i}),this.appEmitter.clearListeners(),Lv.emit(`destroy-${this.id}`,{error:i}),e&&(null==(r=this.boxManager)||r.closeBox(this.id,n)),t&&(this.store.cleanAppAttributes(this.id),this.scenePath&&(l=this.manager.room,c=this.scenePath,l&&l.scenePathType(c)!==N.None&&l.removeScenes(c))),this.appProxies.delete(this.id),this.viewManager.destroyView(this.id),this.manager.appStatus.delete(this.id),null==(s=this.manager.refresher)||s.remove(this.id),null==(a=this.manager.refresher)||a.remove(this.stateKey),null==(o=this.manager.refresher)||o.remove(`${this.id}-fullPath`))}close(){return this.destroy(!0,!0,!1)}}class He{constructor(e){this.displayer=e,this.views=new Map}createView(e){const t=$e(this.displayer);return this.views.set(e,t),t}getView(e){return this.views.get(e)}destroyView(e){const t=this.views.get(e);t&&(t.release(),this.views.delete(e))}setViewScenePath(e,t){const n=this.views.get(e);n&&(n.focusScenePath=t)}destroy(){this.views.forEach((e=>{e.release()})),this.views.clear()}}const $e=e=>{const t=e.views.createView();return Qe(t),t},Qe=e=>{e.setCameraBound({maxContentMode:()=>10,minContentMode:()=>.1})};class Fe{constructor(e){this.manager=e,this.started=!1,this.mainViewIsAddListener=!1,this.store=this.manager.store,this.sideEffectManager=new Y,this.cameraReaction=()=>L((()=>this.mainViewCamera),(e=>{e&&e.id!==this.manager.uid&&(this.moveCameraToContian(this.mainViewSize),this.moveCamera(e))}),{fireImmediately:!0}),this.sizeChangeHandler=f((e=>{e&&(this.moveCameraToContian(e),this.moveCamera(this.mainViewCamera))}),30),this.onCameraUpdatedByDevice=e=>{this.store.setMainViewCamera(u(c({},e),{id:this.manager.uid})),M(this.mainViewSize,u(c({},this.mainView.size),{id:this.manager.uid}))||this.setMainViewSize(this.view.size)},this.mainViewClickListener=()=>{this.mainViewClickHandler()},this.setMainViewSize=f((e=>{this.store.setMainViewSize(u(c({},e),{id:this.manager.uid}))}),50),this.onCameraOrSizeUpdated=()=>{Bv.emit("cameraStateChange",this.cameraState)},this.mainView=this.createMainView(),this.moveCameraSizeByAttributes(),Lv.once("mainViewMounted").then((()=>{this.addMainViewListener(),setTimeout((()=>{this.start(),this.mainViewCamera&&this.mainViewSize||this.setCameraAndSize()}),200)}));const t=()=>{this.sizeChangeHandler(this.mainViewSize)};this.sideEffectManager.add((()=>(Lv.on("playgroundSizeChange",t),()=>Lv.off("playgroundSizeChange",t))))}get mainViewCamera(){return this.store.getMainViewCamera()}get mainViewSize(){return this.store.getMainViewSize()}moveCameraSizeByAttributes(){this.moveCameraToContian(this.mainViewSize),this.moveCamera(this.mainViewCamera)}start(){var e;this.started||(this.sizeChangeHandler(this.mainViewSize),this.addCameraListener(),null==(e=this.manager.refresher)||e.add(Oe.MainViewCamera,this.cameraReaction),this.started=!0)}setCameraAndSize(){this.store.setMainViewCamera(u(c({},this.mainView.camera),{id:this.manager.uid})),this.store.setMainViewSize(u(c({},this.mainView.size),{id:this.manager.uid}))}get view(){return this.mainView}get cameraState(){return c(c({},this.view.camera),this.view.size)}createMainView(){const e=$e(this.manager.displayer),t=this.store.getMainViewScenePath();return t&&fe(e,t),e}onReconnect(){const e=this.store.getMainViewScenePath();e&&fe(this.view,e)}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))}async mainViewClickHandler(){var e;this.manager.canOperate&&(this.store.cleanFocus(),null==(e=this.manager.boxManager)||e.blurAllBox())}addCameraListener(){this.view.callbacks.on("onCameraUpdatedByDevice",this.onCameraUpdatedByDevice),this.view.callbacks.on("onCameraUpdated",this.onCameraOrSizeUpdated),this.view.callbacks.on("onSizeUpdated",this.onCameraOrSizeUpdated)}removeCameraListener(){this.view.callbacks.off("onCameraUpdatedByDevice",this.onCameraUpdatedByDevice),this.view.callbacks.off("onCameraUpdated",this.onCameraOrSizeUpdated),this.view.callbacks.off("onSizeUpdated",this.onCameraOrSizeUpdated)}moveCameraToContian(e){C(e)||(this.view.moveCameraToContain({width:e.width,height:e.height,originX:-e.width/2,originY:-e.height/2,animationMode:V.Immediately}),this.scale=this.view.camera.scale)}moveCamera(e){if(!C(e)){if(M(e,this.view.camera))return;const{centerX:t,centerY:n,scale:i}=e,r=i*(this.scale||1);this.view.moveCamera({centerX:t,centerY:n,scale:r,animationMode:V.Immediately})}}stop(){var e,t;this.removeMainViewListener(),this.removeCameraListener(),null==(e=this.manager.refresher)||e.remove(Oe.MainViewCamera),null==(t=this.manager.refresher)||t.remove(Oe.MainViewSize),this.started=!1}destroy(){this.stop(),this.sideEffectManager.flushAll()}}class Ze{constructor(t){this.windowManger=t,this.appProxies=new Map,this.appStatus=new Map,this.store=Re,this.isReplay=this.windowManger.isReplay,this.onAppDelete=e=>{const t=Object.keys(e);this.appProxies.forEach(((e,n)=>{t.includes(n)||e.destroy(!0,!1,!0)}))},this.displayerStateListener=e=>{const t=e.sceneState;if(t){const e=t.scenePath;this.appProxies.forEach((n=>{n.scenePath&&e.startsWith(n.scenePath)&&(n.emitAppSceneStateChange(t),n.setFullPath(e))}))}this.appProxies.forEach((t=>{t.appEmitter.emit("roomStateChange",e)})),Lv.emit("observerIdChange",this.displayer.observerId)},this.displayerWritableListener=e=>{var t,n;const i=!e,r=void 0===this.windowManger.readonly||!1===this.windowManger.readonly;void 0===this.windowManger.readonly?null==(t=this.boxManager)||t.setReadonly(e):null==(n=this.boxManager)||n.setReadonly(!(i&&r)),this.appProxies.forEach((e=>{e.emitAppIsWritableChange()})),!0===i?(this.mainView.disableCameraTransform=!1,this.room&&!0===this.room.disableSerialization&&(this.room.disableSerialization=!1)):this.mainView.disableCameraTransform=!0},this.updateSceneIndex=()=>{const e=this.store.getMainViewScenePath(),t=be(e),n=ve(this.displayer)[t];if(n.length){const i=e.replace(t,"").replace("/",""),r=n.findIndex((e=>e.name===i));S(r)&&r>=0&&this.safeSetAttributes({_mainSceneIndex:r})}},this.boxEventListener=(t,n)=>{switch(t){case"move":this.dispatchInternalEvent(e.AppMove,n),this.store.updateAppState(n.appId,J.Position,{x:n.x,y:n.y});break;case"focus":this.windowManger.safeSetAttributes({focus:n.appId});break;case"resize":n.width&&n.height&&(this.dispatchInternalEvent(e.AppResize,n),this.store.updateAppState(n.appId,J.Size,{width:n.width,height:n.height}));break;case"close":{const e=this.appProxies.get(n.appId);e&&e.destroy(!1,!0,n.error);break}case"boxStateChange":this.dispatchInternalEvent(e.AppBoxStateChange,n)}},this.findMemberByUid=e=>{var t;const n=null==(t=this.room)?void 0:t.state.roomMembers;return null==n?void 0:n.find((t=>{var n;return(null==(n=t.payload)?void 0:n.uid)===e}))},this.displayer=t.displayer,this.store.setContext({getAttributes:()=>this.attributes,safeSetAttributes:e=>this.safeSetAttributes(e),safeUpdateAttributes:(e,t)=>this.safeUpdateAttributes(e,t)}),this.mainViewProxy=new Fe(this),this.viewManager=new He(this.displayer),this.appListeners=new xe(this),this.displayer.callbacks.on(this.eventName,this.displayerStateListener),this.appListeners.addListeners(),this.refresher=jv,this.refresher.setRoom(this.room),this.refresher.setContext({emitter:Lv}),Lv.once("onCreated").then((()=>this.onCreated())),Lv.on("onReconnected",(()=>this.onReconnected())),R(this.displayer)&&Lv.on("seek",(e=>{this.appProxies.forEach((t=>{t.onSeek(e)})),this.attributesUpdateCallback(this.attributes.apps),this.onAppDelete(this.attributes.apps)})),Lv.on("removeScenes",(e=>{if("/"===e)return void this.setMainViewScenePath("/");const t=this.store.getMainViewScenePath();this.room&&t&&t===e&&this.setMainViewScenePath("/")}))}get eventName(){return U(this.displayer)?"onRoomStateChanged":"onPlayerStateChanged"}get attributes(){return this.windowManger.attributes}get canOperate(){return this.windowManger.canOperate}get room(){return U(this.displayer)?this.displayer:void 0}get mainView(){return this.mainViewProxy.view}get focusApp(){if(this.store.focus)return this.appProxies.get(this.store.focus)}get uid(){var e;return(null==(e=this.room)?void 0:e.uid)||""}async onCreated(){var e,t,n,i,r,s,a,o;if(await this.attributesUpdateCallback(this.attributes.apps),null==(e=this.boxManager)||e.updateManagerRect(),Lv.onAny(this.boxEventListener),null==(t=this.refresher)||t.add("apps",(()=>Ne((()=>this.attributes.apps),(()=>{this.attributesUpdateCallback(this.attributes.apps)})))),null==(n=this.refresher)||n.add("appsClose",(()=>Pe(this.attributes.apps,(()=>{this.onAppDelete(this.attributes.apps)})))),null==(i=this.refresher)||i.add("maximized",(()=>B((()=>{var e;const t=this.attributes.maximized;null==(e=this.boxManager)||e.setMaximized(Boolean(t))})))),null==(r=this.refresher)||r.add("minimized",(()=>B((()=>{var e,t;const n=this.attributes.minimized;(null==(e=this.boxManager)?void 0:e.minimized)!==n&&(!0===n&&(null==(t=this.boxManager)||t.blurAllBox()),setTimeout((()=>{var e;null==(e=this.boxManager)||e.setMinimized(Boolean(n))}),0))})))),null==(s=this.refresher)||s.add("mainViewIndex",(()=>B((()=>{const e=v(this.attributes,"_mainSceneIndex");void 0!==e&&this._prevSceneIndex!==e&&(Bv.emit("mainViewSceneIndexChange",e),this._prevSceneIndex=e)})))),null==(a=this.refresher)||a.add("focusedChange",(()=>B((()=>{var e;const t=v(this.attributes,"focus");this._prevFocused!==t&&(null==(e=this.boxManager)||e.focusBox({appId:t}),Bv.emit("focusedChange",t),this._prevFocused=t)})))),!this.attributes.apps||0===Object.keys(this.attributes.apps).length){const e=this.store.getMainViewScenePath();if(!e)return;this.displayer.state.sceneState.scenePath!==e&&ge(this.room,e)}this.displayerWritableListener(!(null==(o=this.room)?void 0:o.isWritable)),this.displayer.callbacks.on("onEnableWriteNowChanged",this.displayerWritableListener),this._prevFocused=this.attributes.focus}async attributesUpdateCallback(e){if(e&&Ov.container){const t=Object.keys(e).map((t=>({id:t,createdAt:e[t].createdAt})));for(const{id:n}of I(t,"createdAt"))if(!this.appProxies.has(n)&&!this.appStatus.has(n)){const t=e[n];h((async()=>{this.appStatus.set(n,te.StartCreate);if(!this.attributes[n])throw new Error("appAttributes is undefined");await this.baseInsertApp({kind:t.kind,options:t.options,isDynamicPPT:t.isDynamicPPT},n,!1),this.focusByAttributes(e)}),{retries:3}).catch((e=>{console.warn("[WindowManager]: Insert App Error",e),this.appStatus.delete(n)}))}}}refresh(){this.attributesUpdateCallback(this.attributes.apps)}setBoxManager(e){this.boxManager=e}resetMaximized(){var e;null==(e=this.boxManager)||e.setMaximized(Boolean(this.store.getMaximized()))}resetMinimized(){var e;null==(e=this.boxManager)||e.setMinimized(Boolean(this.store.getMinimized()))}bindMainView(e,t){const n=this.mainViewProxy.view;n.disableCameraTransform=t,n.divElement=e,n.focusScenePath||this.setMainViewFocusPath(),Lv.emit("mainViewMounted")}setMainViewFocusPath(e){const t=e||this.store.getMainViewScenePath();if(t){const e=fe(this.mainView,t);return(null==e?void 0:e.focusScenePath)===t}}async addApp(e,t){Ue("addApp",e);const{appId:n,needFocus:i}=await this.beforeAddApp(e,t),r=await this.baseInsertApp(e,n,!0,i);return this.afterAddApp(r),null==r?void 0:r.id}async beforeAddApp(e,t){var n,i;const r=await(async e=>{var t,n;const i=await(null==(t=pe.appClasses.get(e))?void 0:t());return i&&(null==(n=i.config)?void 0:n.singleton)?e:`${e}-${G().replace("-","").slice(0,8)}`})(e.kind);this.appStatus.set(r,te.StartCreate);const s=null!=(n=e.attributes)?n:{};this.safeUpdateAttributes([r],s),this.store.setupAppAttributes(e,r,t);const a=!(null==(i=this.boxManager)?void 0:i.minimized);return a&&this.store.setAppFocus(r,!0),{appId:r,needFocus:a}}afterAddApp(e){var t,n;if(e&&e.box){const t=e.box;Lv.emit("move",{appId:e.id,x:null==t?void 0:t.intrinsicX,y:null==t?void 0:t.intrinsicY}),this.store.updateAppState(e.id,J.ZIndex,t.zIndex)}(null==(t=this.boxManager)?void 0:t.minimized)&&(null==(n=this.boxManager)||n.setMinimized(!1,!1))}async closeApp(e){const t=this.appProxies.get(e);t&&t.destroy(!0,!0,!1)}async baseInsertApp(e,t,n,i){if(this.appProxies.has(t))return void console.warn("[WindowManager]: app duplicate exists and cannot be created again");const r=new We(e,this,t,n);if(r)return await r.baseInsertApp(i),this.appStatus.delete(t),r;throw this.appStatus.delete(t),new Error("[WindowManger]: initialize AppProxy failed")}safeSetAttributes(e){this.windowManger.safeSetAttributes(e)}safeUpdateAttributes(e,t){this.windowManger.safeUpdateAttributes(e,t)}async setMainViewScenePath(e){if(this.room){const t=this.displayer.scenePathType(e);if(t===N.None)throw new Error(`[WindowManager]: ${e} not valid scene`);if(t===N.Page)await this._setMainViewScenePath(e);else if(t===N.Dir){const t=me(this.displayer,e);t&&await this._setMainViewScenePath(t)}}}async _setMainViewScenePath(t){this.setMainViewFocusPath(t)&&(this.safeSetAttributes({_mainScenePath:t}),this.store.setMainViewFocusPath(this.mainView),this.updateSceneIndex(),this.dispatchInternalEvent(e.SetMainViewScenePath,{nextScenePath:t}))}async setMainViewSceneIndex(t){if(this.room){if(this.store.getMainViewSceneIndex()===t)return;const n=this.store.getMainViewScenePath();if(n){const i=be(n),r=me(this.displayer,i,t);if(!r)throw new Error(`[WindowManager]: ${i}: ${t} not valid index`);this.setMainViewFocusPath(r)&&(this.store.setMainViewScenePath(r),this.safeSetAttributes({_mainSceneIndex:t}),this.dispatchInternalEvent(e.SetMainViewScenePath,{nextScenePath:r}))}}}getAppInitPath(e){var t;const n=this.store.getAppAttributes(e);if(n)return null==(t=null==n?void 0:n.options)?void 0:t.scenePath}safeDispatchMagixEvent(e,t){this.canOperate&&this.displayer.dispatchMagixEvent(e,t)}focusByAttributes(e){var t;if(e&&Object.keys(e).length===(null==(t=this.boxManager)?void 0:t.boxSize)){const e=this.store.focus;e&&this.boxManager.focusBox({appId:e})}}async onReconnected(){const e=Array.from(this.appProxies.values()).map((e=>e.onReconnected()));this.mainViewProxy.onReconnect(),await Promise.all(e)}notifyContainerRectUpdate(e){this.appProxies.forEach((t=>{t.appEmitter.emit("containerRectUpdate",e)}))}dispatchInternalEvent(e,t){this.safeDispatchMagixEvent("__WindowManger",{eventName:e,payload:t})}destroy(){var e,t;this.displayer.callbacks.off(this.eventName,this.displayerStateListener),this.displayer.callbacks.off("onEnableWriteNowChanged",this.displayerWritableListener),this.appListeners.removeListeners(),Lv.offAny(this.boxEventListener),Lv.clearListeners(),this.appProxies.size&&this.appProxies.forEach((e=>{e.destroy(!0,!1,!0)})),this.viewManager.destroy(),null==(e=this.boxManager)||e.destroy(),null==(t=this.refresher)||t.destroy(),this.mainViewProxy.destroy(),Bv.clearListeners(),this._prevSceneIndex=void 0}}const Ye=window.ResizeObserver||p;class Ge{constructor(e){this.emitter=e}static create(e,t,n,i){const r=new Ge(i);return r.observePlaygroundSize(e,t,n),r}observePlaygroundSize(e,t,n){this.updateSizer(e.getBoundingClientRect(),t,n),this.containerResizeObserver=new Ye((e=>{var i;const r=null==(i=e[0])?void 0:i.contentRect;r&&(this.updateSizer(r,t,n),this.emitter.emit("playgroundSizeChange",r))})),this.containerResizeObserver.observe(e)}updateSizer({width:e,height:t},n,i){e&&t&&(t/e>Ov.containerSizeRatio?(t=e*Ov.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!0)):(e=t/Ov.containerSizeRatio,n.classList.toggle("netless-window-manager-sizer-horizontal",!1)),i.style.width=`${e}px`,i.style.height=`${t}px`)}disconnect(){var e;null==(e=this.containerResizeObserver)||e.disconnect()}}var Xe={exports:{}},Je={},Ke=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable;function tt(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var nt=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(r){return!1}}()?Object.assign:function(e,t){for(var n,i,r=tt(e),s=1;s<arguments.length;s++){for(var a in n=Object(arguments[s]))qe.call(n,a)&&(r[a]=n[a]);if(Ke){i=Ke(n);for(var o=0;o<i.length;o++)et.call(n,i[o])&&(r[i[o]]=n[i[o]])}}return r},it=nt,rt="function"==typeof Symbol&&Symbol.for,st=rt?Symbol.for("react.element"):60103,at=rt?Symbol.for("react.portal"):60106,ot=rt?Symbol.for("react.fragment"):60107,lt=rt?Symbol.for("react.strict_mode"):60108,ct=rt?Symbol.for("react.profiler"):60114,ut=rt?Symbol.for("react.provider"):60109,dt=rt?Symbol.for("react.context"):60110,ht=rt?Symbol.for("react.forward_ref"):60112,pt=rt?Symbol.for("react.suspense"):60113,ft=rt?Symbol.for("react.memo"):60115,gt=rt?Symbol.for("react.lazy"):60116,mt="function"==typeof Symbol&&Symbol.iterator;
|
2
|
+
/** @license React v16.14.0
|
3
|
+
* react.production.min.js
|
4
|
+
*
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/function vt(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var bt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},wt={};function yt(e,t,n){this.props=e,this.context=t,this.refs=wt,this.updater=n||bt}function xt(){}function Mt(e,t,n){this.props=e,this.context=t,this.refs=wt,this.updater=n||bt}yt.prototype.isReactComponent={},yt.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(vt(85));this.updater.enqueueSetState(this,e,t,"setState")},yt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},xt.prototype=yt.prototype;var Ct=Mt.prototype=new xt;Ct.constructor=Mt,it(Ct,yt.prototype),Ct.isPureReactComponent=!0;var St={current:null},It=Object.prototype.hasOwnProperty,Et={key:!0,ref:!0,__self:!0,__source:!0};function At(e,t,n){var i,r={},s=null,a=null;if(null!=t)for(i in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(s=""+t.key),t)It.call(t,i)&&!Et.hasOwnProperty(i)&&(r[i]=t[i]);var o=arguments.length-2;if(1===o)r.children=n;else if(1<o){for(var l=Array(o),c=0;c<o;c++)l[c]=arguments[c+2];r.children=l}if(e&&e.defaultProps)for(i in o=e.defaultProps)void 0===r[i]&&(r[i]=o[i]);return{$$typeof:st,type:e,key:s,ref:a,props:r,_owner:St.current}}function Tt(e){return"object"==typeof e&&null!==e&&e.$$typeof===st}var kt=/\/+/g,Nt=[];function Pt(e,t,n,i){if(Nt.length){var r=Nt.pop();return r.result=e,r.keyPrefix=t,r.func=n,r.context=i,r.count=0,r}return{result:e,keyPrefix:t,func:n,context:i,count:0}}function zt(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>Nt.length&&Nt.push(e)}function Dt(e,t,n,i){var r=typeof e;"undefined"!==r&&"boolean"!==r||(e=null);var s=!1;if(null===e)s=!0;else switch(r){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case st:case at:s=!0}}if(s)return n(i,e,""===t?"."+Bt(e,0):t),1;if(s=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;a<e.length;a++){var o=t+Bt(r=e[a],a);s+=Dt(r,o,n,i)}else if(null===e||"object"!=typeof e?o=null:o="function"==typeof(o=mt&&e[mt]||e["@@iterator"])?o:null,"function"==typeof o)for(e=o.call(e),a=0;!(r=e.next()).done;)s+=Dt(r=r.value,o=t+Bt(r,a++),n,i);else if("object"===r)throw n=""+e,Error(vt(31,"[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n,""));return s}function Lt(e,t,n){return null==e?0:Dt(e,"",t,n)}function Bt(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function jt(e,t){e.func.call(e.context,t,e.count++)}function _t(e,t,n){var i=e.result,r=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?Ot(e,i,n,(function(e){return e})):null!=e&&(Tt(e)&&(e=function(e,t){return{$$typeof:st,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,r+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(kt,"$&/")+"/")+n)),i.push(e))}function Ot(e,t,n,i,r){var s="";null!=n&&(s=(""+n).replace(kt,"$&/")+"/"),Lt(e,_t,t=Pt(t,s,i,r)),zt(t)}var Vt={current:null};function Rt(){var e=Vt.current;if(null===e)throw Error(vt(321));return e}var Ut={ReactCurrentDispatcher:Vt,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:St,IsSomeRendererActing:{current:!1},assign:it};Je.Children={map:function(e,t,n){if(null==e)return e;var i=[];return Ot(e,i,null,t,n),i},forEach:function(e,t,n){if(null==e)return e;Lt(e,jt,t=Pt(null,null,t,n)),zt(t)},count:function(e){return Lt(e,(function(){return null}),null)},toArray:function(e){var t=[];return Ot(e,t,null,(function(e){return e})),t},only:function(e){if(!Tt(e))throw Error(vt(143));return e}},Je.Component=yt,Je.Fragment=ot,Je.Profiler=ct,Je.PureComponent=Mt,Je.StrictMode=lt,Je.Suspense=pt,Je.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ut,Je.cloneElement=function(e,t,n){if(null==e)throw Error(vt(267,e));var i=it({},e.props),r=e.key,s=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,a=St.current),void 0!==t.key&&(r=""+t.key),e.type&&e.type.defaultProps)var o=e.type.defaultProps;for(l in t)It.call(t,l)&&!Et.hasOwnProperty(l)&&(i[l]=void 0===t[l]&&void 0!==o?o[l]:t[l])}var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){o=Array(l);for(var c=0;c<l;c++)o[c]=arguments[c+2];i.children=o}return{$$typeof:st,type:e.type,key:r,ref:s,props:i,_owner:a}},Je.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:dt,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:ut,_context:e},e.Consumer=e},Je.createElement=At,Je.createFactory=function(e){var t=At.bind(null,e);return t.type=e,t},Je.createRef=function(){return{current:null}},Je.forwardRef=function(e){return{$$typeof:ht,render:e}},Je.isValidElement=Tt,Je.lazy=function(e){return{$$typeof:gt,_ctor:e,_status:-1,_result:null}},Je.memo=function(e,t){return{$$typeof:ft,type:e,compare:void 0===t?null:t}},Je.useCallback=function(e,t){return Rt().useCallback(e,t)},Je.useContext=function(e,t){return Rt().useContext(e,t)},Je.useDebugValue=function(){},Je.useEffect=function(e,t){return Rt().useEffect(e,t)},Je.useImperativeHandle=function(e,t,n){return Rt().useImperativeHandle(e,t,n)},Je.useLayoutEffect=function(e,t){return Rt().useLayoutEffect(e,t)},Je.useMemo=function(e,t){return Rt().useMemo(e,t)},Je.useReducer=function(e,t,n){return Rt().useReducer(e,t,n)},Je.useRef=function(e){return Rt().useRef(e)},Je.useState=function(e){return Rt().useState(e)},Je.version="16.14.0",Xe.exports=Je;var Wt=Xe.exports,Ht=Object.defineProperty,$t=Object.defineProperties,Qt=Object.getOwnPropertyDescriptors,Ft=Object.getOwnPropertySymbols,Zt=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable,Gt=(e,t,n)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xt=(e,t)=>{for(var n in t||(t={}))Zt.call(t,n)&&Gt(e,n,t[n]);if(Ft)for(var n of Ft(t))Yt.call(t,n)&&Gt(e,n,t[n]);return e},Jt=(e,t)=>$t(e,Qt(t)),Kt={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function i(){}function r(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,i,s,a){if("function"!=typeof i)throw new TypeError("The listener must be a function");var o=new r(i,s||e,a),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function o(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(n=!1)),o.prototype.eventNames=function(){var e,i,r=[];if(0===this._eventsCount)return r;for(i in e=this._events)t.call(e,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},o.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,s=i.length,a=new Array(s);r<s;r++)a[r]=i[r].fn;return a},o.prototype.listenerCount=function(e){var t=n?n+e:e,i=this._events[t];return i?i.fn?1:i.length:0},o.prototype.emit=function(e,t,i,r,s,a){var o=n?n+e:e;if(!this._events[o])return!1;var l,c,u=this._events[o],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,i),!0;case 4:return u.fn.call(u.context,t,i,r),!0;case 5:return u.fn.call(u.context,t,i,r,s),!0;case 6:return u.fn.call(u.context,t,i,r,s,a),!0}for(c=1,l=new Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var h,p=u.length;for(c=0;c<p;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,i);break;case 4:u[c].fn.call(u[c].context,t,i,r);break;default:if(!l)for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];u[c].fn.apply(u[c].context,l)}}return!0},o.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},o.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},o.prototype.removeListener=function(e,t,i,r){var s=n?n+e:e;if(!this._events[s])return this;if(!t)return a(this,s),this;var o=this._events[s];if(o.fn)o.fn!==t||r&&!o.once||i&&o.context!==i||a(this,s);else{for(var l=0,c=[],u=o.length;l<u;l++)(o[l].fn!==t||r&&!o[l].once||i&&o[l].context!==i)&&c.push(o[l]);c.length?this._events[s]=1===c.length?c[0]:c:a(this,s)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&a(this,t)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=n,o.EventEmitter=o,e.exports=o}(Kt);var qt=Kt.exports,en=function(){return(en=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};
|
10
|
+
/*! *****************************************************************************
|
11
|
+
Copyright (c) Microsoft Corporation.
|
12
|
+
|
13
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
14
|
+
purpose with or without fee is hereby granted.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
17
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
18
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
19
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
20
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
21
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
22
|
+
PERFORMANCE OF THIS SOFTWARE.
|
23
|
+
***************************************************************************** */function tn(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}var nn=0,rn="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),n=Math.max(0,16.7-(t-nn));nn=t+n,setTimeout((function(){return e(nn)}),n)},sn=1/60*1e3,an=!0,on=!1,ln=!1,cn={delta:0,timestamp:0},un=["read","update","preRender","render","postRender"],dn=function(e){return on=e},hn=un.reduce((function(e,t){var n,i,r,s,a,o,l,c,u;return e[t]=(n=dn,i=[],r=[],s=0,a=!1,o=0,l=new WeakSet,c=new WeakSet,u={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(a=!0,i=(t=[r,i])[0],(r=t[1]).length=0,s=i.length)for(o=0;o<s;o++)(d=i[o])(e),!0!==c.has(d)||l.has(d)||(u.schedule(d),n(!0));a=!1},schedule:function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var o=n&&a,u=o?i:r;l.delete(e),t&&c.add(e),-1===u.indexOf(e)&&(u.push(e),o&&(s=i.length))}}),e}),{}),pn=un.reduce((function(e,t){var n=hn[t];return e[t]=function(e,t,i){return void 0===t&&(t=!1),void 0===i&&(i=!1),on||mn(),n.schedule(e,t,i),e},e}),{}),fn=function(e){return hn[e].process(cn)},gn=function(e){on=!1,cn.delta=an?sn:Math.max(Math.min(e-cn.timestamp,40),1),an||(sn=cn.delta),cn.timestamp=e,ln=!0,un.forEach(fn),ln=!1,on&&(an=!1,rn(gn))},mn=function(){on=!0,an=!0,ln||rn(gn)},vn=function(){return(vn=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},bn=function(e,t){return function(n){return Math.max(Math.min(n,t),e)}},wn=function(e){return e%1?Number(e.toFixed(5)):e},yn=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i,xn={test:function(e){return"number"==typeof e},parse:parseFloat,transform:function(e){return e}},Mn=vn(vn({},xn),{transform:bn(0,1)}),Cn=vn(vn({},xn),{default:1}),Sn=function(e){return{test:function(t){return"string"==typeof t&&t.endsWith(e)&&1===t.split(" ").length},parse:parseFloat,transform:function(t){return""+t+e}}},In=Sn("deg"),En=Sn("%"),An=Sn("px"),Tn=vn(vn({},En),{parse:function(e){return En.parse(e)/100},transform:function(e){return En.transform(100*e)}}),kn=bn(0,255),Nn=function(e){return void 0!==e.red},Pn=function(e){return void 0!==e.hue},zn=function(e){return function(t){if("string"!=typeof t)return t;for(var n={},i=(s=t,s.substring(s.indexOf("(")+1,s.lastIndexOf(")"))).replace(/(,|\/)/g," ").split(/ \s*/),r=0;r<4;r++)n[e[r]]=void 0!==i[r]?parseFloat(i[r]):1;var s;return n}},Dn=vn(vn({},xn),{transform:function(e){return Math.round(kn(e))}});function Ln(e,t){return e.startsWith(t)&&yn.test(e)}var Bn,jn={test:function(e){return"string"==typeof e?Ln(e,"rgb"):Nn(e)},parse:zn(["red","green","blue","alpha"]),transform:function(e){var t,n,i=e.red,r=e.green,s=e.blue,a=e.alpha,o=void 0===a?1:a;return"rgba("+(t={red:Dn.transform(i),green:Dn.transform(r),blue:Dn.transform(s),alpha:wn(Mn.transform(o))}).red+", "+t.green+", "+t.blue+", "+(void 0===(n=t.alpha)?1:n)+")"}},_n={test:function(e){return"string"==typeof e?Ln(e,"hsl"):Pn(e)},parse:zn(["hue","saturation","lightness","alpha"]),transform:function(e){var t,n,i=e.hue,r=e.saturation,s=e.lightness,a=e.alpha,o=void 0===a?1:a;return"hsla("+(t={hue:Math.round(i),saturation:En.transform(wn(r)),lightness:En.transform(wn(s)),alpha:wn(Mn.transform(o))}).hue+", "+t.saturation+", "+t.lightness+", "+(void 0===(n=t.alpha)?1:n)+")"}},On=vn(vn({},jn),{test:function(e){return"string"==typeof e&&Ln(e,"#")},parse:function(e){var t="",n="",i="";return e.length>4?(t=e.substr(1,2),n=e.substr(3,2),i=e.substr(5,2)):(t=e.substr(1,1),n=e.substr(2,1),i=e.substr(3,1),t+=t,n+=n,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:1}}}),Vn={test:function(e){return"string"==typeof e&&yn.test(e)||Nn(e)||Pn(e)},parse:function(e){return jn.test(e)?jn.parse(e):_n.test(e)?_n.parse(e):On.test(e)?On.parse(e):e},transform:function(e){return Nn(e)?jn.transform(e):Pn(e)?_n.transform(e):e}},Rn=function(e){var t=e.onRead,n=e.onRender,i=e.uncachedValues,r=void 0===i?new Set:i,s=e.useCache,a=void 0===s||s;return function(e){void 0===e&&(e={});var i=tn(e,[]),s={},o=[],l=!1;function c(e,t){e.startsWith("--")&&(i.hasCSSVariable=!0);var n=s[e];s[e]=t,s[e]!==n&&(-1===o.indexOf(e)&&o.push(e),l||(l=!0,pn.render(u.render)))}var u={get:function(e,n){return void 0===n&&(n=!1),n||!a||r.has(e)||void 0===s[e]?t(e,i):s[e]},set:function(e,t){if("string"==typeof e)c(e,t);else for(var n in e)c(n,e[n]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(n(s,i,o),l=!1,o.length=0),this}};return u}},Un=/([a-z])([A-Z])/g,Wn=function(e){return e.replace(Un,"$1-$2").toLowerCase()},Hn=new Map,$n=new Map,Qn=["Webkit","Moz","O","ms",""],Fn=Qn.length,Zn="undefined"!=typeof document,Yn=function(e,t){return $n.set(e,Wn(t))},Gn=function(e,t){void 0===t&&(t=!1);var n,i=t?$n:Hn;return i.has(e)||(Zn?function(e){Bn=Bn||document.createElement("div");for(var t=0;t<Fn;t++){var n=Qn[t],i=""===n,r=i?e:n+e.charAt(0).toUpperCase()+e.slice(1);if(r in Bn.style||i){if(i&&"clipPath"===e&&$n.has(e))return;Hn.set(e,r),Yn(e,(i?"":"-")+Wn(r))}}}(e):Yn(n=e,n)),i.get(e)||e},Xn=["","X","Y","Z"],Jn=["translate","scale","rotate","skew","transformPerspective"].reduce((function(e,t){return Xn.reduce((function(e,n){return e.push(t+n),e}),e)}),["x","y","z"]),Kn=Jn.reduce((function(e,t){return e[t]=!0,e}),{});function qn(e){return!0===Kn[e]}function ei(e,t){return Jn.indexOf(e)-Jn.indexOf(t)}var ti=new Set(["originX","originY","originZ"]);function ni(e){return ti.has(e)}var ii=en(en({},xn),{transform:Math.round}),ri={color:Vn,backgroundColor:Vn,outlineColor:Vn,fill:Vn,stroke:Vn,borderColor:Vn,borderTopColor:Vn,borderRightColor:Vn,borderBottomColor:Vn,borderLeftColor:Vn,borderWidth:An,borderTopWidth:An,borderRightWidth:An,borderBottomWidth:An,borderLeftWidth:An,borderRadius:An,radius:An,borderTopLeftRadius:An,borderTopRightRadius:An,borderBottomRightRadius:An,borderBottomLeftRadius:An,width:An,maxWidth:An,height:An,maxHeight:An,size:An,top:An,right:An,bottom:An,left:An,padding:An,paddingTop:An,paddingRight:An,paddingBottom:An,paddingLeft:An,margin:An,marginTop:An,marginRight:An,marginBottom:An,marginLeft:An,rotate:In,rotateX:In,rotateY:In,rotateZ:In,scale:Cn,scaleX:Cn,scaleY:Cn,scaleZ:Cn,skew:In,skewX:In,skewY:In,distance:An,translateX:An,translateY:An,translateZ:An,x:An,y:An,z:An,perspective:An,opacity:Mn,originX:Tn,originY:Tn,originZ:An,zIndex:ii,fillOpacity:Mn,strokeOpacity:Mn,numOctaves:ii},si=function(e){return ri[e]},ai=function(e,t){return t&&"number"==typeof e?t.transform(e):e},oi=new Set(["scrollLeft","scrollTop"]),li=new Set(["scrollLeft","scrollTop","transform"]),ci={x:"translateX",y:"translateY",z:"translateZ"};function ui(e){return"function"==typeof e}function di(e){var t=void 0===e?{}:e,n=t.enableHardwareAcceleration,i=void 0===n||n,r=t.isDashCase,s=void 0===r||r,a=t.allowTransformNone,o=void 0===a||a,l={},c={},u={},d=[];return function(e){return d.length=0,function(e,t,n,i,r,s,a,o){void 0===t&&(t=!0),void 0===n&&(n={}),void 0===i&&(i={}),void 0===r&&(r={}),void 0===s&&(s=[]),void 0===a&&(a=!1),void 0===o&&(o=!0);var l=!0,c=!1,u=!1;for(var d in e){var h=e[d],p=si(d),f=ai(h,p);qn(d)?(c=!0,i[d]=f,s.push(d),l&&(p.default&&h!==p.default||!p.default&&0!==h)&&(l=!1)):ni(d)?(r[d]=f,u=!0):li.has(d)&&ui(f)||(n[Gn(d,a)]=f)}(c||"function"==typeof e.transform)&&(n.transform=function(e,t,n,i,r,s){void 0===s&&(s=!0);var a="",o=!1;n.sort(ei);for(var l=n.length,c=0;c<l;c++){var u=n[c];a+=(ci[u]||u)+"("+t[u]+") ",o="z"===u||o}return!o&&r?a+="translateZ(0)":a=a.trim(),ui(e.transform)?a=e.transform(t,i?"":a):s&&i&&(a="none"),a}(e,i,s,l,t,o)),u&&(n.transformOrigin=(r.originX||"50%")+" "+(r.originY||"50%")+" "+(r.originZ||0))}(e,i,l,c,u,d,s,o),l}}var hi=Rn({onRead:function(e,t){var n=t.element,i=t.preparseOutput,r=si(e);if(qn(e))return r&&r.default||0;if(oi.has(e))return n[e];var s=window.getComputedStyle(n,null).getPropertyValue(Gn(e,!0))||0;return i&&r&&r.test(s)&&r.parse?r.parse(s):s},onRender:function(e,t,n){var i=t.element,r=t.buildStyles,s=t.hasCSSVariable;if(Object.assign(i.style,r(e)),s)for(var a=n.length,o=0;o<a;o++){var l=n[o];l.startsWith("--")&&i.style.setProperty(l,e[l])}-1!==n.indexOf("scrollLeft")&&(i.scrollLeft=e.scrollLeft),-1!==n.indexOf("scrollTop")&&(i.scrollTop=e.scrollTop)},uncachedValues:oi}),pi=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues"]),fi=function(e,t){return An.transform(e*t)},gi={x:0,y:0,width:0,height:0};function mi(e,t,n){return"string"==typeof e?e:An.transform(t+n*e)}var vi={enableHardwareAcceleration:!1,isDashCase:!1};function bi(e,t,n){void 0===n&&(n=!0);var i={style:{}},r=di(vi);return function(s){return function(e,t,n,i,r,s){void 0===t&&(t=gi),void 0===i&&(i=di(vi)),void 0===r&&(r={style:{}}),void 0===s&&(s=!0);var a,o,l=e.attrX,c=e.attrY,u=e.originX,d=e.originY,h=e.pathLength,p=e.pathSpacing,f=void 0===p?1:p,g=e.pathOffset,m=void 0===g?0:g,v=i(tn(e,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]));for(var b in v)"transform"===b?r.style.transform=v[b]:r[s&&!pi.has(b)?Wn(b):b]=v[b];return(void 0!==u||void 0!==d||v.transform)&&(r.style.transformOrigin=(o=void 0!==d?d:.5,mi(void 0!==u?u:.5,(a=t).x,a.width)+" "+mi(o,a.y,a.height))),void 0!==l&&(r.x=l),void 0!==c&&(r.y=c),void 0!==n&&void 0!==h&&(r[s?"stroke-dashoffset":"strokeDashoffset"]=fi(-m,n),r[s?"stroke-dasharray":"strokeDasharray"]=fi(h,n)+" "+fi(f,n)),r}(s,e,t,r,i,n)}}var wi=Rn({onRead:function(e,t){var n=t.element;if(qn(e=pi.has(e)?e:Wn(e))){var i=si(e);return i&&i.default||0}return n.getAttribute(e)},onRender:function(e,t){var n=t.element,i=(0,t.buildAttrs)(e);for(var r in i)"style"===r?Object.assign(n.style,i.style):n.setAttribute(r,i[r])}}),yi=Rn({useCache:!1,onRead:function(e){return"scrollTop"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,n=void 0===t?0:t,i=e.scrollLeft,r=void 0===i?0:i;return window.scrollTo(r,n)}}),xi=new WeakMap;function Mi(e,t){return n="string"==typeof e?document.querySelector(e):e,i=t,xi.has(n)?xi.get(n):function(e,t){var n,r,s,a,o;return e===window?n=yi(e):(o=e)instanceof HTMLElement||"function"==typeof o.click?n=function(e,t){void 0===t&&(t={});var n=t.enableHardwareAcceleration,i=t.allowTransformNone,r=tn(t,["enableHardwareAcceleration","allowTransformNone"]);return hi(en({element:e,buildStyles:di({enableHardwareAcceleration:n,allowTransformNone:i}),preparseOutput:!0},r))}(e,t):function(e){return e instanceof SVGElement||"ownerSVGElement"in e}(e)&&(s=function(e){try{return"function"==typeof(t=e).getBBox?t.getBBox():t.getBoundingClientRect()}catch(i){return{x:0,y:0,width:0,height:0}}var t}(r=e),a=function(e){return"path"===e.tagName}(r)&&r.getTotalLength?r.getTotalLength():void 0,n=wi({element:r,buildAttrs:bi(s,a)})),xi.set(e,n),n}(n,i);var n,i}var Ci=function(e,t,n,i){var r=n?n.call(i,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var s=Object.keys(e),a=Object.keys(t);if(s.length!==a.length)return!1;for(var o=Object.prototype.hasOwnProperty.bind(t),l=0;l<s.length;l++){var c=s[l];if(!o(c))return!1;var u=e[c],d=t[c];if(!1===(r=n?n.call(i,u,d,c):void 0)||void 0===r&&u!==d)return!1}return!0};const Si="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Ii=Si.length,Ei=Array(20),Ai=()=>{for(let e=0;e<20;e++)Ei[e]=Si.charAt(Math.random()*Ii);return Ei.join("")};class Ti{constructor(){this.disposers=new Map}add(e,t=Ai()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ai()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,n,i,r=Ai()){return this.add((()=>(e.addEventListener(t,n,i),()=>e.removeEventListener(t,n,i))),r),r}setTimeout(e,t,n=Ai()){return this.add((()=>{const i=window.setTimeout((()=>{this.remove(n),e()}),t);return()=>window.clearTimeout(i)}),n)}setInterval(e,t,n=Ai()){return this.add((()=>{const n=window.setInterval(e,t);return()=>window.clearInterval(n)}),n)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(n){console.error(n)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var ki,Ni,Pi,zi,Di,Li,Bi,ji,_i,Oi,Vi=Object.defineProperty,Ri=("undefined"!=typeof require&&require,(e,t,n)=>{return s=n,(r="symbol"!=typeof t?t+"":t)in(i=e)?Vi(i,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[r]=s,n;var i,r,s});class Ui{constructor(e,t){Ri(this,"_value"),Ri(this,"_beforeDestroys"),Ri(this,"_subscribers"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const n=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((i=>i(e,n,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const n=this.reaction(e);return e(this._value,void 0,t),n}derive(e,t,n){const i=new Ui(e(this.value,void 0,n),t),r=this.reaction(((t,n,r)=>{i.setValue(e(t,n,r))}));return i.addBeforeDestroy(r),i}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Wi(e,t){Object.keys(t).forEach((n=>{var i,r,s,a;i=e,r=n,s=t[n],Object.defineProperties(i,{[r]:{get:()=>s.value},[`_${r}$`]:{value:s},[`set${a=r,a[0].toUpperCase()+a.slice(1)}`]:{value:(e,t)=>s.setValue(e,t)}})}))}function Hi(e){const t=t=>{const n=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(n)})),t};return{bindSideEffect:t,combine:(e,n,i,r)=>t(function(e,t,n,i){let r=e.map((e=>e.value));const s=new Ui(t(r,void 0,i),n);return e.forEach(((e,n)=>{const i=e.reaction(((e,i,a)=>{const o=r.slice();o[n]=e;const l=r;r=o,s.setValue(t(o,l,a),a)}));s.addBeforeDestroy(i)})),s}(e,n,i,r)),createVal:(e,n)=>t(new Ui(e,n))}}function $i(e,t,n){return Math.min(Math.max(e,t),n)}function Qi(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function Fi(e){return e.touches?e.touches[0]:e}function Zi(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}(Ni=ki||(ki={})).Light="light",Ni.Dark="dark",Ni.Auto="auto",(zi=Pi||(Pi={})).Normal="normal",zi.Minimized="minimized",zi.Maximized="maximized",(Li=Di||(Di={})).DarkMode="dark_mode",Li.PrefersColorScheme="prefers_color_scheme",Li.Close="close",Li.Focus="focus",Li.Blur="blur",Li.Move="move",Li.Resize="resize",Li.IntrinsicMove="intrinsic_move",Li.IntrinsicResize="intrinsic_resize",Li.VisualResize="visual_resize",Li.ZIndex="z_index",Li.State="state",Li.Minimized="minimized",Li.Maximized="maximized",Li.Readonly="readonly",Li.Destroyed="destroyed",(ji=Bi||(Bi={})).Close="close",ji.Maximize="maximize",ji.Minimize="minimize",(Oi=_i||(_i={})).North="n",Oi.South="s",Oi.West="w",Oi.East="e",Oi.NorthWest="nw",Oi.NorthEast="ne",Oi.SouthEast="se",Oi.SouthWest="sw";let Yi=1;function Gi(){return"New Box "+Yi++}function Xi(e){return Boolean(e)}function Ji(e){return!e}class Ki{constructor({readonly:e=!1,title:t,buttons:n,onEvent:i,onDragStart:r,namespace:s="telebox",state:a=Pi.Normal}={}){this.$btns=[],this.sideEffect=new Ti,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;Qi(e);const n=Date.now();n-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=3&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=3&&this.onEvent&&this.onEvent({type:Bi.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=n,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;Qi(e);const n=Date.now(),{clientX:i=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};n-this.lastTitleBarTouch.timestamp<=500?Math.abs(i-this.lastTitleBarTouch.clientX)<=3&&Math.abs(r-this.lastTitleBarTouch.clientY)<=3&&this.onEvent&&this.onEvent({type:Bi.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=n,this.lastTitleBarTouch.clientX=i,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=i,this.onDragStart=r,this.namespace=s,this.title=t,this.state=a,this.buttons=n||[{type:Bi.Minimize,iconClassName:this.wrapClassName("titlebar-icon-minimize")},{type:Bi.Maximize,iconClassName:this.wrapClassName("titlebar-icon-maximize"),isActive:e=>e===Pi.Maximized},{type:Bi.Close,iconClassName:this.wrapClassName("titlebar-icon-close")}],this.$dragArea=this.renderDragArea()}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,n)=>{t.isActive&&this.$btns[n].classList.toggle("is-active",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement("div"),this.$titleBar.className=this.wrapClassName("titlebar");const e=document.createElement("div");e.className=this.wrapClassName("title-area"),e.dataset.teleBoxHandle="dh",this.$title=document.createElement("h1"),this.$title.className=this.wrapClassName("title"),this.$title.dataset.teleBoxHandle="dh",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement("div");t.className=this.wrapClassName("titlebar-btns"),this.buttons.forEach((({iconClassName:e,isActive:n},i)=>{const r=String(i),s=document.createElement("button");s.className=`${this.wrapClassName("titlebar-btn")} ${e}`,s.dataset.teleTitleBarBtnIndex=r,s.dataset.teleTitleBarNoDblClick="true",n&&s.classList.toggle("is-active",n(this.state)),this.$btns.push(s),t.appendChild(s)})),this.sideEffect.addEventListener(t,"click",(e=>{var t;if(this.readonly)return;const n=e.target,i=Number(null==(t=n.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(i)&&i<this.buttons.length){Qi(e);const t=this.buttons[i];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement("div");return e.className=this.wrapClassName("drag-area"),e.dataset.teleBoxHandle="dh",this.sideEffect.addEventListener(e,"mousedown",this.handleTitleBarClick),this.sideEffect.addEventListener(e,"touchstart",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class qi{constructor({id:e=Zi(),title:t=Gi(),prefersColorScheme:n=ki.Light,darkMode:i,visible:r=!0,width:s=.5,height:a=.5,minWidth:o=0,minHeight:l=0,x:c=.1,y:u=.1,minimized:d=!1,maximized:h=!1,readonly:p=!1,resizable:f=!0,draggable:g=!0,fence:m=!0,fixRatio:v=!1,focus:b=!1,zIndex:w=100,namespace:y="telebox",titleBar:x,content:M,footer:C,styles:S,containerRect:I={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:E}={}){this._renderSideEffect=new Ti,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Ti,this._valSideEffectBinder=Hi(this._sideEffect);const{combine:A,createVal:T}=this._valSideEffectBinder;this.id=e,this.namespace=y,this.events=new qt,this._delegateEvents=new qt;const k=T(n);k.reaction(((e,t,n)=>{n||this.events.emit(Di.PrefersColorScheme,e)}));const N=T(Boolean(i));null==i&&k.subscribe(((e,t,n)=>{this._sideEffect.add((()=>{if("auto"===e){const e=window.matchMedia("(prefers-color-scheme: dark)");if(e){N.setValue(e.matches,n);const t=e=>{N.setValue(e.matches,n)};return e.addListener(t),()=>e.removeListener(t)}return er}return N.setValue("dark"===e,n),er}),"prefers-color-scheme")})),N.reaction(((e,t,n)=>{n||this.events.emit(Di.DarkMode,e)}));const P=T(I,Ci),z=T(E,Ci),D=T(t),L=T(r);L.reaction(((e,t,n)=>{n||e||this.events.emit(Di.Close)}));const B=T(p);B.reaction(((e,t,n)=>{n||this.events.emit(Di.Readonly,e)}));const j=T(f),_=T(g),O=T(m),V=T(v),R=T(w);R.reaction(((e,t,n)=>{n||this.events.emit(Di.ZIndex,e)}));const U=T(b);U.reaction(((e,t,n)=>{n||this.events.emit(e?Di.Focus:Di.Blur)}));const W=T(d);W.reaction(((e,t,n)=>{n||this.events.emit(Di.Minimized,e)}));const H=T(h);H.reaction(((e,t,n)=>{n||this.events.emit(Di.Maximized,e)}));const $=A([W,H],(([e,t])=>e?Pi.Minimized:t?Pi.Maximized:Pi.Normal));$.reaction(((e,t,n)=>{n||this.events.emit(Di.State,e)}));const Q=T({width:$i(o,0,1),height:$i(l,0,1)},Ci),F=T({width:$i(s,Q.value.width,1),height:$i(a,Q.value.height,1)},Ci);Q.reaction(((e,t,n)=>{F.setValue({width:$i(s,e.width,1),height:$i(a,e.height,1)},n)})),F.reaction(((e,t,n)=>{n||this.events.emit(Di.IntrinsicResize,e)}));const Z=A([F,H],(([e,t])=>t?{width:1,height:1}:e),Ci);Z.reaction(((e,t,n)=>{n||this.events.emit(Di.Resize,e)}));const Y=A([Z,W,P,z],(([e,t,n,i])=>t&&i?{width:i.width/e.width/n.width,height:i.height/e.height/n.height}:e),Ci);Y.reaction(((e,t,n)=>{n||this.events.emit(Di.VisualResize,e)}));const G=T({x:$i(c,0,1),y:$i(u,0,1)},Ci);G.reaction(((e,t,n)=>{n||this.events.emit(Di.IntrinsicMove,e)}));const X=A([G,F,P,z,W,H],(([e,t,n,i,r,s])=>r&&i?s?{x:(i.x+i.width/2)/n.width-.5,y:(i.y+i.height/2)/n.height-.5}:{x:(i.x+i.width/2)/n.width-t.width/2,y:(i.y+i.height/2)/n.height-t.height/2}:s?{x:0,y:0}:e),Ci);X.reaction(((e,t,n)=>{n||this.events.emit(Di.Move,e)})),this.titleBar=x||new Ki({readonly:B.value,title:D.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case Bi.Maximize:H.setValue(!H.value);break;case Bi.Minimize:W.setValue(!0);break;case Bi.Close:L.setValue(!1);break;default:console.error("Unsupported titleBar event:",e)}}}),B.reaction((e=>{this.titleBar.setReadonly(e)}));const J=T(M),K=T(C),q=T(S);Wi(this,{prefersColorScheme:k,darkMode:N,containerRect:P,collectorRect:z,title:D,visible:L,readonly:B,resizable:j,draggable:_,fence:O,fixRatio:V,focus:U,zIndex:R,minimized:W,maximized:H,$userContent:J,$userFooter:K,$userStyles:q}),this._state$=$,this._minSize$=Q,this._size$=Z,this._intrinsicSize$=F,this._visualSize$=Y,this._coord$=X,this._intrinsicCoord$=G,this.fixRatio&&this.transform(X.value.x,X.value.y,Z.value.width,Z.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Pi.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Pi.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,n=!1){return this._intrinsicSize$.setValue({width:e,height:t},n),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,n=!1){return this._intrinsicCoord$.setValue({x:e,y:t},n),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,n,i,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*n;t!==this.intrinsicY&&(t-=e-i),i=e}return t<0&&(t=0,i>this.intrinsicHeight&&(i=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:n>=this.minWidth?e:this.intrinsicX,y:i>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:$i(n,this.minWidth,1),height:$i(i,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return"string"==typeof e?(t=document.createElement("style"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement("div")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName("box"));const t=(e,t,n,i=Xi)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(n);return t.subscribe((t=>{e.classList.toggle(r,i(t))}))}));t(this.$box,this._readonly$,"readonly"),t(this.$box,this._draggable$,"no-drag",Ji),t(this.$box,this._resizable$,"no-resize",Ji),t(this.$box,this._focus$,"blur",Ji),t(this.$box,this._darkMode$,"color-scheme-dark"),t(this.$box,this._darkMode$,"color-scheme-light",Ji),this._renderSideEffect.add((()=>{const e=this.wrapClassName("minimized"),t=this.wrapClassName("maximized"),n="box-maximized-timer";return this._state$.subscribe((i=>{this.$box.classList.toggle(e,i===Pi.Minimized),i===Pi.Maximized?(this._renderSideEffect.flush(n),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,n)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?"block":"none"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const n=Mi(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+"px",this.$box.style.height=this.absoluteHeight+"px";const i=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${i-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,n,i,r])=>{const s=t.width*i.width,a=t.height*i.height;return{width:s,height:a,x:e.x*i.width,y:e.y*i.height,scaleX:n&&r?r.width/s:1,scaleY:n&&r?r.height/a:1}}),Ci).subscribe((e=>{n.set(e)})),n.set({x:i,y:r});const s=document.createElement("div");s.className=this.wrapClassName("box-main"),this.$box.appendChild(s);const a=document.createElement("div");a.className=this.wrapClassName("titlebar-wrap"),a.appendChild(this.titleBar.render()),this.$titleBar=a;const o=document.createElement("div");o.className=this.wrapClassName("content-wrap");const l=document.createElement("div");l.className=this.wrapClassName("content")+" tele-fancy-scrollbar",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&o.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),o.appendChild(l);const c=document.createElement("div");return c.className=this.wrapClassName("footer-wrap"),this.$footer=c,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&c.appendChild(t)}))})),s.appendChild(a),s.appendChild(o),s.appendChild(c),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement("div");e.className=this.wrapClassName("resize-handles"),Object.values(_i).forEach((t=>{const n=document.createElement("div");n.className=this.wrapClassName(t)+" "+this.wrapClassName("resize-handle"),n.dataset.teleBoxHandle=t,e.appendChild(n)})),this.$box.appendChild(e);const t="handle-tracking-listener",n=this.wrapClassName("transforming");let i,r,s=0,a=0,o=0,l=0,c=0,u=0;const d=e=>{if(this.state!==Pi.Normal)return;Qi(e);let{pageX:t,pageY:n}=Fi(e);n<0&&(n=0);const i=(t-c)/this.containerRect.width,d=(n-u)/this.containerRect.height;switch(r){case _i.North:this.transform(this.x,a+d,this.width,l-d);break;case _i.South:this.transform(this.x,this.y,this.width,l+d);break;case _i.West:this.transform(s+i,this.y,o-i,this.height);break;case _i.East:this.transform(this.x,this.y,o+i,this.height);break;case _i.NorthWest:this.transform(s+i,a+d,o-i,l-d);break;case _i.NorthEast:this.transform(this.x,a+d,o+i,l-d);break;case _i.SouthEast:this.transform(this.x,this.y,o+i,l+d);break;case _i.SouthWest:this.transform(s+i,this.y,o-i,l+d);break;default:if(this.fence)this.move($i(s+i,0,1-this.width),$i(a+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move($i(s+i,e-this.width,1-e),$i(a+d,0,1-t))}}},h=e=>{r=void 0,i&&(Qi(e),this.$box.classList.toggle(n,!1),this._sideEffect.flush(t),i.remove())},p=e=>{var p;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Pi.Normal)return;const f=e.target;if(null==(p=f.dataset)?void 0:p.teleBoxHandle){Qi(e),s=this.x,a=this.y,o=this.width,l=this.height,({pageX:c,pageY:u}=Fi(e)),r=f.dataset.teleBoxHandle,i||(i=document.createElement("div"));const p=r?this.wrapClassName(`cursor-${r}`):"";i.className=this.wrapClassName("track-mask"+(p?` ${p}`:"")),this.$box.appendChild(i),this.$box.classList.add(n),this._sideEffect.add((()=>(window.addEventListener("mousemove",d),window.addEventListener("touchmove",d,{passive:!1}),window.addEventListener("mouseup",h),window.addEventListener("touchend",h,{passive:!1}),window.addEventListener("touchcancel",h,{passive:!1}),()=>{window.removeEventListener("mousemove",d),window.removeEventListener("touchmove",d),window.removeEventListener("mouseup",h),window.removeEventListener("touchend",h),window.removeEventListener("touchcancel",h)})),t)}};this._handleTrackStart=p,this._sideEffect.addEventListener(e,"mousedown",p,{},"box-resizeHandles-mousedown"),this._sideEffect.addEventListener(e,"touchstart",p,{passive:!1},"box-resizeHandles-touchstart")}destroy(){this.$box.remove(),this.events.emit(Di.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function er(){}var tr,nr;class ir{constructor({visible:e=!0,readonly:t=!1,darkMode:n=!1,namespace:i="telebox",styles:r={},onClick:s}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=n,this.namespace=i,this.styles=r,this.onClick=s}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-visible"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName("collector-readonly"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName("color-scheme-dark"),e),this.$collector.classList.toggle(this.wrapClassName("color-scheme-light"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((n=>{const i=e[n];null!=i&&(t.style[n]=i)}))}return this}render(){return this.$collector||(this.$collector=document.createElement("button"),this.$collector.className=this.wrapClassName("collector"),this.$collector.style.backgroundImage="url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')",this.$collector.addEventListener("click",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName("collector-visible")),this._readonly&&this.$collector.classList.add(this.wrapClassName("collector-readonly")),this.$collector.classList.add(this.wrapClassName(this._darkMode?"color-scheme-dark":"color-scheme-light")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener("click",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}(nr=tr||(tr={})).Focused="focused",nr.Blurred="blurred",nr.Created="created",nr.Removed="removed",nr.State="state",nr.Maximized="maximized",nr.Minimized="minimized",nr.Move="move",nr.Resize="resize",nr.IntrinsicMove="intrinsic_move",nr.IntrinsicResize="intrinsic_resize",nr.VisualResize="visual_resize",nr.ZIndex="z_index",nr.PrefersColorScheme="prefers_color_scheme",nr.DarkMode="dark_mode";class rr extends Ki{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===Pi.Maximized){const{children:n}=this.$titles.firstElementChild;for(let i=n.length-1;i>=0;i-=1){const r=n[i],s=null==(t=r.dataset)?void 0:t.teleBoxID;s&&(e&&s===e.id?r.classList.toggle(this.wrapClassName("titles-tab-focus"),!0):this.focusedBox&&s===this.focusedBox.id&&r.classList.toggle(this.wrapClassName("titles-tab-focus"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:n,width:i}=e;this.$titleBar.style.transform=`translate(${t}px, ${n}px)`,this.$titleBar.style.width=i+"px"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("max-titlebar-maximized"),e===Pi.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName("readonly"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-dark"),e),this.$titleBar.classList.toggle(this.wrapClassName("color-scheme-light"),!e)))}render(){var e;const t=super.render();(null==(e=t.firstElementChild)?void 0:e.nextElementSibling)&&t.insertBefore(this.$dragArea,t.firstElementChild.nextElementSibling);const{x:n,y:i,width:r}=this.containerRect;return t.style.transform=`translate(${n}px, ${i}px)`,t.style.width=r+"px",t.classList.add(this.wrapClassName("max-titlebar")),t.classList.toggle(this.wrapClassName("max-titlebar-maximized"),this.state===Pi.Maximized),t.classList.toggle(this.wrapClassName("readonly"),this.readonly),t.classList.add(this.wrapClassName(this.darkMode?"color-scheme-dark":"color-scheme-light")),this.updateTitles(),t}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Pi.Maximized&&(1===this.boxes.length?this.$title&&(this.$title.textContent=this.boxes[0].title,this.$titleBar.replaceChild(this.$title,this.$titleBar.firstElementChild)):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement("div"),this.$titles.className=this.wrapClassName("titles"),this.$titles.addEventListener("wheel",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:"smooth"})}),{passive:!1});const e=document.createElement("div");return e.className=this.wrapClassName("titles-content"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const n=document.createElement("button");n.className=this.wrapClassName("titles-tab"),n.textContent=t.title,n.dataset.teleBoxID=t.id,n.dataset.teleTitleBarNoDblClick="true",this.focusedBox&&t.id===this.focusedBox.id&&n.classList.add(this.wrapClassName("titles-tab-focus")),e.appendChild(n)})),this.$titles}}class sr{constructor({root:e=document.body,prefersColorScheme:t=ki.Light,minimized:n=!1,maximized:i=!1,fence:r=!0,containerRect:s={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:a,namespace:o="telebox",readonly:l=!1}={}){this.events=new qt,this._sideEffect=new Ti;const{combine:c,createVal:u}=Hi(this._sideEffect);this.root=e,this.namespace=o,this.boxes$=u([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0)return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}));const d=window.matchMedia("(prefers-color-scheme: dark)"),h=u(!1);d&&(h.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{h.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const p=u(t);p.reaction(((e,t,n)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,n))),n||this.events.emit(tr.PrefersColorScheme,e)})),this._darkMode$=c([h,p],(([e,t])=>"auto"===t?e:"dark"===t)),this._darkMode$.reaction(((e,t,n)=>{this.boxes.forEach((t=>t.setDarkMode(e,n))),n||this.events.emit(tr.DarkMode,e)}));const f=u(l);f.reaction(((e,t,n)=>{this.boxes.forEach((t=>t.setReadonly(e,n)))}));const g=u(n),m=u(i);m.reaction(((e,t,n)=>{this.boxes.forEach((t=>t.setMaximized(e,n))),n||this.events.emit(tr.Maximized,e)}));const v=c([g,m],(([e,t])=>e?Pi.Minimized:t?Pi.Maximized:Pi.Normal));v.reaction(((e,t,n)=>{this.maxTitleBar.setState(e),n||this.events.emit(tr.State,e)}));const b=u(r);b.subscribe(((e,t,n)=>{this.boxes.forEach((t=>t.setFence(e,n)))}));const w=u(s,Ci);w.reaction(((e,t,n)=>{this.boxes.forEach((t=>t.setContainerRect(e,n))),this.maxTitleBar.setContainerRect(e)}));const y=u(null===a?null:a||new ir({visible:n,readonly:l,namespace:o}).mount(e));y.subscribe((e=>{e&&(e.setVisible(g.value),e.setReadonly(f.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{f.value||g.setValue(!1)},()=>e.destroy())),"collect-onClick"))})),f.subscribe((e=>{var t;return null==(t=y.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=y.value)||t.setDarkMode(e)}));const x=()=>{var e;if(null==(e=y.value)?void 0:e.$collector){const{x:e,y:t,width:n,height:i}=y.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:n,height:i}}},M=u(g.value?x():void 0);M.subscribe(((e,t,n)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,n)}))})),g.subscribe(((e,t,n)=>{var i,r;null==(i=y.value)||i.setVisible(e),e&&(null==(r=y.value)?void 0:r.$collector)&&M.setValue(x()),this.boxes.forEach((t=>t.setMinimized(e,n))),n||this.events.emit(tr.Minimized,e)}));const C=this.wrapClassName("titlebar-icon-close"),S=e=>{var t;if(f.value)return;const n=e.target;if(n.tagName)for(let i=n;i;i=i.parentElement){if(i.classList&&i.classList.contains(C))return;const e=null==(t=i.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,"mousedown",S,!0),this._sideEffect.addEventListener(window,"touchstart",S,!0),this.maxTitleBar=new rr({darkMode:this.darkMode,readonly:f.value,namespace:this.namespace,state:v.value,boxes:this.boxes$.value,containerRect:w.value,onEvent:e=>{switch(e.type){case Bi.Maximize:m.setValue(!m.value);break;case Bi.Minimize:g.setValue(!0);break;case Di.Close:this.removeTopBox(),this.focusTopBox()}}}),f.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)})),Wi(this,{prefersColorScheme:p,containerRect:w,collector:y,collectorRect:M,readonly:f,fence:b,minimized:g,maximized:m}),this._state$=v,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Pi.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Pi.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const n=new qi(Jt(Xt({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return n.mount(this.root),n.focus&&(this.focusBox(n),t&&this.makeBoxTop(n)),this.boxes$.setValue([...this.boxes,n]),n._delegateEvents.on(Bi.Maximize,(()=>{this.setMaximized(!this.maximized)})),n._delegateEvents.on(Bi.Minimize,(()=>{this.setMinimized(!0)})),n._delegateEvents.on(Bi.Close,(()=>{this.remove(n),this.focusTopBox()})),n._coord$.reaction(((e,t,i)=>{i||this.events.emit(tr.Move,n)})),n._size$.reaction(((e,t,i)=>{i||this.events.emit(tr.Resize,n)})),n._intrinsicCoord$.reaction(((e,t,i)=>{i||this.events.emit(tr.IntrinsicMove,n)})),n._intrinsicSize$.reaction(((e,t,i)=>{i||this.events.emit(tr.IntrinsicResize,n)})),n._visualSize$.reaction(((e,t,i)=>{i||this.events.emit(tr.VisualResize,n)})),n._zIndex$.reaction(((e,t,i)=>{this.topBox&&n.zIndex>this.topBox.zIndex&&this.topBox$.setValue(n),i||this.events.emit(tr.ZIndex,n)})),this.events.emit(tr.Created,n),n}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,n=!1){const i=this.boxes.find((t=>t.id===e));if(i)return this.updateBox(i,t,n)}updateAll(e,t=!1){this.boxes.forEach((n=>{this.updateBox(n,e,t)}))}remove(e,t=!1){const n=this.getBoxIndex(e);if(n>=0){const e=this.boxes.slice(),i=e.splice(n,1);return this.boxes$.setValue(e),i.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(tr.Removed,i)),i[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(tr.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof Ui&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const n=this.getBox(e);n&&(this.boxes.forEach((e=>{if(n===e){let e=!1;n.focus||(e=!0,n.setFocus(!0,t)),e&&!t&&this.events.emit(tr.Focused,n)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(n))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const n=this.getBox(e);n&&(n.focus&&(n.setFocus(!1,t),t||this.events.emit(tr.Blurred,n)),this.maxTitleBar.focusedBox===n&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(tr.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return n=>t.every((t=>e[t]===n[t]))}updateBox(e,t,n=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,n),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,n),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,n),null!=t.minHeight&&e.setMinHeight(t.minHeight,n),null!=t.minWidth&&e.setMinWidth(t.minWidth,n),null!=t.resizable&&e.setResizable(t.resizable,n),null!=t.draggable&&e.setDraggable(t.draggable,n),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,n),null!=t.zIndex&&e.setZIndex(t.zIndex,n),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:n}=e;const{width:i=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-i*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==n){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),n=e/this.containerRect.height}return Jt(Xt({},e),{x:t,y:n,width:i,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&(e.setZIndex(this.topBox.zIndex+1,t),this.topBox$.setValue(e))}getBoxIndex(e){return"string"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return"string"==typeof e?this.boxes.find((t=>t.id===e)):e}}class ar{constructor(e,t){this.context=e,this.createTeleBoxManagerConfig=t,this.playgroundSizeChangeListener=()=>{this.updateManagerRect()};const{emitter:n,callbacks:i}=e;this.teleBoxManager=this.setupBoxManager(t),this.teleBoxManager._state$.reaction((e=>{i.emit("boxStateChange",e),n.emit("boxStateChange",e)})),this.teleBoxManager._darkMode$.reaction((e=>{i.emit("darkModeChange",e)})),this.teleBoxManager._prefersColorScheme$.reaction((e=>{i.emit("prefersColorSchemeChange",e)})),this.teleBoxManager.events.on("minimized",(e=>{if(this.context.safeSetAttributes({minimized:e}),e)this.context.cleanFocus(),this.blurAllBox();else{const e=this.getTopBox();e&&(this.context.setAppFocus(e.id),this.focusBox({appId:e.id},!1))}})),this.teleBoxManager.events.on("maximized",(e=>{this.context.safeSetAttributes({maximized:e})})),this.teleBoxManager.events.on("removed",(e=>{e.forEach((e=>{n.emit("close",{appId:e.id})}))})),this.teleBoxManager.events.on("intrinsic_move",f((e=>{n.emit("move",{appId:e.id,x:e.intrinsicX,y:e.intrinsicY})}),50)),this.teleBoxManager.events.on("intrinsic_resize",f((e=>{n.emit("resize",{appId:e.id,width:e.intrinsicWidth,height:e.intrinsicHeight})}),200)),this.teleBoxManager.events.on("focused",(e=>{e&&(this.canOperate?n.emit("focus",{appId:e.id}):this.teleBoxManager.blurBox(e.id))})),this.teleBoxManager.events.on("z_index",(e=>{this.context.updateAppState(e.id,J.ZIndex,e.zIndex)})),n.on("playgroundSizeChange",this.playgroundSizeChangeListener)}get mainView(){return this.context.getMainView()}get canOperate(){return this.context.canOperate()}get boxState(){return this.teleBoxManager.state}get maximized(){return this.teleBoxManager.maximized}get minimized(){return this.teleBoxManager.minimized}get darkMode(){return this.teleBoxManager.darkMode}get prefersColorScheme(){return this.teleBoxManager.prefersColorScheme}get boxSize(){return this.teleBoxManager.boxes.length}createBox(t){var n,i,r;if(!this.teleBoxManager)return;let{minwidth:s=re,minheight:a=se}=null!=(n=t.app.config)?n:{};const{width:o,height:l}=null!=(i=t.app.config)?i:{},c=(null==(r=t.options)?void 0:r.title)||t.appId,u=this.teleBoxManager.containerRect;s>1&&(s/=u.width),a>1&&(a/=u.height);const d={title:c,minWidth:s,minHeight:a,width:o,height:l,id:t.appId};this.teleBoxManager.create(d,t.smartPosition),this.context.emitter.emit(`${t.appId}${e.WindowCreated}`)}setBoxInitState(e){const t=this.teleBoxManager.queryOne({id:e});t&&t.state===Pi.Maximized&&this.context.emitter.emit("resize",{appId:e,x:t.x,y:t.y,width:t.intrinsicWidth,height:t.intrinsicHeight})}setupBoxManager(e){const t=Ov.wrapper?Ov.wrapper:document.body,n=t.getBoundingClientRect(),i={root:t,containerRect:{x:0,y:0,width:n.width,height:n.height},fence:!1,prefersColorScheme:null==e?void 0:e.prefersColorScheme},r=new sr(i);this.teleBoxManager&&this.teleBoxManager.destroy(),this.teleBoxManager=r;const s=(null==e?void 0:e.collectorContainer)||Ov.wrapper;return s&&this.setCollectorContainer(s),r}setCollectorContainer(e){var t;const n=new ir({styles:null==(t=this.createTeleBoxManagerConfig)?void 0:t.collectorStyles}).mount(e);this.teleBoxManager.setCollector(n)}getBox(e){return this.teleBoxManager.queryOne({id:e})}closeBox(e,t=!1){return this.teleBoxManager.remove(e,t)}boxIsFocus(e){const t=this.getBox(e);return null==t?void 0:t.focus}getFocusBox(){return this.teleBoxManager.query({focus:!0})[0]}getTopBox(){return this.teleBoxManager.topBox}updateBoxState(e){if(!e)return;const t=this.getBox(e.id);t&&(this.teleBoxManager.update(t.id,{x:e.x,y:e.y,width:e.width||.5,height:e.height||.5,zIndex:e.zIndex},!0),setTimeout((()=>{e.focus&&this.teleBoxManager.focusBox(t.id,!0),null!=e.maximized&&this.teleBoxManager.setMaximized(Boolean(e.maximized),!0),null!=e.minimized&&this.teleBoxManager.setMinimized(Boolean(e.minimized),!0)}),50),this.context.callbacks.emit("boxStateChange",this.teleBoxManager.state))}updateManagerRect(){var e;const t=null==(e=this.mainView.divElement)?void 0:e.getBoundingClientRect();if(t&&t.width>0&&t.height>0){const e={x:0,y:0,width:t.width,height:t.height};this.teleBoxManager.setContainerRect(e),this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect)}}moveBox({appId:e,x:t,y:n}){this.teleBoxManager.update(e,{x:t,y:n},!0)}focusBox({appId:e},t=!0){this.teleBoxManager.focusBox(e,t)}resizeBox({appId:e,width:t,height:n,skipUpdate:i}){this.teleBoxManager.update(e,{width:t,height:n},i)}setBoxMinSize(e){this.teleBoxManager.update(e.appId,{minWidth:e.minWidth,minHeight:e.minHeight},!0)}setBoxTitle(e){this.teleBoxManager.update(e.appId,{title:e.title},!0)}blurAllBox(){this.teleBoxManager.blurAll()}updateAll(e){this.teleBoxManager.updateAll(e)}setMaximized(e,t=!0){e!==this.maximized&&this.teleBoxManager.setMaximized(e,t)}setMinimized(e,t=!0){this.teleBoxManager.setMinimized(e,t)}focusTopBox(){if(this.teleBoxManager.query().length>=1){const e=this.getTopBox();e&&this.focusBox({appId:e.id},!1)}}updateBox(e,t,n=!0){this.teleBoxManager.update(e,t,n)}setReadonly(e){this.teleBoxManager.setReadonly(e)}setPrefersColorScheme(e){this.teleBoxManager.setPrefersColorScheme(e)}setZIndex(e,t,n=!0){this.teleBoxManager.update(e,{zIndex:t},n)}destroy(){Lv.off("playgroundSizeChange",this.playgroundSizeChangeListener),this.teleBoxManager.destroy()}}function or(){}function lr(e){return e()}function cr(){return Object.create(null)}function ur(e){e.forEach(lr)}function dr(e){return"function"==typeof e}function hr(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}let pr,fr;function gr(e,t){return pr||(pr=document.createElement("a")),pr.href=t,e===pr.href}function mr(e,t){e.appendChild(t)}function vr(e,t,n){e.insertBefore(t,n||null)}function br(e){e.parentNode.removeChild(e)}function wr(e){return document.createElement(e)}function yr(e){return document.createTextNode(e)}function xr(){return yr(" ")}function Mr(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Cr(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function Sr(e,t,n,i){e.style.setProperty(t,n,i?"important":"")}function Ir(e){fr=e}const Er=[],Ar=[],Tr=[],kr=[],Nr=Promise.resolve();let Pr=!1;function zr(e){Tr.push(e)}let Dr=!1;const Lr=new Set;function Br(){if(!Dr){Dr=!0;do{for(let e=0;e<Er.length;e+=1){const t=Er[e];Ir(t),jr(t.$$)}for(Ir(null),Er.length=0;Ar.length;)Ar.pop()();for(let e=0;e<Tr.length;e+=1){const t=Tr[e];Lr.has(t)||(Lr.add(t),t())}Tr.length=0}while(Er.length);for(;kr.length;)kr.pop()();Pr=!1,Dr=!1,Lr.clear()}}function jr(e){if(null!==e.fragment){e.update(),ur(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(zr)}}const _r=new Set;function Or(e,t){-1===e.$$.dirty[0]&&(Er.push(e),Pr||(Pr=!0,Nr.then(Br)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function Vr(e,t,n,i,r,s,a,o=[-1]){const l=fr;Ir(e);const c=e.$$={fragment:null,ctx:null,props:s,update:or,not_equal:r,bound:cr(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(l?l.$$.context:t.context||[]),callbacks:cr(),dirty:o,skip_bound:!1,root:t.target||l.$$.root};a&&a(c.root);let u=!1;if(c.ctx=n?n(e,t.props||{},((t,n,...i)=>{const s=i.length?i[0]:n;return c.ctx&&r(c.ctx[t],c.ctx[t]=s)&&(!c.skip_bound&&c.bound[t]&&c.bound[t](s),u&&Or(e,t)),n})):[],c.update(),u=!0,ur(c.before_update),c.fragment=!!i&&i(c.ctx),t.target){if(t.hydrate){const e=(p=t.target,Array.from(p.childNodes));c.fragment&&c.fragment.l(e),e.forEach(br)}else c.fragment&&c.fragment.c();t.intro&&((d=e.$$.fragment)&&d.i&&(_r.delete(d),d.i(h))),function(e,t,n,i){const{fragment:r,on_mount:s,on_destroy:a,after_update:o}=e.$$;r&&r.m(t,n),i||zr((()=>{const t=s.map(lr).filter(dr);a?a.push(...t):ur(t),e.$$.on_mount=[]})),o.forEach(zr)}(e,t.target,t.anchor,t.customElement),Br()}var d,h,p;Ir(l)}function Rr(e){let t,n,i;return{c(){t=wr("img"),Mr(t,"class","netless-window-manager-cursor-selector-avatar"),Mr(t,"style",n=e[15]()),gr(t.src,i=e[7])||Mr(t,"src",i),Mr(t,"alt","avatar")},m(e,n){vr(e,t,n)},p(e,n){128&n&&!gr(t.src,i=e[7])&&Mr(t,"src",i)},d(e){e&&br(t)}}}function Ur(e){let t,n;return{c(){t=wr("span"),n=yr(e[1]),Mr(t,"class","netless-window-manager-cursor-tag-name"),Sr(t,"background-color",e[10])},m(e,i){vr(e,t,i),mr(t,n)},p(e,i){2&i&&Cr(n,e[1]),1024&i&&Sr(t,"background-color",e[10])},d(e){e&&br(t)}}}function Wr(e){let t,n,i,r,s,a,o,l,c,u,d,h,p=e[13]&&Rr(e),f=e[14]&&Ur(e);return{c(){t=wr("div"),n=wr("div"),i=wr("div"),p&&p.c(),r=xr(),s=wr("span"),a=yr(e[0]),o=xr(),f&&f.c(),l=xr(),c=wr("div"),u=wr("img"),Sr(s,"overflow","hidden"),Sr(s,"white-space","nowrap"),Sr(s,"text-overflow","ellipsis"),Sr(s,"max-width","80px"),Mr(i,"class",e[8]),Sr(i,"background-color",e[2]),Sr(i,"color",e[9]),Sr(i,"opacity",e[11]),Mr(n,"class","netless-window-manager-cursor-name"),Mr(u,"class",d="netless-window-manager-cursor-"+e[3]+"-image"),gr(u.src,h=e[6])||Mr(u,"src",h),Mr(u,"alt",e[3]),Mr(c,"class","cursor-image-wrapper"),Mr(t,"class","netless-window-manager-cursor-mid"),Sr(t,"transform","translateX("+e[4]+"px) translateY("+e[5]+"px)"),Sr(t,"display",e[12])},m(e,d){vr(e,t,d),mr(t,n),mr(n,i),p&&p.m(i,null),mr(i,r),mr(i,s),mr(s,a),mr(i,o),f&&f.m(i,null),mr(t,l),mr(t,c),mr(c,u)},p(e,[n]){e[13]?p?p.p(e,n):(p=Rr(e),p.c(),p.m(i,r)):p&&(p.d(1),p=null),1&n&&Cr(a,e[0]),e[14]?f?f.p(e,n):(f=Ur(e),f.c(),f.m(i,null)):f&&(f.d(1),f=null),256&n&&Mr(i,"class",e[8]),4&n&&Sr(i,"background-color",e[2]),512&n&&Sr(i,"color",e[9]),2048&n&&Sr(i,"opacity",e[11]),8&n&&d!==(d="netless-window-manager-cursor-"+e[3]+"-image")&&Mr(u,"class",d),64&n&&!gr(u.src,h=e[6])&&Mr(u,"src",h),8&n&&Mr(u,"alt",e[3]),48&n&&Sr(t,"transform","translateX("+e[4]+"px) translateY("+e[5]+"px)"),4096&n&&Sr(t,"display",e[12])},i:or,o:or,d(e){e&&br(t),p&&p.d(),f&&f.d()}}}function Hr(e,t,n){let i,r,s,a,{cursorName:o}=t,{tagName:l}=t,{backgroundColor:c}=t,{appliance:u}=t,{x:d}=t,{y:h}=t,{src:p}=t,{visible:f}=t,{avatar:g}=t,{theme:m}=t,{color:v}=t,{cursorTagBackgroundColor:b}=t,{opacity:w}=t;return e.$$set=e=>{"cursorName"in e&&n(0,o=e.cursorName),"tagName"in e&&n(1,l=e.tagName),"backgroundColor"in e&&n(2,c=e.backgroundColor),"appliance"in e&&n(3,u=e.appliance),"x"in e&&n(4,d=e.x),"y"in e&&n(5,h=e.y),"src"in e&&n(6,p=e.src),"visible"in e&&n(16,f=e.visible),"avatar"in e&&n(7,g=e.avatar),"theme"in e&&n(8,m=e.theme),"color"in e&&n(9,v=e.color),"cursorTagBackgroundColor"in e&&n(10,b=e.cursorTagBackgroundColor),"opacity"in e&&n(11,w=e.opacity)},e.$$.update=()=>{1&e.$$.dirty&&(i=!C(o)),2&e.$$.dirty&&n(14,r=!C(l)),128&e.$$.dirty&&n(13,s=!C(g)),65536&e.$$.dirty&&n(12,a=f?"initial":"none")},[o,l,c,u,d,h,p,g,m,v,b,w,a,s,r,()=>Object.entries({width:(i?19:28)+"px",height:(i?19:28)+"px",position:i?"initial":"absolute","border-color":i?"white":c,"margin-right":(i?4:0)+"px"}).map((([e,t])=>`${e}: ${t}`)).join(";"),f]}class $r extends class{$destroy(){!function(e,t){const n=e.$$;null!==n.fragment&&(ur(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}(this,1),this.$destroy=or}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}{constructor(e){super(),Vr(this,e,Hr,Wr,hr,{cursorName:0,tagName:1,backgroundColor:2,appliance:3,x:4,y:5,src:6,visible:16,avatar:7,theme:8,color:9,cursorTagBackgroundColor:10,opacity:11})}}const Qr={[W.pencil]:"data:image/png;base64,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",[W.selector]:"data:image/png;base64,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",[W.eraser]:"data:image/png;base64,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",[W.shape]:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",[W.text]:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="};class Fr{constructor(e,t,n,i){this.manager=e,this.memberId=t,this.cursorManager=n,this.wrapper=i,this.move=e=>{var t;if("main"===e.type){const t=this.cursorManager.wrapperRect;this.component&&t&&(this.autoHidden(),this.moveCursor(e,t,this.manager.mainView))}else{const n=this.cursorManager.focusView,i=null==(t=null==n?void 0:n.divElement)?void 0:t.getBoundingClientRect(),r=null==n?void 0:n.camera;n&&i&&r&&this.component&&(this.autoHidden(),this.moveCursor(e,i,n))}},this.leave=()=>{this.hide()},this.setMember(),this.createCursor(),this.autoHidden()}moveCursor(e,t,n){var i,r;const{x:s,y:a,type:o}=e,l=null==n?void 0:n.screen.convertPointToScreen(s,a);if(l){let e=l.x-2,n=l.y-18;if("app"===o){const i=this.cursorManager.wrapperRect;i&&(e=e+t.x-i.x,n=n+t.y-i.y)}l.x<0||l.x>t.width||l.y<0||l.y>t.height?null==(i=this.component)||i.$set({visible:!1,x:e,y:n}):null==(r=this.component)||r.$set({visible:!0,x:e,y:n})}}get memberApplianceName(){var e,t;return null==(t=null==(e=this.member)?void 0:e.memberState)?void 0:t.currentApplianceName}get memberColor(){var e,t;return`rgb(${null==(t=null==(e=this.member)?void 0:e.memberState)?void 0:t.strokeColor.join(",")})`}get payload(){var e;return null==(e=this.member)?void 0:e.payload}get memberCursorName(){var e,t;return(null==(e=this.payload)?void 0:e.nickName)||(null==(t=this.payload)?void 0:t.cursorName)||this.memberId}get memberTheme(){var e;return(null==(e=this.payload)?void 0:e.theme)?"netless-window-manager-cursor-inner-mellow":"netless-window-manager-cursor-inner"}get memberCursorTextColor(){var e;return(null==(e=this.payload)?void 0:e.cursorTextColor)||"#FFFFFF"}get memberCursorTagBackgroundColor(){var e;return(null==(e=this.payload)?void 0:e.cursorTagBackgroundColor)||this.memberColor}get memberAvatar(){var e;return null==(e=this.payload)?void 0:e.avatar}get memberOpacity(){return this.memberCursorName||this.memberAvatar?1:0}autoHidden(){this.timer&&clearTimeout(this.timer),this.timer=window.setTimeout((()=>{this.hide()}),1e4)}async createCursor(){this.member&&this.wrapper&&(this.component=new $r({target:this.wrapper,props:this.initProps()}))}initProps(){return{x:0,y:0,appliance:this.memberApplianceName,avatar:this.memberAvatar,src:this.getIcon(),visible:!1,backgroundColor:this.memberColor,cursorName:this.memberCursorName,theme:this.memberTheme,color:this.memberCursorTextColor,cursorTagBackgroundColor:this.memberCursorTagBackgroundColor,opacity:this.memberOpacity}}getIcon(){if(this.member){return Qr[this.memberApplianceName||W.shape]||Qr[W.shape]}}setMember(){this.member=this.manager.findMemberByUid(this.memberId),this.updateComponent()}updateComponent(){var e;null==(e=this.component)||e.$set(E(this.initProps(),["x","y"]))}destroy(){this.component&&this.component.$destroy(),this.cursorManager.cursorInstances.delete(this.memberId),this.timer&&clearTimeout(this.timer)}hide(){this.component&&(this.component.$set({visible:!1}),this.destroy())}}class Zr{constructor(e){var t;this.manager=e,this.cursorInstances=new Map,this.sideEffectManager=new Y,this.store=this.manager.store,this.mouseMoveListener=A((e=>{this.updateCursor(this.getType(e),e.clientX,e.clientY)}),16),this.getPoint=(e,t,n)=>{var i;const r=null==(i=null==e?void 0:e.divElement)?void 0:i.getBoundingClientRect();if(r){return null==e?void 0:e.convertToPointInWorld({x:t-r.x,y:n-r.y})}},this.getType=e=>{var t;const n=e.target,i=this.manager.focusApp;switch(n.parentElement){case this.mainViewElement:return{type:"main"};case null==(t=null==i?void 0:i.view)?void 0:t.divElement:return{type:"app"};default:return{type:"main"}}},this.mouseLeaveListener=()=>{this.hideCursor(this.manager.uid)},this.roomMembers=null==(t=this.manager.room)?void 0:t.state.roomMembers;const n=Ov.wrapper;n&&this.setupWrapper(n),Lv.on("cursorMove",(e=>{let t=this.cursorInstances.get(e.uid);t||(t=new Fr(this.manager,e.uid,this,Ov.wrapper),this.cursorInstances.set(e.uid,t)),e.state===ne.Leave?t.leave():t.move(e.position)}))}setupWrapper(e){this.sideEffectManager.add((()=>(e.addEventListener("pointerenter",this.mouseMoveListener),e.addEventListener("pointermove",this.mouseMoveListener),e.addEventListener("pointerleave",this.mouseLeaveListener),()=>{e.removeEventListener("pointerenter",this.mouseMoveListener),e.removeEventListener("pointermove",this.mouseMoveListener),e.removeEventListener("pointerleave",this.mouseLeaveListener)}))),this.wrapperRect=e.getBoundingClientRect()}setMainViewDivElement(e){this.mainViewElement=e}get boxState(){return this.store.getBoxState()}get focusView(){var e;return null==(e=this.manager.focusApp)?void 0:e.view}updateCursor(t,n,i){if(this.wrapperRect&&this.manager.canOperate){const r="main"===t.type?this.manager.mainView:this.focusView,s=this.getPoint(r,n,i);s&&this.manager.dispatchInternalEvent(e.CursorMove,{uid:this.manager.uid,position:{x:s.x,y:s.y,type:t.type}})}}updateContainerRect(){var e,t;this.containerRect=null==(e=Ov.container)?void 0:e.getBoundingClientRect(),this.wrapperRect=null==(t=Ov.wrapper)?void 0:t.getBoundingClientRect()}deleteCursor(e){this.store.cleanCursor(e);const t=this.cursorInstances.get(e);t&&t.destroy()}hideCursor(e){const t=this.cursorInstances.get(e);t&&t.hide()}destroy(){this.sideEffectManager.flushAll(),this.cursorInstances.size&&(this.cursorInstances.forEach((e=>{e.destroy()})),this.cursorInstances.clear())}}const Yr=e=>{const t=e.removeScenes;e.removeScenes=n=>{const i=t.call(e,n);return Lv.emit("removeScenes",n),i}},Gr=e=>{const t=e.seekToProgressTime;e.seekToProgressTime=async function(n){const i=await t.call(e,n);return"success"===i&&Lv.emit("seek",n),i}};var Xr=Object.defineProperty,Jr=Object.defineProperties,Kr=Object.getOwnPropertyDescriptors,qr=Object.getOwnPropertySymbols,es=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,ns=(e,t,n)=>t in e?Xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,is=(e,t)=>{for(var n in t||(t={}))es.call(t,n)&&ns(e,n,t[n]);if(qr)for(var n of qr(t))ts.call(t,n)&&ns(e,n,t[n]);return e},rs=(e,t)=>Jr(e,Kr(t));const ss=(e,t,n,i)=>{if("length"===n||"prototype"===n)return;if("arguments"===n||"caller"===n)return;const r=Object.getOwnPropertyDescriptor(e,n),s=Object.getOwnPropertyDescriptor(t,n);!as(r,s)&&i||Object.defineProperty(e,n,s)},as=function(e,t){return void 0===e||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},os=(e,t)=>`/* Wrapped ${e}*/\n${t}`,ls=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),cs=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");var us=(e,t,{ignoreNonConfigurable:n=!1}={})=>{const{name:i}=e;for(const r of Reflect.ownKeys(t))ss(e,t,r,n);return((e,t)=>{const n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)})(e,t),((e,t,n)=>{const i=""===n?"":`with ${n.trim()}() `,r=os.bind(null,i,t.toString());Object.defineProperty(r,"name",cs),Object.defineProperty(e,"toString",rs(is({},ls),{value:r}))})(e,t,i),e};const ds=(e,t={})=>{if("function"!=typeof e)throw new TypeError(`Expected the first argument to be a function, got \`${typeof e}\``);const{wait:n=0,maxWait:i=Number.Infinity,before:r=!1,after:s=!0}=t;if(!r&&!s)throw new Error("Both `before` and `after` are false, function wouldn't be called.");let a,o,l;const c=function(...t){const c=this,u=()=>{o=void 0,a&&(clearTimeout(a),a=void 0),s&&(l=e.apply(c,t))},d=r&&!a;return clearTimeout(a),a=setTimeout((()=>{a=void 0,o&&(clearTimeout(o),o=void 0),s&&(l=e.apply(c,t))}),n),i>0&&i!==Number.Infinity&&!o&&(o=setTimeout(u,i)),d&&(l=e.apply(c,t)),l};return us(c,e),c.cancel=()=>{a&&(clearTimeout(a),a=void 0),o&&(clearTimeout(o),o=void 0)},c},hs="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",ps=hs.length,fs=Array(20),gs=()=>{for(let e=0;e<20;e++)fs[e]=hs.charAt(Math.random()*ps);return fs.join("")};class ms{constructor(){this.disposers=new Map}add(e,t=gs()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=gs()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,n,i,r=gs()){return this.add((()=>(e.addEventListener(t,n,i),()=>e.removeEventListener(t,n,i))),r),r}setTimeout(e,t,n=gs()){return this.add((()=>{const i=window.setTimeout((()=>{this.remove(n),e()}),t);return()=>window.clearTimeout(i)}),n)}setInterval(e,t,n=gs()){return this.add((()=>{const n=window.setInterval(e,t);return()=>window.clearInterval(n)}),n)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(n){console.error(n)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}const vs="undefined"!=typeof window,bs=vs&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),ws=vs&&"IntersectionObserver"in window,ys=vs&&"classList"in document.createElement("p"),xs=vs&&window.devicePixelRatio>1,Ms={elements_selector:".lazy",container:bs||vs?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},Cs=e=>Object.assign({},Ms,e),Ss=function(e,t){let n;const i="LazyLoad::Initialized",r=new e(t);try{n=new CustomEvent(i,{detail:{instance:r}})}catch(s){n=document.createEvent("CustomEvent"),n.initCustomEvent(i,!1,!1,{instance:r})}window.dispatchEvent(n)},Is="src",Es="llOriginalAttrs",As=(e,t)=>e.getAttribute("data-"+t),Ts=e=>As(e,"ll-status"),ks=(e,t)=>((e,t,n)=>{var i="data-"+t;null!==n?e.setAttribute(i,n):e.removeAttribute(i)})(e,"ll-status",t),Ns=e=>ks(e,null),Ps=e=>null===Ts(e),zs=e=>"native"===Ts(e),Ds=["loading","loaded","applied","error"],Ls=(e,t,n,i)=>{e&&(void 0===i?void 0===n?e(t):e(t,n):e(t,n,i))},Bs=(e,t)=>{ys?e.classList.add(t):e.className+=(e.className?" ":"")+t},js=(e,t)=>{ys?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},_s=e=>e.llTempImage,Os=(e,t)=>{if(!t)return;const n=t._observer;n&&n.unobserve(e)},Vs=(e,t)=>{e&&(e.loadingCount+=t)},Rs=(e,t)=>{e&&(e.toLoadCount=t)},Us=e=>{let t=[];for(let n,i=0;n=e.children[i];i+=1)"SOURCE"===n.tagName&&t.push(n);return t},Ws=(e,t)=>{const n=e.parentNode;if(!n||"PICTURE"!==n.tagName)return;Us(n).forEach(t)},Hs=(e,t)=>{Us(e).forEach(t)},$s=[Is],Qs=[Is,"poster"],Fs=[Is,"srcset","sizes"],Zs=e=>!!e[Es],Ys=e=>e[Es],Gs=e=>delete e[Es],Xs=(e,t)=>{if(Zs(e))return;const n={};t.forEach((t=>{n[t]=e.getAttribute(t)})),e[Es]=n},Js=(e,t)=>{if(!Zs(e))return;const n=Ys(e);t.forEach((t=>{((e,t,n)=>{n?e.setAttribute(t,n):e.removeAttribute(t)})(e,t,n[t])}))},Ks=(e,t,n)=>{Bs(e,t.class_loading),ks(e,"loading"),n&&(Vs(n,1),Ls(t.callback_loading,e,n))},qs=(e,t,n)=>{n&&e.setAttribute(t,n)},ea=(e,t)=>{qs(e,"sizes",As(e,t.data_sizes)),qs(e,"srcset",As(e,t.data_srcset)),qs(e,Is,As(e,t.data_src))},ta=(e,t,n)=>{const i=As(e,t.data_bg_multi),r=As(e,t.data_bg_multi_hidpi),s=xs&&r?r:i;s&&(e.style.backgroundImage=s,((e,t,n)=>{Bs(e,t.class_applied),ks(e,"applied"),n&&(t.unobserve_completed&&Os(e,t),Ls(t.callback_applied,e,n))})(e,t,n))},na={IMG:(e,t)=>{Ws(e,(e=>{Xs(e,Fs),ea(e,t)})),Xs(e,Fs),ea(e,t)},IFRAME:(e,t)=>{Xs(e,$s),qs(e,Is,As(e,t.data_src))},VIDEO:(e,t)=>{Hs(e,(e=>{Xs(e,$s),qs(e,Is,As(e,t.data_src))})),Xs(e,Qs),qs(e,"poster",As(e,t.data_poster)),qs(e,Is,As(e,t.data_src)),e.load()}},ia=["IMG","IFRAME","VIDEO"],ra=(e,t)=>{!t||(e=>e.loadingCount>0)(t)||(e=>e.toLoadCount>0)(t)||Ls(e.callback_finish,t)},sa=(e,t,n)=>{e.addEventListener(t,n),e.llEvLisnrs[t]=n},aa=(e,t,n)=>{e.removeEventListener(t,n)},oa=e=>!!e.llEvLisnrs,la=e=>{if(!oa(e))return;const t=e.llEvLisnrs;for(let n in t){const i=t[n];aa(e,n,i)}delete e.llEvLisnrs},ca=(e,t,n)=>{(e=>{delete e.llTempImage})(e),Vs(n,-1),(e=>{e&&(e.toLoadCount-=1)})(n),js(e,t.class_loading),t.unobserve_completed&&Os(e,n)},ua=(e,t,n)=>{const i=_s(e)||e;if(oa(i))return;((e,t,n)=>{oa(e)||(e.llEvLisnrs={});const i="VIDEO"===e.tagName?"loadeddata":"load";sa(e,i,t),sa(e,"error",n)})(i,(r=>{((e,t,n,i)=>{const r=zs(t);ca(t,n,i),Bs(t,n.class_loaded),ks(t,"loaded"),Ls(n.callback_loaded,t,i),r||ra(n,i)})(0,e,t,n),la(i)}),(r=>{((e,t,n,i)=>{const r=zs(t);ca(t,n,i),Bs(t,n.class_error),ks(t,"error"),Ls(n.callback_error,t,i),r||ra(n,i)})(0,e,t,n),la(i)}))},da=(e,t,n)=>{(e=>{e.llTempImage=document.createElement("IMG")})(e),ua(e,t,n),(e=>{Zs(e)||(e[Es]={backgroundImage:e.style.backgroundImage})})(e),((e,t,n)=>{const i=As(e,t.data_bg),r=As(e,t.data_bg_hidpi),s=xs&&r?r:i;s&&(e.style.backgroundImage=`url("${s}")`,_s(e).setAttribute(Is,s),Ks(e,t,n))})(e,t,n),ta(e,t,n)},ha=(e,t,n)=>{ua(e,t,n),((e,t,n)=>{const i=na[e.tagName];i&&(i(e,t),Ks(e,t,n))})(e,t,n)},pa=(e,t,n)=>{(e=>ia.indexOf(e.tagName)>-1)(e)?ha(e,t,n):da(e,t,n)},fa=(e,t,n)=>{e.setAttribute("loading","lazy"),ua(e,t,n),((e,t)=>{const n=na[e.tagName];n&&n(e,t)})(e,t),ks(e,"native")},ga=e=>{e.removeAttribute(Is),e.removeAttribute("srcset"),e.removeAttribute("sizes")},ma=e=>{Ws(e,(e=>{Js(e,Fs)})),Js(e,Fs)},va={IMG:ma,IFRAME:e=>{Js(e,$s)},VIDEO:e=>{Hs(e,(e=>{Js(e,$s)})),Js(e,Qs),e.load()}},ba=e=>{const t=va[e.tagName];t?t(e):(e=>{if(!Zs(e))return;const t=Ys(e);e.style.backgroundImage=t.backgroundImage})(e)},wa=(e,t)=>{ba(e),((e,t)=>{Ps(e)||zs(e)||(js(e,t.class_entered),js(e,t.class_exited),js(e,t.class_applied),js(e,t.class_loading),js(e,t.class_loaded),js(e,t.class_error))})(e,t),Ns(e),Gs(e)},ya=(e,t,n,i)=>{n.cancel_on_exit&&(e=>"loading"===Ts(e))(e)&&"IMG"===e.tagName&&(la(e),(e=>{Ws(e,(e=>{ga(e)})),ga(e)})(e),ma(e),js(e,n.class_loading),Vs(i,-1),Ns(e),Ls(n.callback_cancel,e,t,i))},xa=(e,t,n,i)=>{const r=(e=>Ds.indexOf(Ts(e))>=0)(e);ks(e,"entered"),Bs(e,n.class_entered),js(e,n.class_exited),((e,t,n)=>{t.unobserve_entered&&Os(e,n)})(e,n,i),Ls(n.callback_enter,e,t,i),r||pa(e,n,i)},Ma=["IMG","IFRAME","VIDEO"],Ca=e=>e.use_native&&"loading"in HTMLImageElement.prototype,Sa=(e,t,n)=>{e.forEach((e=>(e=>e.isIntersecting||e.intersectionRatio>0)(e)?xa(e.target,e,t,n):((e,t,n,i)=>{Ps(e)||(Bs(e,n.class_exited),ya(e,t,n,i),Ls(n.callback_exit,e,t,i))})(e.target,e,t,n)))},Ia=(e,t)=>{ws&&!Ca(e)&&(t._observer=new IntersectionObserver((n=>{Sa(n,e,t)}),(e=>({root:e.container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}))(e)))},Ea=e=>Array.prototype.slice.call(e),Aa=e=>e.container.querySelectorAll(e.elements_selector),Ta=e=>(e=>"error"===Ts(e))(e),ka=(e,t)=>(e=>Ea(e).filter(Ps))(e||Aa(t)),Na=(e,t)=>{var n;(n=Aa(e),Ea(n).filter(Ta)).forEach((t=>{js(t,e.class_error),Ns(t)})),t.update()},Pa=function(e,t){const n=Cs(e);this._settings=n,this.loadingCount=0,Ia(n,this),((e,t)=>{vs&&window.addEventListener("online",(()=>{Na(e,t)}))})(n,this),this.update(t)};Pa.prototype={update:function(e){const t=this._settings,n=ka(e,t);var i,r;(Rs(this,n.length),!bs&&ws)?Ca(t)?((e,t,n)=>{e.forEach((e=>{-1!==Ma.indexOf(e.tagName)&&fa(e,t,n)})),Rs(n,0)})(n,t,this):(i=this._observer,r=n,(e=>{e.disconnect()})(i),((e,t)=>{t.forEach((t=>{e.observe(t)}))})(i,r)):this.loadAll(n)},destroy:function(){this._observer&&this._observer.disconnect(),Aa(this._settings).forEach((e=>{Gs(e)})),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(e){const t=this._settings;ka(e,t).forEach((e=>{Os(e,this),pa(e,t,this)}))},restoreAll:function(){const e=this._settings;Aa(e).forEach((t=>{wa(t,e)}))}},Pa.load=(e,t)=>{const n=Cs(t);pa(e,n)},Pa.resetStatus=e=>{Ns(e)},vs&&((e,t)=>{if(t)if(t.length)for(let n,i=0;n=t[i];i+=1)Ss(e,n);else Ss(e,t)})(Pa,window.lazyLoadOptions);class za{constructor({readonly:e,box:t,pages:n,onNewPageIndex:i,onPlay:r}){if(this.pageIndex=0,this.namespace="netless-app-docs-viewer",this.isShowPreview=!1,this.isSmallBox=!1,this.sideEffect=new ms,n.length<=0)throw new Error("[DocsViewer] Empty pages.");this.readonly=e,this.box=t,this.pages=n,this.onNewPageIndex=i,this.onPlay=r,this.render()}mount(){this.box.mountContent(this.$content),this.box.mountFooter(this.$footer),this.sideEffect.add((()=>{const e=new Pa({container:this.$preview,elements_selector:`.${this.wrapClassName("preview-page>img")}`});return()=>e.destroy()}),"preview-lazyload")}unmount(){this.$content.remove(),this.$footer.remove()}setReadonly(e){this.readonly!==e&&(this.readonly=e,this.$content.classList.toggle(this.wrapClassName("readonly"),e),this.$footer.classList.toggle(this.wrapClassName("readonly"),e),this.$pageNumberInput.disabled=e)}destroy(){this.sideEffect.flushAll(),this.unmount()}setPageIndex(e){Number.isNaN(e)||(this.pageIndex=e,this.$pageNumberInput.value=String(e+1))}setSmallBox(e){this.isSmallBox!==e&&(this.isSmallBox=e,this.$footer.classList.toggle(this.wrapClassName("float-footer"),e))}render(){return this.renderContent(),this.renderFooter(),this.$content}renderContent(){if(!this.$content){const e=document.createElement("div");e.className=this.wrapClassName("content"),this.$content=e,this.readonly&&e.classList.add(this.wrapClassName("readonly")),e.appendChild(this.renderPreviewMask()),e.appendChild(this.renderPreview())}return this.$content}renderPreview(){if(!this.$preview){const e=document.createElement("div");e.className=this.wrapClassName("preview")+" tele-fancy-scrollbar",this.$preview=e;const t=this.wrapClassName("preview-page"),n=this.wrapClassName("preview-page-name");this.pages.forEach(((i,r)=>{var s;const a=null!=(s=i.thumbnail)?s:i.src.startsWith("ppt")?void 0:i.src;if(!a)return;const o=String(r),l=document.createElement("a");l.className=t+" "+this.wrapClassName(`preview-page-${r}`),l.setAttribute("href","#"),l.dataset.pageIndex=o;const c=document.createElement("span");c.className=n,c.textContent=String(r+1),c.dataset.pageIndex=o;const u=document.createElement("img");u.width=i.width,u.height=i.height,u.dataset.src=a,u.dataset.pageIndex=o,l.appendChild(u),l.appendChild(c),e.appendChild(l)})),this.sideEffect.addEventListener(e,"click",(e=>{var t;if(this.readonly)return;const n=null==(t=e.target.dataset)?void 0:t.pageIndex;n&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this.onNewPageIndex(Number(n)),this.togglePreview(!1))}))}return this.$preview}renderPreviewMask(){return this.$previewMask||(this.$previewMask=document.createElement("div"),this.$previewMask.className=this.wrapClassName("preview-mask"),this.sideEffect.addEventListener(this.$previewMask,"click",(e=>{this.readonly||e.target===this.$previewMask&&this.togglePreview(!1)}))),this.$previewMask}renderFooter(){if(!this.$footer){const e=document.createElement("div");if(e.className=this.wrapClassName("footer"),this.$footer=e,this.readonly&&e.classList.add(this.wrapClassName("readonly")),this.isSmallBox&&e.classList.add(this.wrapClassName("float-footer")),this.pages.some((e=>e.thumbnail||!e.src.startsWith("ppt")))){const e=this.renderFooterBtn("btn-sidebar",function(e){const t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");n.setAttribute("class",`${e}-footer-icon-sidebar`),n.setAttribute("viewBox","0 0 64 64");const i=document.createElementNS(t,"path");return i.setAttribute("fill","currentColor"),i.setAttribute("d","M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z"),n.appendChild(i),n}(this.namespace));this.sideEffect.addEventListener(e,"click",(()=>{this.readonly||this.togglePreview()})),this.$footer.appendChild(e)}const t=document.createElement("div");t.className=this.wrapClassName("page-jumps");const n=this.renderFooterBtn("btn-page-back",function(e){const t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");n.setAttribute("class",`${e}-footer-icon-arrow-left`),n.setAttribute("viewBox","0 0 500 500");const i=document.createElementNS(t,"path");return i.setAttribute("fill","currentColor"),i.setAttribute("d","M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z"),n.appendChild(i),n}(this.namespace));if(this.sideEffect.addEventListener(n,"click",(()=>{this.readonly||this.onNewPageIndex(this.pageIndex-1)})),t.appendChild(n),this.onPlay){const e=this.renderFooterBtn("btn-page-play",function(e){const t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");n.setAttribute("class",`${e}-footer-icon-play`),n.setAttribute("viewBox","0 0 500 500");const i=document.createElementNS(t,"path");return i.setAttribute("fill","currentColor"),i.setAttribute("d","M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z"),n.appendChild(i),n}(this.namespace),function(e){const t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");n.setAttribute("class",`${e}-footer-icon-pause`),n.setAttribute("viewBox","0 0 500 500");const i=document.createElementNS(t,"path");return i.setAttribute("fill","currentColor"),i.setAttribute("d","M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z"),n.appendChild(i),n}(this.namespace)),n=()=>{this.sideEffect.setTimeout((()=>{e.classList.toggle(this.wrapClassName("footer-btn-playing"),!1)}),500,"returnPlay")};this.sideEffect.addEventListener(e,"click",(()=>{this.readonly||(e.classList.toggle(this.wrapClassName("footer-btn-playing"),!0),this.onPlay&&this.onPlay(),n())})),t.appendChild(e)}const i=this.renderFooterBtn("btn-page-next",function(e){const t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");n.setAttribute("class",`${e}-footer-icon-arrow-right`),n.setAttribute("viewBox","0 0 500 500");const i=document.createElementNS(t,"path");return i.setAttribute("fill","currentColor"),i.setAttribute("d","M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z"),n.appendChild(i),n}(this.namespace));this.sideEffect.addEventListener(i,"click",(()=>{this.readonly||this.onNewPageIndex(this.pageIndex+1)})),t.appendChild(i);const r=document.createElement("div");r.className=this.wrapClassName("page-number");const s=document.createElement("input");s.className=this.wrapClassName("page-number-input"),s.value=String(this.pageIndex+1),this.readonly&&(s.disabled=!0),this.$pageNumberInput=s,this.sideEffect.addEventListener(s,"focus",(()=>{s.select()})),this.sideEffect.addEventListener(s,"change",(()=>{this.readonly||s.value&&this.onNewPageIndex(Number(s.value)-1)}));const a=document.createElement("span");a.textContent=" / "+this.pages.length,r.appendChild(s),r.appendChild(a),this.$footer.appendChild(t),this.$footer.appendChild(r)}return this.$footer}renderFooterBtn(e,t,n){const i=document.createElement("button");return i.className=this.wrapClassName("footer-btn")+" "+this.wrapClassName(e),i.appendChild(t),n&&i.appendChild(n),i}togglePreview(e){if(this.isShowPreview=null!=e?e:!this.isShowPreview,this.$content.classList.toggle(this.wrapClassName("preview-active"),this.isShowPreview),this.isShowPreview){const e=this.$preview.querySelector("."+this.wrapClassName(`preview-page-${this.pageIndex}`));e&&this.$preview.scrollTo({top:e.offsetTop-16})}}wrapClassName(e){return`${this.namespace}-${e}`}}function Da(e,t,n){return Math.min(Math.max(e,t),n)}function La(e){return e.touches?e.touches[0]:e}function Ba(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}class ja{constructor(e){var t,n,i;this.velocity=0,this.paused=!0,this._animationFrameID=null,this._loopTimestamp=0,this.looper=e=>{if(this.paused)return;let t=Math.floor((e-this._loopTimestamp)/1e3*60)+1;for(this._loopTimestamp=e;t-- >0;)this.stepper();this.onStep(this.current,this),this.paused||this.current===this.target||window.requestAnimationFrame(this.looper)},this.current=null!=(t=e.start)?t:0,this.target=this.current,this.stiffness=null!=(n=e.stiffness)?n:170,this.damping=null!=(i=e.damping)?i:26,this.onStep=e.onStep}stepTo(e,t){this.paused&&null!=t&&(this.current=t),this.paused=!1,this.target=e,this.onStep(this.current,this),this._loopTimestamp=Date.now(),window.requestAnimationFrame(this.looper)}pause(){this.paused=!0}destroy(){this.pause()}stepper(){const e=-this.stiffness*(this.current-this.target),t=-this.damping*this.velocity,n=this.velocity+(e+t)/60,i=this.current+n/60;Math.abs(n-0)<.01&&Math.abs(i-this.target)<.01?(this.current=this.target,this.velocity=0):(this.current=i,this.velocity=n)}}class _a{constructor(e,t,n){this.scale=1,this.lastVisit=Date.now(),this.pageOffsetY=0,this.visible=!0,this.index=e,this.page=t,this.scale=n;const i=document.createElement("div");i.className="page-renderer-page",i.dataset.index=`${e}`,i.style.width=t.width*n+"px",i.style.height=t.height*n+"px",t.thumbnail&&(i.style.backgroundImage=`url("${t.thumbnail}")`);const r=document.createElement("img");r.className="page-renderer-page-img",r.width=t.width,r.height=t.height,r.src=t.src,i.appendChild(r),this.$page=i}translateY(e){Math.abs(e-this.pageOffsetY)>=.001&&(this.pageOffsetY=e,window.requestAnimationFrame?window.requestAnimationFrame((()=>{this.$page.style.transform=`translateY(${e*this.scale}px)`})):this.$page.style.transform=`translateY(${e*this.scale}px)`)}setScale(e){Math.abs(e-this.scale)>=.001&&(this.scale=e,this.$page.style.width=this.page.width*this.scale+"px",this.$page.style.height=this.page.height*this.scale+"px",this.$page.style.transform=`translateY(${this.pageOffsetY*this.scale}px)`)}setVisible(e){e!==this.visible&&(this.visible=e,this.$page.style.opacity=e?"1":"0")}}const Oa=window.requestIdleCallback||(e=>window.setTimeout(e,5e3)),Va=window.cancelIdleCallback||window.clearTimeout;class Ra{constructor(e,t){this.pages=e,this.scale=t,this.els=new Map,this.maxElCount=200,this.gcTimer=null,this.gc=()=>{if(this.gcTimer=null,this.els.size>this.maxElCount){const e=[...this.els.values()].sort(((e,t)=>t.lastVisit-e.lastVisit));for(let t=Math.floor(this.maxElCount/4);t<e.length;t++)this.els.delete(e[t].index)}}}getEl(e){let t=this.els.get(e);return t||(t=new _a(e,this.pages[e],this.scale),this.els.set(e,t)),t.lastVisit=Date.now(),this.els.size>this.maxElCount&&null===this.gcTimer&&(this.gcTimer=Oa(this.gc)),t}setScale(e){e!==this.scale&&(this.scale=e,this.els.forEach((t=>t.setScale(e))))}destroy(){this.els.clear(),null!==this.gcTimer&&(Va(this.gcTimer),this.gcTimer=null)}}class Ua{constructor(e){this._hwaTimeout=NaN,this._turnOffHWA=()=>{window.clearTimeout(this._hwaTimeout),this._hwaTimeout=NaN,this.$pages.classList.toggle("is-hwa",!1)},this.pagesScrollTop=e.pagesScrollTop||0,this.containerWidth=e.containerWidth||1,this.containerHeight=e.containerHeight||1,this.pages=e.pages.map((e=>{if(e.thumbnail)return e;try{const t=new URL(e.src);return t.searchParams.set("x-oss-process","image/resize,l_50"),rs(is({},e),{thumbnail:t.toString()})}catch(Vv){return console.error(Vv),e}}));const t=Array(this.pages.length);let n=1/0,i=0;this.pagesIntrinsicHeight=this.pages.reduce(((e,r,s)=>(t[s]=e,r.width>i&&(i=r.width),r.height<=n&&(n=r.height),e+r.height)),0),this.pagesIntrinsicWidth=i,this.pagesMinHeight=n,this.pagesIntrinsicYs=t,this.scale=this._calcScale(),this.threshold=this._calcThreshold(),this.onPageIndexChanged=e.onPageIndexChanged,this.pageScrollIndex=0,0!==this.pagesScrollTop&&(this.pageScrollIndex=this.findScrollPageIndex(),this.onPageIndexChanged&&this.pageScrollIndex>0&&this.onPageIndexChanged(this.pageScrollIndex)),this.pageElManager=new Ra(this.pages,this.scale),this.$pages=this.renderPages()}setContainerSize(e,t){e>0&&t>0&&(e===this.containerWidth&&t===this.containerHeight||(this.containerWidth=e,this.containerHeight=t,this.$pages.style.width=`${this.containerWidth}px`,this.$pages.style.height=`${this.containerHeight}px`,this.scale=this._calcScale(),this.threshold=this._calcThreshold(),this.pageElManager.setScale(this.scale),this.$pages.parentElement&&this.pagesScrollTo(this.pagesScrollTop,!0)))}renderPages(){const e=document.createElement("div");return e.className="page-renderer-pages-container",e.style.width=`${this.containerWidth}px`,e.style.height=`${this.containerHeight}px`,e}pagesScrollTo(e,t){if(e=Da(e,0,this.pagesIntrinsicHeight-this.containerHeight/this.scale),t||Math.abs(e-this.pagesScrollTop)>=.001){this._turnOnHWA(),this.pagesScrollTop=e;const t=this.findScrollPageIndex(),n=Math.max(t-this.threshold,0),i=Math.min(t+this.threshold,this.pages.length-1);for(let e=0;e<this.$pages.children.length;e++){const t=this.$pages.children[e],r=Number(t.dataset.index);r>=n&&r<=i||(t.remove(),e--)}for(let e=n;e<=i;e++){const t=this.pageElManager.getEl(e);t.$page.parentElement!==this.$pages&&this.$pages.appendChild(t.$page),t.translateY(this.pagesIntrinsicYs[e]-this.pagesScrollTop)}t!==this.pageScrollIndex&&(this.pageScrollIndex=t,this.onPageIndexChanged&&this.onPageIndexChanged(t))}}findScrollPageIndex(){for(let e=0;e<this.pagesIntrinsicYs.length;e++)if(this.pagesIntrinsicYs[e]+this.pages[e].height-this.pagesScrollTop>=.001)return e;return this.pagesIntrinsicYs.length-1}mount(e){e.appendChild(this.$pages),this.pagesScrollTo(this.pagesScrollTop,!0)}unmount(){this.$pages.remove()}destroy(){this.unmount(),this.onPageIndexChanged=void 0,this.pageElManager.destroy(),this._hwaTimeout&&(window.clearTimeout(this._hwaTimeout),this._hwaTimeout=NaN)}_calcScale(){return this.containerWidth/this.pagesIntrinsicWidth||1}_calcThreshold(){return Da(Math.ceil(this.containerHeight/this.scale/this.pagesMinHeight/2),1,this.pages.length)}_turnOnHWA(){this._hwaTimeout?window.clearTimeout(this._hwaTimeout):this.$pages.classList.toggle("is-hwa",!0),this._hwaTimeout=window.setTimeout(this._turnOffHWA,1e3)}}class Wa{constructor(e){this.sideEffect=new ms,this.pagesScrollTop=e.pagesScrollTop||0,this.containerWidth=e.containerWidth||1,this.containerHeight=e.containerHeight||1,this.pagesWidth=e.pagesWidth||1,this.pagesHeight=e.pagesHeight||1,this.scale=this._calcScale(),this.scrollbarMinHeight=e.scrollbarMinHeight||30,this.scrollbarHeight=this._calcScrollbarHeight(),this.readonly=e.readonly,this.wrapClassName=e.wrapClassName,this.onDragScroll=e.onDragScroll,this.$scrollbar=this.renderScrollbar()}mount(e){e.appendChild(this.$scrollbar),this.pagesScrollTo(this.pagesScrollTop,!0)}unmount(){this.$scrollbar.remove()}setReadonly(e){this.readonly=e}setContainerSize(e,t){e>0&&t>0&&(e===this.containerWidth&&t===this.containerHeight||(this.containerWidth=e,this.containerHeight=t,this.scale=this._calcScale(),this._updateScrollbarHeight(),this.$scrollbar.parentElement&&this.pagesScrollTo(this.pagesScrollTop,!0)))}pagesScrollTo(e,t){if(e=Da(e,0,this.pagesHeight-this.containerHeight/this.scale),t||Math.abs(e-this.pagesScrollTop)>=.001){this.pagesScrollTop=e;const t=this.pagesScrollTop*this.scale/(this.pagesHeight*this.scale-this.containerHeight)*(this.containerHeight-this.scrollbarHeight);window.requestAnimationFrame?window.requestAnimationFrame((()=>{this.$scrollbar.style.transform=`translateY(${t}px)`})):this.$scrollbar.style.transform=`translateY(${t}px)`}}destroy(){this.unmount(),this.onDragScroll=void 0,this.sideEffect.flushAll()}renderScrollbar(){const e=document.createElement("button");e.className=this.wrapClassName("scrollbar"),e.style.minHeight=`${this.scrollbarMinHeight}px`,e.style.height=`${this.scrollbarHeight}px`;const t=t=>{if(this.readonly)return;if(null!=t.button&&0!==t.button)return;Ba(t);const n=this.wrapClassName("scrollbar-dragging");e.classList.toggle(n,!0);const i=this.pagesScrollTop,{clientY:r}=La(t),s=e=>{if(this.readonly)return;const{clientY:t}=La(e),n=(t-r)/this.scale;Math.abs(n)>0&&this.onDragScroll&&this.onDragScroll(i+n*(this.pagesHeight*this.scale/this.containerHeight))},a=()=>{e.classList.toggle(n,!1),window.removeEventListener("mousemove",s,!0),window.removeEventListener("touchmove",s,!0),window.removeEventListener("mouseup",a,!0),window.removeEventListener("touchend",a,!0),window.removeEventListener("touchcancel",a,!0)};window.addEventListener("mousemove",s,!0),window.addEventListener("touchmove",s,!0),window.addEventListener("mouseup",a,!0),window.addEventListener("touchend",a,!0),window.addEventListener("touchcancel",a,!0)};return this.sideEffect.addEventListener(e,"mousedown",t),this.sideEffect.addEventListener(e,"touchstart",t),e}_calcScale(){return this.containerWidth/this.pagesWidth||1}_calcScrollbarHeight(){return Da(this.containerHeight/(this.pagesHeight*this.scale)*this.containerHeight,this.scrollbarMinHeight,this.containerHeight)}_updateScrollbarHeight(){const e=this._calcScrollbarHeight();Math.abs(e-this.scrollbarHeight)>.001&&(this.scrollbarHeight=e,this.$scrollbar.style.height=`${e}px`)}}class Ha{constructor({whiteboardView:e,readonly:t,box:n,pages:i,pageScrollTop:r=0,mountWhiteboard:s,onUserScroll:a}){this.sideEffect=new ms,this.userScrolling=!1,this.onNewPageIndex=e=>{this.scrollToPage(e)},this.whiteboardView=e,this.readonly=t,this.box=n,this.pages=i,this.mountWhiteboard=s,this._onUserScroll=a;const o=this.debounce((()=>{this.userScrolling=!1,this._onUserScroll&&this._onUserScroll(this.pageRenderer.pagesScrollTop)}),{wait:80},"debounce-updateUserScroll");this.updateUserScroll=()=>{this.userScrolling=!0,o()},this.viewer=new za({readonly:t,box:n,pages:i,onNewPageIndex:this.onNewPageIndex});const{width:l,height:c}=this.whiteboardView.size;this.pageRenderer=new Ua({pagesScrollTop:r,pages:this.pages,containerWidth:l,containerHeight:c,onPageIndexChanged:this.viewer.setPageIndex.bind(this.viewer)}),this.scrollbar=new Wa({pagesScrollTop:this.pageRenderer.pagesScrollTop,containerWidth:l,containerHeight:c,pagesWidth:this.pageRenderer.pagesIntrinsicWidth,pagesHeight:this.pageRenderer.pagesIntrinsicHeight,readonly:this.readonly,wrapClassName:this.wrapClassName.bind(this),onDragScroll:e=>{this.pageScrollTo(e),this.updateUserScroll()}}),this.pageScrollStepper=new ja({start:this.pageRenderer.pagesScrollTop,onStep:e=>{this.pageScrollTo(e)}}),this.render()}mount(){return this.viewer.mount(),this.setupScrollListener(),this.sideEffect.add((()=>{const e=this.renderRatioHeight.bind(this);return this.box.events.on("visual_resize",e),()=>this.box.events.off("visual_resize",e)})),this.sideEffect.setTimeout((()=>{this.userScrolling||this.pageScrollTo(this.pageRenderer.pagesScrollTop)}),100),this}unmount(){return this.viewer.unmount(),this}setReadonly(e){this.readonly!==e&&(this.readonly=e,this.viewer.setReadonly(e),this.scrollbar.setReadonly(e))}destroy(){this.sideEffect.flushAll(),this.pageScrollStepper.destroy(),this._onUserScroll=void 0,this.unmount(),this.viewer.destroy(),this.pageRenderer.destroy(),this.scrollbar.destroy()}syncPageScrollTop(e){!this.userScrolling&&e>=0&&Math.abs(this.pageRenderer.pagesScrollTop-e)>.01&&this.pageScrollStepper.stepTo(e,this.pageRenderer.pagesScrollTop)}render(){this.pageRenderer.mount(this.viewer.$content),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.scrollbar.mount(this.viewer.$content),this.renderRatioHeight()}renderRatioHeight(){const e=this.box.absoluteHeight,t=e<=640;if(this.viewer.setSmallBox(t),t){const t=26/640,n=26/e,i=26/640,r=0,s=Math.max((t+i-(n+r))/2,0);if(this.box.$titleBar){const e=n+s;this.box.$titleBar.style.height=100*e+"%"}if(this.box.$footer){const e=r+s;this.box.$footer.style.height=100*e+"%"}}else{if(this.box.$titleBar){const t=Math.max(26/640,26/e);this.box.$titleBar.style.height=100*t+"%"}if(this.box.$footer){const t=Math.max(26/640,26/e);this.box.$footer.style.height=100*t+"%"}}}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view"),this.mountWhiteboard(this.$whiteboardView),this.sideEffect.addEventListener(this.$whiteboardView,"wheel",(e=>{Ba(e),this.readonly||(this.pageScrollTo(this.pageRenderer.pagesScrollTop+e.deltaY),this.updateUserScroll())}),{passive:!1,capture:!0}),this.sideEffect.addEventListener(this.$whiteboardView,"touchmove",(e=>{this.readonly||e.touches.length<=1||this.updateUserScroll()}),{passive:!0,capture:!0})),this.$whiteboardView}scrollTopPageToEl(e){return e*this.pageRenderer.scale}scrollTopElToPage(e){return e/this.pageRenderer.scale}elScrollTo(e){this.pageScrollTo(this.scrollTopElToPage(e))}pageScrollTo(e){const t=this.scrollTopElToPage(this.whiteboardView.size.height/2);this.whiteboardView.moveCamera({centerY:Da(e+t,t,this.pageRenderer.pagesIntrinsicHeight-t),animationMode:"immediately"})}scrollToPage(e){if(!this.readonly&&!Number.isNaN(e)){const t=this.pageRenderer.pagesIntrinsicYs[e];t>=0&&(this.pageScrollTo(t+5/this.pageRenderer.scale),this.updateUserScroll())}}setupScrollListener(){this.sideEffect.add((()=>{const e=e=>{const{width:t,height:n}=this.whiteboardView.size;if(t<=0||n<=0)return;const i=e.centerY-this.pageRenderer.containerHeight/this.pageRenderer.scale/2;this.pageRenderer.pagesScrollTo(i),this.scrollbar.pagesScrollTo(i)};return this.whiteboardView.callbacks.on("onCameraUpdated",e),()=>this.whiteboardView.callbacks.off("onCameraUpdated",e)})),this.sideEffect.add((()=>{const e=({width:e,height:t})=>{if(e<=0||t<=0)return;this.pageRenderer.setContainerSize(e,t),this.scrollbar.setContainerSize(e,t);const{pagesIntrinsicWidth:n,pagesIntrinsicHeight:i}=this.pageRenderer;this.whiteboardView.moveCameraToContain({originX:0,originY:this.pageRenderer.pagesScrollTop,width:n,height:t/this.pageRenderer.scale,animationMode:"immediately"}),this.whiteboardView.setCameraBound({damping:1,maxContentMode:()=>this.pageRenderer.scale,minContentMode:()=>this.pageRenderer.scale,centerX:n/2,centerY:i/2,width:n,height:i})};return this.whiteboardView.callbacks.on("onSizeUpdated",e),()=>{this.whiteboardView.callbacks.off("onSizeUpdated",e)}}),"whiteboard-size-update"),this.sideEffect.addEventListener(window,"keyup",(e=>{if(this.readonly||!this.box.focus||this.box.minimized)return;let t=null;switch(e.key){case"PageDown":t=this.pageRenderer.pagesScrollTop+this.pageRenderer.containerHeight/this.pageRenderer.scale;break;case"PageUp":t=this.pageRenderer.pagesScrollTop-this.pageRenderer.containerHeight/this.pageRenderer.scale;break;case"ArrowDown":t=this.pageRenderer.pagesScrollTop+this.pageRenderer.containerHeight/4/this.pageRenderer.scale;break;case"ArrowUp":t=this.pageRenderer.pagesScrollTop-this.pageRenderer.containerHeight/4/this.pageRenderer.scale}null!==t&&(this._onUserScroll?this._onUserScroll(t):(this.pageScrollTo(t),this.updateUserScroll()))}),{capture:!0})}debounce(e,t,n){const i=ds(e,t);return this.sideEffect.addDisposer((()=>i.cancel()),n),i}wrapClassName(e){return"netless-app-docs-viewer-static-"+e}}class $a{constructor({context:e,whiteboardView:t,box:n,pages:i}){this.sideEffect=new ms,this.onPlayPPT=()=>{const e=this.context.getRoom();e&&e.pptNextStep()},this._scaleDocsToFitImpl=()=>{const e=this.pages[this.getPageIndex()];e&&this.whiteboardView.moveCameraToContain({originX:-e.width/2,originY:-e.height/2,width:e.width,height:e.height,animationMode:"immediately"})},this._scaleDocsToFitDebounced=()=>{this.sideEffect.setTimeout(this._scaleDocsToFitImpl,1e3,"_scaleDocsToFitDebounced")},this.scaleDocsToFit=()=>{this._scaleDocsToFitImpl(),this._scaleDocsToFitDebounced()},this.onNewPageIndex=e=>{this.jumpToPage(e,!0)},this.context=e,this.whiteboardView=t,this.box=n,this.pages=i,this.displayer=e.getDisplayer(),this.viewer=new za({readonly:!e.getIsWritable(),box:n,pages:i,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlayPPT}),this.render(),this.sideEffect.add((()=>{const e=e=>{this.viewer.setReadonly(!e)};return this.context.emitter.on("writableChange",e),()=>this.context.emitter.off("writableChange",e)})),this.sideEffect.add((()=>{const e=e=>{this.jumpToPage(e.index)};return this.context.emitter.on("sceneStateChange",e),()=>this.context.emitter.off("sceneStateChange",e)}))}mount(){this.viewer.mount();const e=this.getPageIndex();return 0!==e&&this.jumpToPage(e),this.scaleDocsToFit(),this.sideEffect.add((()=>(this.whiteboardView.callbacks.on("onSizeUpdated",this.scaleDocsToFit),()=>{this.whiteboardView.callbacks.off("onSizeUpdated",this.scaleDocsToFit)}))),this}unmount(){return this.viewer.unmount(),this}destroy(){this.sideEffect.flushAll(),this.unmount(),this.viewer.destroy()}getPageIndex(){return this.displayer.state.sceneState.index}jumpToPage(e,t){var n,i;if((e=Da(e,0,this.pages.length-1))!==this.getPageIndex()&&this.context.getIsWritable()){const t=this.context.getInitScenePath(),r=null==(i=null==(n=this.context.getScenes())?void 0:n[e])?void 0:i.name;t&&r&&this.context.setScenePath(`${t}/${r}`),this.scaleDocsToFit()}if(e!==this.viewer.pageIndex&&this.viewer.setPageIndex(e),t){const t=this.context.getRoom();if(t){const n=t.state.globalState.__pptState;t.setGlobalState({__pptState:n&&{uuid:n.uuid,pageIndex:e,disableAutoPlay:n.disableAutoPlay}})}}}render(){this.viewer.$content.appendChild(this.renderMask()),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.sideEffect.addEventListener(window,"keydown",(e=>{var t;if(this.box.focus)switch(e.key){case"ArrowUp":case"ArrowLeft":this.jumpToPage(this.getPageIndex()-1,!0);break;case"ArrowRight":case"ArrowDown":null==(t=this.context.getRoom())||t.pptNextStep()}}))}renderMask(){if(!this.$mask){const e=document.createElement("div");e.className=this.wrapClassName("mask"),this.$mask=e;document.createElement("button").className=this.wrapClassName("back");document.createElement("button").className=this.wrapClassName("next")}return this.$mask}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view"),this.sideEffect.addEventListener(this.$whiteboardView,"click",(e=>{var t;const n=this.context.getRoom();if(n&&"clicker"===n.state.memberState.currentApplianceName){for(let n=e.target;n;n=n.parentElement)if(null==(t=n.classList)?void 0:t.contains("ppt-event-source"))return;n.pptNextStep()}})),this.context.mountView(this.$whiteboardView)),this.$whiteboardView}wrapClassName(e){return"netless-app-docs-viewer-dynamic-"+e}}const Qa={kind:"DocsViewer",setup(e){const t=e.getBox(),n=e.getScenes();if(!n)throw new Error("[Docs Viewer]: scenes not found.");const i=e.getView();if(!i)throw new Error("[Docs Viewer]: no whiteboard view.");const r=n.map((({ppt:e})=>e?{width:e.width,height:e.height,src:e.src,thumbnail:e.previewURL}:null)).filter((e=>Boolean(e)));if(r.length<=0)throw new Error("[Docs Viewer]: empty scenes.");t.mountStyles(".netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}\n"),r[0].src.startsWith("ppt")?function(e,t,n,i){t.disableCameraTransform=!0;const r=new $a({context:e,whiteboardView:t,box:n,pages:i}).mount();e.mountView(r.$whiteboardView),e.isAddApp&&t.callbacks.once("onSizeUpdated",(({width:t,height:r})=>{if(i.length>0&&"maximized"!==n.state){const{width:s,height:a}=i[0],o=a/s*t-r;0!==o&&e.getIsWritable()&&e.emitter.emit("setBoxSize",{width:n.width,height:n.height+o/n.containerRect.height})}}))}(e,i,t,r):function(e,t,n,i){var r;t.disableCameraTransform=!e.getIsWritable();const s=new Ha({whiteboardView:t,readonly:!e.getIsWritable(),box:n,pages:i,pageScrollTop:null==(r=e.getAttributes())?void 0:r.pageScrollTop,mountWhiteboard:e.mountView.bind(e),onUserScroll:t=>{var i;(null==(i=e.getAttributes())?void 0:i.pageScrollTop)===t||n.readonly||e.updateAttributes(["pageScrollTop"],t)}}).mount();e.emitter.on("attributesUpdate",(e=>{e&&null!=e.pageScrollTop&&s.syncPageScrollTop(e.pageScrollTop)})),e.emitter.on("writableChange",(e=>{s.setReadonly(!e),t.disableCameraTransform=!e}))}(e,i,t,r)}};var Fa={exports:{}},Za={},Ya={exports:{}},Ga={};
|
24
|
+
/** @license React v0.19.1
|
25
|
+
* scheduler.production.min.js
|
26
|
+
*
|
27
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
28
|
+
*
|
29
|
+
* This source code is licensed under the MIT license found in the
|
30
|
+
* LICENSE file in the root directory of this source tree.
|
31
|
+
*/
|
32
|
+
!function(e){var t,n,i,r,s;if("undefined"==typeof window||"function"!=typeof MessageChannel){var a=null,o=null,l=function(){if(null!==a)try{var t=e.unstable_now();a(!0,t),a=null}catch(n){throw setTimeout(l,0),n}},c=Date.now();e.unstable_now=function(){return Date.now()-c},t=function(e){null!==a?setTimeout(t,0,e):(a=e,setTimeout(l,0))},n=function(e,t){o=setTimeout(e,t)},i=function(){clearTimeout(o)},r=function(){return!1},s=e.unstable_forceFrameRate=function(){}}else{var u=window.performance,d=window.Date,h=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var f=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof u&&"function"==typeof u.now)e.unstable_now=function(){return u.now()};else{var g=d.now();e.unstable_now=function(){return d.now()-g}}var m=!1,v=null,b=-1,w=5,y=0;r=function(){return e.unstable_now()>=y},s=function(){},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):w=0<e?Math.floor(1e3/e):5};var x=new MessageChannel,M=x.port2;x.port1.onmessage=function(){if(null!==v){var t=e.unstable_now();y=t+w;try{v(!0,t)?M.postMessage(null):(m=!1,v=null)}catch(n){throw M.postMessage(null),n}}else m=!1},t=function(e){v=e,m||(m=!0,M.postMessage(null))},n=function(t,n){b=h((function(){t(e.unstable_now())}),n)},i=function(){p(b),b=-1}}function C(e,t){var n=e.length;e.push(t);e:for(;;){var i=n-1>>>1,r=e[i];if(!(void 0!==r&&0<E(r,t)))break e;e[i]=t,e[n]=r,n=i}}function S(e){return void 0===(e=e[0])?null:e}function I(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length;i<r;){var s=2*(i+1)-1,a=e[s],o=s+1,l=e[o];if(void 0!==a&&0>E(a,n))void 0!==l&&0>E(l,a)?(e[i]=l,e[o]=n,i=o):(e[i]=a,e[s]=n,i=s);else{if(!(void 0!==l&&0>E(l,n)))break e;e[i]=l,e[o]=n,i=o}}}return t}return null}function E(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var A=[],T=[],k=1,N=null,P=3,z=!1,D=!1,L=!1;function B(e){for(var t=S(T);null!==t;){if(null===t.callback)I(T);else{if(!(t.startTime<=e))break;I(T),t.sortIndex=t.expirationTime,C(A,t)}t=S(T)}}function j(e){if(L=!1,B(e),!D)if(null!==S(A))D=!0,t(_);else{var i=S(T);null!==i&&n(j,i.startTime-e)}}function _(t,s){D=!1,L&&(L=!1,i()),z=!0;var a=P;try{for(B(s),N=S(A);null!==N&&(!(N.expirationTime>s)||t&&!r());){var o=N.callback;if(null!==o){N.callback=null,P=N.priorityLevel;var l=o(N.expirationTime<=s);s=e.unstable_now(),"function"==typeof l?N.callback=l:N===S(A)&&I(A),B(s)}else I(A);N=S(A)}if(null!==N)var c=!0;else{var u=S(T);null!==u&&n(j,u.startTime-s),c=!1}return c}finally{N=null,P=a,z=!1}}function O(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var V=s;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){D||z||(D=!0,t(_))},e.unstable_getCurrentPriorityLevel=function(){return P},e.unstable_getFirstCallbackNode=function(){return S(A)},e.unstable_next=function(e){switch(P){case 1:case 2:case 3:var t=3;break;default:t=P}var n=P;P=t;try{return e()}finally{P=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=V,e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=P;P=e;try{return t()}finally{P=n}},e.unstable_scheduleCallback=function(r,s,a){var o=e.unstable_now();if("object"==typeof a&&null!==a){var l=a.delay;l="number"==typeof l&&0<l?o+l:o,a="number"==typeof a.timeout?a.timeout:O(r)}else a=O(r),l=o;return r={id:k++,callback:s,priorityLevel:r,startTime:l,expirationTime:a=l+a,sortIndex:-1},l>o?(r.sortIndex=l,C(T,r),null===S(A)&&r===S(T)&&(L?i():L=!0,n(j,l-o))):(r.sortIndex=a,C(A,r),D||z||(D=!0,t(_))),r},e.unstable_shouldYield=function(){var t=e.unstable_now();B(t);var n=S(A);return n!==N&&null!==N&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime<N.expirationTime||r()},e.unstable_wrapCallback=function(e){var t=P;return function(){var n=P;P=t;try{return e.apply(this,arguments)}finally{P=n}}}}(Ga),Ya.exports=Ga;
|
33
|
+
/** @license React v16.14.0
|
34
|
+
* react-dom.production.min.js
|
35
|
+
*
|
36
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
37
|
+
*
|
38
|
+
* This source code is licensed under the MIT license found in the
|
39
|
+
* LICENSE file in the root directory of this source tree.
|
40
|
+
*/
|
41
|
+
var Xa=Xe.exports,Ja=nt,Ka=Ya.exports;function qa(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!Xa)throw Error(qa(227));function eo(e,t,n,i,r,s,a,o,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var to=!1,no=null,io=!1,ro=null,so={onError:function(e){to=!0,no=e}};function ao(e,t,n,i,r,s,a,o,l){to=!1,no=null,eo.apply(so,arguments)}var oo=null,lo=null,co=null;function uo(e,t,n){var i=e.type||"unknown-event";e.currentTarget=co(n),function(e,t,n,i,r,s,a,o,l){if(ao.apply(this,arguments),to){if(!to)throw Error(qa(198));var c=no;to=!1,no=null,io||(io=!0,ro=c)}}(i,t,void 0,e),e.currentTarget=null}var ho=null,po={};function fo(){if(ho)for(var e in po){var t=po[e],n=ho.indexOf(e);if(!(-1<n))throw Error(qa(96,e));if(!mo[n]){if(!t.extractEvents)throw Error(qa(97,e));for(var i in mo[n]=t,n=t.eventTypes){var r=void 0,s=n[i],a=t,o=i;if(vo.hasOwnProperty(o))throw Error(qa(99,o));vo[o]=s;var l=s.phasedRegistrationNames;if(l){for(r in l)l.hasOwnProperty(r)&&go(l[r],a,o);r=!0}else s.registrationName?(go(s.registrationName,a,o),r=!0):r=!1;if(!r)throw Error(qa(98,i,e))}}}}function go(e,t,n){if(bo[e])throw Error(qa(100,e));bo[e]=t,wo[e]=t.eventTypes[n].dependencies}var mo=[],vo={},bo={},wo={};function yo(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var i=e[t];if(!po.hasOwnProperty(t)||po[t]!==i){if(po[t])throw Error(qa(102,t));po[t]=i,n=!0}}n&&fo()}var xo=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),Mo=null,Co=null,So=null;function Io(e){if(e=lo(e)){if("function"!=typeof Mo)throw Error(qa(280));var t=e.stateNode;t&&(t=oo(t),Mo(e.stateNode,e.type,t))}}function Eo(e){Co?So?So.push(e):So=[e]:Co=e}function Ao(){if(Co){var e=Co,t=So;if(So=Co=null,Io(e),t)for(e=0;e<t.length;e++)Io(t[e])}}function To(e,t){return e(t)}function ko(e,t,n,i,r){return e(t,n,i,r)}function No(){}var Po=To,zo=!1,Do=!1;function Lo(){null===Co&&null===So||(No(),Ao())}function Bo(e,t,n){if(Do)return e(t,n);Do=!0;try{return Po(e,t,n)}finally{Do=!1,Lo()}}var jo=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_o=Object.prototype.hasOwnProperty,Oo={},Vo={};function Ro(e,t,n,i,r,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s}var Uo={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){Uo[e]=new Ro(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];Uo[t]=new Ro(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){Uo[e]=new Ro(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){Uo[e]=new Ro(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){Uo[e]=new Ro(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){Uo[e]=new Ro(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){Uo[e]=new Ro(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){Uo[e]=new Ro(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){Uo[e]=new Ro(e,5,!1,e.toLowerCase(),null,!1)}));var Wo=/[\-:]([a-z])/g;function Ho(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(Wo,Ho);Uo[t]=new Ro(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(Wo,Ho);Uo[t]=new Ro(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(Wo,Ho);Uo[t]=new Ro(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){Uo[e]=new Ro(e,1,!1,e.toLowerCase(),null,!1)})),Uo.xlinkHref=new Ro("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){Uo[e]=new Ro(e,1,!1,e.toLowerCase(),null,!0)}));var $o=Xa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Qo(e,t,n,i){var r=Uo.hasOwnProperty(t)?Uo[t]:null;(null!==r?0===r.type:!i&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,i){if(null==t||function(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,i)&&(n=null),i||null===r?function(e){return!!_o.call(Vo,e)||!_o.call(Oo,e)&&(jo.test(e)?Vo[e]=!0:(Oo[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,i=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}$o.hasOwnProperty("ReactCurrentDispatcher")||($o.ReactCurrentDispatcher={current:null}),$o.hasOwnProperty("ReactCurrentBatchConfig")||($o.ReactCurrentBatchConfig={suspense:null});var Fo=/^(.*)[\\\/]/,Zo="function"==typeof Symbol&&Symbol.for,Yo=Zo?Symbol.for("react.element"):60103,Go=Zo?Symbol.for("react.portal"):60106,Xo=Zo?Symbol.for("react.fragment"):60107,Jo=Zo?Symbol.for("react.strict_mode"):60108,Ko=Zo?Symbol.for("react.profiler"):60114,qo=Zo?Symbol.for("react.provider"):60109,el=Zo?Symbol.for("react.context"):60110,tl=Zo?Symbol.for("react.concurrent_mode"):60111,nl=Zo?Symbol.for("react.forward_ref"):60112,il=Zo?Symbol.for("react.suspense"):60113,rl=Zo?Symbol.for("react.suspense_list"):60120,sl=Zo?Symbol.for("react.memo"):60115,al=Zo?Symbol.for("react.lazy"):60116,ol=Zo?Symbol.for("react.block"):60121,ll="function"==typeof Symbol&&Symbol.iterator;function cl(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=ll&&e[ll]||e["@@iterator"])?e:null}function ul(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case Xo:return"Fragment";case Go:return"Portal";case Ko:return"Profiler";case Jo:return"StrictMode";case il:return"Suspense";case rl:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case el:return"Context.Consumer";case qo:return"Context.Provider";case nl:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case sl:return ul(e.type);case ol:return ul(e.render);case al:if(e=1===e._status?e._result:null)return ul(e)}return null}function dl(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var i=e._debugOwner,r=e._debugSource,s=ul(e.type);n=null,i&&(n=ul(i.type)),i=s,s="",r?s=" (at "+r.fileName.replace(Fo,"")+":"+r.lineNumber+")":n&&(s=" (created by "+n+")"),n="\n in "+(i||"Unknown")+s}t+=n,e=e.return}while(e);return t}function hl(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function pl(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function fl(e){e._valueTracker||(e._valueTracker=function(e){var t=pl(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,s.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function gl(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=pl(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function ml(e,t){var n=t.checked;return Ja({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function vl(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=hl(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function bl(e,t){null!=(t=t.checked)&&Qo(e,"checked",t,!1)}function wl(e,t){bl(e,t);var n=hl(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?xl(e,t.type,n):t.hasOwnProperty("defaultValue")&&xl(e,t.type,hl(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function yl(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!("submit"!==i&&"reset"!==i||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function xl(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Ml(e,t){return e=Ja({children:void 0},t),(t=function(e){var t="";return Xa.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Cl(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+hl(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function Sl(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(qa(91));return Ja({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Il(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(qa(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(qa(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:hl(n)}}function El(e,t){var n=hl(t.value),i=hl(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=i&&(e.defaultValue=""+i)}function Al(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var Tl="http://www.w3.org/1999/xhtml",kl="http://www.w3.org/2000/svg";function Nl(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 Pl(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Nl(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var zl,Dl,Ll=(Dl=function(e,t){if(e.namespaceURI!==kl||"innerHTML"in e)e.innerHTML=t;else{for((zl=zl||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=zl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,i){MSApp.execUnsafeLocalFunction((function(){return Dl(e,t)}))}:Dl);function Bl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function jl(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var _l={animationend:jl("Animation","AnimationEnd"),animationiteration:jl("Animation","AnimationIteration"),animationstart:jl("Animation","AnimationStart"),transitionend:jl("Transition","TransitionEnd")},Ol={},Vl={};function Rl(e){if(Ol[e])return Ol[e];if(!_l[e])return e;var t,n=_l[e];for(t in n)if(n.hasOwnProperty(t)&&t in Vl)return Ol[e]=n[t];return e}xo&&(Vl=document.createElement("div").style,"AnimationEvent"in window||(delete _l.animationend.animation,delete _l.animationiteration.animation,delete _l.animationstart.animation),"TransitionEvent"in window||delete _l.transitionend.transition);var Ul=Rl("animationend"),Wl=Rl("animationiteration"),Hl=Rl("animationstart"),$l=Rl("transitionend"),Ql="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Fl=new("function"==typeof WeakMap?WeakMap:Map);function Zl(e){var t=Fl.get(e);return void 0===t&&(t=new Map,Fl.set(e,t)),t}function Yl(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Gl(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Xl(e){if(Yl(e)!==e)throw Error(qa(188))}function Jl(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Yl(e)))throw Error(qa(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(null===r)break;var s=r.alternate;if(null===s){if(null!==(i=r.return)){n=i;continue}break}if(r.child===s.child){for(s=r.child;s;){if(s===n)return Xl(r),e;if(s===i)return Xl(r),t;s=s.sibling}throw Error(qa(188))}if(n.return!==i.return)n=r,i=s;else{for(var a=!1,o=r.child;o;){if(o===n){a=!0,n=r,i=s;break}if(o===i){a=!0,i=r,n=s;break}o=o.sibling}if(!a){for(o=s.child;o;){if(o===n){a=!0,n=s,i=r;break}if(o===i){a=!0,i=s,n=r;break}o=o.sibling}if(!a)throw Error(qa(189))}}if(n.alternate!==i)throw Error(qa(190))}if(3!==n.tag)throw Error(qa(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function Kl(e,t){if(null==t)throw Error(qa(30));return null==e?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 ql(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var ec=null;function tc(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var i=0;i<t.length&&!e.isPropagationStopped();i++)uo(e,t[i],n[i]);else t&&uo(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function nc(e){if(null!==e&&(ec=Kl(ec,e)),e=ec,ec=null,e){if(ql(e,tc),ec)throw Error(qa(95));if(io)throw e=ro,io=!1,ro=null,e}}function ic(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function rc(e){if(!xo)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"==typeof t[e]),t}var sc=[];function ac(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>sc.length&&sc.push(e)}function oc(e,t,n,i){if(sc.length){var r=sc.pop();return r.topLevelType=e,r.eventSystemFlags=i,r.nativeEvent=t,r.targetInst=n,r}return{topLevelType:e,eventSystemFlags:i,nativeEvent:t,targetInst:n,ancestors:[]}}function lc(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var i=n;if(3===i.tag)i=i.stateNode.containerInfo;else{for(;i.return;)i=i.return;i=3!==i.tag?null:i.stateNode.containerInfo}if(!i)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=Mu(i)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var r=ic(e.nativeEvent);i=e.topLevelType;var s=e.nativeEvent,a=e.eventSystemFlags;0===n&&(a|=64);for(var o=null,l=0;l<mo.length;l++){var c=mo[l];c&&(c=c.extractEvents(i,t,s,r,a))&&(o=Kl(o,c))}nc(o)}}function cc(e,t,n){if(!n.has(e)){switch(e){case"scroll":Hc(t,"scroll",!0);break;case"focus":case"blur":Hc(t,"focus",!0),Hc(t,"blur",!0),n.set("blur",null),n.set("focus",null);break;case"cancel":case"close":rc(e)&&Hc(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===Ql.indexOf(e)&&Wc(e,t)}n.set(e,null)}}var uc,dc,hc,pc=!1,fc=[],gc=null,mc=null,vc=null,bc=new Map,wc=new Map,yc=[],xc="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(" "),Mc="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Cc(e,t,n,i,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:r,container:i}}function Sc(e,t){switch(e){case"focus":case"blur":gc=null;break;case"dragenter":case"dragleave":mc=null;break;case"mouseover":case"mouseout":vc=null;break;case"pointerover":case"pointerout":bc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":wc.delete(t.pointerId)}}function Ic(e,t,n,i,r,s){return null===e||e.nativeEvent!==s?(e=Cc(t,n,i,r,s),null!==t&&(null!==(t=Cu(t))&&dc(t)),e):(e.eventSystemFlags|=i,e)}function Ec(e){var t=Mu(e.target);if(null!==t){var n=Yl(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Gl(n)))return e.blockedOn=t,void Ka.unstable_runWithPriority(e.priority,(function(){hc(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ac(e){if(null!==e.blockedOn)return!1;var t=Zc(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(null!==t){var n=Cu(t);return null!==n&&dc(n),e.blockedOn=t,!1}return!0}function Tc(e,t,n){Ac(e)&&n.delete(t)}function kc(){for(pc=!1;0<fc.length;){var e=fc[0];if(null!==e.blockedOn){null!==(e=Cu(e.blockedOn))&&uc(e);break}var t=Zc(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);null!==t?e.blockedOn=t:fc.shift()}null!==gc&&Ac(gc)&&(gc=null),null!==mc&&Ac(mc)&&(mc=null),null!==vc&&Ac(vc)&&(vc=null),bc.forEach(Tc),wc.forEach(Tc)}function Nc(e,t){e.blockedOn===t&&(e.blockedOn=null,pc||(pc=!0,Ka.unstable_scheduleCallback(Ka.unstable_NormalPriority,kc)))}function Pc(e){function t(t){return Nc(t,e)}if(0<fc.length){Nc(fc[0],e);for(var n=1;n<fc.length;n++){var i=fc[n];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==gc&&Nc(gc,e),null!==mc&&Nc(mc,e),null!==vc&&Nc(vc,e),bc.forEach(t),wc.forEach(t),n=0;n<yc.length;n++)(i=yc[n]).blockedOn===e&&(i.blockedOn=null);for(;0<yc.length&&null===(n=yc[0]).blockedOn;)Ec(n),null===n.blockedOn&&yc.shift()}var zc={},Dc=new Map,Lc=new Map,Bc=["abort","abort",Ul,"animationEnd",Wl,"animationIteration",Hl,"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",$l,"transitionEnd","waiting","waiting"];function jc(e,t){for(var n=0;n<e.length;n+=2){var i=e[n],r=e[n+1],s="on"+(r[0].toUpperCase()+r.slice(1));s={phasedRegistrationNames:{bubbled:s,captured:s+"Capture"},dependencies:[i],eventPriority:t},Lc.set(i,t),Dc.set(i,s),zc[r]=s}}jc("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),jc("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),jc(Bc,2);for(var _c="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Oc=0;Oc<_c.length;Oc++)Lc.set(_c[Oc],0);var Vc=Ka.unstable_UserBlockingPriority,Rc=Ka.unstable_runWithPriority,Uc=!0;function Wc(e,t){Hc(t,e,!1)}function Hc(e,t,n){var i=Lc.get(t);switch(void 0===i?2:i){case 0:i=$c.bind(null,t,1,e);break;case 1:i=Qc.bind(null,t,1,e);break;default:i=Fc.bind(null,t,1,e)}n?e.addEventListener(t,i,!0):e.addEventListener(t,i,!1)}function $c(e,t,n,i){zo||No();var r=Fc,s=zo;zo=!0;try{ko(r,e,t,n,i)}finally{(zo=s)||Lo()}}function Qc(e,t,n,i){Rc(Vc,Fc.bind(null,e,t,n,i))}function Fc(e,t,n,i){if(Uc)if(0<fc.length&&-1<xc.indexOf(e))e=Cc(null,e,t,n,i),fc.push(e);else{var r=Zc(e,t,n,i);if(null===r)Sc(e,i);else if(-1<xc.indexOf(e))e=Cc(r,e,t,n,i),fc.push(e);else if(!function(e,t,n,i,r){switch(t){case"focus":return gc=Ic(gc,e,t,n,i,r),!0;case"dragenter":return mc=Ic(mc,e,t,n,i,r),!0;case"mouseover":return vc=Ic(vc,e,t,n,i,r),!0;case"pointerover":var s=r.pointerId;return bc.set(s,Ic(bc.get(s)||null,e,t,n,i,r)),!0;case"gotpointercapture":return s=r.pointerId,wc.set(s,Ic(wc.get(s)||null,e,t,n,i,r)),!0}return!1}(r,e,t,n,i)){Sc(e,i),e=oc(e,i,null,t);try{Bo(lc,e)}finally{ac(e)}}}}function Zc(e,t,n,i){if(null!==(n=Mu(n=ic(i)))){var r=Yl(n);if(null===r)n=null;else{var s=r.tag;if(13===s){if(null!==(n=Gl(r)))return n;n=null}else if(3===s){if(r.stateNode.hydrate)return 3===r.tag?r.stateNode.containerInfo:null;n=null}else r!==n&&(n=null)}}e=oc(e,i,n,t);try{Bo(lc,e)}finally{ac(e)}return null}var Yc={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},Gc=["Webkit","ms","Moz","O"];function Xc(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||Yc.hasOwnProperty(e)&&Yc[e]?(""+t).trim():t+"px"}function Jc(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),r=Xc(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}Object.keys(Yc).forEach((function(e){Gc.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Yc[t]=Yc[e]}))}));var Kc=Ja({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 qc(e,t){if(t){if(Kc[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(qa(137,e,""));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(qa(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(qa(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(qa(62,""))}}function eu(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tu=Tl;function nu(e,t){var n=Zl(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=wo[t];for(var i=0;i<t.length;i++)cc(t[i],e,n)}function iu(){}function ru(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function su(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function au(e,t){var n,i=su(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=su(i)}}function ou(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?ou(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function lu(){for(var e=window,t=ru();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(i){n=!1}if(!n)break;t=ru((e=t.contentWindow).document)}return t}function cu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var uu=null,du=null;function hu(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function pu(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var fu="function"==typeof setTimeout?setTimeout:void 0,gu="function"==typeof clearTimeout?clearTimeout:void 0;function mu(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function vu(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var bu=Math.random().toString(36).slice(2),wu="__reactInternalInstance$"+bu,yu="__reactEventHandlers$"+bu,xu="__reactContainere$"+bu;function Mu(e){var t=e[wu];if(t)return t;for(var n=e.parentNode;n;){if(t=n[xu]||n[wu]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=vu(e);null!==e;){if(n=e[wu])return n;e=vu(e)}return t}n=(e=n).parentNode}return null}function Cu(e){return!(e=e[wu]||e[xu])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Su(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(qa(33))}function Iu(e){return e[yu]||null}function Eu(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Au(e,t){var n=e.stateNode;if(!n)return null;var i=oo(n);if(!i)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(qa(231,t,typeof n));return n}function Tu(e,t,n){(t=Au(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=Kl(n._dispatchListeners,t),n._dispatchInstances=Kl(n._dispatchInstances,e))}function ku(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Eu(t);for(t=n.length;0<t--;)Tu(n[t],"captured",e);for(t=0;t<n.length;t++)Tu(n[t],"bubbled",e)}}function Nu(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=Au(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=Kl(n._dispatchListeners,t),n._dispatchInstances=Kl(n._dispatchInstances,e))}function Pu(e){e&&e.dispatchConfig.registrationName&&Nu(e._targetInst,null,e)}function zu(e){ql(e,ku)}var Du=null,Lu=null,Bu=null;function ju(){if(Bu)return Bu;var e,t,n=Lu,i=n.length,r="value"in Du?Du.value:Du.textContent,s=r.length;for(e=0;e<i&&n[e]===r[e];e++);var a=i-e;for(t=1;t<=a&&n[i-t]===r[s-t];t++);return Bu=r.slice(e,1<t?1-t:void 0)}function _u(){return!0}function Ou(){return!1}function Vu(e,t,n,i){for(var r in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(r)&&((t=e[r])?this[r]=t(n):"target"===r?this.target=i:this[r]=n[r]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?_u:Ou,this.isPropagationStopped=Ou,this}function Ru(e,t,n,i){if(this.eventPool.length){var r=this.eventPool.pop();return this.call(r,e,t,n,i),r}return new this(e,t,n,i)}function Uu(e){if(!(e instanceof this))throw Error(qa(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Wu(e){e.eventPool=[],e.getPooled=Ru,e.release=Uu}Ja(Vu.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=_u)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=_u)},persist:function(){this.isPersistent=_u},isPersistent:Ou,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Ou,this._dispatchInstances=this._dispatchListeners=null}}),Vu.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},Vu.extend=function(e){function t(){}function n(){return i.apply(this,arguments)}var i=this;t.prototype=i.prototype;var r=new t;return Ja(r,n.prototype),n.prototype=r,n.prototype.constructor=n,n.Interface=Ja({},i.Interface,e),n.extend=i.extend,Wu(n),n},Wu(Vu);var Hu=Vu.extend({data:null}),$u=Vu.extend({data:null}),Qu=[9,13,27,32],Fu=xo&&"CompositionEvent"in window,Zu=null;xo&&"documentMode"in document&&(Zu=document.documentMode);var Yu=xo&&"TextEvent"in window&&!Zu,Gu=xo&&(!Fu||Zu&&8<Zu&&11>=Zu),Xu=String.fromCharCode(32),Ju={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(" ")}},Ku=!1;function qu(e,t){switch(e){case"keyup":return-1!==Qu.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function ed(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var td=!1;var nd={eventTypes:Ju,extractEvents:function(e,t,n,i){var r;if(Fu)e:{switch(e){case"compositionstart":var s=Ju.compositionStart;break e;case"compositionend":s=Ju.compositionEnd;break e;case"compositionupdate":s=Ju.compositionUpdate;break e}s=void 0}else td?qu(e,n)&&(s=Ju.compositionEnd):"keydown"===e&&229===n.keyCode&&(s=Ju.compositionStart);return s?(Gu&&"ko"!==n.locale&&(td||s!==Ju.compositionStart?s===Ju.compositionEnd&&td&&(r=ju()):(Lu="value"in(Du=i)?Du.value:Du.textContent,td=!0)),s=Hu.getPooled(s,t,n,i),r?s.data=r:null!==(r=ed(n))&&(s.data=r),zu(s),r=s):r=null,(e=Yu?function(e,t){switch(e){case"compositionend":return ed(t);case"keypress":return 32!==t.which?null:(Ku=!0,Xu);case"textInput":return(e=t.data)===Xu&&Ku?null:e;default:return null}}(e,n):function(e,t){if(td)return"compositionend"===e||!Fu&&qu(e,t)?(e=ju(),Bu=Lu=Du=null,td=!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 Gu&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=$u.getPooled(Ju.beforeInput,t,n,i)).data=e,zu(t)):t=null,null===r?t:null===t?r:[r,t]}},id={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 rd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!id[e.type]:"textarea"===t}var sd={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function ad(e,t,n){return(e=Vu.getPooled(sd.change,e,t,n)).type="change",Eo(n),zu(e),e}var od=null,ld=null;function cd(e){nc(e)}function ud(e){if(gl(Su(e)))return e}function dd(e,t){if("change"===e)return t}var hd=!1;function pd(){od&&(od.detachEvent("onpropertychange",fd),ld=od=null)}function fd(e){if("value"===e.propertyName&&ud(ld))if(e=ad(ld,e,ic(e)),zo)nc(e);else{zo=!0;try{To(cd,e)}finally{zo=!1,Lo()}}}function gd(e,t,n){"focus"===e?(pd(),ld=n,(od=t).attachEvent("onpropertychange",fd)):"blur"===e&&pd()}function md(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return ud(ld)}function vd(e,t){if("click"===e)return ud(t)}function bd(e,t){if("input"===e||"change"===e)return ud(t)}xo&&(hd=rc("input")&&(!document.documentMode||9<document.documentMode));var wd={eventTypes:sd,_isInputEventSupported:hd,extractEvents:function(e,t,n,i){var r=t?Su(t):window,s=r.nodeName&&r.nodeName.toLowerCase();if("select"===s||"input"===s&&"file"===r.type)var a=dd;else if(rd(r))if(hd)a=bd;else{a=md;var o=gd}else(s=r.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===r.type||"radio"===r.type)&&(a=vd);if(a&&(a=a(e,t)))return ad(a,n,i);o&&o(e,r,t),"blur"===e&&(e=r._wrapperState)&&e.controlled&&"number"===r.type&&xl(r,"number",r.value)}},yd=Vu.extend({view:null,detail:null}),xd={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Md(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=xd[e])&&!!t[e]}function Cd(){return Md}var Sd=0,Id=0,Ed=!1,Ad=!1,Td=yd.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Cd,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=Sd;return Sd=e.screenX,Ed?"mousemove"===e.type?e.screenX-t:0:(Ed=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Id;return Id=e.screenY,Ad?"mousemove"===e.type?e.screenY-t:0:(Ad=!0,0)}}),kd=Td.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Nd={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Pd={eventTypes:Nd,extractEvents:function(e,t,n,i,r){var s="mouseover"===e||"pointerover"===e,a="mouseout"===e||"pointerout"===e;if(s&&0==(32&r)&&(n.relatedTarget||n.fromElement)||!a&&!s)return null;(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,a)?(a=t,null!==(t=(t=n.relatedTarget||n.toElement)?Mu(t):null)&&(t!==Yl(t)||5!==t.tag&&6!==t.tag)&&(t=null)):a=null;if(a===t)return null;if("mouseout"===e||"mouseover"===e)var o=Td,l=Nd.mouseLeave,c=Nd.mouseEnter,u="mouse";else"pointerout"!==e&&"pointerover"!==e||(o=kd,l=Nd.pointerLeave,c=Nd.pointerEnter,u="pointer");if(e=null==a?s:Su(a),s=null==t?s:Su(t),(l=o.getPooled(l,a,n,i)).type=u+"leave",l.target=e,l.relatedTarget=s,(n=o.getPooled(c,t,n,i)).type=u+"enter",n.target=s,n.relatedTarget=e,u=t,(i=a)&&u)e:{for(c=u,a=0,e=o=i;e;e=Eu(e))a++;for(e=0,t=c;t;t=Eu(t))e++;for(;0<a-e;)o=Eu(o),a--;for(;0<e-a;)c=Eu(c),e--;for(;a--;){if(o===c||o===c.alternate)break e;o=Eu(o),c=Eu(c)}o=null}else o=null;for(c=o,o=[];i&&i!==c&&(null===(a=i.alternate)||a!==c);)o.push(i),i=Eu(i);for(i=[];u&&u!==c&&(null===(a=u.alternate)||a!==c);)i.push(u),u=Eu(u);for(u=0;u<o.length;u++)Nu(o[u],"bubbled",l);for(u=i.length;0<u--;)Nu(i[u],"captured",n);return 0==(64&r)?[l]:[l,n]}};var zd="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},Dd=Object.prototype.hasOwnProperty;function Ld(e,t){if(zd(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++)if(!Dd.call(t,n[i])||!zd(e[n[i]],t[n[i]]))return!1;return!0}var Bd=xo&&"documentMode"in document&&11>=document.documentMode,jd={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},_d=null,Od=null,Vd=null,Rd=!1;function Ud(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Rd||null==_d||_d!==ru(n)?null:("selectionStart"in(n=_d)&&cu(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},Vd&&Ld(Vd,n)?null:(Vd=n,(e=Vu.getPooled(jd.select,Od,e,t)).type="select",e.target=_d,zu(e),e))}var Wd={eventTypes:jd,extractEvents:function(e,t,n,i,r,s){if(!(s=!(r=s||(i.window===i?i.document:9===i.nodeType?i:i.ownerDocument)))){e:{r=Zl(r),s=wo.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?Su(t):window,e){case"focus":(rd(r)||"true"===r.contentEditable)&&(_d=r,Od=t,Vd=null);break;case"blur":Vd=Od=_d=null;break;case"mousedown":Rd=!0;break;case"contextmenu":case"mouseup":case"dragend":return Rd=!1,Ud(n,i);case"selectionchange":if(Bd)break;case"keydown":case"keyup":return Ud(n,i)}return null}},Hd=Vu.extend({animationName:null,elapsedTime:null,pseudoElement:null}),$d=Vu.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Qd=yd.extend({relatedTarget:null});function Fd(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var Zd={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Yd={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"},Gd=yd.extend({key:function(e){if(e.key){var t=Zd[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Fd(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Yd[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Cd,charCode:function(e){return"keypress"===e.type?Fd(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Fd(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Xd=Td.extend({dataTransfer:null}),Jd=yd.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Cd}),Kd=Vu.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),qd=Td.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}),eh={eventTypes:zc,extractEvents:function(e,t,n,i){var r=Dc.get(e);if(!r)return null;switch(e){case"keypress":if(0===Fd(n))return null;case"keydown":case"keyup":e=Gd;break;case"blur":case"focus":e=Qd;break;case"click":if(2===n.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=Td;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=Xd;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=Jd;break;case Ul:case Wl:case Hl:e=Hd;break;case $l:e=Kd;break;case"scroll":e=yd;break;case"wheel":e=qd;break;case"copy":case"cut":case"paste":e=$d;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=kd;break;default:e=Vu}return zu(t=e.getPooled(r,t,n,i)),t}};if(ho)throw Error(qa(101));ho=Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),fo(),oo=Iu,lo=Cu,co=Su,yo({SimpleEventPlugin:eh,EnterLeaveEventPlugin:Pd,ChangeEventPlugin:wd,SelectEventPlugin:Wd,BeforeInputEventPlugin:nd});var th=[],nh=-1;function ih(e){0>nh||(e.current=th[nh],th[nh]=null,nh--)}function rh(e,t){nh++,th[nh]=e.current,e.current=t}var sh={},ah={current:sh},oh={current:!1},lh=sh;function ch(e,t){var n=e.type.contextTypes;if(!n)return sh;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r,s={};for(r in n)s[r]=t[r];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function uh(e){return null!=(e=e.childContextTypes)}function dh(){ih(oh),ih(ah)}function hh(e,t,n){if(ah.current!==sh)throw Error(qa(168));rh(ah,t),rh(oh,n)}function ph(e,t,n){var i=e.stateNode;if(e=t.childContextTypes,"function"!=typeof i.getChildContext)return n;for(var r in i=i.getChildContext())if(!(r in e))throw Error(qa(108,ul(t)||"Unknown",r));return Ja({},n,{},i)}function fh(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||sh,lh=ah.current,rh(ah,e),rh(oh,oh.current),!0}function gh(e,t,n){var i=e.stateNode;if(!i)throw Error(qa(169));n?(e=ph(e,t,lh),i.__reactInternalMemoizedMergedChildContext=e,ih(oh),ih(ah),rh(ah,e)):ih(oh),rh(oh,n)}var mh=Ka.unstable_runWithPriority,vh=Ka.unstable_scheduleCallback,bh=Ka.unstable_cancelCallback,wh=Ka.unstable_requestPaint,yh=Ka.unstable_now,xh=Ka.unstable_getCurrentPriorityLevel,Mh=Ka.unstable_ImmediatePriority,Ch=Ka.unstable_UserBlockingPriority,Sh=Ka.unstable_NormalPriority,Ih=Ka.unstable_LowPriority,Eh=Ka.unstable_IdlePriority,Ah={},Th=Ka.unstable_shouldYield,kh=void 0!==wh?wh:function(){},Nh=null,Ph=null,zh=!1,Dh=yh(),Lh=1e4>Dh?yh:function(){return yh()-Dh};function Bh(){switch(xh()){case Mh:return 99;case Ch:return 98;case Sh:return 97;case Ih:return 96;case Eh:return 95;default:throw Error(qa(332))}}function jh(e){switch(e){case 99:return Mh;case 98:return Ch;case 97:return Sh;case 96:return Ih;case 95:return Eh;default:throw Error(qa(332))}}function _h(e,t){return e=jh(e),mh(e,t)}function Oh(e,t,n){return e=jh(e),vh(e,t,n)}function Vh(e){return null===Nh?(Nh=[e],Ph=vh(Mh,Uh)):Nh.push(e),Ah}function Rh(){if(null!==Ph){var e=Ph;Ph=null,bh(e)}Uh()}function Uh(){if(!zh&&null!==Nh){zh=!0;var e=0;try{var t=Nh;_h(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Nh=null}catch(n){throw null!==Nh&&(Nh=Nh.slice(e+1)),vh(Mh,Rh),n}finally{zh=!1}}}function Wh(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function Hh(e,t){if(e&&e.defaultProps)for(var n in t=Ja({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var $h={current:null},Qh=null,Fh=null,Zh=null;function Yh(){Zh=Fh=Qh=null}function Gh(e){var t=$h.current;ih($h),e.type._context._currentValue=t}function Xh(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function Jh(e,t){Qh=e,Zh=Fh=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(If=!0),e.firstContext=null)}function Kh(e,t){if(Zh!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Zh=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Fh){if(null===Qh)throw Error(qa(308));Fh=t,Qh.dependencies={expirationTime:0,firstContext:t,responders:null}}else Fh=Fh.next=t;return e._currentValue}var qh=!1;function ep(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function tp(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function np(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function ip(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function rp(e,t){var n=e.alternate;null!==n&&tp(n,e),null===(n=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=n.next,n.next=t)}function sp(e,t,n,i){var r=e.updateQueue;qh=!1;var s=r.baseQueue,a=r.shared.pending;if(null!==a){if(null!==s){var o=s.next;s.next=a.next,a.next=o}s=a,r.shared.pending=null,null!==(o=e.alternate)&&(null!==(o=o.updateQueue)&&(o.baseQueue=a))}if(null!==s){o=s.next;var l=r.baseState,c=0,u=null,d=null,h=null;if(null!==o)for(var p=o;;){if((a=p.expirationTime)<i){var f={expirationTime:p.expirationTime,suspenseConfig:p.suspenseConfig,tag:p.tag,payload:p.payload,callback:p.callback,next:null};null===h?(d=h=f,u=l):h=h.next=f,a>c&&(c=a)}else{null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:p.suspenseConfig,tag:p.tag,payload:p.payload,callback:p.callback,next:null}),nm(a,p.suspenseConfig);e:{var g=e,m=p;switch(a=t,f=n,m.tag){case 1:if("function"==typeof(g=m.payload)){l=g.call(f,l,a);break e}l=g;break e;case 3:g.effectTag=-4097&g.effectTag|64;case 0:if(null==(a="function"==typeof(g=m.payload)?g.call(f,l,a):g))break e;l=Ja({},l,a);break e;case 2:qh=!0}}null!==p.callback&&(e.effectTag|=32,null===(a=r.effects)?r.effects=[p]:a.push(p))}if(null===(p=p.next)||p===o){if(null===(a=r.shared.pending))break;p=s.next=a.next,a.next=o,r.baseQueue=s=a,r.shared.pending=null}}null===h?u=l:h.next=d,r.baseState=u,r.baseQueue=h,im(c),e.expirationTime=c,e.memoizedState=l}}function ap(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var i=e[t],r=i.callback;if(null!==r){if(i.callback=null,i=r,r=n,"function"!=typeof i)throw Error(qa(191,i));i.call(r)}}}var op=$o.ReactCurrentBatchConfig,lp=(new Xa.Component).refs;function cp(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:Ja({},t,n),e.memoizedState=n,0===e.expirationTime&&(e.updateQueue.baseState=n)}var up={isMounted:function(e){return!!(e=e._reactInternalFiber)&&Yl(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var i=Hg(),r=op.suspense;(r=np(i=$g(i,e,r),r)).payload=t,null!=n&&(r.callback=n),ip(e,r),Qg(e,i)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var i=Hg(),r=op.suspense;(r=np(i=$g(i,e,r),r)).tag=1,r.payload=t,null!=n&&(r.callback=n),ip(e,r),Qg(e,i)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=Hg(),i=op.suspense;(i=np(n=$g(n,e,i),i)).tag=2,null!=t&&(i.callback=t),ip(e,i),Qg(e,n)}};function dp(e,t,n,i,r,s,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,s,a):!t.prototype||!t.prototype.isPureReactComponent||(!Ld(n,i)||!Ld(r,s))}function hp(e,t,n){var i=!1,r=sh,s=t.contextType;return"object"==typeof s&&null!==s?s=Kh(s):(r=uh(t)?lh:ah.current,s=(i=null!=(i=t.contextTypes))?ch(e,r):sh),t=new t(n,s),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=up,e.stateNode=t,t._reactInternalFiber=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=s),t}function pp(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&up.enqueueReplaceState(t,t.state,null)}function fp(e,t,n,i){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs=lp,ep(e);var s=t.contextType;"object"==typeof s&&null!==s?r.context=Kh(s):(s=uh(t)?lh:ah.current,r.context=ch(e,s)),sp(e,n,r,i),r.state=e.memoizedState,"function"==typeof(s=t.getDerivedStateFromProps)&&(cp(e,t,s,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&up.enqueueReplaceState(r,r.state,null),sp(e,n,r,i),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.effectTag|=4)}var gp=Array.isArray;function mp(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(qa(309));var i=n.stateNode}if(!i)throw Error(qa(147,e));var r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:((t=function(e){var t=i.refs;t===lp&&(t=i.refs={}),null===e?delete t[r]:t[r]=e})._stringRef=r,t)}if("string"!=typeof e)throw Error(qa(284));if(!n._owner)throw Error(qa(290,e))}return e}function vp(e,t){if("textarea"!==e.type)throw Error(qa(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,""))}function bp(e){function t(t,n){if(e){var i=t.lastEffect;null!==i?(i.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function i(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=Cm(e,t)).index=0,e.sibling=null,e}function s(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.effectTag=2,n):i:(t.effectTag=2,n):n}function a(t){return e&&null===t.alternate&&(t.effectTag=2),t}function o(e,t,n,i){return null===t||6!==t.tag?((t=Em(n,e.mode,i)).return=e,t):((t=r(t,n)).return=e,t)}function l(e,t,n,i){return null!==t&&t.elementType===n.type?((i=r(t,n.props)).ref=mp(e,t,n),i.return=e,i):((i=Sm(n.type,n.key,n.props,null,e.mode,i)).ref=mp(e,t,n),i.return=e,i)}function c(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Am(n,e.mode,i)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function u(e,t,n,i,s){return null===t||7!==t.tag?((t=Im(n,e.mode,i,s)).return=e,t):((t=r(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Em(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case Yo:return(n=Sm(t.type,t.key,t.props,null,e.mode,n)).ref=mp(e,null,t),n.return=e,n;case Go:return(t=Am(t,e.mode,n)).return=e,t}if(gp(t)||cl(t))return(t=Im(t,e.mode,n,null)).return=e,t;vp(e,t)}return null}function h(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==r?null:o(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case Yo:return n.key===r?n.type===Xo?u(e,t,n.props.children,i,r):l(e,t,n,i):null;case Go:return n.key===r?c(e,t,n,i):null}if(gp(n)||cl(n))return null!==r?null:u(e,t,n,i,null);vp(e,n)}return null}function p(e,t,n,i,r){if("string"==typeof i||"number"==typeof i)return o(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case Yo:return e=e.get(null===i.key?n:i.key)||null,i.type===Xo?u(t,e,i.props.children,r,i.key):l(t,e,i,r);case Go:return c(t,e=e.get(null===i.key?n:i.key)||null,i,r)}if(gp(i)||cl(i))return u(t,e=e.get(n)||null,i,r,null);vp(t,i)}return null}return function(o,l,c,u){var f="object"==typeof c&&null!==c&&c.type===Xo&&null===c.key;f&&(c=c.props.children);var g="object"==typeof c&&null!==c;if(g)switch(c.$$typeof){case Yo:e:{for(g=c.key,f=l;null!==f;){if(f.key===g){switch(f.tag){case 7:if(c.type===Xo){n(o,f.sibling),(l=r(f,c.props.children)).return=o,o=l;break e}break;default:if(f.elementType===c.type){n(o,f.sibling),(l=r(f,c.props)).ref=mp(o,f,c),l.return=o,o=l;break e}}n(o,f);break}t(o,f),f=f.sibling}c.type===Xo?((l=Im(c.props.children,o.mode,u,c.key)).return=o,o=l):((u=Sm(c.type,c.key,c.props,null,o.mode,u)).ref=mp(o,l,c),u.return=o,o=u)}return a(o);case Go:e:{for(f=c.key;null!==l;){if(l.key===f){if(4===l.tag&&l.stateNode.containerInfo===c.containerInfo&&l.stateNode.implementation===c.implementation){n(o,l.sibling),(l=r(l,c.children||[])).return=o,o=l;break e}n(o,l);break}t(o,l),l=l.sibling}(l=Am(c,o.mode,u)).return=o,o=l}return a(o)}if("string"==typeof c||"number"==typeof c)return c=""+c,null!==l&&6===l.tag?(n(o,l.sibling),(l=r(l,c)).return=o,o=l):(n(o,l),(l=Em(c,o.mode,u)).return=o,o=l),a(o);if(gp(c))return function(r,a,o,l){for(var c=null,u=null,f=a,g=a=0,m=null;null!==f&&g<o.length;g++){f.index>g?(m=f,f=null):m=f.sibling;var v=h(r,f,o[g],l);if(null===v){null===f&&(f=m);break}e&&f&&null===v.alternate&&t(r,f),a=s(v,a,g),null===u?c=v:u.sibling=v,u=v,f=m}if(g===o.length)return n(r,f),c;if(null===f){for(;g<o.length;g++)null!==(f=d(r,o[g],l))&&(a=s(f,a,g),null===u?c=f:u.sibling=f,u=f);return c}for(f=i(r,f);g<o.length;g++)null!==(m=p(f,r,g,o[g],l))&&(e&&null!==m.alternate&&f.delete(null===m.key?g:m.key),a=s(m,a,g),null===u?c=m:u.sibling=m,u=m);return e&&f.forEach((function(e){return t(r,e)})),c}(o,l,c,u);if(cl(c))return function(r,a,o,l){var c=cl(o);if("function"!=typeof c)throw Error(qa(150));if(null==(o=c.call(o)))throw Error(qa(151));for(var u=c=null,f=a,g=a=0,m=null,v=o.next();null!==f&&!v.done;g++,v=o.next()){f.index>g?(m=f,f=null):m=f.sibling;var b=h(r,f,v.value,l);if(null===b){null===f&&(f=m);break}e&&f&&null===b.alternate&&t(r,f),a=s(b,a,g),null===u?c=b:u.sibling=b,u=b,f=m}if(v.done)return n(r,f),c;if(null===f){for(;!v.done;g++,v=o.next())null!==(v=d(r,v.value,l))&&(a=s(v,a,g),null===u?c=v:u.sibling=v,u=v);return c}for(f=i(r,f);!v.done;g++,v=o.next())null!==(v=p(f,r,g,v.value,l))&&(e&&null!==v.alternate&&f.delete(null===v.key?g:v.key),a=s(v,a,g),null===u?c=v:u.sibling=v,u=v);return e&&f.forEach((function(e){return t(r,e)})),c}(o,l,c,u);if(g&&vp(o,c),void 0===c&&!f)switch(o.tag){case 1:case 0:throw o=o.type,Error(qa(152,o.displayName||o.name||"Component"))}return n(o,l)}}var wp=bp(!0),yp=bp(!1),xp={},Mp={current:xp},Cp={current:xp},Sp={current:xp};function Ip(e){if(e===xp)throw Error(qa(174));return e}function Ep(e,t){switch(rh(Sp,t),rh(Cp,e),rh(Mp,xp),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Pl(null,"");break;default:t=Pl(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ih(Mp),rh(Mp,t)}function Ap(){ih(Mp),ih(Cp),ih(Sp)}function Tp(e){Ip(Sp.current);var t=Ip(Mp.current),n=Pl(t,e.type);t!==n&&(rh(Cp,e),rh(Mp,n))}function kp(e){Cp.current===e&&(ih(Mp),ih(Cp))}var Np={current:0};function Pp(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function zp(e,t){return{responder:e,props:t}}var Dp=$o.ReactCurrentDispatcher,Lp=$o.ReactCurrentBatchConfig,Bp=0,jp=null,_p=null,Op=null,Vp=!1;function Rp(){throw Error(qa(321))}function Up(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!zd(e[n],t[n]))return!1;return!0}function Wp(e,t,n,i,r,s){if(Bp=s,jp=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,Dp.current=null===e||null===e.memoizedState?hf:pf,e=n(i,r),t.expirationTime===Bp){s=0;do{if(t.expirationTime=0,!(25>s))throw Error(qa(301));s+=1,Op=_p=null,t.updateQueue=null,Dp.current=ff,e=n(i,r)}while(t.expirationTime===Bp)}if(Dp.current=df,t=null!==_p&&null!==_p.next,Bp=0,Op=_p=jp=null,Vp=!1,t)throw Error(qa(300));return e}function Hp(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Op?jp.memoizedState=Op=e:Op=Op.next=e,Op}function $p(){if(null===_p){var e=jp.alternate;e=null!==e?e.memoizedState:null}else e=_p.next;var t=null===Op?jp.memoizedState:Op.next;if(null!==t)Op=t,_p=e;else{if(null===e)throw Error(qa(310));e={memoizedState:(_p=e).memoizedState,baseState:_p.baseState,baseQueue:_p.baseQueue,queue:_p.queue,next:null},null===Op?jp.memoizedState=Op=e:Op=Op.next=e}return Op}function Qp(e,t){return"function"==typeof t?t(e):t}function Fp(e){var t=$p(),n=t.queue;if(null===n)throw Error(qa(311));n.lastRenderedReducer=e;var i=_p,r=i.baseQueue,s=n.pending;if(null!==s){if(null!==r){var a=r.next;r.next=s.next,s.next=a}i.baseQueue=r=s,n.pending=null}if(null!==r){r=r.next,i=i.baseState;var o=a=s=null,l=r;do{var c=l.expirationTime;if(c<Bp){var u={expirationTime:l.expirationTime,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null};null===o?(a=o=u,s=i):o=o.next=u,c>jp.expirationTime&&(jp.expirationTime=c,im(c))}else null!==o&&(o=o.next={expirationTime:1073741823,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null}),nm(c,l.suspenseConfig),i=l.eagerReducer===e?l.eagerState:e(i,l.action);l=l.next}while(null!==l&&l!==r);null===o?s=i:o.next=a,zd(i,t.memoizedState)||(If=!0),t.memoizedState=i,t.baseState=s,t.baseQueue=o,n.lastRenderedState=i}return[t.memoizedState,n.dispatch]}function Zp(e){var t=$p(),n=t.queue;if(null===n)throw Error(qa(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,s=t.memoizedState;if(null!==r){n.pending=null;var a=r=r.next;do{s=e(s,a.action),a=a.next}while(a!==r);zd(s,t.memoizedState)||(If=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),n.lastRenderedState=s}return[s,i]}function Yp(e){var t=Hp();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:Qp,lastRenderedState:e}).dispatch=uf.bind(null,jp,e),[t.memoizedState,e]}function Gp(e,t,n,i){return e={tag:e,create:t,destroy:n,deps:i,next:null},null===(t=jp.updateQueue)?(t={lastEffect:null},jp.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function Xp(){return $p().memoizedState}function Jp(e,t,n,i){var r=Hp();jp.effectTag|=e,r.memoizedState=Gp(1|t,n,void 0,void 0===i?null:i)}function Kp(e,t,n,i){var r=$p();i=void 0===i?null:i;var s=void 0;if(null!==_p){var a=_p.memoizedState;if(s=a.destroy,null!==i&&Up(i,a.deps))return void Gp(t,n,s,i)}jp.effectTag|=e,r.memoizedState=Gp(1|t,n,s,i)}function qp(e,t){return Jp(516,4,e,t)}function ef(e,t){return Kp(516,4,e,t)}function tf(e,t){return Kp(4,2,e,t)}function nf(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function rf(e,t,n){return n=null!=n?n.concat([e]):null,Kp(4,2,nf.bind(null,t,e),n)}function sf(){}function af(e,t){return Hp().memoizedState=[e,void 0===t?null:t],e}function of(e,t){var n=$p();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&Up(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function lf(e,t){var n=$p();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&Up(t,i[1])?i[0]:(e=e(),n.memoizedState=[e,t],e)}function cf(e,t,n){var i=Bh();_h(98>i?98:i,(function(){e(!0)})),_h(97<i?97:i,(function(){var i=Lp.suspense;Lp.suspense=void 0===t?null:t;try{e(!1),n()}finally{Lp.suspense=i}}))}function uf(e,t,n){var i=Hg(),r=op.suspense;r={expirationTime:i=$g(i,e,r),suspenseConfig:r,action:n,eagerReducer:null,eagerState:null,next:null};var s=t.pending;if(null===s?r.next=r:(r.next=s.next,s.next=r),t.pending=r,s=e.alternate,e===jp||null!==s&&s===jp)Vp=!0,r.expirationTime=Bp,jp.expirationTime=Bp;else{if(0===e.expirationTime&&(null===s||0===s.expirationTime)&&null!==(s=t.lastRenderedReducer))try{var a=t.lastRenderedState,o=s(a,n);if(r.eagerReducer=s,r.eagerState=o,zd(o,a))return}catch(l){}Qg(e,i)}}var df={readContext:Kh,useCallback:Rp,useContext:Rp,useEffect:Rp,useImperativeHandle:Rp,useLayoutEffect:Rp,useMemo:Rp,useReducer:Rp,useRef:Rp,useState:Rp,useDebugValue:Rp,useResponder:Rp,useDeferredValue:Rp,useTransition:Rp},hf={readContext:Kh,useCallback:af,useContext:Kh,useEffect:qp,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Jp(4,2,nf.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Jp(4,2,e,t)},useMemo:function(e,t){var n=Hp();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=Hp();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,e=(e=i.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=uf.bind(null,jp,e),[i.memoizedState,e]},useRef:function(e){return e={current:e},Hp().memoizedState=e},useState:Yp,useDebugValue:sf,useResponder:zp,useDeferredValue:function(e,t){var n=Yp(e),i=n[0],r=n[1];return qp((function(){var n=Lp.suspense;Lp.suspense=void 0===t?null:t;try{r(e)}finally{Lp.suspense=n}}),[e,t]),i},useTransition:function(e){var t=Yp(!1),n=t[0];return t=t[1],[af(cf.bind(null,t,e),[t,e]),n]}},pf={readContext:Kh,useCallback:of,useContext:Kh,useEffect:ef,useImperativeHandle:rf,useLayoutEffect:tf,useMemo:lf,useReducer:Fp,useRef:Xp,useState:function(){return Fp(Qp)},useDebugValue:sf,useResponder:zp,useDeferredValue:function(e,t){var n=Fp(Qp),i=n[0],r=n[1];return ef((function(){var n=Lp.suspense;Lp.suspense=void 0===t?null:t;try{r(e)}finally{Lp.suspense=n}}),[e,t]),i},useTransition:function(e){var t=Fp(Qp),n=t[0];return t=t[1],[of(cf.bind(null,t,e),[t,e]),n]}},ff={readContext:Kh,useCallback:of,useContext:Kh,useEffect:ef,useImperativeHandle:rf,useLayoutEffect:tf,useMemo:lf,useReducer:Zp,useRef:Xp,useState:function(){return Zp(Qp)},useDebugValue:sf,useResponder:zp,useDeferredValue:function(e,t){var n=Zp(Qp),i=n[0],r=n[1];return ef((function(){var n=Lp.suspense;Lp.suspense=void 0===t?null:t;try{r(e)}finally{Lp.suspense=n}}),[e,t]),i},useTransition:function(e){var t=Zp(Qp),n=t[0];return t=t[1],[of(cf.bind(null,t,e),[t,e]),n]}},gf=null,mf=null,vf=!1;function bf(e,t){var n=xm(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function wf(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function yf(e){if(vf){var t=mf;if(t){var n=t;if(!wf(e,t)){if(!(t=mu(n.nextSibling))||!wf(e,t))return e.effectTag=-1025&e.effectTag|2,vf=!1,void(gf=e);bf(gf,n)}gf=e,mf=mu(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,vf=!1,gf=e}}function xf(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;gf=e}function Mf(e){if(e!==gf)return!1;if(!vf)return xf(e),vf=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!pu(t,e.memoizedProps))for(t=mf;t;)bf(e,t),t=mu(t.nextSibling);if(xf(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(qa(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){mf=mu(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}mf=null}}else mf=gf?mu(e.stateNode.nextSibling):null;return!0}function Cf(){mf=gf=null,vf=!1}var Sf=$o.ReactCurrentOwner,If=!1;function Ef(e,t,n,i){t.child=null===e?yp(t,null,n,i):wp(t,e.child,n,i)}function Af(e,t,n,i,r){n=n.render;var s=t.ref;return Jh(t,r),i=Wp(e,t,n,i,s,r),null===e||If?(t.effectTag|=1,Ef(e,t,i,r),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Hf(e,t,r))}function Tf(e,t,n,i,r,s){if(null===e){var a=n.type;return"function"!=typeof a||Mm(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Sm(n.type,null,i,null,t.mode,s)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,kf(e,t,a,i,r,s))}return a=e.child,r<s&&(r=a.memoizedProps,(n=null!==(n=n.compare)?n:Ld)(r,i)&&e.ref===t.ref)?Hf(e,t,s):(t.effectTag|=1,(e=Cm(a,i)).ref=t.ref,e.return=t,t.child=e)}function kf(e,t,n,i,r,s){return null!==e&&Ld(e.memoizedProps,i)&&e.ref===t.ref&&(If=!1,r<s)?(t.expirationTime=e.expirationTime,Hf(e,t,s)):Pf(e,t,n,i,s)}function Nf(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function Pf(e,t,n,i,r){var s=uh(n)?lh:ah.current;return s=ch(t,s),Jh(t,r),n=Wp(e,t,n,i,s,r),null===e||If?(t.effectTag|=1,Ef(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=r&&(e.expirationTime=0),Hf(e,t,r))}function zf(e,t,n,i,r){if(uh(n)){var s=!0;fh(t)}else s=!1;if(Jh(t,r),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),hp(t,n,i),fp(t,n,i,r),i=!0;else if(null===e){var a=t.stateNode,o=t.memoizedProps;a.props=o;var l=a.context,c=n.contextType;"object"==typeof c&&null!==c?c=Kh(c):c=ch(t,c=uh(n)?lh:ah.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof a.getSnapshotBeforeUpdate;d||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==i||l!==c)&&pp(t,a,i,c),qh=!1;var h=t.memoizedState;a.state=h,sp(t,i,a,r),l=t.memoizedState,o!==i||h!==l||oh.current||qh?("function"==typeof u&&(cp(t,n,u,i),l=t.memoizedState),(o=qh||dp(t,n,o,i,h,l,c))?(d||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.effectTag|=4)):("function"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=i,t.memoizedState=l),a.props=i,a.state=l,a.context=c,i=o):("function"==typeof a.componentDidMount&&(t.effectTag|=4),i=!1)}else a=t.stateNode,tp(e,t),o=t.memoizedProps,a.props=t.type===t.elementType?o:Hh(t.type,o),l=a.context,"object"==typeof(c=n.contextType)&&null!==c?c=Kh(c):c=ch(t,c=uh(n)?lh:ah.current),(d="function"==typeof(u=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==i||l!==c)&&pp(t,a,i,c),qh=!1,l=t.memoizedState,a.state=l,sp(t,i,a,r),h=t.memoizedState,o!==i||l!==h||oh.current||qh?("function"==typeof u&&(cp(t,n,u,i),h=t.memoizedState),(u=qh||dp(t,n,o,i,l,h,c))?(d||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(i,h,c),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(i,h,c)),"function"==typeof a.componentDidUpdate&&(t.effectTag|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),t.memoizedProps=i,t.memoizedState=h),a.props=i,a.state=h,a.context=c,i=u):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),i=!1);return Df(e,t,n,i,s,r)}function Df(e,t,n,i,r,s){Nf(e,t);var a=0!=(64&t.effectTag);if(!i&&!a)return r&&gh(t,n,!1),Hf(e,t,s);i=t.stateNode,Sf.current=t;var o=a&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.effectTag|=1,null!==e&&a?(t.child=wp(t,e.child,null,s),t.child=wp(t,null,o,s)):Ef(e,t,o,s),t.memoizedState=i.state,r&&gh(t,n,!0),t.child}function Lf(e){var t=e.stateNode;t.pendingContext?hh(0,t.pendingContext,t.pendingContext!==t.context):t.context&&hh(0,t.context,!1),Ep(e,t.containerInfo)}var Bf,jf,_f,Of={dehydrated:null,retryTime:0};function Vf(e,t,n){var i,r=t.mode,s=t.pendingProps,a=Np.current,o=!1;if((i=0!=(64&t.effectTag))||(i=0!=(2&a)&&(null===e||null!==e.memoizedState)),i?(o=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===s.fallback||!0===s.unstable_avoidThisFallback||(a|=1),rh(Np,1&a),null===e){if(void 0!==s.fallback&&yf(t),o){if(o=s.fallback,(s=Im(null,r,0,null)).return=t,0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,s.child=e;null!==e;)e.return=s,e=e.sibling;return(n=Im(o,r,n,null)).return=t,s.sibling=n,t.memoizedState=Of,t.child=s,n}return r=s.children,t.memoizedState=null,t.child=yp(t,null,r,n)}if(null!==e.memoizedState){if(r=(e=e.child).sibling,o){if(s=s.fallback,(n=Cm(e,e.pendingProps)).return=t,0==(2&t.mode)&&(o=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=o;null!==o;)o.return=n,o=o.sibling;return(r=Cm(r,s)).return=t,n.sibling=r,n.childExpirationTime=0,t.memoizedState=Of,t.child=n,r}return n=wp(t,e.child,s.children,n),t.memoizedState=null,t.child=n}if(e=e.child,o){if(o=s.fallback,(s=Im(null,r,0,null)).return=t,s.child=e,null!==e&&(e.return=s),0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,s.child=e;null!==e;)e.return=s,e=e.sibling;return(n=Im(o,r,n,null)).return=t,s.sibling=n,n.effectTag|=2,s.childExpirationTime=0,t.memoizedState=Of,t.child=s,n}return t.memoizedState=null,t.child=wp(t,e,s.children,n)}function Rf(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),Xh(e.return,t)}function Uf(e,t,n,i,r,s){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailExpiration:0,tailMode:r,lastEffect:s}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=i,a.tail=n,a.tailExpiration=0,a.tailMode=r,a.lastEffect=s)}function Wf(e,t,n){var i=t.pendingProps,r=i.revealOrder,s=i.tail;if(Ef(e,t,i.children,n),0!=(2&(i=Np.current)))i=1&i|2,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Rf(e,n);else if(19===e.tag)Rf(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(rh(Np,i),0==(2&t.mode))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===Pp(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Uf(t,!1,r,n,s,t.lastEffect);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===Pp(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Uf(t,!0,n,null,s,t.lastEffect);break;case"together":Uf(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Hf(e,t,n){null!==e&&(t.dependencies=e.dependencies);var i=t.expirationTime;if(0!==i&&im(i),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(qa(153));if(null!==t.child){for(n=Cm(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Cm(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function $f(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Qf(e,t,n){var i=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return uh(t.type)&&dh(),null;case 3:return Ap(),ih(oh),ih(ah),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||!Mf(t)||(t.effectTag|=4),null;case 5:kp(t),n=Ip(Sp.current);var r=t.type;if(null!==e&&null!=t.stateNode)jf(e,t,r,i,n),e.ref!==t.ref&&(t.effectTag|=128);else{if(!i){if(null===t.stateNode)throw Error(qa(166));return null}if(e=Ip(Mp.current),Mf(t)){i=t.stateNode,r=t.type;var s=t.memoizedProps;switch(i[wu]=t,i[yu]=s,r){case"iframe":case"object":case"embed":Wc("load",i);break;case"video":case"audio":for(e=0;e<Ql.length;e++)Wc(Ql[e],i);break;case"source":Wc("error",i);break;case"img":case"image":case"link":Wc("error",i),Wc("load",i);break;case"form":Wc("reset",i),Wc("submit",i);break;case"details":Wc("toggle",i);break;case"input":vl(i,s),Wc("invalid",i),nu(n,"onChange");break;case"select":i._wrapperState={wasMultiple:!!s.multiple},Wc("invalid",i),nu(n,"onChange");break;case"textarea":Il(i,s),Wc("invalid",i),nu(n,"onChange")}for(var a in qc(r,s),e=null,s)if(s.hasOwnProperty(a)){var o=s[a];"children"===a?"string"==typeof o?i.textContent!==o&&(e=["children",o]):"number"==typeof o&&i.textContent!==""+o&&(e=["children",""+o]):bo.hasOwnProperty(a)&&null!=o&&nu(n,a)}switch(r){case"input":fl(i),yl(i,s,!0);break;case"textarea":fl(i),Al(i);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(i.onclick=iu)}n=e,t.updateQueue=n,null!==n&&(t.effectTag|=4)}else{switch(a=9===n.nodeType?n:n.ownerDocument,e===tu&&(e=Nl(r)),e===tu?"script"===r?((e=a.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=a.createElement(r,{is:i.is}):(e=a.createElement(r),"select"===r&&(a=e,i.multiple?a.multiple=!0:i.size&&(a.size=i.size))):e=a.createElementNS(e,r),e[wu]=t,e[yu]=i,Bf(e,t),t.stateNode=e,a=eu(r,i),r){case"iframe":case"object":case"embed":Wc("load",e),o=i;break;case"video":case"audio":for(o=0;o<Ql.length;o++)Wc(Ql[o],e);o=i;break;case"source":Wc("error",e),o=i;break;case"img":case"image":case"link":Wc("error",e),Wc("load",e),o=i;break;case"form":Wc("reset",e),Wc("submit",e),o=i;break;case"details":Wc("toggle",e),o=i;break;case"input":vl(e,i),o=ml(e,i),Wc("invalid",e),nu(n,"onChange");break;case"option":o=Ml(e,i);break;case"select":e._wrapperState={wasMultiple:!!i.multiple},o=Ja({},i,{value:void 0}),Wc("invalid",e),nu(n,"onChange");break;case"textarea":Il(e,i),o=Sl(e,i),Wc("invalid",e),nu(n,"onChange");break;default:o=i}qc(r,o);var l=o;for(s in l)if(l.hasOwnProperty(s)){var c=l[s];"style"===s?Jc(e,c):"dangerouslySetInnerHTML"===s?null!=(c=c?c.__html:void 0)&&Ll(e,c):"children"===s?"string"==typeof c?("textarea"!==r||""!==c)&&Bl(e,c):"number"==typeof c&&Bl(e,""+c):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(bo.hasOwnProperty(s)?null!=c&&nu(n,s):null!=c&&Qo(e,s,c,a))}switch(r){case"input":fl(e),yl(e,i,!1);break;case"textarea":fl(e),Al(e);break;case"option":null!=i.value&&e.setAttribute("value",""+hl(i.value));break;case"select":e.multiple=!!i.multiple,null!=(n=i.value)?Cl(e,!!i.multiple,n,!1):null!=i.defaultValue&&Cl(e,!!i.multiple,i.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=iu)}hu(r,i)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)_f(0,t,e.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw Error(qa(166));n=Ip(Sp.current),Ip(Mp.current),Mf(t)?(n=t.stateNode,i=t.memoizedProps,n[wu]=t,n.nodeValue!==i&&(t.effectTag|=4)):((n=(9===n.nodeType?n:n.ownerDocument).createTextNode(i))[wu]=t,t.stateNode=n)}return null;case 13:return ih(Np),i=t.memoizedState,0!=(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==i,i=!1,null===e?void 0!==t.memoizedProps.fallback&&Mf(t):(i=null!==(r=e.memoizedState),n||null===r||null!==(r=e.child.sibling)&&(null!==(s=t.firstEffect)?(t.firstEffect=r,r.nextEffect=s):(t.firstEffect=t.lastEffect=r,r.nextEffect=null),r.effectTag=8)),n&&!i&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Np.current)?Sg===vg&&(Sg=bg):(Sg!==vg&&Sg!==bg||(Sg=wg),0!==kg&&null!==xg&&(Nm(xg,Cg),Pm(xg,kg)))),(n||i)&&(t.effectTag|=4),null);case 4:return Ap(),null;case 10:return Gh(t),null;case 17:return uh(t.type)&&dh(),null;case 19:if(ih(Np),null===(i=t.memoizedState))return null;if(r=0!=(64&t.effectTag),null===(s=i.rendering)){if(r)$f(i,!1);else if(Sg!==vg||null!==e&&0!=(64&e.effectTag))for(s=t.child;null!==s;){if(null!==(e=Pp(s))){for(t.effectTag|=64,$f(i,!1),null!==(r=e.updateQueue)&&(t.updateQueue=r,t.effectTag|=4),null===i.lastEffect&&(t.firstEffect=null),t.lastEffect=i.lastEffect,i=t.child;null!==i;)s=n,(r=i).effectTag&=2,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null,null===(e=r.alternate)?(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=null===s?null:{expirationTime:s.expirationTime,firstContext:s.firstContext,responders:s.responders}),i=i.sibling;return rh(Np,1&Np.current|2),t.child}s=s.sibling}}else{if(!r)if(null!==(e=Pp(s))){if(t.effectTag|=64,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),$f(i,!0),null===i.tail&&"hidden"===i.tailMode&&!s.alternate)return null!==(t=t.lastEffect=i.lastEffect)&&(t.nextEffect=null),null}else 2*Lh()-i.renderingStartTime>i.tailExpiration&&1<n&&(t.effectTag|=64,r=!0,$f(i,!1),t.expirationTime=t.childExpirationTime=n-1);i.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=i.last)?n.sibling=s:t.child=s,i.last=s)}return null!==i.tail?(0===i.tailExpiration&&(i.tailExpiration=Lh()+500),n=i.tail,i.rendering=n,i.tail=n.sibling,i.lastEffect=t.lastEffect,i.renderingStartTime=Lh(),n.sibling=null,t=Np.current,rh(Np,r?1&t|2:1&t),n):null}throw Error(qa(156,t.tag))}function Ff(e){switch(e.tag){case 1:uh(e.type)&&dh();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(Ap(),ih(oh),ih(ah),0!=(64&(t=e.effectTag)))throw Error(qa(285));return e.effectTag=-4097&t|64,e;case 5:return kp(e),null;case 13:return ih(Np),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return ih(Np),null;case 4:return Ap(),null;case 10:return Gh(e),null;default:return null}}function Zf(e,t){return{value:e,source:t,stack:dl(t)}}Bf=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},jf=function(e,t,n,i,r){var s=e.memoizedProps;if(s!==i){var a,o,l=t.stateNode;switch(Ip(Mp.current),e=null,n){case"input":s=ml(l,s),i=ml(l,i),e=[];break;case"option":s=Ml(l,s),i=Ml(l,i),e=[];break;case"select":s=Ja({},s,{value:void 0}),i=Ja({},i,{value:void 0}),e=[];break;case"textarea":s=Sl(l,s),i=Sl(l,i),e=[];break;default:"function"!=typeof s.onClick&&"function"==typeof i.onClick&&(l.onclick=iu)}for(a in qc(n,i),n=null,s)if(!i.hasOwnProperty(a)&&s.hasOwnProperty(a)&&null!=s[a])if("style"===a)for(o in l=s[a])l.hasOwnProperty(o)&&(n||(n={}),n[o]="");else"dangerouslySetInnerHTML"!==a&&"children"!==a&&"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(bo.hasOwnProperty(a)?e||(e=[]):(e=e||[]).push(a,null));for(a in i){var c=i[a];if(l=null!=s?s[a]:void 0,i.hasOwnProperty(a)&&c!==l&&(null!=c||null!=l))if("style"===a)if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(e||(e=[]),e.push(a,n)),n=c;else"dangerouslySetInnerHTML"===a?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(e=e||[]).push(a,c)):"children"===a?l===c||"string"!=typeof c&&"number"!=typeof c||(e=e||[]).push(a,""+c):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&(bo.hasOwnProperty(a)?(null!=c&&nu(r,a),e||l===c||(e=[])):(e=e||[]).push(a,c))}n&&(e=e||[]).push("style",n),r=e,(t.updateQueue=r)&&(t.effectTag|=4)}},_f=function(e,t,n,i){n!==i&&(t.effectTag|=4)};var Yf="function"==typeof WeakSet?WeakSet:Set;function Gf(e,t){var n=t.source,i=t.stack;null===i&&null!==n&&(i=dl(n)),null!==n&&ul(n.type),t=t.value,null!==e&&1===e.tag&&ul(e.type);try{console.error(t)}catch(Vv){setTimeout((function(){throw Vv}))}}function Xf(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){gm(e,n)}else t.current=null}function Jf(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,i=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Hh(t.type,n),i),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(qa(163))}function Kf(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var i=n.destroy;n.destroy=void 0,void 0!==i&&i()}n=n.next}while(n!==t)}}function qf(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function eg(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:return void qf(3,n);case 1:if(e=n.stateNode,4&n.effectTag)if(null===t)e.componentDidMount();else{var i=n.elementType===n.type?t.memoizedProps:Hh(n.type,t.memoizedProps);e.componentDidUpdate(i,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}return void(null!==(t=n.updateQueue)&&ap(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}ap(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.effectTag&&hu(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Pc(n)))));case 19:case 17:case 20:case 21:return}throw Error(qa(163))}function tg(e,t,n){switch("function"==typeof wm&&wm(t),t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var i=e.next;_h(97<n?97:n,(function(){var e=i;do{var n=e.destroy;if(void 0!==n){var r=t;try{n()}catch(s){gm(r,s)}}e=e.next}while(e!==i)}))}break;case 1:Xf(t),"function"==typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(n){gm(e,n)}}(t,n);break;case 5:Xf(t);break;case 4:og(e,t,n)}}function ng(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,null!==t&&ng(t)}function ig(e){return 5===e.tag||3===e.tag||4===e.tag}function rg(e){e:{for(var t=e.return;null!==t;){if(ig(t)){var n=t;break e}t=t.return}throw Error(qa(160))}switch(t=n.stateNode,n.tag){case 5:var i=!1;break;case 3:case 4:t=t.containerInfo,i=!0;break;default:throw Error(qa(161))}16&n.effectTag&&(Bl(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ig(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}i?sg(e,n,t):ag(e,n,t)}function sg(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=iu));else if(4!==i&&null!==(e=e.child))for(sg(e,t,n),e=e.sibling;null!==e;)sg(e,t,n),e=e.sibling}function ag(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(ag(e,t,n),e=e.sibling;null!==e;)ag(e,t,n),e=e.sibling}function og(e,t,n){for(var i,r,s=t,a=!1;;){if(!a){a=s.return;e:for(;;){if(null===a)throw Error(qa(160));switch(i=a.stateNode,a.tag){case 5:r=!1;break e;case 3:case 4:i=i.containerInfo,r=!0;break e}a=a.return}a=!0}if(5===s.tag||6===s.tag){e:for(var o=e,l=s,c=n,u=l;;)if(tg(o,u,c),null!==u.child&&4!==u.tag)u.child.return=u,u=u.child;else{if(u===l)break e;for(;null===u.sibling;){if(null===u.return||u.return===l)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}r?(o=i,l=s.stateNode,8===o.nodeType?o.parentNode.removeChild(l):o.removeChild(l)):i.removeChild(s.stateNode)}else if(4===s.tag){if(null!==s.child){i=s.stateNode.containerInfo,r=!0,s.child.return=s,s=s.child;continue}}else if(tg(e,s,n),null!==s.child){s.child.return=s,s=s.child;continue}if(s===t)break;for(;null===s.sibling;){if(null===s.return||s.return===t)return;4===(s=s.return).tag&&(a=!1)}s.sibling.return=s.return,s=s.sibling}}function lg(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void Kf(3,t);case 1:return;case 5:var n=t.stateNode;if(null!=n){var i=t.memoizedProps,r=null!==e?e.memoizedProps:i;e=t.type;var s=t.updateQueue;if(t.updateQueue=null,null!==s){for(n[yu]=i,"input"===e&&"radio"===i.type&&null!=i.name&&bl(n,i),eu(e,r),t=eu(e,i),r=0;r<s.length;r+=2){var a=s[r],o=s[r+1];"style"===a?Jc(n,o):"dangerouslySetInnerHTML"===a?Ll(n,o):"children"===a?Bl(n,o):Qo(n,a,o,t)}switch(e){case"input":wl(n,i);break;case"textarea":El(n,i);break;case"select":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!i.multiple,null!=(e=i.value)?Cl(n,!!i.multiple,e,!1):t!==!!i.multiple&&(null!=i.defaultValue?Cl(n,!!i.multiple,i.defaultValue,!0):Cl(n,!!i.multiple,i.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(qa(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((t=t.stateNode).hydrate&&(t.hydrate=!1,Pc(t.containerInfo)));case 12:return;case 13:if(n=t,null===t.memoizedState?i=!1:(i=!0,n=t.child,Pg=Lh()),null!==n)e:for(e=n;;){if(5===e.tag)s=e.stateNode,i?"function"==typeof(s=s.style).setProperty?s.setProperty("display","none","important"):s.display="none":(s=e.stateNode,r=null!=(r=e.memoizedProps.style)&&r.hasOwnProperty("display")?r.display:null,s.style.display=Xc("display",r));else if(6===e.tag)e.stateNode.nodeValue=i?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(s=e.child.sibling).return=e,e=s;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}return void cg(t);case 19:return void cg(t);case 17:return}throw Error(qa(163))}function cg(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Yf),t.forEach((function(t){var i=vm.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))}))}}var ug="function"==typeof WeakMap?WeakMap:Map;function dg(e,t,n){(n=np(n,null)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){Dg||(Dg=!0,Lg=i),Gf(e,t)},n}function hg(e,t,n){(n=np(n,null)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var r=t.value;n.payload=function(){return Gf(e,t),i(r)}}var s=e.stateNode;return null!==s&&"function"==typeof s.componentDidCatch&&(n.callback=function(){"function"!=typeof i&&(null===Bg?Bg=new Set([this]):Bg.add(this),Gf(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var pg,fg=Math.ceil,gg=$o.ReactCurrentDispatcher,mg=$o.ReactCurrentOwner,vg=0,bg=3,wg=4,yg=0,xg=null,Mg=null,Cg=0,Sg=vg,Ig=null,Eg=1073741823,Ag=1073741823,Tg=null,kg=0,Ng=!1,Pg=0,zg=null,Dg=!1,Lg=null,Bg=null,jg=!1,_g=null,Og=90,Vg=null,Rg=0,Ug=null,Wg=0;function Hg(){return 0!=(48&yg)?1073741821-(Lh()/10|0):0!==Wg?Wg:Wg=1073741821-(Lh()/10|0)}function $g(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var i=Bh();if(0==(4&t))return 99===i?1073741823:1073741822;if(0!=(16&yg))return Cg;if(null!==n)e=Wh(e,0|n.timeoutMs||5e3,250);else switch(i){case 99:e=1073741823;break;case 98:e=Wh(e,150,100);break;case 97:case 96:e=Wh(e,5e3,250);break;case 95:e=2;break;default:throw Error(qa(326))}return null!==xg&&e===Cg&&--e,e}function Qg(e,t){if(50<Rg)throw Rg=0,Ug=null,Error(qa(185));if(null!==(e=Fg(e,t))){var n=Bh();1073741823===t?0!=(8&yg)&&0==(48&yg)?Xg(e):(Yg(e),0===yg&&Rh()):Yg(e),0==(4&yg)||98!==n&&99!==n||(null===Vg?Vg=new Map([[e,t]]):(void 0===(n=Vg.get(e))||n>t)&&Vg.set(e,t))}}function Fg(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var i=e.return,r=null;if(null===i&&3===e.tag)r=e.stateNode;else for(;null!==i;){if(n=i.alternate,i.childExpirationTime<t&&(i.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===i.return&&3===i.tag){r=i.stateNode;break}i=i.return}return null!==r&&(xg===r&&(im(t),Sg===wg&&Nm(r,Cg)),Pm(r,t)),r}function Zg(e){var t=e.lastExpiredTime;if(0!==t)return t;if(!km(e,t=e.firstPendingTime))return t;var n=e.lastPingedTime;return 2>=(e=n>(e=e.nextKnownPendingLevel)?n:e)&&t!==e?0:e}function Yg(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Vh(Xg.bind(null,e));else{var t=Zg(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var i=Hg();if(1073741823===t?i=99:1===t||2===t?i=95:i=0>=(i=10*(1073741821-t)-10*(1073741821-i))?99:250>=i?98:5250>=i?97:95,null!==n){var r=e.callbackPriority;if(e.callbackExpirationTime===t&&r>=i)return;n!==Ah&&bh(n)}e.callbackExpirationTime=t,e.callbackPriority=i,t=1073741823===t?Vh(Xg.bind(null,e)):Oh(i,Gg.bind(null,e),{timeout:10*(1073741821-t)-Lh()}),e.callbackNode=t}}}function Gg(e,t){if(Wg=0,t)return zm(e,t=Hg()),Yg(e),null;var n=Zg(e);if(0!==n){if(t=e.callbackNode,0!=(48&yg))throw Error(qa(327));if(hm(),e===xg&&n===Cg||qg(e,n),null!==Mg){var i=yg;yg|=16;for(var r=tm();;)try{sm();break}catch(o){em(e,o)}if(Yh(),yg=i,gg.current=r,1===Sg)throw t=Ig,qg(e,n),Nm(e,n),Yg(e),t;if(null===Mg)switch(r=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,i=Sg,xg=null,i){case vg:case 1:throw Error(qa(345));case 2:zm(e,2<n?2:n);break;case bg:if(Nm(e,n),n===(i=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=lm(r)),1073741823===Eg&&10<(r=Pg+500-Lh())){if(Ng){var s=e.lastPingedTime;if(0===s||s>=n){e.lastPingedTime=n,qg(e,n);break}}if(0!==(s=Zg(e))&&s!==n)break;if(0!==i&&i!==n){e.lastPingedTime=i;break}e.timeoutHandle=fu(cm.bind(null,e),r);break}cm(e);break;case wg:if(Nm(e,n),n===(i=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=lm(r)),Ng&&(0===(r=e.lastPingedTime)||r>=n)){e.lastPingedTime=n,qg(e,n);break}if(0!==(r=Zg(e))&&r!==n)break;if(0!==i&&i!==n){e.lastPingedTime=i;break}if(1073741823!==Ag?i=10*(1073741821-Ag)-Lh():1073741823===Eg?i=0:(i=10*(1073741821-Eg)-5e3,0>(i=(r=Lh())-i)&&(i=0),(n=10*(1073741821-n)-r)<(i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*fg(i/1960))-i)&&(i=n)),10<i){e.timeoutHandle=fu(cm.bind(null,e),i);break}cm(e);break;case 5:if(1073741823!==Eg&&null!==Tg){s=Eg;var a=Tg;if(0>=(i=0|a.busyMinDurationMs)?i=0:(r=0|a.busyDelayMs,i=(s=Lh()-(10*(1073741821-s)-(0|a.timeoutMs||5e3)))<=r?0:r+i-s),10<i){Nm(e,n),e.timeoutHandle=fu(cm.bind(null,e),i);break}}cm(e);break;default:throw Error(qa(329))}if(Yg(e),e.callbackNode===t)return Gg.bind(null,e)}}return null}function Xg(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,0!=(48&yg))throw Error(qa(327));if(hm(),e===xg&&t===Cg||qg(e,t),null!==Mg){var n=yg;yg|=16;for(var i=tm();;)try{rm();break}catch(Vv){em(e,Vv)}if(Yh(),yg=n,gg.current=i,1===Sg)throw n=Ig,qg(e,t),Nm(e,t),Yg(e),n;if(null!==Mg)throw Error(qa(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,xg=null,cm(e),Yg(e)}return null}function Jg(e,t){var n=yg;yg|=1;try{return e(t)}finally{0===(yg=n)&&Rh()}}function Kg(e,t){var n=yg;yg&=-2,yg|=8;try{return e(t)}finally{0===(yg=n)&&Rh()}}function qg(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,gu(n)),null!==Mg)for(n=Mg.return;null!==n;){var i=n;switch(i.tag){case 1:null!=(i=i.type.childContextTypes)&&dh();break;case 3:Ap(),ih(oh),ih(ah);break;case 5:kp(i);break;case 4:Ap();break;case 13:case 19:ih(Np);break;case 10:Gh(i)}n=n.return}xg=e,Mg=Cm(e.current,null),Cg=t,Sg=vg,Ig=null,Ag=Eg=1073741823,Tg=null,kg=0,Ng=!1}function em(e,t){for(;;){try{if(Yh(),Dp.current=df,Vp)for(var n=jp.memoizedState;null!==n;){var i=n.queue;null!==i&&(i.pending=null),n=n.next}if(Bp=0,Op=_p=jp=null,Vp=!1,null===Mg||null===Mg.return)return Sg=1,Ig=t,Mg=null;e:{var r=e,s=Mg.return,a=Mg,o=t;if(t=Cg,a.effectTag|=2048,a.firstEffect=a.lastEffect=null,null!==o&&"object"==typeof o&&"function"==typeof o.then){var l=o;if(0==(2&a.mode)){var c=a.alternate;c?(a.updateQueue=c.updateQueue,a.memoizedState=c.memoizedState,a.expirationTime=c.expirationTime):(a.updateQueue=null,a.memoizedState=null)}var u=0!=(1&Np.current),d=s;do{var h;if(h=13===d.tag){var p=d.memoizedState;if(null!==p)h=null!==p.dehydrated;else{var f=d.memoizedProps;h=void 0!==f.fallback&&(!0!==f.unstable_avoidThisFallback||!u)}}if(h){var g=d.updateQueue;if(null===g){var m=new Set;m.add(l),d.updateQueue=m}else g.add(l);if(0==(2&d.mode)){if(d.effectTag|=64,a.effectTag&=-2981,1===a.tag)if(null===a.alternate)a.tag=17;else{var v=np(1073741823,null);v.tag=2,ip(a,v)}a.expirationTime=1073741823;break e}o=void 0,a=t;var b=r.pingCache;if(null===b?(b=r.pingCache=new ug,o=new Set,b.set(l,o)):void 0===(o=b.get(l))&&(o=new Set,b.set(l,o)),!o.has(a)){o.add(a);var w=mm.bind(null,r,l,a);l.then(w,w)}d.effectTag|=4096,d.expirationTime=t;break e}d=d.return}while(null!==d);o=Error((ul(a.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+dl(a))}5!==Sg&&(Sg=2),o=Zf(o,a),d=s;do{switch(d.tag){case 3:l=o,d.effectTag|=4096,d.expirationTime=t,rp(d,dg(d,l,t));break e;case 1:l=o;var y=d.type,x=d.stateNode;if(0==(64&d.effectTag)&&("function"==typeof y.getDerivedStateFromError||null!==x&&"function"==typeof x.componentDidCatch&&(null===Bg||!Bg.has(x)))){d.effectTag|=4096,d.expirationTime=t,rp(d,hg(d,l,t));break e}}d=d.return}while(null!==d)}Mg=om(Mg)}catch(M){t=M;continue}break}}function tm(){var e=gg.current;return gg.current=df,null===e?df:e}function nm(e,t){e<Eg&&2<e&&(Eg=e),null!==t&&e<Ag&&2<e&&(Ag=e,Tg=t)}function im(e){e>kg&&(kg=e)}function rm(){for(;null!==Mg;)Mg=am(Mg)}function sm(){for(;null!==Mg&&!Th();)Mg=am(Mg)}function am(e){var t=pg(e.alternate,e,Cg);return e.memoizedProps=e.pendingProps,null===t&&(t=om(e)),mg.current=null,t}function om(e){Mg=e;do{var t=Mg.alternate;if(e=Mg.return,0==(2048&Mg.effectTag)){if(t=Qf(t,Mg,Cg),1===Cg||1!==Mg.childExpirationTime){for(var n=0,i=Mg.child;null!==i;){var r=i.expirationTime,s=i.childExpirationTime;r>n&&(n=r),s>n&&(n=s),i=i.sibling}Mg.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Mg.firstEffect),null!==Mg.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Mg.firstEffect),e.lastEffect=Mg.lastEffect),1<Mg.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Mg:e.firstEffect=Mg,e.lastEffect=Mg))}else{if(null!==(t=Ff(Mg)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=Mg.sibling))return t;Mg=e}while(null!==Mg);return Sg===vg&&(Sg=5),null}function lm(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function cm(e){var t=Bh();return _h(99,um.bind(null,e,t)),null}function um(e,t){do{hm()}while(null!==_g);if(0!=(48&yg))throw Error(qa(327));var n=e.finishedWork,i=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(qa(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var r=lm(n);if(e.firstPendingTime=r,i<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:i<=e.firstSuspendedTime&&(e.firstSuspendedTime=i-1),i<=e.lastPingedTime&&(e.lastPingedTime=0),i<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===xg&&(Mg=xg=null,Cg=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){var s=yg;yg|=32,mg.current=null,uu=Uc;var a=lu();if(cu(a)){if("selectionStart"in a)var o={start:a.selectionStart,end:a.selectionEnd};else e:{var l=(o=(o=a.ownerDocument)&&o.defaultView||window).getSelection&&o.getSelection();if(l&&0!==l.rangeCount){o=l.anchorNode;var c=l.anchorOffset,u=l.focusNode;l=l.focusOffset;try{o.nodeType,u.nodeType}catch(I){o=null;break e}var d=0,h=-1,p=-1,f=0,g=0,m=a,v=null;t:for(;;){for(var b;m!==o||0!==c&&3!==m.nodeType||(h=d+c),m!==u||0!==l&&3!==m.nodeType||(p=d+l),3===m.nodeType&&(d+=m.nodeValue.length),null!==(b=m.firstChild);)v=m,m=b;for(;;){if(m===a)break t;if(v===o&&++f===c&&(h=d),v===u&&++g===l&&(p=d),null!==(b=m.nextSibling))break;v=(m=v).parentNode}m=b}o=-1===h||-1===p?null:{start:h,end:p}}else o=null}o=o||{start:0,end:0}}else o=null;du={activeElementDetached:null,focusedElem:a,selectionRange:o},Uc=!1,zg=r;do{try{dm()}catch(I){if(null===zg)throw Error(qa(330));gm(zg,I),zg=zg.nextEffect}}while(null!==zg);zg=r;do{try{for(a=e,o=t;null!==zg;){var w=zg.effectTag;if(16&w&&Bl(zg.stateNode,""),128&w){var y=zg.alternate;if(null!==y){var x=y.ref;null!==x&&("function"==typeof x?x(null):x.current=null)}}switch(1038&w){case 2:rg(zg),zg.effectTag&=-3;break;case 6:rg(zg),zg.effectTag&=-3,lg(zg.alternate,zg);break;case 1024:zg.effectTag&=-1025;break;case 1028:zg.effectTag&=-1025,lg(zg.alternate,zg);break;case 4:lg(zg.alternate,zg);break;case 8:og(a,c=zg,o),ng(c)}zg=zg.nextEffect}}catch(I){if(null===zg)throw Error(qa(330));gm(zg,I),zg=zg.nextEffect}}while(null!==zg);if(x=du,y=lu(),w=x.focusedElem,o=x.selectionRange,y!==w&&w&&w.ownerDocument&&ou(w.ownerDocument.documentElement,w)){null!==o&&cu(w)&&(y=o.start,void 0===(x=o.end)&&(x=y),"selectionStart"in w?(w.selectionStart=y,w.selectionEnd=Math.min(x,w.value.length)):(x=(y=w.ownerDocument||document)&&y.defaultView||window).getSelection&&(x=x.getSelection(),c=w.textContent.length,a=Math.min(o.start,c),o=void 0===o.end?a:Math.min(o.end,c),!x.extend&&a>o&&(c=o,o=a,a=c),c=au(w,a),u=au(w,o),c&&u&&(1!==x.rangeCount||x.anchorNode!==c.node||x.anchorOffset!==c.offset||x.focusNode!==u.node||x.focusOffset!==u.offset)&&((y=y.createRange()).setStart(c.node,c.offset),x.removeAllRanges(),a>o?(x.addRange(y),x.extend(u.node,u.offset)):(y.setEnd(u.node,u.offset),x.addRange(y))))),y=[];for(x=w;x=x.parentNode;)1===x.nodeType&&y.push({element:x,left:x.scrollLeft,top:x.scrollTop});for("function"==typeof w.focus&&w.focus(),w=0;w<y.length;w++)(x=y[w]).element.scrollLeft=x.left,x.element.scrollTop=x.top}Uc=!!uu,du=uu=null,e.current=n,zg=r;do{try{for(w=e;null!==zg;){var M=zg.effectTag;if(36&M&&eg(w,zg.alternate,zg),128&M){y=void 0;var C=zg.ref;if(null!==C){var S=zg.stateNode;switch(zg.tag){case 5:y=S;break;default:y=S}"function"==typeof C?C(y):C.current=y}}zg=zg.nextEffect}}catch(I){if(null===zg)throw Error(qa(330));gm(zg,I),zg=zg.nextEffect}}while(null!==zg);zg=null,kh(),yg=s}else e.current=n;if(jg)jg=!1,_g=e,Og=t;else for(zg=r;null!==zg;)t=zg.nextEffect,zg.nextEffect=null,zg=t;if(0===(t=e.firstPendingTime)&&(Bg=null),1073741823===t?e===Ug?Rg++:(Rg=0,Ug=e):Rg=0,"function"==typeof bm&&bm(n.stateNode,i),Yg(e),Dg)throw Dg=!1,e=Lg,Lg=null,e;return 0!=(8&yg)||Rh(),null}function dm(){for(;null!==zg;){var e=zg.effectTag;0!=(256&e)&&Jf(zg.alternate,zg),0==(512&e)||jg||(jg=!0,Oh(97,(function(){return hm(),null}))),zg=zg.nextEffect}}function hm(){if(90!==Og){var e=97<Og?97:Og;return Og=90,_h(e,pm)}}function pm(){if(null===_g)return!1;var e=_g;if(_g=null,0!=(48&yg))throw Error(qa(331));var t=yg;for(yg|=32,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:case 22:Kf(5,n),qf(5,n)}}catch(i){if(null===e)throw Error(qa(330));gm(e,i)}n=e.nextEffect,e.nextEffect=null,e=n}return yg=t,Rh(),!0}function fm(e,t,n){ip(e,t=dg(e,t=Zf(n,t),1073741823)),null!==(e=Fg(e,1073741823))&&Yg(e)}function gm(e,t){if(3===e.tag)fm(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){fm(n,e,t);break}if(1===n.tag){var i=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===Bg||!Bg.has(i))){ip(n,e=hg(n,e=Zf(t,e),1073741823)),null!==(n=Fg(n,1073741823))&&Yg(n);break}}n=n.return}}function mm(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),xg===e&&Cg===n?Sg===wg||Sg===bg&&1073741823===Eg&&Lh()-Pg<500?qg(e,Cg):Ng=!0:km(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,Yg(e)))}function vm(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=$g(t=Hg(),e,null)),null!==(e=Fg(e,t))&&Yg(e)}pg=function(e,t,n){var i=t.expirationTime;if(null!==e){var r=t.pendingProps;if(e.memoizedProps!==r||oh.current)If=!0;else{if(i<n){switch(If=!1,t.tag){case 3:Lf(t),Cf();break;case 5:if(Tp(t),4&t.mode&&1!==n&&r.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:uh(t.type)&&fh(t);break;case 4:Ep(t,t.stateNode.containerInfo);break;case 10:i=t.memoizedProps.value,r=t.type._context,rh($h,r._currentValue),r._currentValue=i;break;case 13:if(null!==t.memoizedState)return 0!==(i=t.child.childExpirationTime)&&i>=n?Vf(e,t,n):(rh(Np,1&Np.current),null!==(t=Hf(e,t,n))?t.sibling:null);rh(Np,1&Np.current);break;case 19:if(i=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(i)return Wf(e,t,n);t.effectTag|=64}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null),rh(Np,Np.current),!i)return null}return Hf(e,t,n)}If=!1}}else If=!1;switch(t.expirationTime=0,t.tag){case 2:if(i=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,r=ch(t,ah.current),Jh(t,n),r=Wp(null,t,i,e,r,n),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,uh(i)){var s=!0;fh(t)}else s=!1;t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,ep(t);var a=i.getDerivedStateFromProps;"function"==typeof a&&cp(t,i,a,e),r.updater=up,t.stateNode=r,r._reactInternalFiber=t,fp(t,i,e,n),t=Df(null,t,i,!0,s,n)}else t.tag=0,Ef(null,t,r,n),t=t.child;return t;case 16:e:{if(r=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(r),1!==r._status)throw r._result;switch(r=r._result,t.type=r,s=t.tag=function(e){if("function"==typeof e)return Mm(e)?1:0;if(null!=e){if((e=e.$$typeof)===nl)return 11;if(e===sl)return 14}return 2}(r),e=Hh(r,e),s){case 0:t=Pf(null,t,r,e,n);break e;case 1:t=zf(null,t,r,e,n);break e;case 11:t=Af(null,t,r,e,n);break e;case 14:t=Tf(null,t,r,Hh(r.type,e),i,n);break e}throw Error(qa(306,r,""))}return t;case 0:return i=t.type,r=t.pendingProps,Pf(e,t,i,r=t.elementType===i?r:Hh(i,r),n);case 1:return i=t.type,r=t.pendingProps,zf(e,t,i,r=t.elementType===i?r:Hh(i,r),n);case 3:if(Lf(t),i=t.updateQueue,null===e||null===i)throw Error(qa(282));if(i=t.pendingProps,r=null!==(r=t.memoizedState)?r.element:null,tp(e,t),sp(t,i,null,n),(i=t.memoizedState.element)===r)Cf(),t=Hf(e,t,n);else{if((r=t.stateNode.hydrate)&&(mf=mu(t.stateNode.containerInfo.firstChild),gf=t,r=vf=!0),r)for(n=yp(t,null,i,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else Ef(e,t,i,n),Cf();t=t.child}return t;case 5:return Tp(t),null===e&&yf(t),i=t.type,r=t.pendingProps,s=null!==e?e.memoizedProps:null,a=r.children,pu(i,r)?a=null:null!==s&&pu(i,s)&&(t.effectTag|=16),Nf(e,t),4&t.mode&&1!==n&&r.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Ef(e,t,a,n),t=t.child),t;case 6:return null===e&&yf(t),null;case 13:return Vf(e,t,n);case 4:return Ep(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=wp(t,null,i,n):Ef(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,Af(e,t,i,r=t.elementType===i?r:Hh(i,r),n);case 7:return Ef(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ef(e,t,t.pendingProps.children,n),t.child;case 10:e:{i=t.type._context,r=t.pendingProps,a=t.memoizedProps,s=r.value;var o=t.type._context;if(rh($h,o._currentValue),o._currentValue=s,null!==a)if(o=a.value,0===(s=zd(o,s)?0:0|("function"==typeof i._calculateChangedBits?i._calculateChangedBits(o,s):1073741823))){if(a.children===r.children&&!oh.current){t=Hf(e,t,n);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var l=o.dependencies;if(null!==l){a=o.child;for(var c=l.firstContext;null!==c;){if(c.context===i&&0!=(c.observedBits&s)){1===o.tag&&((c=np(n,null)).tag=2,ip(o,c)),o.expirationTime<n&&(o.expirationTime=n),null!==(c=o.alternate)&&c.expirationTime<n&&(c.expirationTime=n),Xh(o.return,n),l.expirationTime<n&&(l.expirationTime=n);break}c=c.next}}else a=10===o.tag&&o.type===t.type?null:o.child;if(null!==a)a.return=o;else for(a=o;null!==a;){if(a===t){a=null;break}if(null!==(o=a.sibling)){o.return=a.return,a=o;break}a=a.return}o=a}Ef(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=(s=t.pendingProps).children,Jh(t,n),i=i(r=Kh(r,s.unstable_observedBits)),t.effectTag|=1,Ef(e,t,i,n),t.child;case 14:return s=Hh(r=t.type,t.pendingProps),Tf(e,t,r,s=Hh(r.type,s),i,n);case 15:return kf(e,t,t.type,t.pendingProps,i,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:Hh(i,r),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,uh(i)?(e=!0,fh(t)):e=!1,Jh(t,n),hp(t,i,r),fp(t,i,r,n),Df(null,t,i,!0,e,n);case 19:return Wf(e,t,n)}throw Error(qa(156,t.tag))};var bm=null,wm=null;function ym(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function xm(e,t,n,i){return new ym(e,t,n,i)}function Mm(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Cm(e,t){var n=e.alternate;return null===n?((n=xm(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Sm(e,t,n,i,r,s){var a=2;if(i=e,"function"==typeof e)Mm(e)&&(a=1);else if("string"==typeof e)a=5;else e:switch(e){case Xo:return Im(n.children,r,s,t);case tl:a=8,r|=7;break;case Jo:a=8,r|=1;break;case Ko:return(e=xm(12,n,t,8|r)).elementType=Ko,e.type=Ko,e.expirationTime=s,e;case il:return(e=xm(13,n,t,r)).type=il,e.elementType=il,e.expirationTime=s,e;case rl:return(e=xm(19,n,t,r)).elementType=rl,e.expirationTime=s,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case qo:a=10;break e;case el:a=9;break e;case nl:a=11;break e;case sl:a=14;break e;case al:a=16,i=null;break e;case ol:a=22;break e}throw Error(qa(130,null==e?e:typeof e,""))}return(t=xm(a,n,t,r)).elementType=e,t.type=i,t.expirationTime=s,t}function Im(e,t,n,i){return(e=xm(7,e,i,t)).expirationTime=n,e}function Em(e,t,n){return(e=xm(6,e,null,t)).expirationTime=n,e}function Am(e,t,n){return(t=xm(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Tm(e,t,n){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=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function km(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function Nm(e,t){var n=e.firstSuspendedTime,i=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(i>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Pm(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function zm(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Dm(e,t,n,i){var r=t.current,s=Hg(),a=op.suspense;s=$g(s,r,a);e:if(n){t:{if(Yl(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(qa(170));var o=n;do{switch(o.tag){case 3:o=o.stateNode.context;break t;case 1:if(uh(o.type)){o=o.stateNode.__reactInternalMemoizedMergedChildContext;break t}}o=o.return}while(null!==o);throw Error(qa(171))}if(1===n.tag){var l=n.type;if(uh(l)){n=ph(n,l,o);break e}}n=o}else n=sh;return null===t.context?t.context=n:t.pendingContext=n,(t=np(s,a)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),ip(r,t),Qg(r,s),s}function Lm(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Bm(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function jm(e,t){Bm(e,t),(e=e.alternate)&&Bm(e,t)}function _m(e,t,n){var i=new Tm(e,t,n=null!=n&&!0===n.hydrate),r=xm(3,null,null,2===t?7:1===t?3:0);i.current=r,r.stateNode=i,ep(r),e[xu]=i.current,n&&0!==t&&function(e,t){var n=Zl(t);xc.forEach((function(e){cc(e,t,n)})),Mc.forEach((function(e){cc(e,t,n)}))}(0,9===e.nodeType?e:e.ownerDocument),this._internalRoot=i}function Om(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Vm(e,t,n,i,r){var s=n._reactRootContainer;if(s){var a=s._internalRoot;if("function"==typeof r){var o=r;r=function(){var e=Lm(a);o.call(e)}}Dm(t,a,e,r)}else{if(s=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new _m(e,0,t?{hydrate:!0}:void 0)}(n,i),a=s._internalRoot,"function"==typeof r){var l=r;r=function(){var e=Lm(a);l.call(e)}}Kg((function(){Dm(t,a,e,r)}))}return Lm(a)}function Rm(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Go,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}function Um(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Om(t))throw Error(qa(200));return Rm(e,t,null,n)}_m.prototype.render=function(e){Dm(e,this._internalRoot,null,null)},_m.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Dm(null,e,null,(function(){t[xu]=null}))},uc=function(e){if(13===e.tag){var t=Wh(Hg(),150,100);Qg(e,t),jm(e,t)}},dc=function(e){13===e.tag&&(Qg(e,3),jm(e,3))},hc=function(e){if(13===e.tag){var t=Hg();Qg(e,t=$g(t,e,null)),jm(e,t)}},Mo=function(e,t,n){switch(t){case"input":if(wl(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=Iu(i);if(!r)throw Error(qa(90));gl(i),wl(i,r)}}}break;case"textarea":El(e,n);break;case"select":null!=(t=n.value)&&Cl(e,!!n.multiple,t,!1)}},To=Jg,ko=function(e,t,n,i,r){var s=yg;yg|=4;try{return _h(98,e.bind(null,t,n,i,r))}finally{0===(yg=s)&&Rh()}},No=function(){0==(49&yg)&&(function(){if(null!==Vg){var e=Vg;Vg=null,e.forEach((function(e,t){zm(t,e),Yg(t)})),Rh()}}(),hm())},Po=function(e,t){var n=yg;yg|=2;try{return e(t)}finally{0===(yg=n)&&Rh()}};var Wm={Events:[Cu,Su,Iu,yo,vo,zu,function(e){ql(e,Pu)},Eo,Ao,Fc,nc,hm,{current:!1}]};!function(e){var t=e.findFiberByHostInstance;(function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);bm=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(Vv){}},wm=function(e){try{t.onCommitFiberUnmount(n,e)}catch(Vv){}}}catch(i){}})(Ja({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:$o.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Jl(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}({findFiberByHostInstance:Mu,bundleType:0,version:"16.14.0",rendererPackageName:"react-dom"}),Za.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Wm,Za.createPortal=Um,Za.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if("function"==typeof e.render)throw Error(qa(188));throw Error(qa(268,Object.keys(e)))}return e=null===(e=Jl(t))?null:e.stateNode},Za.flushSync=function(e,t){if(0!=(48&yg))throw Error(qa(187));var n=yg;yg|=1;try{return _h(99,e.bind(null,t))}finally{yg=n,Rh()}},Za.hydrate=function(e,t,n){if(!Om(t))throw Error(qa(200));return Vm(null,e,t,!0,n)},Za.render=function(e,t,n){if(!Om(t))throw Error(qa(200));return Vm(null,e,t,!1,n)},Za.unmountComponentAtNode=function(e){if(!Om(e))throw Error(qa(40));return!!e._reactRootContainer&&(Kg((function(){Vm(null,null,e,!1,(function(){e._reactRootContainer=null,e[xu]=null}))})),!0)},Za.unstable_batchedUpdates=Jg,Za.unstable_createPortal=function(e,t){return Um(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},Za.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!Om(n))throw Error(qa(200));if(null==e||void 0===e._reactInternalFiber)throw Error(qa(38));return Vm(e,t,n,!1,i)},Za.version="16.14.0",function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),Fa.exports=Za;var Hm=Fa.exports,$m=Object.defineProperty,Qm=Object.defineProperties,Fm=Object.getOwnPropertyDescriptors,Zm=Object.getOwnPropertySymbols,Ym=Object.prototype.hasOwnProperty,Gm=Object.prototype.propertyIsEnumerable,Xm=(e,t,n)=>t in e?$m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Jm=(e,t)=>{for(var n in t||(t={}))Ym.call(t,n)&&Xm(e,n,t[n]);if(Zm)for(var n of Zm(t))Gm.call(t,n)&&Xm(e,n,t[n]);return e};const Km={src:"",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},qm={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let ev=qm;function tv(e,t){if(e.paused)return e.currentTime;const n=(i=t).player?i.player.beginTimestamp+i.player.progressTime:i.room?i.room.calibrationTimestamp:void 0;var i;return n?e.currentTime+(n-e.hostTime)/1e3:e.currentTime}const nv=navigator.userAgent.includes("Safari"),iv=[".aac",".mid",".midi",".mp3",".ogg",".oga",".wav",".weba"];var rv="object"==typeof global&&global&&global.Object===Object&&global,sv="object"==typeof self&&self&&self.Object===Object&&self,av=rv||sv||Function("return this")(),ov=av.Symbol,lv=Object.prototype,cv=lv.hasOwnProperty,uv=lv.toString,dv=ov?ov.toStringTag:void 0,hv=Object.prototype.toString,pv=ov?ov.toStringTag:void 0;var fv=/\s/,gv=/^\s+/;function mv(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var vv=/^[-+]0x[0-9a-f]+$/i,bv=/^0b[01]+$/i,wv=/^0o[0-7]+$/i,yv=parseInt;function xv(e){if("number"==typeof e)return e;if("symbol"==typeof(t=e)||null!=(n=t)&&"object"==typeof n&&"[object Symbol]"==function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":pv&&pv in Object(e)?function(e){var t=cv.call(e,dv),n=e[dv];try{e[dv]=void 0;var i=!0}catch(s){}var r=uv.call(e);return i&&(t?e[dv]=n:delete e[dv]),r}(e):(t=e,hv.call(t));var t}(t))return NaN;var t,n;if(mv(e)){var i="function"==typeof e.valueOf?e.valueOf():e;e=mv(i)?i+"":i}if("string"!=typeof e)return 0===e?e:+e;e=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&fv.test(e.charAt(t)););return t}(e)+1).replace(gv,""):e}(e);var r=bv.test(e);return r||wv.test(e)?yv(e.slice(2),r?2:8):vv.test(e)?NaN:+e}var Mv=function(){return av.Date.now()},Cv=Math.max,Sv=Math.min;function Iv(e,t,n){var i,r,s,a,o,l,c=0,u=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,s=r;return i=r=void 0,c=t,a=e.apply(s,n)}function f(e){return c=e,o=setTimeout(m,t),u?p(e):a}function g(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=s}function m(){var e,n,i=Mv();if(g(i))return v(i);o=setTimeout(m,(n=t-((e=i)-l),d?Sv(n,s-(e-c)):n))}function v(e){return o=void 0,h&&i?p(e):(i=r=void 0,a)}function b(){var e=Mv(),n=g(e);if(i=arguments,r=this,l=e,n){if(void 0===o)return f(l);if(d)return clearTimeout(o),o=setTimeout(m,t),p(l)}return void 0===o&&(o=setTimeout(m,t)),a}return t=xv(t)||0,mv(n)&&(u=!!n.leading,s=(d="maxWait"in n)?Cv(xv(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),b.cancel=function(){void 0!==o&&clearTimeout(o),c=0,i=l=r=o=void 0},b.flush=function(){return void 0===o?a:v(Mv())},b}class Ev extends Xe.exports.Component{constructor(e){super(e),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=e=>{let t=0;for(let n=0;n<e.changedTouches.length;n++)t=e.changedTouches[n].pageX;t=t<0?0:t,this.mobileSeeking&&this.changeCurrentTimePosition(t)},this.handleSeeking=e=>{this.seeking&&this.changeCurrentTimePosition(e.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(e,t)=>{if(this.track){const n=this.props.scale||1;let i;i=e?0:(t.pageX-this.track.getBoundingClientRect().left)/n,this.setState({seekHoverPosition:i,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=e=>{this.setSeeking(!1,e),this.onMouseUp()},this.setSeeking=(e,t)=>{t.preventDefault(),this.handleSeeking(t),this.seeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=e=>{this.mobileSeeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const e=Jm(Jm({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return Wt.createElement("div",{className:"buffered",style:e})}return null},this.renderProgress=()=>{const e=Jm(Jm({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return Wt.createElement("div",{className:"connect",style:e})},this.renderHoverProgress=()=>{const e=Jm(Jm({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return Wt.createElement("div",{className:"seek-hover",style:e})},this.renderThumb=()=>Wt.createElement("div",{className:this.isThumbActive()?"thumb active":"thumb",style:this.getThumbHandlerPosition()},Wt.createElement("div",{style:{backgroundColor:this.props.thumbColor},className:"handler"})),this.onMouseDown=e=>{var t,n;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(n=(t=this.props).onSeekStart)||n.call(t)},this.onMouseUp=()=>{var e,t;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),null==(t=(e=this.props).onSeekEnd)||t.call(e)},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(e){if(this.track){const t=this.props.scale||1;let n=(e-this.track.getBoundingClientRect().left)/t;n=Math.min(this.state.trackWidth,Math.max(0,n)),this.setState({seekHoverPosition:n});const i=+(n/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(i)}}getPositionStyle(e){return{transform:`scaleX(${100*e/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let e=0;return this.hoverTime&&(e=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(e<0?e=0:e+this.hoverTime.offsetWidth>this.state.trackWidth&&(e=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${e}px)`}}secondsToTime(e){e=Math.round(e+this.offset);const t=Math.floor(e/3600),n=e%3600,i=Math.floor(n/60),r=Math.ceil(n%60);return{hh:t.toString(),mm:i<10?"0"+i:i.toString(),ss:r<10?"0"+r:r.toString()}}getHoverTime(){const e=100*this.state.seekHoverPosition/this.state.trackWidth,t=Math.floor(+e*(this.props.total/100)),n=this.secondsToTime(t);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:Wt.createElement("div",{className:this.isThumbActive()?"hover-time active":"hover-time",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return Wt.createElement("div",{className:"seek-slider"},Wt.createElement("div",{className:"track",ref:e=>this.track=e,onMouseMove:e=>this.handleTrackHover(!1,e),onMouseLeave:e=>this.handleTrackHover(!0,e),onMouseDown:this.onMouseDown,onTouchStart:e=>{this.setMobileSeeking(!0),this.onMouseDown(e)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},Wt.createElement("div",{className:"main"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class Av extends Xe.exports.Component{constructor(e){super(e),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:e}=this.props;e?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:e}=this.props;return e?Wt.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg=="}):Wt.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg=="})},this.operationVolumeButton=()=>this.props.volume>.9?Wt.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo="}):0===this.props.volume?Wt.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg=="}):Wt.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo="}),this.handleClickVolume=()=>{0===this.props.volume?0!==this.stageVolume?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=e=>{this.setState({currentTime:e}),e&&this.changeTime(e)},this.changeTime=Iv((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=Iv((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=Iv((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=Iv((()=>{this.setState({isPlayerSeeking:!1})}),500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=e.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:e,currentTime:t}=this.props;return Wt.createElement("div",{className:"player-controller",style:{opacity:this.props.visible?"1":"0"}},Wt.createElement("div",{className:"player-controller-progress"},Wt.createElement(Ev,{total:e,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})),Wt.createElement("div",{className:"player-controller-actions"},Wt.createElement("div",{className:"player-controller-actions-left"},Wt.createElement("div",{onClick:this.onClickOperationButton,className:"player-controller-play"},this.operationButton()),Wt.createElement("div",{className:"player-volume-box",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},Wt.createElement("div",{onClick:this.handleClickVolume,className:"player-volume"},this.operationVolumeButton()),Wt.createElement("div",{className:"player-volume-slider"},Wt.createElement(Ev,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),Wt.createElement("div",{className:"player-mid-box-time"},Tv(Math.floor(t/1e3))," /"," ",Tv(Math.floor(e/1e3)))))}}function Tv(e){const t=e%60,n=(e-t)/60;if(n>=60){const e=n%60;return`${kv((n-e)/60)}:${kv(e)}:${kv(t)}`}return`${kv(n)}:${kv(t)}`}function kv(e){return e<=9?`0${e}`:`${e}`}class Nv extends Xe.exports.Component{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,n=t.getAttributes()||{};for(const i in e)n[i]!==e[i]&&t.updateAttributes([i],e[i])}}render(){const{context:e}=this.props,t=e.getRoom(),n=t?void 0:e.getDisplayer(),i=this.putAttributes;return Wt.createElement(Pv,{room:t,player:n,context:e,plugin:{putAttributes:i}})}}class Pv extends Xe.exports.Component{constructor(e){super(e),this.alertMask=null,this.container=Wt.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 e;const t=null==(e=this.props.room)?void 0:e.calibrationTimestamp;this.debug(">>> play",{paused:!1,hostTime:t}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:t})},this.pause=()=>{const e=tv(this.getAttributes(),this.props);this.debug(">>> pause",{paused:!0,currentTime:e}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:e})},this.setVolume=e=>{this.debug(">>> volume",{volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e,muted:0===e})},this.setCurrentTime=e=>{var t;const n=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(">>> seek",{currentTime:e/1e3,hostTime:n}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:n})},this.resetPlayer=()=>{var e;null==(e=this.player)||e.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 e;const t=this.getAttributes();if(!t)return;const n=this.player;if(!n)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;n.paused()!==t.paused&&(this.debug("<<< paused -> %o",t.paused),t.paused?n.pause():null==(e=n.play())||e.catch(this.catchPlayFail)),n.muted()!==t.muted&&(this.debug("<<< muted -> %o",t.muted),n.muted(t.muted)),n.volume()!==t.volume&&(this.debug("<<< volume -> %o",t.volume),n.volume(t.volume));const i=tv(t,this.props);let r=ev.currentTimeMaxError;this.state.NoSound&&(r*=3),i>n.duration()?this.resetPlayer():Math.abs(n.currentTime()-i)>r&&(this.debug("<<< currentTime -> %o",i),n.currentTime(i))},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=e=>{var t,n;const i=String(e);if(nv&&i.includes("NotAllowedError")||i.includes("interact"))null==(t=this.player)||t.autoplay("any"),this.setState({NoSound:!0});else{const t=null==(n=this.player)?void 0:n.error();t&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug("catch videojs media error",t),this.setState({MediaError:!0}))),this.debug("catch error",e)}},this.fixPlayFail=()=>{this.debug("try to fix play state"),this.setState({NoSound:!1});const{muted:e,volume:t}=this.getAttributes();this.player&&(this.player.muted(e),this.player.volume(t))},this.initPlayer=async()=>{var e;null==(e=this.player)||e.dispose(),this.player=void 0,this.debug("creating elements ...");const{type:t,src:n,poster:i}=this.getAttributes(),r=document.createElement("div");r.setAttribute("data-vjs-player","");const s=document.createElement("video");s.className="video-js",i&&(s.poster=i),s.setAttribute("playsInline",""),s.setAttribute("webkit-playsinline","");const a=document.createElement("source");new URL(n).pathname.endsWith(".m3u8")?a.type="application/x-mpegURL":s.src=n,a.src=n,t&&(a.type=t),s.appendChild(a),r.appendChild(s),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug("initializing videojs() ...");const o=X(s);this.player=o,window.player=o,o.one("loadedmetadata",this.gracefullyUpdate),o.on("ready",(()=>{var e;null==(e=ev.onPlayer)||e.call(ev,o),o.on("timeupdate",this.gracefullyUpdate),o.on("volumechange",this.gracefullyUpdate),o.on("seeked",this.gracefullyUpdate),o.on("play",this.gracefullyUpdate),o.on("pause",this.gracefullyUpdate),o.on("ended",this.resetPlayer)})),o.on("error",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=e=>{e&&(e.addEventListener("touchstart",this.fixPlayFail),e.addEventListener("click",this.fixPlayFail)),this.alertMask=e},this.setupReload=e=>{e&&(e.addEventListener("touchstart",this.initPlayer),e.addEventListener("click",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},e.room&&function(e){if(!e.calibrationTimestamp)throw new Error("@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.")}(e.room)}getAttributes(){const{context:e}=this.props;let t=e.getAttributes();if(t){if(t=Jm(Jm({},Km),t),this.player){let e=tv(t,this.props),i=this.player.duration();!t.paused&&e>i&&(n=Jm({},t),t=Qm(n,Fm({currentTime:0,paused:!0})),this.resetPlayer())}var n;return t}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||iv.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const n=this.getAttributes();if(!n)return null;const i=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return Wt.createElement("div",{className:this.isEnabled()?"vjs-p":"vjs-p disabled",onMouseEnter:this.showController,onMouseMove:this.showController},Wt.createElement("div",{className:"video-js-plugin-player",ref:this.container}),this.isShowingPoster()&&Wt.createElement("div",{className:"video-js-plugin-poster"},n.poster&&Wt.createElement("img",{src:n.poster,alt:"",draggable:!1})),Wt.createElement(Av,{duration:i,volume:n.volume,setVolume:this.setVolume,paused:n.paused,play:this.play,pause:this.pause,currentTime:1e3*tv(n,this.props),setCurrentTime:this.setCurrentTime,buffered:i*r,visible:!0}),this.state.NoSound&&Wt.createElement("div",{ref:this.setupAlert,className:"videojs-plugin-muted-alert"}),this.state.MediaError&&Wt.createElement("div",{className:"videojs-plugin-recovery-mode"},Wt.createElement("button",{ref:this.setupReload},"Reload Player")))}debug(e,...t){ev.verbose&&ev.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug("app version =","0.1.0-alpha.5"),this.debug("video.js version =",X.VERSION),this.initPlayer(),this.props.context.emitter.on("attributesUpdate",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,ev.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,ev.retryInterval)}componentWillUnmount(){var e;this.debug("unmount"),this.props.context.emitter.off("attributesUpdate",this.syncPlayerWithAttributes),null==(e=this.player)||e.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const zv={kind:"MediaPlayer",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit("destroy",{error:new Error("[MediaPlayer]: Missing 'attributes'.'src'.")});t=Jm(Jm({},Km),t);const n=e.getBox();n.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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);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%}\n');const i=document.createElement("div");i.classList.add("netless-app-media-player-container"),Hm.render(Wt.createElement(Nv,{context:e}),i),n.mountContent(i),e.emitter.on("destroy",(()=>{console.log("[MediaPlayer]: destroy"),Hm.unmountComponentAtNode(i)}))}},Dv={DocsViewer:Qa.kind,MediaPlayer:zv.kind};const Lv=new d,Bv=new d,jv=new class{constructor(e){this.ctx=e,this.reactors=new Map,this.disposers=new Map,this.onPhaseChanged=e=>{e===H.Connected&&this.phase===H.Reconnecting&&this.onReconnected(),this.phase=e},this.onReconnected=f((()=>{Ue("onReconnected refresh reactors"),this.releaseDisposers(),this.reactors.forEach(((e,t)=>{T(e)&&this.disposers.set(t,e())})),this.ctx.emitter.emit("onReconnected",void 0)}),3e3)}setRoom(e){this.room=e,this.phase=null==e?void 0:e.phase,null==e||e.callbacks.off("onPhaseChanged",this.onPhaseChanged),null==e||e.callbacks.on("onPhaseChanged",this.onPhaseChanged)}setContext(e){this.ctx=e}releaseDisposers(){this.disposers.forEach((e=>{T(e)&&e()})),this.disposers.clear()}add(e,t){T(t)&&(this.reactors.set(e,t),this.disposers.set(e,t()))}remove(e){this.reactors.has(e)&&this.reactors.delete(e);const t=this.disposers.get(e);t&&(T(t)&&t(),this.disposers.delete(e))}hasReactor(e){return this.reactors.has(e)}destroy(){var e;null==(e=this.room)||e.callbacks.off("onPhaseChanged",this.onPhaseChanged),this.releaseDisposers()}}({emitter:Lv}),_v=class extends ${constructor(e){super(e),this.version="0.4.0-canary.20",this.dependencies={dependencies:{"@juggle/resize-observer":"^3.3.1",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:{"video.js":">=7","white-web-sdk":"^2.16.0"},devDependencies:{"@netless/app-docs-viewer":"^0.2.5","@netless/app-media-player":"0.1.0-beta.5","@netless/telebox-insider":"0.2.21","@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-es":"^4.17.4","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0",cypress:"^8.7.0",dotenv:"^10.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^3.2.0",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.3.5","video.js":"^7.14.3",vite:"^2.5.3","white-web-sdk":"^2.16.1"}},this.emitter=Bv,this.viewMode=Q.Broadcaster,this.isReplay=R(this.displayer),this._removeScenes=e=>{this.room.removeScenes(e)},_v.displayer=e.displayer,window.NETLESS_DEPS={dependencies:{"@juggle/resize-observer":"^3.3.1",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:{"video.js":">=7","white-web-sdk":"^2.16.0"},devDependencies:{"@netless/app-docs-viewer":"^0.2.5","@netless/app-media-player":"0.1.0-beta.5","@netless/telebox-insider":"0.2.21","@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-es":"^4.17.4","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0",cypress:"^8.7.0",dotenv:"^10.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^3.2.0",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.3.5","video.js":"^7.14.3",vite:"^2.5.3","white-web-sdk":"^2.16.1"}}}static async mount(e){const t=e.room;_v.container=e.container;const n=e.containerSizeRatio,i=e.debug,r=e.cursor;if(_v.params=e,this.checkVersion(),U(t)){if(t.phase!==H.Connected)throw new Error("[WindowManager]: Room only Connected can be mount");t.phase===H.Connected&&t.isWritable&&(t.disableSerialization=!1)}if(_v.isCreated)throw new Error("[WindowManager]: Already created cannot be created again");let s=await this.initManager(t);if(this.debug=Boolean(i),Ue("Already insert room",s),U(this.displayer)){if(!s)throw new Error("[WindowManager]: init InvisiblePlugin failed")}else await h((async e=>{if(s=await this.initManager(t),!s)throw Ue(`manager is empty. retrying ${e}`),new Error}),{retries:10});n&&(_v.containerSizeRatio=n),await s.ensureAttributes(),s.appManager=new Ze(s),r&&(s.cursorManager=new Zr(s.appManager)),e.container&&s.bindContainer(e.container),((e,t)=>{if(R(e))Gr(e);else{if(Object.getOwnPropertyDescriptor(e,"disableCameraTransform"))return;Object.defineProperty(e,"disableCameraTransform",{get:()=>t.mainView.disableCameraTransform,set(e){t.mainView.disableCameraTransform=e}}),Object.defineProperty(e,"canUndoSteps",{get:()=>t.mainView.canUndoSteps}),Object.defineProperty(e,"canRedoSteps",{get:()=>t.mainView.canRedoSteps}),e.moveCamera=e=>t.mainView.moveCamera(e),e.moveCameraToContain=(...e)=>t.moveCameraToContain(...e),e.convertToPointInWorld=(...e)=>t.mainView.convertToPointInWorld(...e),e.setCameraBound=(...e)=>t.mainView.setCameraBound(...e),e.scenePreview=(...e)=>t.mainView.scenePreview(...e),e.fillSceneSnapshot=(...e)=>t.mainView.fillSceneSnapshot(...e),e.generateScreenshot=(...e)=>t.mainView.generateScreenshot(...e),e.setMemberState=(...e)=>t.mainView.setMemberState(...e),e.redo=()=>t.mainView.redo(),e.undo=()=>t.mainView.undo(),e.cleanCurrentScene=()=>t.mainView.cleanCurrentScene(),Yr(e)}})(t,s),Lv.emit("onCreated"),_v.isCreated=!0;try{await le()}catch(a){console.warn("[WindowManager]: indexedDB open failed"),console.log(a)}return s}static async initManager(e){let t=e.getInvisiblePlugin(_v.kind);if(!t&&U(e))if(!1===e.isWritable){try{await e.setWritable(!0)}catch(n){throw new Error("[WindowManger]: room must be switched to be writable")}t=await e.createInvisiblePlugin(_v,{}),t.ensureAttributes(),await ye(500),await e.setWritable(!1)}else t=await e.createInvisiblePlugin(_v,{});return t}static initContainer(e,t,n,i){_v.container||(_v.container=t);const{playground:r,wrapper:s,sizer:a,mainViewElement:o}=(e=>{const t=document.createElement("div");t.className="netless-window-manager-playground";const n=document.createElement("div");n.className="netless-window-manager-sizer";const i=document.createElement("div");i.className="netless-window-manager-wrapper";const r=document.createElement("div");return r.className="netless-window-manager-main-view",t.appendChild(n),n.appendChild(i),i.appendChild(r),e.appendChild(t),Ov.wrapper=i,{playground:t,wrapper:i,sizer:n,mainViewElement:r}})(t);if(_v.playground=r,n&&a.classList.add("netless-window-manager-chess-sizer"),i){const e=document.createElement("style");e.textContent=i,r.appendChild(e)}return e.containerResizeObserver=Ge.create(r,a,s,Lv),_v.wrapper=s,o}bindContainer(e){var t,n,i,r,s,a,o,l,c,u;if(_v.isCreated&&_v.container)_v.container.firstChild&&e.appendChild(_v.container.firstChild);else if(_v.params){const i=_v.params,r=_v.initContainer(this,e,i.chessboard,i.overwriteStyles),s=(o=this,l=Bv,c=Lv,u={collectorContainer:i.collectorContainer,collectorStyles:i.collectorStyles,prefersColorScheme:i.prefersColorScheme},new ar({safeSetAttributes:e=>o.safeSetAttributes(e),getMainView:()=>o.mainView,updateAppState:(...e)=>{var t;return null==(t=o.appManager)?void 0:t.store.updateAppState(...e)},canOperate:()=>o.canOperate,notifyContainerRectUpdate:e=>{var t;return null==(t=o.appManager)?void 0:t.notifyContainerRectUpdate(e)},cleanFocus:()=>{var e;return null==(e=o.appManager)?void 0:e.store.cleanFocus()},setAppFocus:e=>{var t;return null==(t=o.appManager)?void 0:t.store.setAppFocus(e,!0)},callbacks:l,emitter:c},u));this.boxManager=s,null==(t=this.appManager)||t.setBoxManager(s),this.bindMainView(r,i.disableCameraTransform),_v.wrapper&&(null==(n=this.cursorManager)||n.setupWrapper(_v.wrapper))}null==(i=this.boxManager)||i.updateManagerRect(),null==(r=this.appManager)||r.refresh(),null==(s=this.appManager)||s.resetMaximized(),null==(a=this.appManager)||a.resetMinimized(),_v.container=e}bindCollectorContainer(e){_v.isCreated&&this.boxManager?this.boxManager.setCollectorContainer(e):_v.params&&(_v.params.collectorContainer=e)}static register(e){return pe.register(e)}async addApp(e){var t,n,i,r;if(this.appManager){if(!e.kind||"string"!=typeof e.kind)throw new Ie;const s=await(null==(t=pe.appClasses.get(e.kind))?void 0:t());if(s&&(null==(n=s.config)?void 0:n.singleton)&&this.appManager.appProxies.has(e.kind))throw new Me;const a=this.setupScenePath(e,this.appManager);if(void 0===a)return;(null==(i=null==e?void 0:e.options)?void 0:i.scenePath)&&(e.options.scenePath=(r=e.options.scenePath).endsWith("/")?r.slice(0,-1):r);return await this.appManager.addApp(e,Boolean(a))}throw new Ce}setupScenePath(e,t){var n,i,r;let s=!1;if(e.options){const{scenePath:a,scenes:o}=e.options;if(a){if(!(e=>e.startsWith("/"))(a))throw new Ae;const e=Object.keys(this.apps||{});for(const n of e){const e=t.store.getAppScenePath(n);if(e&&e===a){if(console.warn(`[WindowManager]: ScenePath ${a} Already opened`),this.boxManager){const e=this.boxManager.getTopBox();e&&this.boxManager.setZIndex(n,e.zIndex+1,!1)}return}}}a&&o&&o.length>0&&(this.isDynamicPPT(o)?(s=!0,this.displayer.entireScenes()[a]||null==(n=this.room)||n.putScenes(a,o)):this.displayer.entireScenes()[a]||null==(i=this.room)||i.putScenes(a,[{name:o[0].name}])),a&&void 0===o&&(null==(r=this.room)||r.putScenes(a,[{}]))}return s}async setMainViewScenePath(e){this.appManager&&await this.appManager.setMainViewScenePath(e)}async setMainViewSceneIndex(e){this.appManager&&await this.appManager.setMainViewSceneIndex(e)}getMainViewScenePath(){var e;return null==(e=this.appManager)?void 0:e.store.getMainViewScenePath()}getMainViewSceneIndex(){var e;return null==(e=this.appManager)?void 0:e.store.getMainViewSceneIndex()}setReadonly(e){var t;this.readonly=e,null==(t=this.boxManager)||t.setReadonly(e)}switchMainViewToWriter(){var e;return null==(e=this.appManager)?void 0:e.mainViewProxy.mainViewClickHandler()}onAppDestroy(e,t){((e,t)=>{Lv.once(e).then(t)})(`destroy-${e}`,t)}setViewMode(e){var t,n,i;this.canOperate&&(e===Q.Broadcaster&&(null==(t=this.appManager)||t.mainViewProxy.setCameraAndSize(),null==(n=this.appManager)||n.mainViewProxy.start()),e===Q.Freedom&&(null==(i=this.appManager)||i.mainViewProxy.stop()),this.viewMode=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)}}setMaximized(e){var t;this.canOperate&&(null==(t=this.boxManager)||t.setMaximized(e,!1))}setMinimized(e){var t;this.canOperate&&(null==(t=this.boxManager)||t.setMinimized(e,!1))}get mainView(){if(this.appManager)return this.appManager.mainViewProxy.view;throw new Ce}get camera(){if(this.appManager)return this.appManager.mainViewProxy.view.camera;throw new Ce}get cameraState(){if(this.appManager)return this.appManager.mainViewProxy.cameraState;throw new Ce}get apps(){var e;return null==(e=this.appManager)?void 0:e.store.apps()}get boxState(){var e;if(this.appManager)return null==(e=this.appManager.boxManager)?void 0:e.boxState;throw new Ce}get darkMode(){var e,t;return Boolean(null==(t=null==(e=this.appManager)?void 0:e.boxManager)?void 0:t.darkMode)}get prefersColorScheme(){var e;if(this.appManager)return null==(e=this.appManager.boxManager)?void 0:e.prefersColorScheme;throw new Ce}get focused(){return this.attributes.focus}get mainViewSceneIndex(){var e;return null==(e=this.appManager)?void 0:e.store.getMainViewSceneIndex()}get mainViewSceneDir(){var e;const t=null==(e=this.appManager)?void 0:e.store.getMainViewScenePath();if(t)return be(t);throw new Error("[WindowManager]: mainViewSceneDir not found")}get topApp(){var e,t;return null==(t=null==(e=this.boxManager)?void 0:e.getTopBox())?void 0:t.id}queryAll(){var e;return Array.from((null==(e=this.appManager)?void 0:e.appProxies.values())||[])}queryOne(e){var t;return null==(t=this.appManager)?void 0:t.appProxies.get(e)}async closeApp(e){var t;return null==(t=this.appManager)?void 0:t.closeApp(e)}moveCamera(e){this.mainView.moveCamera(e)}moveCameraToContain(t){var n;this.mainView.moveCameraToContain(t),null==(n=this.appManager)||n.dispatchInternalEvent(e.MoveCameraToContain,t),setTimeout((()=>{var e;null==(e=this.appManager)||e.mainViewProxy.setCameraAndSize()}),1e3)}convertToPointInWorld(e){return this.mainView.convertToPointInWorld(e)}setCameraBound(e){this.mainView.setCameraBound(e)}onDestroy(){this._destroy()}destroy(){this._destroy()}_destroy(){var e,t,n,i;null==(e=this.containerResizeObserver)||e.disconnect(),null==(t=this.appManager)||t.destroy(),null==(n=this.cursorManager)||n.destroy(),_v.container=void 0,_v.wrapper=void 0,_v.isCreated=!1,_v.playground&&(null==(i=_v.playground.parentNode)||i.removeChild(_v.playground)),_v.params=void 0,Ue("Destroyed")}bindMainView(e,t){var n;this.appManager&&(this.appManager.bindMainView(e,Boolean(t)),null==(n=this.cursorManager)||n.setMainViewDivElement(e))}get canOperate(){return!!U(this.displayer)&&(this.displayer.isWritable&&this.displayer.phase===H.Connected)}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,n;null==(n=null==(t=this.appManager)?void 0:t.boxManager)||n.setPrefersColorScheme(e)}isDynamicPPT(e){var t,n;const i=null==(n=null==(t=e[0])?void 0:t.ppt)?void 0:n.src;return null==i?void 0:i.startsWith("pptx://")}static checkVersion(){if(we(F)<we("2.16.1"))throw new Se("2.16.1")}async ensureAttributes(){if(k(this.attributes)&&await ye(50),g(this.attributes)){this.attributes[Oe.Apps]||this.safeSetAttributes({[Oe.Apps]:{}}),this.attributes[Oe.Cursors]||this.safeSetAttributes({[Oe.Cursors]:{}});const e=this.displayer.state.sceneState;this.attributes._mainScenePath||this.safeSetAttributes({_mainScenePath:e.scenePath}),this.attributes._mainSceneIndex||this.safeSetAttributes({_mainSceneIndex:e.index})}}};let Ov=_v;var Vv;Ov.kind="WindowManager",Ov.debug=!1,Ov.containerSizeRatio=9/16,Ov.isCreated=!1,Ov.debug&&(Vv={verbose:!0},ev=Jm(Jm({},qm),Vv)),Ov.register({kind:Qa.kind,src:Qa}),Ov.register({kind:zv.kind,src:zv});export{Dv as BuiltinApps,Ov as WindowManager,Bv as callbacks,Lv as emitter,jv as reconnectRefresher};
|
2
42
|
//# sourceMappingURL=index.es.js.map
|