|
|
"use strict";
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
exports.Printer = void 0;
|
|
|
/* eslint-disable no-irregular-whitespace */
|
|
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
|
const config_manager_1 = require("./config-manager");
|
|
|
const i18n_1 = require("./i18n");
|
|
|
const icon_map_1 = require("./icon-map");
|
|
|
const logger_1 = require("./logger");
|
|
|
var Printer;
|
|
|
(function (Printer) {
|
|
|
/**
|
|
|
* 打印结果至控制台
|
|
|
* @param {object} result
|
|
|
*/
|
|
|
function printResult(result) {
|
|
|
if (!result) {
|
|
|
return;
|
|
|
}
|
|
|
const { printDetails, printFolding } = config_manager_1.ConfigManager.get();
|
|
|
// 标志位
|
|
|
const nodeRefs = [], assetRefs = [];
|
|
|
let nodeRefsCount = 0, assetRefsCount = 0;
|
|
|
// 遍历引用信息
|
|
|
for (let refs = result.refs, i = 0, l = refs.length; i < l; i++) {
|
|
|
const ref = refs[i], type = ref.type, url = ref.url.replace('db://', '').replace('.meta', '');
|
|
|
if (type === 'scene' || type === 'prefab') {
|
|
|
// 场景或预制体
|
|
|
nodeRefs.push(` ${icon_map_1.ICON_MAP[type]} [${i18n_1.I18n.t(type)}] ${url}`);
|
|
|
// 节点引用
|
|
|
for (let details = ref.refs, j = 0, l = details.length; j < l; j++) {
|
|
|
nodeRefsCount++;
|
|
|
// 详情
|
|
|
if (printDetails) {
|
|
|
const detail = details[j];
|
|
|
let item = ` ${icon_map_1.ICON_MAP['node']} [${i18n_1.I18n.t('node')}] ${detail.node}`;
|
|
|
if (detail.component) {
|
|
|
item += ` → ${icon_map_1.ICON_MAP['component']} [${i18n_1.I18n.t('component')}] ${detail.component}`;
|
|
|
}
|
|
|
if (detail.property) {
|
|
|
item += ` → ${icon_map_1.ICON_MAP['property']} [${i18n_1.I18n.t('property')}] ${detail.property}`;
|
|
|
}
|
|
|
nodeRefs.push(item);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
// 资源引用
|
|
|
assetRefsCount++;
|
|
|
assetRefs.push(` ${icon_map_1.ICON_MAP['asset']} [${i18n_1.I18n.t(type)}] ${url}`);
|
|
|
}
|
|
|
}
|
|
|
// 组装文本
|
|
|
const texts = [];
|
|
|
// 分割线
|
|
|
texts.push(`${'- - '.repeat(36)}`);
|
|
|
// 基础信息
|
|
|
texts.push(`${icon_map_1.ICON_MAP['asset-info']} ${i18n_1.I18n.t('asset-info')}`);
|
|
|
texts.push(` - ${i18n_1.I18n.t('asset-type')}${result.type}`);
|
|
|
texts.push(` - ${i18n_1.I18n.t('asset-uuid')}${result.uuid}`);
|
|
|
texts.push(` - ${i18n_1.I18n.t('asset-url')}${result.url}`);
|
|
|
texts.push(` - ${i18n_1.I18n.t('asset-path')}${result.path}`);
|
|
|
// 分割线
|
|
|
texts.push(`${'- - '.repeat(36)}`);
|
|
|
// 节点引用
|
|
|
if (nodeRefs.length > 0) {
|
|
|
texts.push(`${icon_map_1.ICON_MAP['node-refs']} ${i18n_1.I18n.t('node-refs')} x ${nodeRefsCount}`);
|
|
|
for (let i = 0, l = nodeRefs.length; i < l; i++) {
|
|
|
texts.push(nodeRefs[i]);
|
|
|
}
|
|
|
}
|
|
|
// 资源引用
|
|
|
if (assetRefs.length > 0) {
|
|
|
texts.push(`${icon_map_1.ICON_MAP['asset-refs']} ${i18n_1.I18n.t('asset-refs')} x ${assetRefsCount}`);
|
|
|
for (let i = 0, l = assetRefs.length; i < l; i++) {
|
|
|
texts.push(assetRefs[i]);
|
|
|
}
|
|
|
}
|
|
|
// 结尾分割线
|
|
|
texts.push(`${'- - '.repeat(36)}`);
|
|
|
// 打印到控制台
|
|
|
if (printFolding) {
|
|
|
// 单行打印
|
|
|
texts.unshift(`🗂 ${i18n_1.I18n.t('result')} >>>`);
|
|
|
(0, logger_1.pureWithoutTitle)('info', texts.join('\n'));
|
|
|
}
|
|
|
else {
|
|
|
// 逐行打印
|
|
|
(0, logger_1.print)('info', i18n_1.I18n.t('result'));
|
|
|
for (let i = 0, l = texts.length; i < l; i++) {
|
|
|
(0, logger_1.pureWithoutTitle)('info', ` ${texts[i]}`);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
Printer.printResult = printResult;
|
|
|
})(Printer || (exports.Printer = Printer = {}));
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9wcmludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUE0QztBQUM1Qyw2REFBNkQ7QUFDN0QscURBQWlEO0FBQ2pELGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFDdEMscUNBQW1EO0FBR25ELElBQWlCLE9BQU8sQ0FzRnZCO0FBdEZELFdBQWlCLE9BQU87SUFFcEI7OztPQUdHO0lBQ0gsU0FBZ0IsV0FBVyxDQUFDLE1BQWU7UUFDdkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxHQUFHLDhCQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFM0QsTUFBTTtRQUNOLE1BQU0sUUFBUSxHQUFHLEVBQUUsRUFBRSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLElBQUksYUFBYSxHQUFHLENBQUMsRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLFNBQVM7UUFDVCxLQUFLLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDL0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNmLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxFQUNmLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3RCxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN4QyxTQUFTO2dCQUNULFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxtQkFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFdBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDOUQsT0FBTztnQkFDUCxLQUFLLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ2xFLGFBQWEsRUFBRSxDQUFDO29CQUNoQixLQUFLO29CQUNMLElBQUksWUFBWSxFQUFFLENBQUM7d0JBQ2YsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUMxQixJQUFJLElBQUksR0FBRyxPQUFPLG1CQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ3hFLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDOzRCQUNuQixJQUFJLElBQUksUUFBUSxtQkFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFdBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUN6RixDQUFDO3dCQUNELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUNsQixJQUFJLElBQUksUUFBUSxtQkFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFdBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUN0RixDQUFDO3dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3hCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPO2dCQUNQLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssbUJBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFJLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPO1FBQ1AsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE1BQU07UUFDTixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsT0FBTztRQUNQLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxtQkFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLFdBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxXQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxXQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxXQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxXQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE1BQU07UUFDTixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsT0FBTztRQUNQLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsbUJBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDakYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTztRQUNQLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsbUJBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxXQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDcEYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDTCxDQUFDO1FBQ0QsUUFBUTtRQUNSLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxTQUFTO1FBQ1QsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLE9BQU87WUFDUCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sV0FBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsSUFBQSx5QkFBZ0IsRUFBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTztZQUNQLElBQUEsY0FBSyxFQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMzQyxJQUFBLHlCQUFnQixFQUFDLE1BQU0sRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBL0VlLG1CQUFXLGNBK0UxQixDQUFBO0FBQ0wsQ0FBQyxFQXRGZ0IsT0FBTyx1QkFBUCxPQUFPLFFBc0Z2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWlycmVndWxhci13aGl0ZXNwYWNlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cclxuaW1wb3J0IHsgQ29uZmlnTWFuYWdlciB9IGZyb20gJy4vY29uZmlnLW1hbmFnZXInO1xyXG5pbXBvcnQgeyBJMThuIH0gZnJvbSAnLi9pMThuJztcclxuaW1wb3J0IHsgSUNPTl9NQVAgfSBmcm9tICcuL2ljb24tbWFwJztcclxuaW1wb3J0IHsgcHJpbnQsIHB1cmVXaXRob3V0VGl0bGUgfSBmcm9tICcuL2xvZ2dlcic7XHJcbmltcG9ydCB7IElSZXN1bHQgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUHJpbnRlciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDmiZPljbDnu5Pmnpzoh7PmjqfliLblj7BcclxuICAgICAqIEBwYXJhbSB7b2JqZWN0fSByZXN1bHRcclxuICAgICAqL1xyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHByaW50UmVzdWx0KHJlc3VsdDogSVJlc3VsdCkge1xyXG4gICAgICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgeyBwcmludERldGFpbHMsIHByaW50Rm9sZGluZyB9ID0gQ29uZmlnTWFuYWdlci5nZXQoKTtcclxuXHJcbiAgICAgICAgLy8g5qCH5b+X5L2NXHJcbiAgICAgICAgY29uc3Qgbm9kZVJlZnMgPSBbXSwgYXNzZXRSZWZzID0gW107XHJcbiAgICAgICAgbGV0IG5vZGVSZWZzQ291bnQgPSAwLCBhc3NldFJlZnNDb3VudCA9IDA7XHJcbiAgICAgICAgLy8g6YGN5Y6G5byV55So5L+h5oGvXHJcbiAgICAgICAgZm9yIChsZXQgcmVmcyA9IHJlc3VsdC5yZWZzISwgaSA9IDAsIGwgPSByZWZzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCByZWYgPSByZWZzW2ldLFxyXG4gICAgICAgICAgICAgICAgdHlwZSA9IHJlZi50eXBlLFxyXG4gICAgICAgICAgICAgICAgdXJsID0gcmVmLnVybCEucmVwbGFjZSgnZGI6Ly8nLCAnJykucmVwbGFjZSgnLm1ldGEnLCAnJyk7XHJcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnc2NlbmUnIHx8IHR5cGUgPT09ICdwcmVmYWInKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDlnLrmma/miJbpooTliLbkvZNcclxuICAgICAgICAgICAgICAgIG5vZGVSZWZzLnB1c2goYOOAgOOAgCR7SUNPTl9NQVBbdHlwZV19IFske0kxOG4udCh0eXBlKX1dICR7dXJsfWApO1xyXG4gICAgICAgICAgICAgICAgLy8g6IqC54K55byV55SoXHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBkZXRhaWxzID0gcmVmLnJlZnMhLCBqID0gMCwgbCA9IGRldGFpbHMubGVuZ3RoOyBqIDwgbDsgaisrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZVJlZnNDb3VudCsrO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIOivpuaDhVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmludERldGFpbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGV0YWlsID0gZGV0YWlsc1tqXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSBg44CA44CA44CA44CAJHtJQ09OX01BUFsnbm9kZSddfSBbJHtJMThuLnQoJ25vZGUnKX1dICR7ZGV0YWlsLm5vZGV9YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRldGFpbC5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0gKz0gYCDjgIDihpIg44CAJHtJQ09OX01BUFsnY29tcG9uZW50J119IFske0kxOG4udCgnY29tcG9uZW50Jyl9XSAke2RldGFpbC5jb21wb25lbnR9YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGV0YWlsLnByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtICs9IGAg44CA4oaSIOOAgCR7SUNPTl9NQVBbJ3Byb3BlcnR5J119IFske0kxOG4udCgncHJvcGVydHknKX1dICR7ZGV0YWlsLnByb3BlcnR5fWA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVJlZnMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyDotYTmupDlvJXnlKhcclxuICAgICAgICAgICAgICAgIGFzc2V0UmVmc0NvdW50Kys7XHJcbiAgICAgICAgICAgICAgICBhc3NldFJlZnMucHVzaChg44CA44CAJHtJQ09OX01BUFsnYXNzZXQnXX0gWyR7STE4bi50KHR5cGUhKX1dICR7dXJsfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOe7hOijheaWh+acrFxyXG4gICAgICAgIGNvbnN0IHRleHRzID0gW107XHJcbiAgICAgICAgLy8g5YiG5Ymy57q/XHJcbiAgICAgICAgdGV4dHMucHVzaChgJHsnLSAtICcucmVwZWF0KDM2KX1gKTtcclxuICAgICAgICAvLyDln7rnoYDkv6Hmga9cclxuICAgICAgICB0ZXh0cy5wdXNoKGAke0lDT05fTUFQWydhc3NldC1pbmZvJ119ICR7STE4bi50KCdhc3NldC1pbmZvJyl9YCk7XHJcbiAgICAgICAgdGV4dHMucHVzaChg44CA44CALSAke0kxOG4udCgnYXNzZXQtdHlwZScpfSR7cmVzdWx0LnR5cGV9YCk7XHJcbiAgICAgICAgdGV4dHMucHVzaChg44CA44CALSAke0kxOG4udCgnYXNzZXQtdXVpZCcpfSR7cmVzdWx0LnV1aWR9YCk7XHJcbiAgICAgICAgdGV4dHMucHVzaChg44CA44CALSAke0kxOG4udCgnYXNzZXQtdXJsJyl9JHtyZXN1bHQudXJsfWApO1xyXG4gICAgICAgIHRleHRzLnB1c2goYOOAgOOAgC0gJHtJMThuLnQoJ2Fzc2V0LXBhdGgnKX0ke3Jlc3VsdC5wYXRofWApO1xyXG4gICAgICAgIC8vIOWIhuWJsue6v1xyXG4gICAgICAgIHRleHRzLnB1c2goYCR7Jy0gLSAnLnJlcGVhdCgzNil9YCk7XHJcbiAgICAgICAgLy8g6IqC54K55byV55SoXHJcbiAgICAgICAgaWYgKG5vZGVSZWZzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGV4dHMucHVzaChgJHtJQ09OX01BUFsnbm9kZS1yZWZzJ119ICR7STE4bi50KCdub2RlLXJlZnMnKX0geCAke25vZGVSZWZzQ291bnR9YCk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gbm9kZVJlZnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0cy5wdXNoKG5vZGVSZWZzW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDotYTmupDlvJXnlKhcclxuICAgICAgICBpZiAoYXNzZXRSZWZzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGV4dHMucHVzaChgJHtJQ09OX01BUFsnYXNzZXQtcmVmcyddfSAke0kxOG4udCgnYXNzZXQtcmVmcycpfSB4ICR7YXNzZXRSZWZzQ291bnR9YCk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gYXNzZXRSZWZzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgdGV4dHMucHVzaChhc3NldFJlZnNbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOe7k+WwvuWIhuWJsue6v1xyXG4gICAgICAgIHRleHRzLnB1c2goYCR7Jy0gLSAnLnJlcGVhdCgzNil9YCk7XHJcbiAgICAgICAgLy8g5omT5Y2w5Yiw5o6n5Yi25Y+wXHJcbiAgICAgICAgaWYgKHByaW50Rm9sZGluZykge1xyXG4gICAgICAgICAgICAvLyDljZXooYzmiZPljbBcclxuICAgICAgICAgICAgdGV4dHMudW5zaGlmdChg8J+XgiAke0kxOG4udCgncmVzdWx0Jyl9ID4+PmApO1xyXG4gICAgICAgICAgICBwdXJlV2l0aG91dFRpdGxlKCdpbmZvJywgdGV4dHMuam9pbignXFxuJykpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIOmAkOihjOaJk+WNsFxyXG4gICAgICAgICAgICBwcmludCgnaW5mbycsIEkxOG4udCgncmVzdWx0JykpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRleHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgcHVyZVdpdGhvdXRUaXRsZSgnaW5mbycsIGDjgIDjgIAke3RleHRzW2ldfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|