@tiba-spark/client-shared-lib 25.1.0-935 → 25.1.0-941
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libraries/components/cloud-confirm-dialog/cloud-confirm-dialog.component.mjs +3 -3
- package/esm2022/libraries/enums/localization.enum.mjs +2 -1
- package/esm2022/libraries/modules/notifications/notifications.state.mjs +47 -2
- package/esm2022/libraries/services/modal.service.mjs +9 -2
- package/fesm2022/tiba-spark-client-shared-lib.mjs +57 -4
- package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
- package/libraries/enums/localization.enum.d.ts +2 -1
- package/libraries/enums/localization.enum.d.ts.map +1 -1
- package/libraries/modules/notifications/notifications.state.d.ts +2 -0
- package/libraries/modules/notifications/notifications.state.d.ts.map +1 -1
- package/libraries/services/modal.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libraries/theme/_modals.scss +30 -47
- package/src/libraries/theme/_utils.scss +16 -16
package/esm2022/libraries/components/cloud-confirm-dialog/cloud-confirm-dialog.component.mjs
CHANGED
|
@@ -29,7 +29,7 @@ export class CloudConfirmDialogComponent extends BaseComponent {
|
|
|
29
29
|
this.dialogRef.close(ok);
|
|
30
30
|
}
|
|
31
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CloudConfirmDialogComponent, deps: [{ token: i1.TranslateService }, { token: MAT_DIALOG_DATA }, { token: i2.MatLegacyDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CloudConfirmDialogComponent, isStandalone: true, selector: "tb-cloud-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId }}</div>\n <div class=\"modal-title-secondary\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString }}</div>\n <div class=\"modal-title-sub-secondary\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\" [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button' tabindex=\"-1\" (click)=\"close(false)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\" matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n </mat-dialog-actions>\n</div>", styles: [".modal-text span{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: NotificationTypeLabelComponent, selector: "tb-notification-type-label", inputs: ["notificationSeverity", "notificationSeverityInvert", "notificationSeverityText"] }, { kind: "ngmodule", type: MatLegacySnackBarModule }, { kind: "ngmodule", type: MatLegacyDialogModule }, { kind: "directive", type: i2.MatLegacyDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MessageBarModule }, { kind: "component", type: i5.MessageBarComponent, selector: "tb-message-bar", inputs: ["id", "stack", "fade", "dialog", "class"] }, { kind: "pipe", type: CurlyToBoldPipe, name: "curlyToBold" }] }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CloudConfirmDialogComponent, isStandalone: true, selector: "tb-cloud-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary ellipsis\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId }}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString }}</div>\n <div class=\"modal-title-sub-secondary ellipsis\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\" [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button' tabindex=\"-1\" (click)=\"close(false)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\" matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n </mat-dialog-actions>\n</div>", styles: [".modal-text span{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: NotificationTypeLabelComponent, selector: "tb-notification-type-label", inputs: ["notificationSeverity", "notificationSeverityInvert", "notificationSeverityText"] }, { kind: "ngmodule", type: MatLegacySnackBarModule }, { kind: "ngmodule", type: MatLegacyDialogModule }, { kind: "directive", type: i2.MatLegacyDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MessageBarModule }, { kind: "component", type: i5.MessageBarComponent, selector: "tb-message-bar", inputs: ["id", "stack", "fade", "dialog", "class"] }, { kind: "pipe", type: CurlyToBoldPipe, name: "curlyToBold" }] }); }
|
|
33
33
|
}
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CloudConfirmDialogComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
@@ -43,9 +43,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
43
43
|
MatRippleModule,
|
|
44
44
|
MessageBarModule,
|
|
45
45
|
CurlyToBoldPipe,
|
|
46
|
-
], template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId }}</div>\n <div class=\"modal-title-secondary\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString }}</div>\n <div class=\"modal-title-sub-secondary\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\" [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button' tabindex=\"-1\" (click)=\"close(false)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\" matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n </mat-dialog-actions>\n</div>", styles: [".modal-text span{white-space:pre-line}\n"] }]
|
|
46
|
+
], template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary ellipsis\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId }}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString }}</div>\n <div class=\"modal-title-sub-secondary ellipsis\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\" [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button' tabindex=\"-1\" (click)=\"close(false)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\" matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n </mat-dialog-actions>\n</div>", styles: [".modal-text span{white-space:pre-line}\n"] }]
|
|
47
47
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: undefined, decorators: [{
|
|
48
48
|
type: Inject,
|
|
49
49
|
args: [MAT_DIALOG_DATA]
|
|
50
50
|
}] }, { type: i2.MatLegacyDialogRef }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9jb21wb25lbnRzL2Nsb3VkLWNvbmZpcm0tZGlhbG9nL2Nsb3VkLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvY29tcG9uZW50cy9jbG91ZC1jb25maXJtLWRpYWxvZy9jbG91ZC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxlQUFlLEVBQXNDLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkosT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQzs7Ozs7OztBQW1CM0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGFBQWE7SUFFNUQsWUFDVSxnQkFBa0MsRUFDVixJQUE0QixFQUNyRCxTQUFvRDtRQUMzRCxLQUFLLEVBQUUsQ0FBQztRQUhBLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDVixTQUFJLEdBQUosSUFBSSxDQUF3QjtRQUNyRCxjQUFTLEdBQVQsU0FBUyxDQUEyQztJQUU3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxFQUFXO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FoQlUsMkJBQTJCLGtEQUk1QixlQUFlO21HQUpkLDJCQUEyQiwwR0M5QnhDLDhnRkE2Q00saUdEMUJGLFlBQVksK1BBQ1osa0JBQWtCLDRGQUNsQiw4QkFBOEIsa0tBQzlCLHVCQUF1Qiw4QkFDdkIscUJBQXFCLDJjQUVyQixlQUFlLGtTQUNmLGdCQUFnQiwrSkFDaEIsZUFBZTs7NEZBR04sMkJBQTJCO2tCQWpCdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQiw4QkFBOEI7d0JBQzlCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQjs7MEJBTUUsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0xFR0FDWV9ESUFMT0dfREFUQSBhcyBNQVRfRElBTE9HX0RBVEEsIE1hdExlZ2FjeURpYWxvZ1JlZiBhcyBNYXREaWFsb2dSZWYsIE1hdExlZ2FjeURpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgTWF0TGVnYWN5U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc25hY2stYmFyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENsb3VkQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Nsb3VkLWNvbmZpcm0tZGlhbG9nLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlJztcbmltcG9ydCB7IEN1cmx5VG9Cb2xkUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2N1cmx5LXRvLWJvbGQucGlwZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlQmFyTW9kdWxlIH0gZnJvbSAnLi4vbWVzc2FnZS1iYXInO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uVHlwZUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi10eXBlLWxhYmVsL25vdGlmaWNhdGlvbi10eXBlLWxhYmVsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RiLWNsb3VkLWNvbmZpcm0tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nsb3VkLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2xvdWQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXG4gICAgTm90aWZpY2F0aW9uVHlwZUxhYmVsQ29tcG9uZW50LFxuICAgIE1hdExlZ2FjeVNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdExlZ2FjeURpYWxvZ01vZHVsZSxcbiAgICBNYXRMZWdhY3lTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRSaXBwbGVNb2R1bGUsXG4gICAgTWVzc2FnZUJhck1vZHVsZSxcbiAgICBDdXJseVRvQm9sZFBpcGUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2xvdWRDb25maXJtRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQ2xvdWRDb25maXJtRGlhbG9nRGF0YSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2xvdWRDb25maXJtRGlhbG9nQ29tcG9uZW50Pikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGEub2tUZXh0ID0gdGhpcy5kYXRhLm9rVGV4dCB8fCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLkwub2spO1xuICAgIHRoaXMuZGF0YS5jYW5jZWxUZXh0ID0gdGhpcy5kYXRhLmNhbmNlbFRleHQgfHwgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5MLmNhbmNlbCk7XG4gIH1cblxuICBjbG9zZShvazogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG9rKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRiLW1vZGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC10aXRsZS1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWxsaXBzaXMgbW9kYWwtdGl0bGUtY29udGVudFwiIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGUtcHJpbWFyeSBlbGxpcHNpc1wiPnt7ZGF0YS5jb25maXJtVGl0bGV9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXNlY29uZGFyeSBlbGxpcHNpc1wiICpuZ0lmPVwiZGF0YS5jb25maXJtU3ViVGl0bGVcIj57e2RhdGEuY29uZmlybVN1YlRpdGxlfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC10aXRsZS1zZWNvbmRhcnkgZWxsaXBzaXNcIiAqbmdJZj1cImRhdGE/LnRpY2tldFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVudGl0eS1pZGVudGlmaWVyLXR5cGVcIj57eyBkYXRhLnRpY2tldC50eXBlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4je3sgZGF0YS50aWNrZXQubnVtYmVyIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGUtc2Vjb25kYXJ5IGVsbGlwc2lzXCIgKm5nSWY9XCJkYXRhPy5kZXZpY2VcIj57eyBkYXRhLmRldmljZS5uYW1lIH19IHwgI3t7IGRhdGEuZGV2aWNlLmNvbW1JZCB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXNlY29uZGFyeSBlbGxpcHNpc1wiICpuZ0lmPVwiZGF0YT8ubHByXCI+e3sgTC5jYXJfcGxhdGUgfCB0cmFuc2xhdGUgfX06IHt7IGRhdGEubHByLmxwclN0cmluZyB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXN1Yi1zZWNvbmRhcnkgZWxsaXBzaXNcIiAqbmdJZj1cImRhdGE/LnBhcmtOYW1lXCI+XG4gICAgICAgIDxzcGFuPnt7IGRhdGEucGFya05hbWUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YT8uem9uZU5hbWVcIj4gfCB7eyBkYXRhLnpvbmVOYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICA8dGItbm90aWZpY2F0aW9uLXR5cGUtbGFiZWwgKm5nSWY9XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eVwiIGNsYXNzPVwidGItbXItNVwiIFtub3RpZmljYXRpb25TZXZlcml0eV09XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eVwiXG4gICAgICAgIFtub3RpZmljYXRpb25TZXZlcml0eUludmVydF09XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eUludmVydFwiPlxuICAgICAgPC90Yi1ub3RpZmljYXRpb24tdHlwZS1sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPHRiLW1lc3NhZ2UtYmFyICpuZ0lmPVwiZGF0YS5zaG93TWVzc2FnZUJhclwiIFtkaWFsb2ddPVwidHJ1ZVwiPjwvdGItbWVzc2FnZS1iYXI+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRleHRcIiAqbmdGb3I9XCJsZXQgY29uZmlybU1lc3NhZ2Ugb2YgZGF0YS5jb25maXJtTWVzc2FnZXNcIj5cbiAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY29uZmlybU1lc3NhZ2UgfCBjdXJseVRvQm9sZFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlci1sZWZ0XCI+XG4gICAgICAgIDwhLS0gTm8gTGVmdCBBY3Rpb24gLS0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLXdyYXBwZXItcmlnaHRcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFkYXRhLmhpZGVDYW5jZWxcIiBjbGFzcz0ndGItYnV0dG9uIHRiLXRlcnRpYXJ5LWJ1dHRvbiBiYXNpYy1idXR0b24nIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwiY2xvc2UoZmFsc2UpXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXFhXT1cIkRhdGFRYUF0dHJpYnV0ZS5jbG91ZF9jb25maXJtX2RpYWdsb2crJ18nK0RhdGFRYUF0dHJpYnV0ZS5jYW5jZWxfYnRuXCIgbWF0UmlwcGxlPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLXRleHRcIj57eyBkYXRhLmNhbmNlbFRleHQgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWRhdGEuaGlkZU9rXCIgY2xhc3M9J3RiLWJ1dHRvbiB0Yi1wcmltYXJ5LWJ1dHRvbiBiYXNpYy1idXR0b24nIChjbGljayk9XCJjbG9zZSh0cnVlKVwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1xYV09XCJEYXRhUWFBdHRyaWJ1dGUuY2xvdWRfY29uZmlybV9kaWFnbG9nKydfJytEYXRhUWFBdHRyaWJ1dGUuY29uZmlybV9idG5cIiBtYXRSaXBwbGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiPnt7IGRhdGEub2tUZXh0IHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvZGl2PiJdfQ==
|