@sunbird-cb/consumption 0.0.1 → 0.0.3
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 +416 -96
- 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 +2 -2
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +165 -3
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +1 -1
- package/esm2015/lib/_common/data-points/data-points.component.js +62 -5
- package/esm2015/lib/_common/data-points/data-points.module.js +6 -2
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +1 -2
- package/esm2015/lib/_services/insite-data.service.js +45 -0
- package/esm2015/lib/_services/widget-content.service.js +12 -1
- package/esm2015/sunbird-cb-consumption.js +21 -20
- package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +2 -2
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +205 -3
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +1 -1
- package/esm5/lib/_common/data-points/data-points.component.js +63 -5
- package/esm5/lib/_common/data-points/data-points.module.js +6 -2
- package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +1 -2
- package/esm5/lib/_services/insite-data.service.js +48 -0
- package/esm5/lib/_services/widget-content.service.js +17 -1
- package/esm5/sunbird-cb-consumption.js +21 -20
- package/fesm2015/sunbird-cb-consumption.js +343 -72
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +398 -79
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +7 -1
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +3 -0
- package/lib/_common/data-points/data-points.component.d.ts +7 -1
- package/lib/_services/insite-data.service.d.ts +7 -0
- package/lib/_services/widget-content.service.d.ts +1 -0
- package/package.json +3 -2
- package/sunbird-cb-consumption.d.ts +20 -19
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -267,7 +267,7 @@ export class CompetencyPassbookComponent {
|
|
|
267
267
|
CompetencyPassbookComponent.decorators = [
|
|
268
268
|
{ type: Component, args: [{
|
|
269
269
|
selector: 'sb-uic-competency-passbook',
|
|
270
|
-
template: " <div class=\"competency-title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" \n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-3 w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center\">\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.name}}</div>\n <div class=\"flex items-baseline\">\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\n </div
|
|
270
|
+
template: " <div class=\"competency-title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" \n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-3 w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center\">\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.name}}</div>\n <!-- <div class=\"flex items-baseline\">\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\n </div> -->\n </div>\n </div>\n <div class=\"flex flex-row pt-3 pb-3 description\">\n {{ allcompetencyTheme[obj.name]?.description }} \n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\">school</mat-icon>\n <div class=\"no-of-contents\">{{obj.count}} Contents</div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <ng-container *ngFor=\"let child of allcompetencyTheme[obj.name]?.children| slice:0: allcompetencyTheme[obj.name]?.viewMore ? allcompetencyTheme[obj.name]?.children?.length : 3; let i = index\">\n <div class=\"chip rounded-full p-2 text-xs chip-ellipsis\" [title]=\"child?.name\" >\n {{ child.name }}\n </div>\n </ng-container>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && !allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View more\n </div>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View less\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n<ng-container *ngIf=\"competencyTheme.length > 6 && !loadCometency\">\n <div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"showAllTheme\" (pillClick)=\"displayAllTheme($event)\"></sb-uic-pills>\n </div>\n</ng-container> \n\n<ng-container *ngIf=\"loadCometency\">\n\n<div class=\"grid grid-cols-1 md:grid-cols-3 w-full grid-flow-row gap-5\">\n <div *ngFor=\"let obj of [0,1,2,3,4,5]\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center w-full\">\n <div class=\"name w-full\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"pt-3 pb-3 description\">\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'24px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></mat-icon>\n <div class=\"no-of-contents\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n</ng-container>",
|
|
271
271
|
styles: [".competencies-backgroud{background-color:#1b2133}.competency-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;color:#fff}.competency-count{color:#f3962f}.filter-button{padding:12px 16px;border-radius:50px;border:1px solid #fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;background-color:transparent;color:#fff;cursor:pointer}.filter-button.active{background:#1b4ca1}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-background{background:#1b4ca1}.competency-theme{height:16px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#f8b861}.details{background-color:#fff;border-radius:12px;position:relative;top:-8px;min-height:278px}.name{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;height:42px;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-of-contents{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#1b4ca1}.content-icon{color:#1b4ca1}.line{border-top:1px solid #e2dddd}.chip{padding:8px 16px;gap:8px;border-radius:50px;border:1px solid #1b4ca1;color:#1b4ca1;font-family:Lato;font-size:14px;font-weight:700;text-align:center}.chip-ellipsis{white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.info-btn{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;opacity:.7;padding:12px 5px}.hide{display:none}.behavioral{background-color:#f8b861}.functional{background-color:#e24577}.domain{background-color:#7b47a4}"]
|
|
272
272
|
}] }
|
|
273
273
|
];
|
|
@@ -321,4 +321,4 @@ if (false) {
|
|
|
321
321
|
/** @type {?} */
|
|
322
322
|
CompetencyPassbookComponent.prototype.router;
|
|
323
323
|
}
|
|
324
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPekMsTUFBTSxPQUFPLDJCQUEyQjs7Ozs7Ozs7Ozs7SUFzQnRDLFlBQW1CLFNBQWdDLEVBQzFDLFVBQStCLEVBQy9CLGFBQXdDLEVBQ3hDLE1BQWU7UUFITCxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUMxQyxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQXJCZCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDakQsa0JBQWEsR0FBWSxLQUFLLENBQUE7UUFDOUIsdUJBQWtCLEdBQVksS0FBSyxDQUFBO1FBS25DLHNCQUFpQixHQUFVLEVBQUUsQ0FBQTtRQUM3QixvQkFBZSxHQUFRLEVBQUUsQ0FBQTtRQUN6Qix1QkFBa0IsR0FBTyxFQUFFLENBQUE7UUFDM0IsdUJBQWtCLEdBQVEsQ0FBQyxDQUFBO1FBQzNCLDBCQUFxQixHQUFRLENBQUMsQ0FBQTtRQUM5QixpQkFBWSxHQUFTLENB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eUJBU1osS0FBSzt5QkFDTCxLQUFLOzRCQUNMLE1BQU07Ozs7SUFGUCxpREFBd0I7O0lBQ3hCLGlEQUF3Qjs7SUFDeEIsb0RBQWlEOztJQUNqRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFFbkMsNENBQVU7O0lBQ1YscURBQXNCOztJQUN0QixvREFBbUI7O0lBQ25CLHdEQUE2Qjs7SUFDN0Isc0RBQXlCOztJQUN6Qix5REFBMkI7O0lBQzNCLHlEQUEyQjs7SUFDM0IsNERBQThCOztJQUM5QixtREFBd0Q7O0lBTTVDLGdEQUF1Qzs7SUFDakQsaURBQXNDOztJQUN0QyxvREFBK0M7O0lBQy9DLDZDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wZXRlbmN5UGFzc2Jvb2tTZXJ2aWNlIH0gZnJvbSAnLi9jb21wZXRlbmN5LXBhc3Nib29rLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItdWljLWNvbXBldGVuY3ktcGFzc2Jvb2snLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wZXRlbmN5UGFzc2Jvb2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG9iamVjdERhdGE6IGFueVxuICBASW5wdXQoKSBwcm92aWRlcklkOiBhbnlcbiAgQE91dHB1dCgpIGVtcHR5UmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBsb2FkQ29tZXRlbmN5OiBib29sZWFuID0gZmFsc2VcbiAgbG9hZENvbXBldGVuY3lBcmVhOiBib29sZWFuID0gZmFsc2VcblxuICBvcmdJZDogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICBpZih0aGlzLmNvbmZpZ1N2YyAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5yb290T3JnSWQpIHtcbiAgICAgIHRoaXMub3JnSWQgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5yb290T3JnSWRcbiAgICB9XG4gICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgdGhpcy5nZXRBbGxDb21wZXRlbmNpZXMoKVxuICAgIC8vIHRoaXMuY29tcGV0ZW5jeURhdGEgPSB0aGlzLm9iamVjdERhdGFcbiAgICAvLyB0aGlzLmZpbHRlcih0aGlzLmN1cnJlbnRGaWx0ZXIpXG4gIH1cbiAgLy8gZmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgLy8gICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBmaWx0ZXJWYWx1ZVxuICAvLyAgIHRoaXMuY3VycmVudENvbXBldGVuY2llcyA9IHRoaXMuY29tcGV0ZW5jeURhdGEuZGF0YS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS50eXBlID09PSBmaWx0ZXJWYWx1ZSlcbiAgLy8gfVxuICBzaG93TW9yZSgpIHtcbiAgICB0aGlzLm9iamVjdERhdGEudmlld01vcmUgPSAhdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlXG4gIH1cblxuICAvLyB0byBnZXQgY29tcGV0ZW5jeSBhcmVhIGZyb20gZmFjZXRzXG4gIGFzeW5jIGdldENvbXBldGVuY3lBcmVhKCl7bGV0IGFkZGZpbHRlcjogYW55ID0ge31cbiAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgYWRkZmlsdGVyID0ge1xuICAgICAgXCJjaGFubmVsXCI6IFtcbiAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgIF0sXG4gICAgfVxuICB9XG4gICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSB0cnVlXG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAgIC4uLmFkZGZpbHRlcixcbiAgICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIFwiTGl2ZVwiXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwic29ydF9ieVwiOiB7XG4gICAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJmYWNldHNcIjogW1xuICAgICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXNcbiAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeUFyZWEucmVkdWNlKChwYXJ0aWFsU3VtOiBhbnksIGRhdGE6IGFueSkgPT4gcGFydGlhbFN1bSArICBkYXRhLmNvdW50LCAwKSBcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgID0gdGhpcy5jb21wZXRlbmN5QXJlYVswXS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lUaGVtZSh0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUpXG4gICAgICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gZmFsc2VcbiAgICAgIHRoaXMuZW1wdHlSZXNwb25zZS5lbWl0KHRydWUpXG4gICAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCl7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHJlcXVlc3QgJiYgcmVxdWVzdCkge1xuICAgICAgICB0aGlzLmNvbnRlbnRTdmMuc2VhcmNoVjYocmVxdWVzdCkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdHMgfSk7XG4gICAgICAgICAgfSwoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gY29tcGV0ZW5jeSB0aGVhbSBjaGFuZ2VcbiAgY29tcGV0ZW5jeUNoYW5nZShlKXtcbiAgICBsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICAgIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgICAgYWRkZmlsdGVyID0ge1xuICAgICAgICBcImNoYW5uZWxcIjogW1xuICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgIF0sXG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHRoaXMuZ2V0Y29tcGV0ZW5jeVRoZW1lKGUubmFtZSwgYWRkZmlsdGVyKVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGUubmFtZVxuICB9XG4gIGdldEFsbENvbXBldGVuY2llcygpe1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcInNlYXJjaFwiOntcInR5cGVcIjpcIkNvbXBldGVuY3kgQXJlYVwifSxcImZpbHRlclwiOntcImlzRGV0YWlsXCI6dHJ1ZX19XG4gICAgdGhpcy5jb21wZXRlbmN5U3ZjLmdldENvbXBldGVuY3lMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWUgPSB7fVxuICAgICAgaWYocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0ICYmIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5KSB7XG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG4gIHZpZXdNb3JlQ2hpbGRyZW4oZGF0YTogYW55KSB7XG4gICAgZGF0YS52aWV3TW9yZSA9ICFkYXRhLnZpZXdNb3JlXG4gIH1cbiAgZGlzcGxheUFsbFRoZW1lKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnc2hvd0FsbCddID0gIWV2ZW50LnNob3dBbGwgXG4gICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSBldmVudC5zaG93QWxsID8gIHRoaXMuY29tcGV0ZW5jeVRoZW1lLmxlbmd0aCA6IDZcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnbmFtZSddID0gZXZlbnQuc2hvd0FsbCA/ICdTaG93IGxlc3MnIDogJ1Nob3cgYWxsJ1xuICB9XG5cbiAgbmF2aWdhdGVUb0NvbXBldGVuY3koY29tcERhdGE6IGFueSl7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgYXBwL2xlYXJuL2Jyb3dzZS1ieS9jb21wZXRlbmN5LyR7Y29tcERhdGEubmFtZX1gKVxuICB9XG59XG4iXX0=
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPekMsTUFBTSxPQUFPLDJCQUEyQjs7Ozs7Ozs7Ozs7SUFzQnRDLFlBQW1CLFNBQWdDLEVBQzFDLFVBQStCLEVBQy9CLGFBQXdDLEVBQ3hDLE1BQWU7UUFITCxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUMxQyxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQXJCZCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDakQsa0JBQWEsR0FBWSxLQUFLLENBQUE7UUFDOUIsdUJBQWtCLEdBQVksS0FBSyxDQUFBO1FBS25DLHNCQUFpQixHQUFVLEVBQUUsQ0FBQTtRQUM3QixvQkFBZSxHQUFRLEVBQUUsQ0FBQTtRQUN6Qix1QkFBa0IsR0FBTyxFQUFFLENBQUE7UUFDM0IsdUJBQWtCLEdBQVEsQ0FBQyxDQUFBO1FBQzNCLDBCQUFxQixHQUFRLENBQUMsQ0FBQTtRQUM5QixpQkFBWSxHQUFTLENB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eUJBU1osS0FBSzt5QkFDTCxLQUFLOzRCQUNMLE1BQU07Ozs7SUFGUCxpREFBd0I7O0lBQ3hCLGlEQUF3Qjs7SUFDeEIsb0RBQWlEOztJQUNqRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFFbkMsNENBQVU7O0lBQ1YscURBQXNCOztJQUN0QixvREFBbUI7O0lBQ25CLHdEQUE2Qjs7SUFDN0Isc0RBQXlCOztJQUN6Qix5REFBMkI7O0lBQzNCLHlEQUEyQjs7SUFDM0IsNERBQThCOztJQUM5QixtREFBd0Q7O0lBTTVDLGdEQUF1Qzs7SUFDakQsaURBQXNDOztJQUN0QyxvREFBK0M7O0lBQy9DLDZDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wZXRlbmN5UGFzc2Jvb2tTZXJ2aWNlIH0gZnJvbSAnLi9jb21wZXRlbmN5LXBhc3Nib29rLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItdWljLWNvbXBldGVuY3ktcGFzc2Jvb2snLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wZXRlbmN5UGFzc2Jvb2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG9iamVjdERhdGE6IGFueVxuICBASW5wdXQoKSBwcm92aWRlcklkOiBhbnlcbiAgQE91dHB1dCgpIGVtcHR5UmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBsb2FkQ29tZXRlbmN5OiBib29sZWFuID0gZmFsc2VcbiAgbG9hZENvbXBldGVuY3lBcmVhOiBib29sZWFuID0gZmFsc2VcblxuICBvcmdJZDogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICBpZih0aGlzLmNvbmZpZ1N2YyAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5yb290T3JnSWQpIHtcbiAgICAgIHRoaXMub3JnSWQgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5yb290T3JnSWRcbiAgICB9XG4gICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgdGhpcy5nZXRBbGxDb21wZXRlbmNpZXMoKVxuICAgIC8vIHRoaXMuY29tcGV0ZW5jeURhdGEgPSB0aGlzLm9iamVjdERhdGFcbiAgICAvLyB0aGlzLmZpbHRlcih0aGlzLmN1cnJlbnRGaWx0ZXIpXG4gIH1cbiAgLy8gZmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgLy8gICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBmaWx0ZXJWYWx1ZVxuICAvLyAgIHRoaXMuY3VycmVudENvbXBldGVuY2llcyA9IHRoaXMuY29tcGV0ZW5jeURhdGEuZGF0YS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS50eXBlID09PSBmaWx0ZXJWYWx1ZSlcbiAgLy8gfVxuICBzaG93TW9yZSgpIHtcbiAgICB0aGlzLm9iamVjdERhdGEudmlld01vcmUgPSAhdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlXG4gIH1cblxuICAvLyB0byBnZXQgY29tcGV0ZW5jeSBhcmVhIGZyb20gZmFjZXRzXG4gIGFzeW5jIGdldENvbXBldGVuY3lBcmVhKCl7bGV0IGFkZGZpbHRlcjogYW55ID0ge31cbiAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgYWRkZmlsdGVyID0ge1xuICAgICAgXCJjaGFubmVsXCI6IFtcbiAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgIF0sXG4gICAgfVxuICB9XG4gICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSB0cnVlXG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAgIC4uLmFkZGZpbHRlcixcbiAgICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIFwiTGl2ZVwiXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwic29ydF9ieVwiOiB7XG4gICAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJmYWNldHNcIjogW1xuICAgICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXNcbiAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeUFyZWEucmVkdWNlKChwYXJ0aWFsU3VtOiBhbnksIGRhdGE6IGFueSkgPT4gcGFydGlhbFN1bSArICBkYXRhLmNvdW50LCAwKSBcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgID0gdGhpcy5jb21wZXRlbmN5QXJlYVswXS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lUaGVtZSh0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUpXG4gICAgICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gZmFsc2VcbiAgICAgIHRoaXMuZW1wdHlSZXNwb25zZS5lbWl0KHRydWUpXG4gICAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCl7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHJlcXVlc3QgJiYgcmVxdWVzdCkge1xuICAgICAgICB0aGlzLmNvbnRlbnRTdmMuc2VhcmNoVjYocmVxdWVzdCkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdHMgfSk7XG4gICAgICAgICAgfSwoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gY29tcGV0ZW5jeSB0aGVhbSBjaGFuZ2VcbiAgY29tcGV0ZW5jeUNoYW5nZShlKXtcbiAgICBsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICAgIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgICAgYWRkZmlsdGVyID0ge1xuICAgICAgICBcImNoYW5uZWxcIjogW1xuICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgIF0sXG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHRoaXMuZ2V0Y29tcGV0ZW5jeVRoZW1lKGUubmFtZSwgYWRkZmlsdGVyKVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGUubmFtZVxuICB9XG4gIGdldEFsbENvbXBldGVuY2llcygpe1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcInNlYXJjaFwiOntcInR5cGVcIjpcIkNvbXBldGVuY3kgQXJlYVwifSxcImZpbHRlclwiOntcImlzRGV0YWlsXCI6dHJ1ZX19XG4gICAgdGhpcy5jb21wZXRlbmN5U3ZjLmdldENvbXBldGVuY3lMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWUgPSB7fVxuICAgICAgaWYocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0ICYmIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5KSB7XG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG4gIHZpZXdNb3JlQ2hpbGRyZW4oZGF0YTogYW55KSB7XG4gICAgZGF0YS52aWV3TW9yZSA9ICFkYXRhLnZpZXdNb3JlXG4gIH1cbiAgZGlzcGxheUFsbFRoZW1lKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnc2hvd0FsbCddID0gIWV2ZW50LnNob3dBbGwgXG4gICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSBldmVudC5zaG93QWxsID8gIHRoaXMuY29tcGV0ZW5jeVRoZW1lLmxlbmd0aCA6IDZcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnbmFtZSddID0gZXZlbnQuc2hvd0FsbCA/ICdTaG93IGxlc3MnIDogJ1Nob3cgYWxsJ1xuICB9XG5cbiAgbmF2aWdhdGVUb0NvbXBldGVuY3koY29tcERhdGE6IGFueSl7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgYXBwL2xlYXJuL2Jyb3dzZS1ieS9jb21wZXRlbmN5LyR7Y29tcERhdGEubmFtZX1gKVxuICB9XG59XG4iXX0=
|