@sd-angular/core 1.2.26 → 1.2.29

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 (91) hide show
  1. package/bundles/sd-angular-core-button.umd.js +1 -0
  2. package/bundles/sd-angular-core-button.umd.js.map +1 -1
  3. package/bundles/sd-angular-core-button.umd.min.js +1 -1
  4. package/bundles/sd-angular-core-button.umd.min.js.map +1 -1
  5. package/bundles/sd-angular-core-date-range.umd.js +7 -1
  6. package/bundles/sd-angular-core-date-range.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-date-range.umd.min.js +1 -1
  8. package/bundles/sd-angular-core-date-range.umd.min.js.map +1 -1
  9. package/bundles/sd-angular-core-date-time.umd.js +57 -13
  10. package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
  11. package/bundles/sd-angular-core-date-time.umd.min.js +1 -1
  12. package/bundles/sd-angular-core-date-time.umd.min.js.map +1 -1
  13. package/bundles/sd-angular-core-editor.umd.js +54 -41
  14. package/bundles/sd-angular-core-editor.umd.js.map +1 -1
  15. package/bundles/sd-angular-core-editor.umd.min.js +1 -1
  16. package/bundles/sd-angular-core-editor.umd.min.js.map +1 -1
  17. package/bundles/sd-angular-core-grid-material.umd.js +21 -3
  18. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  19. package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
  20. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  21. package/bundles/sd-angular-core-input-currency.umd.js +3 -0
  22. package/bundles/sd-angular-core-input-currency.umd.js.map +1 -1
  23. package/bundles/sd-angular-core-input-currency.umd.min.js +2 -2
  24. package/bundles/sd-angular-core-input-currency.umd.min.js.map +1 -1
  25. package/bundles/sd-angular-core-select-editor.umd.js +1 -0
  26. package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
  27. package/bundles/sd-angular-core-select-editor.umd.min.js +1 -1
  28. package/bundles/sd-angular-core-select-editor.umd.min.js.map +1 -1
  29. package/bundles/sd-angular-core-switch.umd.js +1 -0
  30. package/bundles/sd-angular-core-switch.umd.js.map +1 -1
  31. package/bundles/sd-angular-core-switch.umd.min.js +1 -1
  32. package/bundles/sd-angular-core-switch.umd.min.js.map +1 -1
  33. package/bundles/sd-angular-core-tab-router.umd.js +4 -1
  34. package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
  35. package/bundles/sd-angular-core-tab-router.umd.min.js +2 -2
  36. package/bundles/sd-angular-core-tab-router.umd.min.js.map +1 -1
  37. package/bundles/sd-angular-core-utility.umd.js +17 -0
  38. package/bundles/sd-angular-core-utility.umd.js.map +1 -1
  39. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  40. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  41. package/button/sd-angular-core-button.metadata.json +1 -1
  42. package/date-range/sd-angular-core-date-range.metadata.json +1 -1
  43. package/date-range/src/lib/date-range.component.d.ts +3 -2
  44. package/date-time/sd-angular-core-date-time.metadata.json +1 -1
  45. package/date-time/src/lib/date-time.component.d.ts +5 -0
  46. package/editor/sd-angular-core-editor.metadata.json +1 -1
  47. package/editor/src/lib/editor.component.d.ts +3 -2
  48. package/esm2015/button/src/lib/button.component.js +3 -2
  49. package/esm2015/date-range/src/lib/date-range.component.js +9 -3
  50. package/esm2015/date-time/src/lib/date-time.component.js +54 -14
  51. package/esm2015/editor/src/lib/editor.component.js +55 -42
  52. package/esm2015/grid-material/src/lib/components/desktop-command/desktop-command.component.js +3 -2
  53. package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +10 -3
  54. package/esm2015/grid-material/src/lib/components/popup-export/popup-export.component.js +4 -2
  55. package/esm2015/grid-material/src/lib/components/popup-filter/popup-filter.component.js +12 -4
  56. package/esm2015/input-currency/src/lib/input-currency.component.js +5 -2
  57. package/esm2015/select-editor/src/lib/select-editor.component.js +3 -2
  58. package/esm2015/switch/src/lib/switch.component.js +3 -2
  59. package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +5 -2
  60. package/esm2015/utility/src/lib/utility.service.js +18 -1
  61. package/fesm2015/sd-angular-core-button.js +2 -1
  62. package/fesm2015/sd-angular-core-button.js.map +1 -1
  63. package/fesm2015/sd-angular-core-date-range.js +8 -2
  64. package/fesm2015/sd-angular-core-date-range.js.map +1 -1
  65. package/fesm2015/sd-angular-core-date-time.js +53 -13
  66. package/fesm2015/sd-angular-core-date-time.js.map +1 -1
  67. package/fesm2015/sd-angular-core-editor.js +54 -41
  68. package/fesm2015/sd-angular-core-editor.js.map +1 -1
  69. package/fesm2015/sd-angular-core-grid-material.js +22 -4
  70. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  71. package/fesm2015/sd-angular-core-input-currency.js +4 -1
  72. package/fesm2015/sd-angular-core-input-currency.js.map +1 -1
  73. package/fesm2015/sd-angular-core-select-editor.js +2 -1
  74. package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
  75. package/fesm2015/sd-angular-core-switch.js +2 -1
  76. package/fesm2015/sd-angular-core-switch.js.map +1 -1
  77. package/fesm2015/sd-angular-core-tab-router.js +4 -1
  78. package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
  79. package/fesm2015/sd-angular-core-utility.js +17 -0
  80. package/fesm2015/sd-angular-core-utility.js.map +1 -1
  81. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  82. package/grid-material/src/lib/components/grid-filter/grid-filter.component.d.ts +3 -2
  83. package/grid-material/src/lib/components/popup-filter/popup-filter.component.d.ts +3 -2
  84. package/input-currency/sd-angular-core-input-currency.metadata.json +1 -1
  85. package/package.json +1 -1
  86. package/{sd-angular-core-1.2.26.tgz → sd-angular-core-1.2.29.tgz} +0 -0
  87. package/select-editor/sd-angular-core-select-editor.metadata.json +1 -1
  88. package/switch/sd-angular-core-switch.metadata.json +1 -1
  89. package/tab-router/sd-angular-core-tab-router.metadata.json +1 -1
  90. package/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.d.ts +1 -0
  91. package/utility/src/lib/utility.service.d.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  var _getExportableColumns, _getExportableGroups, _initTemplate;
2
2
  import { __awaiter, __classPrivateFieldGet } from "tslib";
3
- import { Component, ViewChild, Output, EventEmitter, Input, ChangeDetectorRef } from '@angular/core';
3
+ import { Component, ViewChild, Output, EventEmitter, Input, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
4
4
  import * as uuid from 'uuid';
5
5
  import { SdNotifyService } from '@sd-angular/core/notify';
6
6
  import { SdLoadingService } from '@sd-angular/core/loading';
@@ -96,6 +96,7 @@ export class SdPopupExport {
96
96
  key: this.key,
97
97
  group
98
98
  });
99
+ this.ref.markForCheck();
99
100
  });
100
101
  _initTemplate.set(this, (fileName) => __awaiter(this, void 0, void 0, function* () {
101
102
  var _c, _d, _e, _f;
@@ -280,6 +281,7 @@ SdPopupExport.decorators = [
280
281
  { type: Component, args: [{
281
282
  selector: 'sd-popup-export',
282
283
  template: "<sd-modal width=\"907px\" [title]=\"'Exported template' | sdTranslate\" #modal>\r\n <sd-modal-body>\r\n <div class=\"row\">\r\n <ng-container\r\n *ngIf=\"groups?.length > 1 || (groups?.length === 1 && !gridOption?.export?.hideMyTemplates); else noSelection\">\r\n <div class=\"col-9\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n <div class=\"col-3\">\r\n <mat-selection-list [multiple]=\"false\" #listGroups>\r\n <mat-list-option *ngIf=\"!gridOption?.export?.hideMyTemplates\" [value]=\"\" (click)=\"loadFiles()\">\r\n <div mat-line>{{'My templates' | sdTranslate}}</div>\r\n </mat-list-option>\r\n <mat-list-option [value]=\"group.code\" *ngFor=\"let group of groups\" (click)=\"loadFiles(group.code)\">\r\n <div mat-line>{{group.title}}</div>\r\n </mat-list-option>\r\n </mat-selection-list>\r\n </div>\r\n </ng-container>\r\n <ng-template #noSelection>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n </ng-template>\r\n <ng-template #content>\r\n <div class=\"row\">\r\n <div *ngIf=\"!files?.length\" class=\"col-12\">\r\n <div class=\"c-empty\">\r\n <img class=\"c-empty-image\">\r\n <div class=\"T14R\">{{'There are no exported templates' | sdTranslate}}</div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"files?.length\">\r\n <div class=\"col-12\">\r\n <div class=\"c-table\" style=\"max-height:50vh\">\r\n <table mat-table [dataSource]=\"files\">\r\n <ng-container matColumnDef=\"stt\">\r\n <th mat-header-cell class=\"c-th text-center px-5\" *matHeaderCellDef style=\"width:50px\">#\r\n </th>\r\n <td class=\"text-center px-5\" mat-cell *matCellDef=\"let item; let idx = index\">\r\n {{idx + 1}}\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"fileName\">\r\n <th mat-header-cell class=\"c-th px-5\" *matHeaderCellDef>{{'File name' | sdTranslate}}\r\n </th>\r\n <td class=\"px-5\" mat-cell *matCellDef=\"let item;\">\r\n {{item.fileName}}\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"action\">\r\n <th mat-header-cell class=\"c-th px-5\" *matHeaderCellDef style=\"width:80px\">\r\n </th>\r\n <td class=\"px-5\" mat-cell *matCellDef=\"let item;\">\r\n <div class=\"d-flex\">\r\n <button *ngIf=\"!selectedGroup || selectedGroup?.permission === 'delete'\" mat-icon-button\r\n aria-label=\"delete\" (click)=\"removeFile(item)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n <button mat-icon-button aria-label=\"download\" (click)=\"onExport(item)\">\r\n <mat-icon>download</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"['stt', 'fileName', 'action']; sticky: true\">\r\n </tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['stt', 'fileName', 'action'];\"></tr>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"files.length < 5 && (!selectedGroup || selectedGroup?.permission === 'add' || selectedGroup?.permission === 'delete')\"\r\n class=\"col-12 mt-10\">\r\n <sd-button class=\"mr-5\" [title]=\"'New template' | sdTranslate\" (action)=\"enableCreating = true\"\r\n color=\"info\" [disabled]=\"enableCreating\">\r\n </sd-button>\r\n <sd-button *ngIf=\"gridOption?.export?.enableUpload\" [title]=\"'Upload template' | sdTranslate\"\r\n (action)=\"uploadTemplate()\" type=\"outline\">\r\n </sd-button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"(enableCreating || !files?.length) && (!selectedGroup || selectedGroup?.permission === 'add' || selectedGroup?.permission === 'delete')\">\r\n <div class=\"col-12 mt-20\">\r\n <div class=\"T14R\">{{'Select columns for creating template' | sdTranslate}}:</div>\r\n </div>\r\n <div class=\"col-12\">\r\n <mat-chip-list selectable=\"true\" multiple=\"true\">\r\n <ng-container *ngFor=\"let column of columns\">\r\n <mat-chip [selected]=\"selected[column.field]\"\r\n (click)=\"selected[column.field] = !selected[column.field]\">\r\n {{column.title}}\r\n </mat-chip>\r\n </ng-container>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"col-12 row\">\r\n <div class=\"col-10\">\r\n <sd-input [form]=\"form\" [label]=\"'Template name' | sdTranslate\" [(model)]=\"templateName\"\r\n [validator]=\"validatorTemplateName\"></sd-input>\r\n </div>\r\n <div class=\"col-2 mt-7\">\r\n <sd-button width=\"100%\" [title]=\"'Save' | sdTranslate\" color=\"info\" (action)=\"createTemplate()\">\r\n </sd-button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </sd-modal-body>\r\n</sd-modal>",
284
+ changeDetection: ChangeDetectionStrategy.OnPush,
283
285
  styles: [".c-radio-group{display:flex;flex-direction:column;margin:15px 0}.c-radio-button{margin:5px}.c-empty{align-items:center;background:#f6f6f6;border-radius:4px;display:flex;flex-direction:column;height:116px;justify-content:center;position:static}.c-empty .c-empty-image{content:url(\"data:image/png;base64,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\")}.c-table{overflow:auto;position:relative}.c-table table{width:100%}.c-table .c-th{color:#000;font-size:14px;font-weight:500;line-height:20px}"]
284
286
  },] }
285
287
  ];
@@ -296,4 +298,4 @@ SdPopupExport.propDecorators = {
296
298
  export: [{ type: Output }],
297
299
  _gridOption: [{ type: Input, args: ['gridOption',] }]
298
300
  };
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9wb3B1cC1leHBvcnQvcG9wdXAtZXhwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1SCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ25CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBSS9CLE9BQU8sRUFBZ0IsZUFBZSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU8zQyxNQUFNLE9BQU8sYUFBYTtJQThFeEIsWUFDVSxHQUFzQixFQUN0QixjQUFnQyxFQUNoQyxhQUE4QixFQUM5QixhQUE4QixFQUM5QixnQkFBb0M7UUFKcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQWpGOUMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFDL0IsV0FBTSxHQUFv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QU0sR0FBRyx3REFBQSxJQUFJLENBQXVCLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQVksR0FBRzs7UUFDYixNQUFNLE1BQU0sR0FBRyxzQ0FBc0MsQ0FBQztRQUN0RCxJQUFJLGNBQUMsSUFBSSxDQUFDLFVBQVUsMENBQUUsTUFBTSwwQ0FBRSxHQUFHLENBQUEsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUM7WUFDVixNQUFNO1lBQ04sR0FBRyxjQUFFLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sMENBQUUsR0FBRztTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBc0RELFFBQVE7SUFDUixDQUFDO0lBRUQsZUFBZTtJQUNmLENBQUM7Ozs7WUEvRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLHl6TEFBNEM7O2FBRTdDOzs7WUEzQmtGLGlCQUFpQjtZQVNsRyxnQkFBZ0I7WUFVSyxlQUFlO1lBZHBDLGVBQWU7WUFRZixrQkFBa0I7OztvQkFxQmpCLFNBQVMsU0FBQyxPQUFPO3lCQUNqQixTQUFTLFNBQUMsWUFBWTtxQkFRdEIsTUFBTTswQkFHTixLQUFLLFNBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFNkTm90aWZ5U2VydmljZVxyXG59IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuXHJcbmltcG9ydCB7XHJcbiAgU2RMb2FkaW5nU2VydmljZVxyXG59IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbG9hZGluZyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFNkVHJhbnNsYXRlU2VydmljZVxyXG59IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdHJhbnNsYXRlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU2RNb2RhbCB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbW9kYWwnO1xyXG5pbXBvcnQgeyBTZEV4cG9ydEZpbGUsIFNkRXhwb3J0U2VydmljZSwgU2RFeHBvcnRDb2x1bW4gfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2V4cG9ydCc7XHJcbmltcG9ydCB7IFNkR3JvdXBFeHBvcnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1leHBvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLXBvcHVwLWV4cG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLWV4cG9ydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcG9wdXAtZXhwb3J0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkUG9wdXBFeHBvcnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uO1xyXG4gIGNvbHVtbnM6IFNkRXhwb3J0Q29sdW1uW10gPSBbXTtcclxuICBncm91cHM6IFNkR3JvdXBFeHBvcnRbXSA9IFtdO1xyXG4gIHRlbXBsYXRlTmFtZTogc3RyaW5nO1xyXG4gIGVuYWJsZUNyZWF0aW5nID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZCgnbW9kYWwnKSBtb2RhbDogU2RNb2RhbDtcclxuICBAVmlld0NoaWxkKCdsaXN0R3JvdXBzJykgbGlzdEdyb3VwczogTWF0U2VsZWN0aW9uTGlzdDtcclxuXHJcbiAgc2VsZWN0ZWQ6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW5cclxuICB9ID0ge307XHJcbiAgZmlsZXM6IFNkRXhwb3J0RmlsZVtdID0gW107XHJcbiAgc2VsZWN0ZWRHcm91cDogU2RHcm91cEV4cG9ydDtcclxuXHJcbiAgQE91dHB1dCgpIGV4cG9ydCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBmaWxlOiBTZEV4cG9ydEZpbGUsIGNvbHVtbnM6IFNkRXhwb3J0Q29sdW1uW10sIGlzQ1NWPzogYm9vbGVhbiB9PigpO1xyXG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgQElucHV0KCdncmlkT3B0aW9uJykgc2V0IF9ncmlkT3B0aW9uKG9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24pIHtcclxuICAgIHRoaXMuZ3JpZE9wdGlvbiA9IG9wdGlvbjtcclxuICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuI2dldEV4cG9ydGFibGVDb2x1bW5zKCk7XHJcbiAgICB0aGlzLmdyb3VwcyA9IHRoaXMuI2dldEV4cG9ydGFibGVHcm91cHMoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXQga2V5KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwcmVmaXggPSAnOTM4ODllNzgtZjk3MS00YTFkLThjNzMtZmUyMzIxYWY5MjMzJztcclxuICAgIGlmICghdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LmtleSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiBoYXNoKHtcclxuICAgICAgcHJlZml4LFxyXG4gICAgICBrZXk6IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5rZXlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgI2dldEV4cG9ydGFibGVDb2x1bW5zID0gKCk6IFNkRXhwb3J0Q29sdW1uW10gPT4ge1xyXG4gICAgY29uc3QgY29sdW1uczogU2RFeHBvcnRDb2x1bW5bXSA9IFtdO1xyXG4gICAgdGhpcy5ncmlkT3B0aW9uLmNvbHVtbnMuZmlsdGVyKGUgPT4gIWUuZXhwb3J0Py5kaXNhYmxlZCkuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdpbWFnZScpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbHVtbi50eXBlID09PSAnY2hpbGRyZW4nKSB7XHJcbiAgICAgICAgY29sdW1uLmNoaWxkcmVuPy5maWx0ZXIoZSA9PiAhZS5leHBvcnQ/LmRpc2FibGVkKS5mb3JFYWNoKGNoaWxkQ29sdW1uID0+IHtcclxuICAgICAgICAgIGlmIChjaGlsZENvbHVtbi50eXBlID09PSAnaW1hZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbHVtbnMucHVzaChjaGlsZENvbHVtbik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuLWNvbCcpIHtcclxuICAgICAgICBjb2x1bW4uY2hpbGRyZW4/LmZpbHRlcihlID0+ICFlLmV4cG9ydD8uZGlzYWJsZWQpLmZvckVhY2goY2hpbGRDb2x1bW4gPT4ge1xyXG4gICAgICAgICAgaWYgKGNoaWxkQ29sdW1uLnR5cGUgPT09ICdpbWFnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBbLi4uY29sdW1ucywgLi4uKHRoaXMuZ3JpZE9wdGlvbi5leHBvcnQ/LmNvbHVtbnM/LmZpbHRlcihlID0+ICFlLmV4cG9ydD8uZGlzYWJsZWQpIHx8IFtdKV0ubWFwKGUgPT4gKHtcclxuICAgICAgZmllbGQ6IGUuZmllbGQsXHJcbiAgICAgIHRpdGxlOiBlLnRpdGxlLFxyXG4gICAgICBkZXNjcmlwdGlvbjogZS5kZXNjcmlwdGlvbixcclxuICAgICAgd2lkdGg6IGUud2lkdGhcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gICNnZXRFeHBvcnRhYmxlR3JvdXBzID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5ncm91cHM/LmZpbHRlcihlID0+IHtcclxuICAgICAgY29uc3QgcGVybWlzc2lvbiA9IGUucGVybWlzc2lvbjtcclxuICAgICAgaWYgKHR5cGVvZiAocGVybWlzc2lvbikgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbigpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uO1xyXG4gICAgfSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IFNkTG9hZGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV4cG9ydFNlcnZpY2U6IFNkRXhwb3J0U2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZ5U2VydmljZTogU2ROb3RpZnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBTZFRyYW5zbGF0ZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG9wZW4gPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMua2V5KSB7XHJcbiAgICAgIHRoaXMuZXhwb3J0RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncm91cHMubGVuZ3RoID09PSAxICYmIHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5oaWRlTXlUZW1wbGF0ZXMpIHtcclxuICAgICAgdGhpcy5sb2FkRmlsZXModGhpcy5ncm91cHNbMF0uY29kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRGaWxlcyhudWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fTtcclxuICAgIHRoaXMubW9kYWwub3BlbigpO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0RGVmYXVsdCA9IChpc0NTVjogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XHJcbiAgICB0aGlzLmV4cG9ydC5lbWl0KHtcclxuICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICBpc0NTVlxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbG9hZEZpbGVzID0gYXN5bmMgKGdyb3VwOiBzdHJpbmcgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSB0aGlzLmdyb3Vwcy5maW5kKGUgPT4gZS5jb2RlID09PSBncm91cCk7XHJcbiAgICB0aGlzLmZpbGVzID0gYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmZpbGVzSW5Gb2xkZXIoe1xyXG4gICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICBncm91cFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAjaW5pdFRlbXBsYXRlID0gYXN5bmMgKGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBzaGVldHM6IHtcclxuICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICBpdGVtczogYW55W10sXHJcbiAgICAgIGZpZWxkczogc3RyaW5nW11cclxuICAgIH1bXSA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnNoZWV0cykpIHtcclxuICAgICAgZm9yIChjb25zdCBzaGVldCBvZiB0aGlzLmdyaWRPcHRpb24uZXhwb3J0LnNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIHNoZWV0Lml0ZW1zICYmIHNoZWV0LmZpZWxkcykge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpKSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBzaGVldC5pdGVtcyxcclxuICAgICAgICAgICAgICBmaWVsZHM6IHNoZWV0LmZpZWxkc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBhd2FpdCBzaGVldC5pdGVtcygpLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogc2hlZXQuZmllbGRzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5nZW5lcmF0ZVRlbXBsYXRlKHtcclxuICAgICAgZmlsZU5hbWU6IGZpbGVOYW1lIHx8IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5maWxlTmFtZSxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICBzaGVldHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RhcnQoKTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuI2luaXRUZW1wbGF0ZSgpLmZpbmFsbHkodGhpcy5sb2FkaW5nU2VydmljZS5zdG9wKTtcclxuICAgIGlmIChyZXN1bHQ/LmZpbGVQYXRoKSB7XHJcbiAgICAgIHRoaXMuZXhwb3J0U2VydmljZS5kb3dubG9hZChyZXN1bHQuZmlsZVBhdGgsIGAke3RoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5maWxlTmFtZSB8fCB1dWlkfS54bHN4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUFuZFVwbG9hZFRlbXBsYXRlID0gYXN5bmMgKGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBzaGVldHM6IHtcclxuICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICBpdGVtczogYW55W10sXHJcbiAgICAgIGZpZWxkczogc3RyaW5nW11cclxuICAgIH1bXSA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnNoZWV0cykpIHtcclxuICAgICAgZm9yIChjb25zdCBzaGVldCBvZiB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uc2hlZXRzKSB7XHJcbiAgICAgICAgaWYgKHNoZWV0Lm5hbWUgJiYgc2hlZXQuaXRlbXMgJiYgc2hlZXQuZmllbGRzKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzaGVldC5pdGVtcykpIHtcclxuICAgICAgICAgICAgc2hlZXRzLnB1c2goe1xyXG4gICAgICAgICAgICAgIG5hbWU6IHNoZWV0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaXRlbXM6IHNoZWV0Lml0ZW1zLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogc2hlZXQuZmllbGRzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2hlZXRzLnB1c2goe1xyXG4gICAgICAgICAgICAgIG5hbWU6IHNoZWV0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaXRlbXM6IGF3YWl0IHNoZWV0Lml0ZW1zKCksXHJcbiAgICAgICAgICAgICAgZmllbGRzOiBzaGVldC5maWVsZHNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmdlbmVyYXRlVXBsb2FkVGVtcGxhdGUoe1xyXG4gICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICB0ZW1wbGF0ZToge1xyXG4gICAgICAgIGZpbGVOYW1lOiBmaWxlTmFtZSB8fCB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uZmlsZU5hbWUsXHJcbiAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLmZpbHRlcihlID0+IHRoaXMuc2VsZWN0ZWRbZS5maWVsZF0pLFxyXG4gICAgICAgIHNoZWV0c1xyXG4gICAgICB9LFxyXG4gICAgICBncm91cDogdGhpcy5zZWxlY3RlZEdyb3VwPy5jb2RlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRXhwb3J0ID0gKGZpbGU6IFNkRXhwb3J0RmlsZSkgPT4ge1xyXG4gICAgdGhpcy5leHBvcnQuZW1pdCh7XHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1uc1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRUZW1wbGF0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB0aGlzLmV4cG9ydFNlcnZpY2UudXBsb2FkVGVtcGxhdGUoe1xyXG4gICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICBncm91cDogdGhpcy5zZWxlY3RlZEdyb3VwPy5jb2RlLFxyXG4gICAgICB2YWxpZGF0b3I6IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py52YWxpZGF0b3JzXHJcbiAgICB9KTtcclxuICAgIGlmKGZpbGUpIHtcclxuICAgICAgdGhpcy5maWxlcyA9IFsuLi50aGlzLmZpbGVzLCBmaWxlXTtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmlsZSA9IChmaWxlOiBTZEV4cG9ydEZpbGUpID0+IHtcclxuICAgIHRoaXMubm90aWZ5U2VydmljZS5jb25maXJtKHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGUoJ1JlbW92ZSB0ZW1wbGF0ZScpKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRTZXJ2aWNlLnJlbW92ZUZpbGUoe1xyXG4gICAgICAgIGtleTogdGhpcy5rZXksXHJcbiAgICAgICAgZmlsZU5hbWU6IGZpbGUuZmlsZU5hbWUsXHJcbiAgICAgICAgZ3JvdXA6IHRoaXMuc2VsZWN0ZWRHcm91cD8uY29kZSB8fCBudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBpZHggPSB0aGlzLmZpbGVzLmluZGV4T2YoZmlsZSk7XHJcbiAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKGlkeCwgMSk7XHJcbiAgICAgIHRoaXMuZmlsZXMgPSBbLi4udGhpcy5maWxlc107XHJcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVGVtcGxhdGUgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBjb25zdCB7IHRyYW5zbGF0ZSB9ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlO1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5jb2x1bW5zLnNvbWUoZSA9PiB0aGlzLnNlbGVjdGVkW2UuZmllbGRdKSkge1xyXG4gICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcodHJhbnNsYXRlKCdQbGVhc2Ugc2VsZWN0IGNvbHVtbnMnKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RhcnQoKTtcclxuICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy50ZW1wbGF0ZU5hbWUgKyAnLnhsc3gnO1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py52YWxpZGF0b3JzPy4oZmlsZU5hbWUpKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlLm5vdGlmeS53YXJuaW5nKHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py52YWxpZGF0b3JzKGZpbGVOYW1lKSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZ2VuZXJhdGVBbmRVcGxvYWRUZW1wbGF0ZShmaWxlTmFtZSk7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbGVQYXRoKSB7XHJcbiAgICAgICAgY29uc3QgZmlsZTogU2RFeHBvcnRGaWxlID0ge1xyXG4gICAgICAgICAgZmlsZVBhdGg6IHJlc3VsdC5maWxlUGF0aCxcclxuICAgICAgICAgIGZpbGVOYW1lOiByZXN1bHQuZmlsZU5hbWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMub25FeHBvcnQoZmlsZSk7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZU5hbWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlQ3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpbGVzID0gWy4uLnRoaXMuZmlsZXMsIGZpbGVdO1xyXG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgdGhpcy5sb2FkaW5nU2VydmljZS5zdG9wKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUdyb3VwID0gKCkgPT4ge1xyXG4gICAgdGhpcy5sb2FkRmlsZXModGhpcy5saXN0R3JvdXBzPy5zZWxlY3RlZE9wdGlvbnM/LnNlbGVjdGVkWzBdPy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0b3JUZW1wbGF0ZU5hbWUgPSAodmFsOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHsgdHJhbnNsYXRlIH0gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICBjb25zdCByZWdleCA9IC9eW0EtWmEtejAtOSBfXSpbQS1aYS16MC05XVtBLVphLXowLTkgX10qJC87XHJcbiAgICBpZiAoIXZhbCkge1xyXG4gICAgICByZXR1cm4gdHJhbnNsYXRlKCdQbGVhc2UgZW50ZXIgeW91ciB0ZW1wbGF0ZSBuYW1lJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsLmxlbmd0aCA+IDUwKSB7XHJcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ1RlbXBsYXRlIG5hbWUgaXMgdG9vIGxvbmcnKTtcclxuICAgIH1cclxuICAgIGlmICghcmVnZXgudGVzdCh2YWwpKSB7XHJcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ1RlbXBsYXRlIG5hbWUgb25seSBjb250YWlucyBsZXR0ZXJzLCBudW1iZXJzIGFuZCBzcGFjZXMnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9wb3B1cC1leHBvcnQvcG9wdXAtZXhwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ25CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBSS9CLE9BQU8sRUFBZ0IsZUFBZSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVEzQyxNQUFNLE9BQU8sYUFBYTtJQThFeEIsWUFDVSxHQUFzQixFQUN0QixjQUFnQyxFQUNoQyxhQUE4QixFQUM5QixhQUE4QixFQUM5QixnQkFBb0M7UUFKcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQWpGOUMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFDL0IsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFFN0IsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFJdkIsYUFBUSxHQUVKLEVBQUUsQ0FBQztRQUNQLFVBQUssR0FBbUIsRUFBRSxDQUFDO1FBR2pCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBc0UsQ0FBQztRQUMxRyxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFrQnpCLGdDQUF3QixHQUFxQixFQUFFOztZQUM3QyxNQUFNLE9BQU8sR0FBcUIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFDLE9BQUEsUUFBQyxDQUFDLENBQUMsTUFBTSwwQ0FBRSxRQUFRLENBQUEsQ0FBQSxFQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7O2dCQUN4RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO29CQUMzQixPQUFPO2lCQUNSO2dCQUNELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7b0JBQzlCLE1BQUEsTUFBTSxDQUFDLFFBQVEsMENBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQUMsT0FBQSxRQUFDLENBQUMsQ0FBQyxNQUFNLDBDQUFFLFFBQVEsQ0FBQSxDQUFBLEVBQUEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7d0JBQ3RFLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7NEJBQ2hDLE9BQU87eUJBQ1I7d0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDNUIsQ0FBQyxFQUFFO29CQUNILE9BQU87aUJBQ1I7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtvQkFDbEMsTUFBQSxNQUFNLENBQUMsUUFBUSwwQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBQyxPQUFBLFFBQUMsQ0FBQyxDQUFDLE1BQU0sMENBQUUsUUFBUSxDQUFBLENBQUEsRUFBQSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTt3QkFDdEUsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTs0QkFDaEMsT0FBTzt5QkFDUjt3QkFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUM1QixDQUFDLEVBQUU7b0JBQ0gsT0FBTztpQkFDUjtnQkFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSwwQ0FBRSxPQUFPLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFDLE9BQUEsUUFBQyxDQUFDLENBQUMsTUFBTSwwQ0FBRSxRQUFRLENBQUEsQ0FBQSxFQUFBLE1BQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO2dCQUNkLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVztnQkFDMUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO2FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLEVBQUE7UUFFRCwrQkFBdUIsR0FBRyxFQUFFOztZQUMxQixPQUFPLG1CQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sMENBQUUsTUFBTSwwQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLFVBQVUsRUFBRTtvQkFDdEMsT0FBTyxVQUFVLEVBQUUsQ0FBQztpQkFDckI7Z0JBQ0QsT0FBTyxVQUFVLENBQUM7WUFDcEIsQ0FBQyxNQUFLLEVBQUUsQ0FBQztRQUNYLENBQUMsRUFBQTtRQWdCRCxTQUFJLEdBQUcsR0FBUyxFQUFFOztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLE9BQU87YUFDUjtZQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxpQkFBSSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLDBDQUFFLGVBQWUsQ0FBQSxFQUFFO2dCQUN4RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDckM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0QjtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUEsQ0FBQTtRQUVELGtCQUFhLEdBQUcsQ0FBQyxRQUFpQixLQUFLLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDZixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUE7UUFHRCxjQUFTLEdBQUcsQ0FBTyxRQUFnQixJQUFJLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7Z0JBQ2xELEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixLQUFLO2FBQ04sQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUEsQ0FBQTtRQUVELHdCQUFnQixDQUFPLFFBQWlCLEVBQUUsRUFBRTs7WUFDMUMsTUFBTSxNQUFNLEdBSU4sRUFBRSxDQUFDO1lBQ1QsSUFBSSxLQUFLLENBQUMsT0FBTyxhQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sMENBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO29CQUNqRCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO3dCQUM3QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDO2dDQUNWLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQ0FDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dDQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07NkJBQ3JCLENBQUMsQ0FBQzt5QkFDSjs2QkFBTTs0QkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDO2dDQUNWLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQ0FDaEIsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRTtnQ0FDMUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNOzZCQUNyQixDQUFDLENBQUM7eUJBQ0o7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQyxRQUFRLEVBQUUsUUFBUSxpQkFBSSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLDBDQUFFLFFBQVEsQ0FBQTtnQkFDdkQsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixNQUFNO2FBQ1AsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBLEVBQUE7UUFFRCxxQkFBZ0IsR0FBRyxHQUFTLEVBQUU7O1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxpREFBQSxJQUFJLENBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUUsSUFBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxFQUFFO2dCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsYUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLDBDQUFFLFFBQVEsS0FBSSxJQUFJLE9BQU8sQ0FBQyxDQUFDO2FBQ25HO1FBQ0gsQ0FBQyxDQUFBLENBQUE7UUFFRCw4QkFBeUIsR0FBRyxDQUFPLFFBQWlCLEVBQUUsRUFBRTs7WUFDdEQsTUFBTSxNQUFNLEdBSU4sRUFBRSxDQUFDO1lBQ1QsSUFBSSxLQUFLLENBQUMsT0FBTyxhQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sMENBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELEtBQUssTUFBTSxLQUFLLGdCQUFJLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sMENBQUUsTUFBTSxFQUFFO29CQUNuRCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO3dCQUM3QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDO2dDQUNWLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQ0FDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dDQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07NkJBQ3JCLENBQUMsQ0FBQzt5QkFDSjs2QkFBTTs0QkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDO2dDQUNWLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQ0FDaEIsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRTtnQ0FDMUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNOzZCQUNyQixDQUFDLENBQUM7eUJBQ0o7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDO2dCQUNyRCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsUUFBUSxFQUFFO29CQUNSLFFBQVEsRUFBRSxRQUFRLGlCQUFJLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sMENBQUUsUUFBUSxDQUFBO29CQUN2RCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDekQsTUFBTTtpQkFDUDtnQkFDRCxLQUFLLFFBQUUsSUFBSSxDQUFDLGFBQWEsMENBQUUsSUFBSTthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUEsQ0FBQTtRQUVELGFBQVEsR0FBRyxDQUFDLElBQWtCLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDZixJQUFJO2dCQUNKLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQTtRQUVELG1CQUFjLEdBQUcsR0FBUyxFQUFFOztZQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO2dCQUNuRCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsS0FBSyxRQUFFLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUk7Z0JBQy9CLFNBQVMsY0FBRSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLDBDQUFFLFVBQVU7YUFDL0MsQ0FBQyxDQUFDO1lBQ0gsSUFBRyxJQUFJLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQSxDQUFBO1FBRUQsZUFBVSxHQUFHLENBQUMsSUFBa0IsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7O2dCQUN2RixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztvQkFDNUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO29CQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdkIsS0FBSyxFQUFFLE9BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsSUFBSSxLQUFJLElBQUk7aUJBQ3hDLENBQUMsQ0FBQztnQkFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUE7UUFFRCxtQkFBYyxHQUFHLEdBQVMsRUFBRTs7WUFDMUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUM1QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzdCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1lBQzdDLElBQUk7Z0JBQ0Ysc0JBQUksSUFBSSxDQUFDLFVBQVUsMENBQUUsTUFBTSwwQ0FBRSxVQUFVLG1EQUFHLFFBQVEsR0FBRztvQkFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxhQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sMENBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqRixPQUFPO2lCQUNSO2dCQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLEVBQUU7b0JBQ3BCLE1BQU0sSUFBSSxHQUFpQjt3QkFDekIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO3dCQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7cUJBQzFCLENBQUM7b0JBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO29CQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUMxQjthQUNGO29CQUFTO2dCQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLENBQUEsQ0FBQTtRQUVELGtCQUFhLEdBQUcsR0FBRyxFQUFFOztZQUNuQixJQUFJLENBQUMsU0FBUyxtQkFBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRSxlQUFlLDBDQUFFLFFBQVEsQ0FBQyxDQUFDLDJDQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQTtRQUVELDBCQUFxQixHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDdEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUM1QyxNQUFNLEtBQUssR0FBRywyQ0FBMkMsQ0FBQztZQUMxRCxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNSLE9BQU8sU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7YUFDckQ7WUFDRCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFO2dCQUNuQixPQUFPLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BCLE9BQU8sU0FBUyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7YUFDN0U7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQTtJQTFNRyxDQUFDO0lBbEVMLElBQXlCLFdBQVcsQ0FBQyxNQUE0QjtRQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLHlEQUFBLElBQUksQ0FBd0IsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLHdEQUFBLElBQUksQ0FBdUIsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBWSxHQUFHOztRQUNiLE1BQU0sTUFBTSxHQUFHLHNDQUFzQyxDQUFDO1FBQ3RELElBQUksY0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLDBDQUFFLEdBQUcsQ0FBQSxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQztZQUNWLE1BQU07WUFDTixHQUFHLGNBQUUsSUFBSSxDQUFDLFVBQVUsMENBQUUsTUFBTSwwQ0FBRSxHQUFHO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFzREQsUUFBUTtJQUNSLENBQUM7SUFFRCxlQUFlO0lBQ2YsQ0FBQzs7OztZQWhHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IseXpMQUE0QztnQkFFNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUE1QmtGLGlCQUFpQjtZQVNsRyxnQkFBZ0I7WUFVSyxlQUFlO1lBZHBDLGVBQWU7WUFRZixrQkFBa0I7OztvQkFzQmpCLFNBQVMsU0FBQyxPQUFPO3lCQUNqQixTQUFTLFNBQUMsWUFBWTtxQkFRdEIsTUFBTTswQkFHTixLQUFLLFNBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBTZE5vdGlmeVNlcnZpY2VcclxufSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL25vdGlmeSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFNkTG9hZGluZ1NlcnZpY2VcclxufSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2xvYWRpbmcnO1xyXG5cclxuaW1wb3J0IHtcclxuICBTZFRyYW5zbGF0ZVNlcnZpY2VcclxufSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3RyYW5zbGF0ZSc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTW9kYWwgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL21vZGFsJztcclxuaW1wb3J0IHsgU2RFeHBvcnRGaWxlLCBTZEV4cG9ydFNlcnZpY2UsIFNkRXhwb3J0Q29sdW1uIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9leHBvcnQnO1xyXG5pbXBvcnQgeyBTZEdyb3VwRXhwb3J0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtZXhwb3J0Lm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1wb3B1cC1leHBvcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1leHBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLWV4cG9ydC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFBvcHVwRXhwb3J0IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbjtcclxuICBjb2x1bW5zOiBTZEV4cG9ydENvbHVtbltdID0gW107XHJcbiAgZ3JvdXBzOiBTZEdyb3VwRXhwb3J0W10gPSBbXTtcclxuICB0ZW1wbGF0ZU5hbWU6IHN0cmluZztcclxuICBlbmFibGVDcmVhdGluZyA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ21vZGFsJykgbW9kYWw6IFNkTW9kYWw7XHJcbiAgQFZpZXdDaGlsZCgnbGlzdEdyb3VwcycpIGxpc3RHcm91cHM6IE1hdFNlbGVjdGlvbkxpc3Q7XHJcblxyXG4gIHNlbGVjdGVkOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgfSA9IHt9O1xyXG4gIGZpbGVzOiBTZEV4cG9ydEZpbGVbXSA9IFtdO1xyXG4gIHNlbGVjdGVkR3JvdXA6IFNkR3JvdXBFeHBvcnQ7XHJcblxyXG4gIEBPdXRwdXQoKSBleHBvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZmlsZTogU2RFeHBvcnRGaWxlLCBjb2x1bW5zOiBTZEV4cG9ydENvbHVtbltdLCBpc0NTVj86IGJvb2xlYW4gfT4oKTtcclxuICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIEBJbnB1dCgnZ3JpZE9wdGlvbicpIHNldCBfZ3JpZE9wdGlvbihvcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKSB7XHJcbiAgICB0aGlzLmdyaWRPcHRpb24gPSBvcHRpb247XHJcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLiNnZXRFeHBvcnRhYmxlQ29sdW1ucygpO1xyXG4gICAgdGhpcy5ncm91cHMgPSB0aGlzLiNnZXRFeHBvcnRhYmxlR3JvdXBzKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0IGtleSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcHJlZml4ID0gJzkzODg5ZTc4LWY5NzEtNGExZC04YzczLWZlMjMyMWFmOTIzMyc7XHJcbiAgICBpZiAoIXRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5rZXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGFzaCh7XHJcbiAgICAgIHByZWZpeCxcclxuICAgICAga2V5OiB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8ua2V5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gICNnZXRFeHBvcnRhYmxlQ29sdW1ucyA9ICgpOiBTZEV4cG9ydENvbHVtbltdID0+IHtcclxuICAgIGNvbnN0IGNvbHVtbnM6IFNkRXhwb3J0Q29sdW1uW10gPSBbXTtcclxuICAgIHRoaXMuZ3JpZE9wdGlvbi5jb2x1bW5zLmZpbHRlcihlID0+ICFlLmV4cG9ydD8uZGlzYWJsZWQpLmZvckVhY2goY29sdW1uID0+IHtcclxuICAgICAgaWYgKGNvbHVtbi50eXBlID09PSAnaW1hZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJykge1xyXG4gICAgICAgIGNvbHVtbi5jaGlsZHJlbj8uZmlsdGVyKGUgPT4gIWUuZXhwb3J0Py5kaXNhYmxlZCkuZm9yRWFjaChjaGlsZENvbHVtbiA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hpbGRDb2x1bW4udHlwZSA9PT0gJ2ltYWdlJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbi1jb2wnKSB7XHJcbiAgICAgICAgY29sdW1uLmNoaWxkcmVuPy5maWx0ZXIoZSA9PiAhZS5leHBvcnQ/LmRpc2FibGVkKS5mb3JFYWNoKGNoaWxkQ29sdW1uID0+IHtcclxuICAgICAgICAgIGlmIChjaGlsZENvbHVtbi50eXBlID09PSAnaW1hZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbHVtbnMucHVzaChjaGlsZENvbHVtbik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbHVtbnMucHVzaChjb2x1bW4pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gWy4uLmNvbHVtbnMsIC4uLih0aGlzLmdyaWRPcHRpb24uZXhwb3J0Py5jb2x1bW5zPy5maWx0ZXIoZSA9PiAhZS5leHBvcnQ/LmRpc2FibGVkKSB8fCBbXSldLm1hcChlID0+ICh7XHJcbiAgICAgIGZpZWxkOiBlLmZpZWxkLFxyXG4gICAgICB0aXRsZTogZS50aXRsZSxcclxuICAgICAgZGVzY3JpcHRpb246IGUuZGVzY3JpcHRpb24sXHJcbiAgICAgIHdpZHRoOiBlLndpZHRoXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICAjZ2V0RXhwb3J0YWJsZUdyb3VwcyA9ICgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uZ3JvdXBzPy5maWx0ZXIoZSA9PiB7XHJcbiAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBlLnBlcm1pc3Npb247XHJcbiAgICAgIGlmICh0eXBlb2YgKHBlcm1pc3Npb24pID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgcmV0dXJuIHBlcm1pc3Npb24oKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcGVybWlzc2lvbjtcclxuICAgIH0pIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGxvYWRpbmdTZXJ2aWNlOiBTZExvYWRpbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBleHBvcnRTZXJ2aWNlOiBTZEV4cG9ydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5vdGlmeVNlcnZpY2U6IFNkTm90aWZ5U2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogU2RUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgfVxyXG5cclxuICBvcGVuID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmtleSkge1xyXG4gICAgICB0aGlzLmV4cG9ydERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JvdXBzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uaGlkZU15VGVtcGxhdGVzKSB7XHJcbiAgICAgIHRoaXMubG9hZEZpbGVzKHRoaXMuZ3JvdXBzWzBdLmNvZGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2FkRmlsZXMobnVsbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkID0ge307XHJcbiAgICB0aGlzLm1vZGFsLm9wZW4oKTtcclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydERlZmF1bHQgPSAoaXNDU1Y6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xyXG4gICAgdGhpcy5leHBvcnQuZW1pdCh7XHJcbiAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucyxcclxuICAgICAgaXNDU1ZcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGxvYWRGaWxlcyA9IGFzeW5jIChncm91cDogc3RyaW5nID0gbnVsbCkgPT4ge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwID0gdGhpcy5ncm91cHMuZmluZChlID0+IGUuY29kZSA9PT0gZ3JvdXApO1xyXG4gICAgdGhpcy5maWxlcyA9IGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5maWxlc0luRm9sZGVyKHtcclxuICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgZ3JvdXBcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICAjaW5pdFRlbXBsYXRlID0gYXN5bmMgKGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBzaGVldHM6IHtcclxuICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICBpdGVtczogYW55W10sXHJcbiAgICAgIGZpZWxkczogc3RyaW5nW11cclxuICAgIH1bXSA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnNoZWV0cykpIHtcclxuICAgICAgZm9yIChjb25zdCBzaGVldCBvZiB0aGlzLmdyaWRPcHRpb24uZXhwb3J0LnNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIHNoZWV0Lml0ZW1zICYmIHNoZWV0LmZpZWxkcykge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpKSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBzaGVldC5pdGVtcyxcclxuICAgICAgICAgICAgICBmaWVsZHM6IHNoZWV0LmZpZWxkc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBhd2FpdCBzaGVldC5pdGVtcygpLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogc2hlZXQuZmllbGRzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5nZW5lcmF0ZVRlbXBsYXRlKHtcclxuICAgICAgZmlsZU5hbWU6IGZpbGVOYW1lIHx8IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5maWxlTmFtZSxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICBzaGVldHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RhcnQoKTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuI2luaXRUZW1wbGF0ZSgpLmZpbmFsbHkodGhpcy5sb2FkaW5nU2VydmljZS5zdG9wKTtcclxuICAgIGlmIChyZXN1bHQ/LmZpbGVQYXRoKSB7XHJcbiAgICAgIHRoaXMuZXhwb3J0U2VydmljZS5kb3dubG9hZChyZXN1bHQuZmlsZVBhdGgsIGAke3RoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5maWxlTmFtZSB8fCB1dWlkfS54bHN4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUFuZFVwbG9hZFRlbXBsYXRlID0gYXN5bmMgKGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBzaGVldHM6IHtcclxuICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICBpdGVtczogYW55W10sXHJcbiAgICAgIGZpZWxkczogc3RyaW5nW11cclxuICAgIH1bXSA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnNoZWV0cykpIHtcclxuICAgICAgZm9yIChjb25zdCBzaGVldCBvZiB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uc2hlZXRzKSB7XHJcbiAgICAgICAgaWYgKHNoZWV0Lm5hbWUgJiYgc2hlZXQuaXRlbXMgJiYgc2hlZXQuZmllbGRzKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzaGVldC5pdGVtcykpIHtcclxuICAgICAgICAgICAgc2hlZXRzLnB1c2goe1xyXG4gICAgICAgICAgICAgIG5hbWU6IHNoZWV0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaXRlbXM6IHNoZWV0Lml0ZW1zLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogc2hlZXQuZmllbGRzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2hlZXRzLnB1c2goe1xyXG4gICAgICAgICAgICAgIG5hbWU6IHNoZWV0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaXRlbXM6IGF3YWl0IHNoZWV0Lml0ZW1zKCksXHJcbiAgICAgICAgICAgICAgZmllbGRzOiBzaGVldC5maWVsZHNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmdlbmVyYXRlVXBsb2FkVGVtcGxhdGUoe1xyXG4gICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICB0ZW1wbGF0ZToge1xyXG4gICAgICAgIGZpbGVOYW1lOiBmaWxlTmFtZSB8fCB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uZmlsZU5hbWUsXHJcbiAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLmZpbHRlcihlID0+IHRoaXMuc2VsZWN0ZWRbZS5maWVsZF0pLFxyXG4gICAgICAgIHNoZWV0c1xyXG4gICAgICB9LFxyXG4gICAgICBncm91cDogdGhpcy5zZWxlY3RlZEdyb3VwPy5jb2RlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRXhwb3J0ID0gKGZpbGU6IFNkRXhwb3J0RmlsZSkgPT4ge1xyXG4gICAgdGhpcy5leHBvcnQuZW1pdCh7XHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1uc1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRUZW1wbGF0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB0aGlzLmV4cG9ydFNlcnZpY2UudXBsb2FkVGVtcGxhdGUoe1xyXG4gICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICBncm91cDogdGhpcy5zZWxlY3RlZEdyb3VwPy5jb2RlLFxyXG4gICAgICB2YWxpZGF0b3I6IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py52YWxpZGF0b3JzXHJcbiAgICB9KTtcclxuICAgIGlmKGZpbGUpIHtcclxuICAgICAgdGhpcy5maWxlcyA9IFsuLi50aGlzLmZpbGVzLCBmaWxlXTtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmlsZSA9IChmaWxlOiBTZEV4cG9ydEZpbGUpID0+IHtcclxuICAgIHRoaXMubm90aWZ5U2VydmljZS5jb25maXJtKHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGUoJ1JlbW92ZSB0ZW1wbGF0ZScpKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRTZXJ2aWNlLnJlbW92ZUZpbGUoe1xyXG4gICAgICAgIGtleTogdGhpcy5rZXksXHJcbiAgICAgICAgZmlsZU5hbWU6IGZpbGUuZmlsZU5hbWUsXHJcbiAgICAgICAgZ3JvdXA6IHRoaXMuc2VsZWN0ZWRHcm91cD8uY29kZSB8fCBudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBpZHggPSB0aGlzLmZpbGVzLmluZGV4T2YoZmlsZSk7XHJcbiAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKGlkeCwgMSk7XHJcbiAgICAgIHRoaXMuZmlsZXMgPSBbLi4udGhpcy5maWxlc107XHJcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVGVtcGxhdGUgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBjb25zdCB7IHRyYW5zbGF0ZSB9ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlO1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5jb2x1bW5zLnNvbWUoZSA9PiB0aGlzLnNlbGVjdGVkW2UuZmllbGRdKSkge1xyXG4gICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcodHJhbnNsYXRlKCdQbGVhc2Ugc2VsZWN0IGNvbHVtbnMnKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RhcnQoKTtcclxuICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy50ZW1wbGF0ZU5hbWUgKyAnLnhsc3gnO1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py52YWxpZGF0b3JzPy4oZmlsZU5hbWUpKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlLm5vdGlmeS53YXJuaW5nKHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py52YWxpZGF0b3JzKGZpbGVOYW1lKSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZ2VuZXJhdGVBbmRVcGxvYWRUZW1wbGF0ZShmaWxlTmFtZSk7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbGVQYXRoKSB7XHJcbiAgICAgICAgY29uc3QgZmlsZTogU2RFeHBvcnRGaWxlID0ge1xyXG4gICAgICAgICAgZmlsZVBhdGg6IHJlc3VsdC5maWxlUGF0aCxcclxuICAgICAgICAgIGZpbGVOYW1lOiByZXN1bHQuZmlsZU5hbWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMub25FeHBvcnQoZmlsZSk7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZU5hbWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlQ3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpbGVzID0gWy4uLnRoaXMuZmlsZXMsIGZpbGVdO1xyXG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgdGhpcy5sb2FkaW5nU2VydmljZS5zdG9wKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUdyb3VwID0gKCkgPT4ge1xyXG4gICAgdGhpcy5sb2FkRmlsZXModGhpcy5saXN0R3JvdXBzPy5zZWxlY3RlZE9wdGlvbnM/LnNlbGVjdGVkWzBdPy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0b3JUZW1wbGF0ZU5hbWUgPSAodmFsOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHsgdHJhbnNsYXRlIH0gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICBjb25zdCByZWdleCA9IC9eW0EtWmEtejAtOSBfXSpbQS1aYS16MC05XVtBLVphLXowLTkgX10qJC87XHJcbiAgICBpZiAoIXZhbCkge1xyXG4gICAgICByZXR1cm4gdHJhbnNsYXRlKCdQbGVhc2UgZW50ZXIgeW91ciB0ZW1wbGF0ZSBuYW1lJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsLmxlbmd0aCA+IDUwKSB7XHJcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ1RlbXBsYXRlIG5hbWUgaXMgdG9vIGxvbmcnKTtcclxuICAgIH1cclxuICAgIGlmICghcmVnZXgudGVzdCh2YWwpKSB7XHJcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ1RlbXBsYXRlIG5hbWUgb25seSBjb250YWlucyBsZXR0ZXJzLCBudW1iZXJzIGFuZCBzcGFjZXMnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,7 @@
1
- import { Component, ViewChild, Output, EventEmitter, Input } from '@angular/core';
1
+ import { Component, ViewChild, Output, EventEmitter, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
2
2
  export class SdPopupFilter {
3
- constructor() {
3
+ constructor(cdRef) {
4
+ this.cdRef = cdRef;
4
5
  this.externalFilters = [];
5
6
  this.externalFilter = {};
6
7
  this.inlineExternal = {};
@@ -21,9 +22,11 @@ export class SdPopupFilter {
21
22
  this.inlineFilterDef = JSON.parse(JSON.stringify(inlineFilterDef || {}));
22
23
  this.filterDef = JSON.parse(JSON.stringify(filterDef || {}));
23
24
  this.modal.open();
25
+ this.cdRef.markForCheck();
24
26
  };
25
27
  this.close = () => {
26
28
  this.modal.close();
29
+ this.cdRef.markForCheck();
27
30
  };
28
31
  this.onApply = () => {
29
32
  this.changeFilter.emit({
@@ -35,21 +38,26 @@ export class SdPopupFilter {
35
38
  filterDef: this.filterDef || {}
36
39
  });
37
40
  this.modal.close();
41
+ this.cdRef.markForCheck();
38
42
  };
39
43
  }
40
44
  onClear() {
41
45
  this.clearFilter.emit();
42
46
  this.modal.close();
47
+ this.cdRef.markForCheck();
43
48
  }
44
49
  }
45
50
  SdPopupFilter.decorators = [
46
51
  { type: Component, args: [{
47
52
  selector: 'sd-popup-filter',
48
53
  template: "<sd-modal width=\"500px\" [title]=\"'Filter' | sdTranslate\" #modal>\r\n <sd-modal-body class=\"c-popup-filter\">\r\n <ng-container *ngFor=\"let column of columns | sdFilterColumn\">\r\n <div class=\"d-flex align-items-baseline\">\r\n <ng-container>\r\n <div *sdDesktop class=\"c-checkable\">\r\n <mat-slide-toggle [(ngModel)]=\"inlineColumn[column.field]\" color=\"primary\"></mat-slide-toggle>\r\n </div>\r\n </ng-container>\r\n <div class=\"c-filterable\">\r\n <sd-input *ngIf=\"column.type === 'string'\" [label]=\"column.title\" type=\"text\"\r\n [(model)]=\"columnFilter[column.field]\" appearance=\"outline\">\r\n </sd-input>\r\n <sd-input *ngIf=\"column.type === 'number'\" [label]=\"column.title\" type=\" number\"\r\n [(model)]=\"columnFilter[column.field]\" appearance=\"outline\">\r\n </sd-input>\r\n <sd-select *ngIf=\"column.type === 'bool'\" [label]=\"column.title\" [items]=\"[{value:'1',display:column.trueValue || 'True' },\r\n {value:'0',display:column.falseValue || 'False' }]\" valueField=\"value\" displayField=\"display\"\r\n [(model)]=\"columnFilter[column.field]\" appearance=\"outline\">\r\n </sd-select>\r\n <sd-select *ngIf=\"column.type === 'values' && !column?.editor?.autocomplete\" [label]=\"column.title\"\r\n [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" appearance=\"outline\">\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"column.type === 'values' && column?.editor?.autocomplete\" [label]=\"column.title\"\r\n [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" appearance=\"outline\">\r\n </sd-autocomplete>\r\n <sd-date-time *ngIf=\"column.type ==='date' || column.type==='datetime' ||\r\n column.type==='time'\" [label]=\"column.title\" [(model)]=\" columnFilter[column.field]\" type=\"date\"\r\n appearance=\"outline\">\r\n </sd-date-time>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let item of externalFilters | sdFilterExternal\">\r\n <div class=\"d-flex align-items-baseline\">\r\n <ng-container>\r\n <div *sdDesktop class=\"c-checkable\">\r\n <mat-slide-toggle [(ngModel)]=\"inlineExternal[item.field]\" color=\"primary\"></mat-slide-toggle>\r\n </div>\r\n </ng-container>\r\n <div class=\"c-filterable\">\r\n <sd-input [label]=\"item.title\" *ngIf=\"item.type === 'string'\" type=\"text\"\r\n [(model)]=\"externalFilter[item.field]\" appearance=\"outline\">\r\n </sd-input>\r\n <sd-input-number [label]=\"item.title\" *ngIf=\"item.type === 'number'\" [(model)]=\"externalFilter[item.field]\"\r\n appearance=\"outline\">\r\n </sd-input-number>\r\n <sd-select [label]=\"item.title\" *ngIf=\"item.type === 'bool'\" [items]=\"[{value:'1',display:item.option?.displayOnTrue || 'True' },\r\n {value:'0',display:item.option?.displayOnFalse || 'False' }]\" valueField=\"value\" displayField=\"display\"\r\n [(model)]=\"externalFilter[item.field]\" appearance=\"outline\">\r\n </sd-select>\r\n <ng-container *ngIf=\"item.type === 'values'\">\r\n <sd-select *ngIf=\"item.option?.selection === 'MULTIPLE'\" [label]=\"item.title\" [items]=\"item.option.items\"\r\n [valueField]=\"item.option.valueField\" [displayField]=\"item.option.displayField\"\r\n [(model)]=\"externalFilter[item.field]\" appearance=\"outline\" multiple>\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"item.option?.selection === 'AUTOCOMPLETE'\" [label]=\"item.title\"\r\n [items]=\"item.option.items\" [valueField]=\"item.option.valueField\"\r\n [displayField]=\"item.option.displayField\" appearance=\"outline\" [(model)]=\"externalFilter[item.field]\">\r\n </sd-autocomplete>\r\n <sd-select *ngIf=\"item.option?.selection === 'MULTIPLEAUTOCOMPLETE'\" [label]=\"item.title\"\r\n [items]=\"item.option.items\" [valueField]=\"item.option.valueField\"\r\n [displayField]=\"item.option.displayField\" appearance=\"outline\" [(model)]=\"externalFilter[item.field]\"\r\n filtered=\"true\" multiple>\r\n </sd-select>\r\n <sd-select *ngIf=\"!item.option?.selection\" [label]=\"item.title\" [items]=\"item.values\"\r\n [items]=\"item.option.items\" [valueField]=\"item.option.valueField\"\r\n [displayField]=\"item.option.displayField\" appearance=\"outline\" [(model)]=\"externalFilter[item.field]\">\r\n </sd-select>\r\n </ng-container>\r\n <sd-date-time [label]=\"item.title\" *ngIf=\"item.type ==='date' || item.type === 'datetime'\"\r\n [(model)]=\"externalFilter[item.field]\" [type]=\"item.type\" appearance=\"outline\">\r\n </sd-date-time>\r\n <sd-date-range [label]=\"item.title\" *ngIf=\"item.type ==='daterange' && externalFilter[item.field]\"\r\n [(from)]=\"externalFilter[item.field].from\" [(to)]=\"externalFilter[item.field].to\" [min]=\"item.minDate\"\r\n [max]=\"item.maxDate\" appearance=\"outline\">\r\n </sd-date-range>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let filter of filterDefs\">\r\n <div class=\"d-flex align-items-baseline\">\r\n <ng-container>\r\n <div *sdDesktop class=\"c-checkable\">\r\n <mat-slide-toggle [(ngModel)]=\"inlineFilterDef[filter.sdMaterialFilterDef]\" color=\"primary\">\r\n </mat-slide-toggle>\r\n </div>\r\n </ng-container>\r\n <div class=\"c-filterable\">\r\n <ng-container *ngTemplateOutlet=\"filter.templateRef;context:{filterDef:filterDef}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </sd-modal-body>\r\n <sd-modal-footer *sdDesktop>\r\n <sd-button class=\"mr-auto\" (action)=\"onClear()\" icon=\"clear\" [title]=\"'Clear filter' | sdTranslate\" size=\"sm\">\r\n </sd-button>\r\n <sd-button (action)=\"onApply()\" icon=\"done\" [title]=\"'Apply' | sdTranslate\" color=\"primary\" size=\"sm\"></sd-button>\r\n </sd-modal-footer>\r\n <sd-modal-footer *sdMobileTablet>\r\n <sd-button style=\"flex: 1; padding-right: 5px;\" (action)=\"onClear()\" icon=\"clear\"\r\n [title]=\"'Clear filter' | sdTranslate\" width=\"100%\" size=\"sm\"></sd-button>\r\n <sd-button style=\"flex: 1; padding-left: 5px;\" (action)=\"onApply()\" icon=\"done\" [title]=\"'Apply' | sdTranslate\"\r\n color=\"primary\" width=\"100%\" size=\"sm\"></sd-button>\r\n </sd-modal-footer>\r\n</sd-modal>",
54
+ changeDetection: ChangeDetectionStrategy.OnPush,
49
55
  styles: [".c-checkable{width:50px}.c-filterable{flex:1}::ng-deep sd-modal-body.c-popup-filter .mat-form-field-wrapper{padding-bottom:0}"]
50
56
  },] }
51
57
  ];
52
- SdPopupFilter.ctorParameters = () => [];
58
+ SdPopupFilter.ctorParameters = () => [
59
+ { type: ChangeDetectorRef }
60
+ ];
53
61
  SdPopupFilter.propDecorators = {
54
62
  modal: [{ type: ViewChild, args: ['modal',] }],
55
63
  externalFilters: [{ type: Input }],
@@ -58,4 +66,4 @@ SdPopupFilter.propDecorators = {
58
66
  changeFilter: [{ type: Output }],
59
67
  clearFilter: [{ type: Output }]
60
68
  };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9wb3B1cC1maWx0ZXIvcG9wdXAtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVdsRixNQUFNLE9BQU8sYUFBYTtJQWtDeEI7UUFoQ1Msb0JBQWUsR0FBbUMsRUFBRSxDQUFDO1FBQzlELG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLG1CQUFjLEdBRVYsRUFBRSxDQUFDO1FBQ0UsWUFBTyxHQUEyQixFQUFFLENBQUM7UUFDOUMsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsaUJBQVksR0FFUixFQUFFLENBQUM7UUFFRSxlQUFVLEdBQW1DLEVBQUUsQ0FBQztRQUN6RCxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLG9CQUFlLEdBRVgsRUFBRSxDQUFDO1FBRUcsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFhckMsQ0FBQztRQUNLLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUszQyxTQUFJLEdBQUcsQ0FBQyxJQWFQLEVBQUUsRUFBRTtZQUNILE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztZQUN4RyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQTtRQUVELFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQTtRQUVELFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRTtnQkFDckMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRTtnQkFDckMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRTtnQkFDekMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRTtnQkFDekMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRTtnQkFDM0MsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTthQUNoQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQTtJQXhDRCxDQUFDO0lBMENELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7O1lBdEZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiwyOU5BQTRDOzthQUU3Qzs7OztvQkFFRSxTQUFTLFNBQUMsT0FBTzs4QkFDakIsS0FBSztzQkFLTCxLQUFLO3lCQU1MLEtBQUs7MkJBTUwsTUFBTTswQkFjTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZE1vZGFsIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9tb2RhbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxFeHRlcm5hbEZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWZpbHRlci5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWZpbHRlci1kZWYuZGlyZWN0aXZlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtcG9wdXAtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wb3B1cC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RQb3B1cEZpbHRlciB7XHJcbiAgQFZpZXdDaGlsZCgnbW9kYWwnKSBtb2RhbDogU2RNb2RhbDtcclxuICBASW5wdXQoKSBleHRlcm5hbEZpbHRlcnM6IFNkR3JpZE1hdGVyaWFsRXh0ZXJuYWxGaWx0ZXJbXSA9IFtdO1xyXG4gIGV4dGVybmFsRmlsdGVyOiBhbnkgPSB7fTtcclxuICBpbmxpbmVFeHRlcm5hbDoge1xyXG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhblxyXG4gIH0gPSB7fTtcclxuICBASW5wdXQoKSBjb2x1bW5zOiBTZEdyaWRNYXRlcmlhbENvbHVtbltdID0gW107XHJcbiAgY29sdW1uRmlsdGVyOiBhbnkgPSB7fTtcclxuICBpbmxpbmVDb2x1bW46IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW5cclxuICB9ID0ge307XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlckRlZnM6IFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmVbXSA9IFtdO1xyXG4gIGZpbHRlckRlZjogYW55ID0ge307XHJcbiAgaW5saW5lRmlsdGVyRGVmOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xyXG4gIH0gPSB7fTtcclxuXHJcbiAgQE91dHB1dCgpIGNoYW5nZUZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgaW5saW5lQ29sdW1uOiB7XHJcbiAgICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW5cclxuICAgIH0sXHJcbiAgICBjb2x1bW5GaWx0ZXI6IGFueSxcclxuICAgIGlubGluZUV4dGVybmFsOiB7XHJcbiAgICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW5cclxuICAgIH1cclxuICAgIGV4dGVybmFsRmlsdGVyOiBhbnksXHJcbiAgICBpbmxpbmVGaWx0ZXJEZWY6IHtcclxuICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhblxyXG4gICAgfSxcclxuICAgIGZpbHRlckRlZjogYW55XHJcbiAgfT4oKTtcclxuICBAT3V0cHV0KCkgY2xlYXJGaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBvcGVuID0gKGFyZ3M6IHtcclxuICAgIGlubGluZUNvbHVtbjoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgICB9LFxyXG4gICAgY29sdW1uRmlsdGVyOiBhbnksXHJcbiAgICBpbmxpbmVFeHRlcm5hbDoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgICB9XHJcbiAgICBleHRlcm5hbEZpbHRlcjogYW55LFxyXG4gICAgaW5saW5lRmlsdGVyRGVmOiB7XHJcbiAgICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW5cclxuICAgIH0sXHJcbiAgICBmaWx0ZXJEZWY6IGFueVxyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsgaW5saW5lQ29sdW1uLCBjb2x1bW5GaWx0ZXIsIGlubGluZUV4dGVybmFsLCBleHRlcm5hbEZpbHRlciwgaW5saW5lRmlsdGVyRGVmLCBmaWx0ZXJEZWYgfSA9IGFyZ3M7XHJcbiAgICB0aGlzLmlubGluZUNvbHVtbiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaW5saW5lQ29sdW1uIHx8IHt9KSk7XHJcbiAgICB0aGlzLmNvbHVtbkZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29sdW1uRmlsdGVyIHx8IHt9KSk7XHJcbiAgICB0aGlzLmlubGluZUV4dGVybmFsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbmxpbmVFeHRlcm5hbCB8fCB7fSkpO1xyXG4gICAgdGhpcy5leHRlcm5hbEZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZXh0ZXJuYWxGaWx0ZXIgfHwge30pKTtcclxuICAgIHRoaXMuaW5saW5lRmlsdGVyRGVmID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbmxpbmVGaWx0ZXJEZWYgfHwge30pKTtcclxuICAgIHRoaXMuZmlsdGVyRGVmID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmaWx0ZXJEZWYgfHwge30pKTtcclxuICAgIHRoaXMubW9kYWwub3BlbigpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UgPSAoKSA9PiB7XHJcbiAgICB0aGlzLm1vZGFsLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5ID0gKCkgPT4ge1xyXG4gICAgdGhpcy5jaGFuZ2VGaWx0ZXIuZW1pdCh7XHJcbiAgICAgIGlubGluZUNvbHVtbjogdGhpcy5pbmxpbmVDb2x1bW4gfHwge30sXHJcbiAgICAgIGNvbHVtbkZpbHRlcjogdGhpcy5jb2x1bW5GaWx0ZXIgfHwge30sXHJcbiAgICAgIGlubGluZUV4dGVybmFsOiB0aGlzLmlubGluZUV4dGVybmFsIHx8IHt9LFxyXG4gICAgICBleHRlcm5hbEZpbHRlcjogdGhpcy5leHRlcm5hbEZpbHRlciB8fCB7fSxcclxuICAgICAgaW5saW5lRmlsdGVyRGVmOiB0aGlzLmlubGluZUZpbHRlckRlZiB8fCB7fSxcclxuICAgICAgZmlsdGVyRGVmOiB0aGlzLmZpbHRlckRlZiB8fCB7fVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1vZGFsLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyKCkge1xyXG4gICAgdGhpcy5jbGVhckZpbHRlci5lbWl0KCk7XHJcbiAgICB0aGlzLm1vZGFsLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9wb3B1cC1maWx0ZXIvcG9wdXAtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVk5SCxNQUFNLE9BQU8sYUFBYTtJQWtDeEIsWUFDVSxLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWpDekIsb0JBQWUsR0FBbUMsRUFBRSxDQUFDO1FBQzlELG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLG1CQUFjLEdBRVYsRUFBRSxDQUFDO1FBQ0UsWUFBTyxHQUEyQixFQUFFLENBQUM7UUFDOUMsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsaUJBQVksR0FFUixFQUFFLENBQUM7UUFFRSxlQUFVLEdBQW1DLEVBQUUsQ0FBQztRQUN6RCxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLG9CQUFlLEdBRVgsRUFBRSxDQUFDO1FBRUcsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFhckMsQ0FBQztRQUNLLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU0zQyxTQUFJLEdBQUcsQ0FBQyxJQWFQLEVBQUUsRUFBRTtZQUNILE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztZQUN4RyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFBO1FBRUQsVUFBSyxHQUFHLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUE7UUFFRCxZQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUU7Z0JBQ3JDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUU7Z0JBQ3JDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUU7Z0JBQ3pDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUU7Z0JBQ3pDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUU7Z0JBQzNDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDaEMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQTtJQTNDRCxDQUFDO0lBNkNELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUE1RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDI5TkFBNEM7Z0JBRTVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBWG9GLGlCQUFpQjs7O29CQWFuRyxTQUFTLFNBQUMsT0FBTzs4QkFDakIsS0FBSztzQkFLTCxLQUFLO3lCQU1MLEtBQUs7MkJBTUwsTUFBTTswQkFjTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkTW9kYWwgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL21vZGFsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbEV4dGVybmFsRmlsdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtZmlsdGVyLm1vZGVsJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbEZpbHRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtZmlsdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1wb3B1cC1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFBvcHVwRmlsdGVyIHtcclxuICBAVmlld0NoaWxkKCdtb2RhbCcpIG1vZGFsOiBTZE1vZGFsO1xyXG4gIEBJbnB1dCgpIGV4dGVybmFsRmlsdGVyczogU2RHcmlkTWF0ZXJpYWxFeHRlcm5hbEZpbHRlcltdID0gW107XHJcbiAgZXh0ZXJuYWxGaWx0ZXI6IGFueSA9IHt9O1xyXG4gIGlubGluZUV4dGVybmFsOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgfSA9IHt9O1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IFNkR3JpZE1hdGVyaWFsQ29sdW1uW10gPSBbXTtcclxuICBjb2x1bW5GaWx0ZXI6IGFueSA9IHt9O1xyXG4gIGlubGluZUNvbHVtbjoge1xyXG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhblxyXG4gIH0gPSB7fTtcclxuXHJcbiAgQElucHV0KCkgZmlsdGVyRGVmczogU2RNYXRlcmlhbEZpbHRlckRlZkRpcmVjdGl2ZVtdID0gW107XHJcbiAgZmlsdGVyRGVmOiBhbnkgPSB7fTtcclxuICBpbmxpbmVGaWx0ZXJEZWY6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XHJcbiAgfSA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgY2hhbmdlRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBpbmxpbmVDb2x1bW46IHtcclxuICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhblxyXG4gICAgfSxcclxuICAgIGNvbHVtbkZpbHRlcjogYW55LFxyXG4gICAgaW5saW5lRXh0ZXJuYWw6IHtcclxuICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhblxyXG4gICAgfVxyXG4gICAgZXh0ZXJuYWxGaWx0ZXI6IGFueSxcclxuICAgIGlubGluZUZpbHRlckRlZjoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgICB9LFxyXG4gICAgZmlsdGVyRGVmOiBhbnlcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBjbGVhckZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBvcGVuID0gKGFyZ3M6IHtcclxuICAgIGlubGluZUNvbHVtbjoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgICB9LFxyXG4gICAgY29sdW1uRmlsdGVyOiBhbnksXHJcbiAgICBpbmxpbmVFeHRlcm5hbDoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgICB9XHJcbiAgICBleHRlcm5hbEZpbHRlcjogYW55LFxyXG4gICAgaW5saW5lRmlsdGVyRGVmOiB7XHJcbiAgICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW5cclxuICAgIH0sXHJcbiAgICBmaWx0ZXJEZWY6IGFueVxyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsgaW5saW5lQ29sdW1uLCBjb2x1bW5GaWx0ZXIsIGlubGluZUV4dGVybmFsLCBleHRlcm5hbEZpbHRlciwgaW5saW5lRmlsdGVyRGVmLCBmaWx0ZXJEZWYgfSA9IGFyZ3M7XHJcbiAgICB0aGlzLmlubGluZUNvbHVtbiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaW5saW5lQ29sdW1uIHx8IHt9KSk7XHJcbiAgICB0aGlzLmNvbHVtbkZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29sdW1uRmlsdGVyIHx8IHt9KSk7XHJcbiAgICB0aGlzLmlubGluZUV4dGVybmFsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbmxpbmVFeHRlcm5hbCB8fCB7fSkpO1xyXG4gICAgdGhpcy5leHRlcm5hbEZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZXh0ZXJuYWxGaWx0ZXIgfHwge30pKTtcclxuICAgIHRoaXMuaW5saW5lRmlsdGVyRGVmID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbmxpbmVGaWx0ZXJEZWYgfHwge30pKTtcclxuICAgIHRoaXMuZmlsdGVyRGVmID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmaWx0ZXJEZWYgfHwge30pKTtcclxuICAgIHRoaXMubW9kYWwub3BlbigpO1xyXG4gICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGNsb3NlID0gKCkgPT4ge1xyXG4gICAgdGhpcy5tb2RhbC5jbG9zZSgpO1xyXG4gICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG9uQXBwbHkgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNoYW5nZUZpbHRlci5lbWl0KHtcclxuICAgICAgaW5saW5lQ29sdW1uOiB0aGlzLmlubGluZUNvbHVtbiB8fCB7fSxcclxuICAgICAgY29sdW1uRmlsdGVyOiB0aGlzLmNvbHVtbkZpbHRlciB8fCB7fSxcclxuICAgICAgaW5saW5lRXh0ZXJuYWw6IHRoaXMuaW5saW5lRXh0ZXJuYWwgfHwge30sXHJcbiAgICAgIGV4dGVybmFsRmlsdGVyOiB0aGlzLmV4dGVybmFsRmlsdGVyIHx8IHt9LFxyXG4gICAgICBpbmxpbmVGaWx0ZXJEZWY6IHRoaXMuaW5saW5lRmlsdGVyRGVmIHx8IHt9LFxyXG4gICAgICBmaWx0ZXJEZWY6IHRoaXMuZmlsdGVyRGVmIHx8IHt9XHJcbiAgICB9KTtcclxuICAgIHRoaXMubW9kYWwuY2xvc2UoKTtcclxuICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyKCkge1xyXG4gICAgdGhpcy5jbGVhckZpbHRlci5lbWl0KCk7XHJcbiAgICB0aGlzLm1vZGFsLmNsb3NlKCk7XHJcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  var _name, _form, _model, _align, _allowNegative, _decimal, _precision, _prefix, _suffix, _thousands, _nullable, _min, _max, _pattern, _validator, _subscription, _generateOption, _updateValidator, _onChange, _customValidator;
2
2
  import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Component, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef, ContentChild, Inject, Optional } from '@angular/core';
3
+ import { Component, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef, ContentChild, Inject, Optional, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { NgForm, Validators } from '@angular/forms';
5
5
  import * as uuid from 'uuid';
6
6
  import { Subscription } from 'rxjs';
@@ -50,6 +50,7 @@ export class SdInputCurrency {
50
50
  max: __classPrivateFieldGet(this, _max),
51
51
  inputMode: CurrencyMaskInputMode.NATURAL
52
52
  };
53
+ this.ref.markForCheck();
53
54
  });
54
55
  this.reValidate = () => {
55
56
  this.formControl.updateValueAndValidity();
@@ -88,6 +89,7 @@ export class SdInputCurrency {
88
89
  if (val.length > val.trim().length) {
89
90
  this.formControl.setValue(val.trim());
90
91
  }
92
+ this.ref.markForCheck();
91
93
  };
92
94
  _customValidator.set(this, (func) => {
93
95
  return (c) => __awaiter(this, void 0, void 0, function* () {
@@ -227,6 +229,7 @@ SdInputCurrency.decorators = [
227
229
  { type: Component, args: [{
228
230
  selector: 'sd-input-currency',
229
231
  template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\" *ngIf=\"isRequired\">*</span></label>\r\n<div class=\"d-flex align-items-center\">\r\n <mat-form-field class=\"sd-md\"\r\n [ngClass]=\"{'sd-form-tooltip':tooltip, 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{label}}</mat-label>\r\n <input currencyMask [options]=\"options\" [formControl]=\"formControl\" #control matInput\r\n [placeholder]=\"placeholder || (appearance ? label : '')\" (keyup.enter)=\"onKeyupEnter()\" (focus)=\"onFocus()\" [required]=\"isRequired\"\r\n autocomplete=\"off\">\r\n <ng-container *ngIf=\"sdSuffix?.templateRef\" matSuffix>\r\n <ng-container *ngTemplateOutlet=\"sdSuffix.templateRef\">\r\n </ng-container>\r\n </ng-container>\r\n <mat-error *ngIf=\"formControl.errors?.required && !disableErrorMessage\">\r\n {{'This field is required' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl.errors?.pattern && !disableErrorMessage\">\r\n {{'Pattern error' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl.errors?.customValidator && !disableErrorMessage\">\r\n <strong>{{formControl.errors?.customValidator}}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <div *ngIf=\"tooltip\" class=\"sd-tooltip\">\r\n <mat-icon (click)=\"sdTooltip.toggle()\" [matTooltip]=\"formControl.value | sdInputCurrencyTooltipPipe:tooltip\"\r\n matSuffix #sdTooltip=\"matTooltip\">info</mat-icon>\r\n </div>\r\n</div>",
232
+ changeDetection: ChangeDetectionStrategy.OnPush,
230
233
  styles: [":host ::ng-deep .mat-form-field.sd-form-tooltip{width:calc(100% - 30px)}.sd-tooltip{display:inline-block;margin:auto;text-align:center;width:30px}:host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]
231
234
  },] }
232
235
  ];
@@ -265,4 +268,4 @@ SdInputCurrency.propDecorators = {
265
268
  keyupEnter: [{ type: Output }],
266
269
  control: [{ type: ViewChild, args: ['control',] }]
267
270
  };
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9pbnB1dC1jdXJyZW5jeS8iLCJzb3VyY2VzIjpbInNyYy9saWIvaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBS2pCLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0MsTUFBTSxFQUFlLFVBQVUsRUFBK0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1SCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFzQixhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVE1RCxNQUFNLE9BQU8sZUFBZTtJQXVJMUIsWUFDVSxHQUFzQixFQUNXLFVBQThCO1FBRC9ELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ1csZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUF4SXpFLGdCQUFRLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQztRQU9sQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFNNUIsd0JBQWlCO1FBYWpCLHlCQUFZO1FBU0YsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTNDLGlCQUEyQixNQUFNLEVBQUM7UUFNbEMseUJBQWlCLElBQUksRUFBQztRQU10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S0FBSzt5QkFLTCxLQUFLO21DQUVMLEtBQUssU0FBQyxxQkFBcUI7bUJBSTNCLEtBQUs7bUJBRUwsS0FBSztvQkFTTCxLQUFLOzBCQUNMLEtBQUs7b0JBR0wsS0FBSzswQkFRTCxNQUFNO29CQUdOLEtBQUs7NEJBTUwsS0FBSztzQkFNTCxLQUFLO3dCQU1MLEtBQUs7cUJBTUwsS0FBSztxQkFNTCxLQUFLO3dCQU1MLEtBQUs7dUJBTUwsS0FBSztrQkFNTCxLQUFLO2tCQU1MLEtBQUs7dUJBT0wsS0FBSztzQkFNTCxLQUFLO3dCQUtMLEtBQUs7dUJBTUwsS0FBSzt1QkFRTCxZQUFZLFNBQUMsaUJBQWlCO3NCQUM5QixLQUFLO3VCQUNMLE1BQU07c0JBQ04sTUFBTTt5QkFDTixNQUFNO3NCQUVOLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkluaXQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEluamVjdCxcclxuICBPcHRpb25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBOZ0Zvcm0sIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzLCBBc3luY1ZhbGlkYXRvckZuLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeU1hc2tJbnB1dE1vZGUgfSBmcm9tICduZ3gtY3VycmVuY3knO1xyXG5pbXBvcnQgeyBGT1JNX0NPTkZJRywgSUZvcm1Db25maWd1cmF0aW9uLCBTZEZvcm1Db250cm9sIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgeyBTZFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1pbnB1dC1jdXJyZW5jeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZElucHV0Q3VycmVuY3kgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcclxuICBkaXNhYmxlRXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcbiAgQElucHV0KCdkaXNhYmxlRXJyb3JNZXNzYWdlJykgc2V0IF9kaXNhYmxlRXJyb3JNZXNzYWdlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmRpc2FibGVFcnJvck1lc3NhZ2UgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgI2Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBzZXQgZm9ybSh2YWw6IE5nRm9ybSB8IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmdGb3JtKSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbC5mb3JtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICAjbW9kZWw6IGFueTtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuI21vZGVsICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLiNtb2RlbCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAjYWxpZ246ICdsZWZ0JyB8ICdyaWdodCcgPSAnbGVmdCc7XHJcbiAgQElucHV0KCkgc2V0IGFsaWduKHZhbDogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICcnKSB7XHJcbiAgICB0aGlzLiNhbGlnbiA9IHZhbCB8fCAnbGVmdCc7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI2FsbG93TmVnYXRpdmUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNldCBhbGxvd05lZ2F0aXZlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLiNhbGxvd05lZ2F0aXZlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjZGVjaW1hbDogJy4nIHwgJywnID0gJywnO1xyXG4gIEBJbnB1dCgpIHNldCBkZWNpbWFsKHZhbDogJy4nIHwgJywnIHwgJycpIHtcclxuICAgIHRoaXMuI2RlY2ltYWwgPSB2YWwgfHwgJywnO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gICNwcmVjaXNpb246IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgc2V0IHByZWNpc2lvbih2YWw6IG51bWJlcikge1xyXG4gICAgdGhpcy4jcHJlY2lzaW9uID0gdmFsIHx8IDA7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI3ByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBwcmVmaXgodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuI3ByZWZpeCA9IHZhbDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjc3VmZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHN1ZmZpeCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jc3VmZml4ID0gdmFsO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gICN0aG91c2FuZHM6ICcuJyB8ICcsJyA9ICcuJztcclxuICBASW5wdXQoKSBzZXQgdGhvdXNhbmRzKHZhbDogJy4nIHwgJywnIHwgJycpIHtcclxuICAgIHRoaXMuI3Rob3VzYW5kcyA9IHZhbCB8fCAnLic7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI251bGxhYmxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNldCBudWxsYWJsZSh2YWw6IGJvb2xlYW4gfCBmYWxzZSkge1xyXG4gICAgdGhpcy4jbnVsbGFibGUgPSB2YWw7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI21pbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNldCBtaW4odmFsOiBudW1iZXIpIHtcclxuICAgIHRoaXMuI21pbiA9IHZhbDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjbWF4OiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2V0IG1heCh2YWw6IG51bWJlcikge1xyXG4gICAgdGhpcy4jbWF4ID0gdmFsO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIFZhbGlkYXRvclxyXG4gIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgcmVxdWlyZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuaXNSZXF1aXJlZCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gICNwYXR0ZXJuOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHBhdHRlcm4odmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuI3BhdHRlcm4gPSB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcbiAgI3ZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcclxuICBASW5wdXQoKSBzZXQgdmFsaWRhdG9yKHZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPikge1xyXG4gICAgdGhpcy4jdmFsaWRhdG9yID0gdmFsaWRhdG9yO1xyXG4gICAgdGhpcy4jdXBkYXRlVmFsaWRhdG9yKCk7XHJcbiAgfVxyXG5cclxuICAvLyBPcHRpb25hbFxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAQ29udGVudENoaWxkKFNkU3VmZml4RGlyZWN0aXZlKSBzZFN1ZmZpeDogU2RTdWZmaXhEaXJlY3RpdmU7XHJcbiAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nIHwgKChpbnB1dFZhbHVlOiBzdHJpbmcpID0+IHN0cmluZyk7XHJcbiAgQE91dHB1dCgpIHNkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNkRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkga2V5dXBFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udHJvbCcpIGNvbnRyb2w6IEVsZW1lbnRSZWY7XHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gICNzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgb3B0aW9ucyA9IHt9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChGT1JNX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmb3JtQ29uZmlnOiBJRm9ybUNvbmZpZ3VyYXRpb24pIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBlYXJhbmNlID0gdGhpcy5hcHBlYXJhbmNlIHx8IHRoaXMuZm9ybUNvbmZpZz8uYXBwZWFyYW5jZTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC5zZENoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI2dlbmVyYXRlT3B0aW9uID0gKCkgPT4ge1xyXG4gICAgdGhpcy5vcHRpb25zID0ge1xyXG4gICAgICBhbGlnbjogdGhpcy4jYWxpZ24gfHwgJycsXHJcbiAgICAgIGFsbG93TmVnYXRpdmU6IHRoaXMuI2FsbG93TmVnYXRpdmUsXHJcbiAgICAgIGRlY2ltYWw6IHRoaXMuI2RlY2ltYWwsXHJcbiAgICAgIHByZWNpc2lvbjogdGhpcy4jcHJlY2lzaW9uLFxyXG4gICAgICBwcmVmaXg6IHRoaXMuI3ByZWZpeCB8fCAnJyxcclxuICAgICAgc3VmZml4OiB0aGlzLiNzdWZmaXggfHwgJycsXHJcbiAgICAgIHRob3VzYW5kczogdGhpcy4jdGhvdXNhbmRzLFxyXG4gICAgICBudWxsYWJsZTogdGhpcy4jbnVsbGFibGUsXHJcbiAgICAgIG1pbjogdGhpcy4jbWluLFxyXG4gICAgICBtYXg6IHRoaXMuI21heCxcclxuICAgICAgaW5wdXRNb2RlOiBDdXJyZW5jeU1hc2tJbnB1dE1vZGUuTkFUVVJBTFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGhpcy4jb25DaGFuZ2UpKTtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LnJlbW92ZUNvbnRyb2wodGhpcy4jbmFtZSk7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHJlVmFsaWRhdGUgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gICN1cGRhdGVWYWxpZGF0b3IgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhckFzeW5jVmFsaWRhdG9ycygpO1xyXG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgY29uc3QgYXN5bmNWYWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgIGlmICh0aGlzLmlzUmVxdWlyZWQpIHtcclxuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuI3BhdHRlcm4pIHtcclxuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucGF0dGVybih0aGlzLiNwYXR0ZXJuKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy4jdmFsaWRhdG9yKSB7XHJcbiAgICAgIGFzeW5jVmFsaWRhdG9ycy5wdXNoKHRoaXMuI2N1c3RvbVZhbGlkYXRvcih0aGlzLiN2YWxpZGF0b3IpKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0QXN5bmNWYWxpZGF0b3JzKGFzeW5jVmFsaWRhdG9ycyk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gICNvbkNoYW5nZSA9IGFzeW5jICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy5zZENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uS2V5dXBFbnRlciA9ICgpID0+IHtcclxuICAgIHRoaXMua2V5dXBFbnRlci5lbWl0KHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyA9ICgpID0+IHtcclxuICAgIHRoaXMuc2RGb2N1cy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIgPSAoKSA9PiB7XHJcbiAgICBjb25zdCB2YWw6IHN0cmluZyA9ICh0aGlzLmZvcm1Db250cm9sLnZhbHVlID8/ICcnKS50b1N0cmluZygpO1xyXG4gICAgaWYgKHZhbC5sZW5ndGggPiB2YWwudHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbC50cmltKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI2N1c3RvbVZhbGlkYXRvciA9IChmdW5jOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+KTogQXN5bmNWYWxpZGF0b3JGbiA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKGM6IEFic3RyYWN0Q29udHJvbCk6IFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGw+ID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBjLnZhbHVlIHx8IG51bGw7XHJcbiAgICAgIGlmIChmdW5jICYmIHR5cGVvZiAoZnVuYykgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBmdW5jKHZhbHVlKTtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHJlc3VsdDtcclxuICAgICAgICAgIGlmIChtZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgY3VzdG9tVmFsaWRhdG9yOiBtZXNzYWdlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY3VzdG9tVmFsaWRhdG9yOiByZXN1bHRcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9pbnB1dC1jdXJyZW5jeS8iLCJzb3VyY2VzIjpbInNyYy9saWIvaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBS2pCLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdDLE1BQU0sRUFBZSxVQUFVLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUgsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBc0IsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFTNUQsTUFBTSxPQUFPLGVBQWU7SUF1STFCLFlBQ1UsR0FBc0IsRUFDVyxVQUE4QjtRQUQvRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNXLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBeEl6RSxnQkFBUSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUM7UUFPbEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBTTVCLHdCQUFpQjtRQWFqQix5QkFBWTtRQVNGLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyxpQkFBMkIsTUFBTSxFQUFDO1FBTWxDLHlCQUFpQixJ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QUFRLEVBQUUsbUJBQW1CO2dCQUM3QixncERBQThDO2dCQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQXhCQyxpQkFBaUI7NENBa0tkLE1BQU0sU0FBQyxXQUFXLGNBQUcsUUFBUTs7O21CQXZJL0IsS0FBSzt5QkFLTCxLQUFLO21DQUVMLEtBQUssU0FBQyxxQkFBcUI7bUJBSTNCLEtBQUs7bUJBRUwsS0FBSztvQkFTTCxLQUFLOzBCQUNMLEtBQUs7b0JBR0wsS0FBSzswQkFRTCxNQUFNO29CQUdOLEtBQUs7NEJBTUwsS0FBSztzQkFNTCxLQUFLO3dCQU1MLEtBQUs7cUJBTUwsS0FBSztxQkFNTCxLQUFLO3dCQU1MLEtBQUs7dUJBTUwsS0FBSztrQkFNTCxLQUFLO2tCQU1MLEtBQUs7dUJBT0wsS0FBSztzQkFNTCxLQUFLO3dCQUtMLEtBQUs7dUJBTUwsS0FBSzt1QkFRTCxZQUFZLFNBQUMsaUJBQWlCO3NCQUM5QixLQUFLO3VCQUNMLE1BQU07c0JBQ04sTUFBTTt5QkFDTixNQUFNO3NCQUVOLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkluaXQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEluamVjdCxcclxuICBPcHRpb25hbCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBOZ0Zvcm0sIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzLCBBc3luY1ZhbGlkYXRvckZuLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeU1hc2tJbnB1dE1vZGUgfSBmcm9tICduZ3gtY3VycmVuY3knO1xyXG5pbXBvcnQgeyBGT1JNX0NPTkZJRywgSUZvcm1Db25maWd1cmF0aW9uLCBTZEZvcm1Db250cm9sIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgeyBTZFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1pbnB1dC1jdXJyZW5jeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZElucHV0Q3VycmVuY3kgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcclxuICBkaXNhYmxlRXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcbiAgQElucHV0KCdkaXNhYmxlRXJyb3JNZXNzYWdlJykgc2V0IF9kaXNhYmxlRXJyb3JNZXNzYWdlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmRpc2FibGVFcnJvck1lc3NhZ2UgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgI2Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBzZXQgZm9ybSh2YWw6IE5nRm9ybSB8IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmdGb3JtKSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbC5mb3JtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICAjbW9kZWw6IGFueTtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuI21vZGVsICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLiNtb2RlbCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAjYWxpZ246ICdsZWZ0JyB8ICdyaWdodCcgPSAnbGVmdCc7XHJcbiAgQElucHV0KCkgc2V0IGFsaWduKHZhbDogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICcnKSB7XHJcbiAgICB0aGlzLiNhbGlnbiA9IHZhbCB8fCAnbGVmdCc7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI2FsbG93TmVnYXRpdmUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNldCBhbGxvd05lZ2F0aXZlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLiNhbGxvd05lZ2F0aXZlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjZGVjaW1hbDogJy4nIHwgJywnID0gJywnO1xyXG4gIEBJbnB1dCgpIHNldCBkZWNpbWFsKHZhbDogJy4nIHwgJywnIHwgJycpIHtcclxuICAgIHRoaXMuI2RlY2ltYWwgPSB2YWwgfHwgJywnO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gICNwcmVjaXNpb246IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgc2V0IHByZWNpc2lvbih2YWw6IG51bWJlcikge1xyXG4gICAgdGhpcy4jcHJlY2lzaW9uID0gdmFsIHx8IDA7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI3ByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBwcmVmaXgodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuI3ByZWZpeCA9IHZhbDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjc3VmZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHN1ZmZpeCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jc3VmZml4ID0gdmFsO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gICN0aG91c2FuZHM6ICcuJyB8ICcsJyA9ICcuJztcclxuICBASW5wdXQoKSBzZXQgdGhvdXNhbmRzKHZhbDogJy4nIHwgJywnIHwgJycpIHtcclxuICAgIHRoaXMuI3Rob3VzYW5kcyA9IHZhbCB8fCAnLic7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI251bGxhYmxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNldCBudWxsYWJsZSh2YWw6IGJvb2xlYW4gfCBmYWxzZSkge1xyXG4gICAgdGhpcy4jbnVsbGFibGUgPSB2YWw7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI21pbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNldCBtaW4odmFsOiBudW1iZXIpIHtcclxuICAgIHRoaXMuI21pbiA9IHZhbDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjbWF4OiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2V0IG1heCh2YWw6IG51bWJlcikge1xyXG4gICAgdGhpcy4jbWF4ID0gdmFsO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIFZhbGlkYXRvclxyXG4gIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgcmVxdWlyZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuaXNSZXF1aXJlZCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gICNwYXR0ZXJuOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHBhdHRlcm4odmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuI3BhdHRlcm4gPSB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcbiAgI3ZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcclxuICBASW5wdXQoKSBzZXQgdmFsaWRhdG9yKHZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPikge1xyXG4gICAgdGhpcy4jdmFsaWRhdG9yID0gdmFsaWRhdG9yO1xyXG4gICAgdGhpcy4jdXBkYXRlVmFsaWRhdG9yKCk7XHJcbiAgfVxyXG5cclxuICAvLyBPcHRpb25hbFxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAQ29udGVudENoaWxkKFNkU3VmZml4RGlyZWN0aXZlKSBzZFN1ZmZpeDogU2RTdWZmaXhEaXJlY3RpdmU7XHJcbiAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nIHwgKChpbnB1dFZhbHVlOiBzdHJpbmcpID0+IHN0cmluZyk7XHJcbiAgQE91dHB1dCgpIHNkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNkRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkga2V5dXBFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udHJvbCcpIGNvbnRyb2w6IEVsZW1lbnRSZWY7XHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gICNzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgb3B0aW9ucyA9IHt9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChGT1JNX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmb3JtQ29uZmlnOiBJRm9ybUNvbmZpZ3VyYXRpb24pIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBlYXJhbmNlID0gdGhpcy5hcHBlYXJhbmNlIHx8IHRoaXMuZm9ybUNvbmZpZz8uYXBwZWFyYW5jZTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC5zZENoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI2dlbmVyYXRlT3B0aW9uID0gKCkgPT4ge1xyXG4gICAgdGhpcy5vcHRpb25zID0ge1xyXG4gICAgICBhbGlnbjogdGhpcy4jYWxpZ24gfHwgJycsXHJcbiAgICAgIGFsbG93TmVnYXRpdmU6IHRoaXMuI2FsbG93TmVnYXRpdmUsXHJcbiAgICAgIGRlY2ltYWw6IHRoaXMuI2RlY2ltYWwsXHJcbiAgICAgIHByZWNpc2lvbjogdGhpcy4jcHJlY2lzaW9uLFxyXG4gICAgICBwcmVmaXg6IHRoaXMuI3ByZWZpeCB8fCAnJyxcclxuICAgICAgc3VmZml4OiB0aGlzLiNzdWZmaXggfHwgJycsXHJcbiAgICAgIHRob3VzYW5kczogdGhpcy4jdGhvdXNhbmRzLFxyXG4gICAgICBudWxsYWJsZTogdGhpcy4jbnVsbGFibGUsXHJcbiAgICAgIG1pbjogdGhpcy4jbWluLFxyXG4gICAgICBtYXg6IHRoaXMuI21heCxcclxuICAgICAgaW5wdXRNb2RlOiBDdXJyZW5jeU1hc2tJbnB1dE1vZGUuTkFUVVJBTFxyXG4gICAgfVxyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh0aGlzLiNvbkNoYW5nZSkpO1xyXG4gICAgdGhpcy4jZm9ybT8uYWRkQ29udHJvbCh0aGlzLiNuYW1lLCB0aGlzLmZvcm1Db250cm9sKTtcclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy4jZm9ybT8ucmVtb3ZlQ29udHJvbCh0aGlzLiNuYW1lKTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI3VwZGF0ZVZhbGlkYXRvciA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLmNsZWFyQXN5bmNWYWxpZGF0b3JzKCk7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBjb25zdCBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuaXNSZXF1aXJlZCkge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy4jcGF0dGVybikge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMuI3BhdHRlcm4pKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLiN2YWxpZGF0b3IpIHtcclxuICAgICAgYXN5bmNWYWxpZGF0b3JzLnB1c2godGhpcy4jY3VzdG9tVmFsaWRhdG9yKHRoaXMuI3ZhbGlkYXRvcikpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI29uQ2hhbmdlID0gYXN5bmMgKHZhbHVlOiBhbnkpID0+IHtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25LZXl1cEVudGVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5rZXl1cEVudGVyLmVtaXQodGhpcy5mb3JtQ29udHJvbC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzID0gKCkgPT4ge1xyXG4gICAgdGhpcy5zZEZvY3VzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1ciA9ICgpID0+IHtcclxuICAgIGNvbnN0IHZhbDogc3RyaW5nID0gKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgPz8gJycpLnRvU3RyaW5nKCk7XHJcbiAgICBpZiAodmFsLmxlbmd0aCA+IHZhbC50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsLnRyaW0oKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gICNjdXN0b21WYWxpZGF0b3IgPSAoZnVuYzogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPik6IEFzeW5jVmFsaWRhdG9yRm4gPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jIChjOiBBYnN0cmFjdENvbnRyb2wpOiBQcm9taXNlPHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsPiA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gYy52YWx1ZSB8fCBudWxsO1xyXG4gICAgICBpZiAoZnVuYyAmJiB0eXBlb2YgKGZ1bmMpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZnVuYyh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCByZXN1bHQ7XHJcbiAgICAgICAgICBpZiAobWVzc2FnZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGN1c3RvbVZhbGlkYXRvcjogbWVzc2FnZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGN1c3RvbVZhbGlkYXRvcjogcmVzdWx0XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, Output, EventEmitter, ChangeDetectorRef, ViewChild, Optional, Inject, Input, } from "@angular/core";
1
+ import { Component, Output, EventEmitter, ChangeDetectorRef, ViewChild, Optional, Inject, Input, ChangeDetectionStrategy, } from "@angular/core";
2
2
  import { MatSelect } from "@angular/material/select";
3
3
  import { FORM_CONFIG } from "@sd-angular/core/common";
4
4
  import { SdSelect } from "@sd-angular/core/select";
@@ -40,6 +40,7 @@ SdSelectEditor.decorators = [
40
40
  { type: Component, args: [{
41
41
  selector: "sd-select-editor",
42
42
  template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\"\r\n *ngIf=\"isRequired\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n[class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n<ng-container *ngIf=\"sdView?.templateRef && !isFocused; else default\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value, selectedItems: selectedItems | async }\">\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #default>\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{label}}</mat-label>\r\n <mat-select #select [formControl]=\"formControl\" [placeholder]=\"placeholder || (appearance ? label : '')\" multiple\r\n (selectionChange)=\"onSelectionChange($event)\" disableOptionCentering=\"true\" panelClass=\"sd-select-panel\"\r\n [ngClass]=\"{'sd-selected': !isRequired && (multiple ? formControl?.value?.length : formControl?.value)}\"\r\n [required]=\"isRequired\" (openedChange)=\"onOpenChange($event)\" [attr.data-qclabel]=\"label\"\r\n [attr.data-qcid]=\"qcId\" *ngIf=\"multiple\">\r\n <mat-select-trigger>\r\n {{display | async }}\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"filtered\" class=\"sd-filtered-input\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <mat-form-field class=\"sd-md\" appearance=\"outline\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder=\"{{'Search' | sdTranslate}}\" matInput autocomplete=\"off\"\r\n (keydown)=\"$event.stopPropagation()\" (keyup)=\"searchTerm$.next($event.target.value)\">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf=\"multiple && selectAll\">\r\n <mat-checkbox class=\"mat-option\" [(ngModel)]=\"allSelected\" [ngModelOptions]=\"{standalone: true}\"\r\n (change)=\"onSelectAll()\">\r\n T\u1EA5t c\u1EA3</mat-checkbox>\r\n </ng-container>\r\n <ng-container *ngIf=\"valueField && displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async; trackBy: trackByKey\" [value]=\"item[valueField]\">\r\n <div matTooltipPosition=\"above\" [matTooltip]=\"item[displayField]\" class=\"d-flex justify-content-between\">\r\n <ng-container *ngIf=\"selectDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"selectDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!selectDisplayDef?.templateRef\">\r\n {{ item[displayField] }}\r\n </ng-container>\r\n <div>\r\n <mat-icon *ngIf=\"editable && sdEdit?.observers?.length\" class=\"mr-1 c-fa-icon\" (click)=\"onEdit($event, item)\">\r\n edit</mat-icon>\r\n <mat-icon *ngIf=\"deletable && sdDelete?.observers?.length\" class=\"mr-0 c-fa-icon\" (click)=\"onDelete($event, item)\">\r\n delete</mat-icon>\r\n </div>\r\n </div>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"!valueField && !displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async; trackBy: trackByKey\" [value]=\"item\">\r\n <div matTooltipPosition=\"above\" [matTooltip]=\"item\" class=\"d-flex justify-content-between\">\r\n <ng-container *ngIf=\"selectDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"selectDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!selectDisplayDef?.templateRef\">\r\n {{ item }}\r\n </ng-container>\r\n <div>\r\n <mat-icon *ngIf=\"editable && sdEdit?.observers?.length\" class=\"mr-1 c-fa-icon\" (click)=\"onEdit($event, item)\">\r\n edit</mat-icon>\r\n <mat-icon *ngIf=\"deletable && sdDelete?.observers?.length\" class=\"mr-0 c-fa-icon\" (click)=\"onDelete($event, item)\">\r\n delete</mat-icon>\r\n </div>\r\n </div>\r\n </mat-option>\r\n </ng-container>\r\n <mat-option class=\"sd__option--add\" *ngIf=\"addable && sdAdd?.observers?.length\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <div (click)=\"onAdd($event)\">\r\n <mat-icon class=\"mr-1\">add</mat-icon>\r\n {{'New item' | sdTranslate}}\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n <mat-select #select [formControl]=\"formControl\" [placeholder]=\"placeholder || (appearance ? label : '')\"\r\n (selectionChange)=\"onSelectionChange($event)\" disableOptionCentering=\"true\" panelClass=\"sd-select-panel\"\r\n [ngClass]=\"{'sd-selected': !isRequired && formControl?.value}\" [required]=\"isRequired\"\r\n (openedChange)=\"onOpenChange($event)\" [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\" *ngIf=\"!multiple\">\r\n <mat-select-trigger>\r\n {{display | async }}\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"filtered\" class=\"sd-filtered-input\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <mat-form-field class=\"sd-md\" appearance=\"outline\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder=\"{{'Search' | sdTranslate}}\" matInput autocomplete=\"off\"\r\n (keydown)=\"$event.stopPropagation()\" (keyup)=\"searchTerm$.next($event.target.value)\">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf=\"valueField && displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async; trackBy: trackByKey\" [value]=\"item[valueField]\">\r\n <div matTooltipPosition=\"above\" [matTooltip]=\"item[displayField]\" class=\"d-flex justify-content-between\">\r\n <ng-container *ngIf=\"selectDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"selectDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!selectDisplayDef?.templateRef\">\r\n {{ item[displayField] }}\r\n </ng-container>\r\n <div>\r\n <mat-icon *ngIf=\"editable && sdEdit?.observers?.length\" class=\"mr-1 c-fa-icon\" (click)=\"onEdit($event, item)\">\r\n edit</mat-icon>\r\n <mat-icon *ngIf=\"deletable && sdDelete?.observers?.length\" class=\"mr-0 c-fa-icon\" (click)=\"onDelete($event, item)\">\r\n delete</mat-icon>\r\n </div>\r\n </div>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"!valueField && !displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async; trackBy: trackByKey\" [value]=\"item\">\r\n <div matTooltipPosition=\"above\" [matTooltip]=\"item\" class=\"d-flex justify-content-between\">\r\n <ng-container *ngIf=\"selectDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"selectDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!selectDisplayDef?.templateRef\">\r\n {{ item }}\r\n </ng-container>\r\n <div>\r\n <mat-icon *ngIf=\"editable && sdEdit?.observers?.length\" class=\"mr-1 c-fa-icon\" (click)=\"onEdit($event, item)\">\r\n edit</mat-icon>\r\n <mat-icon *ngIf=\"deletable && sdDelete?.observers?.length\" class=\"mr-0 c-fa-icon\" (click)=\"onDelete($event, item)\">\r\n delete</mat-icon>\r\n </div>\r\n </div>\r\n </mat-option>\r\n </ng-container>\r\n <mat-option class=\"sd__option--add\" *ngIf=\"addable && sdAdd?.observers?.length\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <div (click)=\"onAdd($event)\">\r\n <mat-icon class=\"mr-1\">add</mat-icon>\r\n {{'New item' | sdTranslate}}\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n <mat-icon\r\n *ngIf=\"(multiple ? formControl?.value?.length : formControl?.value) && !isRequired && !formControl.disabled\"\r\n class=\"pointer sd-suffix-icon\" (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-error *ngIf=\"formControl.errors?.required && !disableErrorMessage\">\r\n {{'This field is required' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && !disableErrorMessage\">\r\n {{formControl?.errors?.customValidator}}\r\n </mat-error>\r\n </mat-form-field>\r\n</ng-template>\r\n</div>",
43
+ changeDetection: ChangeDetectionStrategy.OnPush,
43
44
  styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:none}:host ::ng-deep .sd-selected .mat-select-arrow{border:none}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field mat-select.mat-select-disabled .mat-select-value{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}.sd-view:not(.c-focused):not(.c-disabled):hover{background-color:#ebecf0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input{background-color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline{width:100%}::ng-deep .sd-select-panel .mat-option.sd-filtered-input mat-pseudo-checkbox{display:none}::ng-deep .mat-select-panel .mat-option.sd-filtered-input{height:auto}::ng-deep .sd-select-panel .mat-option.sd-filtered-input input{color:#000}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field-prefix .mat-icon{margin-right:0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper{padding:10px 0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-outline{background-color:rgba(0,0,0,.04)}.sd__option--add{background-color:#fff;bottom:0;color:rgba(0,0,0,.87);cursor:pointer;position:-webkit-sticky;position:sticky;z-index:10}"]
44
45
  },] }
45
46
  ];
@@ -56,4 +57,4 @@ SdSelectEditor.propDecorators = {
56
57
  sdEdit: [{ type: Output }],
57
58
  sdDelete: [{ type: Output }]
58
59
  };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NlbGVjdC1lZGl0b3IvIiwic291cmNlcyI6WyJzcmMvbGliL3NlbGVjdC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFHakIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsV0FBVyxFQUVaLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT25ELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQVcxQyxZQUNVLEtBQXdCLEVBR3hCLGlCQUFxQztRQUU3QyxLQUFLLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFMeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFHeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFvQjtRQVp0QyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUV6QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQVc3QyxVQUFLLEdBQUcsQ0FBQyxNQUFhLEVBQUUsRUFBRTs7WUFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxjQUFjLEdBQUc7WUFDekIsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxLQUFLLEdBQUc7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUM7UUFFRixXQUFNLEdBQUcsQ0FBQyxNQUFhLEVBQUUsSUFBUyxFQUFFLEVBQUU7O1lBQ3BDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsY0FBYyxHQUFHO1lBQ3pCLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsS0FBSyxHQUFHO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUVGLGFBQVEsR0FBRyxDQUFDLE1BQWEsRUFBRSxJQUFTLEVBQUUsRUFBRTs7WUFDdEMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxjQUFjLEdBQUc7WUFDekIsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxLQUFLLEdBQUc7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDO0lBckJGLENBQUM7OztZQXZCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsaThSQUE2Qzs7YUFFOUM7OztZQW5CQyxpQkFBaUI7NENBaUNkLE1BQU0sU0FBQyxXQUFXLGNBQ2xCLFFBQVE7Ozt3QkFiVixTQUFTLFNBQUMsU0FBUztzQkFFbkIsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7b0JBRUwsTUFBTTtxQkFDTixNQUFNO3VCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIE9wdGlvbmFsLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgRk9STV9DT05GSUcsXHJcbiAgSUZvcm1Db25maWd1cmF0aW9uXHJcbn0gZnJvbSBcIkBzZC1hbmd1bGFyL2NvcmUvY29tbW9uXCI7XHJcbmltcG9ydCB7IFNkU2VsZWN0IH0gZnJvbSBcIkBzZC1hbmd1bGFyL2NvcmUvc2VsZWN0XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzZC1zZWxlY3QtZWRpdG9yXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zZWxlY3QtZWRpdG9yLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3NlbGVjdC1lZGl0b3IuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFNlbGVjdEVkaXRvciBleHRlbmRzIFNkU2VsZWN0IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0KSBtYXRTZWxlY3Q6IE1hdFNlbGVjdDtcclxuXHJcbiAgQElucHV0KCkgYWRkYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRlbGV0YWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBzZEFkZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2RFZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNkRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KEZPUk1fQ09ORklHKVxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIHByaXZhdGUgZm9ybUNvbmZpZ3VyYXRpb246IElGb3JtQ29uZmlndXJhdGlvblxyXG4gICkge1xyXG4gICAgc3VwZXIoY2RSZWYsIGZvcm1Db25maWd1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIG9uQWRkID0gKCRldmVudDogRXZlbnQpID0+IHtcclxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICRldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMubWF0U2VsZWN0Py5jbG9zZSgpO1xyXG4gICAgdGhpcy5zZEFkZC5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgb25FZGl0ID0gKCRldmVudDogRXZlbnQsIGl0ZW06IGFueSkgPT4ge1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgJGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5tYXRTZWxlY3Q/LmNsb3NlKCk7XHJcbiAgICB0aGlzLnNkRWRpdC5lbWl0KGl0ZW0pO1xyXG4gIH07XHJcblxyXG4gIG9uRGVsZXRlID0gKCRldmVudDogRXZlbnQsIGl0ZW06IGFueSkgPT4ge1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgJGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5tYXRTZWxlY3Q/LmNsb3NlKCk7XHJcbiAgICB0aGlzLnNkRGVsZXRlLmVtaXQoaXRlbSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NlbGVjdC1lZGl0b3IvIiwic291cmNlcyI6WyJzcmMvbGliL3NlbGVjdC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFHakIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUNMLFdBQVcsRUFFWixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVFuRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFXMUMsWUFDVSxLQUF3QixFQUd4QixpQkFBcUM7UUFFN0MsS0FBSyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBTHhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBR3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFadEMsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFekIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFXN0MsVUFBSyxHQUFHLENBQUMsTUFBYSxFQUFFLEVBQUU7O1lBQ3hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsY0FBYyxHQUFHO1lBQ3pCLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsS0FBSyxHQUFHO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBRUYsV0FBTSxHQUFHLENBQUMsTUFBYSxFQUFFLElBQVMsRUFBRSxFQUFFOztZQUNwQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGNBQWMsR0FBRztZQUN6QixNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLEtBQUssR0FBRztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUM7UUFFRixhQUFRLEdBQUcsQ0FBQyxNQUFhLEVBQUUsSUFBUyxFQUFFLEVBQUU7O1lBQ3RDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsY0FBYyxHQUFHO1lBQ3pCLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsS0FBSyxHQUFHO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztJQXJCRixDQUFDOzs7WUF4QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLGk4UkFBNkM7Z0JBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBckJDLGlCQUFpQjs0Q0FtQ2QsTUFBTSxTQUFDLFdBQVcsY0FDbEIsUUFBUTs7O3dCQWJWLFNBQVMsU0FBQyxTQUFTO3NCQUVuQixLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSztvQkFFTCxNQUFNO3FCQUNOLE1BQU07dUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcclxuaW1wb3J0IHtcclxuICBGT1JNX0NPTkZJRyxcclxuICBJRm9ybUNvbmZpZ3VyYXRpb25cclxufSBmcm9tIFwiQHNkLWFuZ3VsYXIvY29yZS9jb21tb25cIjtcclxuaW1wb3J0IHsgU2RTZWxlY3QgfSBmcm9tIFwiQHNkLWFuZ3VsYXIvY29yZS9zZWxlY3RcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNkLXNlbGVjdC1lZGl0b3JcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3NlbGVjdC1lZGl0b3IuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc2VsZWN0LWVkaXRvci5jb21wb25lbnQuc2Nzc1wiXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RTZWxlY3RFZGl0b3IgZXh0ZW5kcyBTZFNlbGVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKE1hdFNlbGVjdCkgbWF0U2VsZWN0OiBNYXRTZWxlY3Q7XHJcblxyXG4gIEBJbnB1dCgpIGFkZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkZWxldGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgc2RBZGQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNkRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBzZERlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChGT1JNX0NPTkZJRylcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBwcml2YXRlIGZvcm1Db25maWd1cmF0aW9uOiBJRm9ybUNvbmZpZ3VyYXRpb25cclxuICApIHtcclxuICAgIHN1cGVyKGNkUmVmLCBmb3JtQ29uZmlndXJhdGlvbik7XHJcbiAgfVxyXG5cclxuICBvbkFkZCA9ICgkZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAkZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLm1hdFNlbGVjdD8uY2xvc2UoKTtcclxuICAgIHRoaXMuc2RBZGQuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gIG9uRWRpdCA9ICgkZXZlbnQ6IEV2ZW50LCBpdGVtOiBhbnkpID0+IHtcclxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICRldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMubWF0U2VsZWN0Py5jbG9zZSgpO1xyXG4gICAgdGhpcy5zZEVkaXQuZW1pdChpdGVtKTtcclxuICB9O1xyXG5cclxuICBvbkRlbGV0ZSA9ICgkZXZlbnQ6IEV2ZW50LCBpdGVtOiBhbnkpID0+IHtcclxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICRldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMubWF0U2VsZWN0Py5jbG9zZSgpO1xyXG4gICAgdGhpcy5zZERlbGV0ZS5lbWl0KGl0ZW0pO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -1,6 +1,6 @@
1
1
  var _name, _form, _subscription, _onChange;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Component, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
3
+ import { Component, Input, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { FormControl, NgForm } from '@angular/forms';
5
5
  import { Subscription } from 'rxjs';
6
6
  import * as uuid from 'uuid';
@@ -64,6 +64,7 @@ SdSwitch.decorators = [
64
64
  { type: Component, args: [{
65
65
  selector: 'sd-switch',
66
66
  template: "<mat-slide-toggle [formControl]=\"formControl\" [color]=\"color\"><span\r\n class=\"c-label\">{{label}}</span></mat-slide-toggle>",
67
+ changeDetection: ChangeDetectionStrategy.OnPush,
67
68
  styles: [""]
68
69
  },] }
69
70
  ];
@@ -80,4 +81,4 @@ SdSwitch.propDecorators = {
80
81
  modelChange: [{ type: Output }],
81
82
  sdChange: [{ type: Output }]
82
83
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvc3dpdGNoLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zd2l0Y2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFPN0IsTUFBTSxPQUFPLFFBQVE7SUFvQ25CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkMxQyxnQkFBUSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUM7UUFFbEIsd0JBQWlCO1FBV1IsVUFBSyxHQUF1QixTQUFTLENBQUM7UUFrQnJDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsd0JBQWdCLElBQUksWUFBWSxFQUFFLEVBQUM7UUFpQm5DLG9CQUFZLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFBO0lBbEJELENBQUM7SUFqQ0QsSUFBYSxJQUFJLENBQUMsR0FBdUI7UUFDdkMsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7Z0JBQ3pCLHVCQUFBLElBQUksU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLHVCQUFBLElBQUksU0FBUyxHQUFHLEVBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFHRCxJQUFhLFFBQVEsQ0FBQyxHQUFpQjtRQUNyQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO1FBQzFCLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFhLEtBQUssQ0FBQyxLQUFVO1FBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDL0IsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBU0QsUUFBUTtJQUNSLENBQUM7SUFDRCxlQUFlOztRQUNiLDRDQUFtQixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyx5Q0FBZ0IsQ0FBQyxDQUFDO1FBQ2hGLG1GQUFZLFVBQVUsc0NBQWEsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXOztRQUNULG1GQUFZLGFBQWEsc0NBQWE7UUFDdEMsNENBQW1CLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7WUF2REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixnSkFBc0M7O2FBRXZDOzs7WUFUZ0QsaUJBQWlCOzs7bUJBWS9ELEtBQUs7bUJBRUwsS0FBSztvQkFTTCxLQUFLO29CQUNMLEtBQUs7dUJBQ0wsS0FBSztvQkFTTCxLQUFLOzBCQVFMLE1BQU07dUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1zd2l0Y2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFN3aXRjaCB7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgI2Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBzZXQgZm9ybSh2YWw6IE5nRm9ybSB8IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmdGb3JtKSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbC5mb3JtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBjb2xvcjogJ3ByaW1hcnknIHwgJ3dhcm4nID0gJ3ByaW1hcnknO1xyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IG1vZGVsKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmZvcm1Db250cm9sLnZhbHVlICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlLCB7XHJcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAjc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRoaXMuI29uQ2hhbmdlKSk7XHJcbiAgICB0aGlzLiNmb3JtPy5hZGRDb250cm9sKHRoaXMuI25hbWUsIHRoaXMuZm9ybUNvbnRyb2wpO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5yZW1vdmVDb250cm9sKHRoaXMuI25hbWUpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAjb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIHRoaXMuc2RDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvc3dpdGNoLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zd2l0Y2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFRN0IsTUFBTSxPQUFPLFFBQVE7SUFvQ25CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkMxQyxnQkFBUSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUM7UUFFbEIsd0JBQWlCO1FBV1IsVUFBSyxHQUF1QixTQUFTLENBQUM7UUFrQnJDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsd0JBQWdCLElBQUksWUFBWSxFQUFFLEVBQUM7UUFpQm5DLG9CQUFZLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFBO0lBbEJELENBQUM7SUFqQ0QsSUFBYSxJQUFJLENBQUMsR0FBdUI7UUFDdkMsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7Z0JBQ3pCLHVCQUFBLElBQUksU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLHVCQUFBLElBQUksU0FBUyxHQUFHLEVBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFHRCxJQUFhLFFBQVEsQ0FBQyxHQUFpQjtRQUNyQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO1FBQzFCLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFhLEtBQUssQ0FBQyxLQUFVO1FBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDL0IsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBU0QsUUFBUTtJQUNSLENBQUM7SUFDRCxlQUFlOztRQUNiLDRDQUFtQixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyx5Q0FBZ0IsQ0FBQyxDQUFDO1FBQ2hGLG1GQUFZLFVBQVUsc0NBQWEsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXOztRQUNULG1GQUFZLGFBQWEsc0NBQWE7UUFDdEMsNENBQW1CLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7WUF4REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixnSkFBc0M7Z0JBRXRDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBVmdELGlCQUFpQjs7O21CQWEvRCxLQUFLO21CQUVMLEtBQUs7b0JBU0wsS0FBSztvQkFDTCxLQUFLO3VCQUNMLEtBQUs7b0JBU0wsS0FBSzswQkFRTCxNQUFNO3VCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLXN3aXRjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3dpdGNoLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU3dpdGNoIHtcclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ2xnJztcclxuICAjZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbDogTmdGb3JtIHwgRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsLmZvcm07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiAncHJpbWFyeScgfCAnd2FybicgPSAncHJpbWFyeSc7XHJcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB2YWwgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUsIHtcclxuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gICNzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGhpcy4jb25DaGFuZ2UpKTtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LnJlbW92ZUNvbnRyb2wodGhpcy4jbmFtZSk7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gICNvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy5zZENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19