@sunbird-cb/consumption 0.0.80 → 0.0.82
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 +89 -53
- 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 +26 -20
- package/esm2015/lib/_common/competency-passbook/competency-passbook.service.js +8 -1
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +20 -11
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +8 -1
- package/esm2015/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +3 -3
- package/esm2015/lib/_models/compentencies.model.js +25 -0
- package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +52 -44
- package/esm5/lib/_common/competency-passbook/competency-passbook.service.js +11 -1
- package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +19 -11
- package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +11 -1
- package/esm5/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +3 -3
- package/esm5/lib/_models/compentencies.model.js +25 -0
- package/fesm2015/sunbird-cb-consumption.js +58 -29
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +89 -53
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts +4 -1
- package/lib/_common/competency-passbook/competency-passbook.service.d.ts +1 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts +4 -1
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts +1 -0
- package/lib/_models/compentencies.model.d.ts +9 -0
- package/package.json +2 -2
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
6
|
+
import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
|
|
7
7
|
import { ConfigurationsService } from '@sunbird-cb/utils-v2';
|
|
8
8
|
import { WidgetContentService } from '../../_services/widget-content.service';
|
|
9
9
|
import { CompetencyPassbookService } from './competency-passbook.service';
|
|
@@ -13,7 +13,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
13
13
|
// currentFilter = 'Behavioural'
|
|
14
14
|
// currentCompetencies: any = []
|
|
15
15
|
// competencyData: any
|
|
16
|
-
function CompetencyPassbookComponent(configSvc, contentSvc, competencySvc, router) {
|
|
16
|
+
function CompetencyPassbookComponent(configSvc, contentSvc, competencySvc, router, environment) {
|
|
17
17
|
this.configSvc = configSvc;
|
|
18
18
|
this.contentSvc = contentSvc;
|
|
19
19
|
this.competencySvc = competencySvc;
|
|
@@ -30,6 +30,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
30
30
|
this.competencyStrength = 0;
|
|
31
31
|
this.competencyThemeLength = 6;
|
|
32
32
|
this.showAllTheme = [{ name: 'Show all', showAll: false }];
|
|
33
|
+
this.environment = environment;
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
36
|
* @return {?}
|
|
@@ -38,6 +39,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
38
39
|
* @return {?}
|
|
39
40
|
*/
|
|
40
41
|
function () {
|
|
42
|
+
this.comeptencyKeys = this.configSvc.compentency[this.environment.compentencyVersionKey];
|
|
41
43
|
this.getAllCompetencies();
|
|
42
44
|
// this.competencyData = this.objectData
|
|
43
45
|
// this.filter(this.currentFilter)
|
|
@@ -100,7 +102,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
100
102
|
"lastUpdatedOn": "desc"
|
|
101
103
|
},
|
|
102
104
|
"facets": [
|
|
103
|
-
"
|
|
105
|
+
this.environment.compentencyVersionKey + "." + this.comeptencyKeys.vCompetencyArea
|
|
104
106
|
],
|
|
105
107
|
"limit": 0,
|
|
106
108
|
"offset": 0,
|
|
@@ -121,7 +123,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
121
123
|
* @return {?}
|
|
122
124
|
*/
|
|
123
125
|
function (fact) {
|
|
124
|
-
if (fact.name ===
|
|
126
|
+
if (fact.name === _this.environment.compentencyVersionKey + "." + _this.comeptencyKeys.vCompetencyArea) {
|
|
125
127
|
_this.competencyArea = fact.values;
|
|
126
128
|
}
|
|
127
129
|
}));
|
|
@@ -240,18 +242,16 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
240
242
|
function () {
|
|
241
243
|
var _this = this;
|
|
242
244
|
this.loadCometency = true;
|
|
243
|
-
/**
|
|
244
|
-
var request = { "search": { "type": "Competency Area" }, "filter": { "isDetail": true } };
|
|
245
|
-
this.competencySvc.getCompetencyList(request).subscribe((/**
|
|
245
|
+
this.competencySvc.getCompetencyListv_V2().subscribe((/**
|
|
246
246
|
* @param {?} response
|
|
247
247
|
* @return {?}
|
|
248
248
|
*/
|
|
249
249
|
function (response) {
|
|
250
250
|
_this.allcompetencyTheme = {};
|
|
251
|
-
if (response && response.result && response.result.
|
|
252
|
-
_this.originalCompetencyArray = response.result.
|
|
251
|
+
if (response && response.result && response.result.content) {
|
|
252
|
+
_this.originalCompetencyArray = response.result.content;
|
|
253
253
|
_this.getCompetencyArea();
|
|
254
|
-
response.result.
|
|
254
|
+
response.result.content.forEach((/**
|
|
255
255
|
* @param {?} element
|
|
256
256
|
* @return {?}
|
|
257
257
|
*/
|
|
@@ -284,34 +284,35 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
284
284
|
function (value, addFilter) {
|
|
285
285
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
286
286
|
var request, response, competencyThemeData_1, error_2;
|
|
287
|
+
var _a;
|
|
287
288
|
var _this = this;
|
|
288
|
-
return tslib_1.__generator(this, function (
|
|
289
|
-
switch (
|
|
289
|
+
return tslib_1.__generator(this, function (_b) {
|
|
290
|
+
switch (_b.label) {
|
|
290
291
|
case 0:
|
|
291
292
|
request = {
|
|
292
293
|
"request": {
|
|
293
294
|
"query": "",
|
|
294
|
-
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, { "
|
|
295
|
-
|
|
296
|
-
|
|
295
|
+
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, (_a = {}, _a[this.environment.compentencyVersionKey + "." + this.comeptencyKeys.vCompetencyArea] = value, _a["status"] = [
|
|
296
|
+
"Live"
|
|
297
|
+
], _a)),
|
|
297
298
|
"sort_by": {
|
|
298
299
|
"lastUpdatedOn": "desc"
|
|
299
300
|
},
|
|
300
301
|
"facets": [
|
|
301
|
-
"
|
|
302
|
+
this.environment.compentencyVersionKey + "." + this.comeptencyKeys.vCompetencyTheme
|
|
302
303
|
],
|
|
303
304
|
"limit": 0,
|
|
304
305
|
"offset": 0,
|
|
305
306
|
"fields": []
|
|
306
307
|
}
|
|
307
308
|
};
|
|
308
|
-
|
|
309
|
+
_b.label = 1;
|
|
309
310
|
case 1:
|
|
310
|
-
|
|
311
|
+
_b.trys.push([1, 3, , 4]);
|
|
311
312
|
this.loadCometency = true;
|
|
312
313
|
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
313
314
|
case 2:
|
|
314
|
-
response =
|
|
315
|
+
response = _b.sent();
|
|
315
316
|
if (response && response.results) {
|
|
316
317
|
if (response.results.result.facets) {
|
|
317
318
|
competencyThemeData_1 = response.results.result.facets[0].values;
|
|
@@ -342,7 +343,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
342
343
|
}
|
|
343
344
|
return [3 /*break*/, 4];
|
|
344
345
|
case 3:
|
|
345
|
-
error_2 =
|
|
346
|
+
error_2 = _b.sent();
|
|
346
347
|
return [3 /*break*/, 4];
|
|
347
348
|
case 4: return [2 /*return*/];
|
|
348
349
|
}
|
|
@@ -406,34 +407,35 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
406
407
|
function (area, addFilter) {
|
|
407
408
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
408
409
|
var request, returnedData_1, response, competencyThemeData_2, error_3;
|
|
410
|
+
var _a;
|
|
409
411
|
var _this = this;
|
|
410
|
-
return tslib_1.__generator(this, function (
|
|
411
|
-
switch (
|
|
412
|
+
return tslib_1.__generator(this, function (_b) {
|
|
413
|
+
switch (_b.label) {
|
|
412
414
|
case 0:
|
|
413
415
|
request = {
|
|
414
416
|
"request": {
|
|
415
417
|
"query": "",
|
|
416
|
-
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, { "
|
|
417
|
-
|
|
418
|
-
|
|
418
|
+
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, (_a = {}, _a[this.environment.compentencyVersionKey + "." + this.comeptencyKeys.vCompetencyArea] = area.name, _a["status"] = [
|
|
419
|
+
"Live"
|
|
420
|
+
], _a)),
|
|
419
421
|
"sort_by": {
|
|
420
422
|
"lastUpdatedOn": "desc"
|
|
421
423
|
},
|
|
422
424
|
"facets": [
|
|
423
|
-
"
|
|
425
|
+
this.environment.compentencyVersionKey + "." + this.comeptencyKeys.vCompetencyTheme
|
|
424
426
|
],
|
|
425
427
|
"limit": 0,
|
|
426
428
|
"offset": 0,
|
|
427
429
|
"fields": []
|
|
428
430
|
}
|
|
429
431
|
};
|
|
430
|
-
|
|
432
|
+
_b.label = 1;
|
|
431
433
|
case 1:
|
|
432
|
-
|
|
434
|
+
_b.trys.push([1, 3, , 4]);
|
|
433
435
|
returnedData_1 = this.loadCometency = true;
|
|
434
436
|
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
435
437
|
case 2:
|
|
436
|
-
response =
|
|
438
|
+
response = _b.sent();
|
|
437
439
|
if (response && response.results) {
|
|
438
440
|
if (response.results.result.facets) {
|
|
439
441
|
competencyThemeData_2 = response.results.result.facets[0].values;
|
|
@@ -464,7 +466,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
464
466
|
}
|
|
465
467
|
return [3 /*break*/, 4];
|
|
466
468
|
case 3:
|
|
467
|
-
error_3 =
|
|
469
|
+
error_3 = _b.sent();
|
|
468
470
|
return [3 /*break*/, 4];
|
|
469
471
|
case 4: return [2 /*return*/];
|
|
470
472
|
}
|
|
@@ -537,34 +539,35 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
537
539
|
function (compArea, addFilter) {
|
|
538
540
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
539
541
|
var request, response, competencySubThemeData_1, error_4;
|
|
542
|
+
var _a;
|
|
540
543
|
var _this = this;
|
|
541
|
-
return tslib_1.__generator(this, function (
|
|
542
|
-
switch (
|
|
544
|
+
return tslib_1.__generator(this, function (_b) {
|
|
545
|
+
switch (_b.label) {
|
|
543
546
|
case 0:
|
|
544
547
|
request = {
|
|
545
548
|
"request": {
|
|
546
549
|
"query": "",
|
|
547
|
-
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, { "
|
|
548
|
-
|
|
549
|
-
|
|
550
|
+
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, (_a = {}, _a[this.environment.compentencyVersionKey + "." + this.comeptencyKeys.vCompetencyArea] = compArea.name, _a["status"] = [
|
|
551
|
+
"Live"
|
|
552
|
+
], _a)),
|
|
550
553
|
"sort_by": {
|
|
551
554
|
"lastUpdatedOn": "desc"
|
|
552
555
|
},
|
|
553
556
|
"facets": [
|
|
554
|
-
"
|
|
557
|
+
this.environment.compentencyVersionKey + "." + this.comeptencyKeys.vCompetencySubTheme
|
|
555
558
|
],
|
|
556
559
|
"limit": 0,
|
|
557
560
|
"offset": 0,
|
|
558
561
|
"fields": []
|
|
559
562
|
}
|
|
560
563
|
};
|
|
561
|
-
|
|
564
|
+
_b.label = 1;
|
|
562
565
|
case 1:
|
|
563
|
-
|
|
566
|
+
_b.trys.push([1, 3, , 4]);
|
|
564
567
|
this.loadCometency = true;
|
|
565
568
|
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
566
569
|
case 2:
|
|
567
|
-
response =
|
|
570
|
+
response = _b.sent();
|
|
568
571
|
if (response && response.results) {
|
|
569
572
|
if (response.results.result.facets) {
|
|
570
573
|
competencySubThemeData_1 = response.results.result.facets[0].values;
|
|
@@ -597,7 +600,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
597
600
|
* @param {?} key
|
|
598
601
|
* @return {?}
|
|
599
602
|
*/
|
|
600
|
-
function (key) { return obj1['
|
|
603
|
+
function (key) { return obj1['name'] === (obj2['name']); }));
|
|
601
604
|
}));
|
|
602
605
|
}));
|
|
603
606
|
_this.allcompetencyTheme[themeEle.name.toLowerCase()]['children'] = data;
|
|
@@ -610,7 +613,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
610
613
|
}
|
|
611
614
|
return [3 /*break*/, 4];
|
|
612
615
|
case 3:
|
|
613
|
-
error_4 =
|
|
616
|
+
error_4 = _b.sent();
|
|
614
617
|
return [3 /*break*/, 4];
|
|
615
618
|
case 4: return [2 /*return*/];
|
|
616
619
|
}
|
|
@@ -620,7 +623,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
620
623
|
CompetencyPassbookComponent.decorators = [
|
|
621
624
|
{ type: Component, args: [{
|
|
622
625
|
selector: 'sb-uic-competency-passbook',
|
|
623
|
-
template: " <div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div class=\"competency-card\" *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]?.
|
|
626
|
+
template: " <div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div class=\"competency-card\" *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]?.displayName}}</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\" *ngIf=\"obj.count === 1\">{{obj.count}} Content</div>\n <div class=\"no-of-contents\" *ngIf=\"obj.count !== 1\">{{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?.displayName\" >\n {{ child?.displayName }}\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\" [requiredTitlecase]=\"false\" [dynamicColor]=\"dynamicColor\" (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-{{cardDisplayCount}} 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>",
|
|
624
627
|
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}.competency-card{z-index:999}"]
|
|
625
628
|
}] }
|
|
626
629
|
];
|
|
@@ -629,7 +632,8 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
629
632
|
{ type: ConfigurationsService },
|
|
630
633
|
{ type: WidgetContentService },
|
|
631
634
|
{ type: CompetencyPassbookService },
|
|
632
|
-
{ type: Router }
|
|
635
|
+
{ type: Router },
|
|
636
|
+
{ type: undefined, decorators: [{ type: Inject, args: ['environment',] }] }
|
|
633
637
|
]; };
|
|
634
638
|
CompetencyPassbookComponent.propDecorators = {
|
|
635
639
|
objectData: [{ type: Input }],
|
|
@@ -684,6 +688,10 @@ if (false) {
|
|
|
684
688
|
/** @type {?} */
|
|
685
689
|
CompetencyPassbookComponent.prototype.showAllTheme;
|
|
686
690
|
/** @type {?} */
|
|
691
|
+
CompetencyPassbookComponent.prototype.environment;
|
|
692
|
+
/** @type {?} */
|
|
693
|
+
CompetencyPassbookComponent.prototype.comeptencyKeys;
|
|
694
|
+
/** @type {?} */
|
|
687
695
|
CompetencyPassbookComponent.prototype.configSvc;
|
|
688
696
|
/** @type {?} */
|
|
689
697
|
CompetencyPassbookComponent.prototype.contentSvc;
|
|
@@ -692,4 +700,4 @@ if (false) {
|
|
|
692
700
|
/** @type {?} */
|
|
693
701
|
CompetencyPassbookComponent.prototype.router;
|
|
694
702
|
}
|
|
695
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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QUMzQix5REFBMkI7O0lBQzNCLDREQUE4Qjs7SUFDOUIsbURBQXdEOztJQU01QyxnREFBdUM7O0lBQ2pELGlEQUFzQzs7SUFDdEMsb0RBQStDOztJQUMvQyw2Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIEV2ZW50U2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IFdpZGdldENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSB9IGZyb20gJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29tcGV0ZW5jeVBhc3Nib29rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBvYmplY3REYXRhOiBhbnlcbiAgQElucHV0KCkgcHJvdmlkZXJJZDogYW55XG4gIEBJbnB1dCgpIGNhcmREaXNwbGF5Q291bnQ6IGFueSA9IDNcbiAgQElucHV0KCkgZHluYW1pY0NsYXNzOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0NvbG9yOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0FsaWduUGlsbHM6IGFueSA9ICdjZW50ZXInXG4gIEBPdXRwdXQoKSBlbXB0eVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHRlbWVsZXRyeVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgbG9hZENvbWV0ZW5jeTogYm9vbGVhbiA9IGZhbHNlXG4gIGxvYWRDb21wZXRlbmN5QXJlYTogYm9vbGVhbiA9IGZhbHNlXG4gIG9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5OiBhbnlcbiAgY29tcGV0ZW5jeUFyZWE6IGFueSBbXVxuICBzZWxlY3RlZFZhbHVlOiBhbnk7XG4gIGNvbXBldGVuY3lWZXJzaW9uOnN0cmluZyA9ICcnXG4gIGNvbXBldGVuY3lUaGVtZTogYW55ID0gW11cbiAgYWxsY29tcGV0ZW5jeVRoZW1lOiBhbnkgPXt9XG4gIGNvbXBldGVuY3lTdHJlbmd0aDogYW55ID0gMFxuICBjb21wZXRlbmN5VGhlbWVMZW5ndGg6IGFueSA9IDZcbiAgc2hvd0FsbFRoZW1lIDogYW55ID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cblxuICAvLyBzdWJUaGVtZSA9IFsnQmVoYXZpb3VyYWwnXVxuICAvLyBjdXJyZW50RmlsdGVyID0gJ0JlaGF2aW91cmFsJ1xuICAvLyBjdXJyZW50Q29tcGV0ZW5jaWVzOiBhbnkgPSBbXVxuICAvLyBjb21wZXRlbmN5RGF0YTogYW55XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcbiAgICBwdWJsaWMgY29udGVudFN2YzpXaWRnZXRDb250ZW50U2VydmljZSxcbiAgICBwdWJsaWMgY29tcGV0ZW5jeVN2YzogQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyIDogUm91dGVyXG4gICkgeyBcbiAgICBcbiAgfVxuXG4gXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0QWxsQ29tcGV0ZW5jaWVzKClcbiAgICAvLyB0aGlzLmNvbXBldGVuY3lEYXRhID0gdGhpcy5vYmplY3REYXRhXG4gICAgLy8gdGhpcy5maWx0ZXIodGhpcy5jdXJyZW50RmlsdGVyKVxuICB9XG4gIC8vIGZpbHRlcihmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XG4gIC8vICAgdGhpcy5jdXJyZW50RmlsdGVyID0gZmlsdGVyVmFsdWVcbiAgLy8gICB0aGlzLmN1cnJlbnRDb21wZXRlbmNpZXMgPSB0aGlzLmNvbXBldGVuY3lEYXRhLmRhdGEuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0udHlwZSA9PT0gZmlsdGVyVmFsdWUpXG4gIC8vIH1cbiAgc2hvd01vcmUoKSB7XG4gICAgdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlID0gIXRoaXMub2JqZWN0RGF0YS52aWV3TW9yZVxuICB9XG5cbiAgLy8gdG8gZ2V0IGNvbXBldGVuY3kgYXJlYSBmcm9tIGZhY2V0c1xuICBhc3luYyBnZXRDb21wZXRlbmN5QXJlYSgpe2xldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgIGFkZGZpbHRlciA9IHtcbiAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICBdLFxuICAgIH1cbiAgfVxuICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgICAuLi5hZGRmaWx0ZXIsXG4gICAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9ICAwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICAgIHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cy5mb3JFYWNoKChmYWN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmKGZhY3QubmFtZSA9PT0gJ2NvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYScpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYSA9IGZhY3QudmFsdWVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlICA9IHRoaXMuY29tcGV0ZW5jeUFyZWFbMF0ubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYS5mb3JFYWNoKGFzeW5jIChhcmVhOiBhbnksIGluZGV4VmFsdWU6IGFueSk9PiB7XG4gICAgICAgICAgICBsZXQgYWRkRmlsdGVyID0ge1xuICAgICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhLCBhZGRGaWx0ZXIpXG4gICAgICAgICAgICBhcmVhWyd0aGVtZURhdGEnXSA9IGRhdGFcbiAgICAgICAgICAgIGFyZWFbJ2NvdW50J10gPSBkYXRhLmxlbmd0aFxuXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoICsgZGF0YS5sZW5ndGhcbiAgICAgICAgICAgIGlmKGluZGV4VmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGUpXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZS5uYW1lXG4gIH1cbiAgZ2V0QWxsQ29tcGV0ZW5jaWVzKCl7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1wic2VhcmNoXCI6e1widHlwZVwiOlwiQ29tcGV0ZW5jeSBBcmVhXCJ9LFwiZmlsdGVyXCI6e1wiaXNEZXRhaWxcIjp0cnVlfX1cbiAgICB0aGlzLmNvbXBldGVuY3lTdmMuZ2V0Q29tcGV0ZW5jeUxpc3QocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSA9IHt9XG4gICAgICBpZihyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHQgJiYgcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3kpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheSA9IHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5XG5cbiAgICAgICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQubmFtZS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2V0Vmlld01vcmUoKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG5cbiAgZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWFEYXRhOiBhbnkpe1xuICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gYXJlYURhdGEudGhlbWVEYXRhXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGFyZWFEYXRhLm5hbWUpIHtcbiAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICAgICAgICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICAgICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRjb21wZXRlbmN5U3ViVGhlbWUoYXJlYURhdGEsYWRkZmlsdGVyKVxuICB9XG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVRoZW1lQ291bnQoYXJlYTogYW55LGFkZEZpbHRlcj86IGFueSkge1xuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgIC4uLmFkZEZpbHRlcixcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIiA6IGFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgbGV0IHJldHVybmVkRGF0YSA6IGFueSA9IFxuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYXJlYS5uYW1lKSB7XG4gICAgICAgICAgIHJldHVybmVkRGF0YSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgICAgcmV0dXJuIHJldHVybmVkRGF0YVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICB9XG4gIH1cblxuICByZXNldFZpZXdNb3JlKCl7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGxjb21wZXRlbmN5VGhlbWUpLmZvckVhY2goKGNvbXA6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbY29tcF1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxuICAgIH0pXG4gIH1cbiAgdmlld01vcmVDaGlsZHJlbihkYXRhOiBhbnkpIHtcbiAgICBkYXRhLnZpZXdNb3JlID0gIWRhdGEudmlld01vcmVcbiAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtkYXRhLm5hbWUudG9Mb3dlckNhc2UoKV0udmlld01vcmUgPSBkYXRhLnZpZXdNb3JlXG4gIH1cbiAgZGlzcGxheUFsbFRoZW1lKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnc2hvd0FsbCddID0gIWV2ZW50LnNob3dBbGwgXG4gICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSBldmVudC5zaG93QWxsID8gIHRoaXMuY29tcGV0ZW5jeVRoZW1lLmxlbmd0aCA6IDZcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnbmFtZSddID0gZXZlbnQuc2hvd0FsbCA/ICdTaG93IGxlc3MnIDogJ1Nob3cgYWxsJ1xuICAgIHRoaXMudGVtZWxldHJ5UmVzcG9uc2UuZW1pdChldmVudC5uYW1lKVxuICB9XG5cbiAgbmF2aWdhdGVUb0NvbXBldGVuY3koY29tcERhdGE6IGFueSl7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2FwcC9sZWFybi9icm93c2UtYnkvY29tcGV0ZW5jeS8ke2NvbXBEYXRhLm5hbWV9YClcbiAgfVxuXG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVN1YlRoZW1lKGNvbXBBcmVhOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogY29tcEFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lTdWJUaGVtZUlkXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEuZm9yRWFjaCgoYXJlYUVsZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYoYXJlYUVsZS5uYW1lID09PSBjb21wQXJlYS5uYW1lKSB7XG4gICAgICAgICAgICBhcmVhRWxlLnRoZW1lRGF0YS5mb3JFYWNoKCh0aGVtZUVsZSkgPT4ge1xuICAgICAgICAgICAgICBpZih0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldICYmXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4gJiYgXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldLmNoaWxkcmVuLmZpbHRlcihvYmoxID0+IFxuICAgICAgICAgICAgICAgICAgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YS5zb21lKG9iajIgPT4gXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9iajEpLmV2ZXJ5KGtleSA9PiBvYmoxWydpZCddID09PSBOdW1iZXIob2JqMlsnbmFtZSddKSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV1bJ2NoaWxkcmVuJ10gPSBkYXRhXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxufVxuIl19
|
|
703
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUscUJBQXFCLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pDO0lBNEJFLDZCQUE2QjtJQUM3QixnQ0FBZ0M7SUFDaEMsZ0NBQWdDO0lBQ2hDLHNCQUFzQjtJQUN0QixxQ0FBbUIsU0FBZ0MsRUFDMUMsVUFBK0IsRUFDL0IsYUFBd0MsRUFDeEMsTUFBZSxFQUNDLFdBQWdCO1FBSnRCLGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBQzFDLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUN4QyxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBMUJmLHFCQUFnQixHQUFRLENBQUMsQ0FBQTtRQUd6QixzQkFBaUIsR0FBUSxRQUFRLENBQUE7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ3ZDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDckQsa0JBQWEsR0FBWSxLQUFLLENBQUE7UUFDOUIsdUJBQWtCLEdBQVksS0FBSyxDQUFBO1FBSW5DLHNCQUFpQixHQUFV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QkFBNEI7b0JBQ3RDLDhtTkFBbUQ7O2lCQUVwRDs7OztnQkFWUSxxQkFBcUI7Z0JBQ3JCLG9CQUFvQjtnQkFDcEIseUJBQXlCO2dCQUN6QixNQUFNO2dEQXVDVixNQUFNLFNBQUMsYUFBYTs7OzZCQTdCdEIsS0FBSzs2QkFDTCxLQUFLO21DQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLO29DQUNMLEtBQUs7Z0NBQ0wsTUFBTTtvQ0FDTixNQUFNOztJQTZXVCxrQ0FBQztDQUFBLEFBM1hELElBMlhDO1NBdFhZLDJCQUEyQjs7O0lBRXRDLGlEQUF3Qjs7SUFDeEIsaURBQXdCOztJQUN4Qix1REFBa0M7O0lBQ2xDLG1EQUEwQjs7SUFDMUIsbURBQTBCOztJQUMxQix3REFBMEM7O0lBQzFDLG9EQUFpRDs7SUFDakQsd0RBQXFEOztJQUNyRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFDbkMsOERBQTRCOztJQUM1QixxREFBc0I7O0lBQ3RCLG9EQUFtQjs7SUFDbkIsd0RBQTZCOztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFDeEQsa0RBQWtCOztJQUNsQixxREFBOEM7O0lBS2xDLGdEQUF1Qzs7SUFDakQsaURBQXNDOztJQUN0QyxvREFBK0M7O0lBQy9DLDZDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIEV2ZW50U2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IFdpZGdldENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSB9IGZyb20gJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOc0NvbXBlbnRlbmN5IH0gZnJvbSAnLi4vLi4vX21vZGVscy9jb21wZW50ZW5jaWVzLm1vZGVsJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb2JqZWN0RGF0YTogYW55XG4gIEBJbnB1dCgpIHByb3ZpZGVySWQ6IGFueVxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXG4gIEBJbnB1dCgpIGR5bmFtaWNDbGFzczogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2xvcjogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xuICBAT3V0cHV0KCkgZW1wdHlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBPdXRwdXQoKSB0ZW1lbGV0cnlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxuICBsb2FkQ29tcGV0ZW5jeUFyZWE6IGJvb2xlYW4gPSBmYWxzZVxuICBvcmlnaW5hbENvbXBldGVuY3lBcnJheTogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gIGVudmlyb25tZW50ITogYW55O1xuICBjb21lcHRlbmN5S2V5czogTnNDb21wZW50ZW5jeS5Db21wZW50ZW5jeUtleXM7XG4gIC8vIHN1YlRoZW1lID0gWydCZWhhdmlvdXJhbCddXG4gIC8vIGN1cnJlbnRGaWx0ZXIgPSAnQmVoYXZpb3VyYWwnXG4gIC8vIGN1cnJlbnRDb21wZXRlbmNpZXM6IGFueSA9IFtdXG4gIC8vIGNvbXBldGVuY3lEYXRhOiBhbnlcbiAgY29uc3RydWN0b3IocHVibGljIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZW50U3ZjOldpZGdldENvbnRlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb21wZXRlbmN5U3ZjOiBDb21wZXRlbmN5UGFzc2Jvb2tTZXJ2aWNlLFxuICAgIHB1YmxpYyByb3V0ZXIgOiBSb3V0ZXIsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBlbnZpcm9ubWVudDogYW55LFxuICApIHsgXG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IGVudmlyb25tZW50XG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbWVwdGVuY3lLZXlzID0gdGhpcy5jb25maWdTdmMuY29tcGVudGVuY3lbdGhpcy5lbnZpcm9ubWVudC5jb21wZW50ZW5jeVZlcnNpb25LZXldXG4gICAgXG4gICAgdGhpcy5nZXRBbGxDb21wZXRlbmNpZXMoKVxuICAgIC8vIHRoaXMuY29tcGV0ZW5jeURhdGEgPSB0aGlzLm9iamVjdERhdGFcbiAgICAvLyB0aGlzLmZpbHRlcih0aGlzLmN1cnJlbnRGaWx0ZXIpXG4gIH1cbiAgLy8gZmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgLy8gICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBmaWx0ZXJWYWx1ZVxuICAvLyAgIHRoaXMuY3VycmVudENvbXBldGVuY2llcyA9IHRoaXMuY29tcGV0ZW5jeURhdGEuZGF0YS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS50eXBlID09PSBmaWx0ZXJWYWx1ZSlcbiAgLy8gfVxuICBzaG93TW9yZSgpIHtcbiAgICB0aGlzLm9iamVjdERhdGEudmlld01vcmUgPSAhdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlXG4gIH1cblxuICAvLyB0byBnZXQgY29tcGV0ZW5jeSBhcmVhIGZyb20gZmFjZXRzXG4gIGFzeW5jIGdldENvbXBldGVuY3lBcmVhKCl7XG4gIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgIGFkZGZpbHRlciA9IHtcbiAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICBdLFxuICAgIH1cbiAgfVxuICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgICAuLi5hZGRmaWx0ZXIsXG4gICAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmVudmlyb25tZW50LmNvbXBlbnRlbmN5VmVyc2lvbktleX0uJHt0aGlzLmNvbWVwdGVuY3lLZXlzLnZDb21wZXRlbmN5QXJlYX1gXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9ICAwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICAgIHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cy5mb3JFYWNoKChmYWN0OiBhbnkpID0+IHtcblxuICAgICAgICAgICAgaWYoZmFjdC5uYW1lID09PSAgIGAke3RoaXMuZW52aXJvbm1lbnQuY29tcGVudGVuY3lWZXJzaW9uS2V5fS4ke3RoaXMuY29tZXB0ZW5jeUtleXMudkNvbXBldGVuY3lBcmVhfWApIHtcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYSA9IGZhY3QudmFsdWVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlICA9IHRoaXMuY29tcGV0ZW5jeUFyZWFbMF0ubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYS5mb3JFYWNoKGFzeW5jIChhcmVhOiBhbnksIGluZGV4VmFsdWU6IGFueSk9PiB7XG4gICAgICAgICAgICBsZXQgYWRkRmlsdGVyID0ge1xuICAgICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhLCBhZGRGaWx0ZXIpXG4gICAgICAgICAgICBhcmVhWyd0aGVtZURhdGEnXSA9IGRhdGFcbiAgICAgICAgICAgIGFyZWFbJ2NvdW50J10gPSBkYXRhLmxlbmd0aFxuXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoICsgZGF0YS5sZW5ndGhcbiAgICAgICAgICAgIGlmKGluZGV4VmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGUpXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZS5uYW1lXG4gIH1cbiAgZ2V0QWxsQ29tcGV0ZW5jaWVzKCl7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIHRoaXMuY29tcGV0ZW5jeVN2Yy5nZXRDb21wZXRlbmN5TGlzdHZfVjIoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lID0ge31cbiAgICAgIGlmKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdCAmJiByZXNwb25zZS5yZXN1bHQuY29udGVudCkge1xuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5ID0gcmVzcG9uc2UucmVzdWx0LmNvbnRlbnRcbiAgICAgICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb250ZW50LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFtgJHt0aGlzLmVudmlyb25tZW50LmNvbXBlbnRlbmN5VmVyc2lvbktleX0uJHt0aGlzLmNvbWVwdGVuY3lLZXlzLnZDb21wZXRlbmN5QXJlYX1gXSA6IHZhbHVlLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgYCR7dGhpcy5lbnZpcm9ubWVudC5jb21wZW50ZW5jeVZlcnNpb25LZXl9LiR7dGhpcy5jb21lcHRlbmN5S2V5cy52Q29tcGV0ZW5jeVRoZW1lfWBcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVzZXRWaWV3TW9yZSgpXG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICB9XG4gIH1cblxuICBnZXRUaGVtZURhdGFCeUFyZWEoYXJlYURhdGE6IGFueSl7XG4gICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSBhcmVhRGF0YS50aGVtZURhdGFcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYXJlYURhdGEubmFtZSkge1xuICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgICAgIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgICAgICAgIGFkZGZpbHRlciA9IHtcbiAgICAgICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICBdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lTdWJUaGVtZShhcmVhRGF0YSxhZGRmaWx0ZXIpXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBbYCR7dGhpcy5lbnZpcm9ubWVudC5jb21wZW50ZW5jeVZlcnNpb25LZXl9LiR7dGhpcy5jb21lcHRlbmN5S2V5cy52Q29tcGV0ZW5jeUFyZWF9YF0gOiBhcmVhLm5hbWUsXG4gICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgIFwiTGl2ZVwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwic29ydF9ieVwiOiB7XG4gICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJmYWNldHNcIjogW1xuICAgICAgICAgICAgICBgJHt0aGlzLmVudmlyb25tZW50LmNvbXBlbnRlbmN5VmVyc2lvbktleX0uJHt0aGlzLmNvbWVwdGVuY3lLZXlzLnZDb21wZXRlbmN5VGhlbWV9YFxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIFxuICB0cnkge1xuICAgIGxldCByZXR1cm5lZERhdGEgOiBhbnkgPSBcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGFyZWEubmFtZSkge1xuICAgICAgICAgICByZXR1cm5lZERhdGEgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICAgIHJldHVybiByZXR1cm5lZERhdGFcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG5cbiAgcmVzZXRWaWV3TW9yZSgpe1xuICAgIE9iamVjdC5rZXlzKHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lKS5mb3JFYWNoKChjb21wOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW2NvbXBdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICB9KVxuICB9XG4gIHZpZXdNb3JlQ2hpbGRyZW4oZGF0YTogYW55KSB7XG4gICAgZGF0YS52aWV3TW9yZSA9ICFkYXRhLnZpZXdNb3JlXG4gICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCldLnZpZXdNb3JlID0gZGF0YS52aWV3TW9yZVxuICB9XG4gIGRpc3BsYXlBbGxUaGVtZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zaG93QWxsVGhlbWVbMF1bJ3Nob3dBbGwnXSA9ICFldmVudC5zaG93QWxsIFxuICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gZXZlbnQuc2hvd0FsbCA/ICB0aGlzLmNvbXBldGVuY3lUaGVtZS5sZW5ndGggOiA2XG4gICAgdGhpcy5zaG93QWxsVGhlbWVbMF1bJ25hbWUnXSA9IGV2ZW50LnNob3dBbGwgPyAnU2hvdyBsZXNzJyA6ICdTaG93IGFsbCdcbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZXZlbnQubmFtZSlcbiAgfVxuXG4gIG5hdmlnYXRlVG9Db21wZXRlbmN5KGNvbXBEYXRhOiBhbnkpe1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9hcHAvbGVhcm4vYnJvd3NlLWJ5L2NvbXBldGVuY3kvJHtjb21wRGF0YS5uYW1lfWApXG4gIH1cblxuXG4gIGFzeW5jIGdldGNvbXBldGVuY3lTdWJUaGVtZShjb21wQXJlYTogYW55LGFkZEZpbHRlcj86IGFueSkge1xuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgIC4uLmFkZEZpbHRlcixcbiAgICAgICAgICAgICBbYCR7dGhpcy5lbnZpcm9ubWVudC5jb21wZW50ZW5jeVZlcnNpb25LZXl9LiR7dGhpcy5jb21lcHRlbmN5S2V5cy52Q29tcGV0ZW5jeUFyZWF9YF0gOiBjb21wQXJlYS5uYW1lLFxuICAgICAgICAgICAgICBcInN0YXR1c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgIGAke3RoaXMuZW52aXJvbm1lbnQuY29tcGVudGVuY3lWZXJzaW9uS2V5fS4ke3RoaXMuY29tZXB0ZW5jeUtleXMudkNvbXBldGVuY3lTdWJUaGVtZX1gXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lTdWJUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLmNvbXBldGVuY3lBcmVhLmZvckVhY2goKGFyZWFFbGU6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGFyZWFFbGUubmFtZSA9PT0gY29tcEFyZWEubmFtZSkge1xuICAgICAgICAgICAgYXJlYUVsZS50aGVtZURhdGEuZm9yRWFjaCgodGhlbWVFbGUpID0+IHtcbiAgICAgICAgICAgICAgaWYodGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXSAmJlxuICAgICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldLmNoaWxkcmVuICYmIFxuICAgICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGxldCBkYXRhID0gdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbdGhlbWVFbGUubmFtZS50b0xvd2VyQ2FzZSgpXS5jaGlsZHJlbi5maWx0ZXIob2JqMSA9PiBcbiAgICAgICAgICAgICAgICAgIGNvbXBldGVuY3lTdWJUaGVtZURhdGEuc29tZShvYmoyID0+IFxuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhvYmoxKS5ldmVyeShrZXkgPT4gb2JqMVsnbmFtZSddID09PSAob2JqMlsnbmFtZSddKSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV1bJ2NoaWxkcmVuJ10gPSBkYXRhXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG59XG4iXX0=
|
|
@@ -9,6 +9,7 @@ import * as i1 from "@angular/common/http";
|
|
|
9
9
|
/** @type {?} */
|
|
10
10
|
var API_POINTS = {
|
|
11
11
|
COMPETENCY_LIST: "apis/proxies/v8/competency/v4/search",
|
|
12
|
+
COMPETENCY_LIST_V2: "apis/proxies/v8/searchBy/v2/competency",
|
|
12
13
|
CERTIFICATE_URL: "apis/protected/v8/cohorts/course/batch/cert/download/",
|
|
13
14
|
};
|
|
14
15
|
var CompetencyPassbookService = /** @class */ (function () {
|
|
@@ -27,6 +28,15 @@ var CompetencyPassbookService = /** @class */ (function () {
|
|
|
27
28
|
function (payload) {
|
|
28
29
|
return this.http.post(API_POINTS.COMPETENCY_LIST, payload);
|
|
29
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* @return {?}
|
|
33
|
+
*/
|
|
34
|
+
CompetencyPassbookService.prototype.getCompetencyListv_V2 = /**
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
function () {
|
|
38
|
+
return this.http.get(API_POINTS.COMPETENCY_LIST_V2);
|
|
39
|
+
};
|
|
30
40
|
/**
|
|
31
41
|
* @param {?} certId
|
|
32
42
|
* @return {?}
|
|
@@ -56,4 +66,4 @@ if (false) {
|
|
|
56
66
|
*/
|
|
57
67
|
CompetencyPassbookService.prototype.http;
|
|
58
68
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29uc3VtcHRpb24vIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9jb21wZXRlbmN5LXBhc3Nib29rL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7Ozs7SUFHM0MsVUFBVSxHQUFHO0lBQ2YsZUFBZSxFQUFFLHNDQUFzQztJQUN2RCxrQkFBa0IsRUFBRSx3Q0FBd0M7SUFDNUQsZUFBZSxFQUFFLHVEQUF1RDtDQUMzRTtBQUVEO0lBR0ksd0NBQXdDO0lBQ3hDLG1DQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUksQ0FBQzs7Ozs7SUFDekMscURBQWlCOzs7O0lBQWpCLFVBQWtCLE9BQVk7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzlELENBQUM7Ozs7SUFDRCx5REFBcUI7OztJQUFyQjtRQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDdkQsQ0FBQzs7Ozs7SUFFRCxvREFBZ0I7Ozs7SUFBaEIsVUFBaUIsTUFBYztRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLENBQUE7SUFDN0QsQ0FBQzs7Z0JBZEosVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztnQkFUekIsVUFBVTs7O29DQURuQjtDQXlCQyxBQWZELElBZUM7U0FiWSx5QkFBeUI7Ozs7OztJQUV0Qix5Q0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuXG5jb25zdCBBUElfUE9JTlRTID0ge1xuICAgIENPTVBFVEVOQ1lfTElTVDogYGFwaXMvcHJveGllcy92OC9jb21wZXRlbmN5L3Y0L3NlYXJjaGAsXG4gICAgQ09NUEVURU5DWV9MSVNUX1YyOiBgYXBpcy9wcm94aWVzL3Y4L3NlYXJjaEJ5L3YyL2NvbXBldGVuY3lgLFxuICAgIENFUlRJRklDQVRFX1VSTDogYGFwaXMvcHJvdGVjdGVkL3Y4L2NvaG9ydHMvY291cnNlL2JhdGNoL2NlcnQvZG93bmxvYWQvYCxcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcblxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2Uge1xuICAgIC8vIHRzbGludDogZGlzYWJsZS1uZXh0LWxpbmU6IHdoaXRlc3BhY2VcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuICAgIGdldENvbXBldGVuY3lMaXN0KHBheWxvYWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChBUElfUE9JTlRTLkNPTVBFVEVOQ1lfTElTVCwgcGF5bG9hZClcbiAgICB9XG4gICAgZ2V0Q29tcGV0ZW5jeUxpc3R2X1YyKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KEFQSV9QT0lOVFMuQ09NUEVURU5DWV9MSVNUX1YyKVxuICAgIH1cblxuICAgIGZldGNoQ2VydGlmaWNhdGUoY2VydElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChBUElfUE9JTlRTLkNFUlRJRklDQVRFX1VSTCArIGNlcnRJZClcbiAgICB9XG59XG4iXX0=
|