zek 16.0.2 → 16.0.4

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 (24) hide show
  1. package/esm2022/lib/components/base.component.mjs +1 -1
  2. package/esm2022/lib/components/edit-base.component.mjs +9 -9
  3. package/esm2022/lib/components/list-base.component.mjs +5 -5
  4. package/esm2022/lib/components/types.mjs +1 -1
  5. package/esm2022/lib/modules/alert/validation/validation.mjs +4 -4
  6. package/esm2022/lib/modules/bb/bb-modal-toolbar.mjs +3 -3
  7. package/esm2022/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.mjs +3 -3
  8. package/esm2022/lib/modules/modal/modal/modal.component.mjs +6 -6
  9. package/esm2022/lib/modules/select2-multiple/index.mjs +3 -3
  10. package/esm2022/lib/modules/select2-multiple/module.mjs +29 -0
  11. package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +133 -0
  12. package/esm2022/lib/modules/sort/sort-button-group/sort-button-group.component.mjs +3 -3
  13. package/esm2022/lib/modules/sort/sort.directive.mjs +4 -4
  14. package/esm2022/lib/utils/bootstrap.helper.mjs +5 -5
  15. package/fesm2022/zek.mjs +47 -47
  16. package/fesm2022/zek.mjs.map +1 -1
  17. package/lib/components/types.d.ts +1 -0
  18. package/lib/modules/select2-multiple/index.d.ts +2 -2
  19. package/lib/modules/select2-multiple/module.d.ts +9 -0
  20. package/lib/modules/select2-multiple/{select2-multiple.component.d.ts → select2-multiple.d.ts} +3 -3
  21. package/package.json +1 -1
  22. package/esm2022/lib/modules/select2-multiple/select2-multiple.component.mjs +0 -133
  23. package/esm2022/lib/modules/select2-multiple/select2-multiple.module.mjs +0 -29
  24. package/lib/modules/select2-multiple/select2-multiple.module.d.ts +0 -9
