@eo-sdk/client 10.6.0-rc.2 → 10.6.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/app/eo-client/dashboard/dashboard.component.d.ts +5 -3
  2. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  3. package/app/eo-client/login/login.component.d.ts +2 -4
  4. package/app/eo-client/login/login.component.d.ts.map +1 -1
  5. package/app/eo-client/settings/settings.component.d.ts +2 -4
  6. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  7. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +1 -0
  8. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
  9. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +10 -5
  10. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
  11. package/app/eo-framework/form-elements/date/date.component.d.ts +2 -1
  12. package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
  13. package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts +1 -0
  14. package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts.map +1 -1
  15. package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
  16. package/app/eo-framework/form-elements/string/string.component.d.ts +2 -3
  17. package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
  18. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +2 -1
  19. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  20. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  21. package/app/eo-framework/object-details/object-details.component.d.ts +5 -8
  22. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  23. package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
  24. package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
  25. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -1
  26. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  27. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +3 -3
  28. package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
  29. package/app/eo-framework/plugins/plugin.component.d.ts +7 -7
  30. package/app/eo-framework/plugins/plugin.component.d.ts.map +1 -1
  31. package/app/eo-framework/plugins/plugins.module.d.ts +1 -1
  32. package/app/eo-framework/process/details/process-details.component.d.ts +2 -1
  33. package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
  34. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +2 -1
  35. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
  36. package/app/eo-framework-core/api/plugins.service.d.ts +5 -0
  37. package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
  38. package/assets/_default/i18n/de.json +2 -4
  39. package/assets/_default/i18n/en.json +8 -10
  40. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  41. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +17 -7
  42. package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +3 -3
  43. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +5 -5
  44. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +5 -5
  45. package/esm2020/app/eo-client/login/login.component.mjs +7 -11
  46. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +5 -5
  47. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +7 -7
  48. package/esm2020/app/eo-client/process-state/process-state.component.mjs +5 -5
  49. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +5 -5
  50. package/esm2020/app/eo-client/result-state/result-state.component.mjs +5 -5
  51. package/esm2020/app/eo-client/settings/settings.component.mjs +6 -10
  52. package/esm2020/app/eo-client/version-state/version-state.component.mjs +5 -5
  53. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +10 -4
  54. package/esm2020/app/eo-framework/actions/actions/download-action/download-action.mjs +2 -2
  55. package/esm2020/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -5
  56. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +44 -19
  57. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +7 -4
  58. package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +1 -1
  59. package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +10 -3
  60. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +2 -1
  61. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +4 -5
  62. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +3 -3
  63. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +10 -13
  64. package/esm2020/app/eo-framework/media/media.component.mjs +2 -5
  65. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +38 -34
  66. package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
  67. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +1 -1
  68. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +11 -21
  69. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +14 -22
  70. package/esm2020/app/eo-framework/plugins/plugin.component.mjs +19 -27
  71. package/esm2020/app/eo-framework/plugins/plugins.module.mjs +6 -6
  72. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +10 -13
  73. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +7 -7
  74. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +2 -2
  75. package/esm2020/app/eo-framework-core/api/plugins.service.mjs +6 -3
  76. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +21 -169
  77. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +3 -2
  78. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +4 -4
  79. package/esm2020/projects/eo-sdk/core/public_api.mjs +1 -3
  80. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +21 -192
  81. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  82. package/fesm2015/eo-sdk-client.mjs +275 -259
  83. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  84. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +21 -192
  85. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  86. package/fesm2020/eo-sdk-client.mjs +271 -258
  87. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  88. package/package.json +4 -4
  89. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +1 -23
  90. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +1 -1
  91. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +1 -0
  92. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
  93. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +1 -1
  94. package/projects/eo-sdk/core/public_api.d.ts +0 -2
  95. package/projects/eo-sdk/core/public_api.d.ts.map +1 -1
  96. package/scss/_main.scss +2 -1
  97. package/styles.css +2 -1
  98. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.cloud.interface.mjs +0 -2
  99. package/esm2020/projects/eo-sdk/core/lib/service/environment/environment.service.mjs +0 -28
  100. package/projects/eo-sdk/core/lib/service/auth/auth.cloud.interface.d.ts +0 -12
  101. package/projects/eo-sdk/core/lib/service/auth/auth.cloud.interface.d.ts.map +0 -1
  102. package/projects/eo-sdk/core/lib/service/environment/environment.service.d.ts +0 -14
  103. package/projects/eo-sdk/core/lib/service/environment/environment.service.d.ts.map +0 -1
@@ -148,14 +148,14 @@ let EoDialogComponent = class EoDialogComponent {
148
148
  }
149
149
  };
150
150
  EoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: EoDialogComponent, deps: [{ token: i1.EventService }, { token: i2.PendingChangesService }, { token: i0.Renderer2 }, { token: i3.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
151
- EoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: EoDialogComponent, selector: "eo-dialog", inputs: { hasPreviewFile: "hasPreviewFile", title: "title", subtitle: "subtitle", styleClass: "styleClass", dirtyCheck: "dirtyCheck", minWidth: "minWidth", minHeight: "minHeight", height: "height", width: "width", focusOnShow: "focusOnShow", align: "align", isFormTable: "isFormTable", showPreview: "showPreview", visible: "visible" }, outputs: { onTogglePreview: "onTogglePreview", visibleChange: "visibleChange", hide: "hide", show: "show" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)", "document:mousedown": "onMousedown($event.target)" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true }], ngImport: i0, template: "<ng-template #dialogContent>\n <div class=\"eo-dialog\" [ngClass]=\"styleClass || ''\" eoRtlAware=\"dir\">\n <header class=\"eo-dialog-header\" [ngClass]=\"styleClass ? styleClass + '--header ' : ''\">\n <h5 class=\"headline\">{{title}}</h5>\n <h6 *ngIf=\"subtitle\" class=\"subtitle\">{{subtitle}}</h6>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"closeDialog()\"\n class=\"button white eo-dialog-close\"></eo-icon>\n <ng-container *ngIf=\"isFormTable && hasPreviewFile\">\n <button *ngIf=\"showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_close.svg'\">\n </eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.hide\n </span>\n </div>\n </button>\n <button *ngIf=\"!showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_show.svg'\"></eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.show\n </span>\n </div>\n </button>\n </ng-container>\n </header>\n <div class=\"eo-dialog-content\" [ngClass]=\"styleClass ? styleClass + '--content ' : ''\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eo-dialog{background-color:var(--panel-background);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;max-height:100%;max-width:100%;animation:none}.eo-dialog-close{position:absolute;right:5px;top:5px;z-index:2}.eo-dialog-preview-toggle{position:absolute;right:5px;top:50px;z-index:2}.eo-dialog-header{background-color:var(--color-accent);color:var(--color-white);padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2.5) calc(var(--app-pane-padding) * 2) var(--app-pane-padding);font-weight:var(--font-weight-light);font-size:var(--font-headline);flex:0 0 auto}.eo-dialog-header .headline{font-size:24px;margin:0 25px 0 0;font-weight:400}.eo-dialog-header .subtitle{font-size:15px;margin:0;font-weight:400}.eo-dialog-header .button-preview-toggle{position:absolute;right:25px;top:30px;background-color:rgba(var(--color-white-rgb),.9);font-weight:700}.eo-dialog-header .button-preview-toggle:hover{background-color:rgba(var(--color-white-rgb),.6)!important}.eo-dialog-header .button-preview-toggle>div{display:flex;flex-flow:row;align-items:center}.eo-dialog-header .button-preview-toggle>div .title-preview-toggle{margin-inline:4px}.eo-dialog-content{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:auto;height:100%;max-height:520px}.eo-dialog-content>eo-tree{margin:var(--app-pane-padding)}.eo-dialog-content .empty{padding:var(--app-pane-padding);color:var(--text-color-caption);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;justify-content:center}.eo-dialog-content .action-buttons{justify-content:flex-end;padding-top:32px}.eo-dialog-content button:not(:last-child){margin-right:5px}.object-form-table-dialog{background-color:var(--panel-background-grey)}.object-form-table-dialog .body{height:100%;padding:var(--app-pane-padding);box-sizing:border-box}.object-form-table-dialog .body yvc-split-view{height:100%}.object-form-table-dialog .edit-body{display:flex;height:100%}.object-form-table-dialog .table-body{width:100%;height:100%;background-color:var(--panel-background-grey);display:flex}.object-form-table-dialog eo-row-edit{background-color:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.object-form-table-dialog eo-row-edit .row-edit{height:100%;display:flex;flex-direction:column}.object-form-table-dialog eo-row-edit .row-edit .edit-header{display:flex;justify-content:space-between}.object-form-table-dialog eo-row-edit .row-edit .edit-header .new-indicator{margin:8px 16px 0;color:var(--text-color-caption);font-size:var(--font-title);width:-moz-fit-content;width:fit-content}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon{margin:8px 8px 0;color:var(--text-color-caption)}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon:hover{background:rgba(var(--color-black-rgb),.1)}.object-form-table-dialog eo-row-edit .row-edit .form{height:100%;overflow:auto}.object-form-table-dialog eo-row-edit .row-edit .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;justify-content:flex-end;padding-right:var(--app-pane-padding);min-height:5em;align-items:center;border-top:1px solid var(--panel-header-border-bottom-color)}.object-form-table-dialog eo-row-edit .row-edit .actions button{height:3em;margin:0 calc(var(--app-pane-padding) / 8);padding:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions eo-checkbox{margin:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions .add-label{font-size:var(--font-body);color:var(--text-color-caption);margin-right:var(--app-pane-padding)}.object-form-table-dialog .object-form-table{width:100%;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;background-color:#fff}.object-form-table-dialog .object-form-table .grid-body{width:100%;height:100%;position:relative}.object-form-table-dialog .object-form-table .grid-body .ag-theme-balham .ag-header{background-color:unset!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .copy-cell,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .new-row{animation-name:new-row;animation-duration:4s}@keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell svg{pointer-events:none}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.res-ico,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-boolean{justify-content:center}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-number{justify-content:flex-end}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon{display:flex;cursor:pointer}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon svg{fill:var(--text-color-caption)}.object-form-table-dialog .label{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}.object-form-table-dialog .label span{display:block;flex:1 1 auto}.object-form-table-dialog .label eo-icon.stf{width:20px;height:20px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}.object-form-table-dialog .label eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--color-accent);color:#fff;border-radius:2px}.object-form-table-dialog .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}.object-form-table-dialog .label button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}.object-form-table-dialog .eo-dialog-content{max-height:initial;height:100%;overflow:hidden}.object-form-table-dialog .table-area{overflow:unset!important}.cdk-overlay-pane{position:absolute!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i6.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i7.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i8.RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }], encapsulation: i0.ViewEncapsulation.None });
151
+ EoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: EoDialogComponent, selector: "eo-dialog", inputs: { hasPreviewFile: "hasPreviewFile", title: "title", subtitle: "subtitle", styleClass: "styleClass", dirtyCheck: "dirtyCheck", minWidth: "minWidth", minHeight: "minHeight", height: "height", width: "width", focusOnShow: "focusOnShow", align: "align", isFormTable: "isFormTable", showPreview: "showPreview", visible: "visible" }, outputs: { onTogglePreview: "onTogglePreview", visibleChange: "visibleChange", hide: "hide", show: "show" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)", "document:mousedown": "onMousedown($event.target)" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true }], ngImport: i0, template: "<ng-template #dialogContent>\n <div class=\"eo-dialog\" [ngClass]=\"styleClass || ''\" eoRtlAware=\"dir\">\n <header class=\"eo-dialog-header\" [ngClass]=\"styleClass ? styleClass + '--header ' : ''\">\n <h5 class=\"headline\">{{title}}</h5>\n <h6 *ngIf=\"subtitle\" class=\"subtitle\">{{subtitle}}</h6>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"closeDialog()\"\n class=\"button white eo-dialog-close\"></eo-icon>\n <ng-container *ngIf=\"isFormTable && hasPreviewFile\">\n <button *ngIf=\"showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_close.svg'\">\n </eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.hide\n </span>\n </div>\n </button>\n <button *ngIf=\"!showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_show.svg'\"></eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.show\n </span>\n </div>\n </button>\n </ng-container>\n </header>\n <div class=\"eo-dialog-content\" [ngClass]=\"styleClass ? styleClass + '--content ' : ''\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eo-dialog{background-color:var(--panel-background);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;max-height:100%;max-width:100%;animation:none}.eo-dialog-close{position:absolute;right:5px;top:5px;z-index:2}.eo-dialog-preview-toggle{position:absolute;right:5px;top:50px;z-index:2}.eo-dialog-header{background-color:var(--color-accent);color:var(--color-white);padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2.5) calc(var(--app-pane-padding) * 2) var(--app-pane-padding);font-weight:var(--font-weight-light);font-size:var(--font-headline);flex:0 0 auto}.eo-dialog-header .headline{font-size:24px;margin:0 25px 0 0;font-weight:400}.eo-dialog-header .subtitle{font-size:15px;margin:0;font-weight:400}.eo-dialog-header .button-preview-toggle{position:absolute;right:25px;top:30px;background-color:rgba(var(--color-white-rgb),.9);font-weight:700}.eo-dialog-header .button-preview-toggle:hover{background-color:rgba(var(--color-white-rgb),.6)!important}.eo-dialog-header .button-preview-toggle>div{display:flex;flex-flow:row;align-items:center}.eo-dialog-header .button-preview-toggle>div .title-preview-toggle{margin-inline:4px}.eo-dialog-content{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:auto;height:100%;max-height:520px}.eo-dialog-content>eo-tree{margin:var(--app-pane-padding)}.eo-dialog-content .empty{padding:var(--app-pane-padding);color:var(--text-color-caption);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;justify-content:center}.eo-dialog-content .action-buttons{justify-content:flex-end;padding-top:32px}.eo-dialog-content button:not(:last-child){margin-right:5px}.object-form-table-dialog{background-color:var(--panel-background-grey)}.object-form-table-dialog .body{height:100%;padding:var(--app-pane-padding);box-sizing:border-box}.object-form-table-dialog .body yvc-split-view{height:100%}.object-form-table-dialog .edit-body{display:flex;height:100%}.object-form-table-dialog .table-body{width:100%;height:100%;background-color:var(--panel-background-grey);display:flex}.object-form-table-dialog eo-row-edit{background-color:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.object-form-table-dialog eo-row-edit .row-edit{height:100%;display:flex;flex-direction:column}.object-form-table-dialog eo-row-edit .row-edit .edit-header{display:flex;justify-content:space-between}.object-form-table-dialog eo-row-edit .row-edit .edit-header .new-indicator{margin:8px 16px 0;color:var(--text-color-caption);font-size:var(--font-title);width:-moz-fit-content;width:fit-content}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon{margin:8px 8px 0;color:var(--text-color-caption)}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon:hover{background:rgba(var(--color-black-rgb),.1)}.object-form-table-dialog eo-row-edit .row-edit .form{height:100%;overflow:auto}.object-form-table-dialog eo-row-edit .row-edit .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;justify-content:flex-end;padding-right:var(--app-pane-padding);min-height:5em;align-items:center;border-top:1px solid var(--panel-header-border-bottom-color)}.object-form-table-dialog eo-row-edit .row-edit .actions button{height:3em;margin:0 calc(var(--app-pane-padding) / 8);padding:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions eo-checkbox{margin:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions .add-label{font-size:var(--font-body);color:var(--text-color-caption);margin-right:var(--app-pane-padding)}.object-form-table-dialog .object-form-table{width:100%;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;background-color:#fff}.object-form-table-dialog .object-form-table .grid-body{width:100%;height:100%;position:relative}.object-form-table-dialog .object-form-table .grid-body .ag-theme-balham .ag-header{background-color:unset!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .copy-cell,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .new-row{animation-name:new-row;animation-duration:4s}@keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell svg{pointer-events:none}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.res-ico,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-boolean{justify-content:center}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-number{justify-content:flex-end}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon{display:flex;cursor:pointer}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon svg{fill:var(--text-color-caption)}.object-form-table-dialog .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}.object-form-table-dialog .object-form-table-header span{display:block;flex:1 1 auto}.object-form-table-dialog .object-form-table-header eo-icon.stf{width:20px;height:20px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}.object-form-table-dialog .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--color-accent);color:#fff;border-radius:2px}.object-form-table-dialog .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}.object-form-table-dialog .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}.object-form-table-dialog .eo-dialog-content{max-height:initial;height:100%;overflow:hidden}.object-form-table-dialog .table-area{overflow:unset!important}.cdk-overlay-pane{position:absolute!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i6.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i7.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i8.RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }], encapsulation: i0.ViewEncapsulation.None });
152
152
  EoDialogComponent = __decorate([
153
153
  UntilDestroy()
154
154
  ], EoDialogComponent);
155
155
  export { EoDialogComponent };
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: EoDialogComponent, decorators: [{
157
157
  type: Component,
158
- args: [{ selector: 'eo-dialog', encapsulation: ViewEncapsulation.None, template: "<ng-template #dialogContent>\n <div class=\"eo-dialog\" [ngClass]=\"styleClass || ''\" eoRtlAware=\"dir\">\n <header class=\"eo-dialog-header\" [ngClass]=\"styleClass ? styleClass + '--header ' : ''\">\n <h5 class=\"headline\">{{title}}</h5>\n <h6 *ngIf=\"subtitle\" class=\"subtitle\">{{subtitle}}</h6>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"closeDialog()\"\n class=\"button white eo-dialog-close\"></eo-icon>\n <ng-container *ngIf=\"isFormTable && hasPreviewFile\">\n <button *ngIf=\"showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_close.svg'\">\n </eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.hide\n </span>\n </div>\n </button>\n <button *ngIf=\"!showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_show.svg'\"></eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.show\n </span>\n </div>\n </button>\n </ng-container>\n </header>\n <div class=\"eo-dialog-content\" [ngClass]=\"styleClass ? styleClass + '--content ' : ''\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eo-dialog{background-color:var(--panel-background);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;max-height:100%;max-width:100%;animation:none}.eo-dialog-close{position:absolute;right:5px;top:5px;z-index:2}.eo-dialog-preview-toggle{position:absolute;right:5px;top:50px;z-index:2}.eo-dialog-header{background-color:var(--color-accent);color:var(--color-white);padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2.5) calc(var(--app-pane-padding) * 2) var(--app-pane-padding);font-weight:var(--font-weight-light);font-size:var(--font-headline);flex:0 0 auto}.eo-dialog-header .headline{font-size:24px;margin:0 25px 0 0;font-weight:400}.eo-dialog-header .subtitle{font-size:15px;margin:0;font-weight:400}.eo-dialog-header .button-preview-toggle{position:absolute;right:25px;top:30px;background-color:rgba(var(--color-white-rgb),.9);font-weight:700}.eo-dialog-header .button-preview-toggle:hover{background-color:rgba(var(--color-white-rgb),.6)!important}.eo-dialog-header .button-preview-toggle>div{display:flex;flex-flow:row;align-items:center}.eo-dialog-header .button-preview-toggle>div .title-preview-toggle{margin-inline:4px}.eo-dialog-content{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:auto;height:100%;max-height:520px}.eo-dialog-content>eo-tree{margin:var(--app-pane-padding)}.eo-dialog-content .empty{padding:var(--app-pane-padding);color:var(--text-color-caption);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;justify-content:center}.eo-dialog-content .action-buttons{justify-content:flex-end;padding-top:32px}.eo-dialog-content button:not(:last-child){margin-right:5px}.object-form-table-dialog{background-color:var(--panel-background-grey)}.object-form-table-dialog .body{height:100%;padding:var(--app-pane-padding);box-sizing:border-box}.object-form-table-dialog .body yvc-split-view{height:100%}.object-form-table-dialog .edit-body{display:flex;height:100%}.object-form-table-dialog .table-body{width:100%;height:100%;background-color:var(--panel-background-grey);display:flex}.object-form-table-dialog eo-row-edit{background-color:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.object-form-table-dialog eo-row-edit .row-edit{height:100%;display:flex;flex-direction:column}.object-form-table-dialog eo-row-edit .row-edit .edit-header{display:flex;justify-content:space-between}.object-form-table-dialog eo-row-edit .row-edit .edit-header .new-indicator{margin:8px 16px 0;color:var(--text-color-caption);font-size:var(--font-title);width:-moz-fit-content;width:fit-content}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon{margin:8px 8px 0;color:var(--text-color-caption)}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon:hover{background:rgba(var(--color-black-rgb),.1)}.object-form-table-dialog eo-row-edit .row-edit .form{height:100%;overflow:auto}.object-form-table-dialog eo-row-edit .row-edit .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;justify-content:flex-end;padding-right:var(--app-pane-padding);min-height:5em;align-items:center;border-top:1px solid var(--panel-header-border-bottom-color)}.object-form-table-dialog eo-row-edit .row-edit .actions button{height:3em;margin:0 calc(var(--app-pane-padding) / 8);padding:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions eo-checkbox{margin:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions .add-label{font-size:var(--font-body);color:var(--text-color-caption);margin-right:var(--app-pane-padding)}.object-form-table-dialog .object-form-table{width:100%;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;background-color:#fff}.object-form-table-dialog .object-form-table .grid-body{width:100%;height:100%;position:relative}.object-form-table-dialog .object-form-table .grid-body .ag-theme-balham .ag-header{background-color:unset!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .copy-cell,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .new-row{animation-name:new-row;animation-duration:4s}@keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell svg{pointer-events:none}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.res-ico,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-boolean{justify-content:center}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-number{justify-content:flex-end}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon{display:flex;cursor:pointer}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon svg{fill:var(--text-color-caption)}.object-form-table-dialog .label{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}.object-form-table-dialog .label span{display:block;flex:1 1 auto}.object-form-table-dialog .label eo-icon.stf{width:20px;height:20px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}.object-form-table-dialog .label eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--color-accent);color:#fff;border-radius:2px}.object-form-table-dialog .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}.object-form-table-dialog .label button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}.object-form-table-dialog .eo-dialog-content{max-height:initial;height:100%;overflow:hidden}.object-form-table-dialog .table-area{overflow:unset!important}.cdk-overlay-pane{position:absolute!important}\n"] }]
158
+ args: [{ selector: 'eo-dialog', encapsulation: ViewEncapsulation.None, template: "<ng-template #dialogContent>\n <div class=\"eo-dialog\" [ngClass]=\"styleClass || ''\" eoRtlAware=\"dir\">\n <header class=\"eo-dialog-header\" [ngClass]=\"styleClass ? styleClass + '--header ' : ''\">\n <h5 class=\"headline\">{{title}}</h5>\n <h6 *ngIf=\"subtitle\" class=\"subtitle\">{{subtitle}}</h6>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"closeDialog()\"\n class=\"button white eo-dialog-close\"></eo-icon>\n <ng-container *ngIf=\"isFormTable && hasPreviewFile\">\n <button *ngIf=\"showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_close.svg'\">\n </eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.hide\n </span>\n </div>\n </button>\n <button *ngIf=\"!showPreview\" (click)=\"togglePreview()\" class=\"button-preview-toggle\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_preview_show.svg'\"></eo-icon>\n <span class=\"title-preview-toggle\" translate>\n eo.form.table.dialog.preview.show\n </span>\n </div>\n </button>\n </ng-container>\n </header>\n <div class=\"eo-dialog-content\" [ngClass]=\"styleClass ? styleClass + '--content ' : ''\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eo-dialog{background-color:var(--panel-background);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;max-height:100%;max-width:100%;animation:none}.eo-dialog-close{position:absolute;right:5px;top:5px;z-index:2}.eo-dialog-preview-toggle{position:absolute;right:5px;top:50px;z-index:2}.eo-dialog-header{background-color:var(--color-accent);color:var(--color-white);padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2.5) calc(var(--app-pane-padding) * 2) var(--app-pane-padding);font-weight:var(--font-weight-light);font-size:var(--font-headline);flex:0 0 auto}.eo-dialog-header .headline{font-size:24px;margin:0 25px 0 0;font-weight:400}.eo-dialog-header .subtitle{font-size:15px;margin:0;font-weight:400}.eo-dialog-header .button-preview-toggle{position:absolute;right:25px;top:30px;background-color:rgba(var(--color-white-rgb),.9);font-weight:700}.eo-dialog-header .button-preview-toggle:hover{background-color:rgba(var(--color-white-rgb),.6)!important}.eo-dialog-header .button-preview-toggle>div{display:flex;flex-flow:row;align-items:center}.eo-dialog-header .button-preview-toggle>div .title-preview-toggle{margin-inline:4px}.eo-dialog-content{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:auto;height:100%;max-height:520px}.eo-dialog-content>eo-tree{margin:var(--app-pane-padding)}.eo-dialog-content .empty{padding:var(--app-pane-padding);color:var(--text-color-caption);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;justify-content:center}.eo-dialog-content .action-buttons{justify-content:flex-end;padding-top:32px}.eo-dialog-content button:not(:last-child){margin-right:5px}.object-form-table-dialog{background-color:var(--panel-background-grey)}.object-form-table-dialog .body{height:100%;padding:var(--app-pane-padding);box-sizing:border-box}.object-form-table-dialog .body yvc-split-view{height:100%}.object-form-table-dialog .edit-body{display:flex;height:100%}.object-form-table-dialog .table-body{width:100%;height:100%;background-color:var(--panel-background-grey);display:flex}.object-form-table-dialog eo-row-edit{background-color:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.object-form-table-dialog eo-row-edit .row-edit{height:100%;display:flex;flex-direction:column}.object-form-table-dialog eo-row-edit .row-edit .edit-header{display:flex;justify-content:space-between}.object-form-table-dialog eo-row-edit .row-edit .edit-header .new-indicator{margin:8px 16px 0;color:var(--text-color-caption);font-size:var(--font-title);width:-moz-fit-content;width:fit-content}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon{margin:8px 8px 0;color:var(--text-color-caption)}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon:hover{background:rgba(var(--color-black-rgb),.1)}.object-form-table-dialog eo-row-edit .row-edit .form{height:100%;overflow:auto}.object-form-table-dialog eo-row-edit .row-edit .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;justify-content:flex-end;padding-right:var(--app-pane-padding);min-height:5em;align-items:center;border-top:1px solid var(--panel-header-border-bottom-color)}.object-form-table-dialog eo-row-edit .row-edit .actions button{height:3em;margin:0 calc(var(--app-pane-padding) / 8);padding:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions eo-checkbox{margin:0 calc(var(--app-pane-padding) / 2)}.object-form-table-dialog eo-row-edit .row-edit .actions .add-label{font-size:var(--font-body);color:var(--text-color-caption);margin-right:var(--app-pane-padding)}.object-form-table-dialog .object-form-table{width:100%;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;background-color:#fff}.object-form-table-dialog .object-form-table .grid-body{width:100%;height:100%;position:relative}.object-form-table-dialog .object-form-table .grid-body .ag-theme-balham .ag-header{background-color:unset!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .copy-cell,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .new-row{animation-name:new-row;animation-duration:4s}@keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell svg{pointer-events:none}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.res-ico,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-boolean{justify-content:center}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-number{justify-content:flex-end}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon{display:flex;cursor:pointer}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon svg{fill:var(--text-color-caption)}.object-form-table-dialog .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}.object-form-table-dialog .object-form-table-header span{display:block;flex:1 1 auto}.object-form-table-dialog .object-form-table-header eo-icon.stf{width:20px;height:20px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}.object-form-table-dialog .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--color-accent);color:#fff;border-radius:2px}.object-form-table-dialog .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}.object-form-table-dialog .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}.object-form-table-dialog .eo-dialog-content{max-height:initial;height:100%;overflow:hidden}.object-form-table-dialog .table-area{overflow:unset!important}.cdk-overlay-pane{position:absolute!important}\n"] }]
159
159
  }], ctorParameters: function () { return [{ type: i1.EventService }, { type: i2.PendingChangesService }, { type: i0.Renderer2 }, { type: i3.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { portalOutlet: [{
160
160
  type: ViewChild,
161
161
  args: [CdkPortalOutlet]
@@ -244,8 +244,11 @@ export class PluginsService {
244
244
  }
245
245
  }
246
246
  PluginsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: PluginsService, deps: [{ token: i1.BackendService }, { token: i1.NotificationsService }, { token: i1.ClipboardService }, { token: i1.Logger }, { token: i1.TranslateService }, { token: i1.DmsService }, { token: i2.Router }, { token: i3.AgentService }, { token: i1.EventService }, { token: i1.UserService }, { token: i0.ApplicationRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
247
- PluginsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: PluginsService });
247
+ PluginsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: PluginsService, providedIn: 'root' });
248
248
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: PluginsService, decorators: [{
249
- type: Injectable
249
+ type: Injectable,
250
+ args: [{
251
+ providedIn: 'root'
252
+ }]
250
253
  }], ctorParameters: function () { return [{ type: i1.BackendService }, { type: i1.NotificationsService }, { type: i1.ClipboardService }, { type: i1.Logger }, { type: i1.TranslateService }, { type: i1.DmsService }, { type: i2.Router }, { type: i3.AgentService }, { type: i1.EventService }, { type: i1.UserService }, { type: i0.ApplicationRef }, { type: i0.NgZone }]; } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmstY29yZS9hcGkvcGx1Z2lucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQWlCLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBRWtDLFNBQVMsRUFBbUIsS0FBSyxFQUN6QyxVQUFVLEVBQzFDLE1BQU0sY0FBYyxDQUFDOzs7OztBQUV0QixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFFN0MsTUFBTSxPQUFPLGNBQWM7SUFZekIsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBOEIsRUFBRSxNQUFlLEVBQUUsSUFBVTtRQUM5RSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ2pCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUM7WUFDM0MsQ0FBQyxDQUFDLFdBQVcsR0FBRyx5QkFBeUI7WUFDekMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsV0FBVyxHQUFHLEdBQUc7Z0JBQ25CLENBQUMsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUk7WUFDRixPQUFPLElBQUks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ckMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU87UUFFNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7YUFDM0QsU0FBUyxFQUFFO2FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7OzJHQXJRVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FwcGxpY2F0aW9uUmVmLCBJbmplY3RhYmxlLCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FnZW50U2VydmljZX0gZnJvbSAnLi4vYWdlbnQvYWdlbnQuc2VydmljZSc7XG5pbXBvcnQge1xuICBFb1VzZXIsIExvZ2dlciwgTm90aWZpY2F0aW9uc1NlcnZpY2UsIEJhY2tlbmRTZXJ2aWNlLCBDbGlwYm9hcmRTZXJ2aWNlLFxuICBEbXNTZXJ2aWNlLCBFdmVudFNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBEbXNPYmplY3QsIENsaXBib2FyZEFjdGlvbiwgVXRpbHMsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsIEh0dHBPcHRpb25zLCBFbmFpb0V2ZW50XG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBVTkRPQ0tfV0lORE9XX05BTUUgPSAnZW9WaWV3ZXInO1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBsdWdpbnNTZXJ2aWNlIHtcblxuICBwcml2YXRlIHVzZXI6IEVvVXNlcjtcbiAgcHJpdmF0ZSBhZ2VudEFjdGlvbiA9IHtcbiAgICBPUEVOOiAnZW8uYWdlbnQuYWN0aW9uLm9wZW4nLFxuICAgIE1BSUw6ICdlby5hZ2VudC5hY3Rpb24ubWFpbCcsXG4gICAgTUFJTF9BU19QREY6ICdlby5hZ2VudC5hY3Rpb24ubWFpbC1wZGYnLFxuICAgIENMSVBCT0FSRDogJ2VvLmFnZW50LmFjdGlvbi5jbGlwYm9hcmQnLFxuICAgIENMSVBCT0FSRF9BU19QREY6ICdlby5hZ2VudC5hY3Rpb24uY2xpcGJvYXJkLXBkZicsXG4gICAgRVhURVJOQUw6ICdlby5hZ2VudC5hY3Rpb24uZXh0ZXJuYWwnXG4gIH07XG5cbiAgcHVibGljIGdldCBjdXJyZW50VXJsKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBcGkoKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseUZ1bmN0aW9uKHZhbHVlOiBzdHJpbmcgfCBGdW5jdGlvbiB8IGFueSwgcGFyYW1zPzogc3RyaW5nLCBhcmdzPzogYW55KSB7XG4gICAgY29uc3QgZm5jID0gdmFsdWU/LnRvU3RyaW5nKCkudHJpbSgpO1xuICAgIGlmICghZm5jKSByZXR1cm47XG4gICAgY29uc3QgZiA9IGZuYy5tYXRjaCgvXmZ1bmN0aW9ufF5cXCguKlxcKVxccyo9Pi8pXG4gICAgICA/IGByZXR1cm4gKCR7Zm5jfSkuYXBwbHkodGhpcyxhcmd1bWVudHMpYFxuICAgICAgOiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFmbmMuc3RhcnRzV2l0aChcIidcIilcbiAgICAgID8gYHJldHVybiAnJHtmbmN9J2BcbiAgICAgIDogYHJldHVybiAke2ZuY31gO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGdW5jdGlvbiguLi4ocGFyYW1zIHx8ICdhcGknKS5zcGxpdCgnLCcpLm1hcCgoYSkgPT4gYS50cmltKCkpLCBmKS5hcHBseSh0aGlzLmFwaSwgYXJncyB8fCBbdGhpcy5hcGldKTtcbiAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlcixcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG1zU2VydmljZTogRG1zU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWdlbnRTZXJ2aWNlOiBBZ2VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuXG4gICAgd2luZG93WydhcGknXSA9IHRoaXMuYXBpO1xuXG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKCh1c2VyKSA9PiB0aGlzLnVzZXIgPSB1c2VyKTtcbiAgfVxuXG4gIC8vIHRvZG86IGNyZWF0ZSBpbnJlZmFjZSBmb3IgQVBJXG5cbiAgcHVibGljIGdldEFwaSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBkZXRlY3RDaGFuZ2VzOiAoKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH0sXG4gICAgICByb3V0ZXI6IHtcbiAgICAgICAgZ2V0OiAoKSA9PiB0aGlzLnJvdXRlclxuICAgICAgfSxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBlbmFpb0V2ZW50VHlwZTogRW5haW9FdmVudCxcbiAgICAgICAgb246ICh0eXBlOiBzdHJpbmcpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmV2ZW50U2VydmljZS5vbih0eXBlKSksXG4gICAgICAgIHRyaWdnZXI6ICh0eXBlOiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKHR5cGUsIGRhdGEpKVxuICAgICAgfSxcbiAgICAgIHNlc3Npb246IHtcbiAgICAgICAgZ2V0VXNlcjogKCkgPT4gdGhpcy5nZXRDdXJyZW50VXNlcigpXG4gICAgICB9LFxuICAgICAgZG1zOiB7XG4gICAgICAgIGdldE9iamVjdDogKGlkLCB0eXBlLCB2ZXJzaW9uKSA9PiB0aGlzLmdldERtc09iamVjdChpZCwgdHlwZSwgdmVyc2lvbiksXG4gICAgICAgIGdldFJlc3VsdDogKGZpZWxkcywgdHlwZSkgPT4gdGhpcy5nZXRSZXN1bHQoZmllbGRzLCB0eXBlKSxcbiAgICAgICAgZG93bmxvYWRDb250ZW50OiAoZG1zT2JqZWN0czogRG1zT2JqZWN0W10sIHJlbmRpdGlvbj86ICdQREYnXG4gICAgICAgICAgfCAnVElGRidcbiAgICAgICAgICB8ICdURVhUJ1xuICAgICAgICAgIHwgJ0pQRUcnKSA9PiB0aGlzLmJhY2tlbmQuZG93bmxvYWRDb250ZW50KGRtc09iamVjdHMsIHJlbmRpdGlvbilcbiAgICAgIH0sXG4gICAgICBodHRwOiB7XG4gICAgICAgIGdldDogKHVyaSwgYmFzZSwgb3B0aW9ucykgPT4gdGhpcy5nZXQodXJpLCBiYXNlLCBvcHRpb25zKSxcbiAgICAgICAgcG9zdDogKHVyaSwgZGF0YSwgYmFzZSwgb3B0aW9ucykgPT4gdGhpcy5wb3N0KHVyaSwgZGF0YSwgYmFzZSwgb3B0aW9ucyksXG4gICAgICAgIGRlbDogKHVyaSwgYmFzZSwgb3B0aW9ucykgPT4gdGhpcy5kZWwodXJpLCBiYXNlLCBvcHRpb25zKSxcbiAgICAgICAgcHV0OiAodXJpLCBkYXRhLCBiYXNlLCBvcHRpb25zKSA9PiB0aGlzLnB1dCh1cmksIGRhdGEsIGJhc2UsIG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGdldDogKCkgPT4gdGhpcy5nZXRDb25maWcoKVxuICAgICAgfSxcbiAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgdmlld2VyOiAoKSA9PiB3aW5kb3dbVU5ET0NLX1dJTkRPV19OQU1FXSB8fCAod2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VvLW1lZGlhIGlmcmFtZVtzcmNdJykgfHwge30pWydjb250ZW50V2luZG93J10sXG4gICAgICAgIHRyaWdnZXJFcnJvcjogKGVyciwgd2luLCBwYXJhbWV0ZXJzKSA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcihVTkRPQ0tfV0lORE9XX05BTUUgKyAnRXJyb3InLCB7IGVyciwgd2luLCBwYXJhbWV0ZXJzIH0pKSxcbiAgICAgICAgY2F0Y2hFcnJvcjogKCkgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuZXZlbnRTZXJ2aWNlLm9uKFVORE9DS19XSU5ET1dfTkFNRSArICdFcnJvcicpKVxuICAgICAgfSxcbiAgICAgIHV0aWw6IHtcbiAgICAgICAgJDogKHNlbGVjdG9ycywgZWxlbWVudCkgPT4gKGVsZW1lbnQgfHwgd2luZG93LmRvY3VtZW50KS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9ycyksXG4gICAgICAgICQkOiAoc2VsZWN0b3JzLCBlbGVtZW50KSA9PiAoZWxlbWVudCB8fCB3aW5kb3cuZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3JzKSxcbiAgICAgICAgc3R5bGVzOiAoc3R5bGVzLCBpZCA9ICdfX3N0eWxlcycsIHdpbjogYW55ID0gd2luZG93KSA9PiB7XG4gICAgICAgICAgbGV0IHMgPSB3aW4uZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yKCcjJyArIGlkKTtcbiAgICAgICAgICBpZiAoIXMpIHtcbiAgICAgICAgICAgIHMgPSB3aW4uZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgIHMuc2V0QXR0cmlidXRlKCdpZCcsIGlkKTtcbiAgICAgICAgICAgIHdpbi5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzLmlubmVySFRNTCA9IHN0eWxlcztcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNsYXRlOiAoa2V5LCBkYXRhKSA9PiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGtleSwgZGF0YSksXG4gICAgICAgIGVuY29kZUZpbGVOYW1lOiAoZmlsZW5hbWUpID0+IHRoaXMuZW5jb2RlRmlsZU5hbWUoZmlsZW5hbWUpLFxuICAgICAgICBub3RpZmllcjoge1xuICAgICAgICAgIHN1Y2Nlc3M6ICh0ZXh0LCB0aXRsZSkgPT4gdGhpcy5ub3RpZmljYXRpb25zLnN1Y2Nlc3ModGl0bGUsIHRleHQpLFxuICAgICAgICAgIGVycm9yOiAodGV4dCwgdGl0bGUpID0+IHRoaXMubm90aWZpY2F0aW9ucy5lcnJvcih0aXRsZSwgdGV4dCksXG4gICAgICAgICAgaW5mbzogKHRleHQsIHRpdGxlKSA9PiB0aGlzLm5vdGlmaWNhdGlvbnMuaW5mbyh0aXRsZSwgdGV4dCksXG4gICAgICAgICAgd2FybmluZzogKHRleHQsIHRpdGxlKSA9PiB0aGlzLm5vdGlmaWNhdGlvbnMud2FybmluZyh0aXRsZSwgdGV4dClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNsaXBib2FyZDoge1xuICAgICAgICBzZXQ6IChlbGVtZW50czogRG1zT2JqZWN0W10sIGFjdGlvbjogQ2xpcGJvYXJkQWN0aW9uKSA9PiB0aGlzLmNsaXBib2FyZC5zZXQoZWxlbWVudHMsIGFjdGlvbiksXG4gICAgICAgIGdldDogKCkgPT4gdGhpcy5jbGlwYm9hcmQuZ2V0KCksXG4gICAgICAgIGNsZWFyOiAoKSA9PiB0aGlzLmNsaXBib2FyZC5jbGVhcigpXG4gICAgICB9LFxuICAgICAgLy8gQWdlbnRcbiAgICAgIGFnZW50OiB7XG4gICAgICAgIGdldEF2YWlsYWJpbGl0eTogKCkgPT4gdGhpcy5nZXRBZ2VudEF2YWlsYWJpbGl0eSgpLFxuICAgICAgICBleGVjdXRlQWN0aW9uOiAoYWN0aW9uLCBhcmdzKSA9PiB0aGlzLmV4ZWN1dGVBZ2VudEFjdGlvbihhY3Rpb24sIGFyZ3MpLFxuICAgICAgICBhY3Rpb246IHRoaXMuYWdlbnRBY3Rpb25cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cblxuICBwdWJsaWMgZ2V0QWdlbnRBdmFpbGFiaWxpdHkoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYWdlbnRTZXJ2aWNlLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHJlc29sdmUodGhpcy5hZ2VudFNlcnZpY2UuYWdlbnRBdmFpbGFiaWxpdHkuQ09OTkVDVEVEKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUodGhpcy5hZ2VudFNlcnZpY2UuYWdlbnRBdmFpbGFiaWxpdHkuVU5BVkFJTEFCTEUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGV4ZWN1dGVBZ2VudEFjdGlvbihhY3Rpb24sIGFyZ3MpIHtcblxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlIHRoaXMuYWdlbnRBY3Rpb24uQ0xJUEJPQVJEOlxuICAgICAgICB0aGlzLmFnZW50U2VydmljZS5jb3B5VG9DbGlwYm9hcmQoYXJncyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLmFnZW50QWN0aW9uLkNMSVBCT0FSRF9BU19QREY6XG4gICAgICAgIHRoaXMuYWdlbnRTZXJ2aWNlLmNvcHlUb0NsaXBib2FyZChhcmdzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuYWdlbnRBY3Rpb24uRVhURVJOQUw6XG4gICAgICAgIGlmICghYXJncy5leGVjdXRhYmxlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ01pc3NpbmcgZmllbGQgYXJncy5leGVjdXRhYmxlJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoKGFyZ3MuYXJncyAmJiBhcmdzLmFyZ3MubGVuZ3RoID09PSAwKSAmJiAhQXJyYXkuaXNBcnJheShhcmdzLmFyZ3MpKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZpZWxkIGFyZ3MuYXJncyBtdXN0IGJlIGVtcHR5IG9yIGFycmF5LicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWdlbnRTZXJ2aWNlLnNlbmRFeHRlcm5hbEFjdGlvbihhcmdzLmV4ZWN1dGFibGUsIGFyZ3MuYXJncyB8fCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuYWdlbnRBY3Rpb24uTUFJTDpcbiAgICAgIGNhc2UgdGhpcy5hZ2VudEFjdGlvbi5NQUlMX0FTX1BERjpcbiAgICAgICAgdGhpcy5hZ2VudFNlcnZpY2Uuc2VuZEFzTWFpbChhcmdzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuYWdlbnRBY3Rpb24uT1BFTjpcbiAgICAgICAgdGhpcy5hZ2VudFNlcnZpY2Uub3BlbkRvY3VtZW50KGFyZ3MsIGFyZ3MubG9jayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCh1cmksIGJhc2UgPSAnJywgb3B0aW9ucz86IEh0dHBPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldCh1cmksIHRoaXMuYmFja2VuZC5nZXRIb3N0KCkgKyBiYXNlLCBvcHRpb25zIHx8IHtvYnNlcnZlOiAncmVzcG9uc2UnfSkucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBvcHRpb25zID8gcmVzIDogeyBzdGF0dXM6IHJlcy5zdGF0dXMsIGRhdGE6IHJlcy5ib2R5IH07XG4gICAgICAgIH0pKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBwdXQodXJpLCBkYXRhLCBiYXNlID0gJycsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQucHV0KHVyaSwgZGF0YSwgdGhpcy5iYWNrZW5kLmdldEhvc3QoKSArIGJhc2UsIG9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIHBvc3QodXJpLCBkYXRhLCBiYXNlID0gJycsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQucG9zdCh1cmksIGRhdGEsIHRoaXMuYmFja2VuZC5nZXRIb3N0KCkgKyBiYXNlLCBvcHRpb25zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWwodXJpLCBiYXNlID0gJycsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZGVsKHVyaSwgdGhpcy5iYWNrZW5kLmdldEhvc3QoKSArIGJhc2UsIG9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbnRVc2VyKCk6IEVvVXNlciB7XG4gICAgcmV0dXJuIHRoaXMudXNlcjtcbiAgfVxuXG4gIHB1YmxpYyBlbmNvZGVGaWxlTmFtZShmaWxlbmFtZSkge1xuICAgIHJldHVybiBVdGlscy5lbmNvZGVGaWxlTmFtZShmaWxlbmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXJ2aWNlQmFzZTogdGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKClcblxuICAgICAgLy8gdG9kbzogZG8gd2UgaGF2ZSB0byBwcm92aWRlIHRoZSBwbHVnaW4gZGV2ZWxvcGVycyB3aXRoIHRoZXNlIGluZm9ybWF0aW9ucz9cbiAgICAgIC8vIGFmdGVyIHNwZWFraW5nIHRvIEFuZHJlYXMgYWxzbyByZW1vdmVkIGZyb20gZG9jdW1lbnRhdGlvblxuICAgICAgLy8gcGx1Z2luc0Jhc2U6ICRlb0NvbmZpZy5nZXRQbHVnaW5CYXNlKCksXG4gICAgICAvLyBwbHVnaW5TdGF0ZXNCYXNlOiAkZW9Db25maWcuZ2V0UGx1Z2luU3RhdGVzQmFzZSgpLFxuICAgICAgLy8gdGhlbWVCYXNlOiAkZW9Db25maWcuZ2V0VGhlbWVCYXNlKClcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIGZldGNoZXMgZG1zIG9iamVjdHMgZnJvbSB0aGUgc2VydmVyIHRoYXQgbWF0Y2ggdGhlIGdpdmVuIHBhcmFtc1xuICAgKlxuICAgKiBAcGFyYW0gZmllbGRzIC0gdGhlIGZpZWxkcyB0byBtYXRjaGVkLiBleGFtcGxlOiB7bmFtZTogJ21heCcsIHBsejogJzQ3MTExfVxuICAgKiBAcGFyYW0gdHlwZSAtIHRoZSB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICpcbiAgICogQHJldHVybnMgd2hpY2ggd2lsbCBiZSByZXNvbHZlZCBieSBhbiBhcnJheSBvZiBEbXNPYmplY3RzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXJhbXNcbiAgICovXG4gIHB1YmxpYyBnZXRSZXN1bHQoZmllbGRzLCB0eXBlKTogUHJvbWlzZTxEbXNPYmplY3RbXT4ge1xuXG4gICAgbGV0IHEgPSBPYmplY3Qua2V5cyhmaWVsZHMpLmZpbHRlcihrID0+IChmaWVsZHNba10gIT09IHVuZGVmaW5lZCAmJiBmaWVsZHNba10gIT09IG51bGwpKS5tYXAoayA9PiBrICsgJz0nICsgZmllbGRzW2tdKS5qb2luKCc7Jyk7XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0SnNvbihgL3Jlc3VsdC9xdWVyeT9xdWVyeT0ke2VuY29kZVVSSUNvbXBvbmVudChxKX0mdHlwZT0ke3R5cGV9YClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJlc09iamVjdHMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiByZXNwb25zZSkge1xuICAgICAgICAgIHJlc09iamVjdHMucHVzaChuZXcgRG1zT2JqZWN0KGl0ZW0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc09iamVjdHMpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCh0aGlzLmhhbmRsZUVycm9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhIERNUyBvYmplY3QgZnJvbSB0aGUgYmFja2VuZC5cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIGlkIG9mIHRoZSBETVMtT2JqZWN0IHRvIGJlIGZldGNoZWQuXG4gICAqIEBwYXJhbSBbdHlwZV0gLSBUaGUgb2JqZWN0IHR5cGUgb2YgdGhlIHNlbGVjdGVkIERNUy1PYmplY3QuIFdpbGwgaW1wcm92ZSBwZXJmb3JtYW5jZSBpZiBzZXQuXG4gICAqIEBwYXJhbSBbdmVyc2lvbl0gLSByZXRyaWV2ZSBhIHNwZWNpZmljIHZlcnNpb24gb2YgdGhlIGRtcyBvYmplY3RcbiAgICogQHBhcmFtIFtpbnRlbnRdIC0gdXNlZCBmb3Igc2VydmVyIHNpZGUgbG9nZ2luZy4gSWYgeW91IHByb3ZpZGUgYW4gaW50ZW50LCB0aGVcbiAgICpcbiAgICogQHJldHVybnMgd2hpY2ggd2lsbCBiZSByZXNvbHZlZCBieSB0aGUgRE1TIG9iamVjdCBmZXRjaGVkIGZyb20gdGhlIHNlcnZlclxuICAgKi9cbiAgcHVibGljIGdldERtc09iamVjdChpZCwgdHlwZSwgdmVyc2lvbiwgaW50ZW50Pyk6IFByb21pc2U8RG1zT2JqZWN0PiB7XG5cbiAgICByZXR1cm4gdGhpcy5kbXNTZXJ2aWNlLmdldERtc09iamVjdChpZCwgdHlwZSwgdmVyc2lvbiwgaW50ZW50KVxuICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCh0aGlzLmhhbmRsZUVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IpO1xuICB9XG59XG4iXX0=
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmstY29yZS9hcGkvcGx1Z2lucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQWlCLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBRWtDLFNBQVMsRUFBbUIsS0FBSyxFQUN6QyxVQUFVLEVBQzFDLE1BQU0sY0FBYyxDQUFDOzs7OztBQU10QixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFJN0MsTUFBTSxPQUFPLGNBQWM7SUFZekIsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBOEIsRUFBRSxNQUFlLEVBQUUsSUFBVTtRQUM5RSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ2pCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUM7WUFDM0MsQ0FBQyxDQUFDLFdBQVcsR0FBRyx5QkFBeUI7WUFDekMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsV0FBVyxHQUFHLEdBQUc7Z0JBQ25CLENBQUMsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUk7WUFDRixPQUFPLElBQUks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ckMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU87UUFFNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7YUFDM0QsU0FBUyxFQUFFO2FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7OzJHQXJRVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIEluamVjdGFibGUsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QWdlbnRTZXJ2aWNlfSBmcm9tICcuLi9hZ2VudC9hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEVvVXNlciwgTG9nZ2VyLCBOb3RpZmljYXRpb25zU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIENsaXBib2FyZFNlcnZpY2UsXG4gIERtc1NlcnZpY2UsIEV2ZW50U2VydmljZSwgVXNlclNlcnZpY2UsIERtc09iamVjdCwgQ2xpcGJvYXJkQWN0aW9uLCBVdGlscyxcbiAgVHJhbnNsYXRlU2VydmljZSwgSHR0cE9wdGlvbnMsIEVuYWlvRXZlbnRcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHsgYXBpOiBhbnk7IH1cbn1cblxuZXhwb3J0IGNvbnN0IFVORE9DS19XSU5ET1dfTkFNRSA9ICdlb1ZpZXdlcic7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbHVnaW5zU2VydmljZSB7XG5cbiAgcHJpdmF0ZSB1c2VyOiBFb1VzZXI7XG4gIHByaXZhdGUgYWdlbnRBY3Rpb24gPSB7XG4gICAgT1BFTjogJ2VvLmFnZW50LmFjdGlvbi5vcGVuJyxcbiAgICBNQUlMOiAnZW8uYWdlbnQuYWN0aW9uLm1haWwnLFxuICAgIE1BSUxfQVNfUERGOiAnZW8uYWdlbnQuYWN0aW9uLm1haWwtcGRmJyxcbiAgICBDTElQQk9BUkQ6ICdlby5hZ2VudC5hY3Rpb24uY2xpcGJvYXJkJyxcbiAgICBDTElQQk9BUkRfQVNfUERGOiAnZW8uYWdlbnQuYWN0aW9uLmNsaXBib2FyZC1wZGYnLFxuICAgIEVYVEVSTkFMOiAnZW8uYWdlbnQuYWN0aW9uLmV4dGVybmFsJ1xuICB9O1xuXG4gIHB1YmxpYyBnZXQgY3VycmVudFVybCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsO1xuICB9XG5cbiAgcHVibGljIGdldCBhcGkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXBpKCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGdW5jdGlvbih2YWx1ZTogc3RyaW5nIHwgRnVuY3Rpb24gfCBhbnksIHBhcmFtcz86IHN0cmluZywgYXJncz86IGFueSkge1xuICAgIGNvbnN0IGZuYyA9IHZhbHVlPy50b1N0cmluZygpLnRyaW0oKTtcbiAgICBpZiAoIWZuYykgcmV0dXJuO1xuICAgIGNvbnN0IGYgPSBmbmMubWF0Y2goL15mdW5jdGlvbnxeXFwoLipcXClcXHMqPT4vKVxuICAgICAgPyBgcmV0dXJuICgke2ZuY30pLmFwcGx5KHRoaXMsYXJndW1lbnRzKWBcbiAgICAgIDogdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhZm5jLnN0YXJ0c1dpdGgoXCInXCIpXG4gICAgICA/IGByZXR1cm4gJyR7Zm5jfSdgXG4gICAgICA6IGByZXR1cm4gJHtmbmN9YDtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBuZXcgRnVuY3Rpb24oLi4uKHBhcmFtcyB8fCAnYXBpJykuc3BsaXQoJywnKS5tYXAoKGEpID0+IGEudHJpbSgpKSwgZikuYXBwbHkodGhpcy5hcGksIGFyZ3MgfHwgW3RoaXMuYXBpXSk7XG4gICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2xpcGJvYXJkOiBDbGlwYm9hcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGFnZW50U2VydmljZTogQWdlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcblxuICAgIHdpbmRvd1snYXBpJ10gPSB0aGlzLmFwaTtcblxuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4gdGhpcy51c2VyID0gdXNlcik7XG4gIH1cblxuICAvLyB0b2RvOiBjcmVhdGUgaW5yZWZhY2UgZm9yIEFQSVxuXG4gIHB1YmxpYyBnZXRBcGkoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgZGV0ZWN0Q2hhbmdlczogKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgICAgIH0sIDUwMCk7XG4gICAgICB9LFxuICAgICAgcm91dGVyOiB7XG4gICAgICAgIGdldDogKCkgPT4gdGhpcy5yb3V0ZXJcbiAgICAgIH0sXG4gICAgICBldmVudHM6IHtcbiAgICAgICAgZW5haW9FdmVudFR5cGU6IEVuYWlvRXZlbnQsXG4gICAgICAgIG9uOiAodHlwZTogc3RyaW5nKSA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5ldmVudFNlcnZpY2Uub24odHlwZSkpLFxuICAgICAgICB0cmlnZ2VyOiAodHlwZTogc3RyaW5nLCBkYXRhPzogYW55KSA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcih0eXBlLCBkYXRhKSlcbiAgICAgIH0sXG4gICAgICBzZXNzaW9uOiB7XG4gICAgICAgIGdldFVzZXI6ICgpID0+IHRoaXMuZ2V0Q3VycmVudFVzZXIoKVxuICAgICAgfSxcbiAgICAgIGRtczoge1xuICAgICAgICBnZXRPYmplY3Q6IChpZCwgdHlwZSwgdmVyc2lvbikgPT4gdGhpcy5nZXREbXNPYmplY3QoaWQsIHR5cGUsIHZlcnNpb24pLFxuICAgICAgICBnZXRSZXN1bHQ6IChmaWVsZHMsIHR5cGUpID0+IHRoaXMuZ2V0UmVzdWx0KGZpZWxkcywgdHlwZSksXG4gICAgICAgIGRvd25sb2FkQ29udGVudDogKGRtc09iamVjdHM6IERtc09iamVjdFtdLCByZW5kaXRpb24/OiAnUERGJ1xuICAgICAgICAgIHwgJ1RJRkYnXG4gICAgICAgICAgfCAnVEVYVCdcbiAgICAgICAgICB8ICdKUEVHJykgPT4gdGhpcy5iYWNrZW5kLmRvd25sb2FkQ29udGVudChkbXNPYmplY3RzLCByZW5kaXRpb24pXG4gICAgICB9LFxuICAgICAgaHR0cDoge1xuICAgICAgICBnZXQ6ICh1cmksIGJhc2UsIG9wdGlvbnMpID0+IHRoaXMuZ2V0KHVyaSwgYmFzZSwgb3B0aW9ucyksXG4gICAgICAgIHBvc3Q6ICh1cmksIGRhdGEsIGJhc2UsIG9wdGlvbnMpID0+IHRoaXMucG9zdCh1cmksIGRhdGEsIGJhc2UsIG9wdGlvbnMpLFxuICAgICAgICBkZWw6ICh1cmksIGJhc2UsIG9wdGlvbnMpID0+IHRoaXMuZGVsKHVyaSwgYmFzZSwgb3B0aW9ucyksXG4gICAgICAgIHB1dDogKHVyaSwgZGF0YSwgYmFzZSwgb3B0aW9ucykgPT4gdGhpcy5wdXQodXJpLCBkYXRhLCBiYXNlLCBvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBnZXQ6ICgpID0+IHRoaXMuZ2V0Q29uZmlnKClcbiAgICAgIH0sXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIHZpZXdlcjogKCkgPT4gd2luZG93W1VORE9DS19XSU5ET1dfTkFNRV0gfHwgKHdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdlby1tZWRpYSBpZnJhbWVbc3JjXScpIHx8IHt9KVsnY29udGVudFdpbmRvdyddLFxuICAgICAgICB0cmlnZ2VyRXJyb3I6IChlcnIsIHdpbiwgcGFyYW1ldGVycykgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoVU5ET0NLX1dJTkRPV19OQU1FICsgJ0Vycm9yJywgeyBlcnIsIHdpbiwgcGFyYW1ldGVycyB9KSksXG4gICAgICAgIGNhdGNoRXJyb3I6ICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmV2ZW50U2VydmljZS5vbihVTkRPQ0tfV0lORE9XX05BTUUgKyAnRXJyb3InKSlcbiAgICAgIH0sXG4gICAgICB1dGlsOiB7XG4gICAgICAgICQ6IChzZWxlY3RvcnMsIGVsZW1lbnQpID0+IChlbGVtZW50IHx8IHdpbmRvdy5kb2N1bWVudCkucXVlcnlTZWxlY3RvcihzZWxlY3RvcnMpLFxuICAgICAgICAkJDogKHNlbGVjdG9ycywgZWxlbWVudCkgPT4gKGVsZW1lbnQgfHwgd2luZG93LmRvY3VtZW50KS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9ycyksXG4gICAgICAgIHN0eWxlczogKHN0eWxlcywgaWQgPSAnX19zdHlsZXMnLCB3aW46IGFueSA9IHdpbmRvdykgPT4ge1xuICAgICAgICAgIGxldCBzID0gd2luLmRvY3VtZW50LmhlYWQucXVlcnlTZWxlY3RvcignIycgKyBpZCk7XG4gICAgICAgICAgaWYgKCFzKSB7XG4gICAgICAgICAgICBzID0gd2luLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgICAgICBzLnNldEF0dHJpYnV0ZSgnaWQnLCBpZCk7XG4gICAgICAgICAgICB3aW4uZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcy5pbm5lckhUTUwgPSBzdHlsZXM7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zbGF0ZTogKGtleSwgZGF0YSkgPT4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChrZXksIGRhdGEpLFxuICAgICAgICBlbmNvZGVGaWxlTmFtZTogKGZpbGVuYW1lKSA9PiB0aGlzLmVuY29kZUZpbGVOYW1lKGZpbGVuYW1lKSxcbiAgICAgICAgbm90aWZpZXI6IHtcbiAgICAgICAgICBzdWNjZXNzOiAodGV4dCwgdGl0bGUpID0+IHRoaXMubm90aWZpY2F0aW9ucy5zdWNjZXNzKHRpdGxlLCB0ZXh0KSxcbiAgICAgICAgICBlcnJvcjogKHRleHQsIHRpdGxlKSA9PiB0aGlzLm5vdGlmaWNhdGlvbnMuZXJyb3IodGl0bGUsIHRleHQpLFxuICAgICAgICAgIGluZm86ICh0ZXh0LCB0aXRsZSkgPT4gdGhpcy5ub3RpZmljYXRpb25zLmluZm8odGl0bGUsIHRleHQpLFxuICAgICAgICAgIHdhcm5pbmc6ICh0ZXh0LCB0aXRsZSkgPT4gdGhpcy5ub3RpZmljYXRpb25zLndhcm5pbmcodGl0bGUsIHRleHQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjbGlwYm9hcmQ6IHtcbiAgICAgICAgc2V0OiAoZWxlbWVudHM6IERtc09iamVjdFtdLCBhY3Rpb246IENsaXBib2FyZEFjdGlvbikgPT4gdGhpcy5jbGlwYm9hcmQuc2V0KGVsZW1lbnRzLCBhY3Rpb24pLFxuICAgICAgICBnZXQ6ICgpID0+IHRoaXMuY2xpcGJvYXJkLmdldCgpLFxuICAgICAgICBjbGVhcjogKCkgPT4gdGhpcy5jbGlwYm9hcmQuY2xlYXIoKVxuICAgICAgfSxcbiAgICAgIC8vIEFnZW50XG4gICAgICBhZ2VudDoge1xuICAgICAgICBnZXRBdmFpbGFiaWxpdHk6ICgpID0+IHRoaXMuZ2V0QWdlbnRBdmFpbGFiaWxpdHkoKSxcbiAgICAgICAgZXhlY3V0ZUFjdGlvbjogKGFjdGlvbiwgYXJncykgPT4gdGhpcy5leGVjdXRlQWdlbnRBY3Rpb24oYWN0aW9uLCBhcmdzKSxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmFnZW50QWN0aW9uXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG5cbiAgcHVibGljIGdldEFnZW50QXZhaWxhYmlsaXR5KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmICh0aGlzLmFnZW50U2VydmljZS5pc0Nvbm5lY3RlZCkge1xuICAgICAgICByZXNvbHZlKHRoaXMuYWdlbnRTZXJ2aWNlLmFnZW50QXZhaWxhYmlsaXR5LkNPTk5FQ1RFRCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKHRoaXMuYWdlbnRTZXJ2aWNlLmFnZW50QXZhaWxhYmlsaXR5LlVOQVZBSUxBQkxFKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBleGVjdXRlQWdlbnRBY3Rpb24oYWN0aW9uLCBhcmdzKSB7XG5cbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSB0aGlzLmFnZW50QWN0aW9uLkNMSVBCT0FSRDpcbiAgICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuY29weVRvQ2xpcGJvYXJkKGFyZ3MpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgdGhpcy5hZ2VudEFjdGlvbi5DTElQQk9BUkRfQVNfUERGOlxuICAgICAgICB0aGlzLmFnZW50U2VydmljZS5jb3B5VG9DbGlwYm9hcmQoYXJncyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLmFnZW50QWN0aW9uLkVYVEVSTkFMOlxuICAgICAgICBpZiAoIWFyZ3MuZXhlY3V0YWJsZSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdNaXNzaW5nIGZpZWxkIGFyZ3MuZXhlY3V0YWJsZScpO1xuICAgICAgICB9IGVsc2UgaWYgKChhcmdzLmFyZ3MgJiYgYXJncy5hcmdzLmxlbmd0aCA9PT0gMCkgJiYgIUFycmF5LmlzQXJyYXkoYXJncy5hcmdzKSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGaWVsZCBhcmdzLmFyZ3MgbXVzdCBiZSBlbXB0eSBvciBhcnJheS4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFnZW50U2VydmljZS5zZW5kRXh0ZXJuYWxBY3Rpb24oYXJncy5leGVjdXRhYmxlLCBhcmdzLmFyZ3MgfHwgW10pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLmFnZW50QWN0aW9uLk1BSUw6XG4gICAgICBjYXNlIHRoaXMuYWdlbnRBY3Rpb24uTUFJTF9BU19QREY6XG4gICAgICAgIHRoaXMuYWdlbnRTZXJ2aWNlLnNlbmRBc01haWwoYXJncyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLmFnZW50QWN0aW9uLk9QRU46XG4gICAgICAgIHRoaXMuYWdlbnRTZXJ2aWNlLm9wZW5Eb2N1bWVudChhcmdzLCBhcmdzLmxvY2spO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQodXJpLCBiYXNlID0gJycsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXQodXJpLCB0aGlzLmJhY2tlbmQuZ2V0SG9zdCgpICsgYmFzZSwgb3B0aW9ucyB8fCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucyA/IHJlcyA6IHsgc3RhdHVzOiByZXMuc3RhdHVzLCBkYXRhOiByZXMuYm9keSB9O1xuICAgICAgICB9KSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgcHV0KHVyaSwgZGF0YSwgYmFzZSA9ICcnLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnB1dCh1cmksIGRhdGEsIHRoaXMuYmFja2VuZC5nZXRIb3N0KCkgKyBiYXNlLCBvcHRpb25zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3N0KHVyaSwgZGF0YSwgYmFzZSA9ICcnLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnBvc3QodXJpLCBkYXRhLCB0aGlzLmJhY2tlbmQuZ2V0SG9zdCgpICsgYmFzZSwgb3B0aW9ucykudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZGVsKHVyaSwgYmFzZSA9ICcnLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmRlbCh1cmksIHRoaXMuYmFja2VuZC5nZXRIb3N0KCkgKyBiYXNlLCBvcHRpb25zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50VXNlcigpOiBFb1VzZXIge1xuICAgIHJldHVybiB0aGlzLnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZW5jb2RlRmlsZU5hbWUoZmlsZW5hbWUpIHtcbiAgICByZXR1cm4gVXRpbHMuZW5jb2RlRmlsZU5hbWUoZmlsZW5hbWUpO1xuICB9XG5cbiAgcHVibGljIGdldENvbmZpZygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2VydmljZUJhc2U6IHRoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpXG5cbiAgICAgIC8vIHRvZG86IGRvIHdlIGhhdmUgdG8gcHJvdmlkZSB0aGUgcGx1Z2luIGRldmVsb3BlcnMgd2l0aCB0aGVzZSBpbmZvcm1hdGlvbnM/XG4gICAgICAvLyBhZnRlciBzcGVha2luZyB0byBBbmRyZWFzIGFsc28gcmVtb3ZlZCBmcm9tIGRvY3VtZW50YXRpb25cbiAgICAgIC8vIHBsdWdpbnNCYXNlOiAkZW9Db25maWcuZ2V0UGx1Z2luQmFzZSgpLFxuICAgICAgLy8gcGx1Z2luU3RhdGVzQmFzZTogJGVvQ29uZmlnLmdldFBsdWdpblN0YXRlc0Jhc2UoKSxcbiAgICAgIC8vIHRoZW1lQmFzZTogJGVvQ29uZmlnLmdldFRoZW1lQmFzZSgpXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmZXRjaGVzIGRtcyBvYmplY3RzIGZyb20gdGhlIHNlcnZlciB0aGF0IG1hdGNoIHRoZSBnaXZlbiBwYXJhbXNcbiAgICpcbiAgICogQHBhcmFtIGZpZWxkcyAtIHRoZSBmaWVsZHMgdG8gbWF0Y2hlZC4gZXhhbXBsZToge25hbWU6ICdtYXgnLCBwbHo6ICc0NzExMX1cbiAgICogQHBhcmFtIHR5cGUgLSB0aGUgdGFyZ2V0IG9iamVjdCB0eXBlXG4gICAqXG4gICAqIEByZXR1cm5zIHdoaWNoIHdpbGwgYmUgcmVzb2x2ZWQgYnkgYW4gYXJyYXkgb2YgRG1zT2JqZWN0cyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGFyYW1zXG4gICAqL1xuICBwdWJsaWMgZ2V0UmVzdWx0KGZpZWxkcywgdHlwZSk6IFByb21pc2U8RG1zT2JqZWN0W10+IHtcblxuICAgIGxldCBxID0gT2JqZWN0LmtleXMoZmllbGRzKS5maWx0ZXIoayA9PiAoZmllbGRzW2tdICE9PSB1bmRlZmluZWQgJiYgZmllbGRzW2tdICE9PSBudWxsKSkubWFwKGsgPT4gayArICc9JyArIGZpZWxkc1trXSkuam9pbignOycpO1xuXG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24oYC9yZXN1bHQvcXVlcnk/cXVlcnk9JHtlbmNvZGVVUklDb21wb25lbnQocSl9JnR5cGU9JHt0eXBlfWApXG4gICAgICAudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGxldCByZXNPYmplY3RzID0gW107XG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgcmVzcG9uc2UpIHtcbiAgICAgICAgICByZXNPYmplY3RzLnB1c2gobmV3IERtc09iamVjdChpdGVtKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXNPYmplY3RzKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2godGhpcy5oYW5kbGVFcnJvcik7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgYSBETVMgb2JqZWN0IGZyb20gdGhlIGJhY2tlbmQuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZCBvZiB0aGUgRE1TLU9iamVjdCB0byBiZSBmZXRjaGVkLlxuICAgKiBAcGFyYW0gW3R5cGVdIC0gVGhlIG9iamVjdCB0eXBlIG9mIHRoZSBzZWxlY3RlZCBETVMtT2JqZWN0LiBXaWxsIGltcHJvdmUgcGVyZm9ybWFuY2UgaWYgc2V0LlxuICAgKiBAcGFyYW0gW3ZlcnNpb25dIC0gcmV0cmlldmUgYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIHRoZSBkbXMgb2JqZWN0XG4gICAqIEBwYXJhbSBbaW50ZW50XSAtIHVzZWQgZm9yIHNlcnZlciBzaWRlIGxvZ2dpbmcuIElmIHlvdSBwcm92aWRlIGFuIGludGVudCwgdGhlXG4gICAqXG4gICAqIEByZXR1cm5zIHdoaWNoIHdpbGwgYmUgcmVzb2x2ZWQgYnkgdGhlIERNUyBvYmplY3QgZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXJcbiAgICovXG4gIHB1YmxpYyBnZXREbXNPYmplY3QoaWQsIHR5cGUsIHZlcnNpb24sIGludGVudD8pOiBQcm9taXNlPERtc09iamVjdD4ge1xuXG4gICAgcmV0dXJuIHRoaXMuZG1zU2VydmljZS5nZXREbXNPYmplY3QoaWQsIHR5cGUsIHZlcnNpb24sIGludGVudClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2godGhpcy5oYW5kbGVFcnJvcik7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcbiAgfVxufVxuIl19