@sunbird-cb/consumption 0.0.45 → 0.0.46

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.
Files changed (28) hide show
  1. package/bundles/sunbird-cb-consumption.umd.js +4227 -43
  2. package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-consumption.umd.min.js +1 -1
  4. package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +34 -24
  6. package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +2794 -0
  7. package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -0
  8. package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +69 -0
  9. package/esm2015/public-api.js +2 -1
  10. package/esm2015/sunbird-cb-consumption.js +16 -15
  11. package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +46 -30
  12. package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +4119 -0
  13. package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -0
  14. package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +73 -0
  15. package/esm5/public-api.js +2 -1
  16. package/esm5/sunbird-cb-consumption.js +16 -15
  17. package/fesm2015/sunbird-cb-consumption.js +2872 -24
  18. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  19. package/fesm5/sunbird-cb-consumption.js +4211 -30
  20. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  21. package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +4 -3
  22. package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts +202 -0
  23. package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts +149 -0
  24. package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts +5 -0
  25. package/package.json +1 -1
  26. package/public-api.d.ts +1 -0
  27. package/sunbird-cb-consumption.d.ts +14 -13
  28. package/sunbird-cb-consumption.metadata.json +1 -1
@@ -17,6 +17,7 @@ var CardAssessmentComponent = /** @class */ (function () {
17
17
  this.activeResource = [];
18
18
  this.daysRemaining = 0;
19
19
  this.daysPending = false;
20
+ this.daysFinish = false;
20
21
  }
21
22
  /**
22
23
  * @return {?}
@@ -29,65 +30,69 @@ var CardAssessmentComponent = /** @class */ (function () {
29
30
  var instanceConfig = this.configSvc.instanceConfig;
30
31
  if (instanceConfig) {
31
32
  this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
32
- this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
33
- }
34
- else {
35
- this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
36
- this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
33
+ this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
37
34
  }
35
+ // console.log( this.daysPending, " this.daysPending===")
38
36
  };
37
+ // updateStartDate(data: any ):void {
38
+ // // this.startDate = startDate;
39
+ // this.startCountdown(data)
40
+ // }
41
+ // updateStartDate(data: any ):void {
42
+ // // this.startDate = startDate;
43
+ // this.startCountdown(data)
44
+ // }
39
45
  /**
40
- * @param {?} startDate
41
- * @return {?}
42
- */
43
- CardAssessmentComponent.prototype.updateStartDate = /**
44
- * @param {?} startDate
46
+ * @param {?} data
45
47
  * @return {?}
46
48
  */
47
- function (startDate) {
48
- this.startDate = startDate;
49
- this.startCountdown(this.startDate);
50
- };
49
+ CardAssessmentComponent.prototype.startCountdown =
50
+ // updateStartDate(data: any ):void {
51
+ // // this.startDate = startDate;
52
+ // this.startCountdown(data)
53
+ // }
51
54
  /**
52
- * @param {?} date
55
+ * @param {?} data
53
56
  * @return {?}
54
57
  */
55
- CardAssessmentComponent.prototype.startCountdown = /**
56
- * @param {?} date
57
- * @return {?}
58
- */
59
- function (date) {
58
+ function (data) {
60
59
  var _this = this;
61
- // Update the countdown immediately on start
62
- this.updateCountdown(date);
60
+ this.updateCountdown(data.startDate, data.endDate);
63
61
  // Update the countdown every second
64
62
  this.intervalId = setInterval((/**
65
63
  * @return {?}
66
64
  */
67
65
  function () {
68
- _this.updateCountdown(date);
66
+ _this.updateCountdown(data.startDate, data.endDate);
69
67
  }), 1000);
70
68
  };
71
69
  // Method to update the countdown values
72
70
  // Method to update the countdown values
73
71
  /**
74
- * @param {?} targetDate
72
+ * @param {?} startDate
73
+ * @param {?} endDate
75
74
  * @return {?}
76
75
  */
77
76
  CardAssessmentComponent.prototype.updateCountdown =
78
77
  // Method to update the countdown values
79
78
  /**
80
- * @param {?} targetDate
79
+ * @param {?} startDate
80
+ * @param {?} endDate
81
81
  * @return {?}
82
82
  */
83
- function (targetDate) {
83
+ function (startDate, endDate) {
84
84
  /** @type {?} */
85
85
  var now = new Date().getTime();
86
86
  // Current time in milliseconds
87
87
  /** @type {?} */
88
- var targetTime = new Date(targetDate).getTime();
88
+ var targetTime = new Date(startDate).getTime();
89
+ /** @type {?} */
90
+ var targetEndDate = new Date(endDate).getTime();
89
91
  /** @type {?} */
90
92
  var distance = targetTime - now;
93
+ // Distance in milliseconds
94
+ /** @type {?} */
95
+ var endDistance = now - targetEndDate;
91
96
  if (distance > 0) {
92
97
  this.daysRemaining = Math.ceil(distance / (1000 * 60 * 60 * 24));
93
98
  this.daysPending = true;
@@ -97,6 +102,13 @@ var CardAssessmentComponent = /** @class */ (function () {
97
102
  this.daysPending = false;
98
103
  this.clearTimer();
99
104
  }
105
+ if (endDistance > 0) {
106
+ this.daysFinish = true;
107
+ this.clearTimer();
108
+ }
109
+ else {
110
+ this.daysFinish = false;
111
+ }
100
112
  };
101
113
  // Method to clear the interval
102
114
  // Method to clear the interval
@@ -140,8 +152,8 @@ var CardAssessmentComponent = /** @class */ (function () {
140
152
  CardAssessmentComponent.decorators = [
141
153
  { type: Component, args: [{
142
154
  selector: 'sb-uic-card-assessment',
143
- template: "<ng-container *ngIf=\"!isCardLoading\">\n<ng-container >\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t<a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n\t\t<div class=\"display-contents\">\n\t\t\t<ng-container *ngIf=\"widgetData\">\n\t\t\t\t<mat-card-content>\n\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<img mat-card-image class=\"margin-remove assess-img\" [src]=\"widgetData?.content?.posterImage | pipePublicURL\"\n\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\">\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<ng-template #defaultImg>\n\t\t\t\t\t\t\t\t\t\t<img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"card-wide-img ws-mat-primary-lite-background margin-remove assess-img\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\" />\n\t\t\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t<div class=\"flex title-text mat-subheading-1\">\n\t\t\t\t\t\t\t\t\t{{ widgetData?.content?.name }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-s font-normal mat-caption sub-title-text\">\n\t\t\t\t\t\t\t\t\t<div class=\"course_logo_box\">\n\t\t\t\t\t\t\t\t\t\t<img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\"\n\t\t\t\t\t\t\t\t\t\t\t[wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span class=\"sub-title-text\">\n\t\t\t\t\t\t\t\t\t\t{{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n\t\t\t\t\t\t\t\t\t\twidgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"start-span\">Assessment starts in </span>\n\t\t\t\t\t\t<mat-card-footer class=\"assessment-card-footer padding-m\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"daysPending\"> {{ startCountdown(widgetData?.content?.batch?.startDate) }}<div id=\"demo\"></div> </span>\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"!daysPending\" class=\"start-btn\"> Start Assessment\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<span class=\"time-span flex items-center justify-center\">{{widgetData?.content?.batch?.startDate | date: 'd MMM, y' }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t</div>\n\t\t\t\t</mat-card-content>\n\t\t\t</ng-container>\n\t\t</div>\n\t</a>\n</mat-card>\n</ng-container>\n</ng-container>\n\n\n\n<ng-container *ngIf=\"isCardLoading\">\n\t<ng-container [ngTemplateOutlet]=\"skeltonLoader\"></ng-container>\n</ng-container>\n\n<ng-template #skeltonLoader>\n\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t\t<a>\n\t\t\t<div class=\"display-contents\">\n\t\t\t\t<ng-container>\n\t\t\t\t\t<mat-card-content>\n\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t\t<ng-container>\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'300px'\" [height]=\"'155px'\"\n\t\t\t\t\t\t\t\t\t\t\t></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-l font-normal\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <span class=\"text-center\"><sb-uic-skeleton-loader [width]=\"'90px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader> </span> -->\n\t\t\t\t\t\t\t<mat-card-footer\n\t\t\t\t\t\t\t\tclass=\"assessment-card-footer col-row padding-l\">\n\t\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</mat-card-content>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</a>\n\t</mat-card>\n</ng-template>",
144
- styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:335px;margin-top:16px}.image-container{width:155px;height:120px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.title-container{margin-left:12px}.title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;font:600 14px/24px Montserrat}.sub-title-text{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;margin-right:4px;box-shadow:0 2px 1px -1px rgb(0 0 0 / 20%),0 1px 1px 0 rgb(0 0 0 / 14%),0 1px 3px 0 rgb(0 0 0 / 12%)}.course_logo_box img.source-icon{height:28px;width:28px;padding:5px;display:inline-block}.mat-card-footer{margin:0!important}.time-span{padding:2px 8px;color:#fff;border-radius:4px;text-align:center;font-size:12px;background-color:green}span.start-span{border-radius:50px;border:2px solid rgba(0,0,0,.08);font-size:12px;text-align:center;position:absolute;bottom:0;width:140px;left:50%;margin-left:-70px;background-color:#fff;margin-bottom:62px;margin-right:8px}.assessment-card-footer{background:rgba(239,149,30,.16)!important;text-align:center;box-sizing:border-box}.start-btn{background:#1b4ca1!important;color:#fff;font-size:14px;font-weight:600;border-radius:25px;text-align:center;padding:4px 12px}.dots-container{display:none}"]
155
+ template: "\n<ng-container *ngIf=\"!isCardLoading\">\n\t<ng-container *ngIf=\"!daysFinish\">\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t<a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n\t\t<div class=\"display-contents\">\n\t\t\t<ng-container *ngIf=\"widgetData\">\n\t\t\t\t<mat-card-content>\n\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<img mat-card-image class=\"margin-remove assess-img\" [src]=\"widgetData?.content?.posterImage | pipePublicURL\"\n\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\">\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<ng-template #defaultImg>\n\t\t\t\t\t\t\t\t\t\t<img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"card-wide-img ws-mat-primary-lite-background margin-remove assess-img\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\" />\n\t\t\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t<div class=\"flex title-text mat-subheading-1\">\n\t\t\t\t\t\t\t\t\t{{ widgetData?.content?.name }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-s font-normal mat-caption sub-title-text\">\n\t\t\t\t\t\t\t\t\t<div class=\"course_logo_box\">\n\t\t\t\t\t\t\t\t\t\t<img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\"\n\t\t\t\t\t\t\t\t\t\t\t[wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span class=\"sub-title-text\">\n\t\t\t\t\t\t\t\t\t\t{{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n\t\t\t\t\t\t\t\t\t\twidgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"start-span\">Assessment starts in </span>\n\t\t\t\t\t\t<mat-card-footer class=\"assessment-card-footer padding-m\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"daysPending\"> {{ startCountdown(widgetData?.content?.batch?.startDate) }}<div id=\"demo\"></div> </span>\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"!daysPending\" class=\"start-btn\"> Start Assessment </span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<span class=\"time-span flex items-center justify-center\">{{widgetData?.content?.batch?.startDate | date: 'd MMM, y' }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t</div>\n\t\t\t\t</mat-card-content>\n\t\t\t</ng-container>\n\t\t</div>\n\t</a>\n</mat-card>\n</ng-container>\n</ng-container>\n\n\n\n<ng-container *ngIf=\"isCardLoading\">\n\t<ng-container [ngTemplateOutlet]=\"skeltonLoader\"></ng-container>\n</ng-container>\n\n<ng-template #skeltonLoader>\n\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t\t<a>\n\t\t\t<div class=\"display-contents\">\n\t\t\t\t<ng-container>\n\t\t\t\t\t<mat-card-content>\n\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t\t<ng-container>\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'300px'\" [height]=\"'155px'\"\n\t\t\t\t\t\t\t\t\t\t\t></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex title-container flex-col margin-top-m\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-l font-normal\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <span class=\"text-center\"><sb-uic-skeleton-loader [width]=\"'90px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader> </span> -->\n\t\t\t\t\t\t\t<mat-card-footer\n\t\t\t\t\t\t\t\tclass=\"assessment-card-footer col-row padding-l\">\n\t\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</mat-card-content>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</a>\n\t</mat-card>\n</ng-template>\n\n",
156
+ styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:340px;margin-top:16px;margin-right:12px;border-radius:12px}.image-container{width:145px;height:120px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.image-container img{border-radius:8px;opacity:1;background-size:100%;width:145px!important;height:120px!important;display:flex}.title-container{width:155px;margin-left:12px}.title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;font:600 14px/24px Montserrat}.sub-title-text{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;margin-right:4px;box-shadow:0 2px 1px -1px rgb(0 0 0 / 20%),0 1px 1px 0 rgb(0 0 0 / 14%),0 1px 3px 0 rgb(0 0 0 / 12%)}.course_logo_box img.source-icon{height:28px;width:28px;padding:5px;display:inline-block}.mat-card-footer{margin:0!important}.time-span{padding:2px 8px;color:#fff;border-radius:4px;text-align:center;font-size:12px;background-color:green;width:75px}span.start-span{border-radius:50px;border:2px solid rgba(0,0,0,.08);font-size:12px;text-align:center;position:absolute;bottom:0;width:140px;left:50%;margin-left:-70px;background-color:#fff;margin-bottom:62px;margin-right:8px}.assessment-card-footer{background:rgba(239,149,30,.16)!important;text-align:center;box-sizing:border-box;border-radius:0 0 8px 8px}.start-btn{background:#1b4ca1!important;color:#fff;font-size:14px;font-weight:600;border-radius:25px;text-align:center;padding:4px 12px}.dots-container{display:none}"]
145
157
  }] }
146
158
  ];
147
159
  /** @nocollapse */
@@ -182,7 +194,11 @@ if (false) {
182
194
  /** @type {?} */
183
195
  CardAssessmentComponent.prototype.startDate;
184
196
  /** @type {?} */
197
+ CardAssessmentComponent.prototype.endDate;
198
+ /** @type {?} */
185
199
  CardAssessmentComponent.prototype.daysPending;
200
+ /** @type {?} */
201
+ CardAssessmentComponent.prototype.daysFinish;
186
202
  /**
187
203
  * @type {?}
188
204
  * @private
@@ -199,4 +215,4 @@ if (false) {
199
215
  */
200
216
  CardAssessmentComponent.prototype.contSvc;
201
217
  }
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1hc3Nlc3NtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vY2FyZHMvY2FyZC1hc3Nlc3NtZW50L2NhcmQtYXNzZXNzbWVudC9jYXJkLWFzc2Vzc21lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEY7SUF1QkUsaUNBQW9CLFNBQWdDLEVBQVUsT0FBNkI7UUFBdkUsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVhqRixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdEMsa0JBQWEsR0FBWSxLQUFLLENBQUE7UUFDdkMsY0FBUyxHQUFRLEVBQUUsQ0FBQTtRQUNuQixlQUFVLEdBQVEsRUFBRSxDQUFBO1FBQ3BCLG1CQUFjLEdBQU8sRUFBRSxDQUFBO1FBR3ZCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsS0FBSyxDQUFBO0lBRXFFLENBQUM7Ozs7SUFFakcsMENBQVE7OztJQUFSOztZQUNRLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWM7UUFDcEQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtZQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLElBQUksNERBQTRE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O0lBQzFCLDRDQUFhOztJQUNiLDhDQUEyQjs7Ozs7SUFDM0IsNkNBQXdCOzs7OztJQUNaLDRDQUF3Qzs7Ozs7SUFBRSwwQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgeyBXaWRnZXRVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgTnNDb250ZW50IH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInO1xuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jYXJkLWFzc2Vzc21lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1hc3Nlc3NtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1hc3Nlc3NtZW50LmNvbXBvbmVudC5jc3MnXVxufSlcblxuLy8gQERpcmVjdGl2ZSh7XG4vLyAgIHNlbGVjdG9yOiAnW2NhbGxGdW5jdGlvbk9uSW5pdF0nXG4vLyB9KVxuZXhwb3J0IGNsYXNzIENhcmRBc3Nlc3NtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd2lkZ2V0RGF0YSE6IE5zQ29udGVudC5JQ29udGVudDtcbiAgQElucHV0KCkgZW5yb2xsbWVudE1hcERhdGE6IGFueVxuICBAT3V0cHV0KCkgY29udGVudERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBASW5wdXQoKSBpc0NhcmRMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgc3RyaXBEYXRhOiBhbnkgPSBbXVxuICBlbnJvbGxMaXN0OiBhbnkgPSBbXVxuICBhY3RpdmVSZXNvdXJjZTogYW55ID1bXVxuICBkZWZhdWx0VGh1bWJuYWlsOiBhbnlcbiAgZGVmYXVsdFNMb2dvOiBhbnlcbiAgZGF5c1JlbWFpbmluZzogbnVtYmVyID0gMDtcbiAgc3RhcnREYXRlOmFueVxuICBkYXlzUGVuZGluZzpib29sZWFuID0gZmFsc2VcbiAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsIHByaXZhdGUgY29udFN2YzogV2lkZ2V0Q29udGVudFNlcnZpY2UsKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnN0YW5jZUNvbmZpZyA9IHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnXG4gICAgaWYgKGluc3RhbmNlQ29uZmlnKSB7XG4gICAgICB0aGlzLmRlZmF1bHRUaHVtYm5haWwgPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0Q29udGVudCB8fCAnJ1xuICAgICAgdGhpcy5kZWZhdWx0U0xvZ28gPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0U291cmNlTG9nbyB8fCAnL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL0thcm1heW9naUJoYXJhdF9Mb2dvLnN2ZydcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZhdWx0VGh1bWJuYWlsID0gJy9hc3NldHMvaW5zdGFuY2VzL2VhZ2xlL2FwcF9sb2dvcy9kZWZhdWx0LnBuZydcbiAgICAgIHRoaXMuZGVmYXVsdFNMb2dvID0gICcvYXNzZXRzL2luc3RhbmNlcy9lYWdsZS9hcHBfbG9nb3MvS2FybWF5b2dpQmhhcmF0X0xvZ28uc3ZnJ1xuICAgIH1cblxuICB9XG5cbiAgdXBkYXRlU3RhcnREYXRlKHN0YXJ0RGF0ZTogc3RyaW5nIHwgbnVsbCk6dm9pZCB7XG4gICAgdGhpcy5zdGFydERhdGUgPSBzdGFydERhdGU7ICAgICBcbiAgICB0aGlzLnN0YXJ0Q291bnRkb3duKHRoaXMuc3RhcnREYXRlKVxuICB9XG5cbiAgIHN0YXJ0Q291bnRkb3duKGRhdGU6YW55KTogdm9pZCB7XG4gICAgLy8gVXBkYXRlIHRoZSBjb3VudGRvd24gaW1tZWRpYXRlbHkgb24gc3RhcnRcbiAgICB0aGlzLnVwZGF0ZUNvdW50ZG93bihkYXRlKTtcblxuICAgIC8vIFVwZGF0ZSB0aGUgY291bnRkb3duIGV2ZXJ5IHNlY29uZFxuICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ291bnRkb3duKGRhdGUpO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgLy8gTWV0aG9kIHRvIHVwZGF0ZSB0aGUgY291bnRkb3duIHZhbHVlc1xuICAgdXBkYXRlQ291bnRkb3duKHRhcmdldERhdGU6YW55KTogdm9pZCB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7IC8vIEN1cnJlbnQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiAgICBjb25zdCB0YXJnZXRUaW1lID0gbmV3IERhdGUodGFyZ2V0RGF0ZSkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGRpc3RhbmNlID0gdGFyZ2V0VGltZSAtIG5vdzsgLy8gRGlzdGFuY2UgaW4gbWlsbGlzZWNvbmRzXG4gICAgaWYgKGRpc3RhbmNlID4gMCkge1xuICAgICAgdGhpcy5kYXlzUmVtYWluaW5nID0gTWF0aC5jZWlsKGRpc3RhbmNlIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTtcbiAgICAgIHRoaXMuZGF5c1BlbmRpbmcgPSB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF5c1JlbWFpbmluZyA9IDA7XG4gICAgICB0aGlzLmRheXNQZW5kaW5nID0gZmFsc2VcbiAgICAgIHRoaXMuY2xlYXJUaW1lcigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ldGhvZCB0byBjbGVhciB0aGUgaW50ZXJ2YWxcbiAgY2xlYXJUaW1lcigpOiB2b2lkIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgfVxuXG4gIGdldFJlZGlyZWN0VXJsRGF0YShjb250ZW50RGF0YTogYW55KXtcbiAgICAvLyBmb3IgdGVsZW1ldHJ5XG4gICAgaWYgKHRoaXMud2lkZ2V0RGF0YSAmJiB0aGlzLndpZGdldERhdGEuY29udGV4dCAmJiB0aGlzLndpZGdldERhdGEuY29udGV4dC5wYWdlU2VjdGlvbikge1xuICAgICAgY29udGVudERhdGFbJ3R5cGVPZlRlbGVtZXRyeSddID0gdGhpcy53aWRnZXREYXRhLmNvbnRleHQucGFnZVNlY3Rpb25cbiAgICB9XG4gICAgdGhpcy5jb250U3ZjLmNoYW5nZVRlbGVtZXRyeURhdGEoY29udGVudERhdGEpXG4gICAgLy8gZm9yIHJlZGlyZWN0aW9uXG4gICAgdGhpcy5jb250ZW50RGF0YS5lbWl0KGNvbnRlbnREYXRhKVxuICB9XG5cbn1cbiJdfQ==
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1hc3Nlc3NtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vY2FyZHMvY2FyZC1hc3Nlc3NtZW50L2NhcmQtYXNzZXNzbWVudC9jYXJkLWFzc2Vzc21lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEY7SUF5QkUsaUNBQW9CLFNBQWdDLEVBQVUsT0FBNkI7UUFBdkUsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQWJqRixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdEMsa0JBQWEsR0FBWSxLQUFLLENBQUE7UUFDdkMsY0FBUyxHQUFRLEVBQUUsQ0FBQTtRQUNuQixlQUFVLEdBQVEsRUFBRSxDQUFBO1FBQ3BCLG1CQUFjLEdBQU8sRUFBRSxDQUFBO1FBR3ZCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBRzFCLGdCQUFXLEdBQVcsS0FBSyxDQUFBO1FBQzNCLGVBQVUsR0FBVyxLQUFLLENBQUE7SUFFc0UsQ0FBQzs7OztJQUVqRywwQ0FBUTs7O0lBQVI7O1lBQ1EsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYztRQUNwRCxJQUFJLGNBQWMsRUFBRTtZQUNsQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFBO1lBQ2pFLElBQUksQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDLEtB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O0NBQUEsQUEvRkQsSUErRkM7U0F0RlksdUJBQXVCOzs7SUFDbEMsNkNBQXlDOztJQUN6QyxvREFBK0I7O0lBQy9CLDhDQUErQzs7SUFDL0MsZ0RBQXVDOztJQUN2Qyw0Q0FBbUI7O0lBQ25CLDZDQUFvQjs7SUFDcEIsaURBQXVCOztJQUN2QixtREFBcUI7O0lBQ3JCLCtDQUFpQjs7SUFDakIsZ0RBQTBCOztJQUMxQiw0Q0FBYTs7SUFDYiwwQ0FBVzs7SUFDWCw4Q0FBMkI7O0lBQzNCLDZDQUEwQjs7Ozs7SUFDMUIsNkNBQXdCOzs7OztJQUNaLDRDQUF3Qzs7Ozs7SUFBRSwwQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgeyBXaWRnZXRVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgTnNDb250ZW50IH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInO1xuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jYXJkLWFzc2Vzc21lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1hc3Nlc3NtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1hc3Nlc3NtZW50LmNvbXBvbmVudC5jc3MnXVxufSlcblxuLy8gQERpcmVjdGl2ZSh7XG4vLyAgIHNlbGVjdG9yOiAnW2NhbGxGdW5jdGlvbk9uSW5pdF0nXG4vLyB9KVxuZXhwb3J0IGNsYXNzIENhcmRBc3Nlc3NtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd2lkZ2V0RGF0YSE6IE5zQ29udGVudC5JQ29udGVudDtcbiAgQElucHV0KCkgZW5yb2xsbWVudE1hcERhdGE6IGFueVxuICBAT3V0cHV0KCkgY29udGVudERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBASW5wdXQoKSBpc0NhcmRMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgc3RyaXBEYXRhOiBhbnkgPSBbXVxuICBlbnJvbGxMaXN0OiBhbnkgPSBbXVxuICBhY3RpdmVSZXNvdXJjZTogYW55ID1bXVxuICBkZWZhdWx0VGh1bWJuYWlsOiBhbnlcbiAgZGVmYXVsdFNMb2dvOiBhbnlcbiAgZGF5c1JlbWFpbmluZzogbnVtYmVyID0gMDtcbiAgc3RhcnREYXRlOmFueVxuICBlbmREYXRlOmFueVxuICBkYXlzUGVuZGluZzpib29sZWFuID0gZmFsc2VcbiAgZGF5c0ZpbmlzaDpib29sZWFuID0gZmFsc2VcbiAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsIHByaXZhdGUgY29udFN2YzogV2lkZ2V0Q29udGVudFNlcnZpY2UsKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnN0YW5jZUNvbmZpZyA9IHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnXG4gICAgaWYgKGluc3RhbmNlQ29uZmlnKSB7XG4gICAgICB0aGlzLmRlZmF1bHRUaHVtYm5haWwgPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0Q29udGVudCB8fCAnJ1xuICAgICAgdGhpcy5kZWZhdWx0U0xvZ28gPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0U291cmNlTG9nbyB8fCAnJ1xuICAgIH0gXG5cbiAgICAvLyBjb25zb2xlLmxvZyggdGhpcy5kYXlzUGVuZGluZywgXCIgdGhpcy5kYXlzUGVuZGluZz09PVwiKVxuXG4gIH1cblxuICAvLyB1cGRhdGVTdGFydERhdGUoZGF0YTogYW55ICk6dm9pZCB7XG4gIC8vICAgLy8gdGhpcy5zdGFydERhdGUgPSBzdGFydERhdGU7ICAgICBcbiAgLy8gICB0aGlzLnN0YXJ0Q291bnRkb3duKGRhdGEpXG4gIC8vIH1cblxuICAgc3RhcnRDb3VudGRvd24oZGF0YTphbnkpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvdW50ZG93bihkYXRhLnN0YXJ0RGF0ZSwgZGF0YS5lbmREYXRlKTtcblxuICAgIC8vIFVwZGF0ZSB0aGUgY291bnRkb3duIGV2ZXJ5IHNlY29uZFxuICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ291bnRkb3duKGRhdGEuc3RhcnREYXRlLCBkYXRhLmVuZERhdGUpO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgLy8gTWV0aG9kIHRvIHVwZGF0ZSB0aGUgY291bnRkb3duIHZhbHVlc1xuICAgdXBkYXRlQ291bnRkb3duKHN0YXJ0RGF0ZTphbnksIGVuZERhdGU6YW55KTogdm9pZCB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7IC8vIEN1cnJlbnQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiAgICBjb25zdCB0YXJnZXRUaW1lID0gbmV3IERhdGUoc3RhcnREYXRlKS5nZXRUaW1lKCk7XG4gICAgY29uc3QgdGFyZ2V0RW5kRGF0ZSA9IG5ldyBEYXRlKGVuZERhdGUpLmdldFRpbWUoKTtcbiAgICBjb25zdCBkaXN0YW5jZSA9IHRhcmdldFRpbWUgLSBub3c7IC8vIERpc3RhbmNlIGluIG1pbGxpc2Vjb25kc1xuICAgIGNvbnN0IGVuZERpc3RhbmNlID0gbm93IC0gdGFyZ2V0RW5kRGF0ZVxuICAgIGlmIChkaXN0YW5jZSA+IDApIHtcbiAgICAgIHRoaXMuZGF5c1JlbWFpbmluZyA9IE1hdGguY2VpbChkaXN0YW5jZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG4gICAgICB0aGlzLmRheXNQZW5kaW5nID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRheXNSZW1haW5pbmcgPSAwO1xuICAgICAgdGhpcy5kYXlzUGVuZGluZyA9IGZhbHNlXG4gICAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgICB9XG5cbiAgICBpZihlbmREaXN0YW5jZSA+IDApIHtcbiAgICAgIHRoaXMuZGF5c0ZpbmlzaCA9ICB0cnVlXG4gICAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXlzRmluaXNoID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICAvLyBNZXRob2QgdG8gY2xlYXIgdGhlIGludGVydmFsXG4gIGNsZWFyVGltZXIoKTogdm9pZCB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhclRpbWVyKCk7XG4gIH1cblxuICBnZXRSZWRpcmVjdFVybERhdGEoY29udGVudERhdGE6IGFueSl7XG4gICAgLy8gZm9yIHRlbGVtZXRyeVxuICAgIGlmICh0aGlzLndpZGdldERhdGEgJiYgdGhpcy53aWRnZXREYXRhLmNvbnRleHQgJiYgdGhpcy53aWRnZXREYXRhLmNvbnRleHQucGFnZVNlY3Rpb24pIHtcbiAgICAgIGNvbnRlbnREYXRhWyd0eXBlT2ZUZWxlbWV0cnknXSA9IHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0LnBhZ2VTZWN0aW9uXG4gICAgfVxuICAgIHRoaXMuY29udFN2Yy5jaGFuZ2VUZWxlbWV0cnlEYXRhKGNvbnRlbnREYXRhKVxuICAgIC8vIGZvciByZWRpcmVjdGlvblxuICAgIHRoaXMuY29udGVudERhdGEuZW1pdChjb250ZW50RGF0YSlcbiAgfVxuXG59XG4iXX0=