@sunbird-cb/consumption 0.0.77 → 0.0.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -76,7 +76,8 @@ var CompetencyPassbookComponent = /** @class */ (function () {
76
76
  */
77
77
  function () {
78
78
  return tslib_1.__awaiter(this, void 0, void 0, function () {
79
- var addfilter, request, response, addFilter, error_1;
79
+ var addfilter, request, response, error_1;
80
+ var _this = this;
80
81
  return tslib_1.__generator(this, function (_a) {
81
82
  switch (_a.label) {
82
83
  case 0:
@@ -109,25 +110,50 @@ var CompetencyPassbookComponent = /** @class */ (function () {
109
110
  _a.label = 1;
110
111
  case 1:
111
112
  _a.trys.push([1, 3, , 4]);
113
+ this.competencyStrength = 0;
112
114
  return [4 /*yield*/, this.callCompetencySearch(request)];
113
115
  case 2:
114
116
  response = _a.sent();
115
117
  if (response && response.results) {
116
118
  if (response.results.result.facets) {
117
- this.competencyArea = response.results.result.facets[0].values;
118
- this.competencyStrength = this.competencyArea.reduce((/**
119
- * @param {?} partialSum
120
- * @param {?} data
119
+ response.results.result.facets.forEach((/**
120
+ * @param {?} fact
121
121
  * @return {?}
122
122
  */
123
- function (partialSum, data) { return partialSum + data.count; }), 0);
123
+ function (fact) {
124
+ if (fact.name === 'competencies_v5.competencyArea') {
125
+ _this.competencyArea = fact.values;
126
+ }
127
+ }));
124
128
  this.selectedValue = this.competencyArea[0].name.toLowerCase();
125
- addFilter = {
126
- "createdFor": [
127
- this.providerId
128
- ]
129
- };
130
- this.getcompetencyTheme(this.competencyArea[0].name, addFilter);
129
+ this.competencyArea.forEach((/**
130
+ * @param {?} area
131
+ * @param {?} indexValue
132
+ * @return {?}
133
+ */
134
+ function (area, indexValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
135
+ var addFilter, data;
136
+ return tslib_1.__generator(this, function (_a) {
137
+ switch (_a.label) {
138
+ case 0:
139
+ addFilter = {
140
+ "createdFor": [
141
+ this.providerId
142
+ ]
143
+ };
144
+ return [4 /*yield*/, this.getcompetencyThemeCount(area, addFilter)];
145
+ case 1:
146
+ data = _a.sent();
147
+ area['themeData'] = data;
148
+ area['count'] = data.length;
149
+ this.competencyStrength = this.competencyStrength + data.length;
150
+ if (indexValue === 0) {
151
+ this.getThemeDataByArea(area);
152
+ }
153
+ return [2 /*return*/];
154
+ }
155
+ });
156
+ }); }));
131
157
  this.loadCompetencyArea = false;
132
158
  }
133
159
  }
@@ -202,7 +228,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
202
228
  };
203
229
  }
204
230
  this.temeletryResponse.emit(e.name);
205
- this.getcompetencyTheme(e.name, addfilter);
231
+ this.getThemeDataByArea(e);
206
232
  this.selectedValue = e.name;
207
233
  };
208
234
  /**
@@ -323,6 +349,128 @@ var CompetencyPassbookComponent = /** @class */ (function () {
323
349
  });
324
350
  });
325
351
  };
352
+ /**
353
+ * @param {?} areaData
354
+ * @return {?}
355
+ */
356
+ CompetencyPassbookComponent.prototype.getThemeDataByArea = /**
357
+ * @param {?} areaData
358
+ * @return {?}
359
+ */
360
+ function (areaData) {
361
+ var _this = this;
362
+ /** @type {?} */
363
+ var competencyThemeData = areaData.themeData;
364
+ this.originalCompetencyArray.forEach((/**
365
+ * @param {?} element
366
+ * @return {?}
367
+ */
368
+ function (element) {
369
+ if (element.name.toLowerCase() === areaData.name) {
370
+ _this.competencyTheme = competencyThemeData.filter((/**
371
+ * @param {?} ele1
372
+ * @return {?}
373
+ */
374
+ function (ele1) {
375
+ return element.children.find((/**
376
+ * @param {?} ele2
377
+ * @return {?}
378
+ */
379
+ function (ele2) { return ele2.name.toLowerCase() === ele1.name.toLowerCase(); }));
380
+ }));
381
+ _this.showAllTheme = [{ name: 'Show all', showAll: false }];
382
+ _this.competencyThemeLength = 6;
383
+ }
384
+ }));
385
+ /** @type {?} */
386
+ var addfilter = {};
387
+ if (this.providerId) {
388
+ addfilter = {
389
+ "createdFor": [
390
+ this.providerId
391
+ ],
392
+ };
393
+ }
394
+ this.getcompetencySubTheme(areaData, addfilter);
395
+ };
396
+ /**
397
+ * @param {?} area
398
+ * @param {?=} addFilter
399
+ * @return {?}
400
+ */
401
+ CompetencyPassbookComponent.prototype.getcompetencyThemeCount = /**
402
+ * @param {?} area
403
+ * @param {?=} addFilter
404
+ * @return {?}
405
+ */
406
+ function (area, addFilter) {
407
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
408
+ var request, returnedData_1, response, competencyThemeData_2, error_3;
409
+ var _this = this;
410
+ return tslib_1.__generator(this, function (_a) {
411
+ switch (_a.label) {
412
+ case 0:
413
+ request = {
414
+ "request": {
415
+ "query": "",
416
+ "filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, { "competencies_v5.competencyArea": area.name, "status": [
417
+ "Live"
418
+ ] }),
419
+ "sort_by": {
420
+ "lastUpdatedOn": "desc"
421
+ },
422
+ "facets": [
423
+ "competencies_v5.competencyTheme"
424
+ ],
425
+ "limit": 0,
426
+ "offset": 0,
427
+ "fields": []
428
+ }
429
+ };
430
+ _a.label = 1;
431
+ case 1:
432
+ _a.trys.push([1, 3, , 4]);
433
+ returnedData_1 = this.loadCometency = true;
434
+ return [4 /*yield*/, this.callCompetencySearch(request)];
435
+ case 2:
436
+ response = _a.sent();
437
+ if (response && response.results) {
438
+ if (response.results.result.facets) {
439
+ competencyThemeData_2 = response.results.result.facets[0].values;
440
+ this.originalCompetencyArray.forEach((/**
441
+ * @param {?} element
442
+ * @return {?}
443
+ */
444
+ function (element) {
445
+ if (element.name.toLowerCase() === area.name) {
446
+ returnedData_1 = competencyThemeData_2.filter((/**
447
+ * @param {?} ele1
448
+ * @return {?}
449
+ */
450
+ function (ele1) {
451
+ return element.children.find((/**
452
+ * @param {?} ele2
453
+ * @return {?}
454
+ */
455
+ function (ele2) { return ele2.name.toLowerCase() === ele1.name.toLowerCase(); }));
456
+ }));
457
+ _this.showAllTheme = [{ name: 'Show all', showAll: false }];
458
+ _this.competencyThemeLength = 6;
459
+ }
460
+ }));
461
+ }
462
+ this.loadCometency = false;
463
+ return [2 /*return*/, returnedData_1];
464
+ }
465
+ return [3 /*break*/, 4];
466
+ case 3:
467
+ error_3 = _a.sent();
468
+ return [3 /*break*/, 4];
469
+ case 4: return [2 /*return*/];
470
+ }
471
+ });
472
+ });
473
+ };
326
474
  /**
327
475
  * @return {?}
328
476
  */
@@ -374,12 +522,105 @@ var CompetencyPassbookComponent = /** @class */ (function () {
374
522
  * @return {?}
375
523
  */
376
524
  function (compData) {
377
- this.router.navigateByUrl("app/learn/browse-by/competency/" + compData.name);
525
+ this.router.navigateByUrl("/app/learn/browse-by/competency/" + compData.name);
526
+ };
527
+ /**
528
+ * @param {?} compArea
529
+ * @param {?=} addFilter
530
+ * @return {?}
531
+ */
532
+ CompetencyPassbookComponent.prototype.getcompetencySubTheme = /**
533
+ * @param {?} compArea
534
+ * @param {?=} addFilter
535
+ * @return {?}
536
+ */
537
+ function (compArea, addFilter) {
538
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
539
+ var request, response, competencySubThemeData_1, error_4;
540
+ var _this = this;
541
+ return tslib_1.__generator(this, function (_a) {
542
+ switch (_a.label) {
543
+ case 0:
544
+ request = {
545
+ "request": {
546
+ "query": "",
547
+ "filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, { "competencies_v5.competencyArea": compArea.name, "status": [
548
+ "Live"
549
+ ] }),
550
+ "sort_by": {
551
+ "lastUpdatedOn": "desc"
552
+ },
553
+ "facets": [
554
+ "competencies_v5.competencySubThemeId"
555
+ ],
556
+ "limit": 0,
557
+ "offset": 0,
558
+ "fields": []
559
+ }
560
+ };
561
+ _a.label = 1;
562
+ case 1:
563
+ _a.trys.push([1, 3, , 4]);
564
+ this.loadCometency = true;
565
+ return [4 /*yield*/, this.callCompetencySearch(request)];
566
+ case 2:
567
+ response = _a.sent();
568
+ if (response && response.results) {
569
+ if (response.results.result.facets) {
570
+ competencySubThemeData_1 = response.results.result.facets[0].values;
571
+ this.competencyArea.forEach((/**
572
+ * @param {?} areaEle
573
+ * @return {?}
574
+ */
575
+ function (areaEle) {
576
+ if (areaEle.name === compArea.name) {
577
+ areaEle.themeData.forEach((/**
578
+ * @param {?} themeEle
579
+ * @return {?}
580
+ */
581
+ function (themeEle) {
582
+ if (_this.allcompetencyTheme[themeEle.name.toLowerCase()] &&
583
+ _this.allcompetencyTheme[themeEle.name.toLowerCase()].children &&
584
+ _this.allcompetencyTheme[themeEle.name.toLowerCase()].children.length) {
585
+ /** @type {?} */
586
+ var data = _this.allcompetencyTheme[themeEle.name.toLowerCase()].children.filter((/**
587
+ * @param {?} obj1
588
+ * @return {?}
589
+ */
590
+ function (obj1) {
591
+ return competencySubThemeData_1.some((/**
592
+ * @param {?} obj2
593
+ * @return {?}
594
+ */
595
+ function (obj2) {
596
+ return Object.keys(obj1).every((/**
597
+ * @param {?} key
598
+ * @return {?}
599
+ */
600
+ function (key) { return obj1['id'] === Number(obj2['name']); }));
601
+ }));
602
+ }));
603
+ _this.allcompetencyTheme[themeEle.name.toLowerCase()]['children'] = data;
604
+ }
605
+ }));
606
+ }
607
+ }));
608
+ }
609
+ this.loadCometency = false;
610
+ }
611
+ return [3 /*break*/, 4];
612
+ case 3:
613
+ error_4 = _a.sent();
614
+ return [3 /*break*/, 4];
615
+ case 4: return [2 /*return*/];
616
+ }
617
+ });
618
+ });
378
619
  };
379
620
  CompetencyPassbookComponent.decorators = [
380
621
  { type: Component, args: [{
381
622
  selector: 'sb-uic-competency-passbook',
382
- 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]?.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\" *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?.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\" [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>",
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]?.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\" *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?.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\" [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>",
383
624
  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}"]
384
625
  }] }
385
626
  ];
@@ -451,4 +692,4 @@ if (false) {
451
692
  /** @type {?} */
452
693
  CompetencyPassbookComponent.prototype.router;
453
694
  }
454
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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Ozs7O0lBQXBCLFVBQXFCLFFBQWE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsb0NBQWtDLFFBQVEsQ0FBQyxJQUFNLENBQUMsQ0FBQTtJQUM5RSxDQUFDOztnQkFwT0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLGdsTkFBbUQ7O2lCQUVwRDs7OztnQkFUUSxxQkFBcUI7Z0JBQ3JCLG9CQUFvQjtnQkFDcEIseUJBQXlCO2dCQUN6QixNQUFNOzs7NkJBU1osS0FBSzs2QkFDTCxLQUFLO21DQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLO29DQUNMLEtBQUs7Z0NBQ0wsTUFBTTtvQ0FDTixNQUFNOztJQXVOVCxrQ0FBQztDQUFBLEFBck9ELElBcU9DO1NBaE9ZLDJCQUEyQjs7O0lBRXRDLGlEQUF3Qjs7SUFDeEIsaURBQXdCOztJQUN4Qix1REFBa0M7O0lBQ2xDLG1EQUEwQjs7SUFDMUIsbURBQTBCOztJQUMxQix3REFBMEM7O0lBQzFDLG9EQUFpRDs7SUFDakQsd0RBQXFEOztJQUNyRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFDbkMsOERBQTRCOztJQUM1QixxREFBc0I7O0lBQ3RCLG9EQUFtQjs7SUFDbkIsd0RBQTZCOztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFNNUMsZ0RBQXVDOztJQUNqRCxpREFBc0M7O0lBQ3RDLG9EQUErQzs7SUFDL0MsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UgfSBmcm9tICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb2JqZWN0RGF0YTogYW55XG4gIEBJbnB1dCgpIHByb3ZpZGVySWQ6IGFueVxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXG4gIEBJbnB1dCgpIGR5bmFtaWNDbGFzczogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2xvcjogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xuICBAT3V0cHV0KCkgZW1wdHlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBPdXRwdXQoKSB0ZW1lbGV0cnlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxuICBsb2FkQ29tcGV0ZW5jeUFyZWE6IGJvb2xlYW4gPSBmYWxzZVxuICBvcmlnaW5hbENvbXBldGVuY3lBcnJheTogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldEFsbENvbXBldGVuY2llcygpXG4gICAgLy8gdGhpcy5jb21wZXRlbmN5RGF0YSA9IHRoaXMub2JqZWN0RGF0YVxuICAgIC8vIHRoaXMuZmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcilcbiAgfVxuICAvLyBmaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAvLyAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlclZhbHVlXG4gIC8vICAgdGhpcy5jdXJyZW50Q29tcGV0ZW5jaWVzID0gdGhpcy5jb21wZXRlbmN5RGF0YS5kYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IGZpbHRlclZhbHVlKVxuICAvLyB9XG4gIHNob3dNb3JlKCkge1xuICAgIHRoaXMub2JqZWN0RGF0YS52aWV3TW9yZSA9ICF0aGlzLm9iamVjdERhdGEudmlld01vcmVcbiAgfVxuXG4gIC8vIHRvIGdldCBjb21wZXRlbmN5IGFyZWEgZnJvbSBmYWNldHNcbiAgYXN5bmMgZ2V0Q29tcGV0ZW5jeUFyZWEoKXtsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgXSxcbiAgICB9XG4gIH1cbiAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgICAgLi4uYWRkZmlsdGVyLFxuICAgICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgICB0aGlzLmNvbXBldGVuY3lBcmVhID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlc1xuICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoID0gdGhpcy5jb21wZXRlbmN5QXJlYS5yZWR1Y2UoKHBhcnRpYWxTdW06IGFueSwgZGF0YTogYW55KSA9PiBwYXJ0aWFsU3VtICsgIGRhdGEuY291bnQsIDApIFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSAgPSB0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIGxldCBhZGRGaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lUaGVtZSh0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUsIGFkZEZpbHRlcilcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0Y29tcGV0ZW5jeVRoZW1lKGUubmFtZSwgYWRkZmlsdGVyKVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGUubmFtZVxuICB9XG4gIGdldEFsbENvbXBldGVuY2llcygpe1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcInNlYXJjaFwiOntcInR5cGVcIjpcIkNvbXBldGVuY3kgQXJlYVwifSxcImZpbHRlclwiOntcImlzRGV0YWlsXCI6dHJ1ZX19XG4gICAgdGhpcy5jb21wZXRlbmN5U3ZjLmdldENvbXBldGVuY3lMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWUgPSB7fVxuICAgICAgaWYocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0ICYmIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5KSB7XG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkgPSByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeVxuXG4gICAgICAgIHRoaXMuZ2V0Q29tcGV0ZW5jeUFyZWEoKVxuICAgICAgICByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgIGVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGRFbGUpID0+IHtcbiAgICAgICAgICAgIGxldCBuYW1lID0gY2hpbGRFbGUubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtuYW1lXSA9IGNoaWxkRWxlXG4gICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtuYW1lXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVRoZW1lKHZhbHVlOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogdmFsdWUsXG4gICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgIFwiTGl2ZVwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwic29ydF9ieVwiOiB7XG4gICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJmYWNldHNcIjogW1xuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5VGhlbWVcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIFxuICB0cnkge1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lID0gY29tcGV0ZW5jeVRoZW1lRGF0YS5maWx0ZXIoKGVsZTE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIGVsZW1lbnQuY2hpbGRyZW4uZmluZCgoZWxlMjogYW55KSA9PiBlbGUyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gZWxlMS5uYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgdGhpcy5zaG93QWxsVGhlbWUgPSBbe25hbWU6J1Nob3cgYWxsJywgc2hvd0FsbDogZmFsc2V9XVxuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSA2XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNldFZpZXdNb3JlKClcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxuXG4gIHJlc2V0Vmlld01vcmUoKXtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSkuZm9yRWFjaCgoY29tcDogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtjb21wXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgfSlcbiAgfVxuICB2aWV3TW9yZUNoaWxkcmVuKGRhdGE6IGFueSkge1xuICAgIGRhdGEudmlld01vcmUgPSAhZGF0YS52aWV3TW9yZVxuICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW2RhdGEubmFtZS50b0xvd2VyQ2FzZSgpXS52aWV3TW9yZSA9IGRhdGEudmlld01vcmVcbiAgfVxuICBkaXNwbGF5QWxsVGhlbWUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWydzaG93QWxsJ10gPSAhZXZlbnQuc2hvd0FsbCBcbiAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IGV2ZW50LnNob3dBbGwgPyAgdGhpcy5jb21wZXRlbmN5VGhlbWUubGVuZ3RoIDogNlxuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWyduYW1lJ10gPSBldmVudC5zaG93QWxsID8gJ1Nob3cgbGVzcycgOiAnU2hvdyBhbGwnXG4gICAgdGhpcy50ZW1lbGV0cnlSZXNwb25zZS5lbWl0KGV2ZW50Lm5hbWUpXG4gIH1cblxuICBuYXZpZ2F0ZVRvQ29tcGV0ZW5jeShjb21wRGF0YTogYW55KXtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGBhcHAvbGVhcm4vYnJvd3NlLWJ5L2NvbXBldGVuY3kvJHtjb21wRGF0YS5uYW1lfWApXG4gIH1cbn1cbiJdfQ==
695
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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QUMzQix5REFBMkI7O0lBQzNCLDREQUE4Qjs7SUFDOUIsbURBQXdEOztJQU01QyxnREFBdUM7O0lBQ2pELGlEQUFzQzs7SUFDdEMsb0RBQStDOztJQUMvQyw2Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIEV2ZW50U2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IFdpZGdldENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSB9IGZyb20gJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29tcGV0ZW5jeVBhc3Nib29rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBvYmplY3REYXRhOiBhbnlcbiAgQElucHV0KCkgcHJvdmlkZXJJZDogYW55XG4gIEBJbnB1dCgpIGNhcmREaXNwbGF5Q291bnQ6IGFueSA9IDNcbiAgQElucHV0KCkgZHluYW1pY0NsYXNzOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0NvbG9yOiBhbnlcbiAgQElucHV0KCkgZHluYW1pY0FsaWduUGlsbHM6IGFueSA9ICdjZW50ZXInXG4gIEBPdXRwdXQoKSBlbXB0eVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHRlbWVsZXRyeVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgbG9hZENvbWV0ZW5jeTogYm9vbGVhbiA9IGZhbHNlXG4gIGxvYWRDb21wZXRlbmN5QXJlYTogYm9vbGVhbiA9IGZhbHNlXG4gIG9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5OiBhbnlcbiAgY29tcGV0ZW5jeUFyZWE6IGFueSBbXVxuICBzZWxlY3RlZFZhbHVlOiBhbnk7XG4gIGNvbXBldGVuY3lWZXJzaW9uOnN0cmluZyA9ICcnXG4gIGNvbXBldGVuY3lUaGVtZTogYW55ID0gW11cbiAgYWxsY29tcGV0ZW5jeVRoZW1lOiBhbnkgPXt9XG4gIGNvbXBldGVuY3lTdHJlbmd0aDogYW55ID0gMFxuICBjb21wZXRlbmN5VGhlbWVMZW5ndGg6IGFueSA9IDZcbiAgc2hvd0FsbFRoZW1lIDogYW55ID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cblxuICAvLyBzdWJUaGVtZSA9IFsnQmVoYXZpb3VyYWwnXVxuICAvLyBjdXJyZW50RmlsdGVyID0gJ0JlaGF2aW91cmFsJ1xuICAvLyBjdXJyZW50Q29tcGV0ZW5jaWVzOiBhbnkgPSBbXVxuICAvLyBjb21wZXRlbmN5RGF0YTogYW55XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcbiAgICBwdWJsaWMgY29udGVudFN2YzpXaWRnZXRDb250ZW50U2VydmljZSxcbiAgICBwdWJsaWMgY29tcGV0ZW5jeVN2YzogQ29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyIDogUm91dGVyXG4gICkgeyBcbiAgICBcbiAgfVxuXG4gXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0QWxsQ29tcGV0ZW5jaWVzKClcbiAgICAvLyB0aGlzLmNvbXBldGVuY3lEYXRhID0gdGhpcy5vYmplY3REYXRhXG4gICAgLy8gdGhpcy5maWx0ZXIodGhpcy5jdXJyZW50RmlsdGVyKVxuICB9XG4gIC8vIGZpbHRlcihmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XG4gIC8vICAgdGhpcy5jdXJyZW50RmlsdGVyID0gZmlsdGVyVmFsdWVcbiAgLy8gICB0aGlzLmN1cnJlbnRDb21wZXRlbmNpZXMgPSB0aGlzLmNvbXBldGVuY3lEYXRhLmRhdGEuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0udHlwZSA9PT0gZmlsdGVyVmFsdWUpXG4gIC8vIH1cbiAgc2hvd01vcmUoKSB7XG4gICAgdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlID0gIXRoaXMub2JqZWN0RGF0YS52aWV3TW9yZVxuICB9XG5cbiAgLy8gdG8gZ2V0IGNvbXBldGVuY3kgYXJlYSBmcm9tIGZhY2V0c1xuICBhc3luYyBnZXRDb21wZXRlbmN5QXJlYSgpe2xldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gIGlmKHRoaXMucHJvdmlkZXJJZCkge1xuICAgIGFkZGZpbHRlciA9IHtcbiAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICBdLFxuICAgIH1cbiAgfVxuICAgIHRoaXMubG9hZENvbXBldGVuY3lBcmVhID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgICAuLi5hZGRmaWx0ZXIsXG4gICAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgICBcIkxpdmVcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcInNvcnRfYnlcIjoge1xuICAgICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZmFjZXRzXCI6IFtcbiAgICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9ICAwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICAgIHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cy5mb3JFYWNoKChmYWN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmKGZhY3QubmFtZSA9PT0gJ2NvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYScpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYSA9IGZhY3QudmFsdWVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlICA9IHRoaXMuY29tcGV0ZW5jeUFyZWFbMF0ubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5QXJlYS5mb3JFYWNoKGFzeW5jIChhcmVhOiBhbnksIGluZGV4VmFsdWU6IGFueSk9PiB7XG4gICAgICAgICAgICBsZXQgYWRkRmlsdGVyID0ge1xuICAgICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICAgIHRoaXMucHJvdmlkZXJJZFxuICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWVDb3VudChhcmVhLCBhZGRGaWx0ZXIpXG4gICAgICAgICAgICBhcmVhWyd0aGVtZURhdGEnXSA9IGRhdGFcbiAgICAgICAgICAgIGFyZWFbJ2NvdW50J10gPSBkYXRhLmxlbmd0aFxuXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lTdHJlbmd0aCA9IHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoICsgZGF0YS5sZW5ndGhcbiAgICAgICAgICAgIGlmKGluZGV4VmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0VGhlbWVEYXRhQnlBcmVhKGUpXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZS5uYW1lXG4gIH1cbiAgZ2V0QWxsQ29tcGV0ZW5jaWVzKCl7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1wic2VhcmNoXCI6e1widHlwZVwiOlwiQ29tcGV0ZW5jeSBBcmVhXCJ9LFwiZmlsdGVyXCI6e1wiaXNEZXRhaWxcIjp0cnVlfX1cbiAgICB0aGlzLmNvbXBldGVuY3lTdmMuZ2V0Q29tcGV0ZW5jeUxpc3QocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSA9IHt9XG4gICAgICBpZihyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHQgJiYgcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3kpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheSA9IHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5XG5cbiAgICAgICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQubmFtZS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2V0Vmlld01vcmUoKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG5cbiAgZ2V0VGhlbWVEYXRhQnlBcmVhKGFyZWFEYXRhOiBhbnkpe1xuICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gYXJlYURhdGEudGhlbWVEYXRhXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGFyZWFEYXRhLm5hbWUpIHtcbiAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICAgICAgICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICAgICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRjb21wZXRlbmN5U3ViVGhlbWUoYXJlYURhdGEsYWRkZmlsdGVyKVxuICB9XG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVRoZW1lQ291bnQoYXJlYTogYW55LGFkZEZpbHRlcj86IGFueSkge1xuICAgIGxldCByZXF1ZXN0ID0ge1xuICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgIC4uLmFkZEZpbHRlcixcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIiA6IGFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgbGV0IHJldHVybmVkRGF0YSA6IGFueSA9IFxuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYXJlYS5uYW1lKSB7XG4gICAgICAgICAgIHJldHVybmVkRGF0YSA9IGNvbXBldGVuY3lUaGVtZURhdGEuZmlsdGVyKChlbGUxOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsbFRoZW1lID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgICAgcmV0dXJuIHJldHVybmVkRGF0YVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgZXJyb3JzXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xuICB9XG4gIH1cblxuICByZXNldFZpZXdNb3JlKCl7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGxjb21wZXRlbmN5VGhlbWUpLmZvckVhY2goKGNvbXA6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbY29tcF1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxuICAgIH0pXG4gIH1cbiAgdmlld01vcmVDaGlsZHJlbihkYXRhOiBhbnkpIHtcbiAgICBkYXRhLnZpZXdNb3JlID0gIWRhdGEudmlld01vcmVcbiAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtkYXRhLm5hbWUudG9Mb3dlckNhc2UoKV0udmlld01vcmUgPSBkYXRhLnZpZXdNb3JlXG4gIH1cbiAgZGlzcGxheUFsbFRoZW1lKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnc2hvd0FsbCddID0gIWV2ZW50LnNob3dBbGwgXG4gICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSBldmVudC5zaG93QWxsID8gIHRoaXMuY29tcGV0ZW5jeVRoZW1lLmxlbmd0aCA6IDZcbiAgICB0aGlzLnNob3dBbGxUaGVtZVswXVsnbmFtZSddID0gZXZlbnQuc2hvd0FsbCA/ICdTaG93IGxlc3MnIDogJ1Nob3cgYWxsJ1xuICAgIHRoaXMudGVtZWxldHJ5UmVzcG9uc2UuZW1pdChldmVudC5uYW1lKVxuICB9XG5cbiAgbmF2aWdhdGVUb0NvbXBldGVuY3koY29tcERhdGE6IGFueSl7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2FwcC9sZWFybi9icm93c2UtYnkvY29tcGV0ZW5jeS8ke2NvbXBEYXRhLm5hbWV9YClcbiAgfVxuXG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVN1YlRoZW1lKGNvbXBBcmVhOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogY29tcEFyZWEubmFtZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lTdWJUaGVtZUlkXCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxuICAgICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBcbiAgdHJ5IHtcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICBpZihyZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHMpe1xuICAgICAgICBsZXQgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YSA6IGFueSA9IHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0c1swXS52YWx1ZXMgXG4gICAgICAgIHRoaXMuY29tcGV0ZW5jeUFyZWEuZm9yRWFjaCgoYXJlYUVsZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYoYXJlYUVsZS5uYW1lID09PSBjb21wQXJlYS5uYW1lKSB7XG4gICAgICAgICAgICBhcmVhRWxlLnRoZW1lRGF0YS5mb3JFYWNoKCh0aGVtZUVsZSkgPT4ge1xuICAgICAgICAgICAgICBpZih0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldICYmXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4gJiYgXG4gICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVt0aGVtZUVsZS5uYW1lLnRvTG93ZXJDYXNlKCldLmNoaWxkcmVuLmZpbHRlcihvYmoxID0+IFxuICAgICAgICAgICAgICAgICAgY29tcGV0ZW5jeVN1YlRoZW1lRGF0YS5zb21lKG9iajIgPT4gXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9iajEpLmV2ZXJ5KGtleSA9PiBvYmoxWydpZCddID09PSBOdW1iZXIob2JqMlsnbmFtZSddKSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW3RoZW1lRWxlLm5hbWUudG9Mb3dlckNhc2UoKV1bJ2NoaWxkcmVuJ10gPSBkYXRhXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxufVxuIl19
@@ -255,7 +255,7 @@ var ProvidersV2Component = /** @class */ (function () {
255
255
  { type: Component, args: [{
256
256
  selector: 'sb-uic-providers-v2',
257
257
  template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: titles }\">\n</ws-widget-btn-page-back>\n<div class=\"container-fluid\" id=\"section-micro-sites\">\n <div class=\"flex flex-col flex-1\">\n <ng-container *ngIf=\"sectionList?.length\">\n <ng-container *ngFor=\"let section of sectionList\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'topSection'\" [ngTemplateOutlet]=\"topSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'trainingCalendar'\" [ngTemplateOutlet]=\"trainingCalendar\"\n [ngTemplateOutletContext]=\"{trainingCalendar: column.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contributors'\" [ngTemplateOutlet]=\"contributors\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'infra'\" [ngTemplateOutlet]=\"infra\"\n [ngTemplateOutletContext]=\"{infra: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentFeaturedStrip'\" [ngTemplateOutlet]=\"contentStripTemplate\"\n [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentTopStrip'\" [ngTemplateOutlet]=\"contentStripTemplate\"\n [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container> \n <ng-container *ngSwitchCase=\"'competency'\" [ngTemplateOutlet]=\"competency\"\n [ngTemplateOutletContext]=\"{competency: column}\"></ng-container> \n <ng-container *ngSwitchCase=\"'learnerReview'\" [ngTemplateOutlet]=\"learnerReviewBlock\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container> \n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n<div class=\"container-fluid\" *ngIf=\"navList?.length\">\n <div class=\"flex sticky-navigator gap-4\">\n <mat-icon class=\"nav-up-arrow cursor-pointer\" (click)=\"scrollToSection('section-micro-sites')\">arrow_upwards</mat-icon>\n <ng-container *ngFor=\"let section of navList\">\n <ng-container *ngIf=\"section.navigation\">\n <div class=\"nav-button\" (click)=\"scrollToSection(section?.key); raiseNavTelemetry(section?.title)\">{{section?.title}}</div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #topSection let-data=\"data\">\n <!-- <div class=\"w-full grid grid-cols-12 gap-4\"> -->\n <div class=\"col-span-12 \">\n <div class=\"grid grid-cols-12\">\n <div class=\"hidden md:block p-5 custombgsection\">\n <sb-uic-data-points [providerId]=\"providerId\" [fetchDataFromApi]=\"true\" [objectData]=\"data?.metrics?.data\" [layoutType]=\"'multipleRows-V2'\"></sb-uic-data-points>\n </div>\n <div class=\"col-span-3\"></div>\n <div class=\"col-span-12 md:col-span-9\">\n <div class=\"slider h-full\" *ngIf=\"data?.sliderData?.sliders\">\n <sb-uic-sliders [title]=\"providerName\" [widgetData]=\"data?.sliderData?.sliders\" [styleData]=\"data?.sliderData?.styleData\" [type]=\"'atictitop'\"></sb-uic-sliders>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 title-section px-5 md:py-5 mob-container\">\n <div class=\"container flex flex-col md:flex-row\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-rounded top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n </div>\n </div>\n <div class=\"w-full md:w-9/12 flex-1 flex flex-col\">\n <h1 class=\" txt-ellipsis-2 break-words\">{{data?.title || providerName}}</h1>\n <p>{{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n <div class=\"block md:hidden overflow-y-auto mb-3\">\n <sb-uic-data-points [providerId]=\"providerId\" [fetchDataFromApi]=\"true\" [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleRow-v2'\"></sb-uic-data-points>\n </div>\n <button\n (click)=\"raiseTelemetry(data?.contentButton?.title)\"\n [routerLink]=\"[data?.contentButton?.redirectUrl, providerName, providerId, 'all-CBP']\"\n [queryParams]=\"{pageDetails: true}\" mat-button type=\"button\"\n class=\"view-btn margin-left-xs margin-right-xs small-button blue-border flex-auto-display\">\n <span class=\"mat-heading-1 bold ws-mat-default-text\" i18n>\n {{data?.contentButton?.title}}\n </span>\n </button>\n </div>\n </div>\n </div>\n <!-- </div> -->\n</ng-template>\n\n<ng-template #contentStripTemplate let-data=\"data\">\n <ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex justify-center relative\">\n <img class=\"absolute {{data?.contentStrip?.sectionImagePosition}}\" src=\"{{data?.contentStrip?.sectionImage}}\" alt=\"\">\n <div class=\"container \">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"true\"\n (viewAllResponse)=\"showAllContent($event,data)\"\n (emptyResponse)=\"hideContentStrip($event, data)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n [providerId]=\"providerId\"\n [widgetData]=\"data?.contentStrip\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #contributors let-data=\"data\">\n <div class=\"contributors-background px-5 py-5\" [style.background]=\"data?.background\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 padding-top-l mb-6\">\n <div class=\"col-span-12 md:col-span-3 contributor-desc\">\n <div class=\"infra-box flex flex-col\">\n <div class=\"infra-title-v2 hidden md:block\">\n {{data.detaulTitle}}<span class=\"infra-title2-v2\">{{data.defaultTitle1}}</span>\n </div>\n <div class=\"infra-title-v2 hidden md:block\">\n {{data.myTitle}}<span class=\"infra-title2-v2\">{{data.myTitle1}}</span>\n </div>\n <div class=\"block md:hidden\">\n <span class=\"infra-title-v2\">{{data.detaulTitle}}</span>\n <span class=\"infra-title2-v2\">{{data.defaultTitle1}}</span>\n <span class=\"infra-title-v2\"> {{data.myTitle}}</span>\n <span class=\"infra-title2-v2\">{{data.myTitle1}}</span>\n </div>\n <div class=\"infra-description padding-top-s\">\n {{data.description}}\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-9\">\n <sb-uic-common-strip [widgetData]=\"data\"></sb-uic-common-strip>\n </div>\n </div>\n <div class=\"w-full section-divider pt-6\">\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #infra let-infra=\"infra\">\n <div class=\"infra-background px-5\" [style.background]=\"infra?.background\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 infra-sec margin-bottom-xl\">\n <div class=\"col-span-12 md:col-span-4 infra-sec-desc margin-bottom-xl\">\n <div class=\"infra-box flex flex-col\">\n <div class=\"infra-title2 hidden md:block\">\n {{infra?.detaulTitle}}\n </div>\n <div class=\"block md:hidden\">\n <span class=\"infra-title2\">{{infra?.detaulTitle}}</span>\n </div>\n <div class=\"infra-description padding-top-s\">\n {{infra?.description}}\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-8 margin-bottom-xl\">\n <sb-uic-data-points [objectData]=\"infra\" [layoutType]=\"'gridLayout'\"></sb-uic-data-points>\n </div>\n </div>\n </div>\n </div>\n <div class=\"infra-background slider-background\" [style.background]=\"infra?.background\">\n </div>\n <div class=\"slider-background1 mb-8\">\n <div class=\"container-balanced w-full slider-background-2\">\n <div class=\"info-slider\">\n <sb-uic-sliders class=\"infobanner\" [widgetData]=\"infra?.sliderData?.sliders\" [styleData]=\"infra?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- Start Competencies -->\n<ng-template #competency let-competency=\"competency\">\n <div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\" *ngIf=\"!hideCompetencyBlock\">\n <div class=\"w-full container-balanced\">\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook\n (emptyResponse)=\"hideCompetency($event, competency)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\"\n [objectData]=\"competency\"\n [providerId]=\"providerId\">\n </sb-uic-competency-passbook>\n </div>\n </div>\n <img class=\"absolute comp-back-img\" src=\"assets/icons/microsite/competency.svg\" alt=\"\">\n </div>\n</ng-template>\n<!-- End Competencies -->\n\n<ng-template #trainingCalendar let-trainingCalendar=\"trainingCalendar\">\n <div class=\"hidden md:block\">\n <div class=\"col-span-12 px-8 py-8\" [style.background]=\"trainingCalendar?.background\">\n <div class=\"container-balanced flex flex-col\">\n <div class=\"col-span-12 mat-subheading-1 margin-remove\">{{trainingCalendar?.title}}: {{currentMonthAndYear}}</div>\n <sb-uic-calender\n [objectData]=\"trainingCalendar\"\n [fetchDataFromApi]=\"true\"\n [layoutType]=\"'grid'\"\n [defaultDays]=\"trainingCalendar?.defaultDays\"\n [providerId]=\"providerId\">\n </sb-uic-calender>\n </div>\n <div class=\"flex item-center justify-center\">\n <button mat-button type=\"button\"\n (click)=\"raiseTelemetry(trainingCalendar?.contentButton?.title)\"\n [routerLink]=\"[trainingCalendar?.contentButton?.redirectUrl, providerName, providerId, 'training-calendar']\"\n class=\"view-btn margin-left-xs margin-right-xs small-button blue-border flex-auto-display\">\n <span class=\"mat-heading-1 bold ws-mat-default-text\" i18n>\n {{trainingCalendar?.contentButton?.title}}\n </span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"block md:hidden\">\n <div class=\"col-span-12 px-5 py-3 mob-header\">{{trainingCalendar?.title}}: {{currentMonthAndYear}}</div>\n <div class=\"col-span-12\">\n <sb-uic-calender\n [objectData]=\"trainingCalendar\"\n [fetchDataFromApi]=\"true\"\n [layoutType]=\"'row'\"\n [defaultDays]=\"trainingCalendar?.defaultDays\"\n [providerId]=\"providerId\">\n </sb-uic-calender>\n </div>\n <div class=\"col-span-12 flex item-center justify-center\">\n <button mat-button type=\"button\"\n (click)=\"raiseTelemetry(trainingCalendar?.contentButton?.title)\"\n [routerLink]=\"[trainingCalendar?.contentButton?.redirectUrl, providerName, providerId, 'training-calendar']\"\n class=\"view-btn margin-left-xs margin-right-xs small-button blue-border flex-auto-display\">\n <span class=\"mat-heading-1 bold ws-mat-default-text\" i18n>\n {{trainingCalendar?.contentButton?.title}}\n </span>\n </button>\n </div>\n </div>\n</ng-template>\n<ng-template #learnerReviewBlock let-data=\"data\">\n <div class=\"contributors-background px-5 py-5\" [style.background]=\"data?.background\" *ngIf=\"!data?.hideSection\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 padding-top-l mb-6\">\n <div class=\"col-span-12 md:col-span-4 contributor-desc\">\n <div class=\"infra-box-review flex flex-col\">\n <div class=\"learner-title hidden md:block\">\n {{data?.detaulTitle}}\n </div>\n <div class=\"infra-title2 hidden md:block\">\n {{data?.myTitle}}\n </div>\n <div class=\"block md:hidden\">\n <span class=\"learner-title\">{{data?.detaulTitle}}</span> <span class=\"infra-title2\"> {{data?.myTitle}}</span>\n </div> \n </div> \n </div>\n <div class=\"col-span-12 md:col-span-8\">\n <sb-uic-user-content-rating (emptyResponse)=\"hideLearnerReview($event, data)\" [formData]=\"data\" [providerId]=\"providerId\"></sb-uic-user-content-rating>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n",
258
- styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.section-divider{border-bottom:1px solid rgba(0,0,0,.16)}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.logo-box{vertical-align:middle;max-width:250px;background:#f5fdf1;padding:8px;border:1px solid rgba(0,0,0,.5)}.title-section{position:relative;display:flex;justify-content:center;background-color:#fff}.logo-box-container{width:180px;position:relative}@media only screen and (max-width:599px){.logo-box-container{width:112px;height:72px}}.view-btn{width:160px;background:#fff;padding:0 16px;border-radius:49px;border:1px solid #1b4ca9;font-weight:700!important;font-size:14px;margin-top:4px;margin-bottom:4px;line-height:36px;cursor:pointer}.logo-box-rounded{height:180px;width:180px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px 0 rgba(0,0,0,.06)}.logo-box-rounded .logo-img{max-width:122px}@media only screen and (max-width:599px){.view-btn{margin-top:12px;margin-bottom:16px}.logo-box-rounded{width:112px;height:112px}.logo-box-rounded .logo-img{max-width:84px}}.slider-box{max-width:30%}.stats-container{justify-content:space-around;display:flex;flex-wrap:wrap}.stats-item{display:flex;align-items:center;flex-wrap:nowrap;padding:8px 16px;margin-bottom:16px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-sec-desc{padding-top:32px}.contributors-background,.infra-background{align-items:center;justify-content:center;display:flex}.contributor-desc{align-items:center;display:inline-flex;margin-top:-24px}.infra-box{width:256px}.infra-box-review{width:100%}.infra-title-v2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#fff}.infra-title2-v2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#ef951e}.infra-title{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#fff}.infra-title2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#ef951e}.infra-description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;color:#fff;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.overlay{position:absolute;top:-20px}.slider-background{height:160px}.slider-background1{height:195px}.slider-background-2{position:relative}.info-slider{position:absolute;top:-12em;left:50%;transform:translateX(-50%)}.sticky-navigator{padding:15px 5px;background-color:#fdead5;align-items:center;overflow:auto;position:fixed;left:0;bottom:0;width:100%;z-index:1002;justify-content:center}.nav-button{padding:12px 16px;border-radius:40px;border:1px solid #000;text-align:center;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;cursor:pointer;min-width:140px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-up-arrow{height:28px}.img-left{left:0}.img-right{right:0;z-index:-1}.learner-title{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#000}@media screen and (max-width:1201px){.img-left,.img-right{display:none}}@media screen and (max-width:767px){.infra-sec{padding:0}.infra-box,.infra-box-review{width:99%;height:auto}.infra-sec-desc{padding-top:0}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:bottom 0 right 0;background-repeat:no-repeat}.infra-title,.infra-title-v2,.infra-title2,.infra-title2-v2{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.slider-background,.slider-background1{height:150px}.info-slider{position:absolute;top:-155px;width:94%}.sticky-navigator{align-items:center;justify-content:left;bottom:63px}.logo-box-rounded.top{position:absolute;top:-50px}.learner-title{font-size:16px}}.competencies-backgroud{background-color:#1b2133}.txt-ellipsis-2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.comp-back-img{bottom:0;left:0;right:0;margin-left:auto;margin-right:auto;width:50%;z-index:-1;filter:brightness(100)}.mob-header{font-family:Lato;font-size:16px;font-weight:600}.custombgsection{background:url(/assets/icons/microsite/side_banner.png) 0 0/cover no-repeat;width:40%;position:absolute;z-index:99;left:0;height:21.3em}@media screen and (min-width:768px) and (max-width:1023px){.custombgsection{height:16em!important;width:22%;padding:.75rem 1rem!important}}@media screen and (max-width:768px){::ng-deep.featuredContents .mat-tab-header{padding-left:20px}::ng-deep.topContents .mat-tab-header{padding-left:20px}}@media screen and (min-width:1023px){.custombgsection{width:38%;height:15em}}@media screen and (min-width:1014px){.info-slider{width:1014px!important}}@media screen and (min-width:1280px){.custombgsection{width:42%;height:21.3em}.infobanner.banner-container{width:1014px!important}}"]
258
+ styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.section-divider{border-bottom:1px solid rgba(0,0,0,.16)}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.logo-box{vertical-align:middle;max-width:250px;background:#f5fdf1;padding:8px;border:1px solid rgba(0,0,0,.5)}.title-section{position:relative;display:flex;justify-content:center;background-color:#fff}.logo-box-container{width:180px;position:relative}@media only screen and (max-width:599px){.logo-box-container{width:112px;height:72px}}.view-btn{width:160px;background:#fff;padding:0 16px;border-radius:49px;border:1px solid #1b4ca9;font-weight:700!important;font-size:14px;margin-top:4px;margin-bottom:4px;line-height:36px;cursor:pointer}.logo-box-rounded{height:180px;width:180px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px 0 rgba(0,0,0,.06)}.logo-box-rounded .logo-img{max-width:122px}@media only screen and (max-width:599px){.view-btn{margin-top:12px;margin-bottom:16px}.logo-box-rounded{width:112px;height:112px}.logo-box-rounded .logo-img{max-width:84px}}.slider-box{max-width:30%}.stats-container{justify-content:space-around;display:flex;flex-wrap:wrap}.stats-item{display:flex;align-items:center;flex-wrap:nowrap;padding:8px 16px;margin-bottom:16px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-sec-desc{padding-top:32px}.contributors-background,.infra-background{align-items:center;justify-content:center;display:flex}.contributor-desc{align-items:center;display:inline-flex;margin-top:-24px}.infra-box{width:256px}.infra-box-review{width:100%}.infra-title-v2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#fff}.infra-title2-v2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#ef951e}.infra-title{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#fff}.infra-title2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#ef951e}.infra-description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;color:#fff;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.overlay{position:absolute;top:-20px}.slider-background{height:160px}.slider-background1{height:195px}.slider-background-2{position:relative}.info-slider{position:absolute;top:-12em;left:50%;transform:translateX(-50%)}.sticky-navigator{padding:15px 5px;background-color:#fdead5;align-items:center;overflow:auto;position:fixed;left:0;bottom:0;width:100%;z-index:1002;justify-content:center}.nav-button{padding:12px 16px;border-radius:40px;border:1px solid #000;text-align:center;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;cursor:pointer;min-width:140px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-up-arrow{height:28px}.img-left{left:0}.img-right{right:0;z-index:-1}.learner-title{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#000}@media screen and (max-width:1201px){.img-left,.img-right{display:none}}@media screen and (max-width:767px){.infra-sec{padding:0}.infra-box,.infra-box-review{width:99%;height:auto}.infra-sec-desc{padding-top:0}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:bottom 0 right 0;background-repeat:no-repeat}.infra-title,.infra-title-v2,.infra-title2,.infra-title2-v2{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.slider-background,.slider-background1{height:150px}.info-slider{position:absolute;top:-155px;width:94%}.sticky-navigator{align-items:center;justify-content:left;bottom:63px}.logo-box-rounded.top{position:absolute;top:-50px}.learner-title{font-size:16px}}.competencies-backgroud{background-color:#1b2133}.txt-ellipsis-2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.comp-back-img{bottom:0;left:0;right:0;margin-left:auto;margin-right:auto;width:50%;z-index:-1;filter:brightness(100)}.mob-header{font-family:Lato;font-size:16px;font-weight:600}.custombgsection{background:url(/assets/icons/microsite/side_banner.png) 0 0/cover no-repeat;width:40%;position:absolute;z-index:99;left:0;height:21.3em}@media screen and (min-width:768px) and (max-width:1023px){.custombgsection{height:16em!important;width:22%;padding:.75rem 1rem!important}}@media screen and (max-width:768px){::ng-deep.featuredContents .mat-tab-header{padding-left:20px}::ng-deep.topContents .mat-tab-header{padding-left:20px}}@media screen and (min-width:1023px){.custombgsection{width:34%;height:15em}}@media screen and (min-width:1014px){.info-slider{width:1014px!important}}@media screen and (min-width:1280px){.custombgsection{width:36%;height:21.3em}.infobanner.banner-container{width:1014px!important}}"]
259
259
  }] }
260
260
  ];
261
261
  /** @nocollapse */