@sunbird-cb/consumption 0.0.78 → 0.0.79
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/bundles/sunbird-cb-consumption.umd.js +2 -7
- package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
- package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +3 -8
- package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +3 -8
- package/fesm2015/sunbird-cb-consumption.js +2 -7
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +2 -7
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/package.json +1 -1
|
@@ -90,6 +90,7 @@ export class CompetencyPassbookComponent {
|
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
92
|
try {
|
|
93
|
+
this.competencyStrength = 0;
|
|
93
94
|
/** @type {?} */
|
|
94
95
|
const response = yield this.callCompetencySearch(request);
|
|
95
96
|
if (response && response.results) {
|
|
@@ -120,15 +121,9 @@ export class CompetencyPassbookComponent {
|
|
|
120
121
|
let data = yield this.getcompetencyThemeCount(area, addFilter);
|
|
121
122
|
area['themeData'] = data;
|
|
122
123
|
area['count'] = data.length;
|
|
124
|
+
this.competencyStrength = this.competencyStrength + data.length;
|
|
123
125
|
if (indexValue === 0) {
|
|
124
|
-
this.competencyStrength = 0;
|
|
125
126
|
this.getThemeDataByArea(area);
|
|
126
|
-
this.competencyStrength = this.competencyArea.reduce((/**
|
|
127
|
-
* @param {?} partialSum
|
|
128
|
-
* @param {?} data
|
|
129
|
-
* @return {?}
|
|
130
|
-
*/
|
|
131
|
-
(partialSum, data) => partialSum + data.count), 0);
|
|
132
127
|
}
|
|
133
128
|
})));
|
|
134
129
|
this.loadCompetencyArea = false;
|
|
@@ -584,4 +579,4 @@ if (false) {
|
|
|
584
579
|
/** @type {?} */
|
|
585
580
|
CompetencyPassbookComponent.prototype.router;
|
|
586
581
|
}
|
|
587
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPekMsTUFBTSxPQUFPLDJCQUEyQjs7Ozs7Ozs7Ozs7SUEwQnRDLFlBQW1CLFNBQWdDLEVBQzFDLFVBQStCLEVBQy9CLGFBQXdDLEVBQ3hDLE1BQWU7UUFITCxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUMxQyxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQXpCZixxQkFBZ0IsR0FBUSxDQUFDLENBQUE7UUFHekIsc0JBQWlCLEdBQVEsUUFBUSxDQUFBO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN2QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ3JELGtCQUFhLEdBQVksS0FBSyxDQUFBO1FBQzlCLHVCQUFrQixHQUFZLEtBQUssQ0FBQTtRQUluQyxzQkFBaUIsR0FBVSxFQUFFLENBQUE7UUFDN0Isb0JBQWUsR0FBUSxFQUFFLENBQUE7UUFDekIsdUJB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OztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFNNUMsZ0RBQXVDOztJQUNqRCxpREFBc0M7O0lBQ3RDLG9EQUErQzs7SUFDL0MsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UgfSBmcm9tICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb2JqZWN0RGF0YTogYW55XG4gIEBJbnB1dCgpIHByb3ZpZGVySWQ6IGFueVxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXG4gIEBJbnB1dCgpIGR5bmFtaWNDbGFzczogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2xvcjogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xuICBAT3V0cHV0KCkgZW1wdHlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBPdXRwdXQoKSB0ZW1lbGV0cnlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxuICBsb2FkQ29tcGV0ZW5jeUFyZWE6IGJvb2xlYW4gPSBmYWxzZVxuICBvcmlnaW5hbENvbXBldGVuY3lBcnJheTogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldEFsbENvbXBldGVuY2llcygpXG4gICAgLy8gdGhpcy5jb21wZXRlbmN5RGF0YSA9IHRoaXMub2JqZWN0RGF0YVxuICAgIC8vIHRoaXMuZmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcilcbiAgfVxuICAvLyBmaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAvLyAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlclZhbHVlXG4gIC8vICAgdGhpcy5jdXJyZW50Q29tcGV0ZW5jaWVzID0gdGhpcy5jb21wZXRlbmN5RGF0YS5kYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IGZpbHRlclZhbHVlKVxuICAvLyB9XG4gIHNob3dNb3JlKCkge1xuICAgIHRoaXMub2JqZWN0RGF0YS52aWV3TW9yZSA9ICF0aGlzLm9iamVjdERhdGEudmlld01vcmVcbiAgfVxuXG4gIC8vIHRvIGdldCBjb21wZXRlbmN5IGFyZWEgZnJvbSBmYWNldHNcbiAgYXN5bmMgZ2V0Q29tcGV0ZW5jeUFyZWEoKXtsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgXSxcbiAgICB9XG4gIH1cbiAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgICAgLi4uYWRkZmlsdGVyLFxuICAgICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgICByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMuZm9yRWFjaCgoZmFjdDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZihmYWN0Lm5hbWUgPT09ICdjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWEnKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEgPSBmYWN0LnZhbHVlc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSAgPSB0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEuZm9yRWFjaChhc3luYyAoYXJlYTogYW55LCBpbmRleFZhbHVlOiBhbnkpPT4ge1xuICAgICAgICAgICAgbGV0IGFkZEZpbHRlciA9IHtcbiAgICAgICAgICAgICAgXCJjcmVhdGVkRm9yXCI6IFtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IHRoaXMuZ2V0Y29tcGV0ZW5jeVRoZW1lQ291bnQoYXJlYSwgYWRkRmlsdGVyKVxuICAgICAgICAgICAgYXJlYVsndGhlbWVEYXRhJ10gPSBkYXRhXG4gICAgICAgICAgICBhcmVhWydjb3VudCddID0gZGF0YS5sZW5ndGhcbiAgICAgICAgICAgIGlmKGluZGV4VmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5U3RyZW5ndGggPSAgMFxuICAgICAgICAgICAgICB0aGlzLmdldFRoZW1lRGF0YUJ5QXJlYShhcmVhKVxuICAgICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeUFyZWEucmVkdWNlKChwYXJ0aWFsU3VtOiBhbnksIGRhdGE6IGFueSkgPT4gcGFydGlhbFN1bSArICBkYXRhLmNvdW50LCAwKSBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICB0aGlzLmVtcHR5UmVzcG9uc2UuZW1pdCh0cnVlKVxuICAgICAgLy8gSGFuZGxlIGVycm9yc1xuICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3Qpe1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmIChyZXF1ZXN0ICYmIHJlcXVlc3QpIHtcbiAgICAgICAgdGhpcy5jb250ZW50U3ZjLnNlYXJjaFY2KHJlcXVlc3QpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHRzIH0pO1xuICAgICAgICAgIH0sKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIGNvbXBldGVuY3kgdGhlYW0gY2hhbmdlXG4gIGNvbXBldGVuY3lDaGFuZ2UoZSl7XG4gICAgbGV0IGFkZGZpbHRlcjogYW55ID0ge31cbiAgICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICAgIGFkZGZpbHRlciA9IHtcbiAgICAgICAgXCJjcmVhdGVkRm9yXCI6IFtcbiAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICBdLFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudGVtZWxldHJ5UmVzcG9uc2UuZW1pdChlLm5hbWUpXG4gICAgXG4gICAgdGhpcy5nZXRUaGVtZURhdGFCeUFyZWEoZSlcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBlLm5hbWVcbiAgfVxuICBnZXRBbGxDb21wZXRlbmNpZXMoKXtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgbGV0IHJlcXVlc3QgPSB7XCJzZWFyY2hcIjp7XCJ0eXBlXCI6XCJDb21wZXRlbmN5IEFyZWFcIn0sXCJmaWx0ZXJcIjp7XCJpc0RldGFpbFwiOnRydWV9fVxuICAgIHRoaXMuY29tcGV0ZW5jeVN2Yy5nZXRDb21wZXRlbmN5TGlzdChyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lID0ge31cbiAgICAgIGlmKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdCAmJiByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeSkge1xuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5ID0gcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3lcblxuICAgICAgICB0aGlzLmdldENvbXBldGVuY3lBcmVhKClcbiAgICAgICAgcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3kuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICBlbGVtZW50LmNoaWxkcmVuLmZvckVhY2goKGNoaWxkRWxlKSA9PiB7XG4gICAgICAgICAgICBsZXQgbmFtZSA9IGNoaWxkRWxlLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbbmFtZV0gPSBjaGlsZEVsZVxuICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbbmFtZV1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldGNvbXBldGVuY3lUaGVtZSh2YWx1ZTogYW55LGFkZEZpbHRlcj86IGFueSkge1xuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgIC4uLmFkZEZpbHRlcixcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIiA6IHZhbHVlLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeVRoZW1lXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVzZXRWaWV3TW9yZSgpXG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICB9XG4gIH1cblxuICBnZXRUaGVtZURhdGFCeUFyZWEoYXJlYURhdGE6IGFueSl7XG4gICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSBhcmVhRGF0YS50aGVtZURhdGFcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYXJlYURhdGEubmFtZSkge1xuICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgICAgIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgICAgICAgIGFkZGZpbHRlciA9IHtcbiAgICAgICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICBdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lTdWJUaGVtZShhcmVhRGF0YSxhZGRmaWx0ZXIpXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogYXJlYS5uYW1lLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeVRoZW1lXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICBsZXQgcmV0dXJuZWREYXRhIDogYW55ID0gXG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQubmFtZS50b0xvd2VyQ2FzZSgpID09PSBhcmVhLm5hbWUpIHtcbiAgICAgICAgICAgcmV0dXJuZWREYXRhID0gY29tcGV0ZW5jeVRoZW1lRGF0YS5maWx0ZXIoKGVsZTE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIGVsZW1lbnQuY2hpbGRyZW4uZmluZCgoZWxlMjogYW55KSA9PiBlbGUyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gZWxlMS5uYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgdGhpcy5zaG93QWxsVGhlbWUgPSBbe25hbWU6J1Nob3cgYWxsJywgc2hvd0FsbDogZmFsc2V9XVxuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSA2XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgICByZXR1cm4gcmV0dXJuZWREYXRhXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxuXG4gIHJlc2V0Vmlld01vcmUoKXtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSkuZm9yRWFjaCgoY29tcDogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtjb21wXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgfSlcbiAgfVxuICB2aWV3TW9yZUNoaWxkcmVuKGRhdGE6IGFueSkge1xuICAgIGRhdGEudmlld01vcmUgPSAhZGF0YS52aWV3TW9yZVxuICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW2RhdGEubmFtZS50b0xvd2VyQ2FzZSgpXS52aWV3TW9yZSA9IGRhdGEudmlld01vcmVcbiAgfVxuICBkaXNwbGF5QWxsVGhlbWUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWydzaG93QWxsJ10gPSAhZXZlbnQuc2hvd0FsbCBcbiAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IGV2ZW50LnNob3dBbGwgPyAgdGhpcy5jb21wZXRlbmN5VGhlbWUubGVuZ3RoIDogNlxuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWyduYW1lJ10gPSBldmVudC5zaG93QWxsID8gJ1Nob3cgbGVzcycgOiAnU2hvdyBhbGwnXG4gICAgdGhpcy50ZW1lbGV0cnlSZXNwb25zZS5lbWl0KGV2ZW50Lm5hbWUpXG4gIH1cblxuICBuYXZpZ2F0ZVRvQ29tcGV0ZW5jeShjb21wRGF0YTogYW55KXtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvYXBwL2xlYXJuL2Jyb3dzZS1ieS9jb21wZXRlbmN5LyR7Y29tcERhdGEubmFtZX1gKVxuICB9XG5cblxuICBhc3luYyBnZXRjb21wZXRlbmN5U3ViVGhlbWUoY29tcEFyZWE6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiBjb21wQXJlYS5uYW1lLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeVN1YlRoZW1lSWRcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIFxuICB0cnkge1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5U3ViVGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYS5mb3JFYWNoKChhcmVhRWxlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZihhcmVhRWxlLm5hbWUgPT09IGNvbXBBcmVhLm5hbWUpIHtcbiAgICAgICAgICAgIGFyZWFFbGUudGhlbWVEYXRhLmZvckVhY2goKHRoZW1lRWxlKSA9PiB7XG4gICAgICAgICAgICAgIGlmKHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0gJiZcbiAgICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXS5jaGlsZHJlbiAmJiBcbiAgICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4uZmlsdGVyKG9iajEgPT4gXG4gICAgICAgICAgICAgICAgICBjb21wZXRlbmN5U3ViVGhlbWVEYXRhLnNvbWUob2JqMiA9PiBcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob2JqMSkuZXZlcnkoa2V5ID0+IG9iajFbJ2lkJ10gPT09IE51bWJlcihvYmoyWyduYW1lJ10pKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXVsnY2hpbGRyZW4nXSA9IGRhdGFcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG59XG4iXX0=
|
|
582
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPekMsTUFBTSxPQUFPLDJCQUEyQjs7Ozs7Ozs7Ozs7SUEwQnRDLFlBQW1CLFNBQWdDLEVBQzFDLFVBQStCLEVBQy9CLGFBQXdDLEVBQ3hDLE1BQWU7UUFITCxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUMxQyxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQXpCZixxQkFBZ0IsR0FBUSxDQUFDLENBQUE7UUFHekIsc0JBQWlCLEdBQVEsUUFBUSxDQUFBO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN2QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ3JELGtCQUFhLEdBQVksS0FBSyxDQUFBO1FBQzlCLHVCQUFrQixHQUFZLEtBQUssQ0FBQTtRQUluQyxzQkFBaUIsR0FBVSxFQUFFLENBQUE7UUFDN0Isb0JBQWUsR0FBUSxFQUFFLENBQUE7UUFDekIsdUJB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QU01QyxnREFBdUM7O0lBQ2pELGlEQUFzQzs7SUFDdEMsb0RBQStDOztJQUMvQyw2Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIEV2ZW50U2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IFdpZGdldENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSB9IGZyb20gJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29tcGV0ZW5jeVBhc3Nib29rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBvYmplY3REYXRhOiBhbnlcbiAgQElucHV0KCkgcHJvdmlkZXJJZDogYW55XG4gIEBJbnB1dCgpIGNhcmREaXNwbGF5Q291bnQ6IGFueSA9IDNcbiAgQElucHV0KCkgZHluYW1pY0NsYXNzOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0NvbG9yOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0FsaWduUGlsbHM6IGFueSA9ICdjZW50ZXInXG4gIEBPdXRwdXQoKSBlbXB0eVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHRlbWVsZXRyeVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgbG9hZENvbWV0ZW5jeTogYm9vbGVhbiA9IGZhbHNlXG4gIGxvYWRDb21wZXRlbmN5QXJlYTogYm9vbGVhbiA9IGZhbHNlXG4gIG9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5OiBhbnlcbiAgY29tcGV0ZW5jeUFyZWE6IGFueSBbXVxuICBzZWxlY3RlZFZhbHVlOiBhbnk7XG4gIGNvbXBldGVuY3lWZXJzaW9uOnN0cmluZyA9ICcnXG4gIGNvbXBldGVuY3lUaGVtZTogYW55ID0gW11cbiAgYWxsY29tcGV0ZW5jeVRoZW1lOiBhbnkgPXt9XG4gIGNvbXBldGVuY3lTdHJlbmd0aDogYW55ID0gMFxuICBjb21wZXRlbmN5VGhlbWVMZW5ndGg6IGFueSA9IDZcbiAgc2hvd0FsbFRoZW1lIDogYW55ID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cblxuICAvLyBzdWJUaGVtZSA9IFsnQmVoYXZpb3VyYWwnXVxuICAvLyBjdXJyZW50RmlsdGVyID0gJ0JlaGF2aW91cmFsJ1xuICAvLyBjdXJyZW50Q29tcGV0ZW5jaWVzOiBhbnkgPSBbXVxuICAvLyBjb21wZXRlbmN5RGF0YTogYW55XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcbiAgICBwdWJsaWMgY29udGVudFN2YzpXaWRnZXRDb250ZW50U2VydmljZSxcbiAgICBwdWJsaWMgY29tcGV0ZW5jeVN2YzogQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyIDogUm91dGVyXG4gICkgeyBcbiAgICBcbiAgfVxuXG4gXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0QWxsQ29tcGV0ZW5jaWVzKClcbiAgICAvLyB0aGlzLmNvbXBldGVuY3lEYXRhID0gdGhpcy5vYmplY3REYXRhXG4gICAgLy8gdGhpcy5maWx0ZXIodGhpcy5jdXJyZW50RmlsdGVyKVxuICB9XG4gIC8vIGZpbHRlcihmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XG4gIC8vICAgdGhpcy5jdXJyZW50RmlsdGVyID0gZmlsdGVyVmFsdWVcbiAgLy8gICB0aGlzLmN1cnJlbnRDb21wZXRlbmNpZXMgPSB0aGlzLmNvbXBldGVuY3lEYXRhLmRhdGEuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0udHlwZSA9PT0gZmlsdGVyVmFsdWUpXG4gIC8vIH1cbiAgc2hvd01vcmUoKSB7XG4gICAgdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlID0gIXRoaXMub2JqZWN0RGF0YS52aWV3TW9yZVxuICB9XG5cbiAgLy8gdG8gZ2V0IGNvbXBldGVuY3kgYXJlYSBmcm9tIGZhY2V0c1xuICBhc3luYyBnZXRDb21wZXRlbmN5QXJlYSgpe2xldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgIGFkZGZpbHRlciA9IHtcbiAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICBdLFxuICAgIH1cbiAgfVxuICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgICAuLi5hZGRmaWx0ZXIsXG4gICAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9ICAwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICAgIHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cy5mb3JFYWNoKChmYWN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmKGZhY3QubmFtZSA9PT0gJ2NvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYScpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYSA9IGZhY3QudmFsdWVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlICA9IHRoaXMuY29tcGV0ZW5jeUFyZWFbMF0ubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYS5mb3JFYWNoKGFzeW5jIChhcmVhOiBhbnksIGluZGV4VmFsdWU6IGFueSk9PiB7XG4gICAgICAgICAgICBsZXQgYWRkRmlsdGVyID0ge1xuICAgICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhLCBhZGRGaWx0ZXIpXG4gICAgICAgICAgICBhcmVhWyd0aGVtZURhdGEnXSA9IGRhdGFcbiAgICAgICAgICAgIGFyZWFbJ2NvdW50J10gPSBkYXRhLmxlbmd0aFxuXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoICsgZGF0YS5sZW5ndGhcbiAgICAgICAgICAgIGlmKGluZGV4VmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGUpXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZS5uYW1lXG4gIH1cbiAgZ2V0QWxsQ29tcGV0ZW5jaWVzKCl7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1wic2VhcmNoXCI6e1widHlwZVwiOlwiQ29tcGV0ZW5jeSBBcmVhXCJ9LFwiZmlsdGVyXCI6e1wiaXNEZXRhaWxcIjp0cnVlfX1cbiAgICB0aGlzLmNvbXBldGVuY3lTdmMuZ2V0Q29tcGV0ZW5jeUxpc3QocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSA9IHt9XG4gICAgICBpZihyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHQgJiYgcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3kpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheSA9IHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5XG5cbiAgICAgICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQubmFtZS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2V0Vmlld01vcmUoKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG5cbiAgZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWFEYXRhOiBhbnkpe1xuICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gYXJlYURhdGEudGhlbWVEYXRhXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGFyZWFEYXRhLm5hbWUpIHtcbiAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICAgICAgICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICAgICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRjb21wZXRlbmN5U3ViVGhlbWUoYXJlYURhdGEsYWRkZmlsdGVyKVxuICB9XG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVRoZW1lQ291bnQoYXJlYTogYW55LGFkZEZpbHRlcj86IGFueSkge1xuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgIC4uLmFkZEZpbHRlcixcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIiA6IGFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgbGV0IHJldHVybmVkRGF0YSA6IGFueSA9IFxuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYXJlYS5uYW1lKSB7XG4gICAgICAgICAgIHJldHVybmVkRGF0YSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgICAgcmV0dXJuIHJldHVybmVkRGF0YVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICB9XG4gIH1cblxuICByZXNldFZpZXdNb3JlKCl7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGxjb21wZXRlbmN5VGhlbWUpLmZvckVhY2goKGNvbXA6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbY29tcF1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxuICAgIH0pXG4gIH1cbiAgdmlld01vcmVDaGlsZHJlbihkYXRhOiBhbnkpIHtcbiAgICBkYXRhLnZpZXdNb3JlID0gIWRhdGEudmlld01vcmVcbiAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtkYXRhLm5hbWUudG9Mb3dlckNhc2UoKV0udmlld01vcmUgPSBkYXRhLnZpZXdNb3JlXG4gIH1cbiAgZGlzcGxheUFsbFRoZW1lKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnc2hvd0FsbCddID0gIWV2ZW50LnNob3dBbGwgXG4gICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSBldmVudC5zaG93QWxsID8gIHRoaXMuY29tcGV0ZW5jeVRoZW1lLmxlbmd0aCA6IDZcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnbmFtZSddID0gZXZlbnQuc2hvd0FsbCA/ICdTaG93IGxlc3MnIDogJ1Nob3cgYWxsJ1xuICAgIHRoaXMudGVtZWxldHJ5UmVzcG9uc2UuZW1pdChldmVudC5uYW1lKVxuICB9XG5cbiAgbmF2aWdhdGVUb0NvbXBldGVuY3koY29tcERhdGE6IGFueSl7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2FwcC9sZWFybi9icm93c2UtYnkvY29tcGV0ZW5jeS8ke2NvbXBEYXRhLm5hbWV9YClcbiAgfVxuXG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVN1YlRoZW1lKGNvbXBBcmVhOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogY29tcEFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lTdWJUaGVtZUlkXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEuZm9yRWFjaCgoYXJlYUVsZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYoYXJlYUVsZS5uYW1lID09PSBjb21wQXJlYS5uYW1lKSB7XG4gICAgICAgICAgICBhcmVhRWxlLnRoZW1lRGF0YS5mb3JFYWNoKCh0aGVtZUVsZSkgPT4ge1xuICAgICAgICAgICAgICBpZih0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldICYmXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4gJiYgXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldLmNoaWxkcmVuLmZpbHRlcihvYmoxID0+IFxuICAgICAgICAgICAgICAgICAgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YS5zb21lKG9iajIgPT4gXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9iajEpLmV2ZXJ5KGtleSA9PiBvYmoxWydpZCddID09PSBOdW1iZXIob2JqMlsnbmFtZSddKSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV1bJ2NoaWxkcmVuJ10gPSBkYXRhXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxufVxuIl19
|
|
@@ -110,6 +110,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
110
110
|
_a.label = 1;
|
|
111
111
|
case 1:
|
|
112
112
|
_a.trys.push([1, 3, , 4]);
|
|
113
|
+
this.competencyStrength = 0;
|
|
113
114
|
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
114
115
|
case 2:
|
|
115
116
|
response = _a.sent();
|
|
@@ -145,15 +146,9 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
145
146
|
data = _a.sent();
|
|
146
147
|
area['themeData'] = data;
|
|
147
148
|
area['count'] = data.length;
|
|
149
|
+
this.competencyStrength = this.competencyStrength + data.length;
|
|
148
150
|
if (indexValue === 0) {
|
|
149
|
-
this.competencyStrength = 0;
|
|
150
151
|
this.getThemeDataByArea(area);
|
|
151
|
-
this.competencyStrength = this.competencyArea.reduce((/**
|
|
152
|
-
* @param {?} partialSum
|
|
153
|
-
* @param {?} data
|
|
154
|
-
* @return {?}
|
|
155
|
-
*/
|
|
156
|
-
function (partialSum, data) { return partialSum + data.count; }), 0);
|
|
157
152
|
}
|
|
158
153
|
return [2 /*return*/];
|
|
159
154
|
}
|
|
@@ -697,4 +692,4 @@ if (false) {
|
|
|
697
692
|
/** @type {?} */
|
|
698
693
|
CompetencyPassbookComponent.prototype.router;
|
|
699
694
|
}
|
|
700
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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bkMsOERBQTRCOztJQUM1QixxREFBc0I7O0lBQ3RCLG9EQUFtQjs7SUFDbkIsd0RBQTZCOztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFNNUMsZ0RBQXVDOztJQUNqRCxpREFBc0M7O0lBQ3RDLG9EQUErQzs7SUFDL0MsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UgfSBmcm9tICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb2JqZWN0RGF0YTogYW55XG4gIEBJbnB1dCgpIHByb3ZpZGVySWQ6IGFueVxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXG4gIEBJbnB1dCgpIGR5bmFtaWNDbGFzczogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2xvcjogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xuICBAT3V0cHV0KCkgZW1wdHlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBPdXRwdXQoKSB0ZW1lbGV0cnlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxuICBsb2FkQ29tcGV0ZW5jeUFyZWE6IGJvb2xlYW4gPSBmYWxzZVxuICBvcmlnaW5hbENvbXBldGVuY3lBcnJheTogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldEFsbENvbXBldGVuY2llcygpXG4gICAgLy8gdGhpcy5jb21wZXRlbmN5RGF0YSA9IHRoaXMub2JqZWN0RGF0YVxuICAgIC8vIHRoaXMuZmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcilcbiAgfVxuICAvLyBmaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAvLyAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlclZhbHVlXG4gIC8vICAgdGhpcy5jdXJyZW50Q29tcGV0ZW5jaWVzID0gdGhpcy5jb21wZXRlbmN5RGF0YS5kYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IGZpbHRlclZhbHVlKVxuICAvLyB9XG4gIHNob3dNb3JlKCkge1xuICAgIHRoaXMub2JqZWN0RGF0YS52aWV3TW9yZSA9ICF0aGlzLm9iamVjdERhdGEudmlld01vcmVcbiAgfVxuXG4gIC8vIHRvIGdldCBjb21wZXRlbmN5IGFyZWEgZnJvbSBmYWNldHNcbiAgYXN5bmMgZ2V0Q29tcGV0ZW5jeUFyZWEoKXtsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgXSxcbiAgICB9XG4gIH1cbiAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgICAgLi4uYWRkZmlsdGVyLFxuICAgICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgICByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMuZm9yRWFjaCgoZmFjdDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZihmYWN0Lm5hbWUgPT09ICdjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWEnKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEgPSBmYWN0LnZhbHVlc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSAgPSB0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEuZm9yRWFjaChhc3luYyAoYXJlYTogYW55LCBpbmRleFZhbHVlOiBhbnkpPT4ge1xuICAgICAgICAgICAgbGV0IGFkZEZpbHRlciA9IHtcbiAgICAgICAgICAgICAgXCJjcmVhdGVkRm9yXCI6IFtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IHRoaXMuZ2V0Y29tcGV0ZW5jeVRoZW1lQ291bnQoYXJlYSwgYWRkRmlsdGVyKVxuICAgICAgICAgICAgYXJlYVsndGhlbWVEYXRhJ10gPSBkYXRhXG4gICAgICAgICAgICBhcmVhWydjb3VudCddID0gZGF0YS5sZW5ndGhcbiAgICAgICAgICAgIGlmKGluZGV4VmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5U3RyZW5ndGggPSAgMFxuICAgICAgICAgICAgICB0aGlzLmdldFRoZW1lRGF0YUJ5QXJlYShhcmVhKVxuICAgICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeUFyZWEucmVkdWNlKChwYXJ0aWFsU3VtOiBhbnksIGRhdGE6IGFueSkgPT4gcGFydGlhbFN1bSArICBkYXRhLmNvdW50LCAwKSBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICB0aGlzLmVtcHR5UmVzcG9uc2UuZW1pdCh0cnVlKVxuICAgICAgLy8gSGFuZGxlIGVycm9yc1xuICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3Qpe1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmIChyZXF1ZXN0ICYmIHJlcXVlc3QpIHtcbiAgICAgICAgdGhpcy5jb250ZW50U3ZjLnNlYXJjaFY2KHJlcXVlc3QpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHRzIH0pO1xuICAgICAgICAgIH0sKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIGNvbXBldGVuY3kgdGhlYW0gY2hhbmdlXG4gIGNvbXBldGVuY3lDaGFuZ2UoZSl7XG4gICAgbGV0IGFkZGZpbHRlcjogYW55ID0ge31cbiAgICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICAgIGFkZGZpbHRlciA9IHtcbiAgICAgICAgXCJjcmVhdGVkRm9yXCI6IFtcbiAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICBdLFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudGVtZWxldHJ5UmVzcG9uc2UuZW1pdChlLm5hbWUpXG4gICAgXG4gICAgdGhpcy5nZXRUaGVtZURhdGFCeUFyZWEoZSlcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBlLm5hbWVcbiAgfVxuICBnZXRBbGxDb21wZXRlbmNpZXMoKXtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgbGV0IHJlcXVlc3QgPSB7XCJzZWFyY2hcIjp7XCJ0eXBlXCI6XCJDb21wZXRlbmN5IEFyZWFcIn0sXCJmaWx0ZXJcIjp7XCJpc0RldGFpbFwiOnRydWV9fVxuICAgIHRoaXMuY29tcGV0ZW5jeVN2Yy5nZXRDb21wZXRlbmN5TGlzdChyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lID0ge31cbiAgICAgIGlmKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdCAmJiByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeSkge1xuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5ID0gcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3lcblxuICAgICAgICB0aGlzLmdldENvbXBldGVuY3lBcmVhKClcbiAgICAgICAgcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3kuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICBlbGVtZW50LmNoaWxkcmVuLmZvckVhY2goKGNoaWxkRWxlKSA9PiB7XG4gICAgICAgICAgICBsZXQgbmFtZSA9IGNoaWxkRWxlLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbbmFtZV0gPSBjaGlsZEVsZVxuICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbbmFtZV1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldGNvbXBldGVuY3lUaGVtZSh2YWx1ZTogYW55LGFkZEZpbHRlcj86IGFueSkge1xuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgIC4uLmFkZEZpbHRlcixcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIiA6IHZhbHVlLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeVRoZW1lXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVzZXRWaWV3TW9yZSgpXG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICB9XG4gIH1cblxuICBnZXRUaGVtZURhdGFCeUFyZWEoYXJlYURhdGE6IGFueSl7XG4gICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSBhcmVhRGF0YS50aGVtZURhdGFcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYXJlYURhdGEubmFtZSkge1xuICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgICAgIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgICAgICAgIGFkZGZpbHRlciA9IHtcbiAgICAgICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICBdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lTdWJUaGVtZShhcmVhRGF0YSxhZGRmaWx0ZXIpXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogYXJlYS5uYW1lLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeVRoZW1lXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICBsZXQgcmV0dXJuZWREYXRhIDogYW55ID0gXG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQubmFtZS50b0xvd2VyQ2FzZSgpID09PSBhcmVhLm5hbWUpIHtcbiAgICAgICAgICAgcmV0dXJuZWREYXRhID0gY29tcGV0ZW5jeVRoZW1lRGF0YS5maWx0ZXIoKGVsZTE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIGVsZW1lbnQuY2hpbGRyZW4uZmluZCgoZWxlMjogYW55KSA9PiBlbGUyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gZWxlMS5uYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgdGhpcy5zaG93QWxsVGhlbWUgPSBbe25hbWU6J1Nob3cgYWxsJywgc2hvd0FsbDogZmFsc2V9XVxuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSA2XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgICByZXR1cm4gcmV0dXJuZWREYXRhXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxuXG4gIHJlc2V0Vmlld01vcmUoKXtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSkuZm9yRWFjaCgoY29tcDogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtjb21wXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgfSlcbiAgfVxuICB2aWV3TW9yZUNoaWxkcmVuKGRhdGE6IGFueSkge1xuICAgIGRhdGEudmlld01vcmUgPSAhZGF0YS52aWV3TW9yZVxuICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW2RhdGEubmFtZS50b0xvd2VyQ2FzZSgpXS52aWV3TW9yZSA9IGRhdGEudmlld01vcmVcbiAgfVxuICBkaXNwbGF5QWxsVGhlbWUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWydzaG93QWxsJ10gPSAhZXZlbnQuc2hvd0FsbCBcbiAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IGV2ZW50LnNob3dBbGwgPyAgdGhpcy5jb21wZXRlbmN5VGhlbWUubGVuZ3RoIDogNlxuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWyduYW1lJ10gPSBldmVudC5zaG93QWxsID8gJ1Nob3cgbGVzcycgOiAnU2hvdyBhbGwnXG4gICAgdGhpcy50ZW1lbGV0cnlSZXNwb25zZS5lbWl0KGV2ZW50Lm5hbWUpXG4gIH1cblxuICBuYXZpZ2F0ZVRvQ29tcGV0ZW5jeShjb21wRGF0YTogYW55KXtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvYXBwL2xlYXJuL2Jyb3dzZS1ieS9jb21wZXRlbmN5LyR7Y29tcERhdGEubmFtZX1gKVxuICB9XG5cblxuICBhc3luYyBnZXRjb21wZXRlbmN5U3ViVGhlbWUoY29tcEFyZWE6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiBjb21wQXJlYS5uYW1lLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeVN1YlRoZW1lSWRcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIFxuICB0cnkge1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5U3ViVGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYS5mb3JFYWNoKChhcmVhRWxlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZihhcmVhRWxlLm5hbWUgPT09IGNvbXBBcmVhLm5hbWUpIHtcbiAgICAgICAgICAgIGFyZWFFbGUudGhlbWVEYXRhLmZvckVhY2goKHRoZW1lRWxlKSA9PiB7XG4gICAgICAgICAgICAgIGlmKHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0gJiZcbiAgICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXS5jaGlsZHJlbiAmJiBcbiAgICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4uZmlsdGVyKG9iajEgPT4gXG4gICAgICAgICAgICAgICAgICBjb21wZXRlbmN5U3ViVGhlbWVEYXRhLnNvbWUob2JqMiA9PiBcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob2JqMSkuZXZlcnkoa2V5ID0+IG9iajFbJ2lkJ10gPT09IE51bWJlcihvYmoyWyduYW1lJ10pKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXVsnY2hpbGRyZW4nXSA9IGRhdGFcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG59XG4iXX0=
|
|
695
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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QUMzQix5REFBMkI7O0lBQzNCLDREQUE4Qjs7SUFDOUIsbURBQXdEOztJQU01QyxnREFBdUM7O0lBQ2pELGlEQUFzQzs7SUFDdEMsb0RBQStDOztJQUMvQyw2Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIEV2ZW50U2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IFdpZGdldENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSB9IGZyb20gJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29tcGV0ZW5jeVBhc3Nib29rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBvYmplY3REYXRhOiBhbnlcbiAgQElucHV0KCkgcHJvdmlkZXJJZDogYW55XG4gIEBJbnB1dCgpIGNhcmREaXNwbGF5Q291bnQ6IGFueSA9IDNcbiAgQElucHV0KCkgZHluYW1pY0NsYXNzOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0NvbG9yOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0FsaWduUGlsbHM6IGFueSA9ICdjZW50ZXInXG4gIEBPdXRwdXQoKSBlbXB0eVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHRlbWVsZXRyeVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgbG9hZENvbWV0ZW5jeTogYm9vbGVhbiA9IGZhbHNlXG4gIGxvYWRDb21wZXRlbmN5QXJlYTogYm9vbGVhbiA9IGZhbHNlXG4gIG9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5OiBhbnlcbiAgY29tcGV0ZW5jeUFyZWE6IGFueSBbXVxuICBzZWxlY3RlZFZhbHVlOiBhbnk7XG4gIGNvbXBldGVuY3lWZXJzaW9uOnN0cmluZyA9ICcnXG4gIGNvbXBldGVuY3lUaGVtZTogYW55ID0gW11cbiAgYWxsY29tcGV0ZW5jeVRoZW1lOiBhbnkgPXt9XG4gIGNvbXBldGVuY3lTdHJlbmd0aDogYW55ID0gMFxuICBjb21wZXRlbmN5VGhlbWVMZW5ndGg6IGFueSA9IDZcbiAgc2hvd0FsbFRoZW1lIDogYW55ID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cblxuICAvLyBzdWJUaGVtZSA9IFsnQmVoYXZpb3VyYWwnXVxuICAvLyBjdXJyZW50RmlsdGVyID0gJ0JlaGF2aW91cmFsJ1xuICAvLyBjdXJyZW50Q29tcGV0ZW5jaWVzOiBhbnkgPSBbXVxuICAvLyBjb21wZXRlbmN5RGF0YTogYW55XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcbiAgICBwdWJsaWMgY29udGVudFN2YzpXaWRnZXRDb250ZW50U2VydmljZSxcbiAgICBwdWJsaWMgY29tcGV0ZW5jeVN2YzogQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyIDogUm91dGVyXG4gICkgeyBcbiAgICBcbiAgfVxuXG4gXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0QWxsQ29tcGV0ZW5jaWVzKClcbiAgICAvLyB0aGlzLmNvbXBldGVuY3lEYXRhID0gdGhpcy5vYmplY3REYXRhXG4gICAgLy8gdGhpcy5maWx0ZXIodGhpcy5jdXJyZW50RmlsdGVyKVxuICB9XG4gIC8vIGZpbHRlcihmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XG4gIC8vICAgdGhpcy5jdXJyZW50RmlsdGVyID0gZmlsdGVyVmFsdWVcbiAgLy8gICB0aGlzLmN1cnJlbnRDb21wZXRlbmNpZXMgPSB0aGlzLmNvbXBldGVuY3lEYXRhLmRhdGEuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0udHlwZSA9PT0gZmlsdGVyVmFsdWUpXG4gIC8vIH1cbiAgc2hvd01vcmUoKSB7XG4gICAgdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlID0gIXRoaXMub2JqZWN0RGF0YS52aWV3TW9yZVxuICB9XG5cbiAgLy8gdG8gZ2V0IGNvbXBldGVuY3kgYXJlYSBmcm9tIGZhY2V0c1xuICBhc3luYyBnZXRDb21wZXRlbmN5QXJlYSgpe2xldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgIGFkZGZpbHRlciA9IHtcbiAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICBdLFxuICAgIH1cbiAgfVxuICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgICAuLi5hZGRmaWx0ZXIsXG4gICAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9ICAwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICAgIHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cy5mb3JFYWNoKChmYWN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmKGZhY3QubmFtZSA9PT0gJ2NvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYScpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYSA9IGZhY3QudmFsdWVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlICA9IHRoaXMuY29tcGV0ZW5jeUFyZWFbMF0ubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYS5mb3JFYWNoKGFzeW5jIChhcmVhOiBhbnksIGluZGV4VmFsdWU6IGFueSk9PiB7XG4gICAgICAgICAgICBsZXQgYWRkRmlsdGVyID0ge1xuICAgICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhLCBhZGRGaWx0ZXIpXG4gICAgICAgICAgICBhcmVhWyd0aGVtZURhdGEnXSA9IGRhdGFcbiAgICAgICAgICAgIGFyZWFbJ2NvdW50J10gPSBkYXRhLmxlbmd0aFxuXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoICsgZGF0YS5sZW5ndGhcbiAgICAgICAgICAgIGlmKGluZGV4VmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGUpXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZS5uYW1lXG4gIH1cbiAgZ2V0QWxsQ29tcGV0ZW5jaWVzKCl7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1wic2VhcmNoXCI6e1widHlwZVwiOlwiQ29tcGV0ZW5jeSBBcmVhXCJ9LFwiZmlsdGVyXCI6e1wiaXNEZXRhaWxcIjp0cnVlfX1cbiAgICB0aGlzLmNvbXBldGVuY3lTdmMuZ2V0Q29tcGV0ZW5jeUxpc3QocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSA9IHt9XG4gICAgICBpZihyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHQgJiYgcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3kpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheSA9IHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5XG5cbiAgICAgICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQubmFtZS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2V0Vmlld01vcmUoKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG5cbiAgZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWFEYXRhOiBhbnkpe1xuICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gYXJlYURhdGEudGhlbWVEYXRhXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGFyZWFEYXRhLm5hbWUpIHtcbiAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICAgICAgICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICAgICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRjb21wZXRlbmN5U3ViVGhlbWUoYXJlYURhdGEsYWRkZmlsdGVyKVxuICB9XG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVRoZW1lQ291bnQoYXJlYTogYW55LGFkZEZpbHRlcj86IGFueSkge1xuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgIC4uLmFkZEZpbHRlcixcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIiA6IGFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgbGV0IHJldHVybmVkRGF0YSA6IGFueSA9IFxuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYXJlYS5uYW1lKSB7XG4gICAgICAgICAgIHJldHVybmVkRGF0YSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgICAgcmV0dXJuIHJldHVybmVkRGF0YVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICB9XG4gIH1cblxuICByZXNldFZpZXdNb3JlKCl7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGxjb21wZXRlbmN5VGhlbWUpLmZvckVhY2goKGNvbXA6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbY29tcF1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxuICAgIH0pXG4gIH1cbiAgdmlld01vcmVDaGlsZHJlbihkYXRhOiBhbnkpIHtcbiAgICBkYXRhLnZpZXdNb3JlID0gIWRhdGEudmlld01vcmVcbiAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtkYXRhLm5hbWUudG9Mb3dlckNhc2UoKV0udmlld01vcmUgPSBkYXRhLnZpZXdNb3JlXG4gIH1cbiAgZGlzcGxheUFsbFRoZW1lKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnc2hvd0FsbCddID0gIWV2ZW50LnNob3dBbGwgXG4gICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSBldmVudC5zaG93QWxsID8gIHRoaXMuY29tcGV0ZW5jeVRoZW1lLmxlbmd0aCA6IDZcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnbmFtZSddID0gZXZlbnQuc2hvd0FsbCA/ICdTaG93IGxlc3MnIDogJ1Nob3cgYWxsJ1xuICAgIHRoaXMudGVtZWxldHJ5UmVzcG9uc2UuZW1pdChldmVudC5uYW1lKVxuICB9XG5cbiAgbmF2aWdhdGVUb0NvbXBldGVuY3koY29tcERhdGE6IGFueSl7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2FwcC9sZWFybi9icm93c2UtYnkvY29tcGV0ZW5jeS8ke2NvbXBEYXRhLm5hbWV9YClcbiAgfVxuXG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVN1YlRoZW1lKGNvbXBBcmVhOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogY29tcEFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lTdWJUaGVtZUlkXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEuZm9yRWFjaCgoYXJlYUVsZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYoYXJlYUVsZS5uYW1lID09PSBjb21wQXJlYS5uYW1lKSB7XG4gICAgICAgICAgICBhcmVhRWxlLnRoZW1lRGF0YS5mb3JFYWNoKCh0aGVtZUVsZSkgPT4ge1xuICAgICAgICAgICAgICBpZih0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldICYmXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4gJiYgXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldLmNoaWxkcmVuLmZpbHRlcihvYmoxID0+IFxuICAgICAgICAgICAgICAgICAgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YS5zb21lKG9iajIgPT4gXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9iajEpLmV2ZXJ5KGtleSA9PiBvYmoxWydpZCddID09PSBOdW1iZXIob2JqMlsnbmFtZSddKSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV1bJ2NoaWxkcmVuJ10gPSBkYXRhXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxufVxuIl19
|
|
@@ -13842,6 +13842,7 @@ class CompetencyPassbookComponent {
|
|
|
13842
13842
|
}
|
|
13843
13843
|
};
|
|
13844
13844
|
try {
|
|
13845
|
+
this.competencyStrength = 0;
|
|
13845
13846
|
/** @type {?} */
|
|
13846
13847
|
const response = yield this.callCompetencySearch(request);
|
|
13847
13848
|
if (response && response.results) {
|
|
@@ -13872,15 +13873,9 @@ class CompetencyPassbookComponent {
|
|
|
13872
13873
|
let data = yield this.getcompetencyThemeCount(area, addFilter);
|
|
13873
13874
|
area['themeData'] = data;
|
|
13874
13875
|
area['count'] = data.length;
|
|
13876
|
+
this.competencyStrength = this.competencyStrength + data.length;
|
|
13875
13877
|
if (indexValue === 0) {
|
|
13876
|
-
this.competencyStrength = 0;
|
|
13877
13878
|
this.getThemeDataByArea(area);
|
|
13878
|
-
this.competencyStrength = this.competencyArea.reduce((/**
|
|
13879
|
-
* @param {?} partialSum
|
|
13880
|
-
* @param {?} data
|
|
13881
|
-
* @return {?}
|
|
13882
|
-
*/
|
|
13883
|
-
(partialSum, data) => partialSum + data.count), 0);
|
|
13884
13879
|
}
|
|
13885
13880
|
})));
|
|
13886
13881
|
this.loadCompetencyArea = false;
|