@netless/window-manager 0.4.0-canary.24 → 0.4.0-canary.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/constants.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/log.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/Cursor/Cursor.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts","../src/Helper.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n\nexport const ROOT_DIR = \"/\";\n","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `\\n;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n const text = await getScript(url);\n try {\n return executeScript(text, appName);\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n return executeScript(text, appName);\n }\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\nimport { loadApp } from \"./loader\";\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import { appRegister } from \"../Register\";\nimport { debounce, memoize } from \"lodash\";\nimport { emitter } from \"../index\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../index\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\nimport { log } from \"./log\";\nimport { ROOT_DIR } from \"../constants\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === ROOT_DIR) {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n // 缓存 entireScenes 结果, 避免频繁调用\n const cacheKey = Math.round(Date.now() / 1000);\n return invokeEntireScenes(cacheKey, displayer);\n};\n\nconst invokeEntireScenes = memoize((cacheKey: number, displayer: Displayer) => {\n log(\"invokeEntireScenes\", cacheKey);\n return displayer.entireScenes();\n});\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks, emitter } from \"./index\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\n\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return get(this._context.getAttributes(), [], defaultValue);\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS\n} from 'white-web-sdk';\nimport { BoxNotCreatedError } from './Utils/error';\nimport type { Room, SceneDefinition, View, EventListener as WhiteEventListener } from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport { Storage } from './App/Storage';\nimport type { MagixEventAddListener, MagixEventDispatcher, MagixEventRemoveListener } from './App/MagixEvent';\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions),\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n }\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n }\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n }\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n }\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n }\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n }\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n }\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n }\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n }\n\n public mountView = (dom: HTMLDivElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n }\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === 'function' ? (this.appOptions as () => TAppOptions)() : this.appOptions\n }\n\n private _storage?: Storage<TAttributes>\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns \n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n }\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (this.manager.displayer as Room).dispatchMagixEvent.bind(this.manager.displayer)\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (event, handler, options) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () => this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n }\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer) as MagixEventRemoveListener<TMagixEventPayloads>\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./index\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { entireScenes, getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public kind: string;\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = entireScenes(this.manager.displayer)[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath], this.getFullScenePathFromScenes());\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n this.boxManager?.updateManagerRect();\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(app.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n this.boxManager.focusBox({ appId }, false);\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n view.release();\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n view.release();\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks, emitter } from \"../index\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n public onReconnect(): void {\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(this.view, mainViewScenePath);\n }\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import pRetry from \"p-retry\";\nimport { AppAttributes, AppStatus, Events, MagixEventName, ROOT_DIR } from \"./constants\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks, emitter, WindowManager, reconnectRefresher } from \"./index\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { get, isInteger, sortBy } from \"lodash\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { Displayer, DisplayerState, Room , ScenesCallbacksNode } from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect, EmitterEvent } from \"./index\";\nimport { appRegister } from \"./Register\";\n\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n public mainViewScenesLength = 0;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n private callbacksNode: ScenesCallbacksNode | null;\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", time => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n });\n }\n emitter.on(\"removeScenes\", scenePath => {\n if (scenePath === ROOT_DIR) {\n this.setMainViewScenePath(ROOT_DIR);\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(ROOT_DIR);\n }\n }\n });\n this.callbacksNode = this.displayer.createScenesCallback(ROOT_DIR, {\n onAddScene: (scenesCallback) => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n onRemoveScene: (scenesCallback) => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n });\n if (this.callbacksNode) {\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n }\n }\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n \n public getMainViewSceneDir() {\n const scenePath = this.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.boxManager?.updateManagerRect();\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n this.boxManager?.focusBox({ appId: focused });\n callbacks.emit(\"focusedChange\", focused);\n this._prevFocused = focused;\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n }\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of sortBy(appsWithCreatedAt, \"createdAt\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n pRetry(\n async () => {\n this.appStatus.set(id, AppStatus.StartCreate);\n // 防御 appAttributes 有可能为 undefined 的情况,这里做一个重试\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n await this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n this.focusByAttributes(apps);\n },\n { retries: 3 }\n ).catch(err => {\n console.warn(`[WindowManager]: Insert App Error`, err);\n this.appStatus.delete(id);\n });\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n const sceneDir = parseSceneDir(scenePath);\n if (sceneDir !== ROOT_DIR) {\n throw new Error(`[WindowManager]: main view scenePath must in root dir \"/\"`);\n }\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchInternalEvent(Events.SetMainViewScenePath, {\n nextScenePath: scenePath,\n });\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appRegister.notifyApp(appProxy.kind, \"focus\", { appId: payload.appId });\n }\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n this.mainViewProxy.onReconnect();\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public findMemberByUid = (uid: string) => {\n const roomMembers = this.room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n };\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.refresher?.destroy();\n this.mainViewProxy.destroy();\n callbacks.clearListeners();\n this.callbacksNode?.dispose();\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType} from \"./index\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType,\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect)\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},B=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],z=function(e){return w=e},_=B.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=z,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=B.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,B.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=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}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function Be(e){return\"function\"==typeof e}function ze(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&Be(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),Be(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,ze(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,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 n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}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(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}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 Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,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;ht(e);const i=Date.now();i-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:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,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;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=3&&Math.abs(r-this.lastTitleBarTouch.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.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,i)=>{t.isActive&&this.$btns[i].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:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];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 gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:B,styles:z,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.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 st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(B),ee=k(z);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.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 Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.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,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),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,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,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,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),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 i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.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&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}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((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}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}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class Bt extends pt{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===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===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:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"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===Ke.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:i,y:s,width:r}=this.containerRect;return t.style.transform=`translate(${i}px, ${s}px)`,t.style.width=r+\"px\",t.classList.add(this.wrapClassName(\"max-titlebar\")),t.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.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===Ke.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 i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class zt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),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)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const B=this.wrapClassName(\"titlebar-icon-close\"),z=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(B))return;const e=null==(t=s.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\",z,!0),this._sideEffect.addEventListener(window,\"touchstart\",z,!0),this.maxTitleBar=new Bt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,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 Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.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 i=new gt(l(a({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 i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{this.topBox&&i.zIndex>this.topBox.zIndex&&this.topBox$.setValue(i),s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}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,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[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(wt.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 qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.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-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,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}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,zt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { emitter, WindowManager } from \"./index\";\nimport {\n TELE_BOX_STATE,\n TeleBoxCollector,\n TeleBoxManager,\n} from \"@netless/telebox-insider\";\nimport type { AddAppOptions, AppInitState, EmitterType, CallbacksType } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n }\n\n private playgroundSizeChangeListener = () => {\n this.updateManagerRect();\n };\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n emitter.off(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '&quot;',\n \"'\": '&#39;',\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n\n export let cursorName: string;\n export let tagName: string;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n>\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.setMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public setMember() {\n this.member = this.manager.findMemberByUid(this.memberId);\n this.updateComponent();\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { throttle } from \"lodash\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter, WindowManager } from \"../index\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n emitter.on(\"cursorMove\", payload => {\n let cursorInstance = this.cursorInstances.get(payload.uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, payload.uid, this, WindowManager.wrapper);\n this.cursorInstances.set(payload.uid, cursorInstance);\n }\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n cursorInstance.move(payload.position);\n }\n });\n this.sideEffectManager.add(() => {\n const unsubscribe = emitter.on(\"playgroundSizeChange\", () => {\n this.updateContainerRect();\n });\n return unsubscribe;\n })\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: MouseEvent) => {\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../index\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.mainView.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.mainView.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.mainView.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.mainView.redo();\n room.undo = () => manager.mainView.undo();\n room.cleanCurrentScene = () => manager.mainView.cleanCurrentScene();\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".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\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=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 A&&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\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[: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]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,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(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){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 Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"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(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"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\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"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);\nad(\"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);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={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,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({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});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={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\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={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 xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={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\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.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 L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.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.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{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 i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].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 i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,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=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.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 i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}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),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.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)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.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},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{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?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.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=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{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 l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{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})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.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=A(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 i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},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 i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.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:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.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 s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.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 K={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=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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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 s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import Emittery from \"emittery\";\nimport pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, REQUIRE_VERSION } from \"./constants\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { isNull, isObject } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport { setupWrapper } from \"./Helper\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n getVersionNumber,\n isValidScenePath,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n WhiteWebSDKInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport {\n InvisiblePlugin,\n isPlayer,\n isRoom,\n RoomPhase,\n ViewMode,\n WhiteVersion,\n} from \"white-web-sdk\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n ViewVisionMode,\n CameraState,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n mainViewScenesLengthChange: number;\n};\n\nexport type MountParams = {\n room: Room;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n\n this.checkVersion();\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n let manager = await this.initManager(room);\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = await this.initManager(room);\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n\n if (cursor) {\n manager.cursorManager = new CursorManager(manager.appManager);\n }\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n this.boxManager?.updateManagerRect();\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n if (this.appManager) {\n return this.appManager?.getMainViewSceneDir();\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n public get mainViewScenesLength(): number {\n return this.appManager?.mainViewScenesLength || 0;\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n this.mainView.moveCamera(camera);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 1000);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private static checkVersion() {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n const sceneState = this.displayer.state.sceneState;\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: sceneState.scenePath });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: sceneState.index });\n }\n }\n }\n\n private _removeScenes = (scenePath: string) => {\n this.room.removeScenes(scenePath);\n };\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\n","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./index\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n","import { WindowManager } from \"./index\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};"],"names":["Events","Events2","MagixEventName","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","REQUIRE_VERSION","MIN_WIDTH","MIN_HEIGHT","ROOT_DIR","DatabaseName","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","item","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","constructor","Map","params","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","error","message","includes","define2","define","amd","loadApp","__esModule","default","Error","appClasses","app","this","appClassesCache","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","emit","has","Emittery","log","args","WindowManager","debug","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","cacheKey","Math","round","Date","now","invokeEntireScenes","memoize","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","delete","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","destroy","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","length","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","emitter","on","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","push","pick","attrs","createdAt","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","camera","__spreadValues","setMainViewSize","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","debounce","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","updateManagerRect","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","then","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","focusBox","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","status","fullScenePath","needCloseBox","cleanAttrs","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","moveCamera","isEqual","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","callbacks","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","stop","windowManger","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableCameraTransform","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","roomMembers","find","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","onCreated","onReconnected","isPlayer","attributesUpdateCallback","onAppDelete","callbacksNode","createScenesCallback","onAddScene","scenesCallback","mainViewScenesLength","onRemoveScene","isRoom","getMainViewSceneDir","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","focused","_prevFocused","mainScenePath","displayerWritableListener","container","appsWithCreatedAt","sortBy","StartCreate","focusByAttributes","retries","catch","err","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","setAppFocus","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","dispose","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","isReactComponent","C","forceUpdate","F","I","H","G","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","Be","sort","fe","l3","h2","trim","transformOrigin","ze","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","setInterval","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","B2","styles","z2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","nextElementSibling","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","Bt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","node","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","ApplianceNames","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","setMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","timer","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","findMemberByUid","updateComponent","omit","cursorInstances","throttle","getType","convertToPointInWorld","focusApp","mainViewElement","hideCursor","setupWrapper","cursorInstance","Cursor","Leave","leave","updateContainerRect","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","SRCSET","SIZES","POSTER","ORIGINALS","statusLoading","statusLoaded","statusApplied","statusError","statusNative","dataPrefix","statusDataName","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","RATIO_BASE_CONTAINER_HEIGHT","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","exports3","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","shift","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Bd","Cd","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","stack","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","fj","gj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Dj","lk","xa","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","checkVersion","_WindowManager","isCreated","initManager","pRetry","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","canUndoSteps","canRedoSteps","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","getInvisiblePlugin","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","queryAll","closeApp","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","sceneSrc","WhiteVersion","WhiteWebSDKInvalidError","isNull"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/constants.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/Utils/AppCreateQueue.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/Cursor/Cursor.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts","../src/Helper.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n\nexport const ROOT_DIR = \"/\";\n","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `\\n;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n const text = await getScript(url);\n try {\n return executeScript(text, appName);\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n return executeScript(text, appName);\n }\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\nimport { loadApp } from \"./loader\";\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { appRegister } from \"../Register\";\nimport { debounce } from \"lodash\";\nimport { emitter } from \"../index\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../index\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\nimport { ROOT_DIR } from \"../constants\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === ROOT_DIR) {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n return displayer.entireScenes();\n};\n\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks, emitter } from \"./index\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\n\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return get(this._context.getAttributes(), [], defaultValue);\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS\n} from 'white-web-sdk';\nimport { BoxNotCreatedError } from './Utils/error';\nimport type { Room, SceneDefinition, View, EventListener as WhiteEventListener } from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport { Storage } from './App/Storage';\nimport type { MagixEventAddListener, MagixEventDispatcher, MagixEventRemoveListener } from './App/MagixEvent';\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions),\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n }\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n }\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n }\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n }\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n }\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n }\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n }\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n }\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n }\n\n public mountView = (dom: HTMLDivElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n }\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === 'function' ? (this.appOptions as () => TAppOptions)() : this.appOptions\n }\n\n private _storage?: Storage<TAttributes>\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns \n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n }\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (this.manager.displayer as Room).dispatchMagixEvent.bind(this.manager.displayer)\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (event, handler, options) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () => this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n }\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer) as MagixEventRemoveListener<TMagixEventPayloads>\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./index\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { entireScenes, getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public kind: string;\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = entireScenes(this.manager.displayer)[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath], this.getFullScenePathFromScenes());\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n this.boxManager?.updateManagerRect();\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(this.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n this.boxManager.focusBox({ appId }, false);\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n view.release();\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n view.release();\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks, emitter } from \"../index\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n public onReconnect(): void {\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(this.view, mainViewScenePath);\n }\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import type { AppProxy } from \"../AppProxy\";\n\nexport type Invoker = () => Promise<AppProxy | undefined>;\n\nexport class AppCreateQueue {\n private list: Invoker[] = [];\n private currentInvoker: Invoker | undefined;\n private timer: number | undefined;\n\n private initInterval() {\n return setInterval(() => {\n this.invoke();\n }, 50);\n }\n\n public push(item: Invoker) {\n this.list.push(item);\n this.invoke();\n if (this.timer === undefined && this.list.length > 0) {\n this.timer = this.initInterval();\n }\n }\n\n public invoke() {\n if (this.list.length === 0) {\n return;\n }\n if (this.currentInvoker !== undefined) {\n return;\n }\n\n const item = this.list.shift();\n if (item) {\n this.currentInvoker = item;\n item()\n .then(() => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n clearInterval(this.timer);\n }\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n clearInterval(this.timer);\n });\n }\n }\n\n public destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n","import { AppAttributes, AppStatus, Events, MagixEventName, ROOT_DIR } from \"./constants\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { appRegister } from \"./Register\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks, emitter, reconnectRefresher, WindowManager } from \"./index\";\nimport { get, isInteger, orderBy } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { Displayer, DisplayerState, Room, ScenesCallbacksNode } from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect, EmitterEvent } from \"./index\";\nimport { AppCreateQueue } from \"./Utils/AppCreateQueue\";\n\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n public mainViewScenesLength = 0;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n private callbacksNode: ScenesCallbacksNode | null;\n private appCreateQueue = new AppCreateQueue();\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", time => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n });\n }\n emitter.on(\"removeScenes\", scenePath => {\n if (scenePath === ROOT_DIR) {\n this.setMainViewScenePath(ROOT_DIR);\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(ROOT_DIR);\n }\n }\n });\n this.callbacksNode = this.displayer.createScenesCallback(ROOT_DIR, {\n onAddScene: scenesCallback => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n onRemoveScene: scenesCallback => {\n this.mainViewScenesLength = scenesCallback.scenes.length;\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n },\n });\n if (this.callbacksNode) {\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n }\n }\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n\n public getMainViewSceneDir() {\n const scenePath = this.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.boxManager?.updateManagerRect();\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n callbacks.emit(\"focusedChange\", focused);\n this._prevFocused = focused;\n if (focused !== undefined) {\n this.boxManager?.focusBox({ appId: focused });\n // 确保 focus 修改的时候, appProxy 已经创建\n setTimeout(() => {\n const appProxy = this.appProxies.get(focused);\n if (appProxy) {\n appRegister.notifyApp(appProxy.kind, \"focus\", { appId: focused });\n }\n }, 0);\n }\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n }\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of orderBy(appsWithCreatedAt, \"createdAt\", \"asc\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n this.appStatus.set(id, AppStatus.StartCreate);\n try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n return this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n });\n this.focusByAttributes(apps);\n } catch (error) {\n console.warn(`[WindowManager]: Insert App Error`, error);\n }\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n const sceneDir = parseSceneDir(scenePath);\n if (sceneDir !== ROOT_DIR) {\n throw new Error(`[WindowManager]: main view scenePath must in root dir \"/\"`);\n }\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchSetMainViewScenePath(scenePath);\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchSetMainViewScenePath(scenePath);\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n private dispatchSetMainViewScenePath(scenePath: string): void {\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n // 兼容 15 的 SDK, 需要 room 的当前 ScenePath\n setScenePath(this.room, scenePath);\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n this.mainViewProxy.onReconnect();\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public findMemberByUid = (uid: string) => {\n const roomMembers = this.room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n };\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.refresher?.destroy();\n this.mainViewProxy.destroy();\n callbacks.clearListeners();\n this.callbacksNode?.dispose();\n this.appCreateQueue.destroy();\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType} from \"./index\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType,\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect)\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},z=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],B=function(e){return w=e},_=z.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=B,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=z.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,z.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=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}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function ze(e){return\"function\"==typeof e}function Be(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&ze(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),ze(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,Be(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,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 n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}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(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}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 Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,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;ht(e);const i=Date.now();i-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:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,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;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=3&&Math.abs(r-this.lastTitleBarTouch.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.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,i)=>{t.isActive&&this.$btns[i].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:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];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 gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:z,styles:B,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.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 st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(z),ee=k(B);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.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 Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.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,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),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,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,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,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),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 i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.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&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}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((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}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}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class zt extends pt{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===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===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:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"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===Ke.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:i,y:s,width:r}=this.containerRect;return t.style.transform=`translate(${i}px, ${s}px)`,t.style.width=r+\"px\",t.classList.add(this.wrapClassName(\"max-titlebar\")),t.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.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===Ke.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 i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class Bt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),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)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const z=this.wrapClassName(\"titlebar-icon-close\"),B=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(z))return;const e=null==(t=s.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\",B,!0),this._sideEffect.addEventListener(window,\"touchstart\",B,!0),this.maxTitleBar=new zt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,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 Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.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 i=new gt(l(a({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 i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{if(this.boxes.length>0){const e=this.boxes.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(e)}s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}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,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[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(wt.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 qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.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-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&e.setZIndex(this.topBox.zIndex+1,t)}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}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,Bt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { emitter, WindowManager } from \"./index\";\nimport {\n TELE_BOX_STATE,\n TeleBoxCollector,\n TeleBoxManager,\n} from \"@netless/telebox-insider\";\nimport type { AddAppOptions, AppInitState, EmitterType, CallbacksType } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n }\n\n private playgroundSizeChangeListener = () => {\n this.updateManagerRect();\n };\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n emitter.off(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '&quot;',\n \"'\": '&#39;',\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n\n export let cursorName: string;\n export let tagName: string;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n>\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n};\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAYISURBVHgB7ZpNSCtXFIBPEuvz+dMGpYUKD/sWFX+Qti6kK7Hqpm6e9q0rIoIUFUShPLV10VZx4+JZqa9v20LBhdq9fyBUCtKNPH8qYl2IOw3G38Rkek4y15y5uTOZJDOWggcOSSYzN/ebc+45554JwIM8iBCPyTEP+86T4vyMfsRN4b+nQTKIJp0vzuGvlpID7os8EQNEIBD4oKio6Bm9DwaDv/v9/n/076JgbtWUYPchwrW8qD7UnOvr6wFNkpubm+/wu7f0c7y6mrnlvQufxB0Iau7V1dX3BDA/P6/V1dVpzc3N2uLiIofK1c8VYHys/wRKBUN3/hGHqaysNOjc3FwMis6hc0FtLTHuvYLxCCZgci8uLn4wg5Gh6Fy8Jk+/NkcCAlAAuUkoW4g0B+d5tLS05O/r67O8eGxsDNra2uDy8nKsoKCAwCIQDxQa0yTxgrvCYXyTk5Ml+Orf2dlJeeHIyAigFSE/P38ELfUNqNdSkjgF5FF89jL1TU1NlQwODl5gZPujp6cHWltbUw7Koc7Pz8mkZpHPFeFrJuZeqLnoMoPoZqe0JjDP/IZgnyLUG/o8NDRkuo5Ua2pjY6MC4oFCFf1cA0oKzRSOp6enRfTaGh0d/QxBt+1CUVgnOTs7+xrHfQzGyOcKkK3QTJMnQffZ6e/v/xwttmsHqqmpKXbdycnJCxy7ABLh3FEgVZ6hZJhnFZoFFMF0d3c/w7v+dyookXBnZ2c/xvHfhriVcvXfdBRItsxjnOhYqjwjoAimq6vrCysoGofk+Ph4Esd/F/UdiFtJAGUd2DygTpp5dmBUUJ2dnc9VUALm8PDwJY7/BPU9VD8k3M4RC6kskxZMKigKIMLN9vf3p3H8DyWgfEhEOwOQD9IXOTz7EObbwsLC4YWFBRgeHrY9ECXYo6MjaGlpKWlsbPxkYGDgRW1tbSEWquVlZWXBzc3Nl1VVVa8hXiXc6ioqBqGaPDk7AACJTRZ3NS9lcUp86cJwoSQ7Pj4Op6enfxUXF3/V0NCQv7q6GsCvwrqGUG/01xAD4+VQTOxaSF43d5bBOisrGBJRCtXX17+/trb268rKSgASFgmz97KFkmo6OztWuVyPweiWGc4WRkhFRQVEIpHg8vJyQAIQVlLBROVxvBYQHsXnO8tk62ZcyN0wecLBwcEvYHSzEPscBqOLCRhLC4n9uqaA8UAWAcAKhtbQ3t7eTHl5+Y9gtAp3twhT056CDMQ7MRzIFTeTYKb1yYYVQFH9VdzsqNmYKpfTJBDX3Ixgdnd3XyHMT2AMALJlBBSPaMpNngrIsTyTCgaj288YDGakictrxizvKFNOjgSSBLS+vv6UYHDb7DgMVgsChjTEgCIKGG4ZU+EWkgNBzN1qamq+pAMTExPgFMzW1tZrhHkFyWE5KxgSszx0527RaDRmOSpRshEOU11dPQPG8CwHARHJlMnTSrwSRFIlfXt7m3V5ngJGuJtqzaQtZkFBVNJezN5ZAdmwjKo2k9tVtrcI3OXk4tPgcg7ChCDZ1URgMOu72Xa5VFHOkymQhWVU60YVmjN6wiC7k6p+S1syCACOwJBYFaexV+yhBekNPsMBO6KAEeE4BMaCU67RsoYhSbXgaT//ht709vZCaWmp6YkEbLFmVJWzas04+iBL7EKpm0J7duqu0B7+CTUpNJuyvb1NCfMj1CqI9wLKUOlOUMeG+gGFkHii4HizUF4z/KFUrPsJ8WbEIyx7nnZ0dDynME6BAuce09iFHo+GrnmGltltb2//E4wVAN82y7vOjKOZXSBhJdHNiT3TYWD8OY2PTUJkdd7MkJMnT5wZVQF2RFX6yBMUdzPMvvfqxz3sXHF+GNT9ANXit/10O1sgHkZvdQAOKvs9B5L7ARELGAAXLSTvM8QExTE+YbHe+HURhZp1aRyF4CJXClbbWwGketgkW9VsY+YaiBCVhfgE+XvxRwgZSM4jUVCDZFQ9pytmXR8hUTB2gnidx4XffVWydN0yQjwmx/jkAZJBrIBI5J7ZvQGZWUgVSuU/EqmOAzicKNMVu816DdRWUV1/7xAP8n+SfwF3Du3NF2sYhwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.setMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public setMember() {\n this.member = this.manager.findMemberByUid(this.memberId);\n this.updateComponent();\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { throttle } from \"lodash\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter, WindowManager } from \"../index\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n emitter.on(\"cursorMove\", payload => {\n let cursorInstance = this.cursorInstances.get(payload.uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, payload.uid, this, WindowManager.wrapper);\n this.cursorInstances.set(payload.uid, cursorInstance);\n }\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n cursorInstance.setMember();\n cursorInstance.move(payload.position);\n }\n });\n this.sideEffectManager.add(() => {\n const unsubscribe = emitter.on(\"playgroundSizeChange\", () => {\n this.updateContainerRect();\n });\n return unsubscribe;\n })\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: MouseEvent) => {\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../index\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room | Player, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n room = room as unknown as Room;\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.mainView.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.mainView.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.mainView.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.mainView.redo();\n room.undo = () => manager.mainView.undo();\n room.cleanCurrentScene = () => manager.mainView.cleanCurrentScene();\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".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\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.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 $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=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 A&&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\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[: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]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,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(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){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 Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"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(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"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\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"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);\nad(\"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);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={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,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({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});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={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\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={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 xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={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\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.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 L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.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.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{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 i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].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 i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,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=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.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 i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}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),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.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)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.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},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{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?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.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=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{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 l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{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})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.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=A(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 i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},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 i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.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:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.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 s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.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 K={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=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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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 s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import Emittery from \"emittery\";\nimport pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { checkVersion, setupWrapper } from \"./Helper\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events } from \"./constants\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { InvisiblePlugin, isPlayer, isRoom, RoomPhase, ViewMode } from \"white-web-sdk\";\nimport { isNull, isObject } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n isValidScenePath,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n ViewVisionMode,\n CameraState,\n Player,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n mainViewScenesLengthChange: number;\n};\n\nexport type MountParams = {\n room: Room | Player;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n\n checkVersion();\n let manager: WindowManager | undefined = undefined;\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n manager = await this.initManager(room);\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = (await room.getInvisiblePlugin(WindowManager.kind)) as WindowManager;\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (!manager) {\n throw new Error(\"[WindowManager]: create manager failed\");\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n\n if (cursor) {\n manager.cursorManager = new CursorManager(manager.appManager);\n }\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n this.boxManager?.updateManagerRect();\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n if (this.appManager) {\n return this.appManager?.getMainViewSceneDir();\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n public get mainViewScenesLength(): number {\n return this.appManager?.mainViewScenesLength || 0;\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n this.mainView.moveCamera(camera);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 1000);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n public cleanCurrentScene(): void {\n const focused = this.focused;\n if (focused) {\n this.appManager?.focusApp?.view?.cleanCurrentScene();\n } else {\n this.mainView.cleanCurrentScene();\n }\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n const sceneState = this.displayer.state.sceneState;\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: sceneState.scenePath });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: sceneState.index });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\n","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./index\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n","import { getVersionNumber } from \"./Utils/Common\";\nimport { REQUIRE_VERSION } from \"./constants\";\nimport { WhiteVersion } from \"white-web-sdk\";\nimport { WhiteWebSDKInvalidError } from \"./Utils/error\";\nimport { WindowManager } from \"./index\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};\n\nexport const checkVersion = () => {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n};\n"],"names":["Events","Events2","MagixEventName","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","REQUIRE_VERSION","MIN_WIDTH","MIN_HEIGHT","ROOT_DIR","DatabaseName","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","item","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","constructor","Map","params","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","error","message","includes","define2","define","amd","loadApp","__esModule","default","Error","appClasses","app","this","appClassesCache","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","emit","has","Emittery","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","delete","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","destroy","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","length","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","emitter","on","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","push","pick","attrs","createdAt","Date","now","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","camera","__spreadValues","setMainViewSize","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","log","args","WindowManager","debug","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","debounce","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","updateManagerRect","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","then","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","focusBox","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","status","fullScenePath","needCloseBox","cleanAttrs","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","moveCamera","isEqual","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","callbacks","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","stop","initInterval","setInterval","invoke","list","timer","currentInvoker","shift","catch","windowManger","AppCreateQueue","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableCameraTransform","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","roomMembers","find","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","onCreated","onReconnected","isPlayer","attributesUpdateCallback","onAppDelete","callbacksNode","createScenesCallback","onAddScene","mainViewScenesLength","scenesCallback","onRemoveScene","isRoom","getMainViewSceneDir","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","focused","_prevFocused","mainScenePath","displayerWritableListener","container","appsWithCreatedAt","orderBy","StartCreate","appCreateQueue","focusByAttributes","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","setAppFocus","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","dispatchSetMainViewScenePath","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","dispose","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","err","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","isReactComponent","C","forceUpdate","F","I","H","G","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","Math","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","round","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","ze","sort","fe","l3","h2","trim","transformOrigin","Be","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","z2","styles","B2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","nextElementSibling","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","zt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","node","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","ApplianceNames","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","setMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","findMemberByUid","updateComponent","omit","cursorInstances","throttle","getType","convertToPointInWorld","focusApp","mainViewElement","hideCursor","setupWrapper","cursorInstance","Cursor","Leave","leave","updateContainerRect","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","SRCSET","SIZES","POSTER","ORIGINALS","statusLoading","statusLoaded","statusApplied","statusError","statusNative","dataPrefix","statusDataName","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","RATIO_BASE_CONTAINER_HEIGHT","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","exports3","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Bd","Cd","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","stack","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","fj","gj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Dj","lk","xa","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","_WindowManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","canUndoSteps","canRedoSteps","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","queryAll","closeApp","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","sceneSrc","isNull"],"mappings":"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"}