You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
19 KiB
183 lines
19 KiB
"use strict";
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
}
|
|
Object.defineProperty(o, k2, desc);
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
}) : function(o, v) {
|
|
o["default"] = v;
|
|
});
|
|
var __importStar = (this && this.__importStar) || (function () {
|
|
var ownKeys = function(o) {
|
|
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
var ar = [];
|
|
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
return ar;
|
|
};
|
|
return ownKeys(o);
|
|
};
|
|
return function (mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
__setModuleDefault(result, mod);
|
|
return result;
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.PanelManager = void 0;
|
|
const { calcWindowPositionByFocused } = require('./lib/eazax/window-util');
|
|
const { BrowserWindow } = require('electron');
|
|
const Path = __importStar(require("path"));
|
|
const i18n_1 = require("./i18n");
|
|
var PanelManager;
|
|
(function (PanelManager) {
|
|
let settings = null;
|
|
let results = null;
|
|
/**
|
|
* 打开设置面板
|
|
*/
|
|
function openSettingsPanel() {
|
|
// 已打开则直接展示
|
|
if (settings) {
|
|
settings.show();
|
|
return;
|
|
}
|
|
// 窗口尺寸和位置(macOS 标题栏高 28px)
|
|
const winSize = [500, 450], winPos = calcWindowPositionByFocused(winSize, 'center');
|
|
// 创建窗口
|
|
const win = settings = new BrowserWindow({
|
|
width: winSize[0],
|
|
height: winSize[1],
|
|
minWidth: winSize[0],
|
|
minHeight: winSize[1],
|
|
x: winPos[0],
|
|
y: winPos[1] - 100,
|
|
frame: true,
|
|
title: `${i18n_1.I18n.t('name')} | Cocos Creator`,
|
|
// 菜单,用来调试
|
|
autoHideMenuBar: true,
|
|
resizable: true,
|
|
minimizable: false,
|
|
maximizable: false,
|
|
fullscreenable: false,
|
|
skipTaskbar: false,
|
|
alwaysOnTop: true,
|
|
hasShadow: true,
|
|
show: false,
|
|
webPreferences: {
|
|
nodeIntegration: true,
|
|
contextIsolation: false,
|
|
},
|
|
});
|
|
// 就绪后(展示,避免闪烁)
|
|
win.on('ready-to-show', () => win.show());
|
|
// 关闭后
|
|
win.on('closed', () => (settings = null));
|
|
// 监听按键
|
|
win.webContents.on('before-input-event', (event, input) => {
|
|
if (input.key === 'Escape')
|
|
PanelManager.closeSettingsPanel();
|
|
});
|
|
// 调试用的 devtools
|
|
// win.webContents.openDevTools({ mode: 'detach' });
|
|
// 加载页面
|
|
const path = Path.join(__dirname, './renderer/settings/index.html');
|
|
win.loadURL(`file://${path}?lang=${Editor.I18n.getLanguage()}`);
|
|
}
|
|
PanelManager.openSettingsPanel = openSettingsPanel;
|
|
/**
|
|
* 关闭面板
|
|
*/
|
|
function closeSettingsPanel() {
|
|
if (!settings) {
|
|
return;
|
|
}
|
|
settings.hide();
|
|
settings.close();
|
|
settings = null;
|
|
}
|
|
PanelManager.closeSettingsPanel = closeSettingsPanel;
|
|
/**
|
|
* 打开结果面板
|
|
*/
|
|
function openResultsPanel(data) {
|
|
if (results) {
|
|
// 若窗口已存在,刷新窗口
|
|
results.webContents.reload();
|
|
results.show();
|
|
// 等待页面重新加载完成后发送新数据
|
|
results.webContents.once('did-finish-load', () => {
|
|
results.webContents.send('results-data', data);
|
|
});
|
|
return;
|
|
}
|
|
// 窗口尺寸和位置(macOS 标题栏高 28px)
|
|
const winSize = [900, 450], winPos = calcWindowPositionByFocused(winSize, 'center');
|
|
// 创建窗口
|
|
const win = results = new BrowserWindow({
|
|
width: winSize[0],
|
|
height: winSize[1],
|
|
minWidth: winSize[0],
|
|
minHeight: winSize[1],
|
|
x: winPos[0],
|
|
y: winPos[1] - 100,
|
|
frame: true,
|
|
title: `${i18n_1.I18n.t('name')} | ${i18n_1.I18n.t('resultsPanelTitle')}`,
|
|
// 菜单,用来调试
|
|
autoHideMenuBar: true,
|
|
resizable: true,
|
|
minimizable: false,
|
|
maximizable: false,
|
|
fullscreenable: false,
|
|
skipTaskbar: false,
|
|
alwaysOnTop: true,
|
|
hasShadow: true,
|
|
show: false,
|
|
webPreferences: {
|
|
nodeIntegration: true,
|
|
contextIsolation: false,
|
|
},
|
|
});
|
|
// 就绪后(展示,避免闪烁)
|
|
win.on('ready-to-show', () => win.show());
|
|
// 关闭后
|
|
win.on('closed', () => (results = null));
|
|
// 监听按键
|
|
win.webContents.on('before-input-event', (event, input) => {
|
|
if (input.key === 'Escape')
|
|
PanelManager.closeResultsPanel();
|
|
});
|
|
// 等页面加载完成后发送数据
|
|
win.webContents.once('did-finish-load', () => {
|
|
win.webContents.send('results-data', data);
|
|
});
|
|
// 调试用的 devtools
|
|
// win.webContents.openDevTools({ mode: 'detach' });
|
|
// 加载页面
|
|
const path = Path.join(__dirname, './renderer/results/index.html');
|
|
win.loadURL(`file://${path}?lang=${Editor.I18n.getLanguage()}`);
|
|
}
|
|
PanelManager.openResultsPanel = openResultsPanel;
|
|
/**
|
|
* 关闭结果面板
|
|
*/
|
|
function closeResultsPanel() {
|
|
if (!results) {
|
|
return;
|
|
}
|
|
results.hide();
|
|
results.close();
|
|
results = null;
|
|
}
|
|
PanelManager.closeResultsPanel = closeResultsPanel;
|
|
})(PanelManager || (exports.PanelManager = PanelManager = {}));
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9wYW5lbC1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDOUMsMkNBQTZCO0FBQzdCLGlDQUE4QjtBQUc5QixJQUFpQixZQUFZLENBNkk1QjtBQTdJRCxXQUFpQixZQUFZO0lBQ3pCLElBQUksUUFBUSxHQUFRLElBQUksQ0FBQztJQUN6QixJQUFJLE9BQU8sR0FBUSxJQUFJLENBQUM7SUFFeEI7O09BRUc7SUFDSCxTQUFnQixpQkFBaUI7UUFDN0IsV0FBVztRQUNYLElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCwyQkFBMkI7UUFDM0IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQ3RCLE1BQU0sR0FBRywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsT0FBTztRQUNQLE1BQU0sR0FBRyxHQUFHLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUNyQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNqQixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNwQixTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRztZQUNsQixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxHQUFHLFdBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUMxQyxVQUFVO1lBQ1YsZUFBZSxFQUFFLElBQUk7WUFDckIsU0FBUyxFQUFFLElBQUk7WUFDZixXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsS0FBSztZQUNsQixjQUFjLEVBQUUsS0FBSztZQUNyQixXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsSUFBSTtZQUNqQixTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRSxLQUFLO1lBQ1gsY0FBYyxFQUFFO2dCQUNaLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixnQkFBZ0IsRUFBRSxLQUFLO2FBQzFCO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsZUFBZTtRQUNmLEdBQUcsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE1BQU07UUFDTixHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU87UUFDUCxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEtBQVUsRUFBRSxLQUFVLEVBQUUsRUFBRTtZQUNoRSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUTtnQkFBRSxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQUNILGdCQUFnQjtRQUNoQixvREFBb0Q7UUFDcEQsT0FBTztRQUNQLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGdDQUFnQyxDQUFDLENBQUM7UUFDcEUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksU0FBUyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBL0NlLDhCQUFpQixvQkErQ2hDLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLGtCQUFrQjtRQUM5QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixPQUFPO1FBQ1gsQ0FBQztRQUNELFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBUGUsK0JBQWtCLHFCQU9qQyxDQUFBO0lBR0Q7O09BRUc7SUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFhO1FBQzFDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixjQUFjO1lBQ2QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixtQkFBbUI7WUFDbkIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO2dCQUM3QyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1gsQ0FBQztRQUNELDJCQUEyQjtRQUMzQixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDdEIsTUFBTSxHQUFHLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxPQUFPO1FBQ1AsTUFBTSxHQUFHLEdBQUcsT0FBTyxHQUFHLElBQUksYUFBYSxDQUFDO1lBQ3BDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1osQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLEdBQUcsV0FBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxXQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDM0QsVUFBVTtZQUNWLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFLElBQUk7WUFDakIsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsS0FBSztZQUNYLGNBQWMsRUFBRTtnQkFDWixlQUFlLEVBQUUsSUFBSTtnQkFDckIsZ0JBQWdCLEVBQUUsS0FBSzthQUMxQjtTQUNKLENBQUMsQ0FBQztRQUNILGVBQWU7UUFDZixHQUFHLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxQyxNQUFNO1FBQ04sR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6QyxPQUFPO1FBQ1AsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxLQUFVLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVE7Z0JBQUUsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFDSCxlQUFlO1FBQ2YsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1lBQ3pDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztRQUNILGdCQUFnQjtRQUNoQixvREFBb0Q7UUFDcEQsT0FBTztRQUNQLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLCtCQUErQixDQUFDLENBQUM7UUFDbkUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksU0FBUyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBeERlLDZCQUFnQixtQkF3RC9CLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLGlCQUFpQjtRQUM3QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1gsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFQZSw4QkFBaUIsb0JBT2hDLENBQUE7QUFDTCxDQUFDLEVBN0lnQixZQUFZLDRCQUFaLFlBQVksUUE2STVCIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgeyBjYWxjV2luZG93UG9zaXRpb25CeUZvY3VzZWQgfSA9IHJlcXVpcmUoJy4vbGliL2VhemF4L3dpbmRvdy11dGlsJyk7XHJcbmNvbnN0IHsgQnJvd3NlcldpbmRvdyB9ID0gcmVxdWlyZSgnZWxlY3Ryb24nKTtcclxuaW1wb3J0ICogYXMgUGF0aCBmcm9tICdwYXRoJztcclxuaW1wb3J0IHsgSTE4biB9IGZyb20gJy4vaTE4bic7XHJcbmltcG9ydCB7IElSZXN1bHQgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUGFuZWxNYW5hZ2VyIHtcclxuICAgIGxldCBzZXR0aW5nczogYW55ID0gbnVsbDtcclxuICAgIGxldCByZXN1bHRzOiBhbnkgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog5omT5byA6K6+572u6Z2i5p2/XHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBmdW5jdGlvbiBvcGVuU2V0dGluZ3NQYW5lbCgpIHtcclxuICAgICAgICAvLyDlt7LmiZPlvIDliJnnm7TmjqXlsZXnpLpcclxuICAgICAgICBpZiAoc2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgc2V0dGluZ3Muc2hvdygpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOeql+WPo+WwuuWvuOWSjOS9jee9ru+8iG1hY09TIOagh+mimOagj+mrmCAyOHB477yJXHJcbiAgICAgICAgY29uc3Qgd2luU2l6ZSA9IFs1MDAsIDQ1MF0sXHJcbiAgICAgICAgICAgIHdpblBvcyA9IGNhbGNXaW5kb3dQb3NpdGlvbkJ5Rm9jdXNlZCh3aW5TaXplLCAnY2VudGVyJyk7XHJcbiAgICAgICAgLy8g5Yib5bu656qX5Y+jXHJcbiAgICAgICAgY29uc3Qgd2luID0gc2V0dGluZ3MgPSBuZXcgQnJvd3NlcldpbmRvdyh7XHJcbiAgICAgICAgICAgIHdpZHRoOiB3aW5TaXplWzBdLFxyXG4gICAgICAgICAgICBoZWlnaHQ6IHdpblNpemVbMV0sXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiB3aW5TaXplWzBdLFxyXG4gICAgICAgICAgICBtaW5IZWlnaHQ6IHdpblNpemVbMV0sXHJcbiAgICAgICAgICAgIHg6IHdpblBvc1swXSxcclxuICAgICAgICAgICAgeTogd2luUG9zWzFdIC0gMTAwLFxyXG4gICAgICAgICAgICBmcmFtZTogdHJ1ZSxcclxuICAgICAgICAgICAgdGl0bGU6IGAke0kxOG4udCgnbmFtZScpfSB8IENvY29zIENyZWF0b3JgLFxyXG4gICAgICAgICAgICAvLyDoj5zljZXvvIznlKjmnaXosIPor5VcclxuICAgICAgICAgICAgYXV0b0hpZGVNZW51QmFyOiB0cnVlLFxyXG4gICAgICAgICAgICByZXNpemFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIG1pbmltaXphYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgbWF4aW1pemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBmdWxsc2NyZWVuYWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHNraXBUYXNrYmFyOiBmYWxzZSxcclxuICAgICAgICAgICAgYWx3YXlzT25Ub3A6IHRydWUsXHJcbiAgICAgICAgICAgIGhhc1NoYWRvdzogdHJ1ZSxcclxuICAgICAgICAgICAgc2hvdzogZmFsc2UsXHJcbiAgICAgICAgICAgIHdlYlByZWZlcmVuY2VzOiB7XHJcbiAgICAgICAgICAgICAgICBub2RlSW50ZWdyYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgICAgICBjb250ZXh0SXNvbGF0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyDlsLHnu6rlkI7vvIjlsZXnpLrvvIzpgb/lhY3pl6rng4HvvIlcclxuICAgICAgICB3aW4ub24oJ3JlYWR5LXRvLXNob3cnLCAoKSA9PiB3aW4uc2hvdygpKTtcclxuICAgICAgICAvLyDlhbPpl63lkI5cclxuICAgICAgICB3aW4ub24oJ2Nsb3NlZCcsICgpID0+IChzZXR0aW5ncyA9IG51bGwpKTtcclxuICAgICAgICAvLyDnm5HlkKzmjInplK5cclxuICAgICAgICB3aW4ud2ViQ29udGVudHMub24oJ2JlZm9yZS1pbnB1dC1ldmVudCcsIChldmVudDogYW55LCBpbnB1dDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpbnB1dC5rZXkgPT09ICdFc2NhcGUnKSBQYW5lbE1hbmFnZXIuY2xvc2VTZXR0aW5nc1BhbmVsKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8g6LCD6K+V55So55qEIGRldnRvb2xzXHJcbiAgICAgICAgLy8gd2luLndlYkNvbnRlbnRzLm9wZW5EZXZUb29scyh7IG1vZGU6ICdkZXRhY2gnIH0pO1xyXG4gICAgICAgIC8vIOWKoOi9vemhtemdolxyXG4gICAgICAgIGNvbnN0IHBhdGggPSBQYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9yZW5kZXJlci9zZXR0aW5ncy9pbmRleC5odG1sJyk7XHJcbiAgICAgICAgd2luLmxvYWRVUkwoYGZpbGU6Ly8ke3BhdGh9P2xhbmc9JHtFZGl0b3IuSTE4bi5nZXRMYW5ndWFnZSgpfWApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5YWz6Zet6Z2i5p2/XHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBmdW5jdGlvbiBjbG9zZVNldHRpbmdzUGFuZWwoKSB7XHJcbiAgICAgICAgaWYgKCFzZXR0aW5ncykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldHRpbmdzLmhpZGUoKTtcclxuICAgICAgICBzZXR0aW5ncy5jbG9zZSgpO1xyXG4gICAgICAgIHNldHRpbmdzID0gbnVsbDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDmiZPlvIDnu5PmnpzpnaLmnb9cclxuICAgICAqL1xyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG9wZW5SZXN1bHRzUGFuZWwoZGF0YTogSVJlc3VsdCkge1xyXG4gICAgICAgIGlmIChyZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIC8vIOiLpeeql+WPo+W3suWtmOWcqO+8jOWIt+aWsOeql+WPo1xyXG4gICAgICAgICAgICByZXN1bHRzLndlYkNvbnRlbnRzLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICByZXN1bHRzLnNob3coKTtcclxuICAgICAgICAgICAgLy8g562J5b6F6aG16Z2i6YeN5paw5Yqg6L295a6M5oiQ5ZCO5Y+R6YCB5paw5pWw5o2uXHJcbiAgICAgICAgICAgIHJlc3VsdHMud2ViQ29udGVudHMub25jZSgnZGlkLWZpbmlzaC1sb2FkJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0cy53ZWJDb250ZW50cy5zZW5kKCdyZXN1bHRzLWRhdGEnLCBkYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g56qX5Y+j5bC65a+45ZKM5L2N572u77yIbWFjT1Mg5qCH6aKY5qCP6auYIDI4cHjvvIlcclxuICAgICAgICBjb25zdCB3aW5TaXplID0gWzkwMCwgNDUwXSxcclxuICAgICAgICAgICAgd2luUG9zID0gY2FsY1dpbmRvd1Bvc2l0aW9uQnlGb2N1c2VkKHdpblNpemUsICdjZW50ZXInKTtcclxuICAgICAgICAvLyDliJvlu7rnqpflj6NcclxuICAgICAgICBjb25zdCB3aW4gPSByZXN1bHRzID0gbmV3IEJyb3dzZXJXaW5kb3coe1xyXG4gICAgICAgICAgICB3aWR0aDogd2luU2l6ZVswXSxcclxuICAgICAgICAgICAgaGVpZ2h0OiB3aW5TaXplWzFdLFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogd2luU2l6ZVswXSxcclxuICAgICAgICAgICAgbWluSGVpZ2h0OiB3aW5TaXplWzFdLFxyXG4gICAgICAgICAgICB4OiB3aW5Qb3NbMF0sXHJcbiAgICAgICAgICAgIHk6IHdpblBvc1sxXSAtIDEwMCxcclxuICAgICAgICAgICAgZnJhbWU6IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBgJHtJMThuLnQoJ25hbWUnKX0gfCAke0kxOG4udCgncmVzdWx0c1BhbmVsVGl0bGUnKX1gLFxyXG4gICAgICAgICAgICAvLyDoj5zljZXvvIznlKjmnaXosIPor5VcclxuICAgICAgICAgICAgYXV0b0hpZGVNZW51QmFyOiB0cnVlLFxyXG4gICAgICAgICAgICByZXNpemFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIG1pbmltaXphYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgbWF4aW1pemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBmdWxsc2NyZWVuYWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHNraXBUYXNrYmFyOiBmYWxzZSxcclxuICAgICAgICAgICAgYWx3YXlzT25Ub3A6IHRydWUsXHJcbiAgICAgICAgICAgIGhhc1NoYWRvdzogdHJ1ZSxcclxuICAgICAgICAgICAgc2hvdzogZmFsc2UsXHJcbiAgICAgICAgICAgIHdlYlByZWZlcmVuY2VzOiB7XHJcbiAgICAgICAgICAgICAgICBub2RlSW50ZWdyYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgICAgICBjb250ZXh0SXNvbGF0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyDlsLHnu6rlkI7vvIjlsZXnpLrvvIzpgb/lhY3pl6rng4HvvIlcclxuICAgICAgICB3aW4ub24oJ3JlYWR5LXRvLXNob3cnLCAoKSA9PiB3aW4uc2hvdygpKTtcclxuICAgICAgICAvLyDlhbPpl63lkI5cclxuICAgICAgICB3aW4ub24oJ2Nsb3NlZCcsICgpID0+IChyZXN1bHRzID0gbnVsbCkpO1xyXG4gICAgICAgIC8vIOebkeWQrOaMiemUrlxyXG4gICAgICAgIHdpbi53ZWJDb250ZW50cy5vbignYmVmb3JlLWlucHV0LWV2ZW50JywgKGV2ZW50OiBhbnksIGlucHV0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGlucHV0LmtleSA9PT0gJ0VzY2FwZScpIFBhbmVsTWFuYWdlci5jbG9zZVJlc3VsdHNQYW5lbCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIOetiemhtemdouWKoOi9veWujOaIkOWQjuWPkemAgeaVsOaNrlxyXG4gICAgICAgIHdpbi53ZWJDb250ZW50cy5vbmNlKCdkaWQtZmluaXNoLWxvYWQnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHdpbi53ZWJDb250ZW50cy5zZW5kKCdyZXN1bHRzLWRhdGEnLCBkYXRhKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyDosIPor5XnlKjnmoQgZGV2dG9vbHNcclxuICAgICAgICAvLyB3aW4ud2ViQ29udGVudHMub3BlbkRldlRvb2xzKHsgbW9kZTogJ2RldGFjaCcgfSk7XHJcbiAgICAgICAgLy8g5Yqg6L296aG16Z2iXHJcbiAgICAgICAgY29uc3QgcGF0aCA9IFBhdGguam9pbihfX2Rpcm5hbWUsICcuL3JlbmRlcmVyL3Jlc3VsdHMvaW5kZXguaHRtbCcpO1xyXG4gICAgICAgIHdpbi5sb2FkVVJMKGBmaWxlOi8vJHtwYXRofT9sYW5nPSR7RWRpdG9yLkkxOG4uZ2V0TGFuZ3VhZ2UoKX1gKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWFs+mXree7k+aenOmdouadv1xyXG4gICAgICovXHJcbiAgICBleHBvcnQgZnVuY3Rpb24gY2xvc2VSZXN1bHRzUGFuZWwoKSB7XHJcbiAgICAgICAgaWYgKCFyZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0cy5oaWRlKCk7XHJcbiAgICAgICAgcmVzdWx0cy5jbG9zZSgpO1xyXG4gICAgICAgIHJlc3VsdHMgPSBudWxsO1xyXG4gICAgfVxyXG59Il19
|