| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- "use strict";
- const { contextBridge, ipcRenderer } = require("electron");
- contextBridge.exposeInMainWorld("electronAPI", {
- // 应用信息
- getAppVersion: () => ipcRenderer.invoke("get-app-version"),
- getPlatform: () => ipcRenderer.invoke("get-platform"),
- // 窗口控制
- minimizeWindow: () => ipcRenderer.send("window-minimize"),
- maximizeWindow: () => ipcRenderer.send("window-maximize"),
- closeWindow: () => ipcRenderer.send("window-close"),
- quitApp: () => ipcRenderer.send("app-quit"),
- // 真正退出应用
- isMaximized: () => ipcRenderer.invoke("window-is-maximized"),
- onMaximizedChange: (callback) => {
- ipcRenderer.on("window-maximized", (_event, isMaximized) => callback(isMaximized));
- },
- // 文件操作
- selectFile: (options) => ipcRenderer.invoke("select-file", options),
- selectFolder: () => ipcRenderer.invoke("select-folder"),
- // 通知
- showNotification: (title, body) => ipcRenderer.send("show-notification", { title, body }),
- // 弹窗打开平台后台(独立窗口,不嵌入;实验用)
- openBackendExternal: (url, cookieData, title) => ipcRenderer.invoke("open-backend-external", { url, cookieData, title }),
- // Webview Cookie 操作
- getWebviewCookies: (partition, url) => ipcRenderer.invoke("get-webview-cookies", partition, url),
- clearWebviewCookies: (partition) => ipcRenderer.invoke("clear-webview-cookies", partition),
- setWebviewCookies: (partition, cookies) => ipcRenderer.invoke("set-webview-cookies", partition, cookies),
- // Webview 截图(用于 AI 分析)
- captureWebviewPage: (webContentsId) => ipcRenderer.invoke("capture-webview-page", webContentsId),
- // Webview 自动操作
- webviewSendMouseClick: (webContentsId, x, y) => ipcRenderer.invoke("webview-send-mouse-click", webContentsId, x, y),
- webviewSendTextInput: (webContentsId, text) => ipcRenderer.invoke("webview-send-text-input", webContentsId, text),
- webviewGetElementPosition: (webContentsId, selector) => ipcRenderer.invoke("webview-get-element-position", webContentsId, selector),
- webviewClickByText: (webContentsId, text) => ipcRenderer.invoke("webview-click-by-text", webContentsId, text),
- // CDP 网络拦截
- enableNetworkIntercept: (webContentsId, patterns) => ipcRenderer.invoke("enable-network-intercept", webContentsId, patterns),
- disableNetworkIntercept: (webContentsId) => ipcRenderer.invoke("disable-network-intercept", webContentsId),
- updateNetworkPatterns: (webContentsId, patterns) => ipcRenderer.invoke("update-network-patterns", webContentsId, patterns),
- onNetworkInterceptData: (callback) => {
- ipcRenderer.on("network-intercept-data", (_event, data) => callback(data));
- },
- removeNetworkInterceptListener: () => {
- ipcRenderer.removeAllListeners("network-intercept-data");
- }
- });
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC5qcyIsInNvdXJjZXMiOlsiLi4vZWxlY3Ryb24vcHJlbG9hZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyDkvb/nlKggcmVxdWlyZSDpgb/lhY0gRVNNIOmXrumimFxyXG5jb25zdCB7IGNvbnRleHRCcmlkZ2UsIGlwY1JlbmRlcmVyIH0gPSByZXF1aXJlKCdlbGVjdHJvbicpO1xyXG5cclxuLy8g5pq06Zyy57uZ5riy5p+T6L+b56iL55qEIEFQSVxyXG5jb250ZXh0QnJpZGdlLmV4cG9zZUluTWFpbldvcmxkKCdlbGVjdHJvbkFQSScsIHtcclxuICAvLyDlupTnlKjkv6Hmga9cclxuICBnZXRBcHBWZXJzaW9uOiAoKSA9PiBpcGNSZW5kZXJlci5pbnZva2UoJ2dldC1hcHAtdmVyc2lvbicpLFxyXG4gIGdldFBsYXRmb3JtOiAoKSA9PiBpcGNSZW5kZXJlci5pbnZva2UoJ2dldC1wbGF0Zm9ybScpLFxyXG5cclxuICAvLyDnqpflj6PmjqfliLZcclxuICBtaW5pbWl6ZVdpbmRvdzogKCkgPT4gaXBjUmVuZGVyZXIuc2VuZCgnd2luZG93LW1pbmltaXplJyksXHJcbiAgbWF4aW1pemVXaW5kb3c6ICgpID0+IGlwY1JlbmRlcmVyLnNlbmQoJ3dpbmRvdy1tYXhpbWl6ZScpLFxyXG4gIGNsb3NlV2luZG93OiAoKSA9PiBpcGNSZW5kZXJlci5zZW5kKCd3aW5kb3ctY2xvc2UnKSxcclxuICBxdWl0QXBwOiAoKSA9PiBpcGNSZW5kZXJlci5zZW5kKCdhcHAtcXVpdCcpLCAvLyDnnJ/mraPpgIDlh7rlupTnlKhcclxuICBpc01heGltaXplZDogKCkgPT4gaXBjUmVuZGVyZXIuaW52b2tlKCd3aW5kb3ctaXMtbWF4aW1pemVkJyksXHJcbiAgb25NYXhpbWl6ZWRDaGFuZ2U6IChjYWxsYmFjazogKGlzTWF4aW1pemVkOiBib29sZWFuKSA9PiB2b2lkKSA9PiB7XHJcbiAgICBpcGNSZW5kZXJlci5vbignd2luZG93LW1heGltaXplZCcsIChfZXZlbnQ6IHVua25vd24sIGlzTWF4aW1pemVkOiBib29sZWFuKSA9PiBjYWxsYmFjayhpc01heGltaXplZCkpO1xyXG4gIH0sXHJcblxyXG4gIC8vIOaWh+S7tuaTjeS9nFxyXG4gIHNlbGVjdEZpbGU6IChvcHRpb25zPzogeyBmaWx0ZXJzPzogeyBuYW1lOiBzdHJpbmc7IGV4dGVuc2lvbnM6IHN0cmluZ1tdIH1bXSB9KSA9PlxyXG4gICAgaXBjUmVuZGVyZXIuaW52b2tlKCdzZWxlY3QtZmlsZScsIG9wdGlvbnMpLFxyXG4gIHNlbGVjdEZvbGRlcjogKCkgPT4gaXBjUmVuZGVyZXIuaW52b2tlKCdzZWxlY3QtZm9sZGVyJyksXHJcblxyXG4gIC8vIOmAmuefpVxyXG4gIHNob3dOb3RpZmljYXRpb246ICh0aXRsZTogc3RyaW5nLCBib2R5OiBzdHJpbmcpID0+XHJcbiAgICBpcGNSZW5kZXJlci5zZW5kKCdzaG93LW5vdGlmaWNhdGlvbicsIHsgdGl0bGUsIGJvZHkgfSksXHJcblxyXG4gIC8vIOW8ueeql+aJk+W8gOW5s+WPsOWQjuWPsO+8iOeLrOeri+eql+WPo++8jOS4jeW1jOWFpe+8m+WunumqjOeUqO+8iVxyXG4gIG9wZW5CYWNrZW5kRXh0ZXJuYWw6ICh1cmw6IHN0cmluZywgY29va2llRGF0YT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpID0+XHJcbiAgICBpcGNSZW5kZXJlci5pbnZva2UoJ29wZW4tYmFja2VuZC1leHRlcm5hbCcsIHsgdXJsLCBjb29raWVEYXRhLCB0aXRsZSB9KSxcclxuXHJcbiAgLy8gV2VidmlldyBDb29raWUg5pON5L2cXHJcbiAgZ2V0V2Vidmlld0Nvb2tpZXM6IChwYXJ0aXRpb246IHN0cmluZywgdXJsOiBzdHJpbmcpID0+XHJcbiAgICBpcGNSZW5kZXJlci5pbnZva2UoJ2dldC13ZWJ2aWV3LWNvb2tpZXMnLCBwYXJ0aXRpb24sIHVybCksXHJcbiAgY2xlYXJXZWJ2aWV3Q29va2llczogKHBhcnRpdGlvbjogc3RyaW5nKSA9PlxyXG4gICAgaXBjUmVuZGVyZXIuaW52b2tlKCdjbGVhci13ZWJ2aWV3LWNvb2tpZXMnLCBwYXJ0aXRpb24pLFxyXG4gIHNldFdlYnZpZXdDb29raWVzOiAocGFydGl0aW9uOiBzdHJpbmcsIGNvb2tpZXM6IEVsZWN0cm9uLkNvb2tpZXNTZXREZXRhaWxzW10pID0+XHJcbiAgICBpcGNSZW5kZXJlci5pbnZva2UoJ3NldC13ZWJ2aWV3LWNvb2tpZXMnLCBwYXJ0aXRpb24sIGNvb2tpZXMpLFxyXG5cclxuICAvLyBXZWJ2aWV3IOaIquWbvu+8iOeUqOS6jiBBSSDliIbmnpDvvIlcclxuICBjYXB0dXJlV2Vidmlld1BhZ2U6ICh3ZWJDb250ZW50c0lkOiBudW1iZXIpID0+XHJcbiAgICBpcGNSZW5kZXJlci5pbnZva2UoJ2NhcHR1cmUtd2Vidmlldy1wYWdlJywgd2ViQ29udGVudHNJZCksXHJcblxyXG4gIC8vIFdlYnZpZXcg6Ieq5Yqo5pON5L2cXHJcbiAgd2Vidmlld1NlbmRNb3VzZUNsaWNrOiAod2ViQ29udGVudHNJZDogbnVtYmVyLCB4OiBudW1iZXIsIHk6IG51bWJlcikgPT5cclxuICAgIGlwY1JlbmRlcmVyLmludm9rZSgnd2Vidmlldy1zZW5kLW1vdXNlLWNsaWNrJywgd2ViQ29udGVudHNJZCwgeCwgeSksXHJcbiAgd2Vidmlld1NlbmRUZXh0SW5wdXQ6ICh3ZWJDb250ZW50c0lkOiBudW1iZXIsIHRleHQ6IHN0cmluZykgPT5cclxuICAgIGlwY1JlbmRlcmVyLmludm9rZSgnd2Vidmlldy1zZW5kLXRleHQtaW5wdXQnLCB3ZWJDb250ZW50c0lkLCB0ZXh0KSxcclxuICB3ZWJ2aWV3R2V0RWxlbWVudFBvc2l0aW9uOiAod2ViQ29udGVudHNJZDogbnVtYmVyLCBzZWxlY3Rvcjogc3RyaW5nKSA9PlxyXG4gICAgaXBjUmVuZGVyZXIuaW52b2tlKCd3ZWJ2aWV3LWdldC1lbGVtZW50LXBvc2l0aW9uJywgd2ViQ29udGVudHNJZCwgc2VsZWN0b3IpLFxyXG4gIHdlYnZpZXdDbGlja0J5VGV4dDogKHdlYkNvbnRlbnRzSWQ6IG51bWJlciwgdGV4dDogc3RyaW5nKSA9PlxyXG4gICAgaXBjUmVuZGVyZXIuaW52b2tlKCd3ZWJ2aWV3LWNsaWNrLWJ5LXRleHQnLCB3ZWJDb250ZW50c0lkLCB0ZXh0KSxcclxuXHJcbiAgLy8gQ0RQIOe9kee7nOaLpuaIqlxyXG4gIGVuYWJsZU5ldHdvcmtJbnRlcmNlcHQ6ICh3ZWJDb250ZW50c0lkOiBudW1iZXIsIHBhdHRlcm5zOiBBcnJheTx7bWF0Y2g6IHN0cmluZywga2V5OiBzdHJpbmd9PikgPT5cclxuICAgIGlwY1JlbmRlcmVyLmludm9rZSgnZW5hYmxlLW5ldHdvcmstaW50ZXJjZXB0Jywgd2ViQ29udGVudHNJZCwgcGF0dGVybnMpLFxyXG4gIGRpc2FibGVOZXR3b3JrSW50ZXJjZXB0OiAod2ViQ29udGVudHNJZDogbnVtYmVyKSA9PlxyXG4gICAgaXBjUmVuZGVyZXIuaW52b2tlKCdkaXNhYmxlLW5ldHdvcmstaW50ZXJjZXB0Jywgd2ViQ29udGVudHNJZCksXHJcbiAgdXBkYXRlTmV0d29ya1BhdHRlcm5zOiAod2ViQ29udGVudHNJZDogbnVtYmVyLCBwYXR0ZXJuczogQXJyYXk8e21hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nfT4pID0+XHJcbiAgICBpcGNSZW5kZXJlci5pbnZva2UoJ3VwZGF0ZS1uZXR3b3JrLXBhdHRlcm5zJywgd2ViQ29udGVudHNJZCwgcGF0dGVybnMpLFxyXG4gIG9uTmV0d29ya0ludGVyY2VwdERhdGE6IChjYWxsYmFjazogKGRhdGE6IHsgd2ViQ29udGVudHNJZDogbnVtYmVyOyBrZXk6IHN0cmluZzsgdXJsOiBzdHJpbmc7IGRhdGE6IHVua25vd24gfSkgPT4gdm9pZCkgPT4ge1xyXG4gICAgaXBjUmVuZGVyZXIub24oJ25ldHdvcmstaW50ZXJjZXB0LWRhdGEnLCAoX2V2ZW50OiB1bmtub3duLCBkYXRhOiB7IHdlYkNvbnRlbnRzSWQ6IG51bWJlcjsga2V5OiBzdHJpbmc7IHVybDogc3RyaW5nOyBkYXRhOiB1bmtub3duIH0pID0+IGNhbGxiYWNrKGRhdGEpKTtcclxuICB9LFxyXG4gIHJlbW92ZU5ldHdvcmtJbnRlcmNlcHRMaXN0ZW5lcjogKCkgPT4ge1xyXG4gICAgaXBjUmVuZGVyZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCduZXR3b3JrLWludGVyY2VwdC1kYXRhJyk7XHJcbiAgfSxcclxufSk7XHJcblxyXG4vLyDnsbvlnovlo7DmmI5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBXaW5kb3cge1xyXG4gICAgZWxlY3Ryb25BUEk6IHtcclxuICAgICAgZ2V0QXBwVmVyc2lvbjogKCkgPT4gUHJvbWlzZTxzdHJpbmc+O1xyXG4gICAgICBnZXRQbGF0Zm9ybTogKCkgPT4gUHJvbWlzZTxzdHJpbmc+O1xyXG4gICAgICBtaW5pbWl6ZVdpbmRvdzogKCkgPT4gdm9pZDtcclxuICAgICAgbWF4aW1pemVXaW5kb3c6ICgpID0+IHZvaWQ7XHJcbiAgICAgIGNsb3NlV2luZG93OiAoKSA9PiB2b2lkO1xyXG4gICAgICBxdWl0QXBwOiAoKSA9PiB2b2lkO1xyXG4gICAgICBpc01heGltaXplZDogKCkgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuICAgICAgb25NYXhpbWl6ZWRDaGFuZ2U6IChjYWxsYmFjazogKGlzTWF4aW1pemVkOiBib29sZWFuKSA9PiB2b2lkKSA9PiB2b2lkO1xyXG4gICAgICBzZWxlY3RGaWxlOiAob3B0aW9ucz86IHsgZmlsdGVycz86IHsgbmFtZTogc3RyaW5nOyBleHRlbnNpb25zOiBzdHJpbmdbXSB9W10gfSkgPT4gUHJvbWlzZTxzdHJpbmcgfCBudWxsPjtcclxuICAgICAgc2VsZWN0Rm9sZGVyOiAoKSA9PiBQcm9taXNlPHN0cmluZyB8IG51bGw+O1xyXG4gICAgICBzaG93Tm90aWZpY2F0aW9uOiAodGl0bGU6IHN0cmluZywgYm9keTogc3RyaW5nKSA9PiB2b2lkO1xyXG4gICAgICBnZXRXZWJ2aWV3Q29va2llczogKHBhcnRpdGlvbjogc3RyaW5nLCB1cmw6IHN0cmluZykgPT4gUHJvbWlzZTxFbGVjdHJvbi5Db29raWVbXT47XHJcbiAgICAgIGNsZWFyV2Vidmlld0Nvb2tpZXM6IChwYXJ0aXRpb246IHN0cmluZykgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuICAgICAgc2V0V2Vidmlld0Nvb2tpZXM6IChwYXJ0aXRpb246IHN0cmluZywgY29va2llczogRWxlY3Ryb24uQ29va2llc1NldERldGFpbHNbXSkgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuICAgICAgY2FwdHVyZVdlYnZpZXdQYWdlOiAod2ViQ29udGVudHNJZDogbnVtYmVyKSA9PiBQcm9taXNlPHN0cmluZyB8IG51bGw+O1xyXG4gICAgICB3ZWJ2aWV3U2VuZE1vdXNlQ2xpY2s6ICh3ZWJDb250ZW50c0lkOiBudW1iZXIsIHg6IG51bWJlciwgeTogbnVtYmVyKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xyXG4gICAgICB3ZWJ2aWV3U2VuZFRleHRJbnB1dDogKHdlYkNvbnRlbnRzSWQ6IG51bWJlciwgdGV4dDogc3RyaW5nKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xyXG4gICAgICB3ZWJ2aWV3R2V0RWxlbWVudFBvc2l0aW9uOiAod2ViQ29udGVudHNJZDogbnVtYmVyLCBzZWxlY3Rvcjogc3RyaW5nKSA9PiBQcm9taXNlPHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0gfCBudWxsPjtcclxuICAgICAgd2Vidmlld0NsaWNrQnlUZXh0OiAod2ViQ29udGVudHNJZDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpID0+IFByb21pc2U8Ym9vbGVhbj47XHJcbiAgICAgIG9wZW5CYWNrZW5kRXh0ZXJuYWw6ICh1cmw6IHN0cmluZywgY29va2llRGF0YT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpID0+IFByb21pc2U8eyBvazogYm9vbGVhbiB9PjtcclxuICAgICAgLy8gQ0RQIOe9kee7nOaLpuaIqlxyXG4gICAgICBlbmFibGVOZXR3b3JrSW50ZXJjZXB0OiAod2ViQ29udGVudHNJZDogbnVtYmVyLCBwYXR0ZXJuczogQXJyYXk8e21hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nfT4pID0+IFByb21pc2U8Ym9vbGVhbj47XHJcbiAgICAgIGRpc2FibGVOZXR3b3JrSW50ZXJjZXB0OiAod2ViQ29udGVudHNJZDogbnVtYmVyKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xyXG4gICAgICB1cGRhdGVOZXR3b3JrUGF0dGVybnM6ICh3ZWJDb250ZW50c0lkOiBudW1iZXIsIHBhdHRlcm5zOiBBcnJheTx7bWF0Y2g6IHN0cmluZywga2V5OiBzdHJpbmd9PikgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuICAgICAgb25OZXR3b3JrSW50ZXJjZXB0RGF0YTogKGNhbGxiYWNrOiAoZGF0YTogeyB3ZWJDb250ZW50c0lkOiBudW1iZXI7IGtleTogc3RyaW5nOyB1cmw6IHN0cmluZzsgZGF0YTogdW5rbm93biB9KSA9PiB2b2lkKSA9PiB2b2lkO1xyXG4gICAgICByZW1vdmVOZXR3b3JrSW50ZXJjZXB0TGlzdGVuZXI6ICgpID0+IHZvaWQ7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE1BQU0sRUFBRSxlQUFlLGdCQUFnQixRQUFRLFVBQVU7QUFHekQsY0FBYyxrQkFBa0IsZUFBZTtBQUFBO0FBQUEsRUFFN0MsZUFBZSxNQUFNLFlBQVksT0FBTyxpQkFBaUI7QUFBQSxFQUN6RCxhQUFhLE1BQU0sWUFBWSxPQUFPLGNBQWM7QUFBQTtBQUFBLEVBR3BELGdCQUFnQixNQUFNLFlBQVksS0FBSyxpQkFBaUI7QUFBQSxFQUN4RCxnQkFBZ0IsTUFBTSxZQUFZLEtBQUssaUJBQWlCO0FBQUEsRUFDeEQsYUFBYSxNQUFNLFlBQVksS0FBSyxjQUFjO0FBQUEsRUFDbEQsU0FBUyxNQUFNLFlBQVksS0FBSyxVQUFVO0FBQUE7QUFBQSxFQUMxQyxhQUFhLE1BQU0sWUFBWSxPQUFPLHFCQUFxQjtBQUFBLEVBQzNELG1CQUFtQixDQUFDLGFBQTZDO0FBQy9ELGdCQUFZLEdBQUcsb0JBQW9CLENBQUMsUUFBaUIsZ0JBQXlCLFNBQVMsV0FBVyxDQUFDO0FBQUEsRUFDckc7QUFBQTtBQUFBLEVBR0EsWUFBWSxDQUFDLFlBQ1gsWUFBWSxPQUFPLGVBQWUsT0FBTztBQUFBLEVBQzNDLGNBQWMsTUFBTSxZQUFZLE9BQU8sZUFBZTtBQUFBO0FBQUEsRUFHdEQsa0JBQWtCLENBQUMsT0FBZSxTQUNoQyxZQUFZLEtBQUsscUJBQXFCLEVBQUUsT0FBTyxNQUFNO0FBQUE7QUFBQSxFQUd2RCxxQkFBcUIsQ0FBQyxLQUFhLFlBQXFCLFVBQ3RELFlBQVksT0FBTyx5QkFBeUIsRUFBRSxLQUFLLFlBQVksTUFBQSxDQUFPO0FBQUE7QUFBQSxFQUd4RSxtQkFBbUIsQ0FBQyxXQUFtQixRQUNyQyxZQUFZLE9BQU8sdUJBQXVCLFdBQVcsR0FBRztBQUFBLEVBQzFELHFCQUFxQixDQUFDLGNBQ3BCLFlBQVksT0FBTyx5QkFBeUIsU0FBUztBQUFBLEVBQ3ZELG1CQUFtQixDQUFDLFdBQW1CLFlBQ3JDLFlBQVksT0FBTyx1QkFBdUIsV0FBVyxPQUFPO0FBQUE7QUFBQSxFQUc5RCxvQkFBb0IsQ0FBQyxrQkFDbkIsWUFBWSxPQUFPLHdCQUF3QixhQUFhO0FBQUE7QUFBQSxFQUcxRCx1QkFBdUIsQ0FBQyxlQUF1QixHQUFXLE1BQ3hELFlBQVksT0FBTyw0QkFBNEIsZUFBZSxHQUFHLENBQUM7QUFBQSxFQUNwRSxzQkFBc0IsQ0FBQyxlQUF1QixTQUM1QyxZQUFZLE9BQU8sMkJBQTJCLGVBQWUsSUFBSTtBQUFBLEVBQ25FLDJCQUEyQixDQUFDLGVBQXVCLGFBQ2pELFlBQVksT0FBTyxnQ0FBZ0MsZUFBZSxRQUFRO0FBQUEsRUFDNUUsb0JBQW9CLENBQUMsZUFBdUIsU0FDMUMsWUFBWSxPQUFPLHlCQUF5QixlQUFlLElBQUk7QUFBQTtBQUFBLEVBR2pFLHdCQUF3QixDQUFDLGVBQXVCLGFBQzlDLFlBQVksT0FBTyw0QkFBNEIsZUFBZSxRQUFRO0FBQUEsRUFDeEUseUJBQXlCLENBQUMsa0JBQ3hCLFlBQVksT0FBTyw2QkFBNkIsYUFBYTtBQUFBLEVBQy9ELHVCQUF1QixDQUFDLGVBQXVCLGFBQzdDLFlBQVksT0FBTywyQkFBMkIsZUFBZSxRQUFRO0FBQUEsRUFDdkUsd0JBQXdCLENBQUMsYUFBaUc7QUFDeEgsZ0JBQVksR0FBRywwQkFBMEIsQ0FBQyxRQUFpQixTQUE2RSxTQUFTLElBQUksQ0FBQztBQUFBLEVBQ3hKO0FBQUEsRUFDQSxnQ0FBZ0MsTUFBTTtBQUNwQyxnQkFBWSxtQkFBbUIsd0JBQXdCO0FBQUEsRUFDekQ7QUFDRixDQUFDOyJ9
|