@sunbird-cb/consumption 0.0.42 → 0.0.44

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 (62) hide show
  1. package/bundles/sunbird-cb-consumption.umd.js +1243 -165
  2. package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-consumption.umd.min.js +2 -2
  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 +175 -0
  6. package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +261 -0
  7. package/esm2015/lib/_common/cards/cards.component.js +24 -25
  8. package/esm2015/lib/_common/cards/cards.module.js +28 -3
  9. package/esm2015/lib/_common/content-progress/content-progress.component.js +89 -0
  10. package/esm2015/lib/_common/content-progress/content-progress.module.js +22 -0
  11. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +43 -2
  12. package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +225 -0
  13. package/esm2015/lib/_common/dialog-components/dialog-components.module.js +43 -0
  14. package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
  15. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +28 -0
  16. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +19 -0
  17. package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +2 -2
  18. package/esm2015/lib/_services/certificate.service.js +63 -0
  19. package/esm2015/lib/_services/multilingual-translations.service.js +27 -24
  20. package/esm2015/lib/_services/widget-content.service.js +1 -2
  21. package/esm2015/lib/consumption.module.js +1 -1
  22. package/esm2015/public-api.js +2 -1
  23. package/esm2015/sunbird-cb-consumption.js +34 -26
  24. package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +202 -0
  25. package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +278 -0
  26. package/esm5/lib/_common/cards/cards.component.js +28 -17
  27. package/esm5/lib/_common/cards/cards.module.js +28 -3
  28. package/esm5/lib/_common/content-progress/content-progress.component.js +94 -0
  29. package/esm5/lib/_common/content-progress/content-progress.module.js +26 -0
  30. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +58 -8
  31. package/esm5/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +248 -0
  32. package/esm5/lib/_common/dialog-components/dialog-components.module.js +47 -0
  33. package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
  34. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.js +57 -0
  35. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.module.js +23 -0
  36. package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +3 -3
  37. package/esm5/lib/_services/certificate.service.js +70 -0
  38. package/esm5/lib/_services/multilingual-translations.service.js +27 -24
  39. package/esm5/lib/_services/widget-content.service.js +1 -2
  40. package/esm5/lib/consumption.module.js +1 -1
  41. package/esm5/public-api.js +2 -1
  42. package/esm5/sunbird-cb-consumption.js +34 -26
  43. package/fesm2015/sunbird-cb-consumption.js +1074 -136
  44. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  45. package/fesm5/sunbird-cb-consumption.js +1210 -140
  46. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  47. package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +28 -0
  48. package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +41 -0
  49. package/lib/_common/cards/cards.component.d.ts +5 -3
  50. package/lib/_common/content-progress/content-progress.component.d.ts +13 -0
  51. package/lib/_common/content-progress/content-progress.module.d.ts +2 -0
  52. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +2 -0
  53. package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +22 -0
  54. package/lib/_common/dialog-components/dialog-components.module.d.ts +2 -0
  55. package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +4 -0
  56. package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +2 -0
  57. package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -1
  58. package/lib/_services/certificate.service.d.ts +8 -0
  59. package/package.json +1 -1
  60. package/public-api.d.ts +1 -0
  61. package/sunbird-cb-consumption.d.ts +32 -24
  62. package/sunbird-cb-consumption.metadata.json +1 -1
@@ -0,0 +1,248 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { Component, Inject } from '@angular/core';
7
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
8
+ import { TranslateService } from '@ngx-translate/core';
9
+ import { EventService, MultilingualTranslationsService, WsEvents } from '@sunbird-cb/utils-v2';
10
+ import { jsPDF } from 'jspdf';
11
+ var CertificateDialogComponent = /** @class */ (function () {
12
+ function CertificateDialogComponent(environment, events, translate, langtranslations, dialogRef, data) {
13
+ var _this = this;
14
+ this.events = events;
15
+ this.translate = translate;
16
+ this.langtranslations = langtranslations;
17
+ this.dialogRef = dialogRef;
18
+ this.data = data;
19
+ this.navUrl = '';
20
+ this.environment = environment;
21
+ this.langtranslations.languageSelectedObservable.subscribe((/**
22
+ * @return {?}
23
+ */
24
+ function () {
25
+ if (localStorage.getItem('websiteLanguage')) {
26
+ _this.translate.setDefaultLang('en');
27
+ /** @type {?} */
28
+ var lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
29
+ _this.translate.use(lang);
30
+ }
31
+ }));
32
+ }
33
+ /**
34
+ * @return {?}
35
+ */
36
+ CertificateDialogComponent.prototype.ngOnInit = /**
37
+ * @return {?}
38
+ */
39
+ function () {
40
+ this.url = this.data.cet;
41
+ // tslint:disable-next-line:max-line-length
42
+ this.navUrl = "https://www.linkedin.com/sharing/share-offsite/?url=" + this.environment.contentHost + "/apis/public/v8/cert/download/" + this.data.certId;
43
+ };
44
+ /**
45
+ * @return {?}
46
+ */
47
+ CertificateDialogComponent.prototype.downloadCert = /**
48
+ * @return {?}
49
+ */
50
+ function () {
51
+ this.raiseIntreactTelemetry('svg');
52
+ /** @type {?} */
53
+ var a = document.createElement('a');
54
+ a.href = this.data.cet;
55
+ a.download = 'Certificate';
56
+ document.body.appendChild(a);
57
+ a.style = 'display: none';
58
+ a.click();
59
+ a.remove();
60
+ };
61
+ /**
62
+ * @return {?}
63
+ */
64
+ CertificateDialogComponent.prototype.downloadCertPng = /**
65
+ * @return {?}
66
+ */
67
+ function () {
68
+ this.raiseIntreactTelemetry('png');
69
+ /** @type {?} */
70
+ var uriData = this.data.cet;
71
+ /** @type {?} */
72
+ var img = new Image();
73
+ img.src = uriData;
74
+ img.width = 1820;
75
+ img.height = 1000;
76
+ img.onload = (/**
77
+ * @return {?}
78
+ */
79
+ function () {
80
+ var _a;
81
+ /** @type {?} */
82
+ var canvas = document.createElement('canvas');
83
+ _a = tslib_1.__read([img.width, img.height], 2), canvas.width = _a[0], canvas.height = _a[1];
84
+ /** @type {?} */
85
+ var ctx = canvas.getContext('2d');
86
+ if (ctx) {
87
+ // ctx.imageSmoothingEnabled = true
88
+ ctx.drawImage(img, 0, 0, img.width, img.height);
89
+ /** @type {?} */
90
+ var a = document.createElement('a');
91
+ /** @type {?} */
92
+ var quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
93
+ ;
94
+ a.href = canvas.toDataURL('image/png', quality);
95
+ a.download = 'Certificate';
96
+ a.append(canvas);
97
+ a.click();
98
+ a.remove();
99
+ }
100
+ });
101
+ };
102
+ /**
103
+ * @return {?}
104
+ */
105
+ CertificateDialogComponent.prototype.downloadCertPdf = /**
106
+ * @return {?}
107
+ */
108
+ function () {
109
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
110
+ var uriData, img;
111
+ return tslib_1.__generator(this, function (_a) {
112
+ this.raiseIntreactTelemetry('pdf');
113
+ uriData = this.data.cet;
114
+ img = new Image();
115
+ img.src = uriData;
116
+ img.width = 1820;
117
+ img.height = 1000;
118
+ img.onload = (/**
119
+ * @return {?}
120
+ */
121
+ function () {
122
+ var _a;
123
+ /** @type {?} */
124
+ var canvas = document.createElement('canvas');
125
+ _a = tslib_1.__read([img.width, img.height], 2), canvas.width = _a[0], canvas.height = _a[1];
126
+ /** @type {?} */
127
+ var ctx = canvas.getContext('2d');
128
+ if (ctx) {
129
+ ctx.drawImage(img, 0, 0, img.width, img.height);
130
+ /** @type {?} */
131
+ var quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
132
+ ;
133
+ // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
134
+ /** @type {?} */
135
+ var dataImg = canvas.toDataURL('application/pdf', quality);
136
+ /** @type {?} */
137
+ var pdf = new jsPDF('landscape', 'px', 'a4')
138
+ // add the image to the PDF
139
+ ;
140
+ // add the image to the PDF
141
+ pdf.addImage(dataImg, 10, 20, 600, 350);
142
+ // download the PDF
143
+ pdf.save('Certificate.pdf');
144
+ }
145
+ });
146
+ return [2 /*return*/];
147
+ });
148
+ });
149
+ };
150
+ /**
151
+ * @return {?}
152
+ */
153
+ CertificateDialogComponent.prototype.shareCert = /**
154
+ * @return {?}
155
+ */
156
+ function () {
157
+ this.raiseShareIntreactTelemetry('share');
158
+ return window.open(this.navUrl, '_blank');
159
+ };
160
+ /**
161
+ * @param {?=} type
162
+ * @param {?=} action
163
+ * @return {?}
164
+ */
165
+ CertificateDialogComponent.prototype.raiseShareIntreactTelemetry = /**
166
+ * @param {?=} type
167
+ * @param {?=} action
168
+ * @return {?}
169
+ */
170
+ function (type, action) {
171
+ this.events.raiseInteractTelemetry({
172
+ type: WsEvents.EnumInteractTypes.CLICK,
173
+ id: type + "-" + WsEvents.EnumInteractSubTypes.CERTIFICATE,
174
+ subType: action && action,
175
+ }, {
176
+ id: this.data.certId,
177
+ // id of the certificate
178
+ type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
179
+ });
180
+ };
181
+ /**
182
+ * @param {?=} action
183
+ * @return {?}
184
+ */
185
+ CertificateDialogComponent.prototype.raiseIntreactTelemetry = /**
186
+ * @param {?=} action
187
+ * @return {?}
188
+ */
189
+ function (action) {
190
+ this.events.raiseInteractTelemetry({
191
+ type: WsEvents.EnumInteractTypes.CLICK,
192
+ id: 'download-certificate',
193
+ subType: action && action,
194
+ }, {
195
+ id: this.data.certId,
196
+ // id of the certificate
197
+ type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
198
+ });
199
+ };
200
+ CertificateDialogComponent.decorators = [
201
+ { type: Component, args: [{
202
+ selector: 'sb-uic-certificate-dialog',
203
+ template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex flex-row-reverse\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button (click)=\"shareCert()\" class=\"ws-mat-accent-border-active mat-accent\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n",
204
+ /* tslint:disable */
205
+ host: { class: 'certificate-inner-dialog-panel' },
206
+ styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:rgba(0,0,0,.6);font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}.close-icon{transition:1s ease-in-out;color:#fff!important}.close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;top:-52px;right:-52px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width:1279px){.certificate-banner-image{width:100%;height:auto;flex:1}.certificate-banner-image svg{width:auto;height:auto;flex:1}}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important;border-radius:50%!important}.ws-mat-accent-border{border:1px solid rgba(255,255,255,.08)}.ws-mat-accent-border-active{border:1px solid #1b4ca1;color:#1b4ca1}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}"]
207
+ }] }
208
+ ];
209
+ /** @nocollapse */
210
+ CertificateDialogComponent.ctorParameters = function () { return [
211
+ { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
212
+ { type: EventService },
213
+ { type: TranslateService },
214
+ { type: MultilingualTranslationsService },
215
+ { type: MatDialogRef },
216
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
217
+ ]; };
218
+ return CertificateDialogComponent;
219
+ }());
220
+ export { CertificateDialogComponent };
221
+ if (false) {
222
+ /** @type {?} */
223
+ CertificateDialogComponent.prototype.url;
224
+ /** @type {?} */
225
+ CertificateDialogComponent.prototype.navUrl;
226
+ /** @type {?} */
227
+ CertificateDialogComponent.prototype.environment;
228
+ /**
229
+ * @type {?}
230
+ * @private
231
+ */
232
+ CertificateDialogComponent.prototype.events;
233
+ /**
234
+ * @type {?}
235
+ * @private
236
+ */
237
+ CertificateDialogComponent.prototype.translate;
238
+ /**
239
+ * @type {?}
240
+ * @private
241
+ */
242
+ CertificateDialogComponent.prototype.langtranslations;
243
+ /** @type {?} */
244
+ CertificateDialogComponent.prototype.dialogRef;
245
+ /** @type {?} */
246
+ CertificateDialogComponent.prototype.data;
247
+ }
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vZGlhbG9nLWNvbXBvbmVudHMvY2VydGlmaWNhdGUtZGlhbG9nL2NlcnRpZmljYXRlLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsK0JBQStCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDOUYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUU3QjtJQVlFLG9DQUN5QixXQUFnQixFQUMvQixNQUFvQixFQUNwQixTQUEyQixFQUMzQixnQkFBaUQsRUFDbEQsU0FBbUQsRUFDMUIsSUFBUztRQU4zQyxpQkFnQkM7UUFkUyxXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFDbEQsY0FBUyxHQUFULFNBQVMsQ0FBMEM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBSztRQVIzQyxXQUFNLEdBQUcsRUFBRSxDQUFBO1FBVVQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLFNBQVM7OztRQUFDO1lBQ3pELElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO2dCQUMzQyxLQUFJLENBQUMsU0FBUyxDQUFDLGNB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Q0FBbUM7Ozs7O0lBQ25DLHNEQUF5RDs7SUFDekQsK0NBQTBEOztJQUMxRCwwQ0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEV2ZW50U2VydmljZSwgTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSwgV3NFdmVudHMgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcbmltcG9ydCB7IGpzUERGIH0gZnJvbSAnanNwZGYnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jZXJ0aWZpY2F0ZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIC8qIHRzbGludDpkaXNhYmxlICovXG4gIGhvc3Q6IHsgY2xhc3M6ICdjZXJ0aWZpY2F0ZS1pbm5lci1kaWFsb2ctcGFuZWwnIH0sXG4gIC8qIHRzbGludDplbmFibGUgKi9cbn0pXG5leHBvcnQgY2xhc3MgQ2VydGlmaWNhdGVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB1cmwhOiBzdHJpbmdcbiAgbmF2VXJsID0gJydcbiAgZW52aXJvbm1lbnQ6IGFueVxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSBldmVudHM6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd0cmFuc2xhdGlvbnM6IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENlcnRpZmljYXRlRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxuICApIHtcbiAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnRcbiAgICB0aGlzLmxhbmd0cmFuc2xhdGlvbnMubGFuZ3VhZ2VTZWxlY3RlZE9ic2VydmFibGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgICAgY29uc3QgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSFcbiAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXJsID0gdGhpcy5kYXRhLmNldFxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICB0aGlzLm5hdlVybCA9IGBodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2hhcmluZy9zaGFyZS1vZmZzaXRlLz91cmw9JHt0aGlzLmVudmlyb25tZW50LmNvbnRlbnRIb3N0fS9hcGlzL3B1YmxpYy92OC9jZXJ0L2Rvd25sb2FkLyR7dGhpcy5kYXRhLmNlcnRJZH1gXG4gIH1cblxuICBkb3dubG9hZENlcnQoKSB7XG4gICAgdGhpcy5yYWlzZUludHJlYWN0VGVsZW1ldHJ5KCdzdmcnKVxuICAgIGNvbnN0IGE6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGEuaHJlZiA9IHRoaXMuZGF0YS5jZXRcbiAgICBhLmRvd25sb2FkID0gJ0NlcnRpZmljYXRlJ1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSlcbiAgICBhLnN0eWxlID0gJ2Rpc3BsYXk6IG5vbmUnXG4gICAgYS5jbGljaygpXG4gICAgYS5yZW1vdmUoKVxuICB9XG5cbiAgZG93bmxvYWRDZXJ0UG5nKCkge1xuICAgIHRoaXMucmFpc2VJbnRyZWFjdFRlbGVtZXRyeSgncG5nJylcbiAgICBjb25zdCB1cmlEYXRhID0gdGhpcy5kYXRhLmNldFxuICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpXG4gICAgaW1nLnNyYyA9IHVyaURhdGFcbiAgICBpbWcud2lkdGggPSAxODIwXG4gICAgaW1nLmhlaWdodCA9IDEwMDBcbiAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICBbY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0XSA9IFtpbWcud2lkdGgsIGltZy5oZWlnaHRdXG4gICAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKVxuICAgICAgaWYgKGN0eCkge1xuICAgICAgICAvLyBjdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gdHJ1ZVxuICAgICAgICBjdHguZHJhd0ltYWdlKGltZywgMCwgMCwgaW1nLndpZHRoLCBpbWcuaGVpZ2h0KVxuICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgICAgIGNvbnN0IHF1YWxpdHkgPSAxLjAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ1F1YWxpdHlcbiAgICAgICAgYS5ocmVmID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJywgcXVhbGl0eSlcbiAgICAgICAgYS5kb3dubG9hZCA9ICdDZXJ0aWZpY2F0ZSdcbiAgICAgICAgYS5hcHBlbmQoY2FudmFzKVxuICAgICAgICBhLmNsaWNrKClcbiAgICAgICAgYS5yZW1vdmUoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBhc3luYyBkb3dubG9hZENlcnRQZGYoKSB7XG4gICAgdGhpcy5yYWlzZUludHJlYWN0VGVsZW1ldHJ5KCdwZGYnKVxuICAgIGNvbnN0IHVyaURhdGEgPSB0aGlzLmRhdGEuY2V0XG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKClcbiAgICBpbWcuc3JjID0gdXJpRGF0YVxuICAgIGltZy53aWR0aCA9IDE4MjBcbiAgICBpbWcuaGVpZ2h0ID0gMTAwMFxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgIFtjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHRdID0gW2ltZy53aWR0aCwgaW1nLmhlaWdodF1cbiAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpXG4gICAgICBpZiAoY3R4KSB7XG4gICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCBpbWcud2lkdGgsIGltZy5oZWlnaHQpXG4gICAgICAgIGNvbnN0IHF1YWxpdHkgPSAxLjAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ1F1YWxpdHlcbiAgICAgICAgY29uc3QgZGF0YUltZyA9IGNhbnZhcy50b0RhdGFVUkwoJ2FwcGxpY2F0aW9uL3BkZicsIHF1YWxpdHkpXG4gICAgICAgIGNvbnN0IHBkZiA9IG5ldyBqc1BERignbGFuZHNjYXBlJywgJ3B4JywgJ2E0JylcblxuICAgICAgICAvLyBhZGQgdGhlIGltYWdlIHRvIHRoZSBQREZcbiAgICAgICAgcGRmLmFkZEltYWdlKGRhdGFJbWcsIDEwLCAyMCwgNjAwLCAzNTApXG5cbiAgICAgICAgLy8gZG93bmxvYWQgdGhlIFBERlxuICAgICAgICBwZGYuc2F2ZSgnQ2VydGlmaWNhdGUucGRmJylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaGFyZUNlcnQoKSB7XG4gICAgdGhpcy5yYWlzZVNoYXJlSW50cmVhY3RUZWxlbWV0cnkoJ3NoYXJlJylcbiAgICByZXR1cm4gd2luZG93Lm9wZW4odGhpcy5uYXZVcmwsICdfYmxhbmsnKVxuICB9XG5cbiAgcmFpc2VTaGFyZUludHJlYWN0VGVsZW1ldHJ5KHR5cGU/OiBzdHJpbmcsIGFjdGlvbj86IHN0cmluZykge1xuICAgIHRoaXMuZXZlbnRzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFR5cGVzLkNMSUNLLFxuICAgICAgICBpZDogYCR7dHlwZX0tJHtXc0V2ZW50cy5FbnVtSW50ZXJhY3RTdWJUeXBlcy5DRVJUSUZJQ0FURX1gLFxuICAgICAgICBzdWJUeXBlOiBhY3Rpb24gJiYgYWN0aW9uLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YS5jZXJ0SWQsICAgLy8gaWQgb2YgdGhlIGNlcnRpZmljYXRlXG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFN1YlR5cGVzLkNFUlRJRklDQVRFLFxuICAgICAgfVxuICAgIClcbiAgfVxuXG4gIHJhaXNlSW50cmVhY3RUZWxlbWV0cnkoYWN0aW9uPzogc3RyaW5nKSB7XG4gICAgdGhpcy5ldmVudHMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeShcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV3NFdmVudHMuRW51bUludGVyYWN0VHlwZXMuQ0xJQ0ssXG4gICAgICAgIGlkOiAnZG93bmxvYWQtY2VydGlmaWNhdGUnLFxuICAgICAgICBzdWJUeXBlOiBhY3Rpb24gJiYgYWN0aW9uLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YS5jZXJ0SWQsICAgLy8gaWQgb2YgdGhlIGNlcnRpZmljYXRlXG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFN1YlR5cGVzLkNFUlRJRklDQVRFLFxuICAgICAgfVxuICAgIClcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { NgModule } from '@angular/core';
6
+ import { CommonModule } from '@angular/common';
7
+ import { CertificateDialogComponent } from './certificate-dialog/certificate-dialog.component';
8
+ import { MatCardModule, MatDialogModule, MatIconModule, MatMenuModule } from '@angular/material';
9
+ import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
10
+ import { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';
11
+ import { HttpClient } from '@angular/common/http';
12
+ import { PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';
13
+ var ɵ0 = HttpLoaderFactory;
14
+ var DialogComponentsModule = /** @class */ (function () {
15
+ function DialogComponentsModule() {
16
+ }
17
+ DialogComponentsModule.decorators = [
18
+ { type: NgModule, args: [{
19
+ declarations: [
20
+ CertificateDialogComponent
21
+ ],
22
+ imports: [
23
+ CommonModule,
24
+ MatMenuModule,
25
+ MatCardModule,
26
+ MatIconModule,
27
+ MatDialogModule,
28
+ PipeSafeSanitizerModule,
29
+ TranslateModule.forRoot({
30
+ loader: {
31
+ provide: TranslateLoader,
32
+ useFactory: ɵ0,
33
+ deps: [HttpClient],
34
+ },
35
+ }),
36
+ ],
37
+ exports: [
38
+ CertificateDialogComponent
39
+ ],
40
+ entryComponents: [CertificateDialogComponent],
41
+ },] }
42
+ ];
43
+ return DialogComponentsModule;
44
+ }());
45
+ export { DialogComponentsModule };
46
+ export { ɵ0 };
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29uc3VtcHRpb24vIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9kaWFsb2ctY29tcG9uZW50cy9kaWFsb2ctY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztTQWtCM0MsaUJBQWlCO0FBZHJDO0lBQUE7SUF3QnNDLENBQUM7O2dCQXhCdEMsUUFBUSxTQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixlQUFlLENBQUMsT0FBTyxDQUFDOzRCQUN0QixNQUFNLEVBQUU7Z0NBQ04sT0FBTyxFQUFFLGVBQWU7Z0NBQ3hCLFVBQVUsSUFBbUI7Z0NBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzs2QkFDbkI7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sMEJBQTBCO3FCQUMzQjtvQkFDRCxlQUFlLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDOUM7O0lBQ3FDLDZCQUFDO0NBQUEsQUF4QnZDLElBd0J1QztTQUExQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENlcnRpZmljYXRlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1kaWFsb2cvY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSHR0cExvYWRlckZhY3RvcnkgfSBmcm9tICcuLi9jb250ZW50LXN0cmlwLXdpdGgtdGFicy1saWIvY29udGVudC1zdHJpcC13aXRoLXRhYnMtbGliLm1vZHVsZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUGlwZVNhZmVTYW5pdGl6ZXJNb2R1bGUgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDZXJ0aWZpY2F0ZURpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBQaXBlU2FmZVNhbml0aXplck1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiBIdHRwTG9hZGVyRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxuICAgICAgfSxcbiAgICB9KSxcbiAgXSxcbiAgZXhwb3J0czpbXG4gICAgQ2VydGlmaWNhdGVEaWFsb2dDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbQ2VydGlmaWNhdGVEaWFsb2dDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb21wb25lbnRzTW9kdWxlIHsgfVxuIl19
@@ -290,15 +290,13 @@ var HorizontalScrollerV2Component = /** @class */ (function () {
290
290
  /** @type {?} */
291
291
  var totalCardsLength = cardWidth * this.widgetsLength;
292
292
  if (totalCardsLength > scrollerWidth) {
293
- arrLength_1 = (scrollerWidth / cardWidth);
293
+ arrLength_1 = Math.round(scrollerWidth / cardWidth);
294
294
  this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?
295
295
  this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;
296
296
  arrLength_1 = this.defaultMaxWidgets / arrLength_1;
297
297
  for (var i = 0; i < arrLength_1; i += 1) {
298
298
  this.bottomDotsArray.push(i);
299
299
  }
300
- // console.log('this.cardSubType', this.cardSubType, arrLength, this.widgetsLength ,
301
- // this.defaultMaxWidgets, scrollerWidth, this.bottomDotsArray)
302
300
  }
303
301
  }
304
302
  }
@@ -390,4 +388,4 @@ if (false) {
390
388
  */
391
389
  HorizontalScrollerV2Component.prototype.valueSvc;
392
390
  }
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRDtJQWlDRSx1Q0FBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXpCakMsZUFBVSxHQUFpQixVQUFVLENBQUM7UUFDdEMsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGlCQUFZLEdBQVE7WUFDM0IsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQztRQUNRLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3hDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFFL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUF3QixJQUFJLENBQUM7UUFD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LEFBbFBELElBa1BDO1NBNU9ZLDZCQUE2Qjs7O0lBRXhDLG1EQUErQzs7SUFDL0MsMkNBQXlCOztJQUN6QixnREFBeUI7O0lBQ3pCLHFEQUlFOztJQUNGLGlEQUF3Qzs7SUFDeEMsc0RBQTRCOztJQUM1QiwwREFBZ0M7O0lBQ2hDLG9EQUEwQjs7SUFDMUIsNkRBQytDOztJQUUvQyxtREFBbUI7O0lBQ25CLG1EQUFtQjs7SUFDbkIsa0RBQWM7O0lBQ2Qsb0RBQXlCOztJQUN6Qix3REFBMEI7Ozs7O0lBQzFCLHVEQUFtRDs7SUFDbkQsaURBQWdCOzs7OztJQUNoQiw2REFBd0Q7O0lBQ3hELG9EQUF1Qzs7Ozs7SUFFM0IsaURBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZnJvbUV2ZW50LFxuICBTdWJzY3JpcHRpb24sXG4gIHRpbWVyLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVEZldGNoU3RhdHVzIH0gZnJvbSAnLi4vLi4vX2NvbnN0YW50cy9taXNjLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBWYWx1ZVNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgeyBOc0NvbW1vblN0cmlwIH0gZnJvbSAnLi4vY29tbW9uLXN0cmlwL2NvbW1vbi1zdHJpcC5tb2RlbCc7XG5pbXBvcnQgeyBOc0NvbnRlbnRTdHJpcE11bHRpcGxlIH0gZnJvbSAnLi4vLi4vX21vZGVscy9jb250ZW50LXN0cmlwLW11bHRpcGxlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItdWljLWhvcml6b250YWwtc2Nyb2xsZXItdjInLFxuICB0ZW1wbGF0ZVVybDogJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hvcml6b250YWwtc2Nyb2xsZXItdjIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBIb3Jpem9udGFsU2Nyb2xsZXJWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGxvYWRTdGF0dXM6IFRGZXRjaFN0YXR1cyA9ICdmZXRjaGluZyc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgb25Ib3ZlciA9IGZhbHNlO1xuICBASW5wdXQoKSBzbGlkZXJDb25maWc6IGFueSA9IHtcbiAgICBzaG93TmF2czogdHJ1ZSxcbiAgICBzaG93RG90czogdHJ1ZSxcbiAgICBjZXJpZmljYXRlQ2FyZE1hcmdpbjogZmFsc2UsXG4gIH07XG4gIEBPdXRwdXQoKSBsb2FkTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgd2lkZ2V0c0xlbmd0aDogYW55O1xuICBASW5wdXQoKSBkZWZhdWx0TWF4V2lkZ2V0czogYW55O1xuICBASW5wdXQoKSBzdHJpcENvbmZpZzogYW55O1xuICBAVmlld0NoaWxkKCdob3Jpem9udGFsU2Nyb2xsRWxlbScsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGhvcml6b250YWxTY3JvbGxFbGVtOiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgZW5hYmxlUHJldiA9IGZhbHNlO1xuICBlbmFibGVOZXh0ID0gZmFsc2U7XG4gIGFjdGl2ZU5hdiA9IDA7XG4gIGNhcmRTdWJUeXBlID0gJ3N0YW5kYXJkJztcbiAgYm90dG9tRG90c0FycmF5OiBhbnkgPSBbXTtcbiAgcHJpdmF0ZSBzY3JvbGxPYnNlcnZlcjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIGlzTW9iaWxlID0gZmFsc2VcbiAgcHJpdmF0ZSBkZWZhdWx0TWVudVN1YnNjcmliZTogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGxcbiAgaXNMdE1lZGl1bSQgPSB0aGlzLnZhbHVlU3ZjLmlzTHRNZWRpdW0kXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2YWx1ZVN2YzogVmFsdWVTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhcmRTdWJUeXBlID0gdGhpcy5zdHJpcENvbmZpZyAmJiB0aGlzLnN0cmlwQ29uZmlnLmNhcmRTdWJUeXBlID8gdGhpcy5zdHJpcENvbmZpZy5jYXJkU3ViVHlwZSA6ICdzdGFuZGFyZCc7XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIGNvbnN0IGhvcml6b250YWxTY3JvbGxFbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbTtcbiAgICAgIHRoaXMuc2Nyb2xsT2JzZXJ2ZXIgPSBmcm9tRXZlbnQoXG4gICAgICAgIGhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdzY3JvbGwnLFxuICAgICAgKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRocm90dGxlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKGhvcml6b250YWxTY3JvbGxFbGVtXG4gICAgICAgICAgLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5nZXRCb3R0b21Eb3RzQXJyYXkoKTtcbiAgICAgIH0sIDcwMCk7XG4gICAgfVxuICAgIHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUgPSB0aGlzLmlzTHRNZWRpdW0kLnN1YnNjcmliZSgoaXNMdE1lZGl1bTogYm9vbGVhbikgPT4ge1xuICAgICAgdGhpcy5pc01vYmlsZSA9IGlzTHRNZWRpdW1cbiAgICB9KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGltZXIoMTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgICAgdGhpcy51cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW1cbiAgICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmdldEJvdHRvbURvdHNBcnJheSgpO1xuICAgIH0sIDcwMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zY3JvbGxPYnNlcnZlcikge1xuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlci51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZSkge1xuICAgICAgdGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZS51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG5cbiAgc2hvd1ByZXYoKSB7XG4gICAgLy8gY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCAtPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICAvLyBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggKiAwLjI0KVxuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC0gY2xpZW50V2lkdGgsXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgICAgXG4gICAgICBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XG4gICAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xuICAgICAgICB0aGlzLmFjdGl2ZU5hdiAtPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYodGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcbiAgICAgICAgICBpZih0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9PT0gMCl7XG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICBsZWZ0OiBlbGVtLnNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gdGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoIC0gMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG93TmV4dCgpIHtcbiAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XG4gICAgLy8gZWxlbS5zY3JvbGxMZWZ0ICs9IDAuMjAgKiBlbGVtLmNsaWVudFdpZHRoXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXG4gICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyBjbGllbnRXaWR0aCxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XG4gICAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xuICAgICAgICB0aGlzLmFjdGl2ZU5hdiArPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYodGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcbiAgICAgICAgICBpZih0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAhPT0gMCAmJiBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0ID49IGVsZW0uc2Nyb2xsV2lkdGggKXtcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyhlbGVtOiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMuZW5hYmxlUHJldiA9IHRydWU7XG4gICAgdGhpcy5lbmFibGVOZXh0ID0gdHJ1ZTtcbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ID09PSAwKSB7XG4gICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcbiAgICAgICAgdGhpcy5lbmFibGVQcmV2ID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XG4gICAgfVxuICAgIC8vIGlmIChlbGVtLnNjcm9sbFdpZHRoID09PSBNYXRoLnJvdW5kKGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgLy8gICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcbiAgICAvLyAgICAgdGhpcy5sb2FkTmV4dC5lbWl0KCk7XG4gICAgLy8gICB9IGVsc2Uge1xuICAgIC8vICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcbiAgICAvLyAgICAgICB0aGlzLmVuYWJsZU5leHQgPSBmYWxzZTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBpZiAodGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoKSB7XG4gICAgLy8gICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICAgIC8vIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKTtcbiAgICAvLyB9XG5cblxuICAgIGNvbnN0IHdpZHRoRGlmZiA9IE1hdGguYWJzKGVsZW0uc2Nyb2xsV2lkdGggLSBNYXRoLnJvdW5kKGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKVxuICAgIGlmICh3aWR0aERpZmYgPT09IDAgfHwgd2lkdGhEaWZmID09PSAxKSB7XG4gICAgICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcbiAgICAgICAgdGhpcy5sb2FkTmV4dC5lbWl0KClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlXG4gICAgICAgIGlmICh0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDFcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xuICAgICAgdGhpcy5hY3RpdmVOYXYgPSBNYXRoLmNlaWwoZWxlbS5zY3JvbGxMZWZ0IC8gZWxlbS5jbGllbnRXaWR0aClcbiAgICB9XG4gIH1cblxuICBzbGlkZVRvKGVsZTogYW55KSB7XG4gICAgY29uc3QgZGlmZiA9IGVsZSAtIHRoaXMuYWN0aXZlTmF2O1xuICAgIC8vIGlmIChlbGUgPiB0aGlzLmFjdGl2ZU5hdiAmJiBlbGUgIT09IHRoaXMuYWN0aXZlTmF2KSB7XG4gICAgLy8gICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXG4gICAgLy8gICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgLy8gICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyAoY2xpZW50V2lkdGgqZGlmZiksXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0gJiYgZWxlID49IDAgJiYgZWxlICE9PSB0aGlzLmFjdGl2ZU5hdikge1xuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXG4gICAgLy8gICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgLy8gICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgLSAoY2xpZW50V2lkdGgqZGlmZiksXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcbiAgICAvLyB9XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIChjbGllbnRXaWR0aCAqIGRpZmYpLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5hY3RpdmVOYXYgPSBlbGU7XG4gIH1cblxuICBnZXRCb3R0b21Eb3RzQXJyYXkoKSB7XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5ID0gW107XG4gICAgICBsZXQgY2FyZFdpZHRoO1xuICAgICAgbGV0IGFyckxlbmd0aDtcbiAgICAgIGlmICh0aGlzLmNhcmRTdWJUeXBlICE9PSAnY2FyZC13aWRlLXYyJykge1xuICAgICAgICBjYXJkV2lkdGggPSB0aGlzLmNhcmRTdWJUeXBlID09PSAnc3RhbmRhcmQnID8gMjQ1IDpcbiAgICAgICAgKChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpICYmXG4gICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpWzBdICE9PSB1bmRlZmluZWQpXG4gICAgICAgID8gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXS5jbGllbnRXaWR0aCA6IDI0NSk7XG4gICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkfWApKSB7XG4gICAgICAgICAgY29uc3Qgc2Nyb2xsZXJXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkuY2xpZW50V2lkdGg7XG4gICAgICAgICAgY29uc3QgdG90YWxDYXJkc0xlbmd0aCA9IGNhcmRXaWR0aCAqIHRoaXMud2lkZ2V0c0xlbmd0aDtcbiAgICAgICAgICBpZiAodG90YWxDYXJkc0xlbmd0aCA+IHNjcm9sbGVyV2lkdGgpIHtcbiAgICAgICAgICAgIGFyckxlbmd0aCA9IChzY3JvbGxlcldpZHRoIC8gY2FyZFdpZHRoKTtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdE1heFdpZGdldHMgPSB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID8gIHRoaXMud2lkZ2V0c0xlbmd0aCA8IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgP1xuICAgICAgICAgICAgICB0aGlzLndpZGdldHNMZW5ndGggOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cztcbiAgICAgICAgICAgIGFyckxlbmd0aCA9IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgLyBhcnJMZW5ndGg7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5jYXJkU3ViVHlwZScsIHRoaXMuY2FyZFN1YlR5cGUsIGFyckxlbmd0aCwgdGhpcy53aWRnZXRzTGVuZ3RoICxcbiAgICAgICAgICAgIC8vIHRoaXMuZGVmYXVsdE1heFdpZGdldHMsIHNjcm9sbGVyV2lkdGgsIHRoaXMuYm90dG9tRG90c0FycmF5KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkgPSBbXVxuICAgICAgICAgIGFyckxlbmd0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkubGVuZ3RoO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAgICAgICAgIDEwMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
391
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRDtJQWlDRSx1Q0FBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXpCakMsZUFBVSxHQUFpQixVQUFVLENBQUM7UUFDdEMsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGlCQUFZLEdBQVE7WUFDM0IsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQztRQUNRLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3hDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFFL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUF3QixJQUFJLENBQUM7UUFD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U0ExT1ksNkJBQTZCOzs7SUFFeEMsbURBQStDOztJQUMvQywyQ0FBeUI7O0lBQ3pCLGdEQUF5Qjs7SUFDekIscURBSUU7O0lBQ0YsaURBQXdDOztJQUN4QyxzREFBNEI7O0lBQzVCLDBEQUFnQzs7SUFDaEMsb0RBQTBCOztJQUMxQiw2REFDK0M7O0lBRS9DLG1EQUFtQjs7SUFDbkIsbURBQW1COztJQUNuQixrREFBYzs7SUFDZCxvREFBeUI7O0lBQ3pCLHdEQUEwQjs7Ozs7SUFDMUIsdURBQW1EOztJQUNuRCxpREFBZ0I7Ozs7O0lBQ2hCLDZEQUF3RDs7SUFDeEQsb0RBQXVDOzs7OztJQUUzQixpREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIFN1YnNjcmlwdGlvbixcbiAgdGltZXIsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBURmV0Y2hTdGF0dXMgfSBmcm9tICcuLi8uLi9fY29uc3RhbnRzL21pc2MuY29uc3RhbnRzJztcbmltcG9ydCB7IFZhbHVlU2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IE5zQ29tbW9uU3RyaXAgfSBmcm9tICcuLi9jb21tb24tc3RyaXAvY29tbW9uLXN0cmlwLm1vZGVsJztcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtaG9yaXpvbnRhbC1zY3JvbGxlci12MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEhvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgbG9hZFN0YXR1czogVEZldGNoU3RhdHVzID0gJ2ZldGNoaW5nJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBvbkhvdmVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNsaWRlckNvbmZpZzogYW55ID0ge1xuICAgIHNob3dOYXZzOiB0cnVlLFxuICAgIHNob3dEb3RzOiB0cnVlLFxuICAgIGNlcmlmaWNhdGVDYXJkTWFyZ2luOiBmYWxzZSxcbiAgfTtcbiAgQE91dHB1dCgpIGxvYWROZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSB3aWRnZXRzTGVuZ3RoOiBhbnk7XG4gIEBJbnB1dCgpIGRlZmF1bHRNYXhXaWRnZXRzOiBhbnk7XG4gIEBJbnB1dCgpIHN0cmlwQ29uZmlnOiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ2hvcml6b250YWxTY3JvbGxFbGVtJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaG9yaXpvbnRhbFNjcm9sbEVsZW06IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICBlbmFibGVQcmV2ID0gZmFsc2U7XG4gIGVuYWJsZU5leHQgPSBmYWxzZTtcbiAgYWN0aXZlTmF2ID0gMDtcbiAgY2FyZFN1YlR5cGUgPSAnc3RhbmRhcmQnO1xuICBib3R0b21Eb3RzQXJyYXk6IGFueSA9IFtdO1xuICBwcml2YXRlIHNjcm9sbE9ic2VydmVyOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgaXNNb2JpbGUgPSBmYWxzZVxuICBwcml2YXRlIGRlZmF1bHRNZW51U3Vic2NyaWJlOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbFxuICBpc0x0TWVkaXVtJCA9IHRoaXMudmFsdWVTdmMuaXNMdE1lZGl1bSRcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlU3ZjOiBWYWx1ZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FyZFN1YlR5cGUgPSB0aGlzLnN0cmlwQ29uZmlnICYmIHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgPyB0aGlzLnN0cmlwQ29uZmlnLmNhcmRTdWJUeXBlIDogJ3N0YW5kYXJkJztcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbEVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtO1xuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlciA9IGZyb21FdmVudChcbiAgICAgICAgaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3Njcm9sbCcsXG4gICAgICApXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSwgdGhyb3R0bGVUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoaG9yaXpvbnRhbFNjcm9sbEVsZW1cbiAgICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICB9KTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEJvdHRvbURvdHNBcnJheSgpO1xuICAgICAgfSwgNzAwKTtcbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZSA9IHRoaXMuaXNMdE1lZGl1bSQuc3Vic2NyaWJlKChpc0x0TWVkaXVtOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gaXNMdE1lZGl1bVxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aW1lcigxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXModGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbVxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XG4gICAgfSwgNzAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbE9ic2VydmVyKSB7XG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBzaG93UHJldigpIHtcbiAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XG4gICAgLy8gZWxlbS5zY3JvbGxMZWZ0IC09IDAuMjAgKiBlbGVtLmNsaWVudFdpZHRoXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXG4gICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgLSBjbGllbnRXaWR0aCxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2IC09IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID09PSAwKXtcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgIGxlZnQ6IGVsZW0uc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3dOZXh0KCkge1xuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgKz0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2ICs9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICE9PSAwICYmIGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQgPj0gZWxlbS5zY3JvbGxXaWR0aCApe1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKGVsZW06IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5lbmFibGVQcmV2ID0gdHJ1ZTtcbiAgICB0aGlzLmVuYWJsZU5leHQgPSB0cnVlO1xuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgPT09IDApIHtcbiAgICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICB0aGlzLmVuYWJsZVByZXYgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWN0aXZlTmF2ID0gMDtcbiAgICB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsV2lkdGggPT09IE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgIC8vICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgIC8vICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGlmICh0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGgpIHtcbiAgICAvLyAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gTWF0aC5jZWlsKGVsZW0uc2Nyb2xsTGVmdCAvIGVsZW0uY2xpZW50V2lkdGgpO1xuICAgIC8vIH1cblxuXG4gICAgY29uc3Qgd2lkdGhEaWZmID0gTWF0aC5hYnMoZWxlbS5zY3JvbGxXaWR0aCAtIE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpXG4gICAgaWYgKHdpZHRoRGlmZiA9PT0gMCB8fCB3aWR0aERpZmYgPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lbmFibGVOZXh0ID0gZmFsc2VcbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gdGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKVxuICAgIH1cbiAgfVxuXG4gIHNsaWRlVG8oZWxlOiBhbnkpIHtcbiAgICBjb25zdCBkaWZmID0gZWxlIC0gdGhpcy5hY3RpdmVOYXY7XG4gICAgLy8gaWYgKGVsZSA+IHRoaXMuYWN0aXZlTmF2ICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH0gZWxzZSB7XG4gICAgLy8gICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSAmJiBlbGUgPj0gMCAmJiBlbGUgIT09IHRoaXMuYWN0aXZlTmF2KSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH1cbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoICogZGlmZiksXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZU5hdiA9IGVsZTtcbiAgfVxuXG4gIGdldEJvdHRvbURvdHNBcnJheSgpIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkgPSBbXTtcbiAgICAgIGxldCBjYXJkV2lkdGg7XG4gICAgICBsZXQgYXJyTGVuZ3RoO1xuICAgICAgaWYgKHRoaXMuY2FyZFN1YlR5cGUgIT09ICdjYXJkLXdpZGUtdjInKSB7XG4gICAgICAgIGNhcmRXaWR0aCA9IHRoaXMuY2FyZFN1YlR5cGUgPT09ICdzdGFuZGFyZCcgPyAyNDUgOlxuICAgICAgICAoKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkgJiZcbiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSlbMF0gIT09IHVuZGVmaW5lZClcbiAgICAgICAgPyBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpWzBdLmNsaWVudFdpZHRoIDogMjQ1KTtcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkpIHtcbiAgICAgICAgICBjb25zdCBzY3JvbGxlcldpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH1gKS5jbGllbnRXaWR0aDtcbiAgICAgICAgICBjb25zdCB0b3RhbENhcmRzTGVuZ3RoID0gY2FyZFdpZHRoICogdGhpcy53aWRnZXRzTGVuZ3RoO1xuICAgICAgICAgIGlmICh0b3RhbENhcmRzTGVuZ3RoID4gc2Nyb2xsZXJXaWR0aCkge1xuICAgICAgICAgICAgYXJyTGVuZ3RoID0gTWF0aC5yb3VuZChzY3JvbGxlcldpZHRoIC8gY2FyZFdpZHRoKTtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdE1heFdpZGdldHMgPSB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID8gIHRoaXMud2lkZ2V0c0xlbmd0aCA8IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgP1xuICAgICAgICAgICAgICB0aGlzLndpZGdldHNMZW5ndGggOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cztcbiAgICAgICAgICAgIGFyckxlbmd0aCA9IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgLyBhcnJMZW5ndGg7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdXG4gICAgICAgICAgYXJyTGVuZ3RoID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKS5sZW5ndGg7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkucHVzaChpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sICAgICAgICAgMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Pipe } from '@angular/core';
6
+ var ObjectToArrayPipe = /** @class */ (function () {
7
+ function ObjectToArrayPipe() {
8
+ }
9
+ // transform(value: any, ...args: any[]): any[] {
10
+ // console.log("function called")
11
+ // if (!value) {
12
+ // return [];
13
+ // }
14
+ // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), "Object.keys(value).map(key => ({ key, value: value[key] }))==----------")
15
+ // return Object.keys(value).map(key => ({ key, value: value[key] }));
16
+ // }
17
+ // transform(value: any, ...args: any[]): any[] {
18
+ // console.log("function called")
19
+ // if (!value) {
20
+ // return [];
21
+ // }
22
+ // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), "Object.keys(value).map(key => ({ key, value: value[key] }))==----------")
23
+ // return Object.keys(value).map(key => ({ key, value: value[key] }));
24
+ // }
25
+ /**
26
+ * @param {...?} args
27
+ * @return {?}
28
+ */
29
+ ObjectToArrayPipe.prototype.transform =
30
+ // transform(value: any, ...args: any[]): any[] {
31
+ // console.log("function called")
32
+ // if (!value) {
33
+ // return [];
34
+ // }
35
+ // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), "Object.keys(value).map(key => ({ key, value: value[key] }))==----------")
36
+ // return Object.keys(value).map(key => ({ key, value: value[key] }));
37
+ // }
38
+ /**
39
+ * @param {...?} args
40
+ * @return {?}
41
+ */
42
+ function () {
43
+ var args = [];
44
+ for (var _i = 0; _i < arguments.length; _i++) {
45
+ args[_i] = arguments[_i];
46
+ }
47
+ return args;
48
+ };
49
+ ObjectToArrayPipe.decorators = [
50
+ { type: Pipe, args: [{
51
+ name: 'objectToArray'
52
+ },] }
53
+ ];
54
+ return ObjectToArrayPipe;
55
+ }());
56
+ export { ObjectToArrayPipe };
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXRvLWFycmF5LnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fcGlwZXMvb2JqZWN0LXRvLWFycmF5L29iamVjdC10by1hcnJheS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRDtJQUFBO0lBZUEsQ0FBQztJQVhDLGlEQUFpRDtJQUNqRCxtQ0FBbUM7SUFDbkMsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixNQUFNO0lBQ04sd0pBQXdKO0lBQ3hKLHdFQUF3RTtJQUN4RSxJQUFJOzs7Ozs7Ozs7Ozs7O0lBQ0oscUNBQVM7Ozs7Ozs7Ozs7Ozs7SUFBVDtRQUFVLGNBQWM7YUFBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO1lBQWQseUJBQWM7O1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7Z0JBZEYsSUFBSSxTQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0Qjs7SUFhRCx3QkFBQztDQUFBLEFBZkQsSUFlQztTQVpZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnb2JqZWN0VG9BcnJheSdcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0VG9BcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLy8gdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogYW55W10ge1xuICAvLyAgIGNvbnNvbGUubG9nKFwiZnVuY3Rpb24gY2FsbGVkXCIpXG4gIC8vICAgaWYgKCF2YWx1ZSkge1xuICAvLyAgICAgcmV0dXJuIFtdO1xuICAvLyAgIH1cbiAgLy8gICBjb25zb2xlLmxvZyhPYmplY3Qua2V5cyh2YWx1ZSkubWFwKGtleSA9PiAoeyBrZXksIHZhbHVlOiB2YWx1ZVtrZXldIH0pKSwgXCJPYmplY3Qua2V5cyh2YWx1ZSkubWFwKGtleSA9PiAoeyBrZXksIHZhbHVlOiB2YWx1ZVtrZXldIH0pKT09LS0tLS0tLS0tLVwiKVxuICAvLyAgIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZSkubWFwKGtleSA9PiAoeyBrZXksIHZhbHVlOiB2YWx1ZVtrZXldIH0pKTtcbiAgLy8gfVxuICB0cmFuc2Zvcm0oLi4uYXJnczogYW55W10pOiBhbnlbXSB7IFxuICAgIHJldHVybiBhcmdzOyBcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { NgModule } from '@angular/core';
6
+ import { CommonModule } from '@angular/common';
7
+ import { ObjectToArrayPipe } from './object-to-array.pipe';
8
+ var ObjectToArrayPipeModule = /** @class */ (function () {
9
+ function ObjectToArrayPipeModule() {
10
+ }
11
+ ObjectToArrayPipeModule.decorators = [
12
+ { type: NgModule, args: [{
13
+ declarations: [ObjectToArrayPipe],
14
+ imports: [
15
+ CommonModule,
16
+ ],
17
+ exports: [ObjectToArrayPipe],
18
+ },] }
19
+ ];
20
+ return ObjectToArrayPipeModule;
21
+ }());
22
+ export { ObjectToArrayPipeModule };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXRvLWFycmF5LnBpcGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29uc3VtcHRpb24vIiwic291cmNlcyI6WyJsaWIvX3BpcGVzL29iamVjdC10by1hcnJheS9vYmplY3QtdG8tYXJyYXkucGlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRTFEO0lBQUE7SUFPdUMsQ0FBQzs7Z0JBUHZDLFFBQVEsU0FBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCOztJQUNzQyw4QkFBQztDQUFBLEFBUHhDLElBT3dDO1NBQTNCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE9iamVjdFRvQXJyYXlQaXBlIH0gZnJvbSAnLi9vYmplY3QtdG8tYXJyYXkucGlwZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbT2JqZWN0VG9BcnJheVBpcGVdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbT2JqZWN0VG9BcnJheVBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RUb0FycmF5UGlwZU1vZHVsZSB7IH0iXX0=
@@ -9,12 +9,12 @@ var PipeDurationTransformPipe = /** @class */ (function () {
9
9
  }
10
10
  /**
11
11
  * @param {?} data
12
- * @param {?} type
12
+ * @param {?=} type
13
13
  * @return {?}
14
14
  */
15
15
  PipeDurationTransformPipe.prototype.transform = /**
16
16
  * @param {?} data
17
- * @param {?} type
17
+ * @param {?=} type
18
18
  * @return {?}
19
19
  */
20
20
  function (data, type) {
@@ -140,4 +140,4 @@ var PipeDurationTransformPipe = /** @class */ (function () {
140
140
  return PipeDurationTransformPipe;
141
141
  }());
142
142
  export { PipeDurationTransformPipe };
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19waXBlcy9waXBlLWR1cmF0aW9uLXRyYW5zZm9ybS9waXBlLWR1cmF0aW9uLXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQTtBQUNuRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUVoQztJQUFBO0lBK0VBLENBQUM7Ozs7OztJQTFFQyw2Q0FBUzs7Ozs7SUFBVCxVQUFVLElBQVksRUFBRSxJQUEwRDtRQUNoRixJQUFJLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDYixPQUFPLEVBQUUsQ0FBQTtTQUNWOztZQUNLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7O1lBQzNCLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzs7WUFDbEMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDOztZQUNwQyxRQUFRLEdBQUcsRUFBRTtRQUNqQixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN0QyxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUNyRCxLQUFLLE9BQU87Ozs7O29CQUVKLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFD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R0FBRyxDQUFDLFNBQU0sQ0FBQTtTQUNsRTtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDVCxLQUFLLEdBQUcsR0FBRyxDQUFBO2FBQ1o7WUFDRCxRQUFRLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBRyxLQUFLLEdBQUcsQ0FBQyxNQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUcsS0FBSyxHQUFHLENBQUMsU0FBTSxDQUFBO1NBQ2xFO1FBQ0QsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQzs7Z0JBN0VGLElBQUksU0FBQztvQkFDSixJQUFJLEVBQUUsdUJBQXVCO2lCQUM5Qjs7SUE2RUQsZ0NBQUM7Q0FBQSxBQS9FRCxJQStFQztTQTVFWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAncGlwZUR1cmF0aW9uVHJhbnNmb3JtJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBpcGVEdXJhdGlvblRyYW5zZm9ybVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGRhdGE6IG51bWJlciwgdHlwZTogJ3RpbWUyNCcgfCAnaG1zJyB8ICdob3VyJyB8ICdobXMySCcgfCAnaG1zMk0nfCAnZGF5Jyk6IGFueSB7XHJcbiAgICBpZiAoZGF0YSA8PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJ1xyXG4gICAgfVxyXG4gICAgY29uc3QgaCA9IE1hdGguZmxvb3IoZGF0YSAvIDM2MDApXHJcbiAgICBjb25zdCBtID0gTWF0aC5mbG9vcigoZGF0YSAlIDM2MDApIC8gNjApXHJcbiAgICBjb25zdCBzID0gTWF0aC5mbG9vcigoZGF0YSAlIDM2MDApICUgNjApXHJcbiAgICBsZXQgZHVyYXRpb24gPSAnJ1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3RpbWUyNCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdER1cmF0aW9uKGgsIG0sIHMpXHJcbiAgICAgIGNhc2UgJ2htcyc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaG1zQ2FsY3VsYXRpb24oaCwgbSwgcywgZHVyYXRpb24sIHR5cGUpXHJcbiAgICAgIGNhc2UgJ2htczJIJzpcclxuICAgICAgICAvKip0byBQcmludCBISDptbTpzcyAqL1xyXG4gICAgICAgIGNvbnN0IGR1cmF0aW9uMiA9IG1vbWVudC5kdXJhdGlvbihkYXRhLCAnc2Vjb25kcycpXHJcbiAgICAgICAgY29uc3QgcmVzdWx0c3RyaW5nID0gbW9tZW50LnV0YyhkdXJhdGlvbjIuYXNNaWxsaXNlY29uZHMoKSkuZm9ybWF0KCdISDptbTpzcycpXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHN0cmluZ1xyXG4gICAgICBjYXNlICdobXMyTSc6IC8qKnRvIFByaW50IG1tOnNzICovXHJcbiAgICAgICAgY29uc3QgZHVyYXRpb24ySCA9IG1vbWVudC5kdXJhdGlvbihkYXRhLCAnc2Vjb25kcycpXHJcbiAgICAgICAgY29uc3QgcmVzdWx0c3RyaW5nMkggPSBtb21lbnQudXRjKGR1cmF0aW9uMkguYXNNaWxsaXNlY29uZHMoKSkuZm9ybWF0KCdtbTpzcycpXHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHRzdHJpbmcySFxyXG4gICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICBpZiAoaCA9PT0gMCkge1xyXG4gICAgICAgICAgZHVyYXRpb24gKz0gJ2xlc3MgdGhhbiBhbiBob3VyJ1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaCA9PT0gMSkge1xyXG4gICAgICAgICAgZHVyYXRpb24gKz0gYCR7aH0gaG91cmBcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGggPiAxKSB7XHJcbiAgICAgICAgICBkdXJhdGlvbiArPSBgJHtofSBob3Vyc2BcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGR1cmF0aW9uXHJcbiAgICAgIGNhc2UgJ2RheSc6XHJcbiAgICAgICAgaWYgKGggPiAyNCkge1xyXG4gICAgICAgICAgY29uc3QgZHVyYXRpb24zID0gbW9tZW50LmR1cmF0aW9uKGRhdGEsICdzZWNvbmRzJylcclxuICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbjMuZGF5cygpfSBkYXkocylgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmhtc0NhbGN1bGF0aW9uKGgsIG0sIHMsIGR1cmF0aW9uLCB0eXBlKVxyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0RHVyYXRpb24oaCwgbSwgcylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlZmF1bHREdXJhdGlvbihoOiBudW1iZXIsIG06IG51bWJlciwgczogbnVtYmVyKSB7XHJcbiAgICBsZXQgZHVyYXRpb24gPSAnJ1xyXG4gICAgZHVyYXRpb24gKz0gaCA+IDAgPyBgJHtoLnRvU3RyaW5nKCkucGFkU3RhcnQoMil9OmAgOiAnJ1xyXG4gICAgZHVyYXRpb24gKz0gbSA+IDAgPyBgJHttLnRvU3RyaW5nKCkucGFkU3RhcnQoMil9OmAgOiAnMDA6J1xyXG4gICAgZHVyYXRpb24gKz0gcyA+IDAgPyBzLnRvU3RyaW5nKCkucGFkU3RhcnQoMikgOiAnMDAnXHJcbiAgICByZXR1cm4gZHVyYXRpb25cclxuICB9XHJcbiAgaG1zQ2FsY3VsYXRpb24oaDogbnVtYmVyLCBtOiBudW1iZXIsIHM6IG51bWJlciwgZHVyOiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xyXG4gICAgbGV0IHNwYWNlID0gJydcclxuICAgIGxldCBkdXJhdGlvbiA9IGR1clxyXG4gICAgaWYgKGggPiAwKSB7XHJcbiAgICAgIGR1cmF0aW9uICs9IHR5cGUgPT09ICdobXMnID8gYCR7aH1oYCA6IGAke2h9IGhyYFxyXG4gICAgfVxyXG4gICAgaWYgKG0gPiAwKSB7XHJcbiAgICAgIGlmIChoID4gMCkge1xyXG4gICAgICAgIHNwYWNlID0gJyAnXHJcbiAgICAgIH1cclxuICAgICAgZHVyYXRpb24gKz0gdHlwZSA9PT0gJ2htcycgPyBgJHtzcGFjZX0ke219bWAgOiBgJHtzcGFjZX0ke219IG1pbmBcclxuICAgIH1cclxuICAgIGlmIChzID4gMCAmJiBoID09PSAwKSB7XHJcbiAgICAgIGlmIChtID4gMCkge1xyXG4gICAgICAgIHNwYWNlID0gJyAnXHJcbiAgICAgIH1cclxuICAgICAgZHVyYXRpb24gKz0gdHlwZSA9PT0gJ2htcycgPyBgJHtzcGFjZX0ke3N9c2AgOiBgJHtzcGFjZX0ke3N9IHNlY2BcclxuICAgIH1cclxuICAgIHJldHVybiBkdXJhdGlvblxyXG4gIH1cclxuXHJcbn1cclxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19waXBlcy9waXBlLWR1cmF0aW9uLXRyYW5zZm9ybS9waXBlLWR1cmF0aW9uLXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQTtBQUNuRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUVoQztJQUFBO0lBK0VBLENBQUM7Ozs7OztJQTFFQyw2Q0FBUzs7Ozs7SUFBVCxVQUFVLElBQVksRUFBRSxJQUEyRDtRQUNqRixJQUFJLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDYixPQUFPLEVBQUUsQ0FBQTtTQUNWOztZQUNLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7O1lBQzNCLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzs7WUFDbEMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDOztZQUNwQyxRQUFRLEdBQUcsRUFBRTtRQUNqQixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN0QyxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUNyRCxLQUFLLE9BQU87Ozs7O29CQUVKLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFD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R0FBRyxDQUFDLFNBQU0sQ0FBQTtTQUNsRTtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDVCxLQUFLLEdBQUcsR0FBRyxDQUFBO2FBQ1o7WUFDRCxRQUFRLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBRyxLQUFLLEdBQUcsQ0FBQyxNQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUcsS0FBSyxHQUFHLENBQUMsU0FBTSxDQUFBO1NBQ2xFO1FBQ0QsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQzs7Z0JBN0VGLElBQUksU0FBQztvQkFDSixJQUFJLEVBQUUsdUJBQXVCO2lCQUM5Qjs7SUE2RUQsZ0NBQUM7Q0FBQSxBQS9FRCxJQStFQztTQTVFWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAncGlwZUR1cmF0aW9uVHJhbnNmb3JtJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBpcGVEdXJhdGlvblRyYW5zZm9ybVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGRhdGE6IG51bWJlciwgdHlwZT86ICd0aW1lMjQnIHwgJ2htcycgfCAnaG91cicgfCAnaG1zMkgnIHwgJ2htczJNJ3wgJ2RheScpOiBhbnkge1xyXG4gICAgaWYgKGRhdGEgPD0gMCkge1xyXG4gICAgICByZXR1cm4gJydcclxuICAgIH1cclxuICAgIGNvbnN0IGggPSBNYXRoLmZsb29yKGRhdGEgLyAzNjAwKVxyXG4gICAgY29uc3QgbSA9IE1hdGguZmxvb3IoKGRhdGEgJSAzNjAwKSAvIDYwKVxyXG4gICAgY29uc3QgcyA9IE1hdGguZmxvb3IoKGRhdGEgJSAzNjAwKSAlIDYwKVxyXG4gICAgbGV0IGR1cmF0aW9uID0gJydcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICd0aW1lMjQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHREdXJhdGlvbihoLCBtLCBzKVxyXG4gICAgICBjYXNlICdobXMnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmhtc0NhbGN1bGF0aW9uKGgsIG0sIHMsIGR1cmF0aW9uLCB0eXBlKVxyXG4gICAgICBjYXNlICdobXMySCc6XHJcbiAgICAgICAgLyoqdG8gUHJpbnQgSEg6bW06c3MgKi9cclxuICAgICAgICBjb25zdCBkdXJhdGlvbjIgPSBtb21lbnQuZHVyYXRpb24oZGF0YSwgJ3NlY29uZHMnKVxyXG4gICAgICAgIGNvbnN0IHJlc3VsdHN0cmluZyA9IG1vbWVudC51dGMoZHVyYXRpb24yLmFzTWlsbGlzZWNvbmRzKCkpLmZvcm1hdCgnSEg6bW06c3MnKVxyXG4gICAgICAgIHJldHVybiByZXN1bHRzdHJpbmdcclxuICAgICAgY2FzZSAnaG1zMk0nOiAvKip0byBQcmludCBtbTpzcyAqL1xyXG4gICAgICAgIGNvbnN0IGR1cmF0aW9uMkggPSBtb21lbnQuZHVyYXRpb24oZGF0YSwgJ3NlY29uZHMnKVxyXG4gICAgICAgIGNvbnN0IHJlc3VsdHN0cmluZzJIID0gbW9tZW50LnV0YyhkdXJhdGlvbjJILmFzTWlsbGlzZWNvbmRzKCkpLmZvcm1hdCgnbW06c3MnKVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0c3RyaW5nMkhcclxuICAgICAgY2FzZSAnaG91cic6XHJcbiAgICAgICAgaWYgKGggPT09IDApIHtcclxuICAgICAgICAgIGR1cmF0aW9uICs9ICdsZXNzIHRoYW4gYW4gaG91cidcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGggPT09IDEpIHtcclxuICAgICAgICAgIGR1cmF0aW9uICs9IGAke2h9IGhvdXJgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChoID4gMSkge1xyXG4gICAgICAgICAgZHVyYXRpb24gKz0gYCR7aH0gaG91cnNgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkdXJhdGlvblxyXG4gICAgICBjYXNlICdkYXknOlxyXG4gICAgICAgIGlmIChoID4gMjQpIHtcclxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uMyA9IG1vbWVudC5kdXJhdGlvbihkYXRhLCAnc2Vjb25kcycpXHJcbiAgICAgICAgICByZXR1cm4gYCR7ZHVyYXRpb24zLmRheXMoKX0gZGF5KHMpYFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5obXNDYWxjdWxhdGlvbihoLCBtLCBzLCBkdXJhdGlvbiwgdHlwZSlcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdER1cmF0aW9uKGgsIG0sIHMpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWZhdWx0RHVyYXRpb24oaDogbnVtYmVyLCBtOiBudW1iZXIsIHM6IG51bWJlcikge1xyXG4gICAgbGV0IGR1cmF0aW9uID0gJydcclxuICAgIGR1cmF0aW9uICs9IGggPiAwID8gYCR7aC50b1N0cmluZygpLnBhZFN0YXJ0KDIpfTpgIDogJydcclxuICAgIGR1cmF0aW9uICs9IG0gPiAwID8gYCR7bS50b1N0cmluZygpLnBhZFN0YXJ0KDIpfTpgIDogJzAwOidcclxuICAgIGR1cmF0aW9uICs9IHMgPiAwID8gcy50b1N0cmluZygpLnBhZFN0YXJ0KDIpIDogJzAwJ1xyXG4gICAgcmV0dXJuIGR1cmF0aW9uXHJcbiAgfVxyXG4gIGhtc0NhbGN1bGF0aW9uKGg6IG51bWJlciwgbTogbnVtYmVyLCBzOiBudW1iZXIsIGR1cjogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgIGxldCBzcGFjZSA9ICcnXHJcbiAgICBsZXQgZHVyYXRpb24gPSBkdXJcclxuICAgIGlmIChoID4gMCkge1xyXG4gICAgICBkdXJhdGlvbiArPSB0eXBlID09PSAnaG1zJyA/IGAke2h9aGAgOiBgJHtofSBocmBcclxuICAgIH1cclxuICAgIGlmIChtID4gMCkge1xyXG4gICAgICBpZiAoaCA+IDApIHtcclxuICAgICAgICBzcGFjZSA9ICcgJ1xyXG4gICAgICB9XHJcbiAgICAgIGR1cmF0aW9uICs9IHR5cGUgPT09ICdobXMnID8gYCR7c3BhY2V9JHttfW1gIDogYCR7c3BhY2V9JHttfSBtaW5gXHJcbiAgICB9XHJcbiAgICBpZiAocyA+IDAgJiYgaCA9PT0gMCkge1xyXG4gICAgICBpZiAobSA+IDApIHtcclxuICAgICAgICBzcGFjZSA9ICcgJ1xyXG4gICAgICB9XHJcbiAgICAgIGR1cmF0aW9uICs9IHR5cGUgPT09ICdobXMnID8gYCR7c3BhY2V9JHtzfXNgIDogYCR7c3BhY2V9JHtzfSBzZWNgXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZHVyYXRpb25cclxuICB9XHJcblxyXG59XHJcbiJdfQ==