@@ -233,7 +233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
233
233
  class ZekDeleteModal extends ZekModal {
234
234
  constructor(translate) {
235
235
  super(translate);
236
- this.icon = 'fas fa-fas fa-trash';
236
+ this.icon = 'fa-solid fa-trash';
237
237
  translate.get('Action.Delete').subscribe((res) => this.title = res);
238
238
  translate.get('Alert.DeleteQuestion').subscribe((res) => this.text = res);
239
239
  this.componentType = ComponentType.Delete;
@@ -249,7 +249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
249
249
  class ZekApproveModal extends ZekModal {
250
250
  constructor(translate) {
251
251
  super(translate);
252
- this.icon = 'fas fa-thumbs-up';
252
+ this.icon = 'fa-solid fa-thumbs-up';
253
253
  translate.get('Action.Approve').subscribe((res) => this.title = res);
254
254
  translate.get('Alert.ApproveQuestion').subscribe((res) => this.text = res);
255
255
  this.componentType = ComponentType.Success;
@@ -265,7 +265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
265
265
  class ZekSubmitModal extends ZekModal {
266
266
  constructor(translate) {
267
267
  super(translate);
268
- this.icon = 'fas fa-thumbs-up';
268
+ this.icon = 'fa-solid fa-thumbs-up';
269
269
  translate.get('Action.Submit').subscribe((res) => this.title = res);
270
270
  translate.get('Alert.SubmitQuestion').subscribe((res) => this.text = res);
271
271
  this.componentType = ComponentType.Success;
@@ -281,7 +281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
281
281
  class ZekDisapproveModal extends ZekModal {
282
282
  constructor(translate) {
283
283
  super(translate);
284
- this.icon = 'fas fa-thumbs-down';
284
+ this.icon = 'fa-solid fa-thumbs-down';
285
285
  translate.get('Action.Disapprove').subscribe((res) => this.title = res);
286
286
  translate.get('Alert.DisapproveQuestion').subscribe((res) => this.text = res);
287
287
  this.componentType = ComponentType.Delete;
@@ -297,7 +297,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
297
297
  class ZekRestoreModal extends ZekModal {
298
298
  constructor(translate) {
299
299
  super(translate);
300
- this.icon = 'fas fa-redo';
300
+ this.icon = 'fa-solid fa-rotate-right';
301
301
  translate.get('Action.Restore').subscribe((res) => this.title = res);
302
302
  translate.get('Action.RestoreQuestion').subscribe((res) => this.text = res);
303
303
  this.componentType = ComponentType.Success;
@@ -310,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
310
310
  type: Component,
311
311
  args: [{ selector: 'zek-restore-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"modal-{{elementId}}\" tabindex=\"-1\" attr.aria-labelledby=\"modal-lable-{{elementId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [class.modal-lg]=\"large\" [class.modal-xl]=\"xl\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"modal-lable-{{elementId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"modal-ok-button-{{elementId}}\" (click)=\"ok()\"><i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}</button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"modal-cancel-button-{{elementId}}\" data-bs-dismiss=\"modal\"><i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
312
312
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUd4RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFJckIsTUFJYSxRQUFTLFNBQVEsYUFBYTtJQUN2QyxZQUE2QixTQUEyQjtRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURpQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQStDaEQsWUFBTyxHQUFZLElBQUksQ0FBQztRQVN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQVM3QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQVU1QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBa0J4QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVuQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVoQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFLdkMsV0FBTSxHQUFZLEtBQUss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IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEJvb3RzdHJhcEhlbHBlciwgQ29tcG9uZW50VHlwZSwgQ29udmVydCwgaGFuZGxlciwgUmFuZG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBWYWxpZEV2ZW50QXJncyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy92YWxpZC1ldmVudC1hcmdzLm1vZGVsJztcclxuXHJcbmRlY2xhcmUgbGV0IGJvb3RzdHJhcDogYW55O1xyXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtNb2RhbCBleHRlbmRzIENvcmVDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudElkID0gUmFuZG9tSGVscGVyLnJhbmRvbUhleCgpO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgYXN5bmMgZGVzdHJveSgpIHtcclxuICAgICAgICBhd2FpdCBzdXBlci5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWw/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLl9tb2RhbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLmhpZGRlbkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93bkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLnNob3duSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgaW5pdCgpIHtcclxuICAgICAgICBzdXBlci5pbml0KClcclxuICAgICAgICBpZiAoIXRoaXMub2tCdXR0b25UZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLk9rJykuc3Vic2NyaWJlKHRleHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5va0J1dHRvblRleHQgPSB0ZXh0O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgICAgIGlmIChtb2RhbEVsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3duSGFuZGxlciA9IGhhbmRsZXIuYWRkTGlzdGVuZXIobW9kYWxFbCwgJ3Nob3duLmJzLm1vZGFsJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25TaG93bi5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkhhbmRsZXIgPSBoYW5kbGVyLmFkZExpc3RlbmVyKG1vZGFsRWwsICdoaWRkZW4uYnMubW9kYWwnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkhpZGRlbi5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgc2hvd25IYW5kbGVyPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIGhpZGRlbkhhbmRsZXI/OiBudW1iZXIgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIG1vZGVsOiBhbnk7XHJcbiAgICByZWFkb25seSBlbGVtZW50SWQ6IHN0cmluZztcclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd09rOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd09rKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93T2s7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd09rKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dPayA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWRPazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkaXNhYmxlZE9rKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZE9rO1xyXG4gICAgfVxyXG4gICAgc2V0IGRpc2FibGVkT2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWRPayA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0NhbmNlbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dDYW5jZWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dDYW5jZWw7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0NhbmNlbCh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Q2FuY2VsID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfYXV0b0hpZGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhdXRvSGlkZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b0hpZGU7XHJcbiAgICB9XHJcbiAgICBzZXQgYXV0b0hpZGUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0b0hpZGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgb2tCdXR0b25UZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkhpZGRlbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbk9rID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQElucHV0KCkgY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuUHJpbWFyeTtcclxuXHJcblxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9sYXJnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsYXJnZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbGFyZ2U7XHJcbiAgICB9XHJcbiAgICBzZXQgbGFyZ2UodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fbGFyZ2UgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3hsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHhsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl94bDtcclxuICAgIH1cclxuICAgIHNldCB4bCh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl94bCA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2Nyb2xsYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsYWJsZTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxhYmxlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Z1bGxzY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbjtcclxuICAgIH1cclxuICAgIHNldCBmdWxsc2NyZWVuKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93SGVhZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dIZWFkZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0hlYWRlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Zvb3RlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dGb290ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dGb290ZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0Zvb3Rlcih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Rm9vdGVyID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25WYWxpZGF0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxWYWxpZEV2ZW50QXJncz4oZmFsc2UpO1xyXG4gICAgLy8gQElucHV0KCkgeHhsOiBib29sZWFuO1xyXG5cclxuICAgIHByaXZhdGUgX21vZGFsOiBhbnk7XHJcbiAgICAvLyBwdWJsaWMgZ2V0IG1vZGFsKCk6IGFueSB7XHJcbiAgICAvLyAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLl9tb2RhbDtcclxuICAgIC8vIH1cclxuICAgIC8vIHB1YmxpYyBzZXQgbW9kYWwodjogYW55KSB7XHJcbiAgICAvLyAgICAgdGhpcy5fbW9kYWwgPSB2O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRNb2RhbEVsZW1lbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC0nICsgdGhpcy5lbGVtZW50SWQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGdldE1vZGFsKCkge1xyXG4gICAgICAgIGxldCBtb2RhbEVsID0gdGhpcy5nZXRNb2RhbEVsZW1lbnQoKTtcclxuICAgICAgICByZXR1cm4gbmV3IGJvb3RzdHJhcC5Nb2RhbChtb2RhbEVsLCB7IGJhY2tkcm9wOiAnc3RhdGljJyB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBjc3NCdXR0b24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQm9vdHN0cmFwSGVscGVyLmNzc0J1dHRvbih0aGlzLmNvbXBvbmVudFR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHByaXZhdGUgaXNTaG93biA9IGZhbHNlO1xyXG4gICAgc2hvdyhtb2RlbD86IGFueSkge1xyXG4gICAgICAgIGlmICghbW9kZWwpIG1vZGVsID0ge307XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgICAvLyB0aGlzLm1vZGFsPy5zaG93KCk7XHJcblxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGFsID0gdGhpcy5nZXRNb2RhbCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwuc2hvdygpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLmlzU2hvd24gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoaWRlKCkge1xyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LmhpZGUoKTtcclxuXHJcbiAgICAgICAgLy8gaWYgKHRoaXMuaXNTaG93bikge1xyXG4gICAgICAgIC8vICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuX21vZGFsLmhpZGUoKTtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuaXNTaG93biA9IGZhbHNlO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfSBlbHNlIHtcclxuXHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwuaGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1jYW5jZWwtYnV0dG9uLScgKyB0aGlzLmVsZW1lbnRJZCk7XHJcbiAgICAgICAgICAgIGlmIChidG4pIHtcclxuICAgICAgICAgICAgICAgIGJ0bi5jbGljaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9rKCkge1xyXG4gICAgICAgIGxldCBldmVudCA9IG5ldyBWYWxpZEV2ZW50QXJncygpO1xyXG4gICAgICAgIHRoaXMub25WYWxpZGF0aW5nLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIGlmICghZXZlbnQudmFsaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b0hpZGUpXHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG5cclxuICAgICAgICB0aGlzLm9uT2suZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBrZXlEb3duKGU6IEV2ZW50KSB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMub2soKTtcclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1kZWxldGUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrRGVsZXRlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYXMgZmEtZmFzIGZhLXRyYXNoJztcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGVsZXRlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWxlcnQuRGVsZXRlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuRGVsZXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWFwcHJvdmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrQXBwcm92ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmFzIGZhLXRodW1icy11cCc7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWN0aW9uLkFwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBbGVydC5BcHByb3ZlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXN1Ym1pdC1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtTdWJtaXRNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKHRyYW5zbGF0ZSk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhcyBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5TdWJtaXQnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBbGVydC5TdWJtaXRRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstZGlzYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEaXNhcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYXMgZmEtdGh1bWJzLWRvd24nO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5EaXNhcHByb3ZlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWxlcnQuRGlzYXBwcm92ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1yZXN0b3JlLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1Jlc3RvcmVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKHRyYW5zbGF0ZSk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhcyBmYS1yZWRvJztcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5SZXN0b3JlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufSIsIjxkaXYgKGtleWRvd24uZW50ZXIpPVwia2V5RG93bigkZXZlbnQpXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgZGF0YS1icy1iYWNrZHJvcD1cInN0YXRpY1wiIGlkPVwibW9kYWwte3tlbGVtZW50SWR9fVwiIHRhYmluZGV4PVwiLTFcIiBhdHRyLmFyaWEtbGFiZWxsZWRieT1cIm1vZGFsLWxhYmxlLXt7ZWxlbWVudElkfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBbY2xhc3MubW9kYWwtbGddPVwibGFyZ2VcIiBbY2xhc3MubW9kYWwteGxdPVwieGxcIiBbY2xhc3MubW9kYWwtZGlhbG9nLXNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZVwiIFtjbGFzcy5tb2RhbC1mdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJoZWFkZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwibW9kYWwtbGFibGUte3tlbGVtZW50SWR9fVwiPnt7dGl0bGV9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAge3t0ZXh0fX1cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIiAqbmdJZj1cInNob3dGb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZvb3RlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd09rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkT2tcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4ge3tjc3NCdXR0b24oKX19XCIgaWQ9XCJtb2RhbC1vay1idXR0b24te3tlbGVtZW50SWR9fVwiIChjbGljayk9XCJvaygpXCI+PGkgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJ7eyBpY29uIH19XCI+PC9pPiB7eyBva0J1dHRvblRleHQgfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd0NhbmNlbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgaWQ9XCJtb2RhbC1jYW5jZWwtYnV0dG9uLXt7ZWxlbWVudElkfX1cIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtYmFuXCI+PC9pPiB7eyAnQWN0aW9uLkNhbmNlbCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUd4RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFJckIsTUFJYSxRQUFTLFNBQVEsYUFBYTtJQUN2QyxZQUE2QixTQUEyQjtRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURpQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQStDaEQsWUFBTyxHQUFZLElBQUksQ0FBQztRQVN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQVM3QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQVU1QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBa0J4QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVuQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVoQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFLdkMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQVN4QixRQUFHLEdBQVksS0FBSyxDQUFDO1FBVXJCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBUzdCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBUzdCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBUzVCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBWTFCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLENBQWlCLEtBQUssQ0FBQyxDQUFDO1FBaEs3RCxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBQ1EsS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDOUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBQ1EsSUFBSTtRQUNULEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckMsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7b0JBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO29CQUN0RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQVlELElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsQ0FBZTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBR0QsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxDQUFlO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFHRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUlELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBZTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBdUJELElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBZTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBR0QsSUFDSSxFQUFFO1FBQ0YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLEVBQUUsQ0FBQyxDQUFlO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFJRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUdELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsQ0FBZTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBR0QsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxDQUFlO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFHRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQVNELDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLFFBQVE7SUFDUiwwQkFBMEI7SUFDMUIsSUFBSTtJQUNKLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIsSUFBSTtJQUVNLGVBQWU7UUFDckIsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNTLFFBQVE7UUFDZCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUtELFNBQVM7UUFDTCxPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLEtBQVc7UUFDWixJQUFJLENBQUMsS0FBSztZQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsc0JBQXNCO1FBR3RCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25CLHVCQUF1QjtTQUMxQjtJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0Esc0JBQXNCO1FBRXRCLHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsOEJBQThCO1FBQzlCLGdDQUFnQztRQUNoQyxRQUFRO1FBQ1IsV0FBVztRQUVYLElBQUk7UUFFSixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RCO2FBQ0k7WUFDRCxJQUFJLEdBQUcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzRSxJQUFJLEdBQUcsRUFBRTtnQkFDTCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDZjtTQUNKO0lBQ0wsQ0FBQztJQUVELEVBQUU7UUFDRSxJQUFJLEtBQUssR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUFFLE9BQU87UUFFekIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFRO1FBQ1osQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNkLENBQUM7OEdBdFBRLFFBQVE7a0dBQVIsUUFBUSwrZ0JDZnJCLDhsREFtQk07O1NESk8sUUFBUTsyRkFBUixRQUFRO2tCQUpwQixTQUFTOytCQUNJLFdBQVc7dUdBK0NaLEtBQUs7c0JBQWIsS0FBSztnQkFNRixNQUFNO3NCQURULEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7Z0JBU0csS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUcsSUFBSTtzQkFBYixNQUFNO2dCQUVFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT0YsS0FBSztzQkFEUixLQUFLO2dCQVVGLEVBQUU7c0JBREwsS0FBSztnQkFXRixVQUFVO3NCQURiLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7Z0JBV0ksWUFBWTtzQkFBckIsTUFBTTs7QUFzRlgsTUFJYSxjQUFlLFNBQVEsUUFBUTtJQUN4QyxZQUFZLFNBQTJCO1FBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDO1FBQ2hDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQzlDLENBQUM7OEdBUFEsY0FBYztrR0FBZCxjQUFjLCtFQzVRM0IsOGxEQW1CTTs7U0R5UE8sY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTOytCQUNJLGtCQUFrQjs7QUFhaEMsTUFJYSxlQUFnQixTQUFRLFFBQVE7SUFDekMsWUFBWSxTQUEyQjtRQUNuQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQztRQUNwQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzdFLFNBQVMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7OEdBUFEsZUFBZTtrR0FBZixlQUFlLGdGQzFSNUIsOGxEQW1CTTs7U0R1UU8sZUFBZTsyRkFBZixlQUFlO2tCQUozQixTQUFTOytCQUNJLG1CQUFtQjs7QUFZakMsTUFJYSxjQUFlLFNBQVEsUUFBUTtJQUN4QyxZQUFZLFNBQTJCO1FBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFDO1FBQ3BDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7OEdBUFEsY0FBYztrR0FBZCxjQUFjLCtFQ3ZTM0IsOGxEQW1CTTs7U0RvUk8sY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTOytCQUNJLGtCQUFrQjs7QUFZaEMsTUFJYSxrQkFBbUIsU0FBUSxRQUFRO0lBQzVDLFlBQVksU0FBMkI7UUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcseUJBQXlCLENBQUM7UUFDdEMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNoRixTQUFTLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDOzhHQVBRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG1GQ3BUL0IsOGxEQW1CTTs7U0RpU08sa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0ksc0JBQXNCOztBQWFwQyxNQUlhLGVBQWdCLFNBQVEsUUFBUTtJQUN6QyxZQUFZLFNBQTJCO1FBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLDBCQUEwQixDQUFDO1FBQ3ZDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDN0UsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDL0MsQ0FBQzs4R0FQUSxlQUFlO2tHQUFmLGVBQWUsZ0ZDbFU1Qiw4bERBbUJNOztTRCtTTyxlQUFlOzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIENvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQm9vdHN0cmFwSGVscGVyLCBDb21wb25lbnRUeXBlLCBDb252ZXJ0LCBoYW5kbGVyLCBSYW5kb21IZWxwZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IFZhbGlkRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3ZhbGlkLWV2ZW50LWFyZ3MubW9kZWwnO1xyXG5cclxuZGVjbGFyZSBsZXQgYm9vdHN0cmFwOiBhbnk7XHJcbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla01vZGFsIGV4dGVuZHMgQ29yZUNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhc3luYyBkZXN0cm95KCkge1xyXG4gICAgICAgIGF3YWl0IHN1cGVyLmRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLl9tb2RhbD8uZGlzcG9zZSgpO1xyXG4gICAgICAgIHRoaXMuX21vZGFsID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZGVuSGFuZGxlcikge1xyXG4gICAgICAgICAgICBoYW5kbGVyLnJlbW92ZUxpc3RlbmVyKHRoaXMuaGlkZGVuSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNob3duSGFuZGxlcikge1xyXG4gICAgICAgICAgICBoYW5kbGVyLnJlbW92ZUxpc3RlbmVyKHRoaXMuc2hvd25IYW5kbGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBpbml0KCkge1xyXG4gICAgICAgIHN1cGVyLmluaXQoKVxyXG4gICAgICAgIGlmICghdGhpcy5va0J1dHRvblRleHQpIHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uT2snKS5zdWJzY3JpYmUodGV4dCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9rQnV0dG9uVGV4dCA9IHRleHQ7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBtb2RhbEVsID0gdGhpcy5nZXRNb2RhbEVsZW1lbnQoKTtcclxuICAgICAgICAgICAgaWYgKG1vZGFsRWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd25IYW5kbGVyID0gaGFuZGxlci5hZGRMaXN0ZW5lcihtb2RhbEVsLCAnc2hvd24uYnMubW9kYWwnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNob3duLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZGVuSGFuZGxlciA9IGhhbmRsZXIuYWRkTGlzdGVuZXIobW9kYWxFbCwgJ2hpZGRlbi5icy5tb2RhbCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSGlkZGVuLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBzaG93bkhhbmRsZXI/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgaGlkZGVuSGFuZGxlcj86IG51bWJlciB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcclxuICAgIHJlYWRvbmx5IGVsZW1lbnRJZDogc3RyaW5nO1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zaG93T2s6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93T2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dPaztcclxuICAgIH1cclxuICAgIHNldCBzaG93T2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd09rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZE9rOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRpc2FibGVkT2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkT2s7XHJcbiAgICB9XHJcbiAgICBzZXQgZGlzYWJsZWRPayh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZE9rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93Q2FuY2VsOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0NhbmNlbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NhbmNlbDtcclxuICAgIH1cclxuICAgIHNldCBzaG93Q2FuY2VsKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dDYW5jZWwgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9hdXRvSGlkZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGF1dG9IaWRlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvSGlkZTtcclxuICAgIH1cclxuICAgIHNldCBhdXRvSGlkZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9hdXRvSGlkZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSB0ZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBpY29uPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBva0J1dHRvblRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvblNob3duID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uSGlkZGVuID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5QcmltYXJ5O1xyXG5cclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgX2xhcmdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sYXJnZTtcclxuICAgIH1cclxuICAgIHNldCBsYXJnZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9sYXJnZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfeGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgeGwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3hsO1xyXG4gICAgfVxyXG4gICAgc2V0IHhsKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3hsID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2Nyb2xsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzY3JvbGxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxhYmxlO1xyXG4gICAgfVxyXG4gICAgc2V0IHNjcm9sbGFibGUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsYWJsZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZnVsbHNjcmVlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBmdWxsc2NyZWVuKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9mdWxsc2NyZWVuO1xyXG4gICAgfVxyXG4gICAgc2V0IGZ1bGxzY3JlZW4odjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fZnVsbHNjcmVlbiA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dIZWFkZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0hlYWRlcih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93SGVhZGVyID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93Rm9vdGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0Zvb3RlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0Zvb3RlcjtcclxuICAgIH1cclxuICAgIHNldCBzaG93Rm9vdGVyKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dGb290ZXIgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIEBPdXRwdXQoKSBvblZhbGlkYXRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPFZhbGlkRXZlbnRBcmdzPihmYWxzZSk7XHJcbiAgICAvLyBASW5wdXQoKSB4eGw6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBfbW9kYWw6IGFueTtcclxuICAgIC8vIHB1YmxpYyBnZXQgbW9kYWwoKTogYW55IHtcclxuICAgIC8vICAgICBpZiAoIXRoaXMuX21vZGFsKSB7XHJcbiAgICAvLyAgICAgICAgIHRoaXMuZ2V0TW9kYWwoKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuX21vZGFsO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gcHVibGljIHNldCBtb2RhbCh2OiBhbnkpIHtcclxuICAgIC8vICAgICB0aGlzLl9tb2RhbCA9IHY7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldE1vZGFsRWxlbWVudCgpIHtcclxuICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLScgKyB0aGlzLmVsZW1lbnRJZCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0TW9kYWwoKSB7XHJcbiAgICAgICAgbGV0IG1vZGFsRWwgPSB0aGlzLmdldE1vZGFsRWxlbWVudCgpO1xyXG4gICAgICAgIHJldHVybiBuZXcgYm9vdHN0cmFwLk1vZGFsKG1vZGFsRWwsIHsgYmFja2Ryb3A6ICdzdGF0aWMnIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIGNzc0J1dHRvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBCb290c3RyYXBIZWxwZXIuY3NzQnV0dG9uKHRoaXMuY29tcG9uZW50VHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBpc1Nob3duID0gZmFsc2U7XHJcbiAgICBzaG93KG1vZGVsPzogYW55KSB7XHJcbiAgICAgICAgaWYgKCFtb2RlbCkgbW9kZWwgPSB7fTtcclxuICAgICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LnNob3coKTtcclxuXHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwgPSB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5zaG93KCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuaXNTaG93biA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhpZGUoKSB7XHJcbiAgICAgICAgLy8gdGhpcy5tb2RhbD8uaGlkZSgpO1xyXG5cclxuICAgICAgICAvLyBpZiAodGhpcy5pc1Nob3duKSB7XHJcbiAgICAgICAgLy8gICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5fbW9kYWwuaGlkZSgpO1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5pc1Nob3duID0gZmFsc2U7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9IGVsc2Uge1xyXG5cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLWNhbmNlbC1idXR0b24tJyArIHRoaXMuZWxlbWVudElkKTtcclxuICAgICAgICAgICAgaWYgKGJ0bikge1xyXG4gICAgICAgICAgICAgICAgYnRuLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb2soKSB7XHJcbiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IFZhbGlkRXZlbnRBcmdzKCk7XHJcbiAgICAgICAgdGhpcy5vblZhbGlkYXRpbmcuZW1pdChldmVudCk7XHJcbiAgICAgICAgaWYgKCFldmVudC52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hdXRvSGlkZSlcclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcblxyXG4gICAgICAgIHRoaXMub25Pay5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGtleURvd24oZTogRXZlbnQpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5vaygpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWRlbGV0ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEZWxldGVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKHRyYW5zbGF0ZSk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXRyYXNoJztcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGVsZXRlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWxlcnQuRGVsZXRlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuRGVsZXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWFwcHJvdmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrQXBwcm92ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLXVwJztcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uQXBwcm92ZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkFwcHJvdmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc3VibWl0LW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1N1Ym1pdE1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLXVwJztcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uU3VibWl0Jykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWxlcnQuU3VibWl0UXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWRpc2FwcHJvdmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrRGlzYXBwcm92ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLWRvd24nO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5EaXNhcHByb3ZlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWxlcnQuRGlzYXBwcm92ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1yZXN0b3JlLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1Jlc3RvcmVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKHRyYW5zbGF0ZSk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXJvdGF0ZS1yaWdodCc7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWN0aW9uLlJlc3RvcmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IChrZXlkb3duLmVudGVyKT1cImtleURvd24oJGV2ZW50KVwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIGRhdGEtYnMtYmFja2Ryb3A9XCJzdGF0aWNcIiBpZD1cIm1vZGFsLXt7ZWxlbWVudElkfX1cIiB0YWJpbmRleD1cIi0xXCIgYXR0ci5hcmlhLWxhYmVsbGVkYnk9XCJtb2RhbC1sYWJsZS17e2VsZW1lbnRJZH19XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCIgW2NsYXNzLm1vZGFsLWxnXT1cImxhcmdlXCIgW2NsYXNzLm1vZGFsLXhsXT1cInhsXCIgW2NsYXNzLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIiBbY2xhc3MubW9kYWwtZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cIm1vZGFsLWxhYmxlLXt7ZWxlbWVudElkfX1cIj57e3RpdGxlfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIHt7dGV4dH19XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJzaG93Rm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmb290ZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtjbGFzcy52aXN1YWxseS1oaWRkZW5dPVwiIXNob3dPa1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZE9rXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIHt7Y3NzQnV0dG9uKCl9fVwiIGlkPVwibW9kYWwtb2stYnV0dG9uLXt7ZWxlbWVudElkfX1cIiAoY2xpY2spPVwib2soKVwiPjxpICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwie3sgaWNvbiB9fVwiPjwvaT4ge3sgb2tCdXR0b25UZXh0IH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtjbGFzcy52aXN1YWxseS1oaWRkZW5dPVwiIXNob3dDYW5jZWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGlkPVwibW9kYWwtY2FuY2VsLWJ1dHRvbi17e2VsZW1lbnRJZH19XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj48aSBjbGFzcz1cImZhLXNvbGlkIGZhLWJhblwiPjwvaT4ge3sgJ0FjdGlvbi5DYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './select2-multiple.module';
2
- export * from './select2-multiple.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QyLW11bHRpcGxlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQnOyJdfQ==
1
+ export * from './module';
2
+ export * from './select2-multiple';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QyLW11bHRpcGxlJzsiXX0=
@@ -0,0 +1,29 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ZekSelect2Multiple } from './select2-multiple';
5
+ import * as i0 from "@angular/core";
6
+ class ZekSelect2MultipleModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekSelect2MultipleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ZekSelect2MultipleModule, declarations: [ZekSelect2Multiple], imports: [CommonModule,
9
+ FormsModule], exports: [ZekSelect2Multiple] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekSelect2MultipleModule, imports: [CommonModule,
11
+ FormsModule] }); }
12
+ }
13
+ export { ZekSelect2MultipleModule };
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekSelect2MultipleModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: [
18
+ CommonModule,
19
+ FormsModule
20
+ ],
21
+ declarations: [
22
+ ZekSelect2Multiple
23
+ ],
24
+ exports: [
25
+ ZekSelect2Multiple
26
+ ],
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyLW11bHRpcGxlL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXhELE1BYWEsd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixpQkFQakMsa0JBQWtCLGFBSmxCLFlBQVk7WUFDWixXQUFXLGFBTVgsa0JBQWtCOytHQUlULHdCQUF3QixZQVhqQyxZQUFZO1lBQ1osV0FBVzs7U0FVRix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFicEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBRTt3QkFDWixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiICBcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFpla1NlbGVjdDJNdWx0aXBsZSB9IGZyb20gJy4vc2VsZWN0Mi1tdWx0aXBsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFpla1NlbGVjdDJNdWx0aXBsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgWmVrU2VsZWN0Mk11bHRpcGxlXHJcbiAgXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaZWtTZWxlY3QyTXVsdGlwbGVNb2R1bGUge1xyXG59Il19
@@ -0,0 +1,133 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { RandomHelper, StringHelper } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ //declare let bootstrap: any;
7
+ class ZekSelect2Multiple {
8
+ constructor() {
9
+ this.elementId = RandomHelper.randomHex();
10
+ this._data = [];
11
+ this.filteredData = [];
12
+ this.placeholder = '';
13
+ this.selectedItemChange = new EventEmitter();
14
+ this._selectedItems = [];
15
+ this.valueChange = new EventEmitter();
16
+ }
17
+ get data() {
18
+ return this._data;
19
+ }
20
+ set data(value) {
21
+ if (this._data !== value) {
22
+ this._data = value;
23
+ this.findAndSetItems();
24
+ this.filterData();
25
+ }
26
+ }
27
+ get selectedItems() {
28
+ return this._selectedItems;
29
+ }
30
+ get value() {
31
+ return this._value;
32
+ }
33
+ set value(v) {
34
+ if (this._value !== v) {
35
+ this._value = v;
36
+ this.findAndSetItems();
37
+ }
38
+ }
39
+ findAndSetItems() {
40
+ this._data?.forEach(x => x.selected = false);
41
+ this._selectedItems = [];
42
+ let foundItems = [];
43
+ if (this._value === undefined || this._value === null || !this.data) {
44
+ }
45
+ else if (this.valueField === undefined || this.valueField === null || this.valueField === '') {
46
+ foundItems = this.data.filter(x => this._value?.includes(x));
47
+ }
48
+ else {
49
+ foundItems = this.data.filter(x => this._value?.includes(x[this.valueField]));
50
+ }
51
+ if (foundItems.length > 0) {
52
+ foundItems.forEach(x => x.selected = true);
53
+ this._selectedItems = foundItems;
54
+ }
55
+ this.setText();
56
+ }
57
+ onTextChange(text) {
58
+ this.filter = StringHelper.tryTrim(text);
59
+ this.filterData();
60
+ }
61
+ filterData() {
62
+ if (this.filter && this.filter !== '') {
63
+ let searchString = this.filter;
64
+ if (this.textField === undefined || this.textField === null) {
65
+ this.filteredData = this.data.filter(item => item.toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
66
+ }
67
+ else {
68
+ this.filteredData = this.data.filter(item => item[this.textField].toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
69
+ }
70
+ }
71
+ else {
72
+ this.filteredData = this.data;
73
+ }
74
+ }
75
+ onFocus(e) {
76
+ this.filter = '';
77
+ this.text = '';
78
+ this.filterData();
79
+ }
80
+ inputUnfocused() {
81
+ this.setText();
82
+ }
83
+ setText() {
84
+ if (this.textField === undefined || this.textField === null) {
85
+ this.text = this._selectedItems.join(', ');
86
+ }
87
+ else {
88
+ this.text = this._selectedItems.map(x => x[this.textField]).join(', ');
89
+ }
90
+ }
91
+ selectItem(item) {
92
+ item.selected = !item.selected;
93
+ if (item.selected) {
94
+ this._selectedItems.push(item);
95
+ }
96
+ else {
97
+ this._selectedItems = this._selectedItems.filter(x => x !== item);
98
+ }
99
+ this.selectedItemChange.emit(item);
100
+ this.setText();
101
+ let v;
102
+ if (this.valueField === undefined || this.valueField === null || this.valueField === '') {
103
+ v = this._selectedItems ? this._selectedItems : null;
104
+ }
105
+ else {
106
+ v = this._selectedItems ? this._selectedItems.map(x => x[this.valueField]) : null;
107
+ }
108
+ this._value = v;
109
+ this.valueChange.emit(v);
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekSelect2Multiple, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ZekSelect2Multiple, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
113
+ }
114
+ export { ZekSelect2Multiple };
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekSelect2Multiple, decorators: [{
116
+ type: Component,
117
+ args: [{ selector: 'zek-select2-multiple,[zek-select2-multiple]', template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
118
+ }], propDecorators: { data: [{
119
+ type: Input
120
+ }], textField: [{
121
+ type: Input
122
+ }], valueField: [{
123
+ type: Input
124
+ }], placeholder: [{
125
+ type: Input
126
+ }], selectedItemChange: [{
127
+ type: Output
128
+ }], valueChange: [{
129
+ type: Output
130
+ }], value: [{
131
+ type: Input
132
+ }] } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1tdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc2VsZWN0Mi1tdWx0aXBsZS9zZWxlY3QyLW11bHRpcGxlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyLW11bHRpcGxlL3NlbGVjdDItbXVsdGlwbGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUN6RCw2QkFBNkI7QUFHN0IsTUFLYSxrQkFBa0I7SUFML0I7UUFTYSxjQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXRDLFVBQUssR0FBZSxFQUFFLENBQUM7UUFZL0IsaUJBQVksR0FBZSxFQUFFLENBQUM7UUFJckIsZ0JBQVcsR0FBVyxFQUFFLENBQUE7UUFFdkIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQyxtQkFBYyxHQUFlLEVBQUUsQ0FBQztRQUs5QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0E4Rm5EO0lBckhHLElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBaUI7UUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQVNE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QUVmLElBQUksQ0FBb0IsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFO1lBQ3JGLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDeEQ7YUFBTTtZQUNILENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3JGO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0F6SFEsa0JBQWtCO2tHQUFsQixrQkFBa0IsOFJDVi9CLGlsREF1Qk07O1NEYk8sa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksNkNBQTZDOzhCQVluRCxJQUFJO3NCQURQLEtBQUs7Z0JBYUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNO2dCQU1HLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0gsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJhbmRvbUhlbHBlciwgU3RyaW5nSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG4vL2RlY2xhcmUgbGV0IGJvb3RzdHJhcDogYW55O1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc2VsZWN0Mi1tdWx0aXBsZSxbemVrLXNlbGVjdDItbXVsdGlwbGVdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLW11bHRpcGxlLmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWmVrU2VsZWN0Mk11bHRpcGxlIHtcclxuICAgIGZpbHRlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICB0ZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICByZWFkb25seSBlbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGEodmFsdWU6IEFycmF5PGFueT4pIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtcygpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWx0ZXJlZERhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKSB0ZXh0RmllbGQ6IGFueTtcclxuICAgIEBJbnB1dCgpIHZhbHVlRmllbGQ6IGFueTtcclxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJ1xyXG5cclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIHByaXZhdGUgX3NlbGVjdGVkSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGdldCBzZWxlY3RlZEl0ZW1zKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWU/OiBBcnJheTxhbnk+IHwgbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW1zKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmluZEFuZFNldEl0ZW1zKCkge1xyXG4gICAgICAgIHRoaXMuX2RhdGE/LmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBbXTtcclxuICAgICAgICBsZXQgZm91bmRJdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3ZhbHVlID09PSBudWxsIHx8ICF0aGlzLmRhdGEpIHtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlRmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlRmllbGQgPT09IG51bGwgfHwgdGhpcy52YWx1ZUZpZWxkID09PSAnJykge1xyXG4gICAgICAgICAgICBmb3VuZEl0ZW1zID0gdGhpcy5kYXRhLmZpbHRlcih4ID0+IHRoaXMuX3ZhbHVlPy5pbmNsdWRlcyh4KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtcyA9IHRoaXMuZGF0YS5maWx0ZXIoeCA9PiB0aGlzLl92YWx1ZT8uaW5jbHVkZXMoeFt0aGlzLnZhbHVlRmllbGRdKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZm91bmRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbXMuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IGZvdW5kSXRlbXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgb25UZXh0Q2hhbmdlKHRleHQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyID0gU3RyaW5nSGVscGVyLnRyeVRyaW0odGV4dCk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaWx0ZXJEYXRhKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbHRlciAmJiB0aGlzLmZpbHRlciAhPT0gJycpIHtcclxuICAgICAgICAgICAgbGV0IHNlYXJjaFN0cmluZyA9IHRoaXMuZmlsdGVyO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtW3RoaXMudGV4dEZpZWxkXS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkZvY3VzKGU6IEZvY3VzRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmZpbHRlciA9ICcnO1xyXG4gICAgICAgIHRoaXMudGV4dCA9ICcnO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgaW5wdXRVbmZvY3VzZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRUZXh0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbXMuam9pbignLCAnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLm1hcCh4ID0+IHhbdGhpcy50ZXh0RmllbGRdKS5qb2luKCcsICcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RJdGVtKGl0ZW06IGFueSkge1xyXG4gICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSAhaXRlbS5zZWxlY3RlZDtcclxuXHJcbiAgICAgICAgaWYgKGl0ZW0uc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLmZpbHRlcih4ID0+IHggIT09IGl0ZW0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1DaGFuZ2UuZW1pdChpdGVtKTtcclxuICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuXHJcbiAgICAgICAgbGV0IHY6IEFycmF5PGFueT4gfCBudWxsO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlRmllbGQgPT09IG51bGwgfHwgdGhpcy52YWx1ZUZpZWxkID09PSAnJykge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcyA/IHRoaXMuX3NlbGVjdGVkSXRlbXMgOiBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHYgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zID8gdGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoeCA9PiB4W3RoaXMudmFsdWVGaWVsZF0pIDogbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgcG9zaXRpb24tcmVsYXRpdmVcIiBpZD1cImRyb3Bkb3duLW1lbnUtY29udGFpbmVyLXt7ZWxlbWVudElkfX1cIj5cclxuICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGRhdGEtYnMtYXV0by1jbG9zZT1cIm91dHNpZGVcIiBpZD1cImlucHV0LXt7ZWxlbWVudElkfX1cIiBbKG5nTW9kZWwpXT1cInRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIiAoYmx1cik9XCJpbnB1dFVuZm9jdXNlZCgpXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgaWQ9XCJidG4te3tlbGVtZW50SWR9fVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgZGF0YS1icy1yZWZlcmVuY2U9XCJwYXJlbnRcIj48L2J1dHRvbj5cclxuICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtc3RhcnQgdy0xMDAgc2Nyb2xsYWJsZS1tZW51XCIgaWQ9XCJkcm9wZG93bi1tZW51LXt7ZWxlbWVudElkfX1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkRGF0YVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZS1jaGVja1wiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICB7e2l0ZW1bdGV4dEZpZWxkXX19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRleHRGaWVsZFwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2VsZWN0ZWRcIj48aSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc3F1YXJlLWNoZWNrXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uc2VsZWN0ZWRcIj48aSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc3F1YXJlXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgIHt7aXRlbX19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC91bD5cclxuPC9kaXY+Il19
@@ -58,12 +58,12 @@ class SortButtonGroupComponent {
58
58
  this.onChange.emit();
59
59
  }
60
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SortButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SortButtonGroupComponent, selector: "zek-sort-button-group", inputs: { sort: "sort", asc: "asc", sortFields: "sortFields" }, outputs: { sortChange: "sortChange", ascChange: "ascChange", onChange: "onChange" }, ngImport: i0, template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fas fa-sort-alt fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fas fa-sort-alpha-down fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fas fa-sort-alpha-up fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SortButtonGroupComponent, selector: "zek-sort-button-group", inputs: { sort: "sort", asc: "asc", sortFields: "sortFields" }, outputs: { sortChange: "sortChange", ascChange: "ascChange", onChange: "onChange" }, ngImport: i0, template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fa-solid fa-sort fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fa-solid fa-arrow-down-z-a fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fa-solid fa-arrow-up-z-a fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div><i class=\"\"></i>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
62
62
  }
63
63
  export { SortButtonGroupComponent };
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SortButtonGroupComponent, decorators: [{
65
65
  type: Component,
66
- args: [{ selector: 'zek-sort-button-group', template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fas fa-sort-alt fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fas fa-sort-alpha-down fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fas fa-sort-alpha-up fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div>" }]
66
+ args: [{ selector: 'zek-sort-button-group', template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fa-solid fa-sort fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fa-solid fa-arrow-down-z-a fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fa-solid fa-arrow-up-z-a fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div><i class=\"\"></i>" }]
67
67
  }], ctorParameters: function () { return []; }, propDecorators: { sortChange: [{
68
68
  type: Output
69
69
  }], ascChange: [{
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
77
77
  }], sortFields: [{
78
78
  type: Input
79
79
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1idXR0b24tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zb3J0L3NvcnQtYnV0dG9uLWdyb3VwL3NvcnQtYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc29ydC9zb3J0LWJ1dHRvbi1ncm91cC9zb3J0LWJ1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUU5QyxNQUlhLHdCQUF3QjtJQW9CakMsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUNJLElBQUksQ0FBQyxLQUFvQjtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUlELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFDSSxHQUFHLENBQUMsS0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUlEOztPQUVHO0lBQ0g7UUE5Q0EsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekI7O1dBRUc7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFekQ7O1dBRUc7UUFDTyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRDs7V0FFRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2hDLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBWTVCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFXckIsZUFBVSxHQUFxQixJQUFJLENBQUM7UUFNekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFFL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQWxFUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixrTkNSckMsZ3JDQWFNOztTRExPLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNJLHVCQUF1QjswRUFTdkIsVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU07Z0JBUUgsSUFBSTtzQkFEUCxLQUFLO2dCQWFGLEdBQUc7c0JBRE4sS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9rZXktcGFpci5tb2RlbCc7XHJcbmltcG9ydCB7IFJhbmRvbUhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc29ydC1idXR0b24tZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NvcnQtYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU29ydEJ1dHRvbkdyb3VwQ29tcG9uZW50IHtcclxuICAgIGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4ZWN1dGVzIGFmdGVyICdzb3J0JyBpbnB1dCBjaGFuZ2VkXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXhlY3V0ZXMgYWZ0ZXIgJ2FzYycgaW5wdXQgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYXNjQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogIEV4ZWN1dGVzIGFmdGVyIGNsaWNrIG9uIGNvbHVtblxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgc29ydEZpZWxkOiBhbnk7XHJcbiAgICBwcml2YXRlIF9zb3J0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIGdldCBzb3J0KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zb3J0O1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzb3J0KHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvcnQgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvcnQgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2FzYzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZ2V0IGFzYygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXNjO1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBhc2ModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fYXNjICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hc2MgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgc29ydEZpZWxkczogS2V5UGFpcltdIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IGNvbnN0cnVjdG9yXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudE5hbWUgPSAnc29ydC1idXR0b24tZ3JvdXAtJyArIFJhbmRvbUhlbHBlci5yYW5kb21IZXgoKTtcclxuICAgIH1cclxuXHJcbiAgICBzb3J0RmllbGRDbGljayhpdGVtOiBhbnkpIHtcclxuICAgICAgICBpZiAoIWl0ZW0gfHwgIWl0ZW0ua2V5KSByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuc29ydEZpZWxkID0gaXRlbTtcclxuICAgICAgICBpZiAodGhpcy5zb3J0ICE9PSBpdGVtLmtleSkge1xyXG4gICAgICAgICAgICB0aGlzLnNvcnQgPSBpdGVtLmtleTtcclxuICAgICAgICAgICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQodGhpcy5zb3J0KTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzY0Rlc2NDbGljaygpIHtcclxuICAgICAgICB0aGlzLmFzYyA9ICF0aGlzLmFzYztcclxuICAgICAgICB0aGlzLmFzY0NoYW5nZS5lbWl0KHRoaXMuYXNjKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1lLTNcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiU29ydCBncm91cFwiPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgKGNsaWNrKT1cImFzY0Rlc2NDbGljaygpXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJhc2MgPT09IHVuZGVmaW5lZCB8fCBhc2MgPT09IG51bGxcIj48aSBjbGFzcz1cImZhcyBmYS1zb3J0LWFsdCBmYS1md1wiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJhc2MgPT09IHRydWVcIj48aSBjbGFzcz1cImZhcyBmYS1zb3J0LWFscGhhLWRvd24gZmEtZndcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYXNjID09PSBmYWxzZVwiPjxpIGNsYXNzPVwiZmFzIGZhLXNvcnQtYWxwaGEtdXAgZmEtZndcIj48L2k+PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwic29ydEZpZWxkcyAmJiBzb3J0RmllbGRzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgZHJvcGRvd24tdG9nZ2xlXCIgdHlwZT1cImJ1dHRvblwiIGlkPVwie3tlbGVtZW50TmFtZX19XCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0RmllbGQ7IGVsc2UgZWxzZUZpZWxkQmxvY2tcIj57eyBzb3J0RmllbGQudmFsdWUgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VGaWVsZEJsb2NrPnt7ICdBY3Rpb24uU29ydCcgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8dWwgKm5nSWY9XCJzb3J0RmllbGRzICYmIHNvcnRGaWVsZHMubGVuZ3RoID4gMFwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJlbGVtZW50TmFtZVwiPlxyXG4gICAgICAgIDxsaT48YSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzb3J0RmllbGRzXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzb3J0RmllbGRDbGljayhpdGVtKVwiPnt7IChpdGVtLnZhbHVlKSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgPC91bD5cclxuPC9kaXY+Il19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1idXR0b24tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zb3J0L3NvcnQtYnV0dG9uLWdyb3VwL3NvcnQtYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc29ydC9zb3J0LWJ1dHRvbi1ncm91cC9zb3J0LWJ1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUU5QyxNQUlhLHdCQUF3QjtJQW9CakMsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUNJLElBQUksQ0FBQyxLQUFvQjtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUlELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFDSSxHQUFHLENBQUMsS0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUlEOztPQUVHO0lBQ0g7UUE5Q0EsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekI7O1dBRUc7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFekQ7O1dBRUc7UUFDTyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRDs7V0FFRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2hDLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBWTVCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFXckIsZUFBVSxHQUFxQixJQUFJLENBQUM7UUFNekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFFL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQWxFUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixrTkNSckMsMnNDQWFzQjs7U0RMVCx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDSSx1QkFBdUI7MEVBU3ZCLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csU0FBUztzQkFBbEIsTUFBTTtnQkFLRyxRQUFRO3NCQUFqQixNQUFNO2dCQVFILElBQUk7c0JBRFAsS0FBSztnQkFhRixHQUFHO3NCQUROLEtBQUs7Z0JBT0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMva2V5LXBhaXIubW9kZWwnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXNvcnQtYnV0dG9uLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zb3J0LWJ1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNvcnRCdXR0b25Hcm91cENvbXBvbmVudCB7XHJcbiAgICBlbGVtZW50TmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGVjdXRlcyBhZnRlciAnc29ydCcgaW5wdXQgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4ZWN1dGVzIGFmdGVyICdhc2MnIGlucHV0IGNoYW5nZWRcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGFzY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqICBFeGVjdXRlcyBhZnRlciBjbGljayBvbiBjb2x1bW5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIHNvcnRGaWVsZDogYW55O1xyXG4gICAgcHJpdmF0ZSBfc29ydDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBnZXQgc29ydCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc29ydDtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc29ydCh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3J0ICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3J0ID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9hc2M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGdldCBhc2MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FzYztcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgYXNjKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FzYyAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fYXNjID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIHNvcnRGaWVsZHM6IEtleVBhaXJbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmYXVsdCBjb25zdHJ1Y3RvclxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnROYW1lID0gJ3NvcnQtYnV0dG9uLWdyb3VwLScgKyBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc29ydEZpZWxkQ2xpY2soaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKCFpdGVtIHx8ICFpdGVtLmtleSkgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLnNvcnRGaWVsZCA9IGl0ZW07XHJcbiAgICAgICAgaWYgKHRoaXMuc29ydCAhPT0gaXRlbS5rZXkpIHtcclxuICAgICAgICAgICAgdGhpcy5zb3J0ID0gaXRlbS5rZXk7XHJcbiAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHRoaXMuc29ydCk7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc2NEZXNjQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5hc2MgPSAhdGhpcy5hc2M7XHJcbiAgICAgICAgdGhpcy5hc2NDaGFuZ2UuZW1pdCh0aGlzLmFzYyk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtZS0zXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlNvcnQgZ3JvdXBcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIChjbGljayk9XCJhc2NEZXNjQ2xpY2soKVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYXNjID09PSB1bmRlZmluZWQgfHwgYXNjID09PSBudWxsXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1zb3J0IGZhLWZ3XCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImFzYyA9PT0gdHJ1ZVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctZG93bi16LWEgZmEtZndcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYXNjID09PSBmYWxzZVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctdXAtei1hIGZhLWZ3XCI+PC9pPjwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cInNvcnRGaWVsZHMgJiYgc29ydEZpZWxkcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGRyb3Bkb3duLXRvZ2dsZVwiIHR5cGU9XCJidXR0b25cIiBpZD1cInt7ZWxlbWVudE5hbWV9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydEZpZWxkOyBlbHNlIGVsc2VGaWVsZEJsb2NrXCI+e3sgc29ydEZpZWxkLnZhbHVlIHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlRmllbGRCbG9jaz57eyAnQWN0aW9uLlNvcnQnIHwgdHJhbnNsYXRlIH19PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPHVsICpuZ0lmPVwic29ydEZpZWxkcyAmJiBzb3J0RmllbGRzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZWxlbWVudE5hbWVcIj5cclxuICAgICAgICA8bGk+PGEgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc29ydEZpZWxkc1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic29ydEZpZWxkQ2xpY2soaXRlbSlcIj57eyAoaXRlbS52YWx1ZSkgfCB0cmFuc2xhdGUgfX08L2E+PC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PjxpIGNsYXNzPVwiXCI+PC9pPiJdfQ==
@@ -53,9 +53,9 @@ class SortDirective {
53
53
  }
54
54
  this.el.nativeElement.innerHTML = (this.innerHtml || '')
55
55
  + '<span class="float-end' + (tmpAsc === 1 ? ' text-muted' : '') + '">'
56
- + (tmpAsc === 1 ? '<i class="fas fa-sort"></i>' : '')
57
- + (tmpAsc === 2 ? '<i class="fas fa-sort-up"></i>' : '')
58
- + (tmpAsc === 3 ? '<i class="fas fa-sort-down"></i>' : '')
56
+ + (tmpAsc === 1 ? '<i class="fa-solid fa-sort"></i>' : '')
57
+ + (tmpAsc === 2 ? '<i class="fa-solid fa-sort-up"></i>' : '')
58
+ + (tmpAsc === 3 ? '<i class="fa-solid fa-sort-down"></i>' : '')
59
59
  + '</span>';
60
60
  }
61
61
  // @HostListener('click', ['$event.target']) onClick(btn) {
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
115
115
  }], asc: [{
116
116
  type: Input
117
117
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NvcnQvc29ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUV4SCxNQUNhLGFBQWE7SUF3QnRCLFlBQW9CLEVBQWMsQ0FBQSx5R0FBeUc7UUFBdkgsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXZCMUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUUvQjs7V0FFRztRQUNNLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXpEOztXQUVHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbEQ7O1dBRUc7UUFDTyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQW1FaEMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFhNUIsU0FBSSxHQUFZLEtBQUssQ0FBQztJQTVFOUIsQ0FBQztJQUVELDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsb0RBQW9EO0lBQ3BELGlFQUFpRTtJQUNqRSxlQUFlO0lBQ2Ysd0NBQXdDO0lBQ3hDLG9DQUFvQztJQUNwQyxRQUFRO0lBQ1IsTUFBTTtJQUdOLGVBQWU7UUFDWCxpREFBaUQ7UUFDakQsZ0VBQWdFO1FBRWhFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFNUIsSUFB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t6ZWstc29ydF0nIH0pXHJcbmV4cG9ydCBjbGFzcyBTb3J0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBwcml2YXRlIGlubmVySHRtbDogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBuYW1lIG9mIHNvcnRpbmcgY29sdW1uXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGVjdXRlcyBhZnRlciAnc29ydCcgaW5wdXQgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4ZWN1dGVzIGFmdGVyICdhc2MnIGlucHV0IGNoYW5nZWRcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGFzY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqICBFeGVjdXRlcyBhZnRlciBjbGljayBvbiBjb2x1bW5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLyosIHJlbmRlcmVyOiBSZW5kZXJlciwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmICovKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQElucHV0KCkgc2V0IG15SWYoc2hvdWxkQWRkOiBib29sZWFuKSB7XHJcbiAgICAvLyAgICAgaWYgKHNob3VsZEFkZCkge1xyXG4gICAgLy8gICAgICAgLy8gSWYgY29uZGl0aW9uIGlzIHRydWUgYWRkIHRlbXBsYXRlIHRvIERPTVxyXG4gICAgLy8gICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAvLyBFbHNlIHJlbW92ZSB0ZW1wbGF0ZSBmcm9tIERPTVxyXG4gICAgLy8gICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcblxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICAvLyBVc2UgcmVuZGVyZXIgdG8gcmVuZGVyIHRoZSBlbGVtZW50IHdpdGggc3R5bGVzXHJcbiAgICAgICAgLy9yZW5kZXJlci5zZXRFbGVtZW50U3R5bGUoZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xyXG5cclxuICAgICAgICB0aGlzLmlubmVySHRtbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XHJcbiAgICAgICAgdGhpcy5pbml0SWNvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRJY29uKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pbm5lckh0bWwpIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IHRtcEFzYyA9IDA7XHJcbiAgICAgICAgaWYgKCF0aGlzLmhlYWRlciB8fCB0aGlzLmhlYWRlciAhPT0gdGhpcy5zb3J0KSB7XHJcbiAgICAgICAgICAgIHRtcEFzYyA9IDE7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFzYykge1xyXG4gICAgICAgICAgICB0bXBBc2MgPSAyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRtcEFzYyA9IDM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gKHRoaXMuaW5uZXJIdG1sIHx8ICcnKVxyXG4gICAgICAgICAgICArICc8c3BhbiBjbGFzcz1cImZsb2F0LWVuZCcgKyAodG1wQXNjID09PSAxID8gJyB0ZXh0LW11dGVkJyA6ICcnKSArICdcIj4nXHJcbiAgICAgICAgICAgICsgKHRtcEFzYyA9PT0gMSA/ICc8aSBjbGFzcz1cImZhcyBmYS1zb3J0XCI+PC9pPicgOiAnJylcclxuICAgICAgICAgICAgKyAodG1wQXNjID09PSAyID8gJzxpIGNsYXNzPVwiZmFzIGZhLXNvcnQtdXBcIj48L2k+JyA6ICcnKVxyXG4gICAgICAgICAgICArICh0bXBBc2MgPT09IDMgPyAnPGkgY2xhc3M9XCJmYXMgZmEtc29ydC1kb3duXCI+PC9pPicgOiAnJylcclxuICAgICAgICAgICAgKyAnPC9zcGFuPic7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSkgb25DbGljayhidG4pIHtcclxuICAgIC8vICAgICAgY29uc29sZS5sb2coJ2J1dHRvbicsIGJ0biwgJ251bWJlciBvZiBjbGlja3M6JywgdGhpcy5udW1iZXJPZkNsaWNrcysrKTtcclxuICAgIC8vICAgfVxyXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNvcnQgIT09IHRoaXMuaGVhZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc29ydCA9IHRoaXMuaGVhZGVyO1xyXG4gICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh0aGlzLnNvcnQpO1xyXG4gICAgICAgICAgICB0aGlzLmFzYyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuYXNjQ2hhbmdlLmVtaXQodGhpcy5hc2MpO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFzYyA9ICF0aGlzLmFzYztcclxuICAgICAgICAgICAgdGhpcy5hc2NDaGFuZ2UuZW1pdCh0aGlzLmFzYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc29ydDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBnZXQgc29ydCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc29ydDtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc29ydCh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3J0ICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3J0ID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEljb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2FzYzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZ2V0IGFzYygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXNjO1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBhc2ModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fYXNjICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hc2MgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbml0SWNvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NvcnQvc29ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUV4SCxNQUNhLGFBQWE7SUF3QnRCLFlBQW9CLEVBQWMsQ0FBQSx5R0FBeUc7UUFBdkgsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXZCMUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUUvQjs7V0FFRztRQUNNLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXpEOztXQUVHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbEQ7O1dBRUc7UUFDTyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQW1FaEMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFhNUIsU0FBSSxHQUFZLEtBQUssQ0FBQztJQTVFOUIsQ0FBQztJQUVELDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsb0RBQW9EO0lBQ3BELGlFQUFpRTtJQUNqRSxlQUFlO0lBQ2Ysd0NBQXdDO0lBQ3hDLG9DQUFvQztJQUNwQyxRQUFRO0lBQ1IsTUFBTTtJQUdOLGVBQWU7UUFDWCxpREFBaUQ7UUFDakQsZ0VBQWdFO1FBRWhFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFNUIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzNDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDZDthQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ2Q7YUFBTTtZQUNILE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDZDtRQUVELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO2NBQ2xELHdCQUF3QixHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJO2NBQ3JFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztjQUN4RCxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Y0FDM0QsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2NBQzdELFNBQVMsQ0FBQztJQUNwQixDQUFDO0lBRUQsOERBQThEO0lBQzlELCtFQUErRTtJQUMvRSxNQUFNO0lBQ2lCLE9BQU87UUFDMUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FFakM7YUFBTTtZQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQU9ELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsS0FBb0I7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBSUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUNJLEdBQUcsQ0FBQyxLQUFjO1FBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQzs4R0EvR1EsYUFBYTtrR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7aUdBT3hCLE1BQU07c0JBQWQsS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTTtnQkFnRGdCLE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTztnQkF3QmpCLElBQUk7c0JBRFAsS0FBSztnQkFjRixHQUFHO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t6ZWstc29ydF0nIH0pXHJcbmV4cG9ydCBjbGFzcyBTb3J0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBwcml2YXRlIGlubmVySHRtbDogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBuYW1lIG9mIHNvcnRpbmcgY29sdW1uXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGVjdXRlcyBhZnRlciAnc29ydCcgaW5wdXQgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4ZWN1dGVzIGFmdGVyICdhc2MnIGlucHV0IGNoYW5nZWRcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGFzY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqICBFeGVjdXRlcyBhZnRlciBjbGljayBvbiBjb2x1bW5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLyosIHJlbmRlcmVyOiBSZW5kZXJlciwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmICovKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQElucHV0KCkgc2V0IG15SWYoc2hvdWxkQWRkOiBib29sZWFuKSB7XHJcbiAgICAvLyAgICAgaWYgKHNob3VsZEFkZCkge1xyXG4gICAgLy8gICAgICAgLy8gSWYgY29uZGl0aW9uIGlzIHRydWUgYWRkIHRlbXBsYXRlIHRvIERPTVxyXG4gICAgLy8gICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAvLyBFbHNlIHJlbW92ZSB0ZW1wbGF0ZSBmcm9tIERPTVxyXG4gICAgLy8gICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcblxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICAvLyBVc2UgcmVuZGVyZXIgdG8gcmVuZGVyIHRoZSBlbGVtZW50IHdpdGggc3R5bGVzXHJcbiAgICAgICAgLy9yZW5kZXJlci5zZXRFbGVtZW50U3R5bGUoZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xyXG5cclxuICAgICAgICB0aGlzLmlubmVySHRtbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XHJcbiAgICAgICAgdGhpcy5pbml0SWNvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRJY29uKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pbm5lckh0bWwpIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IHRtcEFzYyA9IDA7XHJcbiAgICAgICAgaWYgKCF0aGlzLmhlYWRlciB8fCB0aGlzLmhlYWRlciAhPT0gdGhpcy5zb3J0KSB7XHJcbiAgICAgICAgICAgIHRtcEFzYyA9IDE7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFzYykge1xyXG4gICAgICAgICAgICB0bXBBc2MgPSAyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRtcEFzYyA9IDM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gKHRoaXMuaW5uZXJIdG1sIHx8ICcnKVxyXG4gICAgICAgICAgICArICc8c3BhbiBjbGFzcz1cImZsb2F0LWVuZCcgKyAodG1wQXNjID09PSAxID8gJyB0ZXh0LW11dGVkJyA6ICcnKSArICdcIj4nXHJcbiAgICAgICAgICAgICsgKHRtcEFzYyA9PT0gMSA/ICc8aSBjbGFzcz1cImZhLXNvbGlkIGZhLXNvcnRcIj48L2k+JyA6ICcnKVxyXG4gICAgICAgICAgICArICh0bXBBc2MgPT09IDIgPyAnPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1zb3J0LXVwXCI+PC9pPicgOiAnJylcclxuICAgICAgICAgICAgKyAodG1wQXNjID09PSAzID8gJzxpIGNsYXNzPVwiZmEtc29saWQgZmEtc29ydC1kb3duXCI+PC9pPicgOiAnJylcclxuICAgICAgICAgICAgKyAnPC9zcGFuPic7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSkgb25DbGljayhidG4pIHtcclxuICAgIC8vICAgICAgY29uc29sZS5sb2coJ2J1dHRvbicsIGJ0biwgJ251bWJlciBvZiBjbGlja3M6JywgdGhpcy5udW1iZXJPZkNsaWNrcysrKTtcclxuICAgIC8vICAgfVxyXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNvcnQgIT09IHRoaXMuaGVhZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc29ydCA9IHRoaXMuaGVhZGVyO1xyXG4gICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh0aGlzLnNvcnQpO1xyXG4gICAgICAgICAgICB0aGlzLmFzYyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuYXNjQ2hhbmdlLmVtaXQodGhpcy5hc2MpO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFzYyA9ICF0aGlzLmFzYztcclxuICAgICAgICAgICAgdGhpcy5hc2NDaGFuZ2UuZW1pdCh0aGlzLmFzYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc29ydDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBnZXQgc29ydCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc29ydDtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc29ydCh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3J0ICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3J0ID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEljb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2FzYzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZ2V0IGFzYygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXNjO1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBhc2ModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fYXNjICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hc2MgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbml0SWNvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
@@ -49,14 +49,14 @@ export class BootstrapHelper {
49
49
  }
50
50
  switch (type) {
51
51
  case ComponentType.Delete:
52
- return 'fas fa-trash';
52
+ return 'fa-solid fa-trash';
53
53
  // case ComponentType.Danger:
54
54
  case ComponentType.Warning:
55
- return 'fas fa-exclamation-triangle';
55
+ return 'fa-solid fa-triangle-exclamation';
56
56
  case ComponentType.Info:
57
- return 'fas fa-info-circle';
57
+ return 'fa-solid fa-circle-info';
58
58
  default:
59
- return 'fas fa-check';
59
+ return 'fa-solid fa-check';
60
60
  }
61
61
  }
62
62
  static cssButton(type) {
@@ -124,4 +124,4 @@ export class BootstrapHelper {
124
124
  }
125
125
  }
126
126
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2Jvb3RzdHJhcC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLENBQU4sSUFBWSxhQVVYO0FBVkQsV0FBWSxhQUFhO0lBQ3JCLHVEQUFXLENBQUE7SUFDWCxhQUFhO0lBQ2IsdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7SUFDTixTQUFTO0lBQ1QsdURBQU8sQ0FBQTtJQUNQLGlEQUFJLENBQUE7SUFDSixTQUFTO0lBQ1QsUUFBUTtBQUNaLENBQUMsRUFWVyxhQUFhLEtBQWIsYUFBYSxRQVV4QjtBQUVELE1BQU0sQ0FBTixJQUFZLEtBUVg7QUFSRCxXQUFZLEtBQUs7SUFDYix1Q0FBVyxDQUFBO0lBQ1gsMkNBQWEsQ0FBQTtJQUNiLHVDQUFXLENBQUE7SUFDWCxxQ0FBVSxDQUFBO0lBQ1YsdUNBQVcsQ0FBQTtJQUNYLGlDQUFRLENBQUE7SUFDUixpQ0FBUSxDQUFBO0FBQ1osQ0FBQyxFQVJXLEtBQUssS0FBTCxLQUFLLFFBUWhCO0FBRUQsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFvQjtRQUNoQyxRQUFRLEtBQUssRUFBRTtZQUNYLEtBQUssS0FBSyxDQUFDLE9BQU87Z0JBQ2QsT0FBTyx1QkFBdUIsQ0FBQTtZQUNsQyxLQUFLLEtBQUssQ0FBQyxTQUFTO2dCQUNoQixPQUFPLHlCQUF5QixDQUFDO1lBQ3JDLEtBQUssS0FBSyxDQUFDLE9BQU87Z0JBQ2QsT0FBTyx1QkFBdUIsQ0FBQztZQUNuQyxLQUFLLEtBQUssQ0FBQyxNQUFNO2dCQUNiLE9BQU8sc0JBQXNCLENBQUM7WUFD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QUFTLENBQUMsT0FBTztnQkFDbEIsT0FBTyxnQ0FBZ0MsQ0FBQztZQUM1QyxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8seUJBQXlCLENBQUM7WUFDckM7Z0JBQ0ksT0FBTyxFQUFFLENBQUM7U0FDakI7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbGVydFR5cGUgfSBmcm9tICcuLi9tb2RlbHMvYWxlcnQtdHlwZSc7XHJcbmltcG9ydCB7IFN0cmluZ0hlbHBlciB9IGZyb20gJy4vc3RyaW5nLWhlbHBlcic7XHJcblxyXG5leHBvcnQgZW51bSBDb21wb25lbnRUeXBlIHtcclxuICAgIFByaW1hcnkgPSAxLFxyXG4gICAgLy8gU2Vjb25kYXJ5LFxyXG4gICAgU3VjY2VzcyxcclxuICAgIERlbGV0ZSxcclxuICAgIC8vRGFuZ2VyLFxyXG4gICAgV2FybmluZyxcclxuICAgIEluZm8sXHJcbiAgICAvLyBMaWdodCxcclxuICAgIC8vIERhcmssXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENvbG9yIHtcclxuICAgIFByaW1hcnkgPSAxLFxyXG4gICAgU2Vjb25kYXJ5ID0gMixcclxuICAgIFN1Y2Nlc3MgPSAzLFxyXG4gICAgRGFuZ2VyID0gNCxcclxuICAgIFdhcm5pbmcgPSA1LFxyXG4gICAgSW5mbyA9IDYsXHJcbiAgICBEYXJrID0gOCxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEJvb3RzdHJhcEhlbHBlciB7XHJcbiAgICBzdGF0aWMgY3NzQ29sb3IoY29sb3I/OiBDb2xvciB8IG51bGwpIHtcclxuICAgICAgICBzd2l0Y2ggKGNvbG9yKSB7XHJcbiAgICAgICAgICAgIGNhc2UgQ29sb3IuUHJpbWFyeTpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYmctcHJpbWFyeSB0ZXh0LXdoaXRlJ1xyXG4gICAgICAgICAgICBjYXNlIENvbG9yLlNlY29uZGFyeTpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYmctc2Vjb25kYXJ5IHRleHQtd2hpdGUnO1xyXG4gICAgICAgICAgICBjYXNlIENvbG9yLlN1Y2Nlc3M6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2JnLXN1Y2Nlc3MgdGV4dC13aGl0ZSc7XHJcbiAgICAgICAgICAgIGNhc2UgQ29sb3IuRGFuZ2VyOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdiZy1kYW5nZXIgdGV4dC13aGl0ZSc7XHJcbiAgICAgICAgICAgIGNhc2UgQ29sb3IuV2FybmluZzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYmctd2FybmluZyB0ZXh0LWRhcmsnO1xyXG4gICAgICAgICAgICBjYXNlIENvbG9yLkluZm86XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2JnLWluZm8gdGV4dC1kYXJrJztcclxuICAgICAgICAgICAgY2FzZSBDb2xvci5EYXJrOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdiZy1kYXJrIHRleHQtd2hpdGUnO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHN0YXRpYyBjc3NJY29uKHR5cGU6IENvbXBvbmVudFR5cGUpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXR5cGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLkRlbGV0ZTpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmFzIGZhLXRyYXNoJztcclxuXHJcbiAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5EYW5nZXI6XHJcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5XYXJuaW5nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYXMgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUnO1xyXG5cclxuICAgICAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLkluZm86XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhcyBmYS1pbmZvLWNpcmNsZSc7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYXMgZmEtY2hlY2snO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY3NzQnV0dG9uKHR5cGU6IENvbXBvbmVudFR5cGUpOiBzdHJpbmcge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuUHJpbWFyeTpcclxuICAgICAgICAgICAgLy8gY2FzZSBDb21wb25lbnRUeXBlLlNlY29uZGFyeTpcclxuICAgICAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M6XHJcbiAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5EYW5nZXI6XHJcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5XYXJuaW5nOlxyXG4gICAgICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuSW5mbzpcclxuICAgICAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5MaWdodDpcclxuICAgICAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5EYXJrOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGBidG4tJHtDb21wb25lbnRUeXBlW3R5cGVdLnRvTG93ZXJDYXNlKCl9YDtcclxuXHJcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5EZWxldGU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2J0bi1kYW5nZXInO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdidG4tc2Vjb25kYXJ5JztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgc3RhdGljIGdldEFsZXJ0VHlwZSh0eXBlPzogc3RyaW5nIHwgbnVsbCk6IEFsZXJ0VHlwZSB8IG51bGwge1xyXG4gICAgICAgIGlmICghdHlwZSkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGxldCB2ID0gU3RyaW5nSGVscGVyLmZpcnN0VXBwZXIodHlwZSk7XHJcbiAgICAgICAgaWYgKCF2KVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgdmFyIGVudW1WYWx1ZSA9ICg8YW55PkFsZXJ0VHlwZSlbdl07XHJcbiAgICAgICAgaWYgKCFlbnVtVmFsdWUpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIGVudW1WYWx1ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBjc3NBbGVydCh0eXBlPzogQWxlcnRUeXBlIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLlByaW1hcnk6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXByaW1hcnknO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5TZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXNlY29uZGFyeSc7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLlN1Y2Nlc3M6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXN1Y2Nlc3MnO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5EYW5nZXI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LWRhbmdlcic7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLldhcm5pbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXdhcm5pbmcnO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5JbmZvOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1pbmZvJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuTGlnaHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LWxpZ2h0JztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuRGFyazpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYWxlcnQtZGFyayc7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXNlY29uZGFyeSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3RhdGljIGNzc0FsZXJ0SWNvbih0eXBlPzogQWxlcnRUeXBlIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLlN1Y2Nlc3M6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhLXNvbGlkIGZhLWNpcmNsZS1jaGVjayc7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLkRhbmdlcjpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2lyY2xlLXhtYXJrJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuV2FybmluZzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2lyY2xlLWV4Y2xhbWF0aW9uJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuSW5mbzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2lyY2xlLWluZm8nO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2Jvb3RzdHJhcC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLENBQU4sSUFBWSxhQVVYO0FBVkQsV0FBWSxhQUFhO0lBQ3JCLHVEQUFXLENBQUE7SUFDWCxhQUFhO0lBQ2IsdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7SUFDTixTQUFTO0lBQ1QsdURBQU8sQ0FBQTtJQUNQLGlEQUFJLENBQUE7SUFDSixTQUFTO0lBQ1QsUUFBUTtBQUNaLENBQUMsRUFWVyxhQUFhLEtBQWIsYUFBYSxRQVV4QjtBQUVELE1BQU0sQ0FBTixJQUFZLEtBUVg7QUFSRCxXQUFZLEtBQUs7SUFDYix1Q0FBVyxDQUFBO0lBQ1gsMkNBQWEsQ0FBQTtJQUNiLHVDQUFXLENBQUE7SUFDWCxxQ0FBVSxDQUFBO0lBQ1YsdUNBQVcsQ0FBQTtJQUNYLGlDQUFRLENBQUE7SUFDUixpQ0FBUSxDQUFBO0FBQ1osQ0FBQyxFQVJXLEtBQUssS0FBTCxLQUFLLFFBUWhCO0FBRUQsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFvQjtRQUNoQyxRQUFRLEtBQUssRUFBRTtZQUNYLEtBQUssS0FBSyxDQUFDLE9BQU87Z0JBQ2QsT0FBTyx1QkFBdUIsQ0FBQTtZQUNsQyxLQUFLLEtBQUssQ0FBQyxTQUFTO2dCQUNoQixPQUFPLHlCQUF5QixDQUFDO1lBQ3JDLEtBQUssS0FBSyxDQUFDLE9BQU87Z0JBQ2QsT0FBTyx1QkFBdUIsQ0FBQztZQUNuQyxLQUFLLEtBQUssQ0FBQyxNQUFNO2dCQUNiLE9BQU8sc0JBQXNCLENBQUM7WUFDbEMsS0FBSyxLQUFLLENBQUMsT0FBTztnQkFDZCxPQUFPLHNCQUFzQixDQUFDO1lBQ2xDLEtBQUssS0FBSyxDQUFDLElBQUk7Z0JBQ1gsT0FBTyxtQkFBbUIsQ0FBQztZQUMvQixLQUFLLEtBQUssQ0FBQyxJQUFJO2dCQUNYLE9BQU8sb0JBQW9CLENBQUM7WUFDaEM7Z0JBQ0ksT0FBTyxFQUFFLENBQUM7U0FDakI7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFtQjtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELFFBQVEsSUFBSSxFQUFFO1lBQ1YsS0FBSyxhQUFhLENBQUMsTUFBTTtnQkFDckIsT0FBTyxtQkFBbUIsQ0FBQztZQUUvQiw2QkFBNkI7WUFDN0IsS0FBSyxhQUFhLENBQUMsT0FBTztnQkFDdEIsT0FBTyxrQ0FBa0MsQ0FBQztZQUU5QyxLQUFLLGFBQWEsQ0FBQyxJQUFJO2dCQUNuQixPQUFPLHlCQUF5QixDQUFDO1lBRXJDO2dCQUNJLE9BQU8sbUJBQW1CLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFtQjtRQUNoQyxRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssYUFBYSxDQUFDLE9BQU8sQ0FBQztZQUMzQixnQ0FBZ0M7WUFDaEMsS0FBSyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQzNCLDZCQUE2QjtZQUM3QixLQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUM7WUFDM0IsS0FBSyxhQUFhLENBQUMsSUFBSTtnQkFDbkIsNEJBQTRCO2dCQUM1QiwyQkFBMkI7Z0JBQzNCLE9BQU8sT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUV0RCxLQUFLLGFBQWEsQ0FBQyxNQUFNO2dCQUNyQixPQUFPLFlBQVksQ0FBQztZQUN4QjtnQkFDSSxPQUFPLGVBQWUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFLRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQW9CO1FBQ3BDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDO1FBRWhCLElBQUksU0FBUyxHQUFTLFNBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUztZQUNWLE9BQU8sSUFBSSxDQUFDO1FBR2hCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQXVCO1FBQ25DLFFBQVEsSUFBSSxFQUFFO1lBQ1YsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDbEIsT0FBTyxlQUFlLENBQUM7WUFDM0IsS0FBSyxTQUFTLENBQUMsU0FBUztnQkFDcEIsT0FBTyxpQkFBaUIsQ0FBQztZQUM3QixLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNsQixPQUFPLGVBQWUsQ0FBQztZQUMzQixLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLGNBQWMsQ0FBQztZQUMxQixLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNsQixPQUFPLGVBQWUsQ0FBQztZQUMzQixLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sWUFBWSxDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDLEtBQUs7Z0JBQ2hCLE9BQU8sYUFBYSxDQUFDO1lBQ3pCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxZQUFZLENBQUM7WUFDeEI7Z0JBQ0ksT0FBTyxpQkFBaUIsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQXVCO1FBQ3ZDLFFBQVEsSUFBSSxFQUFFO1lBQ1YsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDbEIsT0FBTywwQkFBMEIsQ0FBQztZQUN0QyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLDBCQUEwQixDQUFDO1lBQ3RDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sZ0NBQWdDLENBQUM7WUFDNUMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLHlCQUF5QixDQUFDO1lBQ3JDO2dCQUNJLE9BQU8sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxlcnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL2FsZXJ0LXR5cGUnO1xyXG5pbXBvcnQgeyBTdHJpbmdIZWxwZXIgfSBmcm9tICcuL3N0cmluZy1oZWxwZXInO1xyXG5cclxuZXhwb3J0IGVudW0gQ29tcG9uZW50VHlwZSB7XHJcbiAgICBQcmltYXJ5ID0gMSxcclxuICAgIC8vIFNlY29uZGFyeSxcclxuICAgIFN1Y2Nlc3MsXHJcbiAgICBEZWxldGUsXHJcbiAgICAvL0RhbmdlcixcclxuICAgIFdhcm5pbmcsXHJcbiAgICBJbmZvLFxyXG4gICAgLy8gTGlnaHQsXHJcbiAgICAvLyBEYXJrLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBDb2xvciB7XHJcbiAgICBQcmltYXJ5ID0gMSxcclxuICAgIFNlY29uZGFyeSA9IDIsXHJcbiAgICBTdWNjZXNzID0gMyxcclxuICAgIERhbmdlciA9IDQsXHJcbiAgICBXYXJuaW5nID0gNSxcclxuICAgIEluZm8gPSA2LFxyXG4gICAgRGFyayA9IDgsXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCb290c3RyYXBIZWxwZXIge1xyXG4gICAgc3RhdGljIGNzc0NvbG9yKGNvbG9yPzogQ29sb3IgfCBudWxsKSB7XHJcbiAgICAgICAgc3dpdGNoIChjb2xvcikge1xyXG4gICAgICAgICAgICBjYXNlIENvbG9yLlByaW1hcnk6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2JnLXByaW1hcnkgdGV4dC13aGl0ZSdcclxuICAgICAgICAgICAgY2FzZSBDb2xvci5TZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2JnLXNlY29uZGFyeSB0ZXh0LXdoaXRlJztcclxuICAgICAgICAgICAgY2FzZSBDb2xvci5TdWNjZXNzOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdiZy1zdWNjZXNzIHRleHQtd2hpdGUnO1xyXG4gICAgICAgICAgICBjYXNlIENvbG9yLkRhbmdlcjpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYmctZGFuZ2VyIHRleHQtd2hpdGUnO1xyXG4gICAgICAgICAgICBjYXNlIENvbG9yLldhcm5pbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2JnLXdhcm5pbmcgdGV4dC1kYXJrJztcclxuICAgICAgICAgICAgY2FzZSBDb2xvci5JbmZvOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdiZy1pbmZvIHRleHQtZGFyayc7XHJcbiAgICAgICAgICAgIGNhc2UgQ29sb3IuRGFyazpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYmctZGFyayB0ZXh0LXdoaXRlJztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgY3NzSWNvbih0eXBlOiBDb21wb25lbnRUeXBlKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCF0eXBlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5EZWxldGU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhLXNvbGlkIGZhLXRyYXNoJztcclxuXHJcbiAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5EYW5nZXI6XHJcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5XYXJuaW5nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYS1zb2xpZCBmYS10cmlhbmdsZS1leGNsYW1hdGlvbic7XHJcblxyXG4gICAgICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuSW5mbzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2lyY2xlLWluZm8nO1xyXG5cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2hlY2snO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY3NzQnV0dG9uKHR5cGU6IENvbXBvbmVudFR5cGUpOiBzdHJpbmcge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuUHJpbWFyeTpcclxuICAgICAgICAgICAgLy8gY2FzZSBDb21wb25lbnRUeXBlLlNlY29uZGFyeTpcclxuICAgICAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M6XHJcbiAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5EYW5nZXI6XHJcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5XYXJuaW5nOlxyXG4gICAgICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuSW5mbzpcclxuICAgICAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5MaWdodDpcclxuICAgICAgICAgICAgICAgIC8vIGNhc2UgQ29tcG9uZW50VHlwZS5EYXJrOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGBidG4tJHtDb21wb25lbnRUeXBlW3R5cGVdLnRvTG93ZXJDYXNlKCl9YDtcclxuXHJcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5EZWxldGU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2J0bi1kYW5nZXInO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdidG4tc2Vjb25kYXJ5JztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgc3RhdGljIGdldEFsZXJ0VHlwZSh0eXBlPzogc3RyaW5nIHwgbnVsbCk6IEFsZXJ0VHlwZSB8IG51bGwge1xyXG4gICAgICAgIGlmICghdHlwZSkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGxldCB2ID0gU3RyaW5nSGVscGVyLmZpcnN0VXBwZXIodHlwZSk7XHJcbiAgICAgICAgaWYgKCF2KVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgdmFyIGVudW1WYWx1ZSA9ICg8YW55PkFsZXJ0VHlwZSlbdl07XHJcbiAgICAgICAgaWYgKCFlbnVtVmFsdWUpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIGVudW1WYWx1ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBjc3NBbGVydCh0eXBlPzogQWxlcnRUeXBlIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLlByaW1hcnk6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXByaW1hcnknO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5TZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXNlY29uZGFyeSc7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLlN1Y2Nlc3M6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXN1Y2Nlc3MnO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5EYW5nZXI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LWRhbmdlcic7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLldhcm5pbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXdhcm5pbmcnO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5JbmZvOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1pbmZvJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuTGlnaHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LWxpZ2h0JztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuRGFyazpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYWxlcnQtZGFyayc7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LXNlY29uZGFyeSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3RhdGljIGNzc0FsZXJ0SWNvbih0eXBlPzogQWxlcnRUeXBlIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLlN1Y2Nlc3M6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhLXNvbGlkIGZhLWNpcmNsZS1jaGVjayc7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLkRhbmdlcjpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2lyY2xlLXhtYXJrJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuV2FybmluZzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2lyY2xlLWV4Y2xhbWF0aW9uJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuSW5mbzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtc29saWQgZmEtY2lyY2xlLWluZm8nO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==