@lynker-desktop/electron-ipc 0.0.9-alpha.36 → 0.0.9-alpha.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/preload/index.js +17 -1
- package/esm/preload/index.js.map +1 -1
- package/package.json +2 -2
- package/preload/index.js +17 -1
- package/preload/index.js.map +1 -1
package/esm/preload/index.js
CHANGED
|
@@ -16,7 +16,23 @@ else {
|
|
|
16
16
|
// This will fail if contextIsolation is not enabled
|
|
17
17
|
try {
|
|
18
18
|
// @ts-ignore
|
|
19
|
-
contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY,
|
|
19
|
+
contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, {
|
|
20
|
+
...ipcRenderer,
|
|
21
|
+
emit: ipcRenderer.emit.bind(ipcRenderer),
|
|
22
|
+
prependListener: ipcRenderer.prependListener.bind(ipcRenderer),
|
|
23
|
+
prependOnceListener: ipcRenderer.prependOnceListener.bind(ipcRenderer),
|
|
24
|
+
once: ipcRenderer.once.bind(ipcRenderer),
|
|
25
|
+
on: ipcRenderer.on.bind(ipcRenderer),
|
|
26
|
+
off: ipcRenderer.off.bind(ipcRenderer),
|
|
27
|
+
send: ipcRenderer.send.bind(ipcRenderer),
|
|
28
|
+
sendSync: ipcRenderer.sendSync.bind(ipcRenderer),
|
|
29
|
+
sendTo: ipcRenderer.sendTo.bind(ipcRenderer),
|
|
30
|
+
sendToHost: ipcRenderer.sendToHost.bind(ipcRenderer),
|
|
31
|
+
invoke: ipcRenderer.invoke.bind(ipcRenderer),
|
|
32
|
+
addListener: ipcRenderer.addListener.bind(ipcRenderer),
|
|
33
|
+
removeAllListeners: ipcRenderer.removeAllListeners.bind(ipcRenderer),
|
|
34
|
+
removeListener: ipcRenderer.removeListener.bind(ipcRenderer),
|
|
35
|
+
});
|
|
20
36
|
}
|
|
21
37
|
catch (e) {
|
|
22
38
|
// console.error(e)
|
package/esm/preload/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/src/common/index.ts","../../src/src/preload/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n\nexport const getRandomUUID = (key: string = `${Date.now()}`): string => {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n","import { ipcRenderer, contextBridge } from 'electron';\nimport { WINDOWL_GLOBAL_KEY } from '../common';\n\n// @ts-ignore\nif (window[WINDOWL_GLOBAL_KEY]) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window[WINDOWL_GLOBAL_KEY] = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, ipcRenderer);\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,kBAAkB,GAAG,kBAAkB;;ACDpD;AACA,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE;;AAE9B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC;IACzC,IAAI,aAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAA,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/src/common/index.ts","../../src/src/preload/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n\nexport const getRandomUUID = (key: string = `${Date.now()}`): string => {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n","import { ipcRenderer, contextBridge } from 'electron';\nimport { WINDOWL_GLOBAL_KEY } from '../common';\n\n// @ts-ignore\nif (window[WINDOWL_GLOBAL_KEY]) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window[WINDOWL_GLOBAL_KEY] = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, {\n ...ipcRenderer,\n emit: ipcRenderer.emit.bind(ipcRenderer),\n prependListener: ipcRenderer.prependListener.bind(ipcRenderer),\n prependOnceListener: ipcRenderer.prependOnceListener.bind(ipcRenderer),\n once: ipcRenderer.once.bind(ipcRenderer),\n on: ipcRenderer.on.bind(ipcRenderer),\n off: ipcRenderer.off.bind(ipcRenderer),\n send: ipcRenderer.send.bind(ipcRenderer),\n sendSync: ipcRenderer.sendSync.bind(ipcRenderer),\n sendTo: ipcRenderer.sendTo.bind(ipcRenderer),\n sendToHost: ipcRenderer.sendToHost.bind(ipcRenderer),\n invoke: ipcRenderer.invoke.bind(ipcRenderer),\n addListener: ipcRenderer.addListener.bind(ipcRenderer),\n removeAllListeners: ipcRenderer.removeAllListeners.bind(ipcRenderer),\n removeListener: ipcRenderer.removeListener.bind(ipcRenderer),\n });\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,kBAAkB,GAAG,kBAAkB;;ACDpD;AACA,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE;;AAE9B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC;IACzC,IAAI,aAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAA,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;AAClD,gBAAA,GAAG,WAAW;gBACd,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBACxC,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9D,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBACxC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBACxC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC5C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC5C,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtD,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpE,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7D,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;AACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lynker-desktop/electron-ipc",
|
|
3
|
-
"version": "0.0.9-alpha.
|
|
3
|
+
"version": "0.0.9-alpha.38",
|
|
4
4
|
"description": "electron-ipc",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"electron",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"tslib": "^2.6.3",
|
|
74
74
|
"typescript": "^5.5.3"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "c8410af2e7cd438a1d9522f360330362734d93d6"
|
|
77
77
|
}
|
package/preload/index.js
CHANGED
|
@@ -16,7 +16,23 @@ else {
|
|
|
16
16
|
// This will fail if contextIsolation is not enabled
|
|
17
17
|
try {
|
|
18
18
|
// @ts-ignore
|
|
19
|
-
electron.contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY,
|
|
19
|
+
electron.contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, {
|
|
20
|
+
...electron.ipcRenderer,
|
|
21
|
+
emit: electron.ipcRenderer.emit.bind(electron.ipcRenderer),
|
|
22
|
+
prependListener: electron.ipcRenderer.prependListener.bind(electron.ipcRenderer),
|
|
23
|
+
prependOnceListener: electron.ipcRenderer.prependOnceListener.bind(electron.ipcRenderer),
|
|
24
|
+
once: electron.ipcRenderer.once.bind(electron.ipcRenderer),
|
|
25
|
+
on: electron.ipcRenderer.on.bind(electron.ipcRenderer),
|
|
26
|
+
off: electron.ipcRenderer.off.bind(electron.ipcRenderer),
|
|
27
|
+
send: electron.ipcRenderer.send.bind(electron.ipcRenderer),
|
|
28
|
+
sendSync: electron.ipcRenderer.sendSync.bind(electron.ipcRenderer),
|
|
29
|
+
sendTo: electron.ipcRenderer.sendTo.bind(electron.ipcRenderer),
|
|
30
|
+
sendToHost: electron.ipcRenderer.sendToHost.bind(electron.ipcRenderer),
|
|
31
|
+
invoke: electron.ipcRenderer.invoke.bind(electron.ipcRenderer),
|
|
32
|
+
addListener: electron.ipcRenderer.addListener.bind(electron.ipcRenderer),
|
|
33
|
+
removeAllListeners: electron.ipcRenderer.removeAllListeners.bind(electron.ipcRenderer),
|
|
34
|
+
removeListener: electron.ipcRenderer.removeListener.bind(electron.ipcRenderer),
|
|
35
|
+
});
|
|
20
36
|
}
|
|
21
37
|
catch (e) {
|
|
22
38
|
// console.error(e)
|
package/preload/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/src/common/index.ts","../src/src/preload/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n\nexport const getRandomUUID = (key: string = `${Date.now()}`): string => {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n","import { ipcRenderer, contextBridge } from 'electron';\nimport { WINDOWL_GLOBAL_KEY } from '../common';\n\n// @ts-ignore\nif (window[WINDOWL_GLOBAL_KEY]) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window[WINDOWL_GLOBAL_KEY] = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, ipcRenderer);\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":["ipcRenderer","contextBridge"],"mappings":";;;;AAIO,MAAM,kBAAkB,GAAG,kBAAkB;;ACDpD;AACA,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE;;AAE9B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,kBAAkB,CAAC,GAAGA,oBAAW,CAAC;IACzC,IAAIC,sBAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAAA,sBAAa,CAAC,iBAAiB,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/src/common/index.ts","../src/src/preload/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n\nexport const getRandomUUID = (key: string = `${Date.now()}`): string => {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n","import { ipcRenderer, contextBridge } from 'electron';\nimport { WINDOWL_GLOBAL_KEY } from '../common';\n\n// @ts-ignore\nif (window[WINDOWL_GLOBAL_KEY]) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window[WINDOWL_GLOBAL_KEY] = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, {\n ...ipcRenderer,\n emit: ipcRenderer.emit.bind(ipcRenderer),\n prependListener: ipcRenderer.prependListener.bind(ipcRenderer),\n prependOnceListener: ipcRenderer.prependOnceListener.bind(ipcRenderer),\n once: ipcRenderer.once.bind(ipcRenderer),\n on: ipcRenderer.on.bind(ipcRenderer),\n off: ipcRenderer.off.bind(ipcRenderer),\n send: ipcRenderer.send.bind(ipcRenderer),\n sendSync: ipcRenderer.sendSync.bind(ipcRenderer),\n sendTo: ipcRenderer.sendTo.bind(ipcRenderer),\n sendToHost: ipcRenderer.sendToHost.bind(ipcRenderer),\n invoke: ipcRenderer.invoke.bind(ipcRenderer),\n addListener: ipcRenderer.addListener.bind(ipcRenderer),\n removeAllListeners: ipcRenderer.removeAllListeners.bind(ipcRenderer),\n removeListener: ipcRenderer.removeListener.bind(ipcRenderer),\n });\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":["ipcRenderer","contextBridge"],"mappings":";;;;AAIO,MAAM,kBAAkB,GAAG,kBAAkB;;ACDpD;AACA,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE;;AAE9B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,kBAAkB,CAAC,GAAGA,oBAAW,CAAC;IACzC,IAAIC,sBAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAAA,sBAAa,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;AAClD,gBAAA,GAAGD,oBAAW;gBACd,IAAI,EAAEA,oBAAW,CAAC,IAAI,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACxC,eAAe,EAAEA,oBAAW,CAAC,eAAe,CAAC,IAAI,CAACA,oBAAW,CAAC;gBAC9D,mBAAmB,EAAEA,oBAAW,CAAC,mBAAmB,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACtE,IAAI,EAAEA,oBAAW,CAAC,IAAI,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACxC,EAAE,EAAEA,oBAAW,CAAC,EAAE,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACpC,GAAG,EAAEA,oBAAW,CAAC,GAAG,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACtC,IAAI,EAAEA,oBAAW,CAAC,IAAI,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACxC,QAAQ,EAAEA,oBAAW,CAAC,QAAQ,CAAC,IAAI,CAACA,oBAAW,CAAC;gBAChD,MAAM,EAAEA,oBAAW,CAAC,MAAM,CAAC,IAAI,CAACA,oBAAW,CAAC;gBAC5C,UAAU,EAAEA,oBAAW,CAAC,UAAU,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACpD,MAAM,EAAEA,oBAAW,CAAC,MAAM,CAAC,IAAI,CAACA,oBAAW,CAAC;gBAC5C,WAAW,EAAEA,oBAAW,CAAC,WAAW,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACtD,kBAAkB,EAAEA,oBAAW,CAAC,kBAAkB,CAAC,IAAI,CAACA,oBAAW,CAAC;gBACpE,cAAc,EAAEA,oBAAW,CAAC,cAAc,CAAC,IAAI,CAACA,oBAAW,CAAC;AAC7D,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;AACH;;"}
|