@annalib/anna-core 5.2.5 → 5.3.0
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/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +3 -3
- package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +5 -5
- package/fesm2015/annalib-anna-core.mjs +6 -6
- package/fesm2015/annalib-anna-core.mjs.map +1 -1
- package/fesm2020/annalib-anna-core.mjs +6 -6
- package/fesm2020/annalib-anna-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -171,8 +171,8 @@ export class AnnaDateTimeFormatService {
|
|
|
171
171
|
}
|
|
172
172
|
compare(a, b, isAsc) {
|
|
173
173
|
if (typeof a == 'string' && typeof b == 'string') {
|
|
174
|
-
a = a.toLowerCase();
|
|
175
|
-
b = b.toLowerCase();
|
|
174
|
+
a = a == "-" ? "0" : a.toLowerCase();
|
|
175
|
+
b = b == "-" ? "0" : b.toLowerCase();
|
|
176
176
|
}
|
|
177
177
|
return (a < b ? -1 : 1) * (isAsc ? 1 : -1);
|
|
178
178
|
}
|
|
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
195
195
|
providedIn: 'root'
|
|
196
196
|
}]
|
|
197
197
|
}], ctorParameters: function () { return []; } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxnQ0FBZ0M7QUFDaEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQVExQixNQUFNLE9BQU8seUJBQXlCO0lBRXBDO1FBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUFTO1FBQ3RDLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVMsRUFBRSxXQUFnQjtRQUMxQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsTUFB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R0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztzSEEzTVUseUJBQXlCOzBIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHMgXHJcbmV4cG9ydCB0eXBlIE5nYkRhdGVUeXBlID0geyB5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRheTogbnVtYmVyIH07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Ugc2VydmljZSBjcmVhdGVkLlwiKVxyXG4gIH1cclxuXHJcbiAgY29udmVydFRvTmdiRGF0ZVN0YW5kYXJkRm9ybWF0KGRhdGU6IGFueSk6IE5nYkRhdGVUeXBlIHwgTmdiRGF0ZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB5ZWFyOiBwYXJzZUludChkYXlqcyhkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiWVlZWVwiKSksXHJcbiAgICAgIG1vbnRoOiBwYXJzZUludChkYXlqcyhkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiTVwiKSksXHJcbiAgICAgIGRheTogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIkRcIikpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb05nYkRhdGUoZGF0ZTogYW55LCBwYXJzZUZvcm1hdDogYW55KTogTmdiRGF0ZVR5cGUgfCBOZ2JEYXRlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHllYXI6IHBhcnNlSW50KGRheWpzKGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJZWVlZXCIpKSxcclxuICAgICAgbW9udGg6IHBhcnNlSW50KGRheWpzKGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJNXCIpKSxcclxuICAgICAgZGF5OiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiRFwiKSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0VG9Ud2VsdmVIcnModGltZTogYW55LCBjYWxsUmVtb3ZlWmVybzogYm9vbGVhbikge1xyXG4gICAgaWYgKHRpbWUuZW5kc1dpdGgoJ0EnKSB8fCB0aW1lLmVuZHNXaXRoKCdQJykpIHtcclxuICAgICAgdGltZSA9IHRpbWUuc3Vic3RyaW5nKDAsIHRpbWUubGVuZ3RoIC0gMSk7XHJcbiAgICB9XHJcbiAgICBsZXQgdG1wID0gdGltZS5zcGxpdChcIjpcIik7XHJcbiAgICBsZXQgZm9ybWF0dGVkVGltZSA9IFtdO1xyXG4gICAgaWYgKCt0bXBbMF0gPiAxMikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gKCt0bXBbMF0gLSAxMikudG9TdHJpbmcoKTtcclxuICAgICAgaWYgKCt0bXBbMF0gPT0gMjQpIGZvcm1hdHRlZFRpbWVbMl0gPSBcIkFNXCI7XHJcbiAgICAgIGVsc2UgZm9ybWF0dGVkVGltZVsyXSA9IFwiUE1cIjtcclxuICAgIH0gZWxzZSBpZiAodG1wWzBdID09IFwiMTJcIikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gdG1wWzBdO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzJdID0gXCJQTVwiO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIwMFwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBcIjEyXCJcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSB0bXBbMF07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIkFNXCI7XHJcbiAgICB9XHJcbiAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdG1wWzFdO1xyXG4gICAgaWYgKGNhbGxSZW1vdmVaZXJvKSBmb3JtYXR0ZWRUaW1lID0gdGhpcy5yZW1vdmVaZXJvKGZvcm1hdHRlZFRpbWUpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG90d2VudHlGb3VySHJzRm9ybWF0KHRpbWU6IGFueSwgY2FsbEFkZFplcm86IGFueSkge1xyXG4gICAgbGV0IHRtcCA9IHRpbWUuc3BsaXQoL1sgOl0rLyk7XHJcbiAgICBsZXQgZm9ybWF0dGVkVGltZSA9IFtdO1xyXG4gICAgaWYgKHRtcFswXSAhPSBcIjEyXCIgJiYgdG1wWzJdID09IFwiUE1cIikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gKCt0bXBbMF0gKyAxMikudG9TdHJpbmcoKTtcclxuICAgIH0gZWxzZSBpZiAodG1wWzBdID09IFwiMTJcIiAmJiB0bXBbMl0gPT0gXCJBTVwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBcIjAwXCI7XHJcbiAgICB9IGVsc2UgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXS50b1N0cmluZygpO1xyXG4gICAgZm9ybWF0dGVkVGltZVsxXSA9IHRtcFsxXS50b1N0cmluZygpO1xyXG4gICAgaWYgKGNhbGxBZGRaZXJvKSBmb3JtYXR0ZWRUaW1lID0gdGhpcy5hZGRaZXJvKGZvcm1hdHRlZFRpbWUpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICByZW1vdmVaZXJvKHRpbWU6IGFueSkge1xyXG4gICAgbGV0IHJlbW92ZWRaZXJvO1xyXG4gICAgbGV0IGZvcm1hdHRlZFRpbWUgPSB0aW1lO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aW1lWzBdID09IFwiMDFcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDJcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDNcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDRcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDVcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDZcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDdcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDhcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDlcIlxyXG4gICAgKSB7XHJcbiAgICAgIHJlbW92ZWRaZXJvID0gdGltZVswXS50b1N0cmluZygpO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gcmVtb3ZlZFplcm8uY2hhckF0KDEpO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdGltZVsxXTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IHRpbWVbMl07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIGFkZFplcm8odGltZTogYW55KSB7XHJcbiAgICBsZXQgYWRkZWRaZXJvO1xyXG4gICAgbGV0IGZvcm1hdHRlZFRpbWUgPSB0aW1lO1xyXG4gICAgaWYgKHRpbWVbMV0gPT0gXCIwXCIpIHRpbWVbMV0gPSBcIjBcIiArIHRpbWVbMV07XHJcbiAgICBpZiAoXHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjFcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMlwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIzXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjRcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiNVwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI2XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjdcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiOFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI5XCJcclxuICAgICkge1xyXG4gICAgICBhZGRlZFplcm8gPSBcIjBcIiArIHRpbWVbMF07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBhZGRlZFplcm87XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0aW1lWzFdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICBzb3J0QnlUaW1lQXNjZW5kaW5nKGE6IGFueSwgYjogYW55KSB7XHJcbiAgICBsZXQgZm9ybWF0ID0gXCJISDptbTpzc1wiO1xyXG4gICAgYSA9IGRheWpzKGEsIGZvcm1hdCk7XHJcbiAgICBiID0gZGF5anMoYiwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgcmVzdWx0cztcclxuXHJcbiAgICByZXN1bHRzID0gYS5nZXQoJ2hvdXInKSA+IGIuZ2V0KCdob3VyJykgPyAxIDogYS5nZXQoJ2hvdXInKSA8IGIuZ2V0KCdob3VyJykgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLmdldCgnbWludXRlJykgPiAgYi5nZXQoJ21pbnV0ZScpID8gMSA6IGEuZ2V0KCdtaW51dGUnKSA8ICBiLmdldCgnbWludXRlJykgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLmdldCgnc2Vjb25kJykgPiAgYi5nZXQoJ3NlY29uZCcpID8gMSA6IGEuZ2V0KCdzZWNvbmQnKSA8IGIuZ2V0KCdzZWNvbmQnKSA/IC0xIDogMDtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG4gIHNvcnRCeVRpbWVEZXNjZW5kaW5nKGE6IGFueSwgYjogYW55KSB7XHJcbiAgICBsZXQgZm9ybWF0ID0gXCJISDptbTpzc1wiO1xyXG4gICAgICAgIGEgPSBkYXlqcyhhLCBmb3JtYXQpO1xyXG4gICAgICAgIGIgPSBkYXlqcyhiLCBmb3JtYXQpO1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0cztcclxuXHJcbiAgICAgICAgcmVzdWx0cyA9IGEuZ2V0KCdob3VyJykgPCBiLmdldCgnaG91cicpID8gMSA6IGEuZ2V0KCdob3VyJykgPiBiLmdldCgnaG91cicpID8gLTEgOiAwO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0cyA9PT0gMCkgcmVzdWx0cyA9IGEuZ2V0KCdtaW51dGUnKSA8IGIuZ2V0KCdtaW51dGUnKSA/IDEgOiBhLmdldCgnbWludXRlJykgPiBiLmdldCgnbWludXRlJykgPyAtMSA6IDA7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHRzID09PSAwKSByZXN1bHRzID0gYS5nZXQoJ3NlY29uZCcpIDwgYi5nZXQoJ3NlY29uZCcpID8gMSA6IGEuZ2V0KCdzZWNvbmQnKSA+IGIuZ2V0KCdzZWNvbmQnKSA/IC0xIDogMDtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KG5nYkRhdGU6IE5nYkRhdGUgfCBOZ2JEYXRlVHlwZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgZm9ybWF0VHlwZSA9IFwiTU0vREQvWVlZWVwiO1xyXG4gICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgICAgaWYobmdiRGF0ZSAmJiBuZ2JEYXRlLm1vbnRoICYmIG5nYkRhdGUuZGF5ICYmIG5nYkRhdGUueWVhcil7XHJcbiAgICAgICAgY29udmVydGVkID0gbmdiRGF0ZS5tb250aCsgXCIvXCIgKyAgbmdiRGF0ZS5kYXkgKyBcIi9cIiArIG5nYkRhdGUueWVhcjtcclxuICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChmb3JtYXRUeXBlKTtcclxuICAgICAgfVxyXG4gICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICB9XHJcblxyXG4gIGNvbXBhcmVEYXRlKGE6IHN0cmluZywgYjogc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIGlzQXNjID8gZGF5anMoYSkuZGlmZihiKSA6IGRheWpzKGIpLmRpZmYoYSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZW50eUZvdXJIb3VyVGltZVRvSEhNTUFGb3JtYXQodmFsdWU6IGFueSwgZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB2YWx1ZSA9IGRheWpzKGRhdGUgPyBkYXRlIDogJzAxLzAxLzIwMDAgJyArIHZhbHVlKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgcmV0dXJuIHZhbHVlWzNdID09IFwiMFwiICYmIHZhbHVlWzRdID09IFwiMFwiXHJcbiAgICAgICAgPyBkYXlqcyh2YWx1ZSwgW1wiSEg6bW06c3NcIl0pLmZvcm1hdChcImhBXCIpLnNsaWNlKDAsIC0xKVxyXG4gICAgICAgIDogZGF5anModmFsdWUsIFtcIkhIOm1tOnNzXCJdKS5mb3JtYXQoXCJoOm1tQVwiKS5zbGljZSgwLCAtMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZWx2ZUhvdXJUaW1lVG9ISE1NQUZvcm1hdCh0aW1lVmFsdWU6IGFueSwgZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB0aW1lVmFsdWUgPSBkYXlqcyhkYXRlID8gZGF0ZSA6ICcwMS8wMS8yMDAwICcgKyB0aW1lVmFsdWUpLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW06c3NcIik7XHJcbiAgICByZXR1cm4gdGltZVZhbHVlWzNdID09IFwiMFwiICYmIHRpbWVWYWx1ZVs0XSA9PSBcIjBcIlxyXG4gICAgICAgID8gZGF5anModGltZVZhbHVlKS5mb3JtYXQoXCJoQVwiKS5zbGljZSgwLCAtMSlcclxuICAgICAgICA6IGRheWpzKHRpbWVWYWx1ZSkuZm9ybWF0KFwiaDptbUFcIikuc2xpY2UoMCwgLTEpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoZGF0ZUFuZFRpbWU6IGFueSkge1xyXG4gICAgbGV0IHN0YW5kYXJkRm9ybWF0LCBkYXRlLCB0aW1lO1xyXG4gICAgaWYgKGRhdGVBbmRUaW1lLmluY2x1ZGVzKFwifFwiKSkge1xyXG4gICAgICBkYXRlID0gZGF0ZUFuZFRpbWUuc2xpY2UoMCwgZGF0ZUFuZFRpbWUuaW5kZXhPZihcInxcIikpO1xyXG4gICAgICB0aW1lID0gZGF0ZUFuZFRpbWUuc2xpY2UoZGF0ZUFuZFRpbWUuaW5kZXhPZignfCcpICsgMSwgZGF0ZUFuZFRpbWUubGVuZ3RoKS50cmltKCk7XHJcblxyXG4gICAgICB0aW1lID0gdGltZS5zbGljZSgwLCAyKSArIFwiOlwiICsgdGltZS5zbGljZSgyLCA0KSArIFwiIFwiICsgdGltZS5zbGljZSg0LCA1KTtcclxuICAgICAgdGltZSA9IHRpbWUgKyBcIk1cIjtcclxuICAgICAgc3RhbmRhcmRGb3JtYXQgPSBkYXRlICsgdGltZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzdGFuZGFyZEZvcm1hdCA9IGRhdGVBbmRUaW1lICsgXCIgMDA6MDAgQU1cIlxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRheWpzKHN0YW5kYXJkRm9ybWF0KS5mb3JtYXQoXCJNTS9ERC9ZWVlZIGhoOm1tIEFcIik7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlKGE6IG51bWJlciB8IHN0cmluZywgYjogbnVtYmVyIHwgc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgaWYodHlwZW9mIGEgPT0gJ3N0cmluZycgJiYgdHlwZW9mIGIgPT0gJ3N0cmluZycpe1xyXG4gICAgICBhID0gYS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBiID0gYi50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XHJcbiAgfVxyXG5cclxuICBzb3J0RGF0YUJ5QnJvYWRjYXN0VGltZUFzYyhmaXJzdFBhcmFtVGltZTogc3RyaW5nLCBzZWNvbmRQYXJhbVRpbWU6IHN0cmluZywgYnJvYWRjYXN0VGltZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZm9ybWF0ID0gXCJISDptbTpzc1wiO1xyXG5cclxuICAgIGxldCBhID0gZGF5anMoZmlyc3RQYXJhbVRpbWUsIGZvcm1hdCk7XHJcbiAgICBsZXQgYiA9IGRheWpzKHNlY29uZFBhcmFtVGltZSwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgYnJvYWRjYXN0ZGF5anNEYXRlVGltZSA9IGRheWpzKGJyb2FkY2FzdFRpbWUsIFwiSEg6bW06c3NcIik7XHJcblxyXG4gICAgYSA9IGEuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBhLmFkZCgxLCBcImRcIikgOiBhO1xyXG4gICAgYiA9IGIuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBiLmFkZCgxLCBcImRcIikgOiBiO1xyXG5cclxuICAgIGxldCByZXN1bHQgPSBhLmlzQmVmb3JlKGIpID8gLTEgOiBhLmlzQWZ0ZXIoYikgPyAxIDogMDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG4gIFxyXG59XHJcbiJdfQ==
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxnQ0FBZ0M7QUFDaEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQVExQixNQUFNLE9BQU8seUJBQXlCO0lBRXBDO1FBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUFTO1FBQ3RDLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVMsRUFBRSxXQUFnQjtRQUMxQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsTUFB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QyxDQUFDO1FBRTlELENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7c0hBMU1VLHlCQUF5QjswSEFBekIseUJBQXlCLGNBRnhCLE1BQU07MkZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzIFxyXG5leHBvcnQgdHlwZSBOZ2JEYXRlVHlwZSA9IHsgeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlciB9O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIHNlcnZpY2UgY3JlYXRlZC5cIilcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb05nYkRhdGVTdGFuZGFyZEZvcm1hdChkYXRlOiBhbnkpOiBOZ2JEYXRlVHlwZSB8IE5nYkRhdGUge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgeWVhcjogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIllZWVlcIikpLFxyXG4gICAgICBtb250aDogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIk1cIikpLFxyXG4gICAgICBkYXk6IHBhcnNlSW50KGRheWpzKGRhdGUsIFwiTU0vREQvWVlZWVwiKS5mb3JtYXQoXCJEXCIpKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9OZ2JEYXRlKGRhdGU6IGFueSwgcGFyc2VGb3JtYXQ6IGFueSk6IE5nYkRhdGVUeXBlIHwgTmdiRGF0ZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB5ZWFyOiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiWVlZWVwiKSksXHJcbiAgICAgIG1vbnRoOiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiTVwiKSksXHJcbiAgICAgIGRheTogcGFyc2VJbnQoZGF5anMoZGF0ZSwgcGFyc2VGb3JtYXQpLmZvcm1hdChcIkRcIikpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGZvcm1hdFRvVHdlbHZlSHJzKHRpbWU6IGFueSwgY2FsbFJlbW92ZVplcm86IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aW1lLmVuZHNXaXRoKCdBJykgfHwgdGltZS5lbmRzV2l0aCgnUCcpKSB7XHJcbiAgICAgIHRpbWUgPSB0aW1lLnN1YnN0cmluZygwLCB0aW1lLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgbGV0IHRtcCA9IHRpbWUuc3BsaXQoXCI6XCIpO1xyXG4gICAgbGV0IGZvcm1hdHRlZFRpbWUgPSBbXTtcclxuICAgIGlmICgrdG1wWzBdID4gMTIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9ICgrdG1wWzBdIC0gMTIpLnRvU3RyaW5nKCk7XHJcbiAgICAgIGlmICgrdG1wWzBdID09IDI0KSBmb3JtYXR0ZWRUaW1lWzJdID0gXCJBTVwiO1xyXG4gICAgICBlbHNlIGZvcm1hdHRlZFRpbWVbMl0gPSBcIlBNXCI7XHJcbiAgICB9IGVsc2UgaWYgKHRtcFswXSA9PSBcIjEyXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiUE1cIjtcclxuICAgIH0gZWxzZSBpZiAodG1wWzBdID09IFwiMDBcIikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gXCIxMlwiXHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIkFNXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gdG1wWzBdO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzJdID0gXCJBTVwiO1xyXG4gICAgfVxyXG4gICAgZm9ybWF0dGVkVGltZVsxXSA9IHRtcFsxXTtcclxuICAgIGlmIChjYWxsUmVtb3ZlWmVybykgZm9ybWF0dGVkVGltZSA9IHRoaXMucmVtb3ZlWmVybyhmb3JtYXR0ZWRUaW1lKTtcclxuICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvdHdlbnR5Rm91ckhyc0Zvcm1hdCh0aW1lOiBhbnksIGNhbGxBZGRaZXJvOiBhbnkpIHtcclxuICAgIGxldCB0bXAgPSB0aW1lLnNwbGl0KC9bIDpdKy8pO1xyXG4gICAgbGV0IGZvcm1hdHRlZFRpbWUgPSBbXTtcclxuICAgIGlmICh0bXBbMF0gIT0gXCIxMlwiICYmIHRtcFsyXSA9PSBcIlBNXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9ICgrdG1wWzBdICsgMTIpLnRvU3RyaW5nKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRtcFswXSA9PSBcIjEyXCIgJiYgdG1wWzJdID09IFwiQU1cIikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gXCIwMFwiO1xyXG4gICAgfSBlbHNlIGZvcm1hdHRlZFRpbWVbMF0gPSB0bXBbMF0udG9TdHJpbmcoKTtcclxuICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0bXBbMV0udG9TdHJpbmcoKTtcclxuICAgIGlmIChjYWxsQWRkWmVybykgZm9ybWF0dGVkVGltZSA9IHRoaXMuYWRkWmVybyhmb3JtYXR0ZWRUaW1lKTtcclxuICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlWmVybyh0aW1lOiBhbnkpIHtcclxuICAgIGxldCByZW1vdmVkWmVybztcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgIGlmIChcclxuICAgICAgdGltZVswXSA9PSBcIjAxXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjAyXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjAzXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA0XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA1XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA2XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA3XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA4XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA5XCJcclxuICAgICkge1xyXG4gICAgICByZW1vdmVkWmVybyA9IHRpbWVbMF0udG9TdHJpbmcoKTtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHJlbW92ZWRaZXJvLmNoYXJBdCgxKTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRpbWVbMV07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSB0aW1lWzJdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICBhZGRaZXJvKHRpbWU6IGFueSkge1xyXG4gICAgbGV0IGFkZGVkWmVybztcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgIGlmICh0aW1lWzFdID09IFwiMFwiKSB0aW1lWzFdID0gXCIwXCIgKyB0aW1lWzFdO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aW1lWzBdID09IFwiMFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIxXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjJcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiM1wiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI0XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjVcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiNlwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI3XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjhcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiOVwiXHJcbiAgICApIHtcclxuICAgICAgYWRkZWRaZXJvID0gXCIwXCIgKyB0aW1lWzBdO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gYWRkZWRaZXJvO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdGltZVsxXTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gIH1cclxuXHJcbiAgc29ydEJ5VGltZUFzY2VuZGluZyhhOiBhbnksIGI6IGFueSkge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwiSEg6bW06c3NcIjtcclxuICAgIGEgPSBkYXlqcyhhLCBmb3JtYXQpO1xyXG4gICAgYiA9IGRheWpzKGIsIGZvcm1hdCk7XHJcblxyXG4gICAgbGV0IHJlc3VsdHM7XHJcblxyXG4gICAgcmVzdWx0cyA9IGEuZ2V0KCdob3VyJykgPiBiLmdldCgnaG91cicpID8gMSA6IGEuZ2V0KCdob3VyJykgPCBiLmdldCgnaG91cicpID8gLTEgOiAwO1xyXG5cclxuICAgIGlmIChyZXN1bHRzID09PSAwKSByZXN1bHRzID0gYS5nZXQoJ21pbnV0ZScpID4gYi5nZXQoJ21pbnV0ZScpID8gMSA6IGEuZ2V0KCdtaW51dGUnKSA8IGIuZ2V0KCdtaW51dGUnKSA/IC0xIDogMDtcclxuXHJcbiAgICBpZiAocmVzdWx0cyA9PT0gMCkgcmVzdWx0cyA9IGEuZ2V0KCdzZWNvbmQnKSA+IGIuZ2V0KCdzZWNvbmQnKSA/IDEgOiBhLmdldCgnc2Vjb25kJykgPCBiLmdldCgnc2Vjb25kJykgPyAtMSA6IDA7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICBzb3J0QnlUaW1lRGVzY2VuZGluZyhhOiBhbnksIGI6IGFueSkge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwiSEg6bW06c3NcIjtcclxuICAgIGEgPSBkYXlqcyhhLCBmb3JtYXQpO1xyXG4gICAgYiA9IGRheWpzKGIsIGZvcm1hdCk7XHJcblxyXG4gICAgbGV0IHJlc3VsdHM7XHJcblxyXG4gICAgcmVzdWx0cyA9IGEuZ2V0KCdob3VyJykgPCBiLmdldCgnaG91cicpID8gMSA6IGEuZ2V0KCdob3VyJykgPiBiLmdldCgnaG91cicpID8gLTEgOiAwO1xyXG5cclxuICAgIGlmIChyZXN1bHRzID09PSAwKSByZXN1bHRzID0gYS5nZXQoJ21pbnV0ZScpIDwgYi5nZXQoJ21pbnV0ZScpID8gMSA6IGEuZ2V0KCdtaW51dGUnKSA+IGIuZ2V0KCdtaW51dGUnKSA/IC0xIDogMDtcclxuXHJcbiAgICBpZiAocmVzdWx0cyA9PT0gMCkgcmVzdWx0cyA9IGEuZ2V0KCdzZWNvbmQnKSA8IGIuZ2V0KCdzZWNvbmQnKSA/IDEgOiBhLmdldCgnc2Vjb25kJykgPiBiLmdldCgnc2Vjb25kJykgPyAtMSA6IDA7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KG5nYkRhdGU6IE5nYkRhdGUgfCBOZ2JEYXRlVHlwZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgZm9ybWF0VHlwZSA9IFwiTU0vREQvWVlZWVwiO1xyXG4gICAgbGV0IGNvbnZlcnRlZCA9IG51bGw7XHJcbiAgICBpZiAobmdiRGF0ZSAmJiBuZ2JEYXRlLm1vbnRoICYmIG5nYkRhdGUuZGF5ICYmIG5nYkRhdGUueWVhcikge1xyXG4gICAgICBjb252ZXJ0ZWQgPSBuZ2JEYXRlLm1vbnRoICsgXCIvXCIgKyBuZ2JEYXRlLmRheSArIFwiL1wiICsgbmdiRGF0ZS55ZWFyO1xyXG4gICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChmb3JtYXRUeXBlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb252ZXJ0ZWQ7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlRGF0ZShhOiBzdHJpbmcsIGI6IHN0cmluZywgaXNBc2M6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBpc0FzYyA/IGRheWpzKGEpLmRpZmYoYikgOiBkYXlqcyhiKS5kaWZmKGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRUd2VudHlGb3VySG91clRpbWVUb0hITU1BRm9ybWF0KHZhbHVlOiBhbnksIGRhdGU/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdmFsdWUgPSBkYXlqcyhkYXRlID8gZGF0ZSA6ICcwMS8wMS8yMDAwICcgKyB2YWx1ZSkuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbTpzc1wiKTtcclxuICAgIHJldHVybiB2YWx1ZVszXSA9PSBcIjBcIiAmJiB2YWx1ZVs0XSA9PSBcIjBcIlxyXG4gICAgICA/IGRheWpzKHZhbHVlLCBbXCJISDptbTpzc1wiXSkuZm9ybWF0KFwiaEFcIikuc2xpY2UoMCwgLTEpXHJcbiAgICAgIDogZGF5anModmFsdWUsIFtcIkhIOm1tOnNzXCJdKS5mb3JtYXQoXCJoOm1tQVwiKS5zbGljZSgwLCAtMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZWx2ZUhvdXJUaW1lVG9ISE1NQUZvcm1hdCh0aW1lVmFsdWU6IGFueSwgZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB0aW1lVmFsdWUgPSBkYXlqcyhkYXRlID8gZGF0ZSA6ICcwMS8wMS8yMDAwICcgKyB0aW1lVmFsdWUpLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW06c3NcIik7XHJcbiAgICByZXR1cm4gdGltZVZhbHVlWzNdID09IFwiMFwiICYmIHRpbWVWYWx1ZVs0XSA9PSBcIjBcIlxyXG4gICAgICA/IGRheWpzKHRpbWVWYWx1ZSkuZm9ybWF0KFwiaEFcIikuc2xpY2UoMCwgLTEpXHJcbiAgICAgIDogZGF5anModGltZVZhbHVlKS5mb3JtYXQoXCJoOm1tQVwiKS5zbGljZSgwLCAtMSk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChkYXRlQW5kVGltZTogYW55KSB7XHJcbiAgICBsZXQgc3RhbmRhcmRGb3JtYXQsIGRhdGUsIHRpbWU7XHJcbiAgICBpZiAoZGF0ZUFuZFRpbWUuaW5jbHVkZXMoXCJ8XCIpKSB7XHJcbiAgICAgIGRhdGUgPSBkYXRlQW5kVGltZS5zbGljZSgwLCBkYXRlQW5kVGltZS5pbmRleE9mKFwifFwiKSk7XHJcbiAgICAgIHRpbWUgPSBkYXRlQW5kVGltZS5zbGljZShkYXRlQW5kVGltZS5pbmRleE9mKCd8JykgKyAxLCBkYXRlQW5kVGltZS5sZW5ndGgpLnRyaW0oKTtcclxuXHJcbiAgICAgIHRpbWUgPSB0aW1lLnNsaWNlKDAsIDIpICsgXCI6XCIgKyB0aW1lLnNsaWNlKDIsIDQpICsgXCIgXCIgKyB0aW1lLnNsaWNlKDQsIDUpO1xyXG4gICAgICB0aW1lID0gdGltZSArIFwiTVwiO1xyXG4gICAgICBzdGFuZGFyZEZvcm1hdCA9IGRhdGUgKyB0aW1lO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHN0YW5kYXJkRm9ybWF0ID0gZGF0ZUFuZFRpbWUgKyBcIiAwMDowMCBBTVwiXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF5anMoc3RhbmRhcmRGb3JtYXQpLmZvcm1hdChcIk1NL0REL1lZWVkgaGg6bW0gQVwiKTtcclxuICB9XHJcblxyXG4gIGNvbXBhcmUoYTogbnVtYmVyIHwgc3RyaW5nLCBiOiBudW1iZXIgfCBzdHJpbmcsIGlzQXNjOiBib29sZWFuKSB7XHJcbiAgICBpZiAodHlwZW9mIGEgPT0gJ3N0cmluZycgJiYgdHlwZW9mIGIgPT0gJ3N0cmluZycpIHtcclxuICAgICAgYSA9IGEgPT0gXCItXCIgPyBcIjBcIiA6IGEudG9Mb3dlckNhc2UoKTtcclxuICAgICAgYiA9IGIgPT0gXCItXCIgPyBcIjBcIiA6IGIudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuICAgIHJldHVybiAoYSA8IGIgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcclxuICB9XHJcblxyXG4gIHNvcnREYXRhQnlCcm9hZGNhc3RUaW1lQXNjKGZpcnN0UGFyYW1UaW1lOiBzdHJpbmcsIHNlY29uZFBhcmFtVGltZTogc3RyaW5nLCBicm9hZGNhc3RUaW1lOiBzdHJpbmcpIHtcclxuICAgIGxldCBmb3JtYXQgPSBcIkhIOm1tOnNzXCI7XHJcblxyXG4gICAgbGV0IGEgPSBkYXlqcyhmaXJzdFBhcmFtVGltZSwgZm9ybWF0KTtcclxuICAgIGxldCBiID0gZGF5anMoc2Vjb25kUGFyYW1UaW1lLCBmb3JtYXQpO1xyXG5cclxuICAgIGxldCBicm9hZGNhc3RkYXlqc0RhdGVUaW1lID0gZGF5anMoYnJvYWRjYXN0VGltZSwgXCJISDptbTpzc1wiKTtcclxuXHJcbiAgICBhID0gYS5pc0JlZm9yZShicm9hZGNhc3RkYXlqc0RhdGVUaW1lKSA/IGEuYWRkKDEsIFwiZFwiKSA6IGE7XHJcbiAgICBiID0gYi5pc0JlZm9yZShicm9hZGNhc3RkYXlqc0RhdGVUaW1lKSA/IGIuYWRkKDEsIFwiZFwiKSA6IGI7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGEuaXNCZWZvcmUoYikgPyAtMSA6IGEuaXNBZnRlcihiKSA/IDEgOiAwO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|