"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var echarts = require("../../../../../../components/ec-canvas/echarts.js"); var echarts_1 = require("../../../../utils/echarts"); var partyInteract_1 = require("../../../../../../api/partyInteract"); Component({ properties: { deptid: { type: String } }, data: { ecA: { lazyLoad: true }, showTimePicker: false, someMonthsType: 1, timeList: [ { time: '最近一个月', id: 1 }, { time: '最近三个月', id: 2 }, { time: '最近六个月', id: 3 }, { time: '最近一年', id: 4 } ], popList: [ { title: '党员参与占比分析', content: '是党员参与总人次,占比平台总参与人次的' }, { title: '参与人次计算', content: '在平台参与的所有行为的次数累计,包括"浏览、点赞、踩、发布议题/话题、支持、反对"等,累计叠加计算,同一用户多次行为需重复计算' }, { title: '平台参与人次', content: '是平台总的参与人次的统计,党员参与总人次+居民参加总人次,累计叠加计算' }, { title: '党员参与人次', content: ' 是注册党员参与总人次累计,在平台参与的所有行为总和,累计叠加计算,同一党员多次行为需重复计算' }, { title: '统计周期', content: '按照最新一个月、三个月、六个月、一年的晒选,根据所选择的时间,显示该时间段的数据内容' }, ], data1: [], data2: [], data3: [], xData: [], data1Total: [], data2Total: [], data3Total: [], xDataTotal: [] }, lifetimes: { attached: function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: this.ecComponentA = this.selectComponent('#mychart-dom-bar'); return [4, this.getDynamicPercentAnalysis()]; case 1: _a.sent(); return [4, this.initA()]; case 2: _a.sent(); return [2]; } }); }); } }, observers: { deptid: function (newValue, oldvalue) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: console.log('newValue', newValue); console.log('oldvalue', oldvalue); if (!(newValue.length !== 0)) return [3, 3]; return [4, this.getDynamicPercentAnalysis()]; case 1: _a.sent(); if (this.data.someMonthsType == 2) { this.setData({ data1: this.data.data1Total.slice(0, 4), data2: this.data.data2Total.slice(0, 4), data3: this.data.data3Total.slice(0, 4), xData: this.data.xDataTotal.slice(0, 4) }); } else if (this.data.someMonthsType == 3) { this.setData({ data1: this.data.data1Total.slice(0, 3), data2: this.data.data2Total.slice(0, 3), data3: this.data.data3Total.slice(0, 3), xData: this.data.xDataTotal.slice(0, 3) }); } else if (this.data.someMonthsType == 4) { this.setData({ data1: this.data.data1Total.slice(0, 4), data2: this.data.data2Total.slice(0, 4), data3: this.data.data3Total.slice(0, 4), xData: this.data.xDataTotal.slice(0, 4) }); } return [4, this.initA()]; case 2: _a.sent(); _a.label = 3; case 3: return [2]; } }); }); }, }, methods: { chooseTimePicker: function () { this.setData({ showTimePicker: !this.data.showTimePicker }); }, onTimeChange: function (e) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: this.setData({ someMonthsType: e.currentTarget.dataset.time, showTimePicker: false, }); return [4, this.getDynamicPercentAnalysis()]; case 1: _a.sent(); if (e.currentTarget.dataset.time == 2) { this.setData({ data1: this.data.data1Total.slice(0, 4), data2: this.data.data2Total.slice(0, 4), data3: this.data.data3Total.slice(0, 4), xData: this.data.xDataTotal.slice(0, 4) }); } else if (e.currentTarget.dataset.time == 3) { this.setData({ data1: this.data.data1Total.slice(0, 3), data2: this.data.data2Total.slice(0, 3), data3: this.data.data3Total.slice(0, 3), xData: this.data.xDataTotal.slice(0, 3) }); } else if (e.currentTarget.dataset.time == 4) { this.setData({ data1: this.data.data1Total.slice(0, 4), data2: this.data.data2Total.slice(0, 4), data3: this.data.data3Total.slice(0, 4), xData: this.data.xDataTotal.slice(0, 4) }); } return [4, this.initA()]; case 2: _a.sent(); return [2]; } }); }); }, toLeft: function () { if (this.data.someMonthsType == 2) { if (this.data.xData[0] == '第5周') { this.setData({ data1: this.data.data1Total.slice(0, 4), data2: this.data.data2Total.slice(0, 4), data3: this.data.data3Total.slice(0, 4), xData: this.data.xDataTotal.slice(0, 4) }); } else if (this.data.xData[0] == '第9周') { this.setData({ data1: this.data.data1Total.slice(4, 8), data2: this.data.data2Total.slice(4, 8), data3: this.data.data3Total.slice(4, 8), xData: this.data.xDataTotal.slice(4, 8) }); } } else if (this.data.someMonthsType == 3) { if (this.data.xData[0] == '第4个月') { this.setData({ data1: this.data.data1Total.slice(0, 3), data2: this.data.data2Total.slice(0, 3), data3: this.data.data3Total.slice(0, 3), xData: this.data.xDataTotal.slice(0, 3) }); } } else if (this.data.someMonthsType == 4) { if (this.data.xData[0] == '第5个月') { this.setData({ data1: this.data.data1Total.slice(0, 4), data2: this.data.data2Total.slice(0, 4), data3: this.data.data3Total.slice(0, 4), xData: this.data.xDataTotal.slice(0, 4) }); } else if (this.data.xData[0] == '第9个月') { this.setData({ data1: this.data.data1Total.slice(4, 8), data2: this.data.data2Total.slice(4, 8), data3: this.data.data3Total.slice(4, 8), xData: this.data.xDataTotal.slice(4, 8) }); } } this.initA(); }, toRight: function () { if (this.data.someMonthsType == 2) { if (this.data.xData[0] == '第1周') { this.setData({ data1: this.data.data1Total.slice(4, 8), data2: this.data.data2Total.slice(4, 8), data3: this.data.data3Total.slice(4, 8), xData: this.data.xDataTotal.slice(4, 8) }); } else if (this.data.xData[0] == '第5周') { this.setData({ data1: this.data.data1Total.slice(8, 12), data2: this.data.data2Total.slice(8, 12), data3: this.data.data3Total.slice(8, 12), xData: this.data.xDataTotal.slice(8, 12) }); } } else if (this.data.someMonthsType == 3) { if (this.data.xData[0] == '第1个月') { this.setData({ data1: this.data.data1Total.slice(3, 6), data2: this.data.data2Total.slice(3, 6), data3: this.data.data3Total.slice(3, 6), xData: this.data.xDataTotal.slice(3, 6) }); } } else if (this.data.someMonthsType == 4) { if (this.data.xData[0] == '第1个月') { this.setData({ data1: this.data.data1Total.slice(4, 8), data2: this.data.data2Total.slice(4, 8), data3: this.data.data3Total.slice(4, 8), xData: this.data.xDataTotal.slice(4, 8) }); } else if (this.data.xData[0] == '第5个月') { this.setData({ data1: this.data.data1Total.slice(8, 12), data2: this.data.data2Total.slice(8, 12), data3: this.data.data3Total.slice(8, 12), xData: this.data.xDataTotal.slice(8, 12) }); } } this.initA(); }, getDynamicPercentAnalysis: function () { return __awaiter(this, void 0, void 0, function () { var obj, res, data1_1, data2_1, data3_1, xData_1, err_1; return __generator(this, function (_a) { switch (_a.label) { case 0: obj = { DeptId: this.properties.deptid, someMonthsType: this.data.someMonthsType, analysisType: '1' }; _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); return [4, partyInteract_1.getDynamicPercentAnalysis(obj)]; case 2: res = _a.sent(); data1_1 = []; data2_1 = []; data3_1 = []; xData_1 = []; console.log('reszhan', res); res.data.list.forEach(function (element) { data1_1.unshift(element.partyDynamicTimes); data2_1.unshift(element.allDynamicTimes); data3_1.unshift(element.percent * 100); xData_1.unshift(element.timeName); }); this.setData({ data1: data1_1, data2: data2_1, data3: data3_1, xData: xData_1, }); this.setData({ data1Total: data1_1, data2Total: data2_1, data3Total: data3_1, xDataTotal: xData_1 }); return [3, 4]; case 3: err_1 = _a.sent(); console.log(err_1); return [3, 4]; case 4: return [2]; } }); }); }, initA: function () { var _this = this; this.ecComponentA.init(function (canvas, width, height) { var chart = echarts.init(canvas, null, { width: width, height: height }); echarts_1.getparticipation2(chart, _this.data.data3, _this.data.data1, _this.data.data2, _this.data.xData); return chart; }); }, } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljaXBhdGlvblBlcmNlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwYXJ0aWNpcGF0aW9uUGVyY2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJFQUE0RTtBQUM1RSxxREFBNkQ7QUFDN0QscUVBQStFO0FBQy9FLFNBQVMsQ0FBQztJQUNSLFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxNQUFNO1NBQ2I7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRTtZQUNILFFBQVEsRUFBRSxJQUFJO1NBQ2Y7UUFDRCxjQUFjLEVBQUUsS0FBSztRQUNyQixjQUFjLEVBQUUsQ0FBQztRQUNqQixRQUFRLEVBQUU7WUFDUixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN4QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN4QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN4QixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtTQUFDO1FBQzFCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLEtBQUssRUFBRSxVQUFVO2dCQUNqQixPQUFPLEVBQUUscUJBQXFCO2FBQy9CO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLGlFQUFpRTthQUMzRTtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxxQ0FBcUM7YUFDL0M7WUFDRDtnQkFDRSxLQUFLLEVBQUUsUUFBUTtnQkFDZixPQUFPLEVBQUUsaURBQWlEO2FBQzNEO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsT0FBTyxFQUFFLDRDQUE0QzthQUN0RDtTQUVGO1FBQ0QsS0FB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RUosSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFO29CQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO3FCQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFO29CQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO2FBQ0Y7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7Z0JBRXhDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFO29CQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO2FBQ0Y7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFO29CQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO3FCQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFO29CQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO2FBQ0Y7WUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDZCxDQUFDO1FBQ0QsT0FBTztZQUVMLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRTtvQkFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQzt3QkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ3hDLENBQUMsQ0FBQTtpQkFDSDtxQkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRTtvQkFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQzt3QkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7cUJBQ3pDLENBQUMsQ0FBQTtpQkFFSDthQUNGO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO2dCQUV4QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRTtvQkFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQzt3QkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ3hDLENBQUMsQ0FBQTtpQkFDSDthQUNGO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO2dCQUV4QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRTtvQkFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQzt3QkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ3hDLENBQUMsQ0FBQTtpQkFDSDtxQkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRTtvQkFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQzt3QkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7cUJBQ3pDLENBQUMsQ0FBQTtpQkFDSDthQUNGO1lBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2QsQ0FBQztRQUNLLHlCQUF5QixFQUEvQjs7Ozs7OzRCQUNNLEdBQUcsR0FBRztnQ0FDUixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2dDQUM5QixjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO2dDQUN4QyxZQUFZLEVBQUUsR0FBRzs2QkFDbEIsQ0FBQTs7Ozs0QkFHZ0IsV0FBTSx5Q0FBeUIsQ0FBQyxHQUFHLENBQUMsRUFBQTs7NEJBQS9DLEdBQUcsR0FBUSxTQUFvQzs0QkFDL0MsVUFBYSxFQUFFLENBQUE7NEJBQ2YsVUFBYSxFQUFFLENBQUE7NEJBQ2YsVUFBYSxFQUFFLENBQUE7NEJBQ2YsVUFBYSxFQUFFLENBQUE7NEJBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBOzRCQUMzQixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBQyxPQUFZO2dDQUNqQyxPQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO2dDQUN4QyxPQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtnQ0FDdEMsT0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFDLEdBQUcsQ0FBQyxDQUFBO2dDQUNsQyxPQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTs0QkFDakMsQ0FBQyxDQUFDLENBQUE7NEJBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQ0FDWCxLQUFLLEVBQUUsT0FBSztnQ0FDWixLQUFLLEVBQUUsT0FBSztnQ0FDWixLQUFLLEVBQUUsT0FBSztnQ0FDWixLQUFLLEVBQUUsT0FBSzs2QkFDYixDQUFDLENBQUE7NEJBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQ0FDWCxVQUFVLEVBQUUsT0FBSztnQ0FDakIsVUFBVSxFQUFFLE9BQUs7Z0NBQ2pCLFVBQVUsRUFBRSxPQUFLO2dDQUNqQixVQUFVLEVBQUUsT0FBSzs2QkFDbEIsQ0FBQyxDQUFBOzs7OzRCQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBRyxDQUFDLENBQUE7Ozs7OztTQUVuQjtRQUNELEtBQUssRUFBTDtZQUFBLGlCQVVDO1lBUkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBQyxNQUFXLEVBQUUsS0FBVSxFQUFFLE1BQVc7Z0JBQzFELElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtvQkFDdkMsS0FBSyxFQUFFLEtBQUs7b0JBQ1osTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxDQUFBO2dCQUNGLDJCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUM1RixPQUFPLEtBQUssQ0FBQTtZQUNkLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztLQUNGO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZWMtY2FudmFzL2VjaGFydHMuanMnXHJcbmltcG9ydCB7IGdldHBhcnRpY2lwYXRpb24yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZWNoYXJ0cydcclxuaW1wb3J0IHsgZ2V0RHluYW1pY1BlcmNlbnRBbmFseXNpcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2FwaS9wYXJ0eUludGVyYWN0J1xyXG5Db21wb25lbnQoe1xyXG4gIHByb3BlcnRpZXM6IHtcclxuICAgIGRlcHRpZDoge1xyXG4gICAgICB0eXBlOiBTdHJpbmdcclxuICAgIH1cclxuICB9LFxyXG4gIGRhdGE6IHtcclxuICAgIGVjQToge1xyXG4gICAgICBsYXp5TG9hZDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHNob3dUaW1lUGlja2VyOiBmYWxzZSxcclxuICAgIHNvbWVNb250aHNUeXBlOiAxLFxyXG4gICAgdGltZUxpc3Q6IFtcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiA5Liq5pyIJywgaWQ6IDEgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiJ5Liq5pyIJywgaWQ6IDIgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5YWt5Liq5pyIJywgaWQ6IDMgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiA5bm0JywgaWQ6IDQgfV0sXHJcbiAgICBwb3BMaXN0OiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WFmuWRmOWPguS4juWNoOavlOWIhuaekCcsXHJcbiAgICAgICAgY29udGVudDogJ+aYr+WFmuWRmOWPguS4juaAu+S6uuasoSzljaDmr5TlubPlj7DmgLvlj4LkuI7kurrmrKHnmoQnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WPguS4juS6uuasoeiuoeeulycsXHJcbiAgICAgICAgY29udGVudDogJ+WcqOW5s+WPsOWPguS4jueahOaJgOacieihjOS4uueahOasoeaVsOe0r+iuoSzljIXmi6xcIua1j+iniOOAgeeCuei1nuOAgei4qeOAgeWPkeW4g+iurumimC/or53popjjgIHmlK/mjIHjgIHlj43lr7lcIuetiSzntK/orqHlj6DliqDorqHnrpcs5ZCM5LiA55So5oi35aSa5qyh6KGM5Li66ZyA6YeN5aSN6K6h566XJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICflubPlj7Dlj4LkuI7kurrmrKEnLFxyXG4gICAgICAgIGNvbnRlbnQ6ICfmmK/lubPlj7DmgLvnmoTlj4LkuI7kurrmrKHnmoTnu5/orqEs5YWa5ZGY5Y+C5LiO5oC75Lq65qyhK+WxheawkeWPguWKoOaAu+S6uuasoSzntK/orqHlj6DliqDorqHnrpcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WFmuWRmOWPguS4juS6uuasoScsXHJcbiAgICAgICAgY29udGVudDogJyDmmK/ms6jlhozlhZrlkZjlj4LkuI7mgLvkurrmrKHntK/orqEs5Zyo5bmz5Y+w5Y+C5LiO55qE5omA5pyJ6KGM5Li65oC75ZKMLOe0r+iuoeWPoOWKoOiuoeeulyzlkIzkuIDlhZrlkZjlpJrmrKHooYzkuLrpnIDph43lpI3orqHnrpcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+e7n+iuoeWRqOacnycsXHJcbiAgICAgICAgY29udGVudDogJ+aMieeFp+acgOaWsOS4gOS4quaciOOAgeS4ieS4quaciOOAgeWFreS4quaciOOAgeS4gOW5tOeahOaZkumAiSzmoLnmja7miYDpgInmi6nnmoTml7bpl7Qs5pi+56S66K+l5pe26Ze05q6155qE5pWw5o2u5YaF5a65J1xyXG4gICAgICB9LFxyXG5cclxuICAgIF0sXHJcbiAgICBkYXRhMTogW10sLy/lhZrlkZjlj4LkuI4wLCAwLCAwLCAxMDBcclxuICAgIGRhdGEyOiBbXSwvL+WxheawkeWPguS4jjksIDMwLCA5LCA0MFxyXG4gICAgZGF0YTM6IFtdLC8v57q/XHJcbiAgICB4RGF0YTogW10sLy8n56ys5LiA5ZGoJywgJ+esrOS6jOWRqCcsICfnrKzkuInlkagnLCAn56ys5Zub5ZGoJ1xyXG4gICAgZGF0YTFUb3RhbDogW10sXHJcbiAgICBkYXRhMlRvdGFsOiBbXSxcclxuICAgIGRhdGEzVG90YWw6IFtdLFxyXG4gICAgeERhdGFUb3RhbDogW11cclxuICB9LFxyXG4gIGxpZmV0aW1lczoge1xyXG4gICAgYXN5bmMgYXR0YWNoZWQoKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgdGhpcy5lY0NvbXBvbmVudEEgPSB0aGlzLnNlbGVjdENvbXBvbmVudCgnI215Y2hhcnQtZG9tLWJhcicpXHJcbiAgICAgYXdhaXQgdGhpcy5nZXREeW5hbWljUGVyY2VudEFuYWx5c2lzKClcclxuICAgICBhd2FpdCB0aGlzLmluaXRBKClcclxuICAgIH1cclxuICB9LFxyXG4gIG9ic2VydmVyczoge1xyXG4gICAgYXN5bmMgZGVwdGlkKG5ld1ZhbHVlLCBvbGR2YWx1ZSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnbmV3VmFsdWUnLG5ld1ZhbHVlKVxyXG4gICAgICBjb25zb2xlLmxvZygnb2xkdmFsdWUnLG9sZHZhbHVlKVxyXG4gICAgICBpZiAobmV3VmFsdWUubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5nZXREeW5hbWljUGVyY2VudEFuYWx5c2lzKClcclxuICAgICAgICBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDIpIHtcclxuICAgICAgICAgIC8vIC8vIOacgOi/keS4ieS4quaciFxyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDMpIHtcclxuICAgICAgICAgIC8vIOacgOi/keWFreS4quaciFxyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgMyksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCAzKSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDMpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDQpIHtcclxuICAgICAgICAgIC8vIOacgOi/keS4gOW5tFxyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLmluaXRBKClcclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgfSxcclxuICBtZXRob2RzOiB7XHJcbiAgICAvLyDmmL7npLrpmpDol4/ml7bpl7TpgInmi6nmoYZcclxuICAgIGNob29zZVRpbWVQaWNrZXIoKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2hvd1RpbWVQaWNrZXI6ICF0aGlzLmRhdGEuc2hvd1RpbWVQaWNrZXJcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICAvLyDpgInmi6nml7bpl7RcclxuICAgIGFzeW5jIG9uVGltZUNoYW5nZShlOiBhbnkpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3NvbWVNb250aHNUeXBlJywgZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQudGltZSlcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBzb21lTW9udGhzVHlwZTogZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQudGltZSxcclxuICAgICAgICBzaG93VGltZVBpY2tlcjogZmFsc2UsXHJcbiAgICAgIH0pXHJcbiAgICAgIGF3YWl0IHRoaXMuZ2V0RHluYW1pY1BlcmNlbnRBbmFseXNpcygpXHJcbiAgICAgIGlmIChlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC50aW1lID09IDIpIHtcclxuICAgICAgICAvLyAvLyDmnIDov5HkuInkuKrmnIhcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIGlmIChlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC50aW1lID09IDMpIHtcclxuICAgICAgICAvLyDmnIDov5Hlha3kuKrmnIhcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDMpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIGlmIChlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC50aW1lID09IDQpIHtcclxuICAgICAgICAvLyDmnIDov5HkuIDlubRcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG5cclxuICAgICAgYXdhaXQgdGhpcy5pbml0QSgpXHJcblxyXG4gICAgfSxcclxuICAgIHRvTGVmdCgpIHtcclxuICAgICAgLy8gM+S4quaciFxyXG4gICAgICBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDIpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhLnhEYXRhWzBdID09ICfnrKw15ZGoJykge1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnhEYXRhWzBdID09ICfnrKw55ZGoJykge1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDQsIDgpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUgPT0gMykge1xyXG4gICAgICAgIC8vIOacgOi/kTbkuKrmnIhcclxuICAgICAgICBpZiAodGhpcy5kYXRhLnhEYXRhWzBdID09ICfnrKw05Liq5pyIJykge1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgMyksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCAzKSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDMpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUgPT0gNCkge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDXkuKrmnIgnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoMCwgNClcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDnkuKrmnIgnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoNCwgOClcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmluaXRBKClcclxuICAgIH0sXHJcbiAgICB0b1JpZ2h0KCkge1xyXG4gICAgICAvLyAz5Liq5pyIXHJcbiAgICAgIGlmICh0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUgPT0gMikge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDHlkagnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoNCwgOClcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDXlkagnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoOCwgMTIpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoOCwgMTIpLFxyXG4gICAgICAgICAgICBkYXRhMzogdGhpcy5kYXRhLmRhdGEzVG90YWwuc2xpY2UoOCwgMTIpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoOCwgMTIpXHJcbiAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDMpIHtcclxuICAgICAgICAvLyDmnIDov5E25Liq5pyIXHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS54RGF0YVswXSA9PSAn56ysMeS4quaciCcpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGRhdGExOiB0aGlzLmRhdGEuZGF0YTFUb3RhbC5zbGljZSgzLCA2KSxcclxuICAgICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDMsIDYpLFxyXG4gICAgICAgICAgICBkYXRhMzogdGhpcy5kYXRhLmRhdGEzVG90YWwuc2xpY2UoMywgNiksXHJcbiAgICAgICAgICAgIHhEYXRhOiB0aGlzLmRhdGEueERhdGFUb3RhbC5zbGljZSgzLCA2KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDQpIHtcclxuICAgICAgICAvLyAx5bm0XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS54RGF0YVswXSA9PSAn56ysMeS4quaciCcpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGRhdGExOiB0aGlzLmRhdGEuZGF0YTFUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICBkYXRhMzogdGhpcy5kYXRhLmRhdGEzVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIHhEYXRhOiB0aGlzLmRhdGEueERhdGFUb3RhbC5zbGljZSg0LCA4KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS54RGF0YVswXSA9PSAn56ysNeS4quaciCcpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGRhdGExOiB0aGlzLmRhdGEuZGF0YTFUb3RhbC5zbGljZSg4LCAxMiksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSg4LCAxMiksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSg4LCAxMiksXHJcbiAgICAgICAgICAgIHhEYXRhOiB0aGlzLmRhdGEueERhdGFUb3RhbC5zbGljZSg4LCAxMilcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5pdEEoKVxyXG4gICAgfSxcclxuICAgIGFzeW5jIGdldER5bmFtaWNQZXJjZW50QW5hbHlzaXMoKSB7XHJcbiAgICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgRGVwdElkOiB0aGlzLnByb3BlcnRpZXMuZGVwdGlkLFxyXG4gICAgICAgIHNvbWVNb250aHNUeXBlOiB0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUsXHJcbiAgICAgICAgYW5hbHlzaXNUeXBlOiAnMSdcclxuICAgICAgfVxyXG4gICAgICB0cnkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBsZXQgcmVzOiBhbnkgPSBhd2FpdCBnZXREeW5hbWljUGVyY2VudEFuYWx5c2lzKG9iailcclxuICAgICAgICBsZXQgZGF0YTE6IGFueSA9IFtdXHJcbiAgICAgICAgbGV0IGRhdGEyOiBhbnkgPSBbXVxyXG4gICAgICAgIGxldCBkYXRhMzogYW55ID0gW11cclxuICAgICAgICBsZXQgeERhdGE6IGFueSA9IFtdXHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3poYW4nLCByZXMpXHJcbiAgICAgICAgcmVzLmRhdGEubGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGRhdGExLnVuc2hpZnQoZWxlbWVudC5wYXJ0eUR5bmFtaWNUaW1lcylcclxuICAgICAgICAgIGRhdGEyLnVuc2hpZnQoZWxlbWVudC5hbGxEeW5hbWljVGltZXMpXHJcbiAgICAgICAgICBkYXRhMy51bnNoaWZ0KGVsZW1lbnQucGVyY2VudCoxMDApXHJcbiAgICAgICAgICB4RGF0YS51bnNoaWZ0KGVsZW1lbnQudGltZU5hbWUpXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IGRhdGExLFxyXG4gICAgICAgICAgZGF0YTI6IGRhdGEyLFxyXG4gICAgICAgICAgZGF0YTM6IGRhdGEzLFxyXG4gICAgICAgICAgeERhdGE6IHhEYXRhLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIGRhdGExVG90YWw6IGRhdGExLFxyXG4gICAgICAgICAgZGF0YTJUb3RhbDogZGF0YTIsXHJcbiAgICAgICAgICBkYXRhM1RvdGFsOiBkYXRhMyxcclxuICAgICAgICAgIHhEYXRhVG90YWw6IHhEYXRhXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgaW5pdEEoKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgdGhpcy5lY0NvbXBvbmVudEEuaW5pdCgoY2FudmFzOiBhbnksIHdpZHRoOiBhbnksIGhlaWdodDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2hhcnQgPSBlY2hhcnRzLmluaXQoY2FudmFzLCBudWxsLCB7XHJcbiAgICAgICAgICB3aWR0aDogd2lkdGgsXHJcbiAgICAgICAgICBoZWlnaHQ6IGhlaWdodFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgZ2V0cGFydGljaXBhdGlvbjIoY2hhcnQsIHRoaXMuZGF0YS5kYXRhMywgdGhpcy5kYXRhLmRhdGExLCB0aGlzLmRhdGEuZGF0YTIsIHRoaXMuZGF0YS54RGF0YSlcclxuICAgICAgICByZXR1cm4gY2hhcnRcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgfVxyXG59KSJdfQ